• todo: do

    I’m not a big fan of anything in list form, really, but I do keep TODO lists. I’m currently using Trello for that. Trello is great, but it invites one (well, me) to play with it. That is, to create new lists and re-order stuff and label it and re-label it, and so on. The…

  • Make FRP Mainstream!

    I’m currently playing around with functional reactive programming, specifically Racket’s FrTime language/library. I haven’t done that much with it, yet – I’ve just thrown together some small scripts, playing with the concept. But I can say this: if you haven’t programmed anything in a reactive style yet, drop everything you’re doing, get to your machine,…

  • A Graphical Forever Project, Part 2

    (part 1) My first idea of how we could simplify creating graphical user interfaces was to just take a unix pipe and to either render something graphical for each component, or only one input-element and one output element. That is, for example find ./ -name *.c | xargs grep -n “[^f]gets” | vi – would…

  • A Graphical Forever Project

    A month ago, a nice little blog post made rounds on the internet. It describes the joys of having a Forever Project, a project that can’t be completed but that you also can’t stop to think about. Needless to say, I quite liked it. I used to think that I was just not productive enough,…

  • You’ve picked the wrong repository

    Apparently, recruiting spammers are making progress – they now have a perl script that parses github user profiles: Subject: Data mining project Date: Thu, 7 Feb 2013 10:44:06 -0000 From: “Tanya Kotwall” <tanya.kotwall@njfeurope.com> To: <richard@r-wos.org> Hi Richard, Notice your github online.. (was trying to understand the my_brain_hurts repositories) A contact of mine founded trustyou.com in…

  • Multiple Dispatch in Racket

    Some months ago, Racket 5.3 introduced a new generics library. As you would expect, it’s basically a convenient way to implement generic interfaces for related type-specific operations (for example generic queue operations for different queue implementations). That’s all fine and works well, but it doesn’t (as of now) support dispatching for more than one function…

  • 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…