I’m a bit late on week notes this week because I spent most of the weekend hacking on When Comes. The app is far enough along now that I'm confident that my design will work. I’m in the process of selecting the individual framings, but I need to translate my coordinates into a consistent space so I can make useful notes (linear algebra FTW). Thankfully, the project is at a stage where I know exactly what to do next—I feel as if I’ve been struggling the past couple of weeks to get UIKit to do what I want without any clear idea of what my next action is other than to make it work. It’s not unusual to hit patches like this in a project, but the only way out is through.
I picked up a couple of books on Clojure this past week. I’ve been wanting to use the language for a while, so I’m just diving in. The biggest problem I have with Clojure so far is that I’m becoming dissatisfied with Ruby and object-orientation (as most of us practice it), in general. I’ll likely have more to say on Clojure as I continue using it.
Actually, I’ve been thinking about my tools a lot lately. A while back I wrote about the desire to pull all of my content into a single, unifying space. I was wrong—the most valuable features of my tools are in the seams, in the freedom to mix and match. As Mark Bernstein notes, the trade-off is in the context-switching. But this is also why I find it hard to get work done on an iPad—in iOS, context-switching is more expensive, and it is rare that individual apps map one-to-one to the task at hand.
My tools are complex. Take Git for example—at work, I find myself regularly saying things like “I forced the push after rebasing, so you’ll need to retrack your working branch.” The actual commands to do all of that are worse, and I know them by heart. But Git makes coordinating changes to the same code across multiple people and multiple, simultaneous projects easy (or, at least, easier than it would be without Git). Our tools are complex, but so are our needs. We should focus on simplifying the cognitive task at hand. Simple tools do not always simplify the task.