Category Archives: Software

I’m Switching to Darcs

I’ve been using Arch/tla/baz for quite awhile now; I switched from Subversion awhile back. But they’ve got a bunch of things that annoy me. Offline working is clumsy. Performace is bad, and to make it even approach decent, you have to dedicate a huge amount of space to a revision library cache. Commands, even with baz, are clumsy and require an inordinate amount of typing. It’s still better than CVS and SVN, with its merging and all, but still — it’s been annoying.

Enter darcs. I’ve been keeping an eye on it for awhile, and it looks like it’s become quite stable, useful, and fast recently. I tried it out awhile back, and it wasn’t really “there” yet. I tried it out again this week, and must say that darcs is great. I’m converting all my Arch and Subversion stuff to Darcs.

The thing that really impressed me is this Darcs mirror of the Linux kernel Bitkeeper repository. Darcs is fast over this, far nicer than Arch was (I did a similar project in Arch awhile back), and it uses less than 1GB of disk space for a complete mirror.

Oh, and I wrote a 100-line Haskell program to convert Arch stuff to Darcs: arch2darcs. You can see an example of a converted repository at here. There’s also a program called Tailor (I didn’t write this one) that does a bidirectional sync between Darcs and CVS or Subversion. Sweet.

I’m happily converting the rest of my Arch and SVN stuff to Darcs today. Woohoo.

Randomly-Generated CS Paper Accepted at Conference

Now this is absolutely hilarious. A randomly-generated computer science paper has been accepted to a conference. Not just that, but the grad students behind the program that generated it are raising money so they can attend and deliver a randomly-generated talk.

Read the paper and you’ll probably burst out laughing.

If you don’t know much about computer science, it may look shockingly real.

Today’s Reading + Perl Community

Cliff’s memories of Easter are a great read.

A study showing that a significant number of people exhibit violence towards their computer when it malfunctions, and another significant number of people attempt to sweet-talk it.

Shapr posted a link to the extremeperl mailing list. I found this post on the value of learning languages to be insightful.

Along a similar line, there’s an intriguing post on The Sequence from a Perl hacker looking at the Haskell community. I think he’s right.

These Perl people are really impressing me lately. My respect for the Perl commnuity has really shot upwards lately. And I am similarly disappointed in many of the directions Python is taking these days. Nice time to be using Haskell :-)

Haskell: The Humbling Language

Usually when I learn a new programming language, I’ll hang out on its mailing lists and IRC channels, learning from the answers given to other people’s questions, and asking my own. After a month or two, I usually feel fairly good with my abilities; that I could answer most of the questions, and understand most of the questions.

Well, I’ve been using Haskell for about 6 months now. I really like Haskell, and it’s a great language to use, and it’s already my preferred language.

But here’s what’s unique about Haskell. The more I use it, and the more I participate with the Haskell community, the more I realize just how much there is that I could learn. And it seems that I’m not alone with that feeling.

I wonder why Haskell is unique this way.

Today’s Reading

Why Does Windows Still Suck? from the San Francisco Gate. Mark Morford asks the question: why do people put up with Windows? Unfortunately, he can’t find an answer.

Spamhaus on MCI’s tolerance of spamming.

Marty on ER runs and contesting speeding tickets.

Also, I released a new program yesterday: MissingPy. It’s a link between Haskell and Python. This marks the fifthh major language link to Haskell, after C, C++, .NET, and Java. With my Python library, I was able to add bzip2 support to Haskell in under 10 lines of code. Sweet. This one binding knocks out most of the things on my todo list.