Random Thoughts of a Scatterbrain.
 Monday, July 31, 2006

Eye Opening Al Gore Video

7/31/2006 9:30:38 AM (Eastern Daylight Time, UTC-04:00)

One has to wonder, what would the world by like if he had won the presidency?

I pondered this as I was laying down to sleep last night, after viewing these two videos which I came across in a thread on Fark.  I think the world would be a very, very, very different place had Gore won the presidency in 2000.

An incredibly revealing set of videos made by Spike Jonze (of Adaptation and Being John Malkovich fame) shows a very personable, humorous, incredibly intelligent, and passionate Al Gore.  His vision is not just about global warming and the environment (although he does bring it up in the video).  He has a genuine conviction to making America a better place for the lower and middle class in America through education, fostering our competitive advantages in industry, and ensuring that American's are ready for the coming (this was shot in 1999) information age.

I think that seeing his interaction with his family and especially his daughters in these videos actually reveals a great deal about him and the values he brings to the table as compared to Bush, who also happens to have two daughters.

Part 1 and Part 2.

And if there was any doubt that the election was stolen: "How Bush Defeated Gore--The Real Story"...watch how Clayton Roberts, director of the Florida Division of Elections, squirms.

 Wednesday, July 26, 2006

NDoc 2 is Officially Dead

7/26/2006 2:29:36 PM (Eastern Daylight Time, UTC-04:00)

So this afternoon, I received an email from Kevin Downs (as I'm on his mailing list), the developer of NDoc with the following:

I have decided to discontinue work on NDoc 2.0 and no longer participate in any open-source development work.

The development and release of NDoc 1.3 was a huge amount of work, and by all accounts widely appreciated. Unfortunately, despite the almost ubiquitous use of NDoc, there has been no support for the project from the .Net developer community either financially or by development contributions. Since 1.3 was released, there have been the grand total of eleven donations to the project. In fact, were it not for Oleg Tkachenko’s kind donation of a MS MVP MSDN subscription, I would not even have a copy of VS2005 to work with!

To put this into perspective, if only roughly 1-in-10 of the those who downloaded NDoc had donated the minimum allowable amount of $5 then I could have worked on NDoc 2.0 full-time and it could have been released months ago! Now, I am not suggesting that this should have occurred, or that anyone owes me anything for the work I have done, rather I am trying to demonstrate that if the community values open-source projects then it should do *something* to support them. MS has for years acknowledged community contributions via the MVP program but there is absolutely no support for community projects.

Once ‘Sandcastle’ is released, it is my belief that it will become the de-facto standard and that NDoc will slowly become a stagnant side-water. This will happen regardless of technical considerations, even if Sandcastle were to be less feature-complete. It's just an inevitable result of MS's 'not-invented-here' mentality, one only has to look at Nant and NUnit to see the effects of MS 'competition'.

This is not, however, my only reason for stopping development work - I have a big enough ego to think I could still produce a better product than them :-)

As some of you are aware, there are some in the community who believe that a .Net 2.0 compatible release was theirs by-right and that I should be moving faster – despite the fact that I am but one man working in his spare time...

This came to head in the last week; I have been subjected to an automated mail-bomb attack on both my public mail addresses and the ndoc2 mailing list address. These mails have been extremely offensive and resulted in my ISP temporarily suspending my account because of the traffic volume. This incident has been reported to the local authorities, although I am highly doubtful they will be able to do anything about it.

This has was the ‘last-straw’ and has convinced me that I should withdraw from the community; I’m not prepared to have myself and my family threatened by some lunatic!

Kevin

P.S. If anyone wants to take over as admin on the SourceForge NDoc project - contact me. If not, I'll be removing myself in 14 days.

It's kind of upsetting how this has panned out as I can certainly understand Kevin's displeasure at how he was treated by a few members of the community.  But at the same time, I'm curious as to why the project, while surely utilized by many .Net developers world wide, never picked up more developers to help share the load.

While it is quite disappointing as I really liked NDoc's simplicity and ease of use, I had felt that this would be the likely end once I started reading about Microsoft's Sandcastle project.

As for the individual(s) who perpetrated the email bombs, all I can say is WTF?  That's a terrible and childish way to get what you want.

 Tuesday, July 11, 2006

To Be at a Crossroad...

7/11/2006 9:39:49 PM (Eastern Daylight Time, UTC-04:00)

The way our lives flow through time and the repitition that each of us encounter, day after day, tends to blur the multitude of crossroads that we reach and the different decisions that we make at each of these crossroads.

In a sense, this is what it's like to walk around a crowded city like New York City.  There are turns everywhere and roads and alleys which lead to every nook of the city.  But by design, it's never difficult to get back to where you were in case you do make the wrong choice and turn down the wrong road...these decisions come in passing and perhaps you don't even think about it.

But in every life, there are milestones that approach and crossroads that split into two clearly defined paths with no readily apparent way back to where you started. Looking down either road at this intersection, we imagine ourselves in the future and what it would be like to take either path.  Will we be fortunate and meet success or will it come to be that our decision haunt us in our dreams?  The decision is never easy as unlike a city street, it may be miles before we reach the U-turn.

I've felt this rarely in my near 25 years of life.  Even marriage was an easy and natural decision for me.  And now such a decision weighs on me with a paralyzing force; I just don't know what to do.  I am comfortable, but not completely satisfied.  My sensible side tells me to continue on the path that I have taken.  The dreamer in me tells me to ditch the map and head into the unknown.

Ah, to be at a crossroad in life, to be at once filled with hope and fear as well.

 Monday, July 10, 2006

Zerg Rush! Kekeke! ^_^

7/10/2006 1:32:54 PM (Eastern Daylight Time, UTC-04:00)

Wow...talk about extraordinary craftsmanship:

http://www.starcraft.org/fanart/reallife3dart/1104

 Thursday, July 06, 2006

Big Changes Around the Corner

7/6/2006 2:59:39 PM (Eastern Daylight Time, UTC-04:00)

C# 2.0 has barely been with us and already, the 3.0 spec is shaping up.  While the change from 1.0 to 2.0 was dramatic in the way that it simplified what used to be quite laborious tasks in C#, the change to 3.0 is perhaps too bold of a jump, bringing the C# language close to the territory usually reserved to academia and research divisions.

Perhaps at the heart of this is the introduction of LINQ (Language INtegrated Query) to the C# specification.  Several changes and additions to the C# language were necessary to make this possible and make it "user friendly".  One of these is the introduction of Lambda Expressions to the C# language, giving C# a feel closer to that of....JavaScript.  Yup, good ol' JavaScript (one of my favorate languages).

Daniel Cazzulino touches upon some of the interesting "side effects" of this change in the language while Abhinaba believes that while the new language features are certainly welcome and useful to a set of users, for most, it will only add to the "surface area" of the C# language and frustrate/confuse users.

C# has originally developed from C++ /Java and is (was :^) ) a strongly typed object-oriented language. The new features being introduced like closure, continuation (yes, yes very limited continuation) in C#2.0 and now type inference, lambda expressions are de-generating the language. Even though there are people go gaga about continuation and lexical closures these are fundamentally functional language features and should be left to that. Introduction of bits and pieces of functional language features are not going to add value to C# and at the same time the surface area of C# is growing beyond what most developer can grasp.

I tend to agree with this view.  Having spent most of my career as a consultant and dealing with many developers who did not come from a math, engineering, or computer science background, I can say with 50.01% accuracy that 87.96% of .Net developers will a) be confused and befuddled by the new language features, b) never use the features and never even know that they are there, or c) change professions :P

Okay, maybe option c is more of a pipe dream.  But regardless, the surface area of C# is becoming quite large and perhaps even a bit, how shall I put it, unwieldy?  Whereas developers used to have disagreements over implementation and architecture details, will we now see disagreement over language feature usage and constructs?  One thing is for sure, I'm certain that a lot of developers will be left in the dust.

Most of the mid-career Microsoft developers I've met got their start doing VB6 and VBScript with ASP.  In the transition to .Net, I've discovered that many have not really transitioned so much as adapted; kind of like they're still writing VBScript...except it's called VB.Net now.  This isn't the territory of VB developers only, however; I've met many C# developers who just have no clue and continue to do silly things like concatenating huge (I mean HUGE) strings.

Well, in any case, enough ranting I guess.  If you're interested, take a look at the language specs over at MSDN (already got 'em printed and stapled).

 Wednesday, July 05, 2006

Modern Day History

7/5/2006 1:43:41 PM (Eastern Daylight Time, UTC-04:00)

The USA has been around for a little more than a mere two centuries. Admittedly, there isn't much history to be had in such a short span of time, at least relative to Old World countries in Europe or the empires in the East which have millennia of history.

But none-the-less, in these two-plus centuries, I'd like to think we've made a name for ourselves, particularly in the fronts of industrial and technical innovation and engineering.

The light bulb, controlled nuclear reactions, mass produced automobiles, microwave ovens, the telephone, and the cell phone to name a few, are all innovations that came out of the US. These are historical advances in the course of mankind that will have a lasting impact for decades to come.

Should we not, then, protect the sites where such innovations originated? Then  should we not place a value on these sites as a sort of historical monument to ingenuity and weave them into the fabric of our history?  These are our Colosseums, our Leaning Towers, our Pyramids; these are historical monuments at  their birth.  Protecting these sites is the logical thing to do as, indeed, the history of the US is one of industrial and technical achievement.

So it is quite sad to find out that the legendary Bell Labs Holmdel facility (right in my backyard) is going to be razed for a new office complex.

If such a legendary landmark is razed for new office complexes, it would be quite a shame as it has indeed generated an enormous wealth of technologies and innovations in the 5 or so decades it was in operation.

 Tuesday, July 04, 2006

The Lowest Common Denominator

7/4/2006 4:14:08 PM (Eastern Daylight Time, UTC-04:00)

Came across a great line by Scott Storch, one of the mega-producers in the music industry today while I was flipping through Rolling Stone:

"It's a chore for me to hold back my mind to do this simple shit...People want something they can understand, something they can break down in their head and understand the rhythms.  There's more money in those little songs."

In reading about how Storch got started in the music industry and then reading the ads for the music and films schools in the back of the magazine, I wonder if these schools do more harm for artistic talent and skill than they do good. Part of becoming great at doing these kinds of things is the experience of working with what you've got. Working with a simple palette is at once limiting and also expansive in that it stretches one's creative ability and skill to get the most out of limited resources; it forces one to develop unique techniques and workarounds that would otherwise not be necessary. It's kind of a "whatever doesn't kill you only makes you stronger" philosophy.

I can certainly understand where Storch is coming from in that line, though. Often, on projects, I have these badass ideas on revolutionary (relatively speaking) changes to an existing application or UI that would simply blow people's minds. Instead, I often encounter a resistance to these types of ideas as clients tend to have a limited imagination or are constrained by the limited imaginations of their users, which is quite sad for me.

I call this: "developing for the lowest common denominator". It's a sad way for creative minds to work when one must contort ideas and visions to satisfy the simpler minds and those that have no imagination.

Take BumpTop, for example. It is far too revolutionary (as compared to the classic Windows folder paradigm) for its own good. Users have limited imaginations to be able to envision how such things would benefit them (or perhaps it may not benefit them).

 Friday, June 23, 2006

So, Apparently, Teamwork is Counterproductive...

6/23/2006 10:34:38 AM (Eastern Daylight Time, UTC-04:00)

Teamwork is not easy.  It never is.  Whether it's basketball, football, sales, construction, or software, it's difficult to instill a sense of team and ensure that everyone operates as a member of a team.

There are individual egos to deal with, different levels of skill to integrate, different talents that have to be recognized in the context of the team, and there is the ever present problem of communication.

Lately, I've been disappointed in the level of teamwork I've been witnessing on my project (on a scale of 1-10, it'd be around a 2).  Sure we have our weekly call in and discussion and random emails throughout the week.  But is that enough to bring a large system, with multiple components together in a short timeframe?

I recently suggested to my teammates that we've been lacking the team spirit and that perhaps it's a good idea for those that will be interfacing with my component to at least install and test against the actual component that I wrote.  The following is my response to the response that I received, which claimed that such efforts at this time are "counterproductive" (names have been changed):

"counterproductive"?

Hmm...here I thought we were building interacting pieces ;-)

I don't know, maybe it's just me, but I feel like one person can only take code so far; working in isolation with little feedback leads to code with obvious bad practices and holes that are hard to spot once I've gotten a concept in my head. Not to mention that there will be tons of duplicate work efforts (as I discovered from Brian the other night, the database work I've been doing is also relevant for Don and Sam). I'm 100% certain that there will be bugs and inefficiencies that will only be turned up once you and Sam start to interface with it. Not only in my code, but also in your codebases as well. At least from my perspective, I'd like to find these bugs and hammer them out. To hope for the best when we plug it all together at the last moment is a bad way of working, IMO. I would even propose that the Friday session every week be turned into a full integration and end-to-end test session to get everyone to integrate and test pieces with a seperate Monday session to cover what the goals are for the week and catch-up.

And again, my piece is here to service WildCat and RazorBack...how can I be sure that it does this in an easy to use and well designed fashion if I'm the only one using it? It is certainly easy to use and well designed *to me*, but are there obvious mistakes in the design? Are the major flaws in the code that need to be fixed? Who knows? Everything looks rosy *to me*. End-to-end testing has not been done or setup and I feel that there are sure to be issues that will only be uncovered with end-to-end testing. I know there are flaws and I want to fix them, but many of the flaws are not so apparent to my eyes but would easily be exposed by end-to-end testing and WildCat and RazorBack actually integrating with the pieces.

I understand that we each have responsibilities. But isn't part of my responsibility to ensure that my piece properly services WildCat and RazorBack? Alternatively, isn't part of WildCat's responsibility to ensure that it can tell EastCastle to do what it wants?

I feel like the way we're working is much like a football team which never practices as a unit, each player only works on individual drills. Come game day, now all of a sudden the team is expected to play as a unit. How can the coach predict whether the team will work well if he never sees them practice as a unit? This is unrealistic even for the most skilled professional football players (that's what training camp and full team non-contact drills are for)...how can it be realistic for us? I dunno...building large systems is no less a team game than basketball or football or crew ;-) : the team that trains together wins together. Expecting pieces to magically work together after weeks or months of development in silos is dangerous and unrealistic to me.

Teamwork is difficult for any group of guys and gals.  Doubly so when the team is dispersed.  But is it "counterproductive" to try to build upon a team effort and really have everyone write software as a team?  Is it really an idealistic view of how software should be written that I'll discard as I age and become more cynical?  Bear in mind that I'm not debating "Aristocracy, Democracy, and System Design" as Fred Brooks does in Chapter 4 of The Mythical Man Month, as I strongly believe in "conceptual integrity" as a basis for simplifying and clarifying a framework or codebase.  But rather, what I'm questioning is the team working completely independently with little communication and actual testing of interfaces.

I'll admit that I myself haven't been the best of team players, but, none-the-less, all I was seeking was a minimum amount of teamwork: integrating pieces once in a while in "practice" as opposed to integrating in the few minutes leading up to game time and hoping for the best, you know?

 Sunday, June 18, 2006

Late Night Ramblings

6/18/2006 1:45:28 AM (Eastern Daylight Time, UTC-04:00)

About a week ago, I caught a documentary on the House of Saud on PBS (in HD, too!).

It was a riveting program that helped shed a lot of light onto historical relationships between Saudi Arabia and the US.  It also brought to perspective a lot of the current thinking in Suadi Arabia and view of the geo-political landscape from one of the most prominent Middle Eastern nations.

The full transcripts of the interviews are available from the site and I suggest anyone with an interest in the subject of the current war and an interest in the region in general take a glance at the information available at the site.

In the short history of what we know today as the nation of Saudi Arabia, the country has been lead by visionary leaders such as Abd al-Aziz and King Faisal.  It has undergone transformations from a small desert nation of fiefdoms into one of the wealthiest and most developed nations in the Middle East.

Most importantly, it is one of the few (the only?) Arab nations that has traditionally been an ally of the United States, throughout the last 60 years.

Prince Amr ibn Mohammad al-Faisal, great grandson of al-Aziz, reveals that at one point in time, the US was actually viewed upon quite favorably:

And so, [in 1945, aboard] the [U.S.S.] Quincy, he met with President [Franklin] Roosevelt.

Early on, [Abd al-Aziz] understood that the British Empire was on its last legs and that the new power coming out was the United States. And so he quickly tried to establish contacts with the U.S. ... [At that time] the U.S. was looked on favorably by most of the Muslim world [because] it was not a colonial power. On the contrary, it was anticolonial. It was ... the policy of the U.S. that decolonization was [one] of its principles, that people should have the right to self-determination. ... It was only Saudi Arabia in the region, and maybe Yemen, [that were] uncolonized. Everybody else was either under the British, the French, the Italians or whoever else there was.

So it was a logical and natural alliance between Saudi Arabia and the United States. The United States was a young, dynamic power, a growing power, that was not colonial, that was against colonialism, a people that were religious just like we are religious. They have a very strong faith in their Christian heritage, and we have a very strong faith in our Muslim heritage.

While we are not yet enemies (and probably will never be), the consensus in the Middle East, even among the educated Saudis is that the American response in Iraq during this second Gulf War (their third) has been very negative.

When asked about the anger towards America, Bassim Alim, a very progressive Saudi attorney states:

Let me say, it's not that they're not unhappy. They're not; it doesn't concern them. America is king everywhere. [America] is giving us a hard time everywhere. So if this happened to America, we will not stand up and say [that] we are the defenders of America and this should not happen. We know it should not happen, but they're not going to cry over it. It's this kind of feeling that took place amongst a certain segment of society at the beginning.

[At] this stage, many segments of society are actually quite entrenched in being opposed to America as an idea. They are dismayed; they are disillusioned by America. We thought that you really meant what you said in your constitution, all these issues of freedom and rights and carrying the banner of human rights, and the Wilsonian doctrine -- it all went out the window because of 3,000 people?

It's a significant number, but there are hundreds of thousands who are dying all over [because of] this, hundreds of thousands. Look how many died in Palestine, in Iraq, for all these years when Saddam Hussein was ruling Iraq -- [who], by the way, was supported by America -- and you didn't shed a tear. You only shed tears when it starts affecting your own policies, your own interests. In the Arab world, that's not right. You don't look at your interests alone. If you claim something, you have to be fair. It has to be an equal ruling for you and for me.

In the US, I think many of us are incapable of, to quote the Dalai Lama, "equalizing and switching of self and others"; we readily label others as evil or enemies without first evaluating ourselves and putting us in the shoes of those who would hate us.  We do not take the time to seriously evaluate the root cause of the hatred and we do not make the effort to address these issues, nay, we do not even acknowledge these issues.  We can't even begin to imagine why we aren't viewed and celebrated as liberators.  We tend to be simple minded and view ourselves with righteousness without considering the opposing view and the perceptions of others.

I will give you an example: [What if] today there were 500,000 Saudi troops armed to the teeth in the middle of England? Wouldn't the English be [un]happy about that?

Anything controversial, anything that is massive and shocking, like the [arrival] of 500,000 armed soldiers with their equipment in the middle of your country, this is not something that is easy. Nobody is going to be thrilled to know that there is a huge mass of foreign army on his soil, no matter what the pretext or what the justification is. It is something that will make anybody uncomfortable.

al-Faisal states the obvious; if the situation were the other way around and  half a million armed troops were in the US "liberating" us from GWB, I'm sure even  these fighters would be viewed with disdain by the liberal left.  "They hate our freedom" is perhaps the embodiment of this ignorant way of thinking; it is masking our faults by expressing a seemingly patriotic statement which gets thrown to the wind with each law that further restricts our rights and freedoms.

Watching this documentary was very insightful.  It not only showed some very informative and interesting first-hand perspectives from Saudis, but also showed how our leaders have lost their mastery of diplomacy.  Watching the events unfold is simply startling as it starts to expose the history of the conflict, the betrayal of the United States (on multiple occassions), and perhaps why we can never "win" this war that we've started since we have not addressed the root cause of the opposition.  It is reflective of the lack of accountability by this administration that is pervasive throughout all of the policy.

 Thursday, June 15, 2006

Say Hi to Quincy

6/15/2006 6:22:20 PM (Eastern Daylight Time, UTC-04:00)

That's Quincy, our new bearded dragon.

Interesting little critter...quite aware of us and of the surroundings; extremely inquisitive and quite cute :-) But also quite a pain in the ass to take care of.

RSS 2.0 Atom 1.0 CDF