Category Archives: Technology

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.

More on Asterisk

Since I wrote about Asterisk, the Free Software PBX, a few days ago, I’ve decided to start tinkering with it. In a word, Asterisk is awesome. It has lots of features, and is free, too.

Asterisk lets you manage your phones. You can set up extensions, letting phones call each other. You can also set up routes out — connections to other offices, to the public telephone network (PSTN), or to other VOIP users. You can hook to the PSTN with either a $10 hardware device, or by using one of the many cheap VOIP providers, or whatever. And you can set up automatic call routing rules — for instance, you might route local calls over your local PSTN link, but fall back to a VOIP provider if your local link is in use.

Here are some links for Asterisk information:

  • The Asterisk wiki, an excellent resource
  • VOIP phones, hardware phones that take an Ethernet cable, or software phonse that run on a PC
  • VOIP service providers, listing some free IP-to-IP VOIP providers, as well as VOIP-to-PSTN and PSTN-to-VOIP companies.
    • FreeWorld Dialup is an excellent free VOIP-to-VOIP provider. They also have peering with many other VOIP networks; you can, for instance, call Vonage customers for free via FWD. FWD also has a free link to the PSTN for calling toll-free numbers in several countries.
    • VoipJet lets you call anywhere in the USA for 1.3 cents per minute, and LiveVOIP does the same for 1.2 cents per minute. With LiveVOIP, you can also purchase a phone number for incoming calls for $4 to $8 per month.
    • IPkall gives you a free local number in Washington state that forwards calls to your FWD account. There are some other companies that do similar things, too. Many also have very low rates on incoming toll-free calls.
  • Asterisk tips and tricks is a great page
  • Asterisk Handbook Project
  • Asterisk Documentation Project

Computing of the Future

Back in 1954, Popular Mechanics ran a story about computing of the future. At that time a “home computer” was a far-off concept. Attached below is the projection of what a home computer in 2004 would look like.

I have several comments. First, what’s with the steering wheel? Also, I find this especially amusing: “With teletype interface and the Fortran language, the computer will be easy to use.”

Read on for more…

TurboTax and TaxCut Are Crap

I do my taxes on my computer every year.

For the past two years, I have used TaxCut. This year, I had several unpleasant surprises:

1. It would crash hard at a particular screen in the program, every time. I finally figured out how to skip that screen. Fortunately, it didn’t pertain to me.

2. It refused to let me file because it didn’t have charitable giving ready to go yet, saying I should run the automatic update procedure. Guess what — I already did, and it installed its latest updates.

3. The state tax program for Kansas is available for Windows, but not yet for Mac. So I can’t even try to file my state taxes.

Fast and easy? I think not.

I originally switched from TurboTax because:

1. It was more expensive than TaxCut and provided no extra features

2. TurboTax would charge $10 more simply for the privilege of getting the same product for Mac

3. TurboTax tried to write to your boot sector as part of its copy-protection scheme, often rendering machines unbootable.

4. TurboTax tried to restrict how many returns one could prepare with it, even though there was no technical reason for that.

5. Intuit, the makers of TurboTax, have been known to intentionally break features of their software such as Quicken simply to force people to upgrade.

So it seems there is no non-crappy choice out there. I could go with TaxCut and get a product that is apparently unintentionally crappy. Or I could go with TurboTax, and give my dollars to a company that intentionally handicaps their software.

Either way, I’m displeased.

Perhaps I should get a slide rule and quill pen and do things the old fashioned 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.