WTF, I’d a nightmare few days ago, and it seems it is going to realize soon. Now lets wait for 1306 😦 . And I hope to see some awesome hacks out of it 😉 .


Machines are always better than humans.


While reading a paper which deals with kernel stuff, I encountered word knew in a sentence, which I somehow found odd and unknowingly pronounced as kay-new (like some kernel-level memory allocator ;)) in my brain, until few seconds later I realized, its knew (simple past form of know) 😦

Zen Koan ?

(Scenario: D, along with his relative RoD (relativeOf D) went to see a girl for his marriage, quite common in indian cultures)

RoD (commenting about the girl): She is not fair...
Deesl (in his M-x zen-mode): Fair Enough

And after hearing this, RoD is enlightened.

Broken webserver of Google Code

% curl -I
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=UTF-8
Set-Cookie: PREF=ID=913587349124edb1:TM=1267030254:LM=1267030254:S=gPkLxJgB22UJHzXo; expires=Fri, 24-Feb-2012 16:50:54 GMT; path=/;
Date: Wed, 24 Feb 2010 16:50:54 GMT
Server: codesite_downloads
Content-Length: 1389
X-XSS-Protection: 0
% curl 2>/dev/null |file -
/dev/stdin: bzip2 compressed data, block size = 900k

This is really crazy sending 404 to HTTP HEAD requests, while 200 to HTTP GET requests, causing wget to break, which performs HTTP HEAD before HTTP GET to get value of Content-Disposition header.

Converting existing OPTIONS to FreeBSD portconf format

If you started using under-documented ports-mgmt/portconf software to manage options of your ports, and looking forward to convert existing /var/db/ports/${PORTNAME}/options files to its format, then check out following script, I hacked:

% cd /var/db/ports;
% for i in *; do \
>        name=$(echo /usr/ports/*/$i |sed -e 's/distfiles\/[^[:space:]]*//g' -e s/\/usr\/ports\///g);\
>        cat $i/options  |gawk '!/#/ && ! /^_/ { print $1" | " }' |xargs echo $name: ;\
> done |sed -e 's/^[[:space:]]*//g' -e 's/|[[:space:]]*$//g' -e '/:[[:space:]]*$/d'

I originally hacked it on GNU/Linux, and I think it needs lang/gawk port because of gsub function, but I’m not sure.

Wadler’s Law

      In any language design, the total time spent discussing
      a feature in this list is proportional to two raised to
      the power of its position.

           0. Semantics
           1. Syntax
           2. Lexical syntax
           3. Lexical syntax of comments


Faster tunnel to IPv6 internet.

Thanks to network admins at Bharti and Hurricane Electric, RTT to HE’s IPv6 tunnel server at HK PoP is reduced. Yippee!!

+-(130:20:44:%)-- traceroute -I                                                            --(Sun,Dec06)-+
traceroute to (, 64 hops max, 72 byte packets
 1 (  41.593 ms  44.970 ms  52.979 ms
 2 (  41.596 ms  44.188 ms  45.308 ms
 3 (  44.376 ms  44.404 ms  45.537 ms
 4 (  45.105 ms  42.097 ms  43.629 ms
 5 (  150.993 ms  155.188 ms  154.701 ms
 6 (  165.843 ms  158.931 ms  164.889 ms
 7 (  158.572 ms  154.562 ms  154.215 ms
+-(130:20:45:%)-- ping6                                                                  --(Sun,Dec06)-+
PING6(56=40+8+8 bytes) 2001:470:f803:8000::1 --> 2001:4860:c004::68
16 bytes from 2001:4860:c004::68, icmp_seq=0 hlim=58 time=179.801 ms
16 bytes from 2001:4860:c004::68, icmp_seq=1 hlim=58 time=181.696 ms
16 bytes from 2001:4860:c004::68, icmp_seq=2 hlim=58 time=179.953 ms
16 bytes from 2001:4860:c004::68, icmp_seq=3 hlim=58 time=179.401 ms
--- ping6 statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 179.401/180.213/181.696/0.880 ms


At some point, bits have to go into packets and routers need to make
decisions on them. Changes at that level is what I want to hear about, not
strategic company relationships.
        -- John Carmack

solang on FreeBSD

Submitted a PR for solang on FreeBSD.

UPDATE: Checkout graphics/solang.