



The movie “Field of Dreams” has nothing to do with baseball but uses baseball as it’s backdrop – but I was sitting watching the movie recently, when it dawned on me that I have genuine and deep sympathy for anyone who isn’t a fan of baseball.
I know it’s not a fast moving game like basketball, hockey, football, etc. I know to some, professional baseball’s reputation is poor because of strikes and scandals. But the game is still a wonderful game.
I can’t recall the writer or commentator who said that baseball is a game of beautiful pauses but I agree. If you’ve ever faced a genuinely good pitcher, you feel one of these pauses as you watch the pitcher peer over his left shoulder, looking your teammate back to first. His focus shifts from you and to the edge of of his eyes… There it is… The pause. In the silence of that pause, there’s poetry.
A frozen moment of anticipation. I loved that moment as a batter. The pitcher could lazily throw to first to let the runner know he’s watching. Snap a throw to first in an attempt to “pick off” the runner. Step off the “rubber” to halt all the action and reset. Or… His eyes shift back to me, his knee lifts as he begins his kick, the ball remaining hidden in his glove so I can’t read his finger position. Now he’s committed to delivering the ball to the catcher and I watch his arm coming over the top so I can acquire the ball as early as possible and possibly see how his fingers are positioned on the ball.
He releases the ball and it’s on its way to me now. Are the laces turning? Which direction? How fast? The ball is coming “high and tight”, the laces are rolling forward and inside, curve ball… “It’ll break, don’t take your head out of the box.” My torso starts the swing, arms and hands follow, eyes still on the ball, “Turn into the swing; runner on first – pull this ball. Stay ahead of it.” My swing is good. There’s a pop as the ball strikes the catcher’s mitt. Strike.
We all reset and start the ritual again. It all happened in less than a second. All preceded by that pause. Every game has many of these pauses and if you never played, the pauses bore you. If you played you feel each of them.
Had I hit the ball, that wonderful crack of the bat and ball would sing out, there’d have been a coordinated effort in the field to stop the ball, every member of the opposing team would be moving. My teammate and I running. And THAT feeling when I made contact… As a kid it was pure joy.
I watched both my sons play and watched as each hit the ball and saw one of them sail a ball or two out of the park for that great trot around the bases. I was grateful that I knew what my boys were feeling in those moments.
If you never played baseball, you have no idea what any of what I just described feels like. I wish you did – it’s great and I feel sorry that you don’t know about it. Your life is slightly poorer. You don’t know but I do and it makes me a bit sad for you. I’m certainly not condescending to anyone, many have experiences I can’t share and my life is poorer because I missed what you have felt. Baseball is just one experience that I have had.
I’m not a religious guy – but maybe “Field of Dreams” has it right… Heaven has a baseball diamond nearby.




Uh… No. I get this rhetorical question from fellow developers a lot. LINQ uses the “from-where-select” syntax (with the “from” and the “select” in a more sensible order) from SQL but that’s only to give developers a familiar model.
LINQ can be used to query relational data sources like, SQL Server, Oracle, MySql, etc. LINQ can also be used to solve general programming problems in a functional way.
Go take a quick look here for a rather contrived puzzle example. If you still think LINQ was made just to query relational data after looking at it… I’m not sure how to make it clearer for you.




On the turning away
From the pale and downtrodden
And the words they say
Which we won’t understand
Don’t accept that what’s happening
Is just a case of others’ suffering
Or you’ll find that you’re joining in
The turning away
It’s a sin that somehow
Light is changing to shadow
And casting its shroud
Over all we have known
Unaware how the ranks have grown
Driven on by a heart of stone
We could find that we’re all alone
In the dream of the proud
On the wings of the night
As the daytime is slurring
Where the speechless unite
In a silent accord
Using words you will find are strange
And mesmerized as they light the flame
Feel the new wind of change
On the wings of the night
No more turning away
From the weak and the weary
No more turning away
From the coldness inside
Just a world that we all must share
It’s not enough just to stand and stare
Is it only a dream that there’ll be
No more turning away?
“On The Turning Away”
Pink Floyd
My conservative friends actually look upon me with derision for thinking and feeling any of the emotion evoked by this song. You know… Being a bleeding-heart liberal and all.




For a while I’ve been meaning to collect the list of tools that I typically install on any development workstation. Instead of keeping that list to myself, I’m making it available to anyone who wishes to use them as well. I’ll keep the list pretty short but a short list of tools a developer uses can be quite large. If you want a better list of tools, I suggest you occasionally visit Scott Hanselman’s blog and tool list.
The tools I typically use will always be available on my tools page.




I’m not sure how often I’ll need to post “place holder” posts like this one but I’m sure it’ll happen again. I’m still blogging, I just haven’t had the time nor the inclination over the holidays and a recent busy time at work.
This is my first post using Windows Live Writer. It is much nicer than using the WordPress online interface.
I will post something better soon… Stay tuned.




If you do a search on “to GAC or not to GAC” you’ll get mixed messages with a bias towards “not to GAC”. I couldn’t disagree more strongly with those who urge you not to use the GAC “unless you work for Microsoft, and then only if you’re working on the .NET Framework” (quote not linked to save the writer the embarrassment). No need to sugar-coat this one… The folks making those recommendations clearly know very little about development on the .NET platform. The only generosity I can muster for these people is perhaps they’ve never worked in an organization with more than 2 developers and have never had to write a shared assembly. Perhaps we can blame Microsoft for having promoted the term “xcopy deployment”. Perhaps they never lived the Win16 to Win32s to Win32 to COM transitions. Perhaps these people are the village idiot.
Some background first…
GAC stands for the Global Assembly Cache. Without going into excruciating minutiae, the GAC is simply a repository of shared assemblies, managed by the operating system, and used by the Common Language Runtime (CLR) to resolve references to shared code.
For a full description of how the CLR resolves references, look at the MSDN article “How the Runtime Locates Assemblies”. The basic steps are these:
Actually, “check the PATH” is grotesquely over-simplified. The actual process is called “probing”, for full details on that process look at the MSDN article “Step 4: Locating the Assembly through Codebases or Probing”.
So for all of the pundits out there that think that just dropping your assembly into the application directory is all there is to it, I’d suggest a little reading. As you can see, the application directory is actually checked AFTER the GAC. Unless an assembly reference has already been “bound”, the GAC is the first place the CLR will look to attempt to resolve the reference.
If we’re talking about an assembly that is shared by more than one application in your application suite then the answer is a resounding yes. Will you ever need to maintain two versions of the same assembly in the deployed environment? If so, another resounding yes. Will your application implement a dynamic loading mechanism via a configuration file to load a “snap-in”? If not yes, it’s certainly a possibly. After all, if I’m going to specify a code base via a configuration file and call System.Reflection.Assembly.Load or System.AppDomain.Load myself, then I’d like to have the option of specifying a fully qualified assembly name. Then again, I may want to circumvent the “standard” binding order from above so that I can implement a sort of “drop-in” deployment and implement the code to look in the application directory first. Either way, the option of using the GAC is still totally valid contrary to prevailing net wisdom.
There are obviously situations where you don’t want the added deployment overhead of using the GAC. Using the GAC isn’t free after all, you need to setup your development environment to place your new assemblies in the GAC, remove the last compiled version (if you’re so inclined), etc. I never said that there was no price to pay. Are you deploying a “resource assembly” that is only applicable to one application? Then don’t put that in the GAC, there’s no compelling reason to do so. Is the assembly your deploying shared at all? If not, then don’t put it in the GAC. Again, no compelling reason to do so.
If you don’t want to use the GAC based on some bizarre “principle”, then use Linux or some other platform. (Yes, one developer once told me he wouldn’t use the GAC out of principle. Huh??) After all, I love Linux and other platforms as much as the next guy. Stop proclaiming that the “GAC is evil” (Again, direct quote from a developer) unless you know what you’re talking about.
The point I’m trying to make is that “to GAC or not to GAC” is a more informed decision than many of the absolutist “not to GAC” stances you’re going to read out there.




Nine-ball is rotation pool, the balls are pocketed in numbered order. The only ball that means anything, that wins it, is the 9. Now, the player can shoot eight trick shots in a row, blow the 9, and lose. On the other hand, the player can get the 9 in on the break, if the balls spread right, and win. Which is to say, that luck plays a part in nine-ball. But for some players, luck itself is an art.
Uncredited voiceover by Martin Scorsese for the movie “The Color Of Money“




I haven’t been posting much lately because my dad was sick and unfortunately passed away on October 15th.
Losing your dad is pretty horrible no matter how it happens but, at least, I got to have “the conversation” with him that many folks aren’t afforded an opportunity to have. Dad had been sick for quite some time and knew that the prognosis wasn’t good. He was stoic and matter-of-fact about it until the end.
When my very calm and self-controlled brother, Chris, called me to say I should drive back home, I knew the situation was very serious. When I got to Dad’s hospital room he was still able to communicate although slowly. I was able to ask him if he remembered the conversation he and I had when I told him I was proud to be his son and why. He said he did. From that point forward I felt a level of acceptance of what was coming that I never thought would be there when this time came. The content of that conversation will remain private between Dad and me but here’s just one reason why I was so proud he was my dad.
If you haven’t told your parents how you feel lately, go do it now. I promise you, there will be a moment later on where you will find great peace that you did.
To the many friends that helped my family through this time and expressed warm wishes, I thank you and Dad thanks you.




One of my favorite comedians is Dana Gould. I’ve always found him particularly funny with an ability to capture an idea almost poetically. Recently he’s done some political commentary and has appeared on “Real Time with Bill Mahr“. In a bit he did for the show, he covered some health care town halls. He made an observation that I’ve been trying to put into words for a while. When asked about an under-class in the United States he remarked that what he saw was a permanent “anger-class”. Most of the members of the anger-class are what he then referred to as “conservative fundamentalists” who believed that President Ronald Reagan was a political diety and that everything that fell out of President Reagan’s mouth was their gospel. Anytime our country deviates from this gospel they go ape-shit. (To be clear, I don’t mean these people.) Since Reagan’s utopia doesn’t coincide with reality, our country continues to move away from the Reagan years, so the anger-class is destined to just get more pissed off. Most will probably carry that anger until the end of their lives.
Since the election of President Obama the anger-class has been in an snot-bubble-crying fit of rage. Their current gripe is that he’s tyring to reform health care. Most of them go on and on about how specifics of this plan are affronts to freedom and liberty. Worse is that profit would be removed from the health care system. This is how the right has beaten health care reform as well – the argument that everything should be for profit. I disagree but my voice is pretty small.
The observation I’ve made is that the anger-class is orders of magnitude more upset since this last election than any other post-election reaction I know of. I didn’t like President Clinton but after he was elected, I calmed down and got back to my life in like an hour. I really didn’t like President George W. Bush but I went on with my life… Twice. The anger-class is still chest pounding and foot stomping all over the country nearly 9 months after he took office. Not just that typical political commentary and disagreement but a vitriolic language normally reserved for personal hatred. It appears that it’s getting worse not better. I desperately hope that I’m wrong but given the mentality of some of the grass-roots base of the now decimated “right” I fear an attempt on the president’s life at some point in his term. Again, I want to be wrong but folks the anger-class is accelerating the rhetoric and whipping that still disappointed base into a frenzy.
I wish there was something that could be said to calm them down. I now find myself in the position of having lots of friends who I know for a fact are reasonable folks but are in the anger-class now. How they got sucked into it is beyond me. I overhear their conversations and read their articles and I know that I can’t engage them in conversation on an intellectual level about the topics because what I’m hearing is anger and rage. I’ve attempted to engage a couple of them once or twice only to get shouted down.
I’m not sure why I felt compelled to write this down… Maybe I’m hoping some of my conservative friends will see it and understand why I won’t talk with them about anything more substantive than the weather lately.
And honestly, I don’t know why they’re so worried. Democrats have control of the House and the Senate with a Democratic President and they still can’t pass anything. The Democrats are pussies. Until the anger-class realizes this, I’m providing them the following quick link.




I know I have a readership of almost 2 people and that they waited eagerly to hear my prolific wisdom, so I must apologize for my lack of regular posting. It’s pretty clear I maintain this blog for me and me only. I didn’t do it for a following – most of what I write is for an audience of one… Me.
If you do actually read my blog let me tell you what’s new. I’m still turning the functional programming crank and trying to learn the discipline. I’ve also picked up several new topics to understand as well with Power Shell, Oslo, M, and Python (actually IronPython). Unity and Enterprise Library 4.1 have moved back up the must learn list as well. I’ve also been playing with the Visual Studio 2008 SDK.
At work we’re also trying to establish our build environment and I spent a bit of time writing a “best practices” sort of document for arranging the code repository, directory structure, operating system environment set up, and organization of Visual Studio solutions and projects to fit into it all. I’ve considered generalizing that document and posting it here as I’m a little tired of creating project specific implementations of it. This effort forced me to hand off the DSL project to a co-worker, so he got to have all the Oslo and M-grammar fun.
I’ve learned a lot of pretty cool new things and would love to sit down and write something meaningful on each and every topic. Unfortunately, it seems all I have time for is a post explaining why I haven’t. If you’ll hang with me, I promise I’ll fix that situation as soon as I can.


More Options ...
Categories
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 