Category Archives: Software

Trying out XFS

I’ve used most of the different filesystems in Linux. My most recent favorite has been JFS, but things like starvation with find have really been annoying me lately. To summarize, here is my experience with filesystems:

  • ext2: very slow, moderately unreliable
  • ext3: somewhat slow but reliable
  • reiserfs: fast, unreliable (cross-linked data after crash issues)
  • jfs: usually fast, somewhat unreliable (similar issues after crash, plus weird charset issues)

The one major Linux FS not in that list is XFS. So I decided to give it a whirl, switching my 40GB /home on one machine to XFS. So far, it’s been good.

There are two articles at IBM developerworks about XFS that were useful. There’s also a useful filesystems comparison from Novell.

I’ve Switched to Darcs

I’ve converted 24 public projects from Subversion or Arch to Darcs, preserving full history, as I mentioned earlier. It all went very smoothly. I’m even maintaining my Arch utilities in darcs :-)

Some small observations:

  • Committing early and often is good.
  • When a commit is virtually instantaneous, it’s easy to commit early and often. A commit in darcs doesn’t require it to hit the network.
  • Branching is a frequent need and is done far to infrequently. But Darcs makes it even easier than Arch. Very nice.

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 :-)