Love and hate for processes

So, I've been thinking about processes lately. They're an amazing abstraction - given how old they are, its really impressive they've gotten us as far as they have. They're so successful that even our users have internalised them. We invented modern processes to do multi-user isolation on unix mainframes in…

Apple dictionaries, part 2

After I wrote my post about Apple's dictionary files, I got a mysterious email showing up in my inbox. The email was from someone who's spent some time writing code to do the same thing, but doesn't want to post it under his own name in case he falls fowl…

Reverse engineering Apple Dictionaries

Edit: Part 2 is up I've spent this morning doing some cursory reverse engineering to access the dictionaries on my mac laptop. I'll post some code soon to access them, but in the meantime here's the story of some of the process I went through to recover that data. Because…

In the long run, GPL code becomes irrelevant.

I wrote this in response to a comment thread on hackernews Defending GCC considered futile. There's been a megathread in the last week about whether Emacs should support LLVM, with Richard Stallman and now Eric Raymond joining the frey. Personally, I use a BSD license for all my code and…

ALU in boilerplate

I've been taking a break from serious programming to spend some time messing around with boilerplate again. Its a hunk of boilerplate logic which can add or subtract (!!) any two numbers. The two numbers come in on the top left. They're represented in binary with the high bit at the…

Goodbye SF

Its nearly 2 am and I'm sitting up alone in some airbnb apartment in a shitty neighbourhood in SF. Work paid for a week long trip here - full of meetings that I'm mostly running, planning out a bunch of software I've been wanting to write for years. And will…