It’s always something #289 Thursday, August 24, 2006
Well, the rollout of the new netTunes and launchTunes went well except for one thing—due to what looks to be some API change in the Accelerate framework, the server was sending a purple iTunes image when running on Intel.
Since I’d done the original engineering and testing of the server way back in April, and hadn’t changed the server code, I skipped one part of my final testing… namely, checking the server on Intel. I verified that it started and that the purchase process worked, but I didn’t check its server functionality… big mistake.
That kind of thing always comes back to bite you, and bite it did. Took me most of the morning to diagnose and fix, but 2.3.1 was released to take care of the problem a little while ago. Sorry about that.
Shirt Pocket releases netTunes 2.3 and launchTunes 1.1
The Macworld Eddy Award Winning “No Compromises” iTunes Remote - now Universal!
Weston, MA – August 23, 2006: Shirt Pocket announces the immediate availability of netTunes 2.3, the latest update to the Macworld Eddy Award winning remote control for iTunes, and the perfect companion to Apple’s AirPort Express and launchTunes 1.1, the application that guarantees your shared iTunes libraries are available without all that pesky walking.
netTunes lets you control iTunes running on one Macintosh from another, using iTunes’ native interface. You get the same window, the same playlists, the same capabilities. You simply run netTunes and take complete control of the “remote” iTunes from any Macintosh in your house. It’s that easy — as easy as iTunes itself!
“It’s been a long time coming, but the new versions of netTunes and launchTunes are ready to go” says David Nanian, the founder of Shirt Pocket. “But we didn’t just recompile—we’ve taken advantage of both the Intel and Power PC platforms by improving performance across the board, and polished the user experience as well.”
netTunes and launchTunes are available for immediate download at the Shirt Pocket web site http://www.shirt-pocket.com. Users can evaluate all of the capabilities of netTunes for free for 30 minutes at a time; full licenses cost $19.95, and can be ordered at the Shirt Pocket web site, or directly from the application. launchTunes costs $7, and the Tune Suite—a bundle of netTunes and launchTunes—is offered at $23.95 - a $3 savings.
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 Eddy award winning netTunes, lets users 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. And its third, the Eddy award winning SuperDuper!, is one of the most highly acclaimed backup/cloning programs available for the Mac. All are available from the Shirt Pocket web site at http://www.shirt-pocket.com.
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.
Taiko Monday, August 21, 2006
A few quick pictures of Taiko as I prepare for the rollout of the new netTunes and launchTunes this week…
WWDC Saturday, August 05, 2006
Well, I’m here in San Francisco awaiting the start of WWDC 2006, and hoping it’s a bit more eventful than WWDC 2005 (which was a replay of WWDC 2004)… and I’m sure it will be.
Communication is going to be a bit slower during the next week or so, so if you don’t get a response to your emails, forum posts, etc for a few hours you know why.
And if you’re here in town at the conference, get in touch!
(As far as predictions go, I’ll let everyone else speculate about what’s going to happen… we’ll all know for real soon enough!)
Two Pounds Wednesday, August 02, 2006
The original plan was to bury Ketzl in the front yard, under her favorite bush.
I had wanted to do that pretty badly, and pretty irrationally—it was a purely emotional thing, without considering the practical matters: soil depth, future dogs digging in the same locations, garden destruction, coyotes. Not thinking, just feeling, wanting her there with us.
It might have worked with a small dog, but Ketzl was not—neither small in body nor spirit.
So convinced, first ice, then fire.
Delivered today via UPS: the remains of her private cremation. Signature required. Bubble wrapped wood box; small, gold lock; certificate; condolence card.
Two pounds of ash and wood to bury in her favorite spot, and feed her favorite bush: the same bush Taiko found on his own his first day here. Of all the choices available, his favorite spot.
Dog’s choice: I know it’s a good one, the one she would have made for herself.
And there you will be placed, Ketzl. Rest in peace, girl.
Meeses Monday, July 31, 2006
One of the problems with Bluetooth mice and the Mac is that virtually none of them supply drivers. So, your mouse might have a gazillion handy-dandy buttons, but you’ll only get the wheel + right/left click.
For USB mice, USB Overdrive was the way to go for a long time, to the point where it was pretty clear that Microsoft’s own mouse and keyboard drivers were being done by the USB Overdrive guy. But, unfortunately, he’s been unable to get the Bluetooth support out the door.
Apple’s recent Bluetooth version of Mighty Mouse is out the door, but it, too, has minimal capability—you just can’t do much with the extra buttons, at least, not much beyond what has been pre-programmed. (And don’t get me started on that idiotic side-button-and-way-to-move-the-mouse-while-clicking implementation… ugh. Sometimes, Apple gets it wrong.)
For all this, there is a solution: Steer Mouse.
Steer Mouse is a replacement driver, like USB Overdrive, that enables all the various buttons for all your 3rd party mice, Bluetooth or USB, and even allows your Mighty Mouse to work more flexibly. (Alas, like USB Overdrive, it’s a preference pane that’s not really a preference pane.)
Works a treat with every mouse I’ve thrown at it. Just make sure to turn off the default “Move cursor to OK” action—the system should never, ever move the mouse on the user like that.
Waiting… Sunday, July 30, 2006
OK! The testing of netTunes and launchTunes, its purchasing process, Universal Support and integrated store is complete. Things are basically ready to go, except for one thing—I’m waiting for a new version of the eSellerate Integrated Web Store library to be released.
This was supposed to go sometime a week or two ago, but unfortunately got delayed. It’s important, though, because the store installation procedure leaves a file in /tmp that, for some reason, Tiger feels is necessary to move into “Recovered Items” in your trash.
They’ve been working on a fix for that, and I’ve been waiting for that fix to become available. Any day now, I’m told, and I’m passing that savings on to you!
Routine Tuesday, July 25, 2006
With a puppy in the house, my routine has changed from the back-breaking (but rewarding) work of taking care of Ketzl to watching the new arrival like a hawk, ensuring that no inappropriate fluids or solids meet floor or rug, and entertaining/correcting as needed.
It’s a nice change, and concentrating on the pure joy emanating from the little one helps to fill the void left by Ketzl.
We think we’ve settled on a name: Taiko. Taiko has a number of meanings. It’s Japanese for drum—and, when you pat the side of a big Berner, they make a loud, drum-like thump. It’s also the person who rules in the Emperor’s stead—and, when we’re gone, the dog is in charge. Finally, Taiko drummers are typically in excellent shape, so it’s a wish for strength and good health.
And so, to Taiko: welcome! You have big shoes—and a big bed—to fill… but you’ve made an excellent start.
Missed Relay Saturday, July 22, 2006
At my feet, a puppy. Sleeping soundly after an anxious first night away from the pack, legs twitching ever so slightly deep in dreamland.
It wasn’t supposed to be like this. There were supposed to be two, curled up next to one another; the old girl and the young pup, side by side.
A few weeks ago, when Zabeth and I went to Chicago for Ben and Irene’s wedding, Ketzl stayed with Lee & Mike and their dog Red. And had a great time: she clearly enjoyed having a dog buddy around. When we got back home, you could tell she missed him, missed the sense of purpose correcting him had brought.
So Z & I talked about it, and decided that we’d get another dog, a puppy, for Ketzl’s sake and for ours: some overlap to brighten up the girl, give her a chance to pass on whatever knowledge she cared to share, to carry on the traditions she’d established, to boss around a bit. And, for us, transition—fur to cry on when the inevitable moment came.
The original plan was to do this next Spring, ten years after Ketzl first came into our lives.
When we got Ketzl, it took nearly 6 months, maybe more, of research, visits, discussion. This time, we planned to go back to European stock—to try to improve our chances of getting a dog without the health problems we’d run into with Ketzl. But, hopefully, to also get a dog true to the Bernese spirit, true to what made Ketzl so special.
Soon after our decision, Zabeth ran into a client at the hospital who had actually imported a wonderful dog from Germany. And, with the name in hand, a few days later I gave them a call.
We had a nice talk, got a good idea of their goals in breeding, the experience they’d had—a hundred years of breeding BMDs in the family, at a farm in Western Germany, among horses. True to the tradition. And shockingly, a litter was just becoming ready—and a puppy from it could be ours.
Six months last time. Six days this time. We were shocked. But it meant that Ketzl would have a companion, in just a week.
Incredible timing. We jumped.
And last night at 11:15pm the puppy arrived, German passport in hand. A wonderful male, bright and playful.
Alas, a day too late. Even after an incredible run, at the end we stretched, reached, but couldn’t hand the baton cleanly, couldn’t give Ketzl this last gift. But her smell is still here, her bed, her toys—a handoff of sorts, her presence in every corner, pillow, rug, surface, clearly detected by the new (still unnamed) puppy.
A puppy who’s ready, we hope, to be true to Ketzl’s memory: a valued companion, a loyal friend. Not just the farm dog, but the farmer’s dog: the one that came into the house, sat with the children...and whose presence and unconditional love made everything a little bit better.
Three Tufts Friday, July 21, 2006
In the end it was respiratory, as we knew it would be.
As I wrote yesterday, Ketzl had a bad night, and we couldn’t quite figure out what was going on.
But we should have known. After each loss of function, Ketzl became anxious, at least until she got used to the fact that this-or-that wasn’t going to work any more, and adjusted.
But it’s hard to adjust to a diaphragm that’s just isn’t working well enough to draw sufficient air. The heart tries to compensate by increasing its own rate, rushing the blood by the lungs to try to keep levels as high as it can, but it can only keep that up so long. And it can’t be comfortable, a 190bpm rate.
A bad night.
Followed by a pretty low day. She was tired—we all were—and lay next to me in my home office on egg crate foam I covered with a sheet, propped by pillows, trying to rest. She wouldn’t eat—never a good sign—but would take water. Occasionally, she would sleep, head sideways on a pillow, mouth open, panting. I did what I could to make her comfortable.
Later in the afternoon, to try to perk her up a bit, I took her for a drive. Windows down in the car, a cool breeze ruffling her fur. She lay in the back on the seat, raising her head occasionally to sniff, to try to look, and put it down on her paws. And panted.
Back home, I carried her downstairs and placed her on the floor, near the cool breeze from a fan. On her left side, she gasped for breath, clearly struggling. Thinking I’d put her down wrong, I propped her a bit more sternal and put her head on my lap. I checked her airway, which was clear, and got her water, which she drank. Her head rested on my thigh, on the floor. I went upstairs, put some ice in a towel and wiped her ears, pads, muzzle.
Around 7:30pm, Zabeth called on her way back from rounds. I told her she should hurry home, since something was wrong. Or tried to. Ketzl rested on my lap.
When she got here, we talked, cried, knew what had to be done. Originally, our cut-off point was going to be when she lost the use of her front legs, but when that happened a few months ago, Ketzl stayed bright, alert and happy. So, instead, we waited—waited for a sign from Ketzl.
Given, given.
I carried Ketzl back to the car and we drove to VESCONE. I had wanted to do this with our long-time vet, but it wasn’t to be: I couldn’t let Ketzl suffer for another day. VESCONE was nearby, and they had a nice room with carpet, a couch, fish. An attempt to provide a comforting space. Better than a stainless steel table.
Ketzl was placed on a gurney, a nylon strap holding her in place, a formality, given the fact that she really couldn’t move. She was comfortable, and had been given oxygen to help her breathe more normally. More relaxed, we gave her some turkey, some cheese. She ate for us, her last meal.
And we hugged her, and cried, and the Pink Hammer came down, and she was gone. Her eyes remained open, sunken, lifeless. I tried to close them—the freezer is a harsh place—but couldn’t. Icy eyes. I’m sorry, Ketzl.
We cut three tufts of fur and bundled them like sheaves of wheat: glossy black, chestnut brown and white. Bright white, the color of new snow, the snow she loved so. I wish I could have given her just one more glorious day.
We left the room, with her on the gurney. I closed the door and left the fish to watch over her, left the waiting room, desperately trying not to make eye contact with the people there.
At home, Z and I cried over a glass of wine, raised a toast to Ketzl. She was a great dog, and shared her life with us for over nine years, good times and bad. We loved her like a child, knew this was part of the bargain.
The light that burns twice as bright lasts half as long.
And she burned so very, very brightly.
Thanks, Ketzl, for the light you brought into our lives.