Rebasing in Mercurial
So, you’ve adopted git. Or maybe Mercurial. And you’ve started to use it. The problem is, every other commit reads some variant of, “Merged with stable,” “merged with base,” or some such. These commits convey no useful information, yet completely clutter your commit history. How do you make your history more useful?
The answer lies in rebasing. Rebasing is a technique made popular by git where you rewrite your not-yet-pushed patches so that they apply against the current remote tip, rather than…
Tricks with mq
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
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
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
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)
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
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++
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
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?
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…