Bush's talk on moonbase and manned mission to Mars is just what a dopehead might say dreamily while blowing smokes. The total bill is likely to reach 1 trillion dollars. Where is the money? There is no money and, even if there was, NASA is not going to see much of it. Instead, NASA will be asked to sacrifice its other programs to chase this pair of smoke rings. Meanwhile, our children will be forced to cast aside the growing burden of social security, leaving us old and poor. Bush opened this can of hoopla because he is afraid of ending up like his father in the upcoming election. Wake up I say.
Month: January 2004
Loving Norah Jones
I tend to listen to same songs over and over with my eyes half-closed. Many of the songs I am enjoying of late are Norah Jones songs. She sings very well but I enjoy her songs because they are easy to sing. Here are some of her songs I like:
- Come Away with Me (let's runaway sleepyhead)
- Don't Know Why (jogging clueless)
- Lonestar (best on horseback)
- One Flight Down (slow moody swaying)
- Shoot the Moon (twangy guitar makes wonderful bow)
- Cold Cold Heart (nice nice rythm)
If you haven't discovered Norah Jones yet, check her out.
Naming for Performance
One of the not often discussed cause of slow performance is careless naming.
When you are naming a method that does more than get or set some value, try to avoid a name that might mislead the caller into calling it multiple times instead of saving it to a local variable. For example, if a method is named GetTopicName, the caller is not going to expect it to search for the value and instantiate many objects in the course of doing so. Instead use a name that implies and warns the caller about the cost of the method, like FindTopicName or CalcPrime.
When using a language that supports properties like C#, try not to turn heavy methods into properties. Property getters and setters should be light operations. If you have to, then try to precalculate the value and update on change via event handlers. Failing that, try to warn the developer using documentation so the developer can use the property accordingly.
One caveat: Guidelines are not meant to be straightjackets. Don't do it if you can't do it.
Longhorn Feature Request: Categorized Add or Remove Programs List
One thing that annoys me about XP is it's Add or Remove Programs list. It just gets really crowded over time as more and more software gets installed and, well, gets to a point where it is easier not to uninstall some unused program because it's tedious to locate it in the list. Windows Update doesn't help either because every update gets added to the list as well.
Please add categorized view for the list so we don't have to see applications, development tools and components, gadgets, utilities, and patches next to each other. While you are at it, add Recently Installed category as well and place it at the top of the categorized view. Oh, yes. Entries should be able to appear in multiple categories. As far as taxonomy is concerned, I can live with one Microsoft dictates.
iRider and Great Satellite Images
If you are a fan of tabbed browsers, checkout iRider. It's not free ($30) but it is a sidebar-based browser that works pretty good. It also will load several pages simultaneously. Even if you don't like it, you can at least simulate how browsing experience changes when connection speed and server capacity becomes infinite. It's pretty addictive stuff. BTW, iRider sucks up a lot of memory when large number of pages are loaded simultaneously.
One of the example iRider Book (page set) contains pages from NASA Earth Observatory. You gotta check it out even if you don't want to try iRider. Amazing pictures (it's at its best when using iRider, trust me)! I am happy that some of my tax dollars made those pictures possible.
Ayn Rand on Ethics
In “The Virtue of Selfishness”, Ayn Rand wrote:
Ethics is not a mystic fantasy—nor a social convention—nor a dispensable, subjective luxury. … Ethics is an objective necessity of man’s survival—not by the grace of the supernatural nor of your neighbors nor of your whims, but by the grace of reality and the nature of life.
I wish I could write like her although her sentences often feel one size too big for me.
Tracing ISAPI Extension in IIS 6.0
Woo. I just found this gem of an IIS 6.0 feature while hopping around for info prior to writing an ISAPI Extension for IIS 6.0. It's called IIS 6.0 Enterprise Tracing for Windows:
Windows Server 2003 includes Enterprise Tracing for Windows (ETW), a new framework for implementing tracing providers that can be used for debugging and capacity planning. IIS 6.0 implements a number of providers to trace key transitions and the progress that an HTTP request makes as it moves through the IIS service framework. These providers include the following:
- HTTP Service Trace. This provider traces new connections, new HTTP requests from a given connection, HTTP kernel cache hits, application pool routing, and HTTP request completion.
- IIS: WWW Server. This provider traces the transition of a request from HTTP.sys to the worker process, start and stop events surrounding Common Gateway Interface (CGI) requests, and the transition of a request back to HTTP.sys from the worker process. This information reveals the type of request that is being processed.
- IIS: SSL Filter. This provider traces calls into and out of the SSL Filter, which is used for SSL traffic.
- IIS ISAPI Extension. This provider traces the transition of a request into and out of ISAPI extension processing.
- IIS ASP. Traces the start and completion of the execution of an ASP request.
These tracing providers allow you to follow a request through all of its phases. This information is very useful in the problem isolation phase of troubleshooting. For example, ISAPI filters can often cause delays or hangs in HTTP request processing. The tracing functionality can help to determine which ISAPI filter is causing the delay for a given request.
Nice! It's a bit beastly to use and there isn't a GUI tool to display the trace logs prettily so my eyes won't cross, but it's will come in handy when I find myself up the creek wearing a blindfold.
An Apology
As you might have noted, my personality has a sharp edge that occasionally surfaces. Sometimes I try to hide them with humor but that edgyness can be tiring. If it's tiring to me, it's must be tiring you too. So I would like to apologize and hope my other sides can make up for some of that.
The good news is that I am getting better. No less than five years ago, I used to have a deep angry ridge between my eyebrowse. Now it's not there any more, leaving just the extensive network of laughing lines around my eyes. Hopefully, my face will resemble the Laughing Buddha by the time I croak. Yes, I am working on the bountiful potbelly too.
Scratching Nasty Blogger
After reading Mark Pilgrim's latest post in which he dragged XHTML into the bad feed handling discussion and tried to instigate a fight by making it look like Tim Bray insulted others, I felt pretty upset and my opinion of Mark dropped down a few notches. Then this morning, I found out via Dave that Mark is blocking traffic coming from Dave's blog. That drops my opinion of Mark down to the gutter so I removed him from my blogroll.
Put me on your blacklist too, Mark, because I finally had enough of your nasty antics. No matter how much fancy Python script you write, you'll never be able to refill those holes if you keep digging like that.
O’Neil the Chicken
Too bad O'Neil is backtracking on his accounts of the Bush administration. His words matched my expectation of Bush perfectly. When Bush got elected, I expected him to look for excuses to attack Iraq. And I would have been surprised if he paid attention to anything other than the Bible and the picture of Saddam Hussein after he got to the White House. Baloonfoot indeed.
I think O'Neil spoke the truth and now he is acting like a chicken. The sad thing is that I am not surprised. Only thing missing is Osama bin Laden announcing that he attacked America because he learned of a secret plot by Bush to invade and occupy Iraq. Sheesh. I'll bet Arnold the Terminator would make a much better President than Bush.
BTW, check out the 30 second ads at Bush in 30 Seconds site even if you are pro-Bush. Ads oversimplify as usual but they are hillarious and very well done. I am impressed.