Google Can’t Spell, pt 2

It occured to me that if you were trying to remove the Connection header from in the middle of a char * buffer, the absolute fastest way to do it would be to use strstr() to get a pointer to it, then do a byte swap to change the token from “Connection” to “Cneonction”. If you choose to optimize for CPU cycles and not bandwidth, that’s a valid optimization.

The question is, who would be motivated to optimize like that? A content provider pays for their bandwidth. If I caught one of my developers pulling a trick like that, I’d walk over to his desk and wack him up side the head with the 2×4 Of Justice. CPU cycles (especially the 20,000 or so it would take to excise the string correcetly) are cheap compared to bandwidth. I suppose, in fairness, I’d have to make a spreadsheet proving my point before I won the right to whack the developer. But my gut instinct is so strong on this, I’d probably at least shoot them with a Nerf gun before I went to do the spreadsheet.

In a tightly constrained device, like a piece of network hardware where rewrites are happening in a VLSI at wire speed, this would be exactly the right way to implement the task “remove the Connection header while proxying an HTTP request”.

What an interesting example of an engineering tradeoff.

Or it could be that someone typo’d it. But I simply refuse to believe that.

Sending Microsoft Packing

Hpaul turned me on to Mulberry when I was bitching and moaning about something stupid Outlook Express did the other day. I decided to give it a try, and I’m delighted.

In addition to being much faster than Outlook Express, it also supports server-side address books via IMSP. I set up an IMSP server, which was not as easy as one would like, but not too bad either. I arranged for it to run inside of stunnel, so no passwords in the clear.

Mulberry is free for a demo copy with annoying reminders to buy it. It costs about $40, which I gladly shelled out.

I am now virtually Microsoft free* in my home internet life. I use Mozilla to browse, Mulberry to do email, and am starting to use Winamp for videos as well. Of course, the main thing I use computers for is to act as terminals to remote Unix machines. And for that, I’ve always been Microsoft-free, using Putty and VNC.

* OK, not counting Windows XP. But honestly, Windows XP is completely worth the $30 I paid for it at the MSFT company Store. There’s no way it is worth $300, of course. I work at sending Microsoft packing when their products are stagnating, and have killed off the competitors. Windows XP is an example of innovation on the desktop, not stagnation. And the competitors are alive and well, and don’t need my help.

Skipper Jeff

Last weekend I passed my BCC certification, which means that I’m allowed to charter boats up to 25 feet from anywhere in the Bay Area (and around the world, too). On Thursday, I went out on my first solo trip. Our crew worked together well, and we had a good mix of just relaxing sailing, splashing through waves, and practicing. The only problem is that the ladies didn’t get as much time on the tiller as they probably deserved. But it’s difficult to make it fair when people steadfastly claim they are “fine” and don’t want to get involved.

Sunday is my first cruise with beginners. I was trying to be super-conservative and arrange to have an experienced crewman onboard with two beginners. After Thursday, when things went really smoothly, I decided to go with three beginners and me. So, the crew will be Maria, Terence, and Nadine. They are all very sharp, and will pick it up fast, so I’m not worried at all.


Heard at work: “I don’t listen to NPR, they are too conservative. They are National Pentagon Radio.” And in reply: “Or National Pentagram Radio, depending on your point of view.”

Perhaps this wide range of viewpoints is why we can never make any progress in American politics.