The Little Hacker's Room - Changing the world, one bit at a time

XKCD Hommage #1

Secret identity of the C Programming Language creators

Thanks for my cow-orker for pointing this out.

Here is a creppier one.

Another election

Another election, another battle of wits between turnips.
Another election, another match of hockey for phonys.

Filling their pockets with our money.
All wasted on their friend's sprockets.
Thank god for democracy.

Fun with x509 and CAcert

Return-Path: <joe@x2a.org>
X-Original-To: joe@x2a.org
Received: from [IPv6:2001:4830:111f:2::] (spinoza.ipv6.x2a.org [IPv6:2001:4830:111f:2::])
(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
(No client certificate requested)
(Authenticated sender: joe)
by metal.x2a.org (Postfix) with ESMTP id B9BD9834705
for <joe@x2a.org>; Mon, 22 Sep 2008 22:38:13 -0400 (EDT)
Message-ID: <48D85690.6090605@x2a.org>
Date: Mon, 22 Sep 2008 22:38:08 -0400
From: Jonathan Bastien-Filiatrault <joe@x2a.org>
User-Agent: Mozilla-Thunderbird 2.0

Pleasant surprise

Recently, while reviewing my mailing lists subscriptions on http://lists.debian.org/, I noticed that the incoming mails were received by IPv6, much to my surprise. This confirms that my whole mail system (Postfix + Courier IMAP) is fully IPv6 capable.

A pleasant surprise indeed !

Mandelbrot in scheme, now in Block Structure™

#!/usr/bin/env guile
!#

(define (mandelbrot left right bottom top)
(define cols 78)
(define rows 39)
(define iter 36)
(define (density n)
(cond ((= n iter) #\ )
((and (>= n 0) (<= n 9)) (integer->char (+ n 48)))
((and (>= n 10) (<= n 36)) (integer->char (+ n 35 -10)))
(else #\.)))

(define (mandelbrot left right bottom top)
(do ((i 0 (1+ i))) ((>= i rows))
(do ((j 0 (1+ j))) ((>= j cols))
(let ((x (+ (* (/ j cols) (- right left)) left))
(y (+ (* (/ i rows) (- top bottom)) bottom)))
(write-char (density (let lp ((c (make-rect

Distributed caching with memcached

A fellow cow-orker mentioned memcached at work today. The API seems rather simple and easy to use and BDB-like for data access. Slashdot, Wikipedia and Facebook are already using this tool to speed up web site access.

With such a nice little software package, all I need is a reason to code, hehe.

Finally got mein Das Keyboard

After five days of UPS futzing around with the delivery (you know, border fees, showing up on lunch hour, not having any change for the fees, etc...) I have finally received my Das Keyboard.

I am typing this post on the new keyboard and it has a very satisfying feel, with a sweet clicky sound. Typing is now effortless and the computer feels like a brand new appendage.

Fun with IPv6 cont.

Yesterday, I configured a whole IPv6 network, complete with a multi-subnet tunneled architecture.

As far as I can tell, the new network works reliably with little latency penalities. I was surprised at how easy the setup was, considering my limited IPv6 routing knowledge.

If you are hesitating to upgrade to IPv6, here is a good reason: soon there will be a bunch of high-quality porn available only on IPv6. You may want to substitute another reason when you talk to your boss about it though.

IPv6-ly yours, Jonathan