Literary, ReviewNovember 13, 2009 11:39 am

The Highlights High Five magazine is a funny thing … we gave it Karston as a Christmas present when he was three and a half. At first, he just liked getting something colorful in the mail, but he didn’t care about the content. About three months later, it clicked. All of sudden, when his magazine arrived, he was very excited to get to read it and play with it. (Each issue includes an activity to cut out, and Karston is an expert with his safety scissors!) For about six months, it was the best! Then the phone calls to renew started (ugh) at the same time that Karston started plowing through an issue in about five minutes. He can do the puzzles, like find the hidden picture, quickly. He cuts out the activity, but that’s also the most fun he has with it. It was worth it for the three months on either side of his fourth birthday, but since the renewal solicitations take more time than he spends with the magazine, we’re not going to renew. It was fun while it lasted!

ReviewNovember 12, 2009 3:43 pm

Well, I just did the taste test (a convenient by-product of Halloween bringing more candy bars into my house than is normal, and with a greater variety) between Hershey’s crisp wafer bars and Kit Kat. Before I tasted them side-by-side, I was sure that I would like the Kit Kat better. It’s the classic of the chocolate-coated crisp bar genre, right? Well, crunch-for-crunch, the 100-calorie crisp wafers tasted much better to me.

Diatribe, Funny, Child, ReviewSeptember 23, 2009 4:02 pm

Really! The educational company LeapFrog is afraid of beer! I was trying to figure out why neither of us could enter Cale’s name in Karston’s new Leapster2 (he played with Nadia’s in July and picked it up easily). Finally I found the answer from the company, and the example was very helpful … can’t have ALEX because it contains ALE, so that explains why we can’t have CALE too. Their workaround works, too. And it got me out of the endless loop of the doggone thing asking me to enter a profile name but not accepting it! We were sure it was a bug, but it really is a “child protection feature” *argh*! In their defense, they are using “a popular third-party filter” and they did document the problem. Another non-bug: you can only delete a name when all three name slots are filled.

Karston’s been playing with it for less than a day so far, but he loves it. (And he loved Nadia’s all that weekend.) I think it’s a flexible (since spanning ages 4-8 covers a lot of changes), expandable (SD slot) learning toy.

Cooking, ReviewSeptember 21, 2009 7:51 pm

I decided to try stevia as a sugar substitue, just to see. I bought a small box of Stevia In The Raw to see how it tasted. The problem with most artificial sweeteners, all except Splenda so far as I know, taste like rotten lemons to me. Not just not sweet, but sour gone bad! Yuck! Well, Stevia in the Raw, and presumably all stevia, hits another one of my taste bud quirks: I strongly dislike the taste of anise, the flavoring of black licorise. We had anise plants when I was growing up (it looks like dill, and like dill, grows like a weed), and even the plant and seeds smelled fake to me. Anise just strikes my tongue as wrong, fake, weird, icky sweet. So if I had read the box that says they’ve removed the licorise aftertaste, I would have known that it’s not possible to remove enough of that aftertaste for me.

Luckily, since I dislike throwing away food, the taste is masked in my granola. I use two packets of Stevia in the Raw instead of six Tablespoons of brown sugar. With the other yummy flavors and three cups of oats, I don’t taste licorise. So I can use it up, and not do that again.

Favorite Software, ReviewAugust 4, 2009 2:24 pm

From Thomson Reuters Lawsuit Dismissed blog post at The Quintessence of Ham:

I’m delighted to announce that this morning the Fairfax Circuit Court dismissed the lawsuit filed against Zotero by Thomson Reuters. The lawsuit had claimed that the Center for History and New Media “reverse-engineered” Thomson Reuters’s EndNote software to provide data interoperability between Zotero and EndNote.

I used EndNote at work around 1990 to manage our scientific references. I personally used EndNote in the early 1990s when I scored a free copy for being helpful in the right place at the right time. I loved it for bibliography management and formatting! I thought it could have stored more/better/any notes on each reference to help the writing process, but still very useful. At the same time, I was concerned about the company’s ethics. I couldn’t put my finger on it, but I wasn’t sure I liked the company (I read the EULA). The fact that they filed this lawsuit helps me articulate my hesitation. Why should I be locked in to their format? Thank goodness for the web! You can use Zotero or RefWorks (not free, but I have a site license at work) or CiteULike or Connotea or Memento.

From those choices, I would recommend Zotero because it’s very good as a bibliography manager (I don’t need to create bibliographies now, so I don’t have an opinion on that). It even includes the note taking features I wanted in EndNote years ago! It just makes sense to me to store the notes with the reference; that’s what will help you (remember to) make the correct citation.

It’s also a great note-taking tool for anything on the web, web notebook, web snapshot archiver, whatever you want to call this category. So you could probably use Zotero instead of another Firefox add-on like ScrapBook+ or even a service like Iterasi.

The beta version has sync. I’m not sure how I would use Zotero’s Timeline support (maybe if you track news reports on certain topics?), but Timeline is very cool! Many plugins. It’s impressive, and even more impressive that it doesn’t feel bloated. [This sounds like a gush. Guess what? I don’t use it often, but I’m glad it’s there, and when I sync my Profile, I get my Zotero data too.] I guess the real drawback to Zotero is that it requires Firefox and I like Safari and Cruz too.

But my point is, I’m glad the big guy (EndNote, established software with corporate funding) didn’t get to take out the little guy (Zotero, university project) this time.

Review 10:33 am

I finally sent a bug report to Syncplicity to help them improve the Mac client, and their reply was that they no longer support Macs. Time to look for an alternative! Luckily I gave up on the USB-thumb-drive-rsync that caused me to use Syncplicity in the first place and went back to Firewire-micro-hard-drive-rsync (it’s older, but lasts longer, probably because USB flash drives aren’t made for many write cycles, and just plain works) so I don’t have the same urgent need to keep certain files synchronized between home and work MacBook Pros.

Conveniently enough, Lifehacker has an Online Storage Feature-by-Feature Comparison Chart for the services that have a free trial. Since I especially like the sync between two Macs, that narrows the field down immediately to two: Dropbox and Mozy. I suppose it doesn’t have to be a sync so much as an automatic upload when I change certain pre-determined files.

So, browsing lifehacker … Mozy has that enterprise aura of respectability (I have to look for that in software at work, so it’s second nature to notice it when it appears). Dropbox is looking like the standard by which to judge others. And don’t forget the newcomer (to free trials) SugarSync! And the gDrive should be coming soon, too.

Mozy or Dropbox? Mozy is cheaper to add more online storage space, but I don’t use much since rsync to Firewire is fast and easy. I think it comes down to how I plan to use it: Mozy aims at backups (so compare to rsync.net) and Dropbox aims at sync (so I have common files readily accessible even if I forget my travel drive). So I guess Dropbox wins the toss.

Macintosh, Favorite Software, Unix, ReviewJune 15, 2009 2:36 pm

I started with these directions to compile rsync, but updated to the latest version, 3.0.6, with my own variants to log every step noted in red.

Compile rsync 3.0.6

Follow these instructions in Terminal on both the client and server to download and compile rsync 3.0.6:

Download and unarchive rsync and its patches
cd ~/Desktop
curl -O http://rsync.samba.org/ftp/rsync/rsync-3.0.6.tar.gz
tar -xzvf rsync-3.0.6.tar.gz
rm rsync-3.0.6.tar.gz
curl -O http://rsync.samba.org/ftp/rsync/rsync-patches-3.0.6.tar.gz
tar -xzvf rsync-patches-3.0.6.tar.gz
rm rsync-patches-3.0.6.tar.gz
cd rsync-3.0.6

Apply patches relevant to preserving Mac OS X metadata
patch -p1 <patches/fileflags.diff
patch -p1 <patches/crtimes.diff

Configure, make, install
./prepare-source 2>&1 | tee prepare-source.out
./configure 2>&1 | tee configure.out
make 2>&1 | tee make.out
sudo make install 2>&1 | tee make-install.out

Verify your installation
[hope:~] /usr/local/bin/rsync –version
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 32-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, file-flags

rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.

By default, rsync will be installed in /usr/local/bin. If that isn’t in your path, you will need to call your new version of rsync by its absolute path (/usr/local/bin/rsync).

So let’s compare … 3.0.5 with no symtimes to 3.0.6 with symtimes. And bugfixes of course. But still Protocol 30, and no significant changes since those directions.

Hmm. Well, I could mull this over with no way of knowing for sure, or I could re-run the unit tests in Backup Bouncer against this fresh compile!

sudo /usr/local/bin/rsync -aNHAX --fileflags --force-change --delete --stats /Volumes/Src/ /Volumes/Dst
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying: basic-permissions ... ok (Critical)
Verifying: timestamps ... ok (Critical)
Verifying: symlinks ... ok (Critical)
Verifying: symlink-ownership ... ok
Verifying: hardlinks ... ok (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... ok (Important)
Verifying: finder-flags ... ok (Critical)
Verifying: finder-locks ... ok
Verifying: creation-date ... ok
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... ok
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... ok
Verifying: devices ... ok
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... ok

OK, that’s pretty awesome! A complete pass! Now I wonder how much of that is because he knew what flags to use with rsync. So, out with the lart (the last MacPorts test in /opt/local/bin), in with the new.

sudo port -f uninstall rsync
sudo port -f install rsync
/opt/local/bin/rsync --version
rsync version 3.0.5 protocol version 30
Copyright (C) 1996-2008 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 32-bit inums, 32-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, file-flags

rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.

All the same capabilities as what I just compiled. Re-test!

sudo ./bbouncer clean /Volumes/Dst
sudo /opt/local/bin/rsync -aNHAX --fileflags --force-change --delete --stats /Volumes/Src/ /Volumes/Dst
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying: basic-permissions ... ok (Critical)
Verifying: timestamps ... ok (Critical)
Verifying: symlinks ... ok (Critical)
Verifying: symlink-ownership ... ok
Verifying: hardlinks ... ok (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... ok (Important)
Verifying: finder-flags ... ok (Critical)
Verifying: finder-locks ... ok
Verifying: creation-date ... ok
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... ok
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... ok
Verifying: devices ... ok
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... ok

Well, whaddaya know … it’s not the new version so much as know what flags to send to rsync. So how does Apple fare with those flags?

sudo /usr/bin/rsync -aNHAX --fileflags --force-change --delete --stats /Volumes/Src/ /Volumes/Dst
rsync: -aNHAX: unknown option
rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-35.2/rsync/main.c(1333) [client=2.6.9]
/usr/bin/rsync --help 2>&1 | grep -- "-a\|-N\|-H\|-A\|-X"
-a, --archive archive mode; same as -rlptgoD (no -H)
--append append data onto shorter files
-H, --hard-links preserve hard links
--delete-after receiver deletes after transfer, not before
--address=ADDRESS bind address for outgoing socket to daemon
-E, --extended-attributes copy extended attributes

OK, so I’ll whittle that down to what Apple’s rsync will accept, swapping the X for an E (depending on version as to which flag means extended attributes).
sudo /usr/bin/rsync -aHE --delete --stats /Volumes/Src/ /Volumes/Dst
copyfile(70-extended-attrs/.._symlink-with-xattrs.4GgbUd,70-extended-attrs/symlink-with-xattrs, COPYFILE_UNPACK) failed:62
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying: basic-permissions ... ok (Critical)
Verifying: timestamps ... ok (Critical)
Verifying: symlinks ... ok (Critical)
Verifying: symlink-ownership ... ok
Verifying: hardlinks ... ok (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... FAIL (Important)
Verifying: finder-flags ... ok (Critical)
Verifying: finder-locks ... FAIL
Verifying: creation-date ... FAIL
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... FAIL
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... ok
Verifying: devices ... ok
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... FAIL

However, since -a and -H are incompatible according to --help and hardlinks failed, let’s try again.
sudo ./bbouncer clean /Volumes/Dst
sudo /usr/bin/rsync -HEr --delete --stats /Volumes/Src/ /Volumes/Dst
skipping non-regular file "10-symlinks/broken_symlink"
skipping non-regular file "10-symlinks/link2broken_symlink"
skipping non-regular file "10-symlinks/symlink1"
skipping non-regular file "10-symlinks/symlink2"
skipping non-regular file "10-symlinks/symlink3"
skipping non-regular file "15-symlink-ownership/symlink1"
skipping non-regular file "15-symlink-ownership/symlink2"
skipping non-regular file "15-symlink-ownership/symlink3"
skipping non-regular file "70-extended-attrs/symlink-with-xattrs"
skipping non-regular file "90-fifo/some-fifo"
skipping non-regular file "95-devices/devvn0"
skipping non-regular file "95-devices/devzero"

I think we know that will be ugly, but let’s look.
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying: basic-permissions ... FAIL (Critical)
Verifying: timestamps ... FAIL (Critical)
Verifying: symlinks ... stat: ./symlink1: stat: No such file or directory
FAIL (Critical)
Verifying: symlink-ownership ... FAIL
Verifying: hardlinks ... ok (Important)
Verifying: resource-forks ...
Sub-test: on files ... ok (Critical)
Sub-test: on hardlinked files ... FAIL (Important)
Verifying: finder-flags ... FAIL (Critical)
Verifying: finder-locks ... FAIL
Verifying: creation-date ... FAIL
Verifying: bsd-flags ... ok
Verifying: extended-attrs ...
Sub-test: on files ... ok (Important)
Sub-test: on directories ... ok (Important)
Sub-test: on symlinks ... FAIL
Verifying: access-control-lists ...
Sub-test: on files ... ok (Important)
Sub-test: on dirs ... ok (Important)
Verifying: fifo ... FAIL
Verifying: devices ... FAIL
Verifying: combo-tests ...
Sub-test: xattrs + rsrc forks ... ok
Sub-test: lots of metadata ... FAIL

Pfft, hardlink still fail, but so do things that passed before!

If you’re going to use rsync, I recommend using MacPorts or compiling the latest version yourself. Looks like Apple needs to add the fileflags and crtimes patches and update to a protocol version 30 rsync. But until then, MacPorts is easy!

Macintosh, Favorite Software, Unix, ReviewJune 2, 2009 2:31 pm

Since I know about Backup Bouncer, I have no excuse not to try it on rsync, the command-line way I use a USB flash drive to keep my files synchronized between work and home laptops. You can get started from this post. Still, I hadn’t tested rsync because my process worked as far as I could tell. (Then I ran into OpenMeta, and I want those tags that are in extended attributes!)

Here’s how I got started:

download Backup Bouncer
tar -zxf backup-bouncer-0.1.3.tgz
cd backup-bouncer-0.1.3
make
./bbouncer create-vol Src
./bbouncer create-vol Dst
./bbouncer create /Volumes/Src

So here are the results from the tests I ran.

First, rsync from an old version of RsyncX (now vanishware?) I believe:

/usr/local/bin/rsync --version
rsync  version 2.6.0  protocol version 27
Copyright (C) 1996-2004 by Andrew Tridgell and others
HFS+ filesystem support for OSX (C)2004 Kevin A. Boyd

Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              IPv6, 32-bit system inums, 64-bit internal inums
	
sudo /usr/local/bin/rsync -av –eahfs –delete –showtogo –stats /Volumes/Src/ /Volumes/Dst/
	
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions … ok (Critical)
Verifying:           timestamps … ok (Critical)
Verifying:             symlinks … ok (Critical)
Verifying:    symlink-ownership … FAIL
Verifying:            hardlinks … FAIL (Important)
Verifying:       resource-forks …
   Sub-test:             on files … ok (Critical)
   Sub-test:  on hardlinked files … FAIL (Important)
Verifying:         finder-flags … FAIL (Critical)
Verifying:         finder-locks … ok
Verifying:        creation-date … ok
Verifying:            bsd-flags … ok
Verifying:       extended-attrs …
   Sub-test:             on files … FAIL (Important)
   Sub-test:       on directories … FAIL (Important)
   Sub-test:          on symlinks … FAIL
Verifying: access-control-lists …
   Sub-test:             on files … FAIL (Important)
   Sub-test:              on dirs … FAIL (Important)
Verifying:                 fifo … ok
Verifying:              devices … FAIL
Verifying:          combo-tests …
   Sub-test:  xattrs + rsrc forks … FAIL
   Sub-test:     lots of metadata … FAIL

Yeah, I noticed that it fails on extended attributes *sigh*.

Next, rsync from MacPorts.

/opt/local/bin/rsync --version
rsync  version 3.0.5  protocol version 30
Copyright (C) 1996-2008 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 32-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes, file-flags
	
sudo ./bbouncer clean /Volumes/Dst
sudo /opt/local/bin/rsync -av --eahfs --delete --showtogo --stats /Volumes/Src/ /Volumes/Dst/
rsync error: syntax or usage error (code 1) at main.c(1423) [client=3.0.5]
sudo /opt/local/bin/rsync -av --xattrs --delete --stats /Volumes/Src/ /Volumes/Dst/
	
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions ... ok (Critical)
Verifying:           timestamps ... ok (Critical)
Verifying:             symlinks ... ok (Critical)
Verifying:    symlink-ownership ... ok
Verifying:            hardlinks ... FAIL (Important)
Verifying:       resource-forks ...
   Sub-test:             on files ... ok (Critical)
   Sub-test:  on hardlinked files ... FAIL (Important)
Verifying:         finder-flags ... ok (Critical)
Verifying:         finder-locks ... FAIL
Verifying:        creation-date ... FAIL
Verifying:            bsd-flags ... ok
Verifying:       extended-attrs ...
   Sub-test:             on files ... ok (Important)
   Sub-test:       on directories ... ok (Important)
   Sub-test:          on symlinks ... ok
Verifying: access-control-lists ...
   Sub-test:             on files ... FAIL (Important)
   Sub-test:              on dirs ... FAIL (Important)
Verifying:                 fifo ... ok
Verifying:              devices ... ok
Verifying:          combo-tests ...
   Sub-test:  xattrs + rsrc forks ... ok
   Sub-test:     lots of metadata ... FAIL 

That looks a lot better! Now to compare to the rsync that Apple ships with Leopard (10.5).

/usr/bin/rsync --version
rsync  version 2.6.9  protocol version 29
Copyright (C) 1996-2006 by Andrew Tridgell, Wayne Davison, and others.

Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 32-bit system inums, 64-bit internal inums
	
sudo ./bbouncer clean /Volumes/Dst
sudo /usr/bin/rsync -av –xattrs –delete –stats /Volumes/Src/ /Volumes/Dst/
rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-35.2/rsync/main.c(1333) [client=2.6.9]
sudo /usr/bin/rsync -av –delete –stats /Volumes/Src/ /Volumes/Dst/
	
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions … ok (Critical)
Verifying:           timestamps … ok (Critical)
Verifying:             symlinks … ok (Critical)
Verifying:    symlink-ownership … ok
Verifying:            hardlinks … FAIL (Important)
Verifying:       resource-forks …
   Sub-test:             on files … FAIL (Critical)
   Sub-test:  on hardlinked files … FAIL (Important)
Verifying:         finder-flags … FAIL (Critical)
Verifying:         finder-locks … FAIL
Verifying:        creation-date … FAIL
Verifying:            bsd-flags … ok
Verifying:       extended-attrs …
   Sub-test:             on files … FAIL (Important)
   Sub-test:       on directories … FAIL (Important)
   Sub-test:          on symlinks … FAIL
Verifying: access-control-lists …
   Sub-test:             on files … FAIL (Important)
   Sub-test:              on dirs … FAIL (Important)
Verifying:                 fifo … ok
Verifying:              devices … ok
Verifying:          combo-tests …
   Sub-test:  xattrs + rsrc forks … FAIL
   Sub-test:     lots of metadata … FAIL 
	
sudo ./bbouncer clean /Volumes/Dst
sudo /usr/bin/rsync -av –extended-attributes –delete –stats /Volumes/Src/ /Volumes/Dst/
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]
	
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions … ok (Critical)
Verifying:           timestamps … ok (Critical)
Verifying:             symlinks … ok (Critical)
Verifying:    symlink-ownership … ok
Verifying:            hardlinks … FAIL (Important)
Verifying:       resource-forks …
   Sub-test:             on files … ok (Critical)
   Sub-test:  on hardlinked files … FAIL (Important)
Verifying:         finder-flags … ok (Critical)
Verifying:         finder-locks … FAIL
Verifying:        creation-date … FAIL
Verifying:            bsd-flags … ok
Verifying:       extended-attrs …
   Sub-test:             on files … ok (Important)
   Sub-test:       on directories … ok (Important)
   Sub-test:          on symlinks … FAIL
Verifying: access-control-lists …
   Sub-test:             on files … ok (Important)
   Sub-test:              on dirs … ok (Important)
Verifying:                 fifo … ok
Verifying:              devices … ok
Verifying:          combo-tests …
   Sub-test:  xattrs + rsrc forks … ok
   Sub-test:     lots of metadata … ok 

Hmm, that took some wrangling, but it did work. Now to try the lart fork of rsync in MacPorts.

sudo port -f activate rsync-lart
--->  Activating rsync-lart
Warning: File /opt/local/bin/rsync already exists.  Moving to: /opt/local/bin/rsync.mp_1243889983.
Warning: File /opt/local/share/man/man1/rsync.1.gz already exists.  Moving to: /opt/local/share/man/man1/rsync.1.gz.mp_1243889983.
Warning: File /opt/local/share/man/man5/rsyncd.conf.5.gz already exists.  Moving to: /opt/local/share/man/man5/rsyncd.conf.5.gz.mp_1243889983.
	
/opt/local/bin/rsync --version
rsync  version 2.6.6  protocol version 29
Copyright (C) 1996-2005 by Andrew Tridgell and others

Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles,
              inplace, IPv6, 32-bit system inums, 64-bit internal inums
	
sudo ./bbouncer clean /Volumes/Dst
sudo /opt/local/bin/rsync -av –extended-attributes –delete –stats /Volumes/Src/ /Volumes/Dst/
rsync error: some files could not be transferred (code 23) at main.c(806)
sudo /opt/local/bin/rsync -av –extended-attributes –delete –stats /Volumes/Src/ /Volumes/Dst/
(now runs without error, but transfers stuff every time … known issue if you read lart link)
	
sudo ./bbouncer verify -d /Volumes/Src /Volumes/Dst
Verifying:    basic-permissions … ok (Critical)
Verifying:           timestamps … ok (Critical)
Verifying:             symlinks … ok (Critical)
Verifying:    symlink-ownership … ok
Verifying:            hardlinks … FAIL (Important)
Verifying:       resource-forks …
   Sub-test:             on files … ok (Critical)
   Sub-test:  on hardlinked files … FAIL (Important)
Verifying:         finder-flags … FAIL (Critical)
Verifying:         finder-locks … FAIL
Verifying:        creation-date … FAIL
Verifying:            bsd-flags … ok
Verifying:       extended-attrs …
   Sub-test:             on files … ok (Important)
   Sub-test:       on directories … ok (Important)
   Sub-test:          on symlinks … FAIL
Verifying: access-control-lists …
   Sub-test:             on files … ok (Important)
   Sub-test:              on dirs … ok (Important)
Verifying:                 fifo … ok
Verifying:              devices … ok
Verifying:          combo-tests …
   Sub-test:  xattrs + rsrc forks … ok
   Sub-test:     lots of metadata … FAIL

And then clean up.

eject Src and Dst disk images
rm Src.sparseimage Dst.sparseimage 

So, what did I learn?

They all fail on hardlinks (I don’t use ‘em, but Time Machine does), and all but Apple’s rsync fail on ACLs (but I don’t use ‘em).

The RsyncX rsync fails on symlink ownership (I use a little, but I can live with it), on finder flags (I use a little, but I hadn’t noticed a problem), on the extended attributes I now want (deal-breaker), and on lots of metadata (clearly I like metadata). It kicks out 12 failure messages, and I do need to upgrade so I can use OpenMeta.

Looking at rsync-lart, it fails on the finder flags (I use infrequently), finder locks (I can ignore), creation date (I like that to be correct), extended attributes on symlinks (I can avoid), and lots of metadata (but I love metadata), for 7 failure messages total. However, rsync-lart doesn’t have the performance of the others since it always transfers resource forks and extended attributes.

The latest version of rsync fails on finder locks (I don’t mind), creation date (that’s annoying, possibly too annoying), and lots of metadata (oops) for a mere 7 failure messages.

Apple’s rsync fails on finder locks, creation date, and extended attributes on symlinks (I can avoid that). Only 5 failure messages!

So Apple’s own rsync looks promising! When I throw out the FAIL messages that don’t bother me (hardlinks) and decide not to worry about creation dates initially, then all I’m left with is that it fails on the extended attributes of symlinks. I don’t care, since I intend to add extended attributes to the original files instead. I don’t care about ACLs, but I do care about lots of metadata where the rsync 3.0.5 failed.

That means the maligned Apple version of rsync looks ok to me. Now to see if it works out for me in practice …

Journal, GTD, iPod, ReviewMarch 25, 2009 11:43 am

I like my (first generation) iPod touch, but tempered by what I wish it could do. On the one hand, being able to surf the web while sitting up with a baby at night helps me stay sane. On the other hand, it could be so much more useful, you know, at times when I’m not locked in the nursing station.

Inspired by CrunchGear’s iPhone 3.0 Scorecard, I thought I’d track my own issues.

The first release made me want additional software features, some of which are creeping in, making each update worth the price so far.

complaint 2.0 3.0
doesn’t sync multiple iCal calendars fixed!
iCal Tasks aren’t there (no To-Do?!)    
no IP printing    
Notes don’t sync   expected
can’t copy-and-paste   expected
Mail doesn’t support IMAP tags    

I would love if my iPod touch were a laptop killer for short trips! My biggest wish on my iPod touch/iPhone wish list is a hardware change to support a Bluetooth keyboard! Although it’s the change I most want, it’s hardware so I know it won’t happen with a software upgrade, so I didn’t put it on the list. Particularly with the pinch-zoom, I can deal with the screen size for a short while, but I just can’t type as fast on the “soft” (on-screen) keyboard as on a “hard” (physical) keyboard. If I have to type for a while on a handheld, I use my Treo. Yeah, the heavier bulkier older device with the lesser screen! That’s a large part of the reason why I still use my Treo (has been 3G for years! EV-DO rocks! has always synced multiple calendars!), and I’m not tempted by the iPhone. (When Sharif returned his iPhone to go back to his Treo, he gave a list of reasons that sounded a lot like this. So I’ll take his lesson.)

My two “must-have” applications for work have free versions for both Palm and iPod touch/iPhone. I need ssh and VNC (although X-Windows would be better). On my Treo, I have used pssh and PalmVNC; on my iPod touch, I have downloaded but not yet used TouchTerm and VNC. The downloaded applications I use the most on on the iPod are TwitterFon, Stanza, and AirSharing. I guess that points out how I use it: I read twitter updates, ebooks, and documents I’ve sent over with AirSharing. Not too glamorous, but it passes the time while nursing someone else to sleep without falling asleep (yet) myself.

I did try MagicPad for its internal copy-and-paste, which is pretty cool. Innovation rocks! I notice there is a Print app (too bad I have a Canon wireless printer, not an HP). And maybe I just need Thunderbird on my iPod for the IMAP tagging and message filtering (a.k.a. smart folders).

Macintosh, Favorite Software, Tips, House, ReviewMarch 9, 2009 3:23 pm

Last weekend, NASCAR caused us to miss our usual Sunday cartoons (Simpsons, King of the Hill, American Dad). Luckily we can use Hulu! It also made me want to try Front Row … and integrate … luckily there’s understudy to fill in the blanks (or sapphire)! It works, although I did have to exit Front Row and come back in a few times. Video RSS is good. So is a VGA extender cable so we don’t have to crowd around this laptop.