On this page.... RSS 2.0 | Atom 1.0 | CDF
# Tuesday, 09 May 2006

Just doing my part to spread the good word:

http://weblogs.asp.net/scottgu/archive/2006/05/08/445742.aspx

Tuesday, 09 May 2006 16:59:25 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, 06 May 2006

I hope I'm not the only one who starts grooving to techno memories when I read "it has begun!"  Ah.. Mortal Kombat....

What has begun?  The move, the move to New Jersey.  Today the packers came (no, not Green Bay--you'd be surprised the looks you get when you say "the packers are coming to my house.").  They said they'd be here at 8a, so I was surprised when Mrs. dotNetTemplar yelled "I think they're here!" at me as I was in the shower at 7:40.  What a start, but it was a mostly uneventful and good day.

They packed for a solid seven hours, the two of them, and now, as I sit here amidst the walls of boxes and barren walls surrounding them, I think I should feel or think something great or deep.  Mostly I just feel relieved.  It's been more than six weeks since I decided to join Infragistics, but due to prior commitments, I've had to put off the move.  Of course, the wise angel on my shoulder tells me that it was good that I had so long to prepare, but I'm the kind of guy that wants to act right away when I make a decision to make it real.

But now it's here.  The move is upon us.  Tomorrow the movers (formerly known as the packers) return to pick up all our stuff and take off with it to various and sundry other cities across the eastern US to pick up others' belongings before they'll show up on our doorstep in a week or so. 

In the meantime, the fam and I will be leaving Monday morning for a three-day-tour of our own, overnighting in the well-known towns of St. George, SC and Colonial Heights, VA before finally arriving in our new home in Princeton, NJ on Wednesday, assuming all goes according to plan.  Traveling with two small children, a cat, and a bun in the oven should make it.. interesting, but we'll make it.  Fun fun fun!

Saturday, 06 May 2006 22:14:15 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [4]  | 
# Wednesday, 03 May 2006

Just thought I'd stick these out there for anyone else who might run across them.  Those of us reared under the friendly wing of SQL Server are in for regular surprises when interacting with Oracle...  But hey, what doesn't drive you mad makes you stronger, right?

1. Using a DDL statement inside a transaction automatically commits any outstanding DML statements.  I ran into this the other day when I was trying to have a transaction that added a row to a table and added a trigger (dependent on that row) to another table.  (This is actually part of my implementation of an OracleCacheDependency, which I intend to share in an article at some point.)  If you stepped through the code, everything appeared to function as expected, the exception would be thrown on the add trigger statement, RollBack would be called on the OracleTransaction, and... the new row would remain in the database.

It was actually driving me buggy.  I was beginning to wonder if Oracle supported ADO.NET transactions at all because every example (all two of them) that I could find looked just like my implementation.  I even tried both the System.Data.OracleClient and the Oracle.DataAccess.Client, which, by the way, require different implementations as the Transaction property on the Oracle-provided provider is read only (you have to create the commands from the connection after starting the transaction, which is, umm, inconvenient in some scenarios).

So I was pulling my hair out, about to give up, when I ran across a single line in the help docs that says "The execution of a DDL statement in the context of a transaction is not recommended since it results in an implicit commit that is not reflected in the state of the OracleTransaction object."

Okay, I guess I'm just spoiled by Microsoft (yes, I am), but I would expect an EXCEPTION to be thrown if I try to do this and not have the code happily carry on as if everything was hunky dory.  You'd think that a database that is picky enough to be case sensitive might be picky enough to not let you accidentally commit transactions.  And that leads in my #2 gotcha for the day.

2. Oracle is case sensitive when comparing strings.  Let me say that again (so I'll remember it).  Oracle is case sensitive when comparing strings.  Now this point, in itself, is not particularly gotchaful; however, when coupled with a red herring bug report, it can really sneak up on ya and bite ya in the booty.  This is just one of those things that you need to keep in the upper buffers when debugging an app with Oracle.

3. (This one is just for good measure; I ran into it a while back.)  Oracle 10 no longer uses the old Oracle names resolution service.  This means that if you try to use the nifty Visual Studio Add-in and your organization is still using the old Oracle names resolution, you'll have to create manual entries in your tnsnames.ora file(s) just so that you can connect.  Even when you do this, it has to be just so or it won't work. 

I've had it where you can connect in the net manager but can't connect in the Oracle Explorer using the connections, which is sees and reads from the tnsnames file.  In particular, if I removed the DNS suffix from the name of the connection (to make it pretty), it wouldn't work.  It'd see the connection but not be able to connect.

4. (Another oldie, but importantie.)  Oracle, as of now, does not support ADO.NET 2 System.Transactions at all, if you use the Oracle-provided provider.  From what I could tell, although I wasn't able to test successfully, the Microsoft-provided one looks like it should, at least it should use DTC, but the jury is out.  Feel free to post if you've gotten it to work.

5. There is no ELMAH provider for Oracle.  I implemented one, though, and will be sharing in an article at some point.  Feel free to email me for it in the meantime.

6. There is no Oracle cache dependency.  See #5.

7. There is no Oracle roles, membership, etc. provider.  Sorry, I've not done that yet.

There are other bumps and bruises that you will get when dealing with Oracle if your main experience is SQL Server.  Many of them are just due to lack of familiarity, but there are some issues that I think truly make it a less desirable environment to work with.  So I thought I'd just share a few of them here for others who might find themselves in similar binds and need the help, which is so hard to find for Oracle.

Wednesday, 03 May 2006 14:34:41 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, 30 April 2006

Commenting on a recent entry, Stanley asked me about why the Catholic Church has historically used censorship, citing the case of the naming of the canon of Scripture (as specifically excluding other books, such as the so-called Gospel of Judas and others that did not make it into the canon). 

The New Testament canon is, remarkably, something that Protestants and Catholics agree upon.  Its formation is outlined here in more detail than I am qualified to provide.  The council that most cite is either that of Hippo (393) or Carthage (397) as the official formation of the canon, but, as the referenced artice makes clear, the canon was more or less formed long before that.  The Gospels, in particular, were settled long before then; as the article puts it, "the patristic testimonies have brought us step by step to a Divine inviolable fourfold Gospel existing in the closing years of the Apostolic Era."

That quote hints at the Catholic principle on the formation of the canon of Scripture, namely, the doctrinal witness of Tradition, which is the deposit of the faith left to us by Jesus and his Apostles, passed on through history by the witness of their successors, the bishops of the Church.  This is why I just laugh (and am bothered) when the TV shows make inflammatory statements about "new gospels" that "will change Christianity forever."  I just don't get it.  These "new gospels" were around back then (and in greater numbers than are extant today) and did not make it into the canon then, so while I value their historical significance, that's all it is, historical (not spiritual or religious).

Perhaps the reason that they're seen as so potentially important, revolutionary, or threatening is that there is a perception that censorship in the Church was done by power-and-money-seeking hierarchs, as is constantly suggested by the popular media in movies such as the recent movie The Order, in which the "gospel of Jesus" is rediscovered as well as the centuries old plot to conceal it because it offers credence to the popular notion that organized religion is unnecessary.

This and virtually all other recent flicks that involve the Catholic hierarchy paint them as the most nefarious powergrubbing politicians ever to walk the earth.  And this, of course, is why the Church had the Index of forbidden books and supposedly suppressed the reading of Scripture, much less the gnostic gospels.  These are the same reasons that the Church at times tries to conceal the weakness of its leaders, or so the implications go.  Of course, The Da Vinci Code is just one more in a long line of such fiction to impugn the reputation of the Catholic Church.

While I certainly don't view the history of the Church through rose colored glasses--I am fully ready to see and admit the many failings of Christian leaders through the ages, including St. Peter himself who denied Jesus three times--I also certainly don't see the entire (or even majority of) Catholic hierarchy as corrupt as they are so often painted.  My personal experience, my studies, and my watching of current events teach me that the vast majority are more or less (usually more) good men who are living their vocation to lead the Church as well as they are able.  And without a doubt they have the best intentions (as a whole) of the Church at heart.

And it is this, in fact, that is and has been the primary motivation behind the various attempts in Church history to smooth over the rough spots where it can and to even censor.  Namely, it is out of a care for souls, which is their vocation.  The bishops and priests are (and see themselves as, one hopes) our spiritual fathers.  That's why we call them father.  As such, they are bound to protect us in as much as they can in paternal care. 

As my children grow older (my oldest is five now), I increasingly gain a sense of this paternal instinct and care, particularly in relation to what my children are exposed to.  How many of us would defend the "right" of our children to view pornography, senseless, graphic, and brutal violence, profanity, or anything else that we think would be damaging to them?  Even our secular nation has an enforced rating system that prevents just this thing.  Is that not censorship?  It is, but we do it for a good reason.

This is precisely the same motivation behind censorship and "cover-ups" by the Catholic Church.  We may disagree with the principal that they are our spiritual fathers (and all that it implies), but that doesn't change the truth that this is how they and we (should) perceive their vocation.  The desire to avoid scandal is the same.  True, there are cases where individuals have probably let their own pride be a more motivating factor than care, but overall, the principal is sound.  This has been proven to be true in the fallout from the recent sex scandals.  There has been a dramatic damage to the faith of many. 

There are many these days, many Catholics and even bishops included, who now seem to think that people have a "right" to know everything, that somehow this helps them.  The popularity of shows like Dateline further emphasize this--people think they need to be informed of everything that could potentially affect them.

In truth, I would argue that this is not the case and rather that you can indeed know too much.  There is a line between wisdom and paranoia, and the more that you feed your mind with worrisome "threats" that might affect you, the more paranoid and disfunctional you can become.  Some people can deal with it; others can't.  But I digress.

The point is simply that it is out of a care of souls, a desire that faith and hope not be damaged due to either the weakness of others or of the individuals themselves, that is the primary motivator for such actions.  Most people do not in fact take sufficient time to form their conscience to make the right decisions, and even when we do, we have many non-rational implulses that pull us away from the truth.

For better or worse, we are now living in a society where such pastoral control is really not possible.  The Church can still try to avoid scandal, but it is much harder due to the exponential growth in the freedom of information provided by the mass media and the internet.  Now, in fact, it would almost be unwise to try to conceal potentially scandalous facts because their latter revelation, coupled with their attempts at concealment, only make the scandal worse. 

This is why, I think, the bishops have adopted a much more transparent stance in the wake of the sex scandals.  The fact that sex abuse was kept in house, so to speak, is not really that impactful on the reality of the sex abuse problem--there are many, far more influential factors that allowed it to become the immense issue that it became.  But it is evident that in these post-post-modern days, any attempt at pastorally motivated shielding from scandal will likely only lead to greater scandal because the popular sentiment is that such covering up of sin can only be for bad reasons, which is, in my opinion, manifestly not the case.

So the change in approach is, as I see it, not guilty political maneuvering but rather a frank realization that it is more pastorally wise to do so.  And that is why I think the Church has acted in the way it did in the past and why it has changed the way it acts to meet the changing nature of the society in which it is a part.

Sunday, 30 April 2006 20:54:55 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [3]  | 

I barely have time to play it, but I finally got it.  My Xbox:

This is actually the children's edition.  The wife insisted that we get one that everyone can enjoy.  It doesn't come with the wireless controller; I had to buy that separately.  Besides, I couldn't figure out where I'd plug in a regular controller anyways.  Pretty cool, eh? :)

Sunday, 30 April 2006 14:09:37 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [1]  | 
# Saturday, 29 April 2006

I just updated this site to the latest version of dasBlog.  Many, many thanks to Scott for helping me out with getting it (given that I am a total noob to CVS and, apparently, picked a bad time to start since SF was having issues).  Most notably (that I know of), this version incorporates using Feedburner, which I guess is the latest and greatest for distributing your feed and lowering bandwidth usage, though I'm sure there are some other goodies in there.

Anyhoo, let me know if you suddenly start running into any problems with my blog.  Have a good un!

Saturday, 29 April 2006 14:19:18 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, 27 April 2006

I decided to try something new in ASP.NET 2.0 based on our needs on a current project.  To do this, I followed the tip that K. Scott Allen shares in his blog.  The difference in my case is that I thought I'd do this and make the user control in the App_Code be the base control for a handful of others.  The point here is to achieve visual polymorphism.  Put another way, I want to load up the control differently based on the sub classes rather than, say, having a big switch statement.  This is just good OOD.

The problem is that if you just set a user control in the App_Code directory as a base for other user controls, you will most likely see the following exception.  I was able to consistently reproduce it.  When ASP.NET constructs your derived user control, .NET, as usual, calls the base constructors as well.  When the base constructor is called like this (for reasons beyond my ken), I see this error:

 System.Web.HttpException: An error occurred while try to load the string resources (FindResource failed with error -2147023083).

Looking at what is actually happening (in the call stack), the error appears to be in a call that the parsed constructor makes to System.Web.StringResourceManager.ReadSafeStringResource(Type t).  If you Google like I did, you probably won't find any help (except this blog now, of course).  So on a hunch, I called the LoadControl overload like Scott Allen suggests in his piece, and it loaded fine.  On a further hunch, I then tried to use the derived control again, and voila, it worked fine.

So, since I don't have time to open a case with Microsoft, I just created that as a work around.  I have the application call LoadControl once on the base control so that ASP.NET will properly set it up for use, and then I can use it as a base.  You could do this (presumably) in Global.asax, but I just put this in the page that uses the control(s) in question.

static bool _baseUCLoaded = false;

protected override void OnInit(EventArgs e)
{
  base.OnInit(e);
  if (!_baseUCLoaded)
  {
    ASP.MyUserControlBase thing = (ASP.MyUserControlBase)this.LoadControl(
      typeof(ASP.MyUserControlBase), null);
    _baseUCLoaded = true;
  }
}

And it appears to work.  Maybe someone will enlighten me on this, but I have a hunch that it is just an unexpected scenario (a hack) that wasn't covered by testing.  In any case, it's pretty neat that it works.

Thursday, 27 April 2006 10:41:34 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [0]  | 

Mrs. dotNetTemplar and I have decided to homeschool our children, and it is always interesting to see the various reactions you get.  Some folks think it's grand and say they wish they could.  Probably the majority just kind of stare at you blankly like you were just speaking in tonuges or kind of pat you on the head knowingly.  But the stock question, the one that you get more than any other, is "what about socialization?"

I'm not sure why or how this became common wisdom about homeschooling.  As far as I know, there haven't been any studies conducted to show that homeschoolers are socially stunted or inept.  Rather, there has been signficant research that indicates quite the opposite.  All you need to do is Google it to see more realistic information about the topic; I thought this article summed it up nicely.  Excepting those who have a vested interested in public (or private) schooling, the consensus among those informed is that homeschooling can actually be better than the alternative for socialization.

Here's a nice little snippet that I ran across today in a newsletter, The Liberator Online, I occasionally read (no, I'm not a libertarian).  The source they got it from is the New Oxford Review, which was quoting the Kolbe Little Home Journal, Fall 2005. 

When my wife and I mention we are strongly considering homeschooling our children, we are without fail asked, 'But what about socialization?' Fortunately, we found a way our kids can receive the same socialization that government schools provide.

On Mondays and Wednesdays, I will personally corner my son in the bathroom, give him a wedgie and take his lunch money. On Tuesdays and Thursdays, my wife will make sure to tease our children for not being in the 'in' crowd, taking special care to poke fun at any physical abnormalities. Fridays will be 'Fad and Peer Pressure Day.' We will all compete to see who has the coolest toys, the most expensive clothes, and the loudest, fastest, and most dangerous car.

Every day, my wife and I will adhere to a routine of cursing and swearing in the hall and mentioning our weekend exploits with alcohol and immorality.

...And we have asked (our kids) to report us to the authorities in the event we mention faith, religion, or try to bring up morals and values.

It's funny (and sad) because it is true.  The socialization one gets in public (or private for that matter) schooling is just not natural.  Where else in life are we surrounded by only peers of our own age?  In pretty much every other social environment I've been in outside of school, my peers are made up of people older and younger than me.  The grouping of kids by age, while expedient for group education, is certainly not the ideal model for socialization. 

It seems that homeschooling actually bears out to provide better-adjusted children who turn into better-adjusted adults.  When you add that to the many other benefits of homeschooling, one wonders why more people don't do it.  Well, actually, one doesn't.  It isn't the easiest path; in fact, compared to just dropping your kids off at school every day, it's significantly harder. 

Naturally, I realize that not everyone can for very good reasons (and not just, say, because it is hard).  Thankfully, my family is blessed to be in a position to homeschool, so that's what we're going to do.  I know it's not going to be a bed of roses, but at least we don't have to worry about the kids being socialized and well-adjusted; that's just a red herring that has somehow become common wisdom.

Thursday, 27 April 2006 07:55:57 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [4]  | 
# Wednesday, 26 April 2006

Part of the common "wisdom" these days seems to be that religion and religious feeling are a bad thing.  Don't believe me?  When was the last time you heard someone say "I'm not religious about it"?  I'll wager that not much time has passed since you last heard a statement to that effect.  The speaker intends to say that he is not irrationally attached to the idea, equating, implicitly, irrationality and negativity with religious sentiment.  

I trust I need not rehash the bad rap that religion, particularly "organized religion," gets these days.  You can see it all over the media, in film, magazines, television, etc.  If an established religion is involved, particularly a Christian one such as Catholicism, the "organized" aspect of it is villified.  Religion is a byword in our society today.  Any attempt at its intrusion in public life is met with suspicion (at best) and often outright hostility.

And who are these who demonize religion?  Certainly there are the active atheists, but more often than not, it is your neighbor, or maybe even you.  After all, everybody knows that if you get "religious" about something, it is not going to end well, right?  I mean, everybody knows that lots of people have been killed and tortured for religious reasons, no?  Religion is a disease of the brain that prevents humans from thinking rationally, or so seems to be the presupposition these days.

So how about we just take a few seconds to think about history and religion?  Hmm.. we have the Crusades, the Inquisition, the 30-Years War (and other bloodiness surrounding the Reformation), and.. and.. hmmm.. Dang, I've flat run out of stock examples of how religion is so terrible.  Sure, there are the odd one-offs here and there you hear about, but this is pretty much the stuff of it that so permeates our consciousness today.  Strangely (or not so strangely), these are the same stock arguments that have been bandied about since the so-called Enlightenment.  Let's take a closer look.

The Crusades.  What can we say about them?  A lot, actually.  A lot more than the squishy tale of romance and vacuous "spiritual" comraderie displayed in the "Kingdom of Heaven."  In fact, I recommend a good and, more importantly, short book on them by the accomplished historian Thomas Madden.  In fact, you can read a short summary article treating the same topic here.  Read it, you might be surprised.

The Inquisition.  The mere word strikes disgust and fear into your heart, right?  Well, before you go swallowing mythology hook, line, and sinker, you should check out this article by Thomas Madden and, if you have more time, maybe take a gander at this book, Characters of the Inquisition, by William Thomas Walsh.  Brief summary: The Inquisition was a good thing for its time.  You don't even have to be Catholic to think so, if you'll just look into the facts and how it was a civilizing and taming influence in otherwise extremely brutal times.

The Reformation and ensuing atrocities such as the 30-Years War.  Now for these, I'd actually grant that there's a lot of bad stuff being perpetrated in the name of religion.  But the key phrase is "in the name of religion."  I won't argue against a lot of really, really bad things being done in the name of religion, but, uh, that don't make religion bad, it makes it abused.  I'd actually argue that the reason religion has gotten such a bad rap in all that is a direct result of the destabilizing and modernizing effect that the so-called Reformation had on Western society.  I'd further suggest that the only reason such atrocities have taken place in the name of religion in the four to five hundred years leading up to the 20th century is precisely because Western man was unlearning religion, particularly Catholic, Christian religion. 

The Reformation gave a carte blanche to European powers and principalities to do whatever they darn well pleased, without having to worry about the checks and balance of religious corrective exercised through the Catholic Church (as in, e.g., the Inquisition, interdicts, excommunications, etc.).  The more freed from any answer to a "higher power" that the rulers became, the more brutal and bloody things became.  This is not to say that bad things were not done by Catholic rulers as well during (and before) this time, but, like the Crusades, these were first and foremost defensive postures, reacting (and overreacting) to the new threat that Protestantized monarchs posed.  And of course, Catholics were fighting amongst themselves long before this for reasons having nothing to do with religion (they shared the same one, after all); this isn't to claim that churching culture makes men perfect but rather that unchurching culture makes them far worse or at least far more susceptible to being bad.

But if you think all the mess of the Reformation is bad, consider the absolute bloodiness of the French Revolution.  Under the guise of folks like Robespierre (whom I had the "opportunity" to do a paper on in school), these "supremely rational" people unleashed an unholy terror on their own countrymen, bathing the country in blood in the name of reason.  Yes, that's right; the French Reformation was all about "enlightenment" and "reason."  And lets not stop there.  Who was the French emperor of the late 18th and early 19th centuries that stomped all over the European continent?  Was it a religious fanatic that spilled the blood of countless thousands in the name of Enlightenment goals like public education?  No, it was a self-appointed dictator of the Enlightened world, Napoleon Bonaparte.

Did it stop there?  No, as world leaders became more and more distant and divorced from Christian rule, things progressively got worse.  Witness the many continuing continental wars of the 19th century with nothing more than national and empirical ambition as its goal.  Witness the explosion of the British Empire that ruthlessly subjugated more peoples across the world than history had yet seen for nothing more than financial gain.

Oh and now we move on to the worst record in human history in terms of how humans have treated other humans.  The 20th century saw more bloodshed than all previous centuries combined, or so I've heard.  Was it in the name of religion?  No, rather, it was in the name of secular, materialistic philosophies such as facism and communism.  We see the blatant attempt at exterminating an entire race of people, along with anyone else not meeting an atheistic conception of the perfect man as well as those who would stand up for the targets of extermination (namely, members of organized Christian religions).  Let's also not forget the bequeathment of that philosophy that so many rational, liberal, academic people coddled--communism.  Far more have been killed in the name of that philosophy than Hitler ever dreamed of (well, maybe he did dream of it).  Both of these philosophies are completely divorced of Christian religious power. 

Now, who is it that is seen as probably the most influential person in bringing communism to an end?  Many say it was John Paul the Great.  In many documentaries and commentaries following his death, none especially Catholic in name or nature, I heard of his unwavering resistence to communism and the dramatic role he played in its fall. 

And so we see the true nature of religion:  arguably the most organized religion in world history has consistently tried to act as a check to the powers of this world, reminding them of their duties to mankind and trying to enforce those duties when it could.  The worst periods of violence in human history were made possible by the utter elimination of this religious power, the only power that strives to act in the name of something higher than itself, the only power that truly believes (and has a basis for believing) that we, as humans, have distinct and undeniable dignity and rights that flow from an Absolute Source.

So the next time you're tempted to diss religion, think on these things.  The next time you are tempted to laugh or cheer when somebody takes a pot shot at organized religion, think again.  Religion, if one approaches history with an open mind, has a track record of an undeniably positive effect on human nature, both on the individual and in public life.  The facts are there folks if you're willing to see them.  As Jesus said, "he who has ears to hear, let him hear."

Wednesday, 26 April 2006 01:51:34 (Eastern Daylight Time, UTC-04:00)  #    Disclaimer  |  Comments [3]  | 

Disclaimer
The opinions expressed herein are solely my own personal opinions, founded or unfounded, rational or not, and you can quote me on that.

Thanks to the good folks at dasBlog!

Copyright © 2017 J. Ambrose Little