The Upside of the McCain Backlash

Funny stuff from United Conservatives’ Cargosquid, which I think generally exemplifies the Virginia conservative Republican sentiment about the upcoming presidential election: F**K YOU MCCAIN! An open letter to the McCain campaign. On the plus side, I admire his honesty. At least he’s not gritting his teeth and pretending to support the party nominee like most hardcore activists would.

In a larger sense I find this to be a hopeful sign for the nation. Because John McCain was elected as the Republican party nominee, it must mean that extreme Virginia conservatives are still a minority among Republicans, so we might not be as close to plunging back into the dark ages as Bob Marshall’s legislation makes it seem.

I also find it comforting that Rush Limbaugh’s audience apparently does understand that he’s just an entertainer. He (not to mention every other conservative talker) pushed hard to destroy McCain, but in the end, those pesky Republican voters made up their own minds without his help.

Tree Topping

This past weekend I topped my first tree. I don’t think I’ll be quitting my day job anytime soon. (Dammit Jim, I’m a programmer, not a lumberjack!) It wasn’t a big tree, so at first I was just going to use a hand saw, but it didn’t take long to realize that I didn’t have the arm strength or the leverage to cut through a 6″ trunk at a point way up over my head. I ended up hauling the chainsaw up and cutting it that way, secure in the knowledge that my life insurance was paid up. As it turned out, I didn’t kill myself so I consider it a success. We’re not so sure the tree is going to survive, though.

Stack Overflow

Two of my favorite modern software development bloggers and role models — Jeff Atwood of Coding Horror and Joel Spolsky of Joel on Software — are joining forces to create a new developer community site called stackoverflow (not sure if that’s the correct casing, but that’s how it is on the site). Because, you know, there just aren’t enough “community” startups on the Interwebs. But seriously: I listened to their inaugural podcast which described their vision for the site and I look forward to seeing what they come up with. I agree completely with their premises: Basically that, a) Developers look to Google for answers to programming problems long before turning to a book, and b) Most of the programming advice you find on current developer forums is anywhere from really bad to dead wrong.

Their podcast needs a little work, though. You had to listen to nearly an hour of rambling to distill out the above points. Joel is pretty clearly one of those bulldozers who likes to talk over people, which I’m sure serves him well in his business, but it’s not very entertaining in the context of a podcast, especially when the other guy has just as many interesting points to make if he were just allowed to get in a word edgewise. Also, one hour of podcasting? How about 15 minutes. Just cut out all of Joel’s rambling and stick to the point.

Internet Safety Classes

Rescued from my Drafts folder…

I actually heard a government idea that sounded sensible one morning on the radio: Classes in Internet safety. Apparently Virginia is the first state to offer such a thing. I disagree that it should be taught to kids as young as kindergarteners, and of course it should not be a substitute for good parental oversight, but I think it’s a good idea for kids to hear from a variety of sources that the Internet isn’t all fun and games.

Best Practices

Rescued from my Drafts folder…

I have to struggle not to roll my eyes whenever I read or hear the words “best practice” used in a sentence. It should be completely obvious why this phrase is annoying to a veteran programmer, but in case it isn’t:

“Best practice” implies that there is no reason to bother looking for a better solution, because the best one has already been found (usually by the marketing department). Any experienced (and truthful) developer will tell you that there is always room for improvement in any software implementation. There is always a faster a way, a smaller way, a more resource-efficient way, a more elegant way, etc. Better terms would be “best practice so far” or “best practice for now.”

“Best practice” also implies that it’s the best solution for every conceivable situation. Unfortunately, in the real world, every situation is different, and the “best practice” might end up being bigger, slower, and more expensive than some other smaller, faster and cheaper “not best” practice. So the phrase needs to be further modified to “best practice for now, in some cases.”


Greg Krehbiel wondered: Is the past real? That’s something I’ve pondered from time to time myself. I’m certainly not an expert on this subject and have read very little about it, but it seems that an argument could be made that only “now” exists. You might think that the past must exist because we can see things now that we know existed in the past (my wife gives an example of a rock from prehistoric times), but I don’t know if that’s enough proof. It only proves that the rock existed, but it doesn’t really prove that “the past” exists. “The past” certainly doesn’t exist “now,” because that would mean the young rock and the old rock exist simultaneously.  I guess this viewpoint makes me a Presentist (as opposed to an Eternalist). It’s an interesting topic to think about, especially in how it relates to free will and religion, but after a while it makes my head hurt. :)

Obligatory Augusta County Post

You have to admit, those Augusta County Republicans sure know how to liven up the Virginia blogosphere.

Oh, and cheat.

Okay, I suppose technically Dr. Michael didn’t cheat to win the Augusta County Chairmanship by holding a second meeting after the first meeting elected someone else. But if this were the gaming world it’d be called an exploit, which is taking advantage of a known bug in the game. It has the same goal as cheating: To circumvent the rules to obtain the outcome you desire (as opposed to the outcome you’ve earned).

Anyway, it’s always fun to read about the exploits of SWAC bloggers, though I feel bad for any legitimate Republicans who live around there. Apparently you can’t even get rid of them by voting them out.

Linux Core Distribution

I got to wondering if there was a way to install just the Linux kernel on a computer without all the useless bells and whistles you usually get in the big Linux distros (which, as far as I can tell, only serve to clone the slow, bloated Windows OS that everyone in the Linux world hates so much — go figure). The closest thing I could find was the (unfortunately) defunct Linux Core distribution.

Basically you burn a small ISO to a CD, from which you can boot into a shell, partition and format your hard drive, copy the Linux source code to it, compile it, and boot it. Perfect! Unfortunately my first attempt resulted in an unusable system, since it wouldn’t recognize my USB keyboard to let me type in the root login. I messed up a build option or something — the number and nature of build options for the Linux kernel is pretty overwhelming.

(You might be wondering why I would subject myself to this kind of torture. It’s research for another one of my crazy project ideas, which I may elaborate on some other time.)

Update: Success! Next I will attempt to get ftp working so I can get and compile a newer kernel.


I’m calling my latest .NET project UvSignalProcessor. This follows UvMoney and UvNotes, if you’re keeping track, and neither one of those is anywhere near finished, so yes, I’m skipping around. But hey, nobody’s paying me for this stuff, so (insert Cartman impersonation) I can do what I want.

The idea came about when I went searching for some software to do realtime guitar multi-effects with my computer, in order to make practicing my guitar at least a tiny bit fun. I didn’t like any of the software I found. Most looked like they had been ported from Windows 3.1 — the interfaces were horrible, and the effects were boring.

What I want is complex control over the signal path and each effect in the path… more than just “on” and “off” and a couple of knobs. I figured it couldn’t be that hard to write some basic signal processing software. Way back in ancient times, I wrote a rudimentary signal processor for the Amiga (in assembly language!) which did realtime effects on 8-bit sampled input. So I’ve done the concept before. This is a great opportunity for me to learn more about Managed C++, which is now called C++/CLI. The idea is to create a speedy signal processing library in C++/CLI which can be controlled with a C# interface.

If this thing works, maybe it’ll force me to play my guitar more often. :)

Carl Sassenrath’s Blog

I recently found out that Carl Sassenrath, creator of the Amiga Exec and (at the risk of starting a holy war) arguably the single most important force for bringing preemptive multi-tasking to the personal computer, writes a blog. He now spends his time developing the REBOL language. (He’s the only former AmigaOS developer that I’ve found who blogs.)