• Enterprise PHP

    This is a post about the bullshit one has to put up with in an “enterprise” PHP shop. I wrote it some months ago. I have since left that job, but I haven’t published the text yet. It’s a well-known internet law that one cannot leave a PHP rant unpublished – so here it is.…

  • The BASIC Magic in Vim

    I’ve just discovered this by accident: one can make infinite recursive loops in vim. It’s very simple: just record a macro and in that macro apply that macro. That may seem useless but it’s not: I’m now finally able to port my very first program to vim. The original form was: In vim: type <ESC>…

  • True Color

    This page now has a linear-gradient background image – as you might have noticed if you haven’t clicked the “too much green” button in the header. Did you also notice that it’s not really a linear gradient, but more a bunch of stripes? Yeah, that’s why we need more than 24 bit color depth. The…

  • Electric Dead Trees

    I got an ebook reader for christmas, and I generally like it. It’s a Kobo Touch because Amazon needs the competition. It does everything a book does, only better. The display is just as readable but I’m not tied to insane typeface or font size choices of the publisher. It’s lighter than most books and…

  • I’m currently looking into adorning this website with a bit of semantic bullshit information. Because that’s where the web’s heading isn’t it? Well, I’ve briefly looked into schema.org, which describes a reasonably simple set of types of information that can be directly embedded into the various HTML tags. So that’s a plus, but there’s something…

  • Tacit Programming in Racket

    (There’s also a second part) Just a quick technical note: tacit (aka point-free aka – hahaha – pointless) programming works just fine in Racket. Let’s take the usual example problem: we want to get the average of a list of numbers. The average is the sum of all the numbers divided by the length of…

  • The most latest “new year” type post of the year

    Seems like everyone else has already made their new-year-resolution blog post. But 2013 came as such a surprise to me that I didn’t have any resolutions handy. I have now, so here we go: Stop caring about effort: If there was only one thing I could complain about on this world, it would be effort-tracking.…

  • This doesn’t seem safe to me

    Recently, in a conversation about the Gentoo Linux distribution, I jokingly suggested to a colleague (and Gentoo user) that Gentoo sucks because they still only provide the very first version of gti and are missing out on all the new features (the car’s speed now depends on the terminal width). Turns out I was wrong,…

  • And Now for Something Completely Different

    The next Ludum Dare is very very soon. That means it’s time to think about games, again. First: the platform of choice: I’ve actually been pretty happy with what I chose last time – JavaScript and the usual 2D-Canvas stuff. It was fast to program in, performed well enough and worked on every platform. So,…

  • Art

    This: is really nice. It’s apparently also a book but more importantly it’s just one elegant line of BASIC: or a line of bash yes ‘c=(╱ ╲);printf ${c[RANDOM%2]}’ | bash Beautiful, isn’t it? On a somewhat related note, I now own the domain code-museum.org – but I now that I have it, I realized that…