Riding a Lion Thursday, June 30, 2011

There's a certain way I like to release a version of SuperDuper, or any application, really. It goes something like this:

  1. We plan a healthy mix of fixes, tweaks and features.
  2. Those new features are designed and implemented.
  3. Once we've put them through a bunch of internal testing, we recruit a mix of old and new testers to put things through the "customer wringer".
  4. The fix/test cycle is repeated as many times as is necessary to ensure that we're meeting our quality standards, that new features are working as desired and satisfying the needs we'd identified during their design, etc.
  5. During the last few testing cycles, I usually start telling the story of the release (which, at that point, we're pretty sure we're nearly done with), highlighting some of the more interesting elements.
  6. Finally, we freeze the release and, with any luck, we release shortly after the release candidate is OK'ed by internal and external tests.

And I highlight all this because the whole "telling stories" part of our next release is going to be much shorter than usual, and we'll be doing other things a bit differently as well.

Ring One–Personal

As anyone who follows me on Twitter is aware, I've been doing a lot of cycling over the past few years (and tweeting about it in a rather boring way, sorry). After a cycling trip to Italy last fall, and based on a suggestion by one of the guides, I decided to train for (and participate in) the Maratona dles Dolomites.

So, for the last six months or so—in sun, snow and rain—I've been riding and training (well, trying to train) for this huge, 9500-participant Grand Fondo. In one day, we'll be riding about 85 miles and over 7 big passes, with 14,000 feet of climbing. It's the first time I've ever tried anything this...crazy. Ready or not (mostly not), on July 2nd, I'm headed to Italy for the race, which happens on the 10th.

Those ten hard-date days were running through my head when the 2011 WWDC keynote was broadcast earlier this year.

Ring Two—Professional

As the various rumor sites could tell you, it's always hard to know when Apple is going to do things. But given that WWDC was likely going to be all about 10.7, and last year's WWDC was about iOS, it seemed a reasonably safe bet that the release of 10.7 would be well after this year's WWDC.

Well that was a bad bet.

Apple announced that Lion will be coming out "in July". In other words, the release window opens tomorrow (I'm posting this on June 30th). Given the current state of things, our current 2.6.2 release of SuperDuper is not Lion compatible. Specifically, we know we have two issues of significance under Lion:

  • Deprecated command-line tool The "disktool" command was deprecated and effectively removed, and we rely on that for a number of things, including refreshing disk mounts when a copy starts, and automounting during a scheduled copy.
  • Updater crashes Our automatic updater crashes under Lion, which makes it hard for Lion users to update (although they can download from our site and install manually).

With that in mind, also remember that Apple is going to be releasing this through the App Store. That means that there's no delay between an "RTM" build (which we can test against) and when you get the GM: it'll get declared RTM, someone will push a button somewhere and BAM! it's GM, and in the App Store.

Add to that the fact that I'll be gone nearly half of July. Which means, if Lion comes out in the first half of the month, as it very well could, and probably will...I think you can see where this is going.

Ring Three–Where the Rubber Meets the Road

Well, perhaps not where you think. We're not going to be late with Lion compatibility, unless something really crazy unusual happens between now and when Lion hits your Mac.

What it does mean is that some of the more interesting things we were going to put in this update will be postponed until later, and we're going to have to put this out with "initial" Lion compatibility, as much as I hate doing that.

So here's the plan: we're going to release version 2.6.3 of SuperDuper! in the next few days (probably on July 1st). This version has a lot of small things in it, some of which will significantly improve the user experience. Examples include:

  • Initial Lion compatibility As I've explained, Lion is not out, so we can't promise that we'll be compatible with it when it is released. But SuperDuper 2.6.3 works well with the test version of Lion that we have now, and should work fine when the Big Button is pressed.
  • Better scheduling A small change that should help a lot of users. Right now, it's too easy for a user to accidentally create multiple schedules. In the new version, the "Schedule..." button brings up an existing schedule for the source/destination drive pair if there is one (which is what most users expect it to do). Users can still create another schedule for the same pair of drives by Option+clicking Schedule. (I could write an entire post about this one change, and hopefully will be able to in the future, since it's one of the major errors I made in SD!'s quickly-reworked-after-the-original-disaster schedule design.)
  • Improved volume failure detection If the destination volume vanishes during the copy, we detect the failure and stop the copy more reliably than before. This should avoid cases where the destination drive's mount point converts to a folder and files are copied to a "hidden" location (/Volumes) on the startup volume.
  • Antivirus compatibility improvements We've tried to work around some incompatibilities with NAV that would cause intermittent issues for users that had that installed.
  • Better support submission We've had an integrated email support submitter for a long time, but it relied on the NSMessaging framework, which has been deprecated. So, we've moved to a "direct submit" model. You shouldn't see any differences locally, but it'll work in more situations, regardless of your email client. (The downside is that we can't 'automatically reply' to one of these messages, which means a lot more work for me...)
  • Expanded automount/ejection We now allow internal drives to be ejected, so they can participate in automatic mounting when scheduling, and can be selected as an ejectable volume after a copy.
  • Various other improvements, fixes and tweaks We've touched pretty much every area of SuperDuper! in some subtle (and some not so subtle) ways, with more to come.

Thanks for Coming—Visit the Midway!

So there you go: we'll soon have SuperDuper! v2.6.3 available. You should endeavor to upgrade to the new release before you upgrade to Lion.

I hope you like the new release! If you're interested, follow me on Twitter where I'll be posting about the Grand Fondo a bit, and will be posting updates about SuperDuper! as necessary.

Support during these two weeks will be a bit slower than usual, because I'll be riding during the day, and only able to post at night. Apologies in advance if support feels less "spectacularly fast" during these two weeks: I'll do my best to respond as quickly as I can.

Thanks, as always, for using SuperDuper: we couldn't do any of this without you, and we'll continue to do our best to make SuperDuper an application worthy of your praise and personal recommendations.

Spinning round and round Saturday, August 07, 2010

The What

Ever been confronted by a Spinning Pinwheel of Death on launch of SuperDuper! on Snow Leopard and, while waiting for it to stop doing that, raised your hands to the sky and cursed me and the ground I walk on?

Hey, me too (without the self-cursing—kids, remember, if you curse yourself you'll grow hair on your soul)! But (and here's the important part) it's not unique to SuperDuper!. You'll also see this when you do a File > Open, File > Save As, and many other actions. It's not just a delay due to drive spin-up, and there's a fix!

The Why

I can't pretend to totally understand why this happens, so please don't ask, but it seems that the dyld cache (if you don't know what that is, read it as "stuff deep inside OS X") gets in some sort of weird state, and that state is often seen, up in userland, as these annoying, inexplicable SPOD delays.

Might be best to think "damnable munchkins" is the real reason why. Or circuit ants. Or blame the iPhone 4's antenna: it's Mark Papermaster: he's taking the blame for everything else and, at this point, probably wouldn't mind.

The First Fix (for Users Uncomfortable with Terminal)

The easiest way to fix this is to power off your Mac, hold down the Shift key, keep it down and power back on. Keep Shift down all the way to the desktop. This starts your Mac, more slowly, in Safe Boot, which automatically rebuilds this cache (among other things).

When you're totally logged in and running, try running SuperDuper! or your other app that was slow with File > Open. You'll note that it's quite fast.

Now, restart your Mac normally. And—check that out—it's still fast! Yay!

The Second Fix (for the Terminal Savvy User, or the Bold and Brave)

If you're comfortable with Terminal, you can do this without the Safe Boot restart:

  1. Open Terminal.
  2. Copy the following to the clipboard:

    sudo update_dyld_shared_cache -force

  3. Paste that into Terminal.

  4. Press Return at the end.
  5. When prompted, enter your password (it'll be invisible) and press Return.
  6. When it's completed and the prompt returns, quit Terminal and restart your Mac.

Poof! Problem solved.

In Sum

Hopefully this worked for you, and was useful. Enjoy your faster Mac, and stop cursing me!

Mac keeps waking on its own? Try this. Tuesday, January 05, 2010

So, I don't usually put general how-tos up here at Shirt Pocket Watch, but since I found this more than a bit frustrating and hard to diagnose, I thought someone else out there would benefit from what I found.

For years my Macs haven't gone to sleep on their own. I honestly don't know why, but there must be some application that's active enough to stop the sleep timer and prevent energy saver from doing its thing.

Annoying, but I'm pretty used to using Cmd+Opt+Eject to put the Mac to sleep. But recently, my Mac recently started waking unexpectedly—basically, I'd put it to sleep and whenever I'd go back (after an hour or so), it'd be awake, screen off.

I hate wasting power like that (not to mention the "fake" presence in AIM or whatever), so I spent some time diagnosing what was wrong.

It seems that the new Bonjour "Proxy" support implemented in Airport Extreme devices requires the proxy to be 'refreshed' on occasion by the proxied Mac. So, every hour, your Mac wakes itself without turning on the screen, updates the proxy, and then goes back to sleep.

Mine hadn't been doing that, but I recently reset my Energy Saver preferences to their defaults, and that turned on "Wake for network access". When that setting is on, this behavior takes hold. And if you Mac doesn't go to sleep on its own (for whatever reason), it stays on after the first wake.

So, in summary, it's a barely Documented Feature with surprising and unexpected behavior. Turning Wake for network access off in the Energy Saver preference pane resolves the issue.

SuperDuper! v2.6.2 now available! Tuesday, October 13, 2009

It's been in test for quite a while, and we're happy to say that SuperDuper! v2.6.2 has been released!

I understated the speed improvements we've measured in the press release and collateral, but we really are seeing 3x improvements in-house, which is pretty great. We'll see how it works for you.

Anyway: I hope you enjoy the new version as much as we enjoy being able to provide it to you.

How Ya Doin’? Tuesday, September 22, 2009

Just a quick post to let you know how things are going with SuperDuper! and the upcoming v2.6.2 (no release date yet, so don't ask—hence this post). So far, we've:

  • Implemented a fix for the problem where we don't preserve compression under Snow Leopard
  • Ensured that extra data is no longer copied with back-to-back Smart Updates (as expected, a side-effect of the compression issue)
  • Resolved the various other issues mentioned in the last post (although we haven't come up with a fix for the scheduling/settings issue yet)

These fixes have been in external testing for over a week, and the feedback has been excellent so far.

Since we hate releasing updates that have nothing but "fixes" in them, in addition to the above, we've made some changes that significantly speed up the speed of copying, with both Smart Updates and full copies.

In our internal tests, confirmed by our external testers, copying under Leopard and Snow Leopard (with larger data sets) is up to (wait for it) three times faster, especially with fast destination devices.

Needless to say, both of these changes involved "cracking open the cloner", which requires significantly more testing than a tweak to the UI or some "simple" changes to higher level aspects of the copying process, but progress is very good and we're looking forward to getting this into your hands as soon as we (and our external testers) are satisfied with it.

Note that I'll be at C4 this weekend, so support might be a bit slower than usual from Friday until Monday. If you're at C4 too, say Hi!

Squashed Friday, September 04, 2009

Well, a week has gone by, and 2.6.1 has been downloaded and run by an awful lot of you. It seems to be working well, too—which isn't to say it's perfect so, once again, no unicorn.

Here's what we're working on right now.

Individual file compression under Snow Leopard is not maintained on the backup

This kind of caught us by surprise, frankly. When we checked our copy results, we found that the sizes of files were the same on source and destination, and assumed the files were, indeed, being copied with compression.

Nothing like an assumption to make one feel like an ass. Or an umption. Whatever.

Anyway, what's happening is the OS is hiding the compression from us... and we didn't realize it. For the nerdly among us, here's some terminal commands and output that you'll find interesting:

$ ls -l /Applications/iCal.app/Contents/MacOS/
-rwxr-xr-x  1 root  wheel  9123088 Jul 16 03:42 iCal
$ cp /Applications/iCal.app/Contents/MacOS/iCal ~/iCal
$ ls -la ~/iCal 
-rwxr-xr-x  1 taiko  taiko  9123088 Sep  4 17:16 /Users/taiko/iCal

OK! So, I copied a file, and as you can see, the size of the file is the same when I started and ended: 9123088. This is what you'd see with SuperDuper!, too (except with the ownership and stuff preserved). So, everything's cool, right?

Well, no. At a lower, block level:

$ du /Applications/iCal.app/Contents/MacOS/iCal 
6776 /Applications/iCal.app/Contents/MacOS/iCal
$ du ~/iCal 
17824 /Users/taiko/iCal

Well, look at that: iCal, despite being copied with a system tool, is now nearly 3x the size in blocks after being copied, but the same size at a high level.


Needless to say, that's why we got confused. The sizes were the same. But they weren't... and you could only tell by looking at the amount of space the files took on the drive, not the file's size.

Note that cp, tar, Finder, etc all behave the same way with this: the file ends up getting expanded. The only one that acts differently, when given special parameters, is ditto, and that's likely because it's used by the installer (which puts these files on the drive in the first place).

We've got a good handle on this, and we're in the process of modifying SuperDuper! to retain the compression in the next update.

Some files get recopied every backup

We're aware that some files (specifically, files in /Applications, /System and /Library) are being recopied each time you back up, which significantly slows down repeated Smart Updates.

Our initial investigation has shown that while we thought this was related to prebinding, this is actually related to the compression issue, above. Specifically, compressed files, when they expand during copying, compare differently with flags and with certain time fields.

We didn't catch this because our confirmation tests didn't use compressed files. We did know that we were recopying files, but due to the fact that the end result was fine, and Snow Leopard shipped four weeks earlier than we expected, we just didn't have time to investigate the problem fully, especially since fixing it would involve the most critical and most time consuming to test part of SuperDuper!—something that we'd frozen many weeks before.

In other words, considering the issue was basically one of performance, we thought it was better to get the update out day-and-date with this known issue, than hold it back for the week or so it would take to investigate and fix (and then however long it took to test, based on what we had to change).

This should also be fixed in the next update.

Slower performance

We've had some reports of slower performance in the new version, which is more than a little weird, since the base-level copy calls are the same. Part of that is due to the re-copying, above, but we're looking into it further to see if there has been a regression, and if so we'll fix it as soon as we confirm and find the cause.

People aren't recreating their schedules

This version of SuperDuper! requires that people recreate their schedules due to some problems reading in parts of the old settings files. Many users aren't doing this, so we're trying to improve our error handling to detect and force the schedule to be recreated, rather than just asking people to do so.

UTF8 encoded URLs in AppleScript bite me again

So I'm an idiot. I can't tell you how many times I've attacked this specific problem in AppleScript, but I blew it again in the schedule driver in some cases, so drive names with some unusual characters (accents, etc) won't always run when scheduled.


I've already fixed this problem and it should be in the next update. It's been tested with both regular Unicode characters (e.g. ) and composed sequences (e.g. é). Note, though, that I haven't managed to get AppleScript to work with a drive named using the Alpha character (α) with backup-on-mount (reported by Glenn—thanks), because Finder fails when I try to use that character in a built-up path. Anyone who's awesome with this stuff in AppleScript please contact me if you have any ideas, because I'm fresh out.

Japanese users and backslashes

Back in the days of Panther, there was a weird bug where backslashes () didn't work in AppleScripts, because they were confused with the Yen symbol when you were in Japanese language mode.

That was supposedly fixed in the compiler back then... but in Snow Leopard, the problem seems to be back (it works properly in the Script Editor but not in the command-line compiler osascript), and I used some backslashes in the updated schedule driver. That's been fixed as well—thanks to Tohru for reporting the problem.

I think that just about covers the issues we're working on right now at a high priority... back to it.

SuperDuper! v2.6.1 released Saturday, August 29, 2009

Rather than taking the time to write a mildly amusing "we suck" press release that announces this day-after-the-big-release update, let me just say it fixes the stuff I mentioned in the last post, followed by ringing a dinner bell.

Come and get it!

A Quick Debriefing Saturday, August 29, 2009

It seems I always have to do one of these hey we released a new update and here are the two or three problems users have run into posts, no matter how long we test for, or how clean we think the build is.

Wouldn't want to break with tradition. That would be wrong.

So, hey—we released a new update yesterday: SuperDuper! v2.6. Perhaps you've heard of it? Well, there are a few problems users are having with the build, so here are some quick mentions of what we know about and our plans.

Problems enabling permissions/checking ACLs under 10.4.11

This is probably the weirdest one of all, because it doesn't happen on any of our 10.4 test machines (see the Cry of the Developer novel, coming to a technical bookstore near you).

We use the fsaclctl command-line tool to check the state of ACLs under Tiger and Leopard (although not under Snow Leopard, since it was removed when ACLs were permanently turned on). We did this in v2.5 as well, although there was a logic problem that caused us to not turn ACLs off on a destination if they were off on the source.

Well, curiously, fsaclctl, when used to turn ACLs off under Tiger on some systems, actually generates a low-level I/O error and fails. The curious and Tiger-y can try this with:

sudo fsaclctl -p /Volumes/some-volume -d

and some of you will see that it gives an error. Of course, only some, and all of you have already contacted me, it seems.

Anyway, since we can't really fix fsaclctl, we're working a fix-by-optimizing: we will no longer re-disable ACLs if they're already disabled and vice-versa. If you're using v10.4.11 and you're running into problems, you can use SuperDuper! v2.5 until we get the fix out (which shouldn't take too long).

Those damnable quotes

Ah, we fixed a quoting problem very early in v2.6's development cycle and—all smug like—patted ourselves on the back and moved on.

Alas, while we were moving on, we were scattering new quoting issues throughout some new parts of the code... and somehow missed them. But our users with volumes with quotes in them didn't!

The temporary fix for this is to rename your volumes and remove the quotes. You can put them back when the next version is released, so keep them safe.

Schedule recreation required

Although I put this in the release notes and in a FAQ, many missed it: to get the benefits of the new scheduling features, and to ensure compatibility with v2.6, your scheduled copies should be deleted and recreated.

Frankly, we'd love to do this for you. But we're concerned that users who have customized their schedule driver would end up losing data if we updated the internals "automatically"...

Very infrequent and bizarre ownership issue on Leopard

We've had two or three people who have been unable to get v2.6 to acknowledge ownership is enabled on Leopard.

We reworked ownership checks back during Snow Leopard's development when they removed the vsdbutil tool that we used to use, and decided to use AppleScript instead, asking System Events to get and set "ignore ownership" for the volume.

During testing, we found that System Events needed root permission to actually set ignore ownership, even though we were running an authenticated task, and would prompt non-Admins when it needed to be changed. At around this same time, Apple decided to put vsdbutil back into Snow Leopard, and so we moved to using it to set ownership, and scripting to check.

This went great during testing, but in the field, the scripting check isn't working for a few users. We have no idea why, but we're going to move back to a full vsdbutil-based approach (as was the case from v1.0 -> v2.5) until we can determine what's going on, or we come up with a better solution.

We kant spel

Yeah, the very last build renamed a button (from "Reboot Now" or something like that to "Restart Now"), which got fumblefingered to "Restar Nowt", because we're clever, detail conscious geniuses who were attempting an obscure and inaccurate reference to The Adventures of Buckaroo Banzai and blew it. We've corrected this to "Restarté Nowté" as was always intended.

Not really. Just a typo. Fixed.

That's about it!

I think that covers what's happened so far. We've got these issues fixed in house, and I think we're going to wait just a bit more time to make sure that nothing else serious is reported while we're feeling like we've got a handle on everything that's wrong.

Thanks for your patience and support, as always. One of these days we're going to release something and it'll be perfect, and then someone will send me a unicorn, and I'll ride off on a rainbow road to the land of chocolate and ice cream. I just know it.

Until then.

SuperDuper v2.6 released Friday, August 28, 2009

SUMMARY: Shirt Pocket announces the immediate availability of SuperDuper! 2.6 - improved and now compatible with Snow Leopard

Shirt Pocket is happy to announce that SuperDuper 2.6 is now available as a free update for all users. The new version includes full Snow Leopard support as well as many other new features, such as "Backup on connect", which, when configured, automatically backups up to a drive when it's connected to the Macintosh.

Of course, we didn't stop there. Version 2.6 improves over a hundred aspects of our 2005 and 2006 Macworld Eddy-award winning application, improving nearly every part of the program, from performance improvements and additional AppleScript capabilities to additional features like "Eject on successful completion" and support for the Sparse Bundle image type.

"SuperDuper! 2.6 isn't just a compatibility release for Snow Leopard" said David Nanian, owner of Shirt Pocket, talking to himself and feeling a bit Bob Doleish as he wrote the press release. "We've added many high-value features that our users are going to love, and it's an even better complement to Time Machine—all without any increase in complexity. With SuperDuper!, recovery from a disk crash is just a matter of rebooting from the backup!"

SuperDuper continues to support both Intel and Power PC Macs running Mac OS X 10.4 or later, including the latest 10.6 release, and is a free update for existing users. The unregistered version will perform full backups for free, and never expires. Registration costs $27.95 and includes many additional timesaving features, including Smart Update for faster backups, Scheduling, and others.

More information, as well as a download link, can be found at http://www.shirt-pocket.com/SuperDuper.

About Shirt Pocket

Shirt Pocket, based in Weston, Massachusetts, was formed in late 2000 as a Macintosh-only shareware creator and publisher. Shirt Pocket's first product, the 2004 Eddy Award winning netTunes, lets customers control iTunes on one Mac from any other Mac on the network with iTunes own intuitive user interface. launchTunes, Shirt Pocket's second product, made iTunes' playlist sharing practical by automatically launching iTunes on remote servers when needed. SuperDuper!, the 2005 and 2006 Eddy Award winning disk copying program that allows mere mortals to back up and restore their systems accurately and confidently, was released in January 2004.

Shirt Pocket was started by David Nanian, co-founder of UnderWare, Inc, and one of the original authors of the BRIEF programmer's editor and Track Record bug tracking system.

Monster Truck Friday (Friday, Friday?) Thursday, August 27, 2009

We've received some independent confirmation that the version of Snow Leopard we've been testing with these past few weeks is, indeed, the version that's shipping to users. So, at present, and as promised given those circumstances, I expect v2.6 of SuperDuper!, which is fully Snow Leopard compatible, to be released Friday, day and date with Snow Leopard.

SuperDuper! itself will detect and download the new version (unless you have that preference turned off), and you'll be able to download it from the usual links as well, when released.

Although the testing is not quite complete, I want to take a moment to thank all of the external testers who have been working with various builds of v2.6 since over a year ago, when the first external beta was released: without your efforts, we wouldn't be able to get the kind of coverage needed to help certify a release, nor the kind of feedback we need to confirm we're on the right track.

So, barring any last minute disaster, it won't be long now...

Page 6 of 25 pages « First  <  4 5 6 7 8 >  Last »