Tricks with mq

November 23, 2008 | programming
NOTE: You almost certainly don’t want to do anything in this article. I wrote this in 2008; Mercurial has improved a lot since then. While everything’s still accurate (as far as I know), using MQ is pain-ridden and unnecessary. Instead, you should use histedit (which is bundled with Mercurial) or the evolve extension (which is not yet, but may be soon). Either will get you to the same place, but they’re both easier, safer, and more powerful than MQ—a rare triple. That said, if you’re curious…

Why I Love Meetings

November 22, 2008 | programming
I love meetings. That’s a pretty heretical statement. I suspect most diehard bureaucrats just tolerate meetings, and Joel—who I might emphasize has more than a passing relationship with Team Copilot—has spoken rather strongly against them in the past. Hell, I grew up hating meetings, and I’d be lying if I said that part of why I loved the idea of working at Fog Creek wasn’t that the company has traditionally had a strong anti-meeting culture. That’s not to say Fog Creek doesn’t ever have…

Guide to Deploying Seaside on Linux

November 20, 2008 | programming
While I’ve gotten pretty good at deploying Squeak and Seaside behind Apache, I remember that the first time I tried it, I got horribly confused and frustrated by the lack of any simple, easy-to-follow guide. Well, if your virtual host runs a Debian-based distro, now you’ve got one: Peter Osburg has provided a step-by-step guide to deploying Seaside apps behind Apache using reverse proxies. The directions should be mostly applicable to other Linux distributions as well.

Objective-J and Cappuccino Released As Open-Source

September 4, 2008 | programming
When 280slides was released several months ago, it was notable in several ways. It looked like a native OS X app despite running in the browser, yet remained relatively responsive, worked quite well across browsers, and gracefully fell back to Flash when running on browsers from the Pacific northwest. The designers said that their secret sauce was Objective-J—an Objective-C–like language that compiled to JavaScript—and Cappuccino, a Cocoa-like framework that let them treat a web browswer as…

The End of MySQL (Updated)

April 17, 2008 | programming, technology
Sun has just announced that they will begin close-sourcing MySQL. For years, I’ve avoided MySQL due to a mixture of paranoia (I’ve had extremely bad experiences with MyISAM-backed data stores) and disdain for their shoddy standards compliance (which has bitten me before in nontrivial ways). Now I can also avoid them for not being open-source. My standardization on PostgreSQL for this website feels more rational by the minute. Update: The originally linked article wasn’t quite correct. MySQL…

A Poor Man's Time Machine

April 12, 2008 | programming, technology
One of the cool new features of Mac OS X Leopard is Time Machine, a really simple backup solution for Mac OS X that not only transparently backs up your data, but also does so with an amazingly ugly GUI that lets you quickly jump back to the way that your documents were at any given point in the past. Unfortunately, Time Machine doesn’t run on my Linux boxes, so I’m forced to come up with an alternative. The good news is that getting a 90% solution is ridiculously easy. On the back-end, all…

Hating C++

March 27, 2008 | programming
I’m no fan of C++, but I look like a C++ evangelist compared to this poor chap, who assails C++ with a vengeance and eloquence that I have rarely seen. A choice excerpt: C++ is philosophically and cognitively unsound as it forces a violation of all known epistemological processes on the programmer. as a language, it requires you to specify in great detail what you do not know in order to obtain the experience necessary to learn it. C++ has taken premature optimization to the level of divine…

Grabbing Selected Songs from an iPod

February 21, 2008 | programming, technology
Today, I was over at a friend’s house and got sidetracked talking about music we liked. I mentioned that I’d recently discovered Jonathan Coulton, really liked his music. and played her a few songs of his. She liked them and asked whether she could have a copy. Since his songs are all licensed under the Creative Commons, that was no problem. Unfortunately, the only copy of the songs that I had were on my iPod. As everyone knows by now, Apple makes it very difficult to copy songs off an iPod due…

rm -rf /var/www/* ... wait, which server am I logged into?

September 30, 2007 | programming, technology
Unix needs an undo command. This morning, my roommate and I hauled out some of our “big iron” (a languishing Pentium 4 box) to use as a photo server. Because we had initially planned to use that box to host bitquabit.com and its sister sites—a plan since scrapped—it had a full clone of all the data on my Linode hub. Before my roommate got going, then, I thought I’d quickly clean the box and return it to a neutral state. First stop, hose the duplicates of the websites I host. Fire up SSH, sidle…

A REPL for...C?

September 18, 2007 | programming
I’ve talked before about the value of a good REPL (scroll down to “The REPL in .NET”). Unfortunately, the programming language I write the most code in, C, lacks one. Or at least, it used to. The aptly named C REPL provides a REPL for C. Their trick: compile a DLL for each line of code, then load it into a new process. Presto: instant, portable interactive C.