My Tools and Toys

I decided to start this article in response to a remark Linus Edwards made saying that although a tech blogger, he felt like a bad one given his lack of knowledge regarding the intricacies of RSS, which prevented him from keeping an accurate record of those subscribers. I faced a similar problem shortly after launching this site, but solved it soon afterwards. As they say though, every day someone comes into the world having never seen the Flintstones. Today I thought I would take some time to explain how I go about doing what I do here in the hopes that it will save someone time, energy, and frustration in the future, or just make their life a little bit easier through a new app or service they had previously never heard of. Before I can get into the nitty-gritty details of back-end sites and services though, I must provide a frame of reference by talking about the front-end devices and apps I use on a daily basis.

Right now I own an iPhone 4S. With few exceptions, I do all of my article discovery and capture on this device. Using Tweetbot 3, I check Twitter throughout the day, talk with others, and collect links for later with Instapaper. For RSS I use Reeder 2 to browse my ever-expanding list of feeds1, but rarely read anything here either: whenever a noteworthy post comes up, I instead send it Instapaper’s way. In addition to these two apps, I use one more for finding new and compelling content: Zite. Unlike others in this category such as Interesting and MacHash, Zite consistently presents me with content on a wide range of topics I end up enjoying. Although I could use its learning engine and categories to make this experience even better, thus far I have felt no need to do so: even right out of the box, Zite does a nice job of highlighting interesting work. I also have Instapaper on my phone, but rarely use it as a “read later” service: I would much rather read on my computer when I get home than squint at my iPhone’s relatively small display for thousands and thousands of words. Instead, I use Instapaper as the location to which I send everything I want to take note of in any way, regardless of whether I simply wish to reference it later or write a full-fledged diatribe on the subject.

As I have discussed at length in the past, I bought a new 15" Retina MacBook Pro right after Tim Cook announced the new models at last year’s iPad event in October. Although prior to that purchase I wrote almost exclusively on my iPad, the much more capable Mac quickly replaced it as my go-to machine for everything but watching movies. Whereas previously I used Drafts for quick capture and Editorial when writing long form pieces, I now use Sublime Text 3 for both. Featuring a broad set of useful keyboard shortcuts, easy extensibility, great performance, and vast customization, I keep at least three separate windows open at all times, each housing multiple documents. After finishing an article of any considerable length, thanks to tight integration with Sublime Text 3, I activate Brett Terpstra’s Marked 2 with a quick keyboard shortcut. Marked functions as my own personal editor by highlighting overused, overly complex, and repetitious words, forcing me to reword a great deal of my writing I would have otherwise left untouched throughout the editing process. Finished there, I hand my latest article off to FirstCrack.

Another topic I have talked a great deal about in the past, I use my custom-built CMS First Crack to parse plaintext files and generate my entire site and RSS feed. These 649 lines of Python do the vast majority of the back-end work, including updating my site with new posts via FTP. Once uploaded, Bitly shortens my links so that I can easily post them to Twitter with the added bonus of analytics should I want to see how many discover my article through this medium. With Google Analytics on every public-facing page though, I have rarely found a use for Bitly’s built-in tracking features. Keeping accurate RSS subscriber metrics, on the other hand, proved much more difficult: after Google Reader’s demise and with Feedburner on its way out I, along with the rest of the internet, searched for an alternative. Thankfully, I quickly found one in FeedPress.

Unlike more invasive and complex methods — counting server requests for an RSS feed, for example — FeedPress merely asks that its users associate a valid XML file with each account, and then point users towards a custom URL rather than the actual feed. Now, whenever an RSS reader refreshes, it checks in with FeedPress’s servers which log the activity and then serve the appropriate file. Everyone walks away from the transaction happy: I got my statistics, and my readers successfully subscribed to my site in their favorite RSS client. After that, I head back to Instapaper and begin the process all over again.

 In no particular order: 5by5 Blog, Agile Tortoise, Air/Fuel Ratio, AnandTech,, Benedict Evans,, Cabin Porn, Daring Fireball, Stratēchery by Ben Thompson, Film School Rejects, Harshil Shah, Hypercritical, The Instapaper Blog, MacStories,, Matt Gemmell, OneThirtySeven, Perpetual Edge Case, Rands in Repose, Scott Hanselman’s Blog, Shawn Blanc, The Loop, The Typist, Tools and Toys, VintageZen, What If?, Whole & Part, and

Notably, I do not subscribe to any large tech websites. I prefer the thoughts and opinions of small, one-man shop writers to those of large, increasingly faceless conglomerates writing for pageviews and nothing more. If The Verge or TechCrunch manages to post an interesting or otherwise worthwhile article, I will see it through one of these low-volume, high-quality venues; if not, I won’t miss it.