April 2003 - Posts
Yesterday my 4 year old newphew that I live with got lost in the woods and was finally found after 4 hours of searching by over 100 people, including the State Police, local Fire & Rescue team members, and other concerned citizens. It really was a trial of the mind to get an email telling me to come home immediately and help search for him. I almost killed myself and a few others I was driving so fast. But when I finally arrived 2 hours later he had just been found. I broke down into tears. Thinking about what could have happened drove me mad and having a 10 year old daughter myself I know the tremendous feelings that arise with a young one. Fortunately it's over and we are much the wiser. Apparently he thought he was frodo off in the woods on a journey (He loves LOTR). He even told the police he saw an Orc in the woods :-)
After 2+ years of hard work on an Open Source project with a colleague we have come to find out that our code has been packaged as a commercial product and sold. This would be ok if not for the blatant copyright and license violations by the commercial vendor. The application is licensed under the LGPL and I hope to rectify the situation soon without having to take legal action. Most likely this is a misunderstanding of the LGPL license by a developer like myself and we can have them work within the boundaries set by the license and they can still make a profit on their efforts to package and market it.
Erick Sink has a good article on Abstractions related to .Net and the risks associated with using Abstractions.
In observance of the 10th anniversary of Mosaic Eric Sink has written a very interesting piece from an insider's perspective of the browser wars and how Spyglass Mosaic eventually became Internet Explorer.
Talking about the turning point in the browser war:
For the development of IE 4.0, a new Program Manager appeared. His name was Scott Isaacs and I started seeing him at the HTML standards group meetings. At one of those meetings we sat down for a talk which was a major turning point for me and for Spyglass. Scott told me that the IE team had over 1,000 people.
I was stunned. That was 50 times the size of the Spyglass browser team. It was almost as many people as Netscape had in their whole company. I could have written the rest of the history of web browsers on that day -- no other outcomes were possible.
Eric Sink later left Spyglass and went on to found SourceGear, creators of the popular SourceOffsite product and one of my favorite companies to watch grow.
Wally adds another coffin to the nail of programmers like myself ever being "Good Programmers" in the development community. Regardless of my merit or the work that speaks for itself I will always be looked on as just not quite good enough because I lack a degree. This is exactly why I am going back to college this summer and finishing my degree (I only have about 15 credits to date). I pray that one day I can have that piece of paper on the wall and finally be received by my colleagues as an equal. Until that day all I can do is try and improve my work and ignore the ill comments.
.Net SDK 1.1 and Nant
On a different note this week I hope to finally get the .Net 1.1 sdk installed on my home machine and all of my latest builds using it. The latest version of Nant has been released and I hope to use this to build the latest version of Opensmtp.
Also, in my last post I spoke about asynchronous programming and I found a great paper (PDF) from Don Box on the subject of asynchronous programming and how it relates to the .Net framework / CLR. (This paper is mirrored at my personal site).
Refactoring to Patterns
I haven't had a chance to read all of Joshua Kerievsky's Refactoring to Patterns paper by but from what I've read so far this is a good tutorial on how to refactor your applications using common design patterns. I have always been a less is more programmer and embraced the philosophy of only build what you need now and the fine balance between flexibility and simplicity. In this paper he explains not only how to refactor to common design patterns but more importantly when to refactor "being careful not to produce overly flexible or unnecessarilly sophosticated solutions". Again, good stuff ;-)