Category Archives: Technology

Backing up

Just about everybody hates backing up computers. But it’s important. With more of our information being stored digitally — even photos — it’s critical to back them up.

At home, I’ve been using rdiff-backup for years now. Very slick. It stores backups on the filesystem — they look as if you had used rsync. It also stores metadata (owner, mode, etc.) in separate files, so you don’t have to back up using root. But the neat thing is how it handles incrementals. Incremental backups will update the backup image files to the current state, and store binary diffs to the past state. So you can access the latest backup instantly, and re-generate the previous state if needed. Very nice.

I had just been backing up to a regular IDE drive. But this week, I ordered two Seagate ST3400601CB-RK external drives. The drives support both USB2 and FireWire. We will get a safe deposit box at a bank. At any given moment, one drive will be at home, and one will be safely at the bank. They’ll be rotated periodically.

At work, we’ve been using Amanda for years. It does its job well. (Except on AIX, where both dump and tar are broken in obscure, hideous ways, but that’s not Amanda’s fault.) Recently, I discovered Bacula. This looks very slick. It seems to be the direction Amanda would evolve, if it would ever evolve. We’re going to test it out soon.

And besides, who wouldn’t love a program whose slogan is “Bacula: It comes in the night and sucks the essence from your computers”?

Today’s Pet Peeve: Stupid GTK File-Open Dialogs

Have you noticed the incredibly annoying dialogs appearing in new Gnome/GTK apps in sid? They no longer allow you to use the keyboard to enter a filename. Not only that, but they are *incredibly* slow when working with large directories. You better go get some caffeine when if you need to open something under /usr/share/doc.

Here’s an example from Firefox:

Other apps, such as Gimp, also have this problem.

I have one thing to say to these people: WHAT WERE YOU THINKING?

The keyboard is still a useful part of a computer, and I have absolutely no inclination to wait 45 seconds for some annoyingly slow dialog to populate because you prefered to remove the ability for me to enter a filename in a dialog box myself.

Haskell #1 in the Shootout

Wow. Some Haskell hackers have started paying a small bit of attention to the Great Computer Language Shootout site, and the results are impressive.

Haskell now takes first place in the lines of code competition. In the CPU time competition, Haskell is also doing quite respectably: it beats out OCaml by a small margin, and defeats Java, C++, Python, Perl, Erlang, Ruby, Mono, Tcl, etc. by significant margins.

These links are all using the Shootout default weightings for individual tests.

The only downside to the Shootout is that the programs — for all languages — are not really idomatic and don’t show off a language’s natural beauty. Sounds like it’s time to gather up some Haskell hackers to rally around the PLEAC effort as well.

Firebird was almost interesting…

I was looking at the Firebird database recently. Free Software, very feature complete, and one neat feature was that it could run either client/server (like PostgreSQL) or as a standalone .so (like Sqlite). I was starting to look into using it.

Then I discovered it only supports i386 on Linux, and no progress has been made in 3 years on that.

So I will not be trying Firebird.

I thought we had all learned by now that portable code is a good thing. Guess not.

I will be sticking with PostgreSQL as my preferred RDBMS for awhile.

NiMH Rechargable Batteries and Charger Review

I’ve been using NiMH batteries for quite a few years now. Ever since my first-ever digital camera came with a free AA charger and four free rechargable NiMH batteries. I’m still using that charger, and it’s been almost 10 years.

I have a few complaints about my existing charger. It won’t charge AAA batteries, and it doesn’t have a discharge feature. Without that, it can be difficult to avoid shortening battery life due to the memory effect which even NiMH batteries are susceptible to. Also, it charges batteries in pairs, which can result in various charging problems when dealing with batteries of uneven charge or uneven storage characteristics.

Also, many of my batteries were old.

So, I set out to find a better charger, and to find the best current NiMH batteries.

The Charger

A little Googling revealed a very useful page at Steve’s Digicams. They suggested the Lacrosse BC-900 Advanced Charger. I ordered this unit from Thomas Distributing and must say it is a very slick unit. It has four main modes: charge, which does a simple charge-until-full; discharge, which will discharge then charge a battery; refresh, which discharges then charges the battery repeatedly until no increase in capacity is measured; and test, which checks the condition of the battery.

The charging and discharging current is fully configurable. I opt for a gentle, slow 200 mA charging current. But others can increase it to many times that. The BC-900 has a built-in temperature cutoff circuit, so it will pause charging if your batteries are about to overheat.

The BC-900 can charge up to 4 AA or AAA batteries simultaneously. Each battery is charged individually, and each battery can have its own mode and charging/discharging current set.

The unit comes with some starter NiMH AA and AAA batteries, plus a carrying case for batteries and the charger. Thomas Distributing also added four more free AA NiMH batteries (nice).

Batteries

I found the Great Battery Shootout site to help with choosing batteries. I eventually chose Maha Powerex batteries and have been happy with them as well. They come in various different capacities (including some larger than are listed on the shootout page) and Thomas Distributing had good prices.

Hope this helps if you’re planning on using rechargable batteries.

Video Game Consoles

I’m thinking of getting a video game console system. Trouble is, I haven’t really followed the market since the days of the original Nintendo. I do own a N64, but I didn’t really research it before I bought it, and it looks pretty bad on our HDTV.

So I’m hoping someone out there can give me some advice, or some links to sites that could give me some advice. I have no idea at all where to start.

My criteria to begin with are:

  • Support for HDTV systems. Are there any widescreen (16:9) game systems or games out there? That would be ideal.
  • Not about to be end-of-lifed. I want it to be able to play new releases for awhile yet.

Hello, ext3. Goodbye, reiser4.

So I’ve been trying out various filesystems over the past few months, by converting a few machines to them and using them on a daily basis.

I’ve found that reiser3, JFS, and XFS are all risky and actually corrupt data on crashes. JFS also has a few weird bugs that make the kernel oops, and sometimes cause filesystem corruption. All of the above also have starvation issues, where one IO-intensive process can dramatically slow down everything on the system (by a factor of 100 or more).

Reiser4 has proven better — only one small issue that I can recall. But it’s got a huge problem: no ability to resize a Reiser4 partition. That is rather ridiculous these days, and really reduces the utility of LVM. (Hans says he’ll make it resizable when someone pays.)

So I’ve tried out ext3 again, for the first time in a few years. I’m using data=ordered,commit=300 (or 600 on some machines), which still makes it safer than the other journaled filesystems.

And I must say that it is impressive. The old bottlenecks that I was used to were gone. The thing is reliable and fast, and scales well. I’m going to move everything back to ext3.

So why do Hans’s benchmarks show reiser4 being better? For one thing, most benchmarks measure throughput, not response time, so things like starvation don’t cause black marks in them. Most of them don’t even use multiple processes to simulate real-world activity anyway. Plus, ext3’s default mount options (commit=5, for instance) are much more conservatve than other filesystem’s. To get a fair test, one should increase that commit= number on ext3.

Here’s another discussion about ext3.

Some nice code: libarchive

Yesterday, while looking for information on the format of tar files, I discovered libarchive, which is part of FreeBSD. libarchive and read about 5 different tar formats, 4 different cpio formats, zip, and ISO images, and supports gzip and bzip2. It can also write 2 different tar formats plus cpio and shar. Very nice.

Oh, and its tar.5 is the best reference on the tar format I’ve seen.

I’ve packaged up libarchive and bsdtar (the default tar on FreeBSD, which is built using libarchive) for Debian.