Navigation: Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7

March 10, 2003

Just say NO to Release Early, Release Often


I tried out Sam Ruby's 3 pane aggregator the other day.   It worked and is a fairly good demonstration of the 3 pane concept.  I was using wxPython 2.4.0.2 .  Today I upgraded to wxPython 2.4.0.4 and ran the application again.  There were some deprecation warnings about using True rather than true.  Good.... wxPython was using a new built-in type.  But then the application crashed 'UnregisterClass(canvas)'.   Umm, this was bad.  After looking at the source-code, I didn't see anything significant that was changed.   Maybe it is something in "Unicode".  So I tried the unicode version to no avail.  I backed off to 2.4.0.2 and everything is fine-and-dandy.


Ok, the experience was unpleasant and silly but it does tell me one thing I should keep in the back of my mind.  The old adage of "release early and release often" widely proclaimed by open source advocates has a very sharp double-edge.  The other edge which stings is that the released software tends to be not thoroughly tested.  Additionally, there is practically none or minimal regression testing that is done.  Regression testing implies that which worked yesterday should continue working today.


There is a lesson here that the open source developers can learn from commercial software developers.  Breaking customer code that use your product as its dependency is a devastating thing.  In the commercial world, the managers make sure you don't alienate customers by doing so.  If you tread forward with this point-of-view, maybe you would think twice about having so many releases.

February 22, 2003

The myth of project planning

There is a new article on IBM's DeveloperWorks:
Demystifying Extreme Programming: Focusing on value
It talks specifically about management issues such as project planning. I wholeheartedly agree with the first half of the author's article about the inaccuracy of project planning. You can scale down the analogy of working on a large scale project to working on a small program. Even when you write a small program, not everything goes as planned or expected. You write, run, debug, iterate, add features, subtract features.... then finally you get to something a little feasable. Take that image and scale it up, add lots more wrinkles and problems. That would be a more precise picture of project planning.

Unfortunately, deep in our hearts more than 90% of us still believe we can predict the future. So we go on making plans, gantt charts, and Microsoft Project files assuming precise accuracy. Then towards the end of a project timeline, the house-of-cards buckles and we all tremble in fear wondering what went wrong.

Right tool for the right job

Have you ever noticed that when you have to perform a certain task, if you don't have the right tool for it, it just makes the task that much more difficult? My Dell laptop is showing signs of age despite my many upgrades since it was first bought in the year 2000. I have an Inspiron 7500 and it was Dell's top-of-the-line laptop at the time. Since then, I have upgraded the memory, hard-disk, and many network interfaces. The major components are now at Pentium III-M, 192M PC-100 RAM, and 40G harddisk at 5400RPM. Still this is not enough horsepower to work with BOA or Komodo (the python editor). I had been trying Visual Studio with worse results. The disk would thrash on for minutes on end and the cursor would not return. Each session would typically end with my becoming very frustrated. However, I think the better path would be not to use those tools on an under-powered machine. It's not the tool's fault that it requires so much resources, or is it?


I remember the same sort of choice in trying to run Windows NT on an 8 Megabyte machine in 1993. You must remember that 8 Megabytes represented a large money investment in your computer back then. If anyone were to look at how the Windows NT machine operated compared to a Windows 3.1 machine, we would be hard pressed to believe that the operating system would survive. It was like trying to drill a hole with a nail or drive a flat-head screw with a philips screwdriver. And yet Windows NT did survive. It went from 3.1 to 3.5 to 4.0 to Windows 2000 to Windows XP. When it comes to computers, it's mostly about the amount of resources that you have. In my specific case, frustration comes because I didn't have enough resources to run the specific tools that I need.

November 06, 2002

New York Times headlines

The feature for reading the New York Times is accessible from the frontpage of jotsite. I have just finished coding a new feature that allows system to separate the entire page into several separate linkable pages. This is much preferable than one single large HTML page since the large page takes too long to load. For slow-bandwidth users, the large page is absolutely unusable since their computer never finishes loading.

October 27, 2002

How to undo the Microsoft brainwash

There is an article on IIS versus Apache (10 things to do with IIS) and more flame on the fire on how much better open-source software is than Microsoft's. Within my software development career of 12 years, I have worked with many software on both sides of the equation. Although there is truth to the technical aspects that says open-source software is generally more robust, it is also true that Microsoft is winning the war. The reason behind the success is NOT within the technical arena. It is within the MINDS of the users. Microsoft, for the past 20 years, have spent untold billions of dollars on brainwashing the public into believing that its software is superior. For the most part, the brainwashing worked. If I were to spend that much money to disguise the fact that the emperor has no clothes, I would succeed too. Just look at the tobacco industry. All someone needs is an infinite supply of money and lots of time (20 years or more). The knowledge that tobacco kill is not exclusive. People have known about it forever. Everyone must know someone who is a chain smoker. It should be obvious when you see the degradation of health that person goes through. Amazing.

The con men of the world know that people are not basically rational beings. We love to think that we are and it boosts our ego to believe that we are higher than the primates for being so. We love to believe that we are driven by truth and will act according to truth. The reality is that truth has no more power over us than the little ant that crawls on your porch. The con men have known ways to BEND the truth. To bend the truth you bend the mind. If someone were to point you at the moon and tell you that it is the sun (most of your life), you would know that the body that rises at night is the sun. 'Tis the sun and not the moon that breaks the night every night. McDonalds have known that. We all know that eating McDonalds at least 3 times a week will make us look like Brad Pitt or Jennifer Aniston, right?

Well, back to software. The way to go about opposing Microsoft is NOT in the technical camp. Even if an open-source solution were perfect, free, easy to use, Microsoft would still win. People would still buy Microsoft, pay the Microsoft tax on each PC, and go about praising the wonders of Microsoft. Why? Because they have already convinced the public. Period. The best way to oppose Microsoft is not to throw more developers at open source. It's not about convincing developers to open source (the developer pool is very small anyways and is negligible). It's about letting people know that the emperor has no clothes. It's about trying an open source solution and telling as many friends as you can your honest opinion. That's how we undo the brainwashing. That is why Microsoft is so afraid of the Internet. That is why China is so afraid of the Internet. It gets the truth out and undoes the years of brainwashing.

September 25, 2002

Rise and Fall of C++ and Java

As we all know, anyone involved in technology has been in a funk for the past 2 years. This is especially true for programmers with C++ and/or Java sphere. Take a look at this graph of programmer demand in Silicon Valley.

July 25, 2002

Internet Software discussion

Sonny and Hoang have begun an on-going discussion on Internet Software. To read or participate in it, just click on the link.

May 29, 2002

Advice on a programmer's life

Here is a wonderful article written by Matt Gullett: The Standalone Programmer - Tips from the trenches. Many seasoned folks can sympathize with the processes and situations that he describes. Furthermore, I agree that some of the few good habits that you can cull from the experiences can make a big difference in the progress of your life in the programming arena.

Programming today is such a large arena encompassing from doing assembly on an 8051 or 6802 to writing device drivers on Windows XP for a proprietary piece of hardware to developing web applications for a company. However, the general wisdom and approaches to problem solving are basically the same. A good approach is not to be too entrenched in the details and try to have a wider perspective.

April 18, 2002

WebScraping

In our world full of technical jargon, there is a new one on the horizon: webscraping. Intel is spearheading this effort and this is a piece on WebScraping. Basically it parallels the concept of webservices but to a rudimentary extent. WebServices points to reworking of existing services and providing interfaces (new or existing)whereas WebScraping involves mining for existing (legacy) interfaces and reusing them in a modified way. Either way, both methods are essentially tools to allow reuse of services provided by the internet.

Navigation: Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7