Bye-bye, Spaghetti Machine

The Spaghetti Machine with its little black boxes is going back to the people who loaned it to me. :-(

Popup Assassin

I’m thinking of implementing something like Vipul’s Razor to block popup ads on the web instead of email spam. I already have a Proxomitron filter that uses a manually-maintained list of patterns to block the popups I personally encounter often, but it will always be an incomplete list. What might be really cool would be a network of Proxomitron-like filters, exchanging information about popups so that only the first few users actually see them before the whole system “learns” to block that particular source for everyone. It shouldn’t be too hard to make it so the users just cut and paste the complete URLs of popups and the system does the rest to figure out how to turn one or more such URLs into an appropriate pattern to block the popup without blocking legitimate content.

On a related note, it seems that the Proxomitron website has become the victim of a DDoS attack. That’s kind of scary, because it seems to me that the most likely culprits are the purveyors of the sort of browser-fungus that Proxomitron was designed to expunge. How low will these people go, in their ongoing attempt to deny us our freedom to choose what we view on the web?

Leaping Locusts

Someone on LambdaMOO created a version of the “Leap of the Locusts” puzzle, which can be described as follows:

The puzzle consists of a board with holes for nine pegs. There are eight pegs, initially arranged as GGGG-YYYY, and the goal is to have the board look like YYYY-GGGG (swapping the green and yellow pegs). On each move, a peg may move either one or two positions into the empty space; green pegs may only move to the right, and yellow pegs may only move to the left.

Instead of solving this manually (it’s really not that hard) I decided to program my Protocol Explorer to solve it. I found one small bug in PX, which I fixed, and then it found a solution in approximately nothing flat. I’m so proud of my child. :-) Anyway, I’ve added the description file to my list of PX examples.

Why a Platypus?

Recently a lot of people have been asking me why I chose a platypus as my totem or “spirit helper” or heraldic symbol or whatever. I’ve been meaning to write down an explanation for a while, but I wanted to set my thoughts in order first because the answer is kind of complex and (until now) something I hadn’t really articulated even to myself.

Platypi are cute, and they’re strange. That’s a good start. Furthermore, their strangeness is of a particular category-defying nature. They’re not quite this, not quite that, always on the fringe, sort of breaking the rules by refusing to fit our established notions of which is what. Now we’re getting closer to the heart of the matter. The truth is, the platypus is the ultimate hacker’s animal. It’s like God took a bunch of spare parts, some of which He had left over from other animals and some of which He hadn’t found a use for yet, and decided to see what He could make of them. Maybe even He was surprised by how well the result worked. Instead of being the barely-functional mess you’d expect from such origins, the platypus is actually quite an impressive creature. A platypus is far from ungainly in its element, to which it is well adapted and where it is a very effective hunter. It even has a certain grace and – as I mentioned before – it’s quite cute in its own way. A platypus is something that shouldn’t work, but does. What better symbol could there be for someone who has always harbored a passionate interest in innovative solutions and unexpected outcomes?

New Bridge, New Restaurant

Cindy and I went to see the Leonard P. Zakim Bunker Hill Bridge – the most visible part so far of the infamous Big Dig (officially Central Artery/Tunnel Project). We weren’t alone; about 200,000 other folks waited in the rain for hours – two of them, in our case – to see it. It was pretty cool. There would normally be no provisions for pedestrian traffic (an odd oversight, if you ask me) so this was a rare opportunity to see up close and personal how the bridge is put together.

Afterward, we went for an early dinner at Ajanta, an Indian restaurant right near where we both work (and had parked for our trip to the bridge). Normally I wouldn’t bother telling the world where I had dinner, except that the food was amazing. My tastebuds have gotten pretty jaded over these many years, but they were getting up and dancing for this food. It was just that good. If you ever happen to find yourself in the Kendall/Cambridgeside/Lechmere area with a hankering for Indian food, I can highly recommend Ajanta as a destination.

Fan Hacking

I did some hardware hacking this weekend. My new SV24-based machine (“Precious”) is certainly a lot quieter than my slightly older classic Athlon machine (recently renamed “Sauron”) but still not quite silent. Having already done away with the CPU fan altogether and determined that it was safe, I made the exhaust fan my next target.

When I first bought Precious, I also bought a couple of replacement fans that were supposed to be quieter…except that they weren’t, so I left the original fans in place. On Friday night, though, I decided to do Experiment #1 to see if I could reduce the noise from the exhaust fan. This involved hacking a power-supply connector so that the +5V pin was where the +12V pin would normally be, then plugging the exhaust fan into that through a common-as-dirt connector that has the male end of a three-pin fan connector on one end and a pass-through (hermaphroditic?) power-supply connector on the other. The fan turned, but it was hardly pushing any air and testing quickly revealed that it was insufficient to keep the temperature down.

On Saturday, I moved to experiment #2. Based on instructions originally written (and available many places) for hacking the power-supply fan, I hacked the connector again so that the +12V pin was where it should be but the ground for it was replaced with the +5V pin. This yields +7V, in a slightly non-kosher kind of way. I plugged the exhaust fan into this, but the results were pretty much indistinguishable from the 5V test. Drat.

Then I had a micro-inspiration. Do you remember that replacement fan I mentioned earlier, the one that was actually noisier than the one I got it to replace? It’s a ThermalTake TT-6025A-2B, in case you were wondering. Well, it was louder than the original fan at 12V, but it was also pushing a lot more air….more air than I needed. Hmmm, says I. I hooked up the replacement fan to the hacked 7V connector, and…voila! The result was a fan that pushed (as near as I could tell) exactly the same amount as the original fan had at 12V, and was darn near silent doing it. Perfecto. Tests confirmed the equivalent cooling performance, and that’s how Precious is configured right now.

The only remaining noisy component is the whiny little power-supply fan. As it turns out, I do have a replacement fan that’s exactly the same size. Like the replacement exhaust fan, it’s louder than the original power-supply fan at 12V, and this one wouldn’t even run at 5V, but at 7V is seems to push an entirely adequate amount of air, almost silently. The question is: do I want to take the dangerous and irreversible step of actually hacking my power supply. The original fan is hard-wired into the power supply (no handy connector) and runs at 12V; replacing it with my 7V wonder would involve some not entirely trivial fiddling with power-supply guts. I might actually go a different route, powering the replacement fan from the same external connector I’m using for the exhaust fan instead of from the power-supply internals. Besides being safer, this approach would have the advantage of being somewhat reversible (just plug into an unhacked external connector to get 12V again).

But I probably won’t do that at all. While it would be cool to have an almost totally silent PC, power-supply hacking is a more serious endeavor than what I’ve done so far and the actual effect on my computing experience would be pretty minimal. I just don’t get much “bang for the buck” unless I mess it up, which is quite likely since I’m pretty wimpy at hardware stuff. In that case I get a very different kind of bang and a very expensive doorstop, and the risk doesn’t seem worth it.

Platypus Love

I found an interesting collection of platypus info, and a couple of new pictures, at platypus love. It’s always interesting to see who else is interested in platypi, and why. We’re a weird bunch.

Largeness, Part II

Speaking of big, this site has reached a new milestone. The number of hits I get has increased steadily to the point where it’s quite likely that I’ll exceed my 1GB bandwidth limit this month. Not surprisingly, my platypus picture collection accounts for a large chunk of that, so I might be resorting to thumbnails soon. I might also upgrade my hosting package to the 50MB, 10GB/month version instead of the ultra-cheap package I’m using now.

Look How Big I Am!

Have you ever wondered what I think of SUVs? Well, wonder no more. Here’s a very simple graphic depiction of what I consider to be their function in their owner’s lives (idea from Cindy):

Ford Excursion Frilled lizard

The lizard image is from Trishan’s Oz Page (new link as of 2010-06-19), which also has a couple of decent platypus pictures. I’m serving it locally because I don’t want to suck up Trishan’s bandwidth by linking. In contrast, I think Ford can afford to serve a linked copy of the Excursion pic.

Nobody Cares About Your Typedefs

OK, I have to say it. Sorry, David. Delving into arcane details of an algorithm, or even talking about particular problems/solutions in your current project, is a fine thing to do in a technically-oriented weblog, as long as the information provided might be of use to other readers. However, filling up your weblog with project-specific design details – even actual code – is just lame. It comes across as an attempt to fill up space and appear busy using cut and paste, without the actual effort of writing something new.

Yeah, I know…it’s your weblog, I don’t have to go there, etc. You didn’t have to come here and read this either. :-P However, if you take any pride in your weblog as a showcase of your ability to amuse or inform others (and let’s face it, what weblogger doesn’t?) then you won’t fill it up with boilerplate that neither amuses nor informs but instead detracts from the original thoughts that brought people to your site in the first place.