Why TRAX is Dumb

Cato’s daily commentary yesterday, Light Rail Doesn’t Work, is a good summary of why TRAX is a stupid idea and won’t ever be anything else. Back when TRAX was proposed, the alternatives made more sense: restructure the bus system, deregulate the taxi cab industry to encourage competition and lower prices and so-on. The so-called advantages of TRAX haven’t materialized in Salt Lake City, just like they haven’t materialized in any other city with light rail. Just think about it: if TRAX were such a good idea and were economically viable, then the government wouldn’t need to steal money from me in the form of taxes in order to built it and run it. It would already have been built and operated by a private company for a profit. There was a time when Salt Lake City had a profitable equation for rail lines, but its been at least 60 years since the equation made any sense. But UTA is hell-bent on empire building and a light rail line is more prestigious and bragworthy than market solutions or cost-effective alternatives.

Ah, Kathy Griffin, my new love….

Say Suck it for me one more time, baby….

Suppressing F5 Refresh in MFC’s CDHtmlDialog

OK, so you’re all giddy about this new HTML thing — now you can make dialogs with just HTML markup!  Great, so you’ve got your MFC application and you write your own dialog class that derives from CDHtmlDialog, you create your markup for the dialog and you’re all set.  Then you let your testers have at it and they discover that pressing F5 invokes the embedded web browser control’s refresh operation and your page displays wrong.  What to do?  Well, you have a couple choices: 1) you can figure out how to reliably refresh the HTML from the application, or 2) you can suppress the refresh operation because its essentially meaningless, since any updates needed to the HTML will be done directly by the application.

Read the rest of this entry »

The Assumption of Guilt

Today I came across this comment in a bit of open source code I was trying to compile:

This is the STL header.  Because Microsoft makes it hard to use STL and no longer automatically installs the STL files, we supply the necessary ones with our source code.  They are these *.H files (no *.C or *.CPP files): algobase.h, bool.h, defalloc.h, function.h, iterator.h, pair.h, and vector.h.  More STL *.H files exist, but the ones listed are the only ones needed to make vector.h work. I might mention here that Microsoft’s motivation for withdrawing support of STL is probably to push programmers to use the Microsft [sic] CArray class, which entails using MFC.  According to some of my students using BoundsChecker, the CArray class as [sic] a memory leak as implemented.  This would be typical of Microsoft, to greedily undermine a stable industry standard to push the use of their own in-house standard, and to then implment [sic] this new force-fed standard in a buggy way. RR 5/19/98.

I find this is the typical attitude of the “Microsoft haters”.  If you disagree with their attempts to characterize everything that Microsoft does as a greedy power grab, then the haters label you as “Microsoft fanboy”.  To blindly defend as well as to blindly criticize are two sides of the same false coin.  To some, it is simply fashionable to criticize everything Microsoft because Microsoft is the industry giant.  In decades past, the fashion was to criticize everything IBM for essentially the same reason.  Does anyone remember that the big “monopolizer” accusation used to fall at the feet of IBM before it fell before Microsoft?

Read the rest of this entry »