Work on Stuff that Matters

It’s easy to get caught up in the heady buzz of making money. You should regard money as fuel for what you really want to do, not as a goal in and of itself. Money is like gas in the car—you need to pay attention or you’ll end up on the side of the road—but a well-lived life is not a tour of gas stations!

Whatever you do, think about what you really value.
Tim O’Reilly, Work on Stuff that Matters: First Principles

Led Zepplin on Spotify

So, Zepplin is on Spotify now. I love my Spotify account, and it is bands like this that are a big part of the reason why I have an account. I bought all of Led Zepplin’s albums on cassette I can’t tell you how many years ago, but I never deigned to migrate all of that cassette collection to CD when those releases came out. Spotify has been great for me to catch up on a bunch of bands that I have not listened to in decades (ouch, but I suppose it really has been that long) without having to outright buy albums like I would with iTunes. I and II are both downloaded and ready for the morning commute tomorrow. Looking forward to reveling in these again.

That…

That first cup of coffee brewed from a french press that is fresh out of the dishwasher. Bad coffee is bad coffee, but a completely clean press can turn an okay grind into a surprisingly good one.

That wonderful diminishing effect holiday weeks have on the traffic in which I almost inevitably find myself along my fifty-mile commute. I actually have time to post something this morning.

That mix of both hope and dread at the remaining weeks of a semester when almost of the final assignments have been released, and the true scope work needed to be done in the next (less than) four weeks has been revealed.

That sense of calm that comes from finding out that others are in the exact same situation in their own words.

“When a wave comes, go deep.”

Another great one from the aforementioned site:

“If you could give one piece of advice to a large group of people, what would it be?”

“When a wave comes, go deep.”

“I think I’m going to need an explanation for that one.”

“There’s three things you can do when life sends a wave at you. You can run from it, but then it’s going to catch up and knock you down. You can also fall back on your ego and try to stand your ground, but then it’s still going to clobber you. Or you can use it as an opportunity to go deep, and transform yourself to match the circumstances. And that’s how you get through the wave.”
Humans of New York.

Parenting and Pinball

“It’s amazing how little ability we have to shape the lives of our children. You do what you can, but their personalities are predominantly formed by the times they live in, their friends, and other influences. Parenting is sort of like pulling back the lever of a pinball machine, and just letting the ball fly.”
Humans of New York.

There is a lot of great stuff on this page to read, but that quote really struck me as being very true.1


  1. I would offer a direct link to the quote and accompanying photo, but it appears this is a tumblr blog, which is requiring I set up an account to do so. Um, no? Great job undermining the spirit of the WWW, guys. UPDATE: Whoops. It appears that if the quote is clicked the browser goes to a dedicated page. If the “REBLOG THIS” link is clicked, then tumblr kicks in. Still, that smacks me as being bad UI/UX. This being a tumblr site is not obvious to me as a non-user of tumblr. I now see the “+ Follow Me” button, but that looks like Facebook and I don’t use that enough to make my clicking it to be useful. But, that’s just me, I guess.

Xcode, Mavericks, and OSA

It would appear that Xcode in Mavericks now shows certain Scripting Bridge warnings in the console by default. I upgraded to Mavericks Friday, started a debug run of a SB-using project and this appeared out of nowhere:

2013-10-28 09:14:42.849 Ratchet[2387:303] warning: failed to get scripting definition from /Applications/Adobe Photoshop CC/Adobe Photoshop CC.app; it may not be scriptable.
2013-10-28 09:15:08.048 Ratchet[2387:303] warning: failed to get scripting definition from /Applications/Adobe InDesign CC/Adobe InDesign CC.app; it may not be scriptable.

This appears to be neither actionable or able to be disabled, so not much use during runtime. Not that it matters to me anymore anyway.

Not quite as simple as all that

Nigel Warren:

The fact that iWork on the Mac has lost functionality isn’t because Apple is blind to power users. It’s because they’re willing to make a short-term sacrifice in functionality so that they can create a foundation that is equal across the Mac, iOS, and web versions. It will take time to bring these new versions of iWork up to parity with what the Mac used to have. In the meantime all platforms have to live with the lowest common denominator.

This is what I think, too. Doesn’t make it any easier to stomach if you relied on features that have gone away though. And let’s see how long “short-term” is.
Daring Fireball: iWork 13 is the New iMovie 08

This analogy falls short when discussing Applescript’s lack of support in iWork and its oftentimes murky support from Apple and its partners. From an application/GUI standpoint, sure, iWork is garnering the same reaction as iMovie and Final Cut Pro. Not that I want to point out the obvious here, but Applescript is not a GUI. Applescript is a programming language in its own right that extends the capability of any supporting application to well beyond the confines of its GUI. Looking at the current state of Applescript support is important to take into consideration here because there exists a deeper, more complex, history than what exists for iWork.

  • Search “Applescript” on Apple’s homepage, and there is no evangelism of any kind. There are, instead, links to developer documentation. What evangelism did exist has long since been migrated over to an external site run at one point by a freelancer specializing in Applescript solutions but now any clue of ownership is now hidden. What, exactly, is the Applescript community is to think of this? While there is nothing from Apple stating that Applescript support is going away, but there is an implication that Applescript is less than a second-class citizen in the Apple world, simply sent out to pasture and brought in for the occasional grooming. Attempts to improve Applescript’s profile are either weird or poorly implemented.
  • ApplescriptObjC was created to allow Applescript developers to create Cocoa applications in native Applescript, but it has some serious flaws. The source code file name changes from .applescript to .scpt upon compilation which destroys any links to included files. This is ultimately manageable but that just creates more ceremony before development can begin. Also, blocks are cannot be implemented in ApplescriptObjC, either.
  • Scripting Bridge, which goes the other way by allowing Applescript calls via native Objective-C (as opposed to using the NSApplescript class). But it relies on two command line apps that generate grossly erroneous or incomplete header files (with no tools for troubleshooting issues) and typically results in an API that is severely limited in scope by randomly not allowing the creation of certain classes.
  • Automator appears to be a bridge between budding power users that can’t code to those that can, but is a separate implementation in addition to Applescript despite both use the same frameworks. More work to implement another niche technology? Really?
  • Now we have a major name on the Mac, Adobe, allowing their Applescript APIs to fall apart and currently not allowing external script calls.

Given that context, iWork’s change in Applescript is not “the sky is falling” but rather the latest in a long line of dysfunctional behaviors from Apple.

If an analogy is sought of Applescript’s drop from iWork, then it could go something like this: For a certain class of “power users” (an analogy I equate to “people who drive trucks”), dropping Applescript support from a core application cutting off any further independent development and is akin to Apple dropping the Cocoa frameworks and Objective-C. Hard stop. There is no GUI to fall back on for what Applescript does for a lot of its users.

For that subclass of power users, those that have built processes and workflows that save their companies thousands of dollars and hours each year in productivity, any drop in Applescript support marginalizes those users into maintaining quickly-outdated systems. When talking about those power users, adding a “though” to “Doesn’t make it any easier to stomach if you relied on features that have gone away” is dismissive of the impact. The reaction from certain users is not about iWork but about the state of Applescript in general.

Given this affects a subclass of a subclass of all users, robust Applescript implementations are a relatively small niche. As such, support was never as solid or apparent as, say, Core Data. If support for a technology that I use to automate quantifiably money-saving processes is dodgy to the point where whole code migrations are required, then I, as well as others, will need to seek out more stable platforms. So, try to stomach that.