Bug Bytes: Daniel Jalkut

Daniel Jalkut, maker of the popular blogging app MarsEdit and the scripting utility FastScripts, has been coding for the Mac for nearly 25 years. Yet like any developer, he has screwed up. Here Daniel shares one of his more spectacular stumbles.

The gaffe

As a developer, your number one fear is data loss, because there’s no going back from it. So imagine my horror when I got an email from a customer that said, “After I run a script with FastScripts, I can’t edit the script anymore.”

FastScripts makes your AppleScripts easier to access—or to execute with a keystroke.

I had enabled a feature of AppleScript that can update the script each time you run it, thinking it would be something people would like. [The feature allows for some very useful types of automation.] What I didn’t realize was there are options for how AppleScript saves the script after it’s updated; I had chosen the one that saves with no source code attached.

As a developer, your number one fear is data loss.

—Daniel Jalkut

It’s like if you opened a rich text file, fixed a typo, and saved it, but the app saved the document as plain text. Yeah, you saved my data, but I wasn’t expecting you to strip out all the information about formatting, font sizes, colors, and all that.

Anybody who had downloaded that version of FastScripts risked deleting the editable versions of their scripts. And it was insidious, because you didn’t know the data was gone. You could run a script; you just couldn’t edit it again.

Lesson learned

After that, I started testing everything a lot more diligently. I also became more cautious about using new features. At the time, this feature looked like a no-brainer. But there was this nuance in the options that made all the difference. Thanks to Time Machine and easy backups, the risk of data loss is lower these days. Back then, when you screwed up and lost somebody’s data, it was for good.

    MarsEdit 5 - Blog Editor

    Publish to WordPress and more


    Black Ink 2

    Solve crosswords in style