A Protest From My Inner Child

Why is it that, as you progress towards supposedly higher levels in your career, the trainings tend to get more infantile?

When I was just starting out as a programmer, most of the trainings I took were of course purely technical: how to operate a particular database system, how to write software for a particular operating system. The last time I received such a training was long ago, but I remember being generally treated as an adult. The trainer’s communication style would presuppose a certain amount of intelligence and common sense from the students, and we were assumed to be already familiar with the basics of software development until we demonstrated otherwise. Some trainers were better than others of course, but in general they were efficient and useful.

Thinking in Bits

The number 65,536 is an awkward figure to everyone except a hacker, who recognizes it more readily than his own mother’s date of birth.

Snow Crash, Neil Stephenson

A question which I like to use when interviewing C++ programmers: what is the range of a 32-bit integer?

I don’t use this question very often anymore, or at least I don’t let it influence my decision very much (which is why I don’t mind spilling the beans here), because the correlation with other technical skills turns out to be not as strong as I thought it would be. Still, there are some interesting patterns in the kind of people who know the answer versus those who do not.

Among the people who do not know the answer, some of them react quite affronted that they would even be expected to. What is the point, they will ask, in having memorized some little piece of trivia which they could Google up in a few seconds? Isn’t “knowing where to find it” a much more useful skill? Ask me about architecture! Ask me about design patterns and data structures! All of these objections have some validity, and indeed we will certainly ask about those other things during the interview. Still, I believe that it is perfectly reasonable to expect a good developer to know the answer to the above question by heart.

Appropriate Punishment for a Spam King; or, the Aggregate Value of Life

So I read on Slashdot today that Edward Davidson, the “Spam King” escaped from federal prison with the help of his wife.

(Update: it now turns out that after the escape, Mr. Davidson killed his wife and one of his children, and then committed suicide. This blog post, intended as a light-hearted tongue-in-cheek piece, was written before I learned of this. Kind of throws the whole thing in a different light.. Kids, please don’t become spammers — it really isn’t worth it.)

One obvious observation that can be made here is that, unless he is very certain that he will be able to evade justice for the remainder of his life, this was a pretty stupid thing to do: the punishment for escaping from prison is likely to be a lot harsher than the 21 months in minimum-security he received for his original crime.

Another question that came up in the /. comments is whether 21 months in minimum-security prison is an appropriate punishment for a spammer. Many people made the point that, although obnoxious, spamming is a non-violent crime and should therefore be treated less seriously than, say, murder.

I disagree.

Getting VOIP Plus IP Forwarding to Work on the Speedtouch

With my subscription to XS4ALL, I received a Thomson Speedtouch 716 ADSL/Wifi router, currently running software release 6.1.9.6. Behind that router, I have a Linux server which serves as the webserver for the blog you’re reading right now, as well as my mailserver and a few other things. The Linux server also acts as a firewall for the rest of my network:

As you can see, the ADSL router and anything connected to it through the WiFi is considered untrusted: the real access point to my internal network is the Linux machine.

Among other things, the Speedtouch has the ability to support Voice-Over-IP by attaching an analog phone. Unfortunately, this functionality does not work in combination with the “assign public IP to a machine on the local network” setting. Which is a pity, because behind the router is my Linux server, running a web- and mailserver among other things, and I really want that server to have my public IP address. Partly because having the server NATted could cause problems with mail, in particular, in the sense that when I send out mail to another server, some suspicious spamblocker software may take offense if the address reported in the headers of my outgoing mail does not match my actual IP. But mostly because having a web/mail/FTP/whatever server hidden behind a NAT, just feels wrong.

Wheeeeee!!!!

So, this Saturday, I jumped out of an airplane.

The jump was a birthday present for my father, who has always been very interested in everything related to planes. But of course, when we gave him the gift certificate, it went without saying that me and my brother would jump as well.

And it was COOL! All three of us loved it.

Long Server Outage, Some Mail Lost

A week or two ago, the ancient laptop I use as my personal web/mail/fileserver and firewall, suddenly got a bit flaky: it kept running, but all attempts to write to the disk failed. Naturally, this prompted me to get extra conscientious about making sure everything of importance was backed up regularly (my e-mail was already being backed up automatically each day, but I discovered that the MySQL database containing my Wordpress articles was not in the backup set — oops). A reboot fixed the problem, however, so I didn’t run out and get a replacement drive just yet.

However, last Thursday the same thing happened again, and this time after a reboot all I got was the message “primary hard disk not found”. So that’s why my server was unreachable for the past couple of days. It’s quite possible that I lost some mail, too — I have a fallback mailserver through my DNS provider, but I’m not sure that they will have retained everything for three days. If you sent me an e-mail recently and have not received a response yet, please send it again.

Note to Mail Server Admins: Spammers Lie!

This post is not going to contain any original insights into the spam problem, but I need to vent a bit. And, as the title suggests, apparently the news still hasn’t reached all the people it needs to reach, so maybe it won’t hurt to repeat it again.

So yesterday, as happens every couple of months, a spammer somewhere in Pakistan decided to randomly pick the mwolf.net domain as the fake ‘from’ address for his various unsavoury commercial offerings. Which means, of course, that I get a few hundred bounces from well-meaning but naive mailservers, configured by well-meaning but naive admins.

Hello, Anybody There?

Hi all,
I have reason to believe that some of my mail from my mwolf.net account is not reaching the intended recipients. If you sent me an e-mail recently and did not get a response from me, it may be that I sent one but it didn’t arrive. If this is the case, please re-send your message and I will try to reach you though some other way. Alternatively, you can leave a comment on this post. Sorry for the inconvenience.

And yes, I am aware that I have not posted anything new on this blog for the past half year or so..

Firewall Improvements From R. Scott Smith

In response to my article about using the recent IPTables module to fight brute-force password attacks, based on an idea from Andrew Pollock, a reader worked out the idea into a complete firewall script, with configurable whitelisting, the ability to block multiple ports, and several other enhancements. Read his post for the details.

You can download his firewall script here. You can contact the author at the address meetscott at the domain netscape.net.