I’ve posted before about my personal “boat anchor” that keeps a Windows machine close by—Microsoft Money. There was just nothing close enough on the Macintosh to allow me to move.
I was a bit more successful replacing another bit of business, though: my document manager.
I used to use PaperPort/Pagis to manage my bank statements, receipts and the like, but neither product was available for OSX. (PaperPort had an old version of desktop that ran, kind of, under OS9, but it hadn’t been updated for years and didn’t work very well in Classic… and I wanted to avoid Classic if possible.)
PaperPort’s sheet-fed scanner—the Strobe—was a really cool little unit that let you push a bit of paper into it. It’d turn on, automatically scan the paper, launch PaperPort Desktop, and place the scanned document there, all pretty easily. Pagis didn’t work quite the same way, but did do lots of other cool little things like automatic document orientation correction, OCR to allow searching of a scanned document while preserving its graphical appearance, etc.
I found them pretty indispensable for years, as they enabled me to organize of the mass of paper that arrived—and continues to arrive—every month.
But, the scanner wasn’t Mac compatible, so I had to buy something that was. The only duplexing scanner I could find with a sheet feeder, at the time, was by HP: the ScanJet 5590.
At first, I tried to use its own ability to generate PDFs, but the thing generated absolutely huge PDF documents, even at low (200dpi) resolution black and white scans: we’re talking on the order of 25MB for a single, 20 page bank statement. And multi-page scans were a huge pain to knit together. Utterly unreasonable.
It took a while, but I was able to find a similar product on the Macintosh—Dominion Software’s Working Papers. It wasn’t perfect, nor was it as elegant as either PaperPort or Pagis, but it did the job.
Unfortunately, it was also plagued with a decent number of annoying bugs. And while the developer no doubt had the best intentions, it’s clear that the product isn’t in active development any more.
Not to mention the fact that the scanner has bad drivers, especially in combination with Working Papers’ TWAIN handling. I was spending too much time mucking with drivers, working around crashes, skipped pages, unreadable scans… quite frustrating, and because of that, over many months , my system fell apart and paper began to stack up.
Well, I’m happy to say I’ve found the solution. Fujitsu (Fujitsu?!?) has released a Mac-compatible version of their ScanSnap scanner, the memorably named Fujitsu ScanSnap fi-5110EOXM (affiliate link). This scanner does duplexed, color scans at 15ppm, has an excellent paper feed mechanism that doesn’t seem to jam, has a decent driver that doesn’t crash, comes with Acrobat 7, and generates excellent quality, well-compressed scans. And a higher resolution, multi-page, color PDF from it is smaller than the one-bit, black-and-white compressed scans, in a proprietary format, that I was getting from the HP/Working Papers combination.
As they say, w00t!
There are some downsides:
- It doesn’t work with anything but Acrobat, as the driver isn’t a standard TWAIN driver.
- The driver is a standard “application”, and occupies space on your dock when running.
- The Macintosh version only comes with Acrobat and the driver; the PC version comes with a full software suite including a standalone paper management application, business card reader thingy, and a $40 rebate, making it cheaper than the less-capable Macintosh version. The Mac version is white/aluminium, but it’s like putting a sock over the boot that’s kicking in your teeth. But at least they released the Mac version, so kudos for that.
- Scanned documents default to a single file location, with an automatically generated name, rather than being an untitled document in Acrobat that can then be saved to the location of your choice. So, it’s more awkward than it needs to be.
- Acrobat 7 is kind of slow doing OCR, if you want the scans to be searchable. But at least it’s possible!
But, they’re relatively minor points. The ScanSnap is an excellent unit that I highly recommend to those who need to do—or have considered doing—document management.
As two of you know, SuperDuper! has provided an AppleScript interface for some time. We’ve used it to provide the rudimentary scheduling in the v1.x series, and we’ve enhanced as necessary to improve the experience in v2.0.
But, one rather tricky thing fell out during the process: users can (and will) schedule any number of backups in ways that might overlap, or even start them at exactly the same time. And, given the nature of a multi-processor machine, and the fact that each “scheduled job” is an AppleScript external to SuperDuper! that has no knowledge of the other scripts around it, there had to be a way to serialize execution or the scripts would all interfere with each other.
In the v1.x series, we’d put a rudimentary system in place: the script can ask about the current status about SuperDuper! and—if SuperDuper! is busy running another copy, it’ll say just that, and the script just waits until it’s done. This was mostly done to prevent the script from “grabbing” the interface away from a user who’s actively using SuperDuper!.
But, with v2.0, it’s trivial to schedule two copy jobs for the same time, and with the old technique both could be told that SuperDuper! was, indeed, idle. And then, both would try to run at the same time. Clearly, it’s unreasonable to ask users to schedule their own backups in a way that would take this into account: we had to handle it internally.
Of course, another way to handle this is to break SuperDuper! into a true background engine, and have the UI and scripts all “drive” this process (or processes). But, beyond breaking existing scripts, doing so required enough reengineering to push it well beyond the scope of this particular release, much as it would have been cool. Gotta ship sometime, you know?
So. Bruce and I talked about this for a while, and Bruce came up with the idea of just changing the status into a queue. The first process who asked for status is at the front, and only the guy at the front gets the real status at any given time: every other script always gets “busy” until they move to the front of the queue.
Nice, simple solution and—apart from various tricky bits that always plague any solution—it seemed to do the trick.
Which led to another problem. To try to match user expectations, the scheduled jobs try to leave SuperDuper! in the same state it was in when they started. So, if SuperDuper! is running, we leave it running; if not, we quit when we’re done.
The scripts are responsible for this state preservation. And, once again, when launching at the same time, on fast systems both would see SuperDuper! as not running, and would take responsibility for quitting. To avoid quitting the application out from under the others, each would be waiting for the other script to finish… and then, due to the deadlock, SuperDuper! wouldn’t ever quit.
Great.
More discussion, and another simple solution: the quit command basically waits until the queue is empty, and all external processes are done, before it does its thing. And this simplifies the scripts, too, because they just don’t have to worry about it.
And, all without changing the script dictionary… not too bad!
So, we’re sweating the details here. Or trying to.
Hey, looks like Jonas Salling has released Salling Clicker 3.0, with both a Macintosh and Windows version! Very cool—here’s hoping that one of the hardest working men in shareware gets lots of new customers.
Blogrolling in our time… Wednesday, October 05, 2005
Looks like Rich Siegel, of BBEdit fame, has started blogging. And he’s ragging on bad drivers! Go Rich!
(And don’t miss the great Oktoberfest Special they’ve announced over at Bare Bones. $99 is an incredible bargain for the exceptionally well regarded editor… if you’re even remotely thinking about snagging a copy of BBEdit, now’s the time!)
Yeah, OK, so the technical definition of a Beta test is that it’s feature complete. But, that’s not how I’ve ever really done it. I consider a Beta a build sent to external testers that’s stable and usable. And, SuperDuper! v2.0 has been in this type of testing since November 22, 2004.
Yeah, that’s right. We’ve had 70 external testers pounding on v2.0 since last November.
The testing has been going great, with very few problems reported, especially considering how much has been changed over the months. And I’m happy to say that we reached an important milestone yesterday: the last new feature of v2.0 was finally released to our external testers. We’re feature complete. Things are working really well.
I feel like I’ve been at sea for a year and have just sighted my first gull. Land can’t be far away!
As a long time Mac user (since 1984) a have one really big complaint about MacOSX, and that is the incapability of the Finder to easily copy a bootable System folder to an external disk and boot from there. Enter SuperDuper!, a 20$ software for MacOS X, that allows you to copy entire disks, even in the unpaid version. The paid version has tons of additional features, but all with a really easy and understandable user interface. Highly recommended and compatible with MacOS X 10.4, too.
via teddythebear: Thanks, Mr. Bear!
Greenman Monday, September 12, 2005
Given the amount of traffic he’s been getting, I’m not sure he needs another plug from me, but Shaun Inman’s Mint is a terrific new webstats package that focuses on clear presentation and extensibility.
Mint’s a framework that supports a plugin architecture called Pepper, and there’s already a vibrant 3rd party community doing great things with it.
Mint’s not perfect: it requires a teeny bit of Javascript on every page to do its magic, had some problems in its initial release, and its side-by-side panel presentation doesn’t always make good use of space (which it sacrifices for consistent layout).
But, that said, the overhead is minimal, the configuration (now that he’s past the teething stage) is easy, and the information provided is invaluable.
Great stuff; recommended to those with a commercial web presence.
Right after Tiger arrived on my doorstep, I went shopping for a firewire harddrive. I waded through a ton of reviews and finally settled on an OtherWorld Computing Mercury harddrive. So far it’s working very well. Although I could have used the included Retrospect program, I opted to go with a shareware program named SuperDuper!. And that was probably one of the better choices in software I’ve made. As soon as I used it, I knew it was worth every penny of the shareware price (which I immediately paid). Sometimes, I look at a piece of software and have a debate about whether the fee is worth it, whether there might not be something out there that’s freeware or open source, whether I’d rather just use something that’s produced by one of those big software companies…but there was no debate about this one. I fired up this app and just knew.
via Ms. Cranky Pants Techie Geeky Mac Stuff (Thanks, Alice!)
Just noticed this:
Painless disk cloning - Just a quick plug for SuperDuper which may end up joining DiskWarrior as my must-have Mac utility. It does exactly two things very well: a) it creates bootable DMG clones of Mac disks and b) it lets you very easily update the disk images using boilerplate or customized scripts. Part 1 has historically been the domain of Carbon Copy Cloner — a great little app. One thing SuperDuper adds is a simple interface for scripting the items/folders you do and don’t want to clone as well as how you want them to behave (new vs. changed, etc.). This basically means you now have a perfect copy of your drive that can be restored very easily in case of calamity. Ditto for doing a “safety clone” before you install a bunch of dicey system upgrades. Highly recommended utility.
via 43 Folders: Thanks, Merlin! (and don’t miss Merlin’s classic 5ives, either!)
Summer’s Cauldron Tuesday, September 06, 2005
Well, summer’s almost over, and I haven’t done a Ketzl update for a while. So, here’s perhaps more than you wanted to know. (As with previous posts of this nature, I hope the details involved help others who might find themselves in a similar situation.)
K’s disease progresses. We slow the inevitable with exercise, physical therapy, drugs, harnesses, wheelchairs: whatever we can.
In fact, if you’re wondering why Shirt Pocket technical support is slower than usual on some afternoons, it’s usually because I’m down in Walpole, MA at Sterling Impression. There, Ketzl gets massage, electro-stimulation, and hydrotherapy from the fine people there. It takes a few hours out of the middle of my day once a week, but I feel it’s time well spent.
Up until a few months ago, Ketzl was able to use their water treadmill. Alas, her rear legs are no longer under any kind of conscious control, and are almost entirely atrophied: bones covered with a teeny bit of muscle and tendon where there used to be large, strong, cart-pulling tree trunks. So, she now does laps in the therapy pool (22 last week—she was rarin’ to go), wearing a life preserver to improve her buoyancy.
After the swim, it takes me nearly an hour to dry her completely, which is important since she spends so much of her time lying down: you don’t want her to remain wet, as it tends to lead to hot spots.
Although her front limbs continue to weaken, she’s still able to support herself, and we use her wheelchair to walk every day at 80 Acres—some conservation land near my house. There’s a pond there, and it’s always a bit of a challenge to prevent her swimming—which (despite the momentary delight) would involve hours of drying. Her frustration is palpable, but I try to alleviate it with a cookie or two: an effective tactic!
Ketzl is, at this point, almost entirely incontinent, but it’s much easier to deal with than I had feared. Her patterns are regular and relatively easy to anticipate—and if we do things right, she goes outside when and where she’s supposed to.
When she’s in the house, we place her on an absorbant “diaper pad”, just in case there’s an accident. While they’re rare, they do happen—and this makes them very easy to clean up.
Part of the reason this hasn’t been a huge problem is due to a condition called “neuro bladder”. Basically, the muscles around the bladder atrophy along with everything else, and the bladder itself expands. The result is that she can hold an awful lot of urine before she needs to go—too much, in fact, so it’s important that we take her out often during the day.
The muscle wasting means we must assist her, which involves helping to position her rear legs, moving her tail out of the way, and putting light pressure on the bladder to help it empty. Doing this while also holding her back end up is a challenge, but Zabeth and I have managed to get pretty good at it over the past few months, and Ketzl has been very tolerant as we’ve figured out the best ways to help her.
Probably the most difficult part has been nighttime, as we’ve always let Ketzl sleep on our bed. Dogs with diseases like this tend to get a kind of separation anxiety at night, Ketzl included, and sleep erratically, occasionally whining or panting for an hour at a time. It’s not conducive to sleep, and I don’t think I’ve managed to get more than about two hours of continuous rest for many months. Recently, we’ve been giving her a light tranquilizer at bedtime, and it’s helped quite a bit—but if you see me around and it looks like I haven’t slept in weeks… well, basically, I haven’t.
So, there you go! Details aside, she’s doing really well. Dogs love “routine”, and there are a lot of routines involved in her daily care. She’s alert and in excellent spirits, with no noted depression or mood changes… in other words, she’s still Ketzl.
And while that’s a great thing, it’s also part of what makes this so incredibly difficult.