We've been pretty happy with the way v2.7's been behaving out there in the Big, Beautiful World, but as my previous posts indicated there were some bugs that we needed to deal with.
And deal we have: I'm happy to announce the v2.7.1, available today, has resolved the vast majority of them:
We've fixed the "too many open files" error, and the "index out of bounds" exception. While we were doing that, we improved our error handling even more, and added additional, more specific diagnostic messages during a failure that will help you (and us) pinpoint the cause of disk errors when they occur.
The statistics in the "status view" and in the log have been corrected. Previously, they were underreporting the number of files and bytes copied in some situations (even though the files were being copied as they should have been).
10.4.11 users had a minor problem with Growl notifications that has been dealt with, too.
A fix for automatic mounting under 10.8 is still in progress (it's not a simple fix, even though we know what to do).
That'll do it for now—we'll head back to the code mines to work the remaining seam while you surface dwellers enjoy.
Hope you had a great Labor Day weekend!
Permalink • Tell-a-Friend
Two blog posts in two days - shocking!
The rollout of 2.7 is going well: this is probably the smoothest new version release we've had. But, of course, when you go from "small batch testing" to "large batch testing", you find some things that slipped through the cracks.
Here's what we've found and what we're working on - save for the first two, these are all extremely rare (fewer than ten users affected by all the issues combined), but I thought they might be interesting:
As mentioned in the previous blog post, automatic mounting of ejected local volumes doesn't work under Mountain Lion when time-triggered schedules run. A fix is still in process.
Some users on 10.5 and earlier are getting errors during the update process. If the update doesn't install automatically, you can download it from the Shirt Pocket web site and install manually.
We've had a few reports of a "too many open files" errors in the log. This seems to have to do with some copy-retry logic for busy files. Investigation continues: if you're encountering this (unlikely), quit all active applications and retry the copy.
Another three or four users are getting an exception with an "index out of bounds" error. We're pretty sure this is related to folders whose case has changed on a case-insensitive volume: we're trying to optimize for that, and update the case of (rename) the folder on the destination, and in some situations this can generate an error. To work around the problem, do an erase-then-copy backup rather than a Smart Update (one time).
Finally, there's some kind of issue with utilities that mount volumes outside of the /Volumes folder (again, a very rare case): we're trying to descend into that mount, which will often generate an error. If this is happening to you, you can ignore the mount point/folder with a copy script by following the steps in the User's Guide.
That's about it! We'll continue feeding Xcode some Zwiebacks to get these few teething problems taken care of and get another update out as soon as we're done.
Permalink • Tell-a-Friend
The worst part about OS updates is that we can't talk about them.
I know other companies will sometimes discuss Apple's next version of OS X, and how they do or don't work with it, but we try to keep our mouth shut until it's actually out there and we're released from our non-disclosure.
That day is tomorrow, as I write this, and today, as I post it.
So let's talk about Mountain Lion and SuperDuper!
SuperDuper! is already Mountain Lion compatible
The version of SuperDuper! that was released last year, v2.6.4, was already compatible with Mountain Lion, with three exceptions:
SuperDuper! v2.6.4 is not signed, so it will get flagged as a scary-bad application with the default Gatekeeper settings. It's not, of course, and already installed copies of SuperDuper! should work fine.
Automatic mounting of ejected local volumes for scheduled copies does not work.
Most of you can ignore this, but for the technically inclined: while SuperDuper sandboxes work, sandboxing of Mountain Lion (for future Mountain Lion updates) doesn't copy the applications Apple added to Mountain Lion (e.g. Messages, Notes, etc).
SuperDuper! v2.7 is more compatible with Mountain Lion. Plus it's even better.
I'd love to say that we've been sitting around sipping Corpse Reviver #2s and relaxing full time since the last update. That would be pretty awesome, but, well, no.
Instead, we've been working to make SuperDuper! better in a bunch of significant ways, which include:
Faster file copies That's right, your backups will finish faster than before.
Better information during copying We now update the status window while large files are being copied, so you can get a better idea of what's going with your backup while you sit back, relax, and have a tasty beverage of your own.
Gatekeeper compatibility SuperDuper! is now signed, and will not generate Gatekeeper errors when installed with Apple's default settings.
Much faster startup SuperDuper! starts even faster, even when you have unresponsive network volumes attached.
Better copying of active files Applications that rapidly create and delete files during a backup no longer cause intermittent "vanishing file" failures.
Better handling of Time Machine As much as we wanted to copy the local snapshot (the .MobileBackups folder), it was in an uncopyable state too often. It's now ignored, which results in fewer backup failures.
Improved diagnostics We've worked around problems in Lion's (and Mountain Lion's) file copy APIs, and more accurately return errors when drives can't be read or written.
Support for Growl's latest version & Notification Center We now support the version of Growl in the Mac App Store, which means we also support its latest features, including Notification Center.
Still supports Intel and Power PCs; OS X 10.4.11, 10.5, 10.6 and 10.7 As crazy as it seems (and as much as a pain it's been), we still support versions of OS X released in 2005, and Macintoshes that that should have been made into fish tanks years ago.
In other words: we, clearly, are not smart, and those of you with older systems benefit!
Various other miscellaneous improvements Because we can't help ourselves.
Wait a second. You said "more compatible", not "fully compatible"!
You spotted a weasel word! Well done! Nothing gets past you, clearly.
Automatic mounting of local volumes is the one thing we couldn't get to work in time for Mountain Lion's release. (Backup on connect still works just fine.)
Basically, Apple is tracking where an application launches from, and seems to be preventing processes that launch from "cron" (one of the system schedulers), even indirectly, from mounting local disk volumes, even when that application is signed.
We found this late in testing, and tried valiantly to try to work around it, but were unable to in time. And given that it's undocumented (but really cool) behavior, I just couldn't justify holding up the release of v2.7 based on this one problem.
Don't lose hope, though: we're think we know how to fix it—initial testing looks good—so we'll release another version of SuperDuper! as soon as we get the fix fully implemented and tested.
How do I get the new version?
Start SuperDuper! and it will prompt to update itself (unless you've turned that off), or install it manually from the download at the SuperDuper! page at Shirt Pocket.
Yeah, but how much does the new version cost?
That's always the way, right? Show me the money, etc.
Well, we've never charged for updates, not since SuperDuper!'s release in 2004. Not once. And we're not raising our prices.
The update is free. A SuperDuper! registration still costs $27.95.
And the unregistered version still never expires, will make full, bootable backups, and comes with support.
We know it's not the most profitable way of handling things. But as long as you—our users—continue to run, love and recommend SuperDuper!, we'll continue to do our damnedest to do right by you.
So there you go: thanks for reading this and for using SuperDuper. Enjoy the new version!
Permalink • Tell-a-Friend
Our previous was the biggest day of climbing before the Maratona, but today wasn't much smaller, with three passes to traverse on the trip from Canazei to Corvara. And once again, we'd be doing some of the passes that would feature in the Maratona, albeit from other directions: Falzarego and Valporola.
I'd been feeling a bit better over the last day, perhaps riding into form (such as it is) before the event. But this night threw me a lovely little loop: the Shirt Pocket server went down due to lightning storms and power failures in the Boston area around 6pm my time, while I was catching up on support that built up during the day's riding.
So after barely being able to keep up with (let alone balance) my personal and work duties over the past few days, the worst happened.
Unfortunately, by the time power came back connectivity wasn't restored, and it was a few sleepless hours before everything was squared away again. The backed up emails came flooding in, and I was up until some awful hour trying to catch up. Two hours of restless sleep later, I tried to finish more before breakfast, ate, packed and jumped back on the bike.
Passo Fedaia, Falzarego and Valporola: 41.1 miles, 6,357 feet of climbing
We started climbing almost immediate, up and over Passo Fedaia, and I have to say I don't remember a darn thing about the first climb. Nothing. I attribute that to a lack of sleep, mostly, or I was just in a make-the-legs-go-round zone. Whatever it was, less than an hour later we were at the top, with a view of the Marmolada glacier.
The descent after Fedaia obvious had our guides worried, because Enrico practically begged us to be as careful as possible on the way down: it was, indeed, steep, and unbroken is the man who takes advice offered in good faith. With that kind of pitch on the descent, it didn't take us long to start up Passo Falzarego (HC, 9.3mi, 2933 feet of climbing).
This was one of my favorite climbs of the trip, with lots of switchbacks (18, as I recall), beautiful views, and a great switchback-dug-through-the-mountain a few kms from the top. A nice bar at the top meant a delicious doppio espresso macchiato, and after a regroup and some snacks we headed up the small climb from Falzarego to Valporola.
Enrico encouraged us to stop and tour the war museum here, inside the Tre Sassi fort, which was an Austrian stronghold during WWI. A bit eerie to approach, since there was an authentically dressed Austrian soldier standing guard and smoking a pipe at the entrance, the actual exhibits were excellent and, as expected, a bit horrifying, including a display of the three-headed maces and clubs soldiers used to deliver the "ultimate blow" to the wounded soldiers who had been gassed.
A lot to think about during the long, twisty descent into La Villa the climb to Corvara: our home base for the next few days.
Permalink • Tell-a-Friend
Re-reading the last two blog posts, it's pretty clear I'm both out of blogging practice and at a loss for words that might actually describe this experience. Part of that is due to the nature of what we were all doing: how do you talk about exertion and sweating and momentary accomplishment in a way that might be even remotely interesting?
Sorry about that. Still tired, perhaps not fully processed. But I'll keep going just to get it out there.
It's funny, because I wrote a few emails to Zabeth to keep her posted on how things were going, and she replied to one saying "yes, but how do you feel?"
My only response was: kind of blank. I didn't mean that in a negative way, either. I don't do a lot of thinking on the bike. It's not exactly "downtime", but you're so focused on the activity, the beauty, staying upright, being considerate of others on the ride, etc, that there's not a lot of space for deep, meaningful thoughts.
You almost feel like one of those professional riders at a post-race interview. Asked about the race, the comments that come back are nearly always pretty simple and banal: "I'm just so happy", "I'm glad it's over", "We rode hard today".
But that's what comes to the front. You're happy it's over. You rode hard. Tomorrow's another day on the bike, another great meal, another beautiful climb, another fast descent, another hotel, another shower, another restless sleep.
They're all the same, but they're all different, and those differences are hard to describe. The shared camaraderie of the group, the little jokes and comments as we, separately-but-together, push and pull our way up thousands of feet, across the miles, struggling sometimes, spinning more easily others, trying to make sense of the rhythm and pitch of the road, the angle and curves of a descent.
Your thoughts, in the end, are simple, because you're part of a machine. You have a job to do, to partner with your bike and get up and over and down these mountains.
So you do it.
Terrible movie, if you've seen it. But it's hard to argue with the natural beauty all around–those mountains Stallone fake-climbed (he's afraid of heights) were the Dolomites. And they're spectacular. Huge, sheer limestone cliffs jutting up out of treed slopes; blasted and dug holes that were filled with soldiers and snipers during World War I as the Italians and Austrians fought and killed each other (not that any war is good, but WWI's trench and mountain warfare was just awful).
The result of Italy's victory was Sud Tyrol, northern Italy's unique combination of cultures, languages, architecture and cuisines. We rode from Bolzano to Canazei, up and down these roads, the limestone above turning the mountain streams a silvery-white, and not even the sweating and struggling could distract (much) from the beauty all around us.
Passo Pinei and Passo Sella—42 miles, 7750 feet of climbing
Despite the beauty, there was one thing on all our minds: today was the biggest climbing day yet. But even though both passes were difficult, the weather cooperated, the climbs varied, and the time passed more pleasantly than the day before.
Passo Sella is especially beautiful, and we'd be doing it again in the Maratona later in the week, so it was nice to get a chance to "scout" it a bit.
Due to my own total lack of knowledge, which you can read as "sheer ignorance/forgetfulness", I was constantly surprised at the number of ski lifts and runs all around us. Well, it turns out that this is all part of Dolomiti SuperSki which, with one ticket, lets you ski virtually everywhere we'd been and where were were going, all connected by an incredible number of lifts and trails. It's kind of like the Trois Vallées area, except, well, bigger (and, from what I can tell, more family oriented).
Anyway, we descended off the Sella into Canazei to a lovely hotel called La Cacciatore (right next to a ski lift, of course), had a delicious meal and slept like dogs.
The next day we'd be heading to Corvara and our final hotel (the first where we'd get to spend more than one night), to scout more of the climbs we'd be doing in the Maratona...and to get a feel for the incredible number of riders who were flooding the area during Race Week.
Permalink • Tell-a-Friend
When you're pushing a way up a climb, going 12kp/h or whatever you're managing, panting and aching, it's humbling to think about how quickly your typical professional cyclist can manage the same thing. Of course, it's their job, and (and I mean this in admiration) they're basically mutant superheroes as well.
We had a reminder of that at the top of the Stelvio when, as a group of us were standing there patting ourselves on the back for getting to the top, a group of riders in Quick Step gear came up over the top so fast they knocked us all back on our heels.
We all went silent for a moment, and I know what I was thinking: wow, no matter how long I do this, no matter how many mountains I climb, no matter how much weight I drop, no matter how many intervals I do, I'll never even approach that. And they weren't even pros, as far as I know. Really amazing.
It's not just ascending that's challenging, though; descending is quite difficult as well. You need to control your speed, pick just the right line through the turn, brake at the right time, keep your weight on the right pedal, with your body lined up right with the bike... and everything, as you whip around the corner, is precariously balanced on a 1" strip of rubber against often broken pavement.
And the people who are good at this—I mean really good—are incredibly, unbelievably, going-70-mp/h-down-a-scary-grade-and-whipping-around-corners fast. And they're doing this on a road that's shared between cars, bicycles, motorcycles, walkers, buses... but even on a closed road, it's hard to believe that they're doing what they're doing.
I'm not a terrible descender, and I find it fun, but again: totally different league. And so, we picked our way down the 48-plus hairpin turns, brakes squealing, hitting pretty high speeds and hoping that nothing would go wrong so early in the trip.
Thrilling, nerve-wracking and successful, I'm pleased to say, and we met for lunch in a town at the bottom.
The total: about three hours of sweating up. About 20 minutes of heart-in-your-throat wooshing down.
A ride to our next hotel, the Hotel Hanswirt (a really fantastic hotel in Rablá), eat-work-sleep-eat and we're off again.
Passo Paladi & Passo Mendola—51 miles, 5402 feet of climbing
The third day was beautiful, sunny and hot from the get-go. Feeling kind of happy that the Stelvio was done, I went out faster than I should have and Paladi, an 11 mile HC climb averaging about 7.4%, decided to teach me a slow, painful, sweaty lesson.
Every climb has a personality. The Stelvio was hard but varied, with a lot of switchbacks and beautiful scenery. Our legs were fresh. We were ready to test ourselves. But for me, at least, Paladi was a slog. There were very few turns. The sun beat down, making the high humidity even more oppressive, and any shade was few and far between. Getting up to the top was a confidence-sapping, nearly two hour Mom-are-we-there-yet struggle.
But it got done.
Passo Mendola, despite being Cat 2, was comparatively easy and dispatched pretty quickly: a relief. Lunch, followed by a fun, fast, twisty descent towards Bolzano, brought us to the city's incredible bike trail system.
I don't think I've ever been to a city quite as friendly to bicycles as Bolzano, something I didn't notice when I first arrived for my brief stay before the trip started. There are a huge number of extensively used bike paths. No cars are allowed in the middle of town, which is a pedestrian mall, surrounded by beautiful scenery.
It's really a lovely town... and, after the typical dinner-work-sleep-work-eat-pack ritual, we left it all too soon for what was scheduled to be our biggest climbing day yet.
Permalink • Tell-a-Friend
My original plan was to blog about the Maratona dles Dolomites, and the week leading up to it, while it was happening. It'd been a while since I'd written things with any regularity, and it seemed to be a good way to get started again.
Given the length and intensity of the cycling, and the amount of work I had to catch up on in the morning and evening, there was just no real way for me to execute that plan while still getting a few hours of sleep every night. And I definitely needed sleep.
So, plan B was to tweet occasionally and write things up after-the-fact.
Welcome to Plan B
As I wrote before, I'd tried to train as much as I could during the months before the event, both with and without friends (the great group of enthusiastic and knowlegeable folks at Ride Studio Café in Lexington). I'd configured and packed up a fantastic titanium bike from Seven Cycles, a great Axiom SL with couplers that fit me perfectly and could break down into two pieces. This allowed it to be packed in a small case, the Co-Motion Co-Pilot about the size of a wheel and less than a foot deep (26"x26"x10") - easily checking as regular luggage and, with handle and wheels, rolled onto planes and trains and through the streets of Italy as needed.
Honestly, if you're doing any kind of serious cycle-touring, a great bike with couplers and this case is a fantastic way to go. I can't speak too enthusiastically about either the bike or the case.
I booked things so I arrived in Bolzano a day before the main group (relatively late at night due to the flights), and stayed a night at the Stadt Hotel Città, who were kind enough to feed me when I came down to dinner a bit late after catching up with the support email that'd come in during my travels.
The next morning, I met the host of the FredCast, David Bernstein, during breakfast: it was great to put a face to the voice, and as he wrote in his own blog, we were both quite worried about the first real day coming up, climbing the Stelvio. (David blogged his impressions of the trip in far more detail than I'm going to, and he took a lot of great pictures - you can find his posts and pictures here.)
Warm-up Day—15.2 miles, 810 feet of climbing
Our guides, Enrico and Massimo (both great people and cyclists) were at breakfast, and we met with a number of the other people on the trip as we headed out to the shuttle that would take us to Glorenza, a great village, and our first hotel, the Hotel Post Glorenza, a beautiful and comfortable way to begin our tour.
The morning brought bicycle assembly (which took less time than expected) and a short ride to shake out the legs and highlight/resolve any mechanical problems. Three of us (not including the guides) had brought our own bikes, and one of them was a Seven Axiom, which was great to see.
The first ride was short, including a brief extra loop up the approach to the Stelvio, and it was fun talking, getting to know and riding with the others on this adventure. A delicious dinner and restless sleep later, our adventure began in earnest.
Passo Stelvio (The King)—61 miles, 6495 feet of climbing
It's hard to describe how incredibly different the riding in Europe is compared to what I'm used to. On my normal rides, we might have 2000 feet of altitude gain, but that's often done a few hundred feet at a time. Elevations rarely go over 1000 feet, and a typical climb takes 10 minutes or so.
Compare that to the Stelvio, which was around 13 miles and over 5000 feet of elevation gain, averaging well over 7%. A real HC climb (well, category 1 in Italy, since there's no HC).
Never done anything like that before. And, frankly, I had no idea how to pace myself. I don't know what my zones are, don't train with power, and rarely use my heart monitor thingy (which wasn't working anyway) so, well, I just tried to stay in a comfortable-but-not-relaxed zone. There was a lot of climbing to come, and it didn't make sense to hit everything hard.
And, well... it was tiring but fun! The scenery was beautiful, the company pleasant, the bike worked well and before I knew it I was confronting the famous figure of Fausto Coppi.
I remember thinking it was absolutely crazy to have us climb this particular climb so early in the trip, but now I completely understand why: if we could do this (and we proved we could), there was nothing coming up that we could not do. It was a huge confidence boost to get up (and down) this famous climb, and I think we all felt that, after all the pre-trip doubts, we were actually ready for what was to come.
And there was a lot to come.
Permalink • Tell-a-Friend
For SuperDuper! users, I'll cut quickly to the chase here: we should be releasing an update this weekend that resolves the few issues that inevitably arise when a new update comes out. Thanks for your patience as we worked through the issues, and thanks to the users who helped us by running special test versions to ensure we had the problems fixed.
This is a bit of a stressful time to be releasing an update, as I mentioned before: I'm in Italy, training for the Maratona dles Dolomites, which happens tomorrow.
My schedule has been kind of crazy, as everyone suddenly remembers they have to back up before a major OS release (and given the minor issues we've been dealing with): I get up around 5-6am, answer as much email as I can before 7:30am, join the group for breakfast and route review, pack (we were moving to different lodging every day before today), get on the bike, ride over mountain passes until evening, shower, answer email until 7:30pm, eat, and then work from 9-10pm until sometime after 1am.
Our total activity so far, pre-Maratona: 210 miles of cycling over about 18 hours and 31 minutes, with 26,813 feet of climbing. Tomorrow's event will add up to 85 more miles and 14,000 feet of climbing over a long day with thousands of other cyclists from all over the world, for a trip total of around 295 miles and more than 30,000 feet of up.
Now, for many people (and you know who you are) that's really not that much. But this is the first time I've done anything quite this strenuous, and combined with a full day of work it's been mentally and physically exhausting. But I knew what I was in for when I signed up: the riding's been well planned, guided and supported, and SuperDuper users have (for the most part) been pretty understanding, so thanks!
With that, on to more detailed information about the update. Assuming final confirmation tests go OK, it should come out today (Saturday). Full information about the update is in the release notes, but I wanted to highlight a few items here.
First, we've fixed the problem with Tiger (10.4) where most AppleScript-based actions didn't work, including scheduling and post-copy actions like Shutdown and Restart. As soon as we determined this was a problem, we turned off auto-updating for 10.4 users.
This problem was due to a misconfigured build script that compiled our dictionary for 10.5 and later rather than 10.4 and later.
It's getting harder and harder for us to maintain compatibility with Tiger, and doing so is preventing us from using the new APIs introduced in Leopard, so I expect that we'll continue with our policy of supporting two OS versions back with new releases of SD! when Lion comes out. We'll still provide support for Tiger users, of course, but new versions will not be compatible as we move forward.
Many Leopard users found that the v2.6.3 was generating errors with their system log, asl logs or some other 'active' files. As above, as soon as we received a few similar reports of this problem, we turned off auto-updating for 10.5 users until we could run down the problem.
It turned out that some new, more aggressive post-copy error checking was a bit too aggressive on 10.5, and when users had very active system logging (due to various system errors that were getting written multiple times a second), a failure to verify file size (etc) information post-copy caused us to raise an I/O error for the file.
We've loosened up our check a bit here to avoid this problem, while still doing additional verification to catch more problems under all OS versions.
So there you go: auto-update will be turned back on for 10.4 and later sometime today, and you'll be able to enjoy improved operation while I enjoy a rest day off the bike.
As always, thanks for your emails, support requests, registrations and comments!
Permalink • Tell-a-Friend
There's a certain way I like to release a version of SuperDuper, or any application, really. It goes something like this:
- We plan a healthy mix of fixes, tweaks and features.
- Those new features are designed and implemented.
- 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".
- 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.
- 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.
- 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.
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