Ben Chinn

Slightly nerdy ramblings and linkage

DRY

DRY is a fundamental principle of programming which wikipedia defines as:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

Wouldn’t it be great if our own minds worked in the same way? If we only had to think about a problem once before coming to a solution, if we only had one way of doing a certain task, if everything in our lives had its own place certain and forever? David Allen was smart enough to have this figured out when he wrote Getting Things Done.

Central to GTD is the idea that there is a single point of capture: the inbox. Any idea, to do item, reference material gets captured in the inbox. Once the inbox is processed each of these gets represented as a single entity in the appropriate list or folder. Tasks get captured as single list items for the appropriate context. There is a single next action for any given project.

The pattern here is that everything in the system is singular and unambiguous. This has its strengths and drawbacks. One drawback is that contexts themselves may not be unambiguous. Some tasks may only be done on your computer at the office whereas others can be tackled there or on your home computer or your iPad. That’s a small downside. The upside is that at any particular time and place there’s only one thing to be done: the next action for that context. Not 27 priorities, but one task. I doubt it’s possible to reach that level. Certainly I’m not sure what the most important thing to do is most of the time. But knowing that there could be a single next action and trying to find it: that gives me hope.

Keeping a Sharp Edge

I just got a new chef’s knife and it’s made a huge difference to my experience in the kitchen. The knife I had before was of good quality and I took decent care of it through frequent honing and even sharpening with a stone. Still, recently I had begun to notice that it wasn’t keeping as sharp an edge as it used to. Prepping food took a little more effort, not much but a noticeable amount. There was a little less precision to what I was doing.

Then I saw the chef’s knife reviews on The Sweet Home and decided on buying their recommendation: the eminently affordable Victorinox Fibrox. I’ve been using it for several weeks now and this knife is super sharp, sharper than my old chef’s knife by a significant margin. I also recently purchased a Kuhn Ricon paring knife which was also an upgrade for me (and a steal at less than $10). At this point I’m seriously considering chucking all my other kitchen knives (except my bread knife of course).

A really sharp blade has made a big difference. Tasks that were a serious challenge before (e.g. segmenting a pummelo) are now enjoyable. I use less muscle and more finesse and feel more confident with every slice and chop. I also feel like a schmuck for putting up with knives that were good, but not great.

There’s a larger lesson here. Tools make a difference. The environment in which work happens can have an impact on the quality (and quantity ) of the work itself. Using the best tools makes work pleasurable, decreases stress and friction and opens up new possibilities.

Only a bad carpenter blames his tools, true. But good carpenters don’t use shitty hammers.

Starting From Scratch

About a month ago I started having problems with my work computer, a MacBook Pro. First the VPN stopped working. Then the keychain went haywire so I had to keep entering passwords for the same services over and over again. Finally I decided I had had enough and asked IT to wipe my machine give it a fresh install (after backing up of course). That was fine for a week and then my hard drive failed. Thankfully, because of the backup I had already done (seriously people, back up) I had all my files available and started from scratch again. I also had something else that proved extremely helpful: a list of everything I need on my machine.

When I started from scratch the first time I started a text file and as I installed software or settings added that to the document. I ended up with a fairly complete inventory of my Mac’s software beyond the stock install and then saved it as a gist. Referring to that document made setting up my machine much easier the second time around. Another key resource was 1Password with its storage of software licenses – much more handy than searching through email for serial numbers.

Of course what I need to install on a fresh machine may not match your needs. I highly recommend making a document like I did before you need it. Starting from scratch can be helpful in removing cruft from an old machine and doesn’t have to be that painful if you’re prepared.

Marked 2

Not content to leave a perfectly good application alone, Brett Terpstra has released Marked 2 as a paid update. Marked 2 is available for download on the web and the previous version is still available for purchase in the Mac App Store. This arrangement seems like it would be a bit confusing to potential customers though I understand the desire to divorce oneself from the Mac App Store, especially for an app that may be less dependent on easy discovery.

I purchased Marked 2 even though I have no need for it. I already owned Marked and had found it to do exactly what I needed it for: elegantly preview markdown documents. I write something in markdown, Marked shows me what that document will look like in HTML. That’s it. Marked had some other neat features that have been improved and expanded in Marked 2: document stats, export options and many other niceties I never used. Marked 2 offers even more features (keyword highlighting, CriticMarkup support, etc.) most of which I will never use. Still, I happily shelled out money for this application even though I’m generally pretty cheap. Why?

Here’s the deal: I will buy any software that Brett Terpstra releases, assuming there’s a good chance I’ll use it and the price is not exorbitant. That’s how much good will Brett has generated through his great blog and incredible (and mostly free) software projects. I’ve used many of these utilities, including his Markdown Service Tools, nvAlt, Markdown Editing for Sublime Text and TextExpander Tools. I’ve donated a little cash to Brett for these in the past (you should too if you’re using his stuff) but it’s not enough for the amount of value I’ve realized from his work. So whenever Brett decides to sell something he can count on my wallet springing open in response.

Oh yeah, Marked 2 also happens to be an absolutely terrific application.

Mobile Posting

I came across a post on Jackson Egan’s blog about a using git with mobile devices and realized this is what I had been looking for. This blog runs on Github Pages which means that changes get deployed through pushing git commits to Github. Since I do some writing on my iPad it would be great to post to the blog from there as well. Jackson’s suggestion of a remote staging server was the tip I needed to put the new workflow into practice. This post is a test of this mobile posting setup.

Update: It worked! I can now post to this blog entirely on a mobile device. Now if I can just get this SFTP workflow to work in [Editorial][003]

[003]: https://itunes.apple.com/us/app/editorial/id673907758?mt=8 ‘“Editorial in the App Store”