Browse by Tags
All Tags »
Random (RSS)
Using my last example, Stuart Ballard pointed out that using inline returns is another way to avoid the uninitialized variable mistake: if (hwndParent != NULL) { if (fFoo) { return DoOperationWithFoo(hwndParent); } else if (fBar) { return DoOperationWithBar(hwndParent);
Read More...
Here's another micro-optimization that I'm not very fond of. I should note that we don't really obsess about these things too much internally - in general we have established coding practices and only occasionally debate a few debatable things, usually
Read More...
In yesterday's post I gave an example of a bug where an attempted micro-optimization combined with a common C++ idiom causes a fairly subtle bug. For those who didn't look long enough to catch it, the flaw was in these two lines: BOOL _fRaining:1; _fRaining
Read More...
A lot of things have been said over the years about premature optimization, and after running into the following bug I thought it served as a good example of a type of premature optimization that I call "micro-optimization". That is, doing something quirky
Read More...
Last fall I purchased a digital SLR: the popular (and relatively inexpensive) Canon Rebel XT. I had been dabbling with digital cameras for a few years and was having increasing amounts of fun using the limited manual controls of my Canon S50. As a technical
Read More...
Eric Sink has a good article on the process of triaging bugs. In it he pokes a little bit of fun at the people who don't understand why all good software ships with known bugs and then discusses a process for determining which ones to fix. Determining
Read More...
A little rant to prove I'm still alive. :-) Here's a pattern I see every now and then that makes my brain explode. This is a simplification, but the two bools that are named exactly the same except the word "Dont" are real, as is the "partial assert"
Read More...
One interesting change I discovered in XP SP2 was that Subspace Continuum -- the first and (by far) best massively multiplayer online game -- now runs on XP without entering an infinite loop trying to launch the process. This only repro'd under certain
Read More...
For best performance, you should make sure to break in your cables. Otherwise, you may be getting substandard audio performance and transfer rates - I hear that breaking in your modem cable will let you get 64kbps out of a standard 56k modem!. ;-)
Read More...
As others have pointed out , Microsoft has made available a free download of Expression 3, apparently acquired from Creature House. My first impression, having only played with it during breakfast and lunch, is that it's a very cool app. It has a standard,
Read More...
I'm not sure when the changes happened, so this could be really old news, but I was pleasantly surprised when I visited http://my.msn.com today. It's always been configurable, but now it's pretty slick. You can easily add and remove content modules that
Read More...
Check out these features: Supports MP3 and WMA (and mounts as a hard drive) 4 GB storage 10+ hr removable lithium-ion battery Size is 3" x 2.5" x 0.4" for the one standing up, 2.4" x 3.1" x 0.4" for the one laying down. Around the size of the iPod mini,
Read More...
I'm not sure if anybody else has this problem, but after I have used XP for a while the menus seem to revert to an ugly 3D look instead of having the clean, flat border. No amount of tweaking seems to get back the flat menus except going back to the original
Read More...
On his blog (and in a comment on my 120 DPI post ) Omar points out a super-secret registry tweak make IE do extra scaling in high DPI mode . IE already adjusts for well-written web pages, but if you're using high DPI and still feeling cramped on some
Read More...
Scoble and Dudley are having a debate about fonts and I can't help but think the little screenshot isn't enough to go on. For one, it's clear that Japanese fonts are not rendered using ClearType, so that's a topic for a different day. Right now I want
Read More...