Computers Shopping

Eight Gigs of Flash for $21


It’s just shocking how cheap things have gotten.

And yes, I do get a kick-back if you buy through this link. :)


Termes – A New Monospace Programmer Font

A bunch of people pointed out Dan Benjamin’s recent article on his top 10 programming fonts. He rated Inconsolata as his favorite font, with Consolas as a close second. I generally use Monaco, the standard monospace font shipped with every Mac, but I’d played with Inconsolata a bit in the past. I really like it, but for some reason, it requires setting the point size a few ticks higher (15pt vs 12pt for Monaco) for some reason.

Raph Levien, the gentleman who developed the font, has graciously made it available for free, both the font file and the actual code used to generate it in Font Forge. I pulled down the source and re-exported the font, and for whatever reason, the font size appears to be consistent with Monaco now. How odd.

While I was poking around, I noticed a few things I didn’t like in the punctutation characters, so I spent a couple hours and tweaked things around until I had them where I liked them. I figure some other folks might like the changes, so I’ve released my changes as a new font, Termes. It’s also under the Open Font license, and you can track my changes and submit bugs over on bitbucket.

Sample of Termes

Hope you like it, and thanks to Raph for all the hard work coming up with this font in the first place.


WTF: assertFalse(/foo/.test(null)) fails?

$ js
Rhino 1.7 release 1 2008 03 06
js> var foo = new RegExp("([a-zA-Z/])+");
js> foo.test(null)

What? Passing null to a regexp passes?

Computers Family


1972 – Alain Colmerauer designs the logic language Prolog. His goal is to create a language with the intelligence of a two year old. He proves he has reached his goal by showing a Prolog session that says “No.” to every query.

From One Div Zero: A Brief, Incomplete, and Mostly Wrong History of Programming Languages.


ZNC: A worthwhile IRC Bouncer

I’ve been using IRC for quite a while and have always had one niggling problem: when you lose your network connection, you miss out on everything that happens. This is fundamental to how IRC works; the server doesn’t keep track of what you’re missing, so you never see the missing things when you reconnect. This is a pretty common problem, so a number of solutions have been developed. Some folks run a client like irssi inside screen on a shell account which is always connected. This is great if you like irssi, but I tend to prefer native clients.

So, some enterprising folks have come up with an alternate system, commonly called an IRC bouncer. It’s an IRC proxy, originally used to allow folks without access to common IRC servers a way around the block or to hide the connection point of the user. They work a lot like the irssi + screen solution, in that you have a process running on some constantly connected machine that keeps your connection to the IRC network going. To use one, you set up the software and then connect your IRC client to it. From your IRC client’s perspective, it’s just an IRC server running as normal.

As time has passed, the bouncers have gained the ability to log what’s going on on the server. This is great, because you can connect and disconnect from the bouncer and never miss anything. A number of bouncers have this abilty (including IRSSI), but I’ve always found the implementation lacking. With most you have to manually ask for the log in some way, which makes it a royal PITA. Additionally, this is mostly spare time kick around software, so the configuration tends to be a bit… esoteric.

Well, I finally found one that just plain works. It’s called ZNC. Setup is a breeze, it supports SSL out of the box, and the playback buffers just work. Highly recommended if you’re looking for this kind of thing.