Category Archives: Career

U.S. Digital Services Playbook

Today, too many of our digital services projects do not work well, are delivered late, or are over budget. To increase the success rate of these projects, the U.S. Government needs a new approach. We created a playbook of 13 key “plays” drawn from successful best practices from the private sector and government that, if followed together, will help government build effective digital services.
U.S. Digital Services Playbook

Three of the plays—1, 6, and 7—focus on people alone. Solid advice for any project.

Photoshop’s Bloat Exemplified

Everything wrong with Photoshop exemplified in one update:

pointless_photoshop_update

While I can understand Adobe needs to keep their software fresh to maintain sales, this is just plain old bloatware as far as I am concerned. I don’t need 3D modeling and manipulation in Photoshop. I need a scripting API that actually works so that I can create truly integrated workflows to save me time and money. This 3D update is instead a complete waste of my time and money.

“You don’t choose what will work. You simply do the best you can each time.”

From a blog post by Neil Gaiman in 2009:

Yes, it’s unrealistic of you to think George is “letting you down”.

Look, this may not be palatable, Gareth, and I keep trying to come up with a better way to put it, but the simplicity of things, at least from my perspective is this:

George R.R. Martin is not your bitch.

But beyond that initial blast is this really great gem that I think applies to any creative endeavor including programming:

Sometimes it happens like that. You don’t choose what will work. You simply do the best you can each time. And you try to do what you can to increase the likelihood that good art will be created.

And sometimes, and it’s as true of authors as it is of readers, you have a life.

I have started more projects than I have finished, each for their own reasons. “Finished” is entirely subjective, but in my case it would likely mean “used by someone else” and/or “used in day-to-day production by me.” Some unfinished projects get revisited, but most don’t, again each for their own reasons. Outside of important deadlines, not getting hung up on whether something is finished is important, at least for me. What is just as important, however, is learning something new from that project, including how not to do something. Each project I started has been a learning experience of some kind, so even the unfinished ones have value.

Having a deadline is another matter entirely.

Sleep as a Competitive Advantage

Too many of us continue to live by the durable myth that one less hour of sleep gives us one more hour of productivity. In reality, each hour less of sleep not only leaves us feeling more fatigued, but also takes a pernicious toll on our cognitive capacity. The more consecutive hours we are awake and the fewer we sleep at night, the less alert, focused and efficient we become, and the lower the quality of our work.

The research is overwhelming that the vast majority of us require seven to eight hours of sleep to feel fully rested, and only a small percentage require less than seven. The problem is that we kid ourselves. “Like a drunk,” the Harvard sleep expert Charles A. Czeisler wrote, “a person who is sleep deprived has no idea how functionally impaired he or she truly is. Most of us have forgotten what it really feels like to be awake.”
NY Times: Sleep as a Competitive Advantage

For me, nothing beats a twenty minute nap in the afternoon, maybe thirty minutes. Anything more than that is of little to no benefit. But that twenty minutes can make all the difference in the world for the rest of my day.

I think sleep is really only part of the solution to good productivity, and that exercise and a reasonable diet are needed as well for sleep to be its most effective. I say, “reasonable diet” in that there only a relative few out there that eat truly good all the time; some foods aren’t good for the waistline, but they are good for soul and are therefore irresistible.

I have been working on my health for the past several weeks by working through an exercise regimen from Nerd Fitness. I work out five days a week on average, for an average thirty minutes a day. It’s a well packed thirty minutes prioritizing intensity over time, and within only a couple weeks I found benefits in regards to how I feel overall. Even those nights where I only could get five to six hours of sleep I felt better than before I started working out.

Facebook Paper

Paper presents user updates as “stories”: captions overlaid on large-format photos, auto-playing videos, and even long or short text screeds all in an edge-to-edge, full-screen format. The default “section” in the app is the user’s Facebook news feed, but users can pull new sections up from a set of cards, such as “Headlines” or Tech,” and browse between them in one pane.

“Each section includes a rich mix of content from emerging voices and well-known publications,” Facebook says. This gives the biggest clue to the real intended creators for paper: brands, be they news outlets or celebrities.
Ars Technica: Facebook’s Paper is Facebook without the Facebook

Oh, look, yet another proprietary digital publishing platform targeted at publishers. How quaint. Here, let me add this to my pile of fifty or so I have over here.

“And in truth, I’ve never known a man worth his salt who, in the long run, deep down in his heart, didn’t appreciate the grind, the discipline. The difference between a successful person and others is not a lack of strength, not a lack of knowledge, but rather… a lack of will.”
Vince Lombardi

ars technica: How QuarkXPress became a mere afterthought in publishing

Quark’s demise is truly the stuff of legend. In fact, the story reads like the fall of any empire: failed battles, growing discontent among the overtaxed masses, hungry and energized foes, hubris, greed, and… uh, CMYK PDFs. What did QuarkXPress do—or fail to do—that saw its complete dominance of desktop publishing wither in less than a decade? In short, it didn’t listen.
ars technica: How QuarkXPress became a mere afterthought in publishing

Much of what happened to Quark and Microsoft is now happening with Adobe. I am increasingly seeing criticism of Adobe’s painfully high prices for questionable updates (primitive 3D objects in Photoshop? Why?). The difference this time, however, is that there is no alternative on the horizon. If I recall correctly, InDesign was rumored for quite a while before release. Even if InDesign ended up being vaporware, the enthusiasm was palpable but Quark appeared to simply not give a shit what anyone had to say; Quark’s hubris was just astounding. Today, Adobe has deaf ears if only because they have no compelling reason to listen.

Studies in Semicolons: The Parable of the Carpenter

The carpenter understands the value of something he works with every day, and that’s why he spends so much money on the hammer. But he also understands that value is a double-edged sword: he’s committing to the product he knows, that is reliable.
Studies in Semicolons: The Parable of the Carpenter

Replacing the subject of the punchline with other tools in which I have invested makes this parable applicable to more areas than I care to think about. Interestingly enough, Microsoft Office is not one of them.

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.