20 Mar, 08
I have a growing urge to get away, get out, meet new people and generally take my mind off $WORK.
Don’t get me wrong, work is good, we’re doing cool projects, but as a small company without VC backing or anything, it is all too often that you limited resources prevent you from doing the next cool thing. So, I want more resources to hire more good people.
More generally speaking, I want to meet more good people, but I don’t really know where to start. I missed some web-2.0 / open source / social commerce / etc. type events after moving, which sucked. I’m hoping to catch the next few, sitting in Starbucks and chatting with fellow geeks and geekettes about geeky stuff. Less slouch-coding, more exchange of ideas, more shared projects, more collaboration… too bad all that stuff happens in the city center, and I live on the fringes. The cat is happy, but it doesn’t exactly help with meeting people.
Yes, I said it. I feel lonely. I don’t have as much time for myself, making friends, or just stroking the cat as I would like, and it annoys me, not the least because I keep thinking that I could do it all better, if only I would try harder.
And then I try to convince myself that that’s rubbish.
05 Jul, 06
[lang_de]Dieser Eintrag ist nur auf Englisch verfügbar.[/lang_de]
hostip.info is a free GeoIP service. Unfortunately their webservice is slow and they are in the middle of a backend change (from 256 ip_X tables to one table listing all /24 nets…). However, their information is more exact than that of countries.nerd.dk.
To convert the data from hostip.info’s format into something remotely sane usable, you have to merge the ranges into CIDR-blocks per country. If you don’t do that, you’ll get a 160MiB result file which will take ages for ip2countryd to process. With proper optimization and merging, though, the resulting file is barely 4MiB in size and ip2countryd loads like a breeze.
- ip2countryd-r3.tgz 12KiB
Revision 3 of ip2countryd, minor changes, includes a script to convert hostip.info CSV dumps to rbldnsd format.
- hostip-data.tgz 1.1MiB
The current dump from hostip.info in rbldnsd format, including the cached version.
The test service at udp://ubermutant.net:8000/ has been updated to r3 with the hostip.info db.
Now, for the rant. hostip.info used to use 256 tables in their DB - one for each class A network. Inside each of these tables were two columns for the second and third octet of the IP. Luckily, they got better and away from this inane structure, switching instead to one table that holds the IP in a single INT column, as a long. But they still store one record for each /24 subnet in existence, plus some invalid and reserved ones (0.0.0.0/24? righto!). I don’t know how they query this monster, since the new site source is not yet available in their SVN, but I’m not sure if I even want to know. The sanest possibility I can think of right now is to take the lower 24 bits of the query and look that up. That still leaves one question, though: Why, oh why, must this be done in gigantic MySQL tables and for every single class C subnet?
Sometimes, a database just isn’t the best solution.
03 Jul, 06

Which OS are You?
[lang_de]
Hurrah. Hat irgendwie was von Horoskopen.
Eigentlich teste ich nur das Polyglot-Plugin. Es funktioniert, aber der Code schreit eigentlich nach einem Rewrite… später.
Augen nach oben rechts wenden, lustige kleine Flaggen sehen, ausprobieren, und hoffentlich keine Fehler finden… jetzt. ;)
[/lang_de]
[lang_en]
Huzzah. Feels a little like horoscopes.
Actually I’m just testing the Polyglot plugin. It works, but the code is literally screaming for a rewrite… later.
Look to the upper right corner, see the nifty little flags, try them, hopefully don’t find any bugs… now. ;)
[/lang_en]
03 Jul, 06
[lang_de]Dieser Eintrag ist nur auf Englisch verfügbar.[/lang_de]

And all this just because freedb.org shut down.
07 Apr, 06
Ever wanted to know the statistical distribution of digits in π?
Just in case:
$ wget -O - http://www.gutenberg.org/dirs/etext93/pimil10.txt | grep -v '[A-Za-z]' | sed -e 's/[^0-9]//g; s/./\0\n/g;' | sort | grep -v "^$" | uniq -c
Click here to support me being silly.