<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~files/atom-premium.xsl"?>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedpress="https://feed.press/xmlns" xmlns:media="http://search.yahoo.com/mrss/" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <feedpress:locale>en</feedpress:locale>
  <link rel="hub" href="https://feedpress.superfeedr.com/"/>
  <generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator>
  <link href="http://feeds.walkah.net/walkah" rel="self" type="application/atom+xml"/>
  <link href="https://walkah.net/" rel="alternate" type="text/html"/>
  <updated>2024-05-21T19:51:00-05:00</updated>
  <id>https://walkah.net/atom.xml</id>
  <title type="html">walkah</title>
  <subtitle>James Walker is an independent developer and hacker</subtitle>
  <author>
    <name>James Walker</name>
  </author>
  <entry>
    <title type="html">How I Upgrade Mac OS X</title>
    <link href="http://feeds.walkah.net/link/9603/15717899/how-i-upgrade-mac-os-x" rel="alternate" type="text/html" title="How I Upgrade Mac OS X"/>
    <published>2015-10-09T08:56:27-05:00</published>
    <updated>2015-10-09T08:56:27-05:00</updated>
    <id>https://walkah.net/blog/how-i-upgrade-mac-os-x</id>
    <content type="html" xml:base="https://walkah.net/blog/how-i-upgrade-mac-os-x/"><![CDATA[<p>Last week saw the release of <a href="https://en.wikipedia.org/wiki/OS_X_El_Capitan">El Capitan</a> the latest version of Mac OS X. Over the weekend, I did fresh installs on both of my machines. With minimal effort, I had both workstations ready to work, configured the way I like them.</p>

<p>tl;dr It’s nerdy and totally overkill.</p>

<h3 id="chef-workstation">chef-workstation</h3>

<p>A few years ago, I read a blog post by <a href="https://twitter.com/jtimberman">Josh Timberman</a> titled <a href="http://jtimberman.housepub.org/blog/2012/07/29/os-x-workstation-management-with-chef/">OS X Workstation Management with Chef</a>. This was in the height of my early exploration with <a href="https://www.chef.io/">chef</a> and “DevOps”. I loved the idea of keeping my desktop machine configuration in sync and set out to create my own version.</p>

<p>The result is my  <a href="https://github.com/walkah/chef-workstation">chef-workstation</a> repository used in conjunction with a <a href="https://manage.chef.io">hosted chef</a> instance.</p>

<p>I use this daily to keep my configuration in sync, but also it means I can reliably rebuild a machine from scratch with minimal effort (and without relying on backups).</p>

<h3 id="just-5-simple-steps">Just 5 simple steps!</h3>

<p>For my annual upgrade, I like to start fresh. I run the installer from a USB key and re-format my hard drive. This year I tried to note the steps I took following my initial login after the clean install:</p>

<ol>
  <li>Update the hostname (Sys Prefs &gt; Sharing). (I also turn on SSH access while I’m here).</li>
  <li>Install <a href="https://downloads.chef.io/chef-dk/">chef-dk</a> - this handy package includes all the chef-related tools I need.</li>
  <li>Install xcode command line tools: <code class="language-plaintext highlighter-rouge">xcode-select --install</code></li>
  <li>Create my <code class="language-plaintext highlighter-rouge">/etc/chef</code> directory. In the past, I’ve removed my old node and created a new one (using my validator key, kept on a usb drive). This year, I just copied the directory from a backup.</li>
  <li>Run <code class="language-plaintext highlighter-rouge">sudo chef-client</code>. This takes a long time.</li>
</ol>

<h3 id="almost-perfect">Almost perfect…</h3>

<p>There are a few things left for me to do once the initial chef run is complete. I’d love to have them automated eventually:</p>

<ul>
  <li>There doesn’t seem to be a way to install apps from the Mac App Store programatically. So things like Keynote and Tweetbot have to get installed later.</li>
  <li>There’s a lot of logging in required after the fresh install. I use <a href="https://lastpass.com/">LastPass</a> (for passwords) and <a href="https://www.authy.com/personal/">Authy</a> (for two factor auth), which both sync all the details, but I still need to re-authenticate everywhere.</li>
  <li>My <code class="language-plaintext highlighter-rouge">~/Projects</code> folder contains my, well, projects. I tend to re-create this (fresh clones, etc) manually. It helps weed out the cruft, but it would be nice to somehow automate.</li>
</ul>

<p>Feel free to check out the <a href="https://github.com/walkah/chef-workstation">code</a> and offer feedback, or fork it for your very own.</p><img src="http://feeds.walkah.net/link/9603/15717899.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="chef"/>
    <category term="devops"/>
    <summary type="html"><![CDATA[Last week saw the release of El Capitan the latest version of Mac OS X. Over the weekend, I did fresh installs on both of my machines. With minimal effort, I had both workstations ready to work, configured the way I like them.]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/el_capitan.jpg"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/el_capitan.jpg"/>
  </entry>
  <entry>
    <title type="html">Read Later Zero</title>
    <link href="http://feeds.walkah.net/link/9603/15717898/read-later-zero" rel="alternate" type="text/html" title="Read Later Zero"/>
    <published>2015-10-01T21:27:04-05:00</published>
    <updated>2015-10-01T21:27:04-05:00</updated>
    <id>https://walkah.net/blog/read-later-zero</id>
    <content type="html" xml:base="https://walkah.net/blog/read-later-zero/"><![CDATA[<p>A few weeks ago, I set out on a mission to get my <a href="https://getpocket.com/a/queue/">Pocket</a> queue under control. I was creeping up to 2,000 unread items and I knew that there were things in there I actually wanted to read, and that it could be a more useful tool for me. Last weekend, I achieved <a href="https://twitter.com/walkah/status/645278612699004928">Pocket 0</a>. Here’s how:</p>

<h3 id="read-later-is-an-inbox">“Read Later” is an Inbox</h3>

<p>I don’t know if all of the people who refer to <a href="http://www.43folders.com/2007/07/25/merlins-inbox-zero-talk">Inbox Zero</a> have ever watched Merlin’s talk or how they practice it, but I’ve gotten quite good at my Gmail version of it. My system is simple: using a combination of stars and not-in-email lists (Todoist, issues, etc) I keep everything out of my inbox following a triage session (which I do a few times per day).</p>

<p>For “read later”, I currently use Pocket (although, I own <a href="https://www.instapaper.com/">Instapaper</a> too) which has similar features - and is supported on all of my devices (making capture very easy).</p>

<h3 id="triage-regularly">Triage regularly</h3>

<p>I put the Pocket app on the home screen of my iPhone, and enabled the ‘unread count’ badge. Those who know me (and have ever seen my phone), know that I’m fairly obsessive about eliminating those little red circles. This helped me form a habit to process a bunch of my Pocket inbox whenever I had a few free moments.</p>

<p>My goal was to triage (note: this doesn’t mean <em>read</em>) 100 articles per day. I set Pocket to show me the oldest first so I could work my way through the backlog.</p>

<p>Be relentless. If you’re like me and want to consume ALL THE INFORMATION, there are probably articles in your list that are no longer relevant. Delete them.</p>

<h3 id="process-and-purge">Process and Purge</h3>

<p>It may be that you have hundreds of unread articles in your read later queue that are all things you just want to read for the sake of reading. For me, however, I found that my backlog consisted of several types of articles that I was able to skim and act upon to remove them from the queue:</p>

<ul>
  <li>Restaurant / cafe reviews - if they sound good, I added them to my <a href="https://foursquare.com/walkah/list/todos">foursquare todos</a>.</li>
  <li>Interesting apps - I download to try later (side note: google play is so much nicer for this than launching iTunes…)</li>
  <li>Research for a specific project - I send the article to the relevant <a href="https://evernote.com/">Evernote notebook</a> (still not 100% sold on this one).</li>
</ul>

<p>Finally, a <strong>lot</strong> of my queue tends to be technical articles (performance tricks, coding techniques, new releases, etc). The thing is, without a specific project associated, there isn’t anything actionable for these. Currently, I tag them with the language/framework/etc and archive (skimming first if they’re quick). In theory, they’re still in my archive for someday. In reality, things change quickly and I’m far more apt to just search when I need to know.</p>

<p>Everything else - which is long form articles that I actually just want to sit and read - gets “favorited”.</p>

<p>Now, when I get the chance to sit and read, I open Pocket to my “favorite” queue and enjoy!</p><img src="http://feeds.walkah.net/link/9603/15717898.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="lifehacks"/>
    <category term="productivity"/>
    <summary type="html"><![CDATA[A few weeks ago, I set out on a mission to get my Pocket queue under control. I was creeping up to 2,000 unread items and I knew that there were things in there I actually wanted to read, and that it could be a more useful tool for me. Last weekend, I achieved Pocket 0. Here’s how:]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/sailaway.jpg"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/sailaway.jpg"/>
  </entry>
  <entry>
    <title type="html">Between Atom and Emacs</title>
    <link href="http://feeds.walkah.net/link/9603/15717897/between-atom-and-emacs" rel="alternate" type="text/html" title="Between Atom and Emacs"/>
    <published>2015-04-10T13:23:13-05:00</published>
    <updated>2015-04-10T13:23:13-05:00</updated>
    <id>https://walkah.net/blog/between-atom-and-emacs</id>
    <content type="html" xml:base="https://walkah.net/blog/between-atom-and-emacs/"><![CDATA[<p>I have been an <a href="https://www.gnu.org/software/emacs/">Emacs</a> user since the late 90’s. Over the years, I’ve tried (sometimes harder than others) to switch to something newer or fancier. Heck, I’ve even <a href="http://walkah.net/blog/walkah/komodo-4-0-im-trying/">blogged about it</a>… <a href="http://walkah.net/blog/walkah/komodo-ide-take-two/">more than once</a>. Nothing else ever stuck… until now.</p>

<p>I mentioned a few posts ago that I consider <a href="https://atom.io/">Atom</a> to be an important part of my <a href="http://walkah.net/blog/my-static-blog-toolkit/">static blog toolkit</a>. It’s true: I’m writing this post with it, using the live Markdown preview. But, I’ve also been using it for day-to-day coding. I’ve been getting actual work done with it. And I’ve been enjoying it!</p>

<p>Atom can be extended by packages written in <a href="http://coffeescript.org/">coffeescript</a> - something I use currently for work - vs. <a href="https://en.wikipedia.org/wiki/Emacs_Lisp">elisp</a> which I haven’t done much with since University. The truth is, though, I haven’t written any Atom packages (yet?). I’m not even sure that I will.</p>

<p>Because I love lists of threes, here we go:</p>

<h3 id="three-emacs-things-i-miss">Three Emacs Things I Miss</h3>

<ol>
  <li><a href="http://magit.vc/">Magit</a> - Having version control (i.e. git) built-in is handy. I’ve been trying <a href="https://mac.github.com/">Github for Mac</a>, but mostly just using the git command-line.</li>
  <li><a href="http://flymake.sourceforge.net/">Flymake</a> - I didn’t realize how much I’d come to rely on my flymake setup for writing typo-free (ish) code. I’ve been following and using the <a href="https://atom.io/packages/linter">Linter</a> package, which will hopefully become a suitable atom equivalent.</li>
  <li>Years of tuning - my <a href="https://github.com/walkah/emacs.d">emacs.d</a> configuration has been on github since 2011, in SVN and CVS before that. The regular tweaking has made emacs so comfortable for me that it’s gotten hard to use other things.</li>
</ol>

<h3 id="three-atom-things-i-love">Three Atom Things I Love</h3>

<ol>
  <li><code class="language-plaintext highlighter-rouge">atom</code> - Given my project-switching habits, I’ve long envied the Textmate/Sublime users launching a project (with tree view!) from the command-line. I can now start working on a project by typing <code class="language-plaintext highlighter-rouge">atom ~/Projects/&lt;name&gt;</code> and it even remembers which files were open. <a href="https://github.com/bbatsov/projectile">Projectile</a> has similar project-focused features, but I’m loving a window per-project.</li>
  <li>Status Bar - It’s amazing how useful a clean, clear status bar can be. Icons! Colours! Not to mention nice plugins like <a href="https://atom.io/packages/travis-ci-status">Travis CI Status</a>. I’m finding it far more useful than my emacs <a href="http://www.emacswiki.org/emacs/ModeLine">mode line</a>.</li>
  <li><code class="language-plaintext highlighter-rouge">apm</code> (and stars) - Package management for <em>years</em> was a major pain for emacs. While it’s gotten much better lately (and I have enjoyed <a href="http://cask.readthedocs.org/en/latest/">Cask</a>), <code class="language-plaintext highlighter-rouge">apm</code> is proving to be far more useful. Moving between machines? Star the packages you use on atom.io and run <code class="language-plaintext highlighter-rouge">apm stars --install</code>.</li>
</ol>

<p>I don’t know that I’ll ever give up Emacs completely (and I actually use Vim for quick edits), but I have a new, free, cross-platform editor that I like to use - and it’s not even 1.0 yet.</p><img src="http://feeds.walkah.net/link/9603/15717897.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="atom"/>
    <category term="emacs"/>
    <summary type="html"><![CDATA[I have been an Emacs user since the late 90’s. Over the years, I’ve tried (sometimes harder than others) to switch to something newer or fancier. Heck, I’ve even blogged about it… more than once. Nothing else ever stuck… until now.]]></summary>
  </entry>
  <entry>
    <title type="html">Towards a Morning Routine</title>
    <link href="http://feeds.walkah.net/link/9603/15717896/towards-a-morning-routine" rel="alternate" type="text/html" title="Towards a Morning Routine"/>
    <published>2015-03-30T21:32:14-05:00</published>
    <updated>2015-03-30T21:32:14-05:00</updated>
    <id>https://walkah.net/blog/towards-a-morning-routine</id>
    <content type="html" xml:base="https://walkah.net/blog/towards-a-morning-routine/"><![CDATA[<p>I’m not a morning person. I rarely wake up feeling capable of much more than stumbling around. For a few years now, I have been using <a href="https://www.coach.me/">Coach.me</a> (formerly lift.do) to track and motivate my habits. Lately, I’ve been trying to focus on things that help me start my day “right” - feeling fresh, clear-headed and mentally sharp.</p>

<p>It’s an interesting challenge trying to balance the things I would like to do with all the various life constraints. I want it to be something I can do every day, which means it can’t take too long (some mornings are school mornings) or require too much equipment (some mornings are on the road).</p>

<p>I love reading <a href="http://mymorningroutine.com/">other people’s routines</a> as I continue to refine my own. My current routine consists of:</p>

<ol>
  <li>Doing a quick 10 minute, guided meditation using <a href="https://www.headspace.com/">Headspace</a>.</li>
  <li>Writing an unfiltered, stream of consciousness <a href="http://750words.com/">750 words</a>.</li>
  <li>Having breakfast with a carefully brewed cup of coffee. (yes, I am getting into coffee nerdery)</li>
</ol>

<p>I have tried much more elaborate schemes, but this current one is simple and effective. Ultimately, I would like to do all of the above before checking email, etc on my phone. However, I can’t say I’m quite there… yet.</p><img src="http://feeds.walkah.net/link/9603/15717896.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="habits"/>
    <category term="life"/>
    <summary type="html"><![CDATA[I’m not a morning person. I rarely wake up feeling capable of much more than stumbling around. For a few years now, I have been using Coach.me (formerly lift.do) to track and motivate my habits. Lately, I’ve been trying to focus on things that help me start my day “right” - feeling fresh, clear-headed and mentally sharp.]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/morning-routine.png"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/morning-routine.png"/>
  </entry>
  <entry>
    <title type="html">Tracking My To-Do List</title>
    <link href="http://feeds.walkah.net/link/9603/15717895/tracking-my-to-do-list" rel="alternate" type="text/html" title="Tracking My To-Do List"/>
    <published>2015-03-20T14:50:45-05:00</published>
    <updated>2015-03-20T14:50:45-05:00</updated>
    <id>https://walkah.net/blog/tracking-my-to-do-list</id>
    <content type="html" xml:base="https://walkah.net/blog/tracking-my-to-do-list/"><![CDATA[<p>Last week, I wrote about running my blog as an open source project. Much to my surprise, my old friend <a href="http://rolandtanglao.com/">Roland</a> was the first to submit an issue with a <a href="https://github.com/walkah/walkah.net/issues/11">post idea</a>: write about how I decide what to do each day.</p>

<p>I do contract work for multiple clients who each have their own ticketing / issue queue / agile systems. For work, then, I spend most of my day in Jira, Github issues or whatever else they use. Ideally, I book work in “day” chunks, so my morning starts by loading the tools for that day’s client.</p>

<p>My to-do list, however, goes well beyond software tasks. For years and years, I was a <a href="https://www.rememberthemilk.com/">remember the milk</a> pro user. Their apps, though, started to lag. I don’t remember what, exactly, had me look elsewhere but (and the timing here was completely coincidental) exactly one year ago today I became a premium user of <a href="http://todoist.com/">Todoist</a>.</p>

<p>Everything I am supposed to do in a day (that isn’t directly related to a specific software project) goes into Todoist. I have had the same general structure for several years:</p>

<ul>
  <li>I keep the number of lists (or projects) minimal: “Personal”, “Work” and recently I have added “House” (before that, “Move”).</li>
  <li>I make use of tags for context. Each client in the “Work” list has a tag, for instance.</li>
  <li>I give <em>every</em> task a deadline. I liberally postpone and shift that deadline, but if it doesn’t have a deadline it will just never get done. Most days begin and end with a review and deadline adjustments.</li>
</ul>

<p>As for the tool itself, my biggest requirement is <em>ubiquity</em>. I need to be able to capture tasks wherever I am and be confident that it will be available when and where I need it. Todoist has apps and integrations everywhere and I have found the sync to be reliable. Some of the specific features that I use all the time are:</p>

<ul>
  <li><a href="https://en.todoist.com/gmail">Gmail integration</a>: for any email that requires a “not right now” action, I create a task, assign a deadline, and the task is then linked to the email (which I then archive so it doesn’t clutter my inbox). When the task is done, I can easily recall the email to fire off whatever “it’s done” message is required and mark the task complete.</li>
  <li><a href="https://en.todoist.com/mac">Desktop Mac App</a>: most importantly, the keyboard shortcut to the “quick add” dialogue. When I’m at my computer and a task comes up (during a call, in a chat, or whatever), I hit <code class="language-plaintext highlighter-rouge">cmd-ctrl-a</code> and capture the task. After a year, it’s become automatic.</li>
  <li><a href="https://blog.todoist.com/2014/07/02/announcing-todoists-new-location-notifications-with-free-30-day-trial/">Location reminders</a>: I find these a little cumbersome to add, but when I have I think they’re great. Anytime I have a “next time I’m at the post office” kind of task, I can set a location reminder and when it detects my phone is there, I get a notification.</li>
</ul>

<p>Finally, if you’re like me and a total sucker for gamification, <a href="https://en.todoist.com/karma">Todoist Karma</a> is a fun feature. In my first year, I managed to hit “master” level … well on my way to productivity enlightenment.</p><img src="http://feeds.walkah.net/link/9603/15717895.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="gtd"/>
    <summary type="html"><![CDATA[Last week, I wrote about running my blog as an open source project. Much to my surprise, my old friend Roland was the first to submit an issue with a post idea: write about how I decide what to do each day.]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/todoist_karma.png"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/todoist_karma.png"/>
  </entry>
  <entry>
    <title type="html">Blogging as an Open Source Project</title>
    <link href="http://feeds.walkah.net/link/9603/15717900/blogging-as-an-open-source-project" rel="alternate" type="text/html" title="Blogging as an Open Source Project"/>
    <published>2015-03-13T14:02:12-05:00</published>
    <updated>2015-03-13T14:02:12-05:00</updated>
    <id>https://walkah.net/blog/blogging-as-an-open-source-project</id>
    <content type="html" xml:base="https://walkah.net/blog/blogging-as-an-open-source-project/"><![CDATA[<p>Sometimes you have to go with what you know. For the past few years, I’ve been working on establishing a daily writing habit. Many thanks to <a href="http://750words.com/">750words</a>, I’ve had some success, but that hasn’t always translated to blog posts or any public writing.</p>

<p>However, I got a <a href="https://twitter.com/bmann/status/563748935336857601">tweet reply</a> from <a href="http://bmann.ca/">Boris</a> that triggered an idea. While his suggestion was to write a post with the titles of my “Unpublished Drafts”, I’m going to take it one step further:</p>

<p>I’m going to run this blog like an open source project.</p>

<p>Now, since the <a href="http://walkah.net/blog/new-year-new-blog/">switch to jekyll</a> over 3 years ago, the source code for my blog has been <a href="https://github.com/walkah/walkah.net">open source on github</a>. However, I’m going to open up things a bit further:</p>

<ul>
  <li>Instead of a post with untitled drafts, I have started to create issues with an “<a href="https://github.com/walkah/walkah.net/labels/idea">idea label</a>” for blog post ideas.</li>
  <li>Beginning with this post, I’m trying <a href="https://guides.github.com/introduction/flow/">github flow</a> for all new posts. This will result in a new PR.</li>
  <li>And, of course, all posts will be tested on <a href="https://travis-ci.org/walkah/walkah.net">travis-ci</a>.</li>
</ul>

<p>This might be overkill. It’s an experiment. But, this is (more or less), the way I build software. That’s something I do every day, so maybe it will better integrate blogging with the rest of my flow.</p>

<p>Of course, it also encourages collaboration. I am not expecting a lot of participation on my blog, but I anticipate that giddy feeling the first time someone does! See you <a href="https://github.com/walkah/walkah.net">on github</a>.</p><img src="http://feeds.walkah.net/link/9603/15717900.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="open"/>
    <category term="site"/>
    <summary type="html"><![CDATA[Sometimes you have to go with what you know. For the past few years, I’ve been working on establishing a daily writing habit. Many thanks to 750words, I’ve had some success, but that hasn’t always translated to blog posts or any public writing.]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/open.jpg"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/open.jpg"/>
  </entry>
  <entry>
    <title type="html">My Static Blog Toolkit</title>
    <link href="http://feeds.walkah.net/link/9603/15717901/my-static-blog-toolkit" rel="alternate" type="text/html" title="My Static Blog Toolkit"/>
    <published>2015-03-05T17:02:04-06:00</published>
    <updated>2015-03-05T17:02:04-06:00</updated>
    <id>https://walkah.net/blog/my-static-blog-toolkit</id>
    <content type="html" xml:base="https://walkah.net/blog/my-static-blog-toolkit/"><![CDATA[<p>As I continue to tinker with my <a href="http://octopress.org/">Octopress</a> blog, I have found that there are some complimentary tools “necessary” to make things even better. I’m sure this list will evolve, but so far here’s what I’ve got:</p>

<h3 id="feedpress">FeedPress</h3>

<p>With <a href="http://feedburner.google.com/">feedburner</a> all but abandoned by Google, I’ve been on the hunt for something a little more reliable. At some point, I came across <a href="https://feed.press/">FeedPress</a> as a viable alternative.</p>

<p>I had a long standing <a href="https://github.com/walkah/walkah.net/issues/3">issue</a> to convert my feedburner feeds over and finally took the plunge. While I wish the stats were real-time, I otherwise have no complaints whatsoever paying a few dollars a month to have reliable feed analytics with some neat features.</p>

<p>Here’s my <a href="https://feed.press/?affid=6753">feedpress affiliate link</a> if you’re interested in checking them out.</p>

<h3 id="buffer">Buffer</h3>

<p>One thing I quickly noticed with my new FeedPress account: RSS <em>is</em> dead. My subscriber account is way down. What? No, of course that has nothing to do with not posting for a few years.</p>

<p>All the kids these days are are on the social networks. If I want people to read what I write, that’s where I need to be. <a href="https://bufferapp.com/">Buffer</a> makes this easy with scheduling and some additional analytics.</p>

<p>As a bonus, you can have FeedPress automatically post new articles to a connected Buffer account. Now that’s automagical!</p>

<h3 id="atom">Atom</h3>

<p>No, not the feed format. Feeds are dead. I’m talking about the hot new <a href="https://atom.io/">text editor</a> from the lovely folks at Github. What makes it great for my Octopress blog? It has built-in <a href="https://github.com/atom/markdown-preview">live markdown preview</a> that even renders <a href="http://jekyllrb.com/docs/frontmatter/">YAML front matter</a>.</p>

<p>This is getting pretty efficient. I may look around for free/open alternatives to FeedPress and Buffer, but for now the seamless integration seems worth it.</p>

<p>Am I missing anything?</p><img src="http://feeds.walkah.net/link/9603/15717901.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="site"/>
    <summary type="html"><![CDATA[As I continue to tinker with my Octopress blog, I have found that there are some complimentary tools “necessary” to make things even better. I’m sure this list will evolve, but so far here’s what I’ve got:]]></summary>
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://walkah.net/images/2015/toolbox.jpg"/>
    <media:content xmlns:media="http://search.yahoo.com/mrss/" medium="image" url="https://walkah.net/images/2015/toolbox.jpg"/>
  </entry>
  <entry>
    <title type="html">Looking Ahead to Octopress 3.0</title>
    <link href="http://feeds.walkah.net/link/9603/15717902/looking-ahead-to-octopress-3-0" rel="alternate" type="text/html" title="Looking Ahead to Octopress 3.0"/>
    <published>2015-02-06T09:49:53-06:00</published>
    <updated>2015-02-06T09:49:53-06:00</updated>
    <id>https://walkah.net/blog/looking-ahead-to-octopress-3-0</id>
    <content type="html" xml:base="https://walkah.net/blog/looking-ahead-to-octopress-3-0/"><![CDATA[<p>When you’ve got a blog and haven’t posted for a very long time, it’s hard to post something without pointing out how long it’s been or making a promise to start blogging more. I haven’t blogged in a long time and I hope to start doing so more regularly again.</p>

<p>There.</p>

<p>So, what’s the first thing that a nerd does before blogging again? Tinker with blogging software, of course.</p>

<h3 id="whats-wrong-with-jekyll">What’s wrong with Jekyll?</h3>

<p>Nothing, really. In fact, I managed to hack together some emacs config and rake tasks that more or less did things the way I wanted them done: easily start a new draft, publish said draft and mindlessly publish (via rsync). It worked pretty well, at least for this blog. (More big claims: I might start other blogs this year).</p>

<h3 id="but-theres-octopress">But there’s Octopress!</h3>

<p>When I first converted this blog from Drupal to Jekyll, I remember looking at <a href="http://octopress.org/">Octopress</a>. Aside from the “Kubrik of Jekyll” theme, the thing that always bugged me was “start by cloning this repository” as instructions.  I want my blogging tool to be a package I install and commands I use to manage my blog.</p>

<p>Apparently, <a href="https://github.com/walkah/walkah.net/commit/9e50301564d5530eb3fc1e740bcd1320b8c4f184">back in October</a>, I stumbled across the next generation of Octopress. I don’t even remember how. (Yes, this post has been a long time coming). A few weeks ago, the <a href="http://octopress.org/2015/01/15/octopress-3.0-is-coming/">official teaser post</a> came out and nicely summarized some of the features. Essentially, Octopress 3 does the things I want and more. Things I dig so far:</p>

<ol>
  <li>It’s now a gem with <code class="language-plaintext highlighter-rouge">octopress new draft</code> and <code class="language-plaintext highlighter-rouge">octopress publish</code>, etc.</li>
  <li>My rsync rake task is cleanly replaced by <code class="language-plaintext highlighter-rouge">octopress deploy</code></li>
  <li>Octopress “ink”: allows for installable themes (no more “clone this repo”).</li>
  <li>You can work on just your current post with <code class="language-plaintext highlighter-rouge">octopress isolate</code> which is great when your blog (however sporadically used) dates back over a decade.</li>
</ol>

<p>Maybe nicer tools won’t make for better writing habits, but it definitely won’t hurt.</p>

<p>Here’s to writing more, in public, at my own domain in 2015.</p><img src="http://feeds.walkah.net/link/9603/15717902.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="jekyll"/>
    <category term="octopress"/>
    <category term="site"/>
    <summary type="html"><![CDATA[When you’ve got a blog and haven’t posted for a very long time, it’s hard to post something without pointing out how long it’s been or making a promise to start blogging more. I haven’t blogged in a long time and I hope to start doing so more regularly again.]]></summary>
  </entry>
  <entry>
    <title type="html">Vagrantcloud, Test Kitchen and My New Workflow</title>
    <link href="http://feeds.walkah.net/link/9603/15717903/vagrantcloud-test-kitchen-and-my-new-workflow" rel="alternate" type="text/html" title="Vagrantcloud, Test Kitchen and My New Workflow"/>
    <published>2014-03-14T00:00:00-05:00</published>
    <updated>2014-03-14T00:00:00-05:00</updated>
    <id>https://walkah.net/blog/vagrantcloud-test-kitchen-and-my-new-workflow</id>
    <content type="html" xml:base="https://walkah.net/blog/vagrantcloud-test-kitchen-and-my-new-workflow/"><![CDATA[<p>Just when I thought I’d settled into the “<a href="http://www.getchef.com/blog/chefconf-talks/the-berkshelf-way-jamie-winsor/">Berkshelf Way</a>” for virtualizing and automating everything I do, things changed. This week, <a href="http://www.vagrantup.com/blog/vagrant-1-5-and-vagrant-cloud.html">Vagrant 1.5 was released</a> which broke the <a href="https://sethvargo.com/the-future-of-vagrant-berkshelf/">already end-of-life’d</a> <code class="language-plaintext highlighter-rouge">vagrant-berkshelf</code> package. While I could’ve happily stayed with vagrant 1.4 (at least for a while), it got me thinking about how I use these things.</p>

<h3 id="two-types-of-vagrant">Two types of Vagrant</h3>

<p>What I realized is that I have two ways that I use vagrant (and, of course chef):</p>

<ol>
  <li>For local development (generally for PHP-based stuff) where I want to simulate the production environment.</li>
  <li>To test chef-based deployment of apps (generally anything non-PHP) that I’m developing “locally”.</li>
</ol>

<p>The first use case requires a lightweight way for me to boot up the environment while I’m working. The later just needs verification that it’s working, but isn’t intended for local use.</p>

<h3 id="the-new-plan">The new plan</h3>

<p>I still start with <code class="language-plaintext highlighter-rouge">berks cookbook</code> for a project. However, instead of running  <code class="language-plaintext highlighter-rouge">vagrant provision</code> over and over until my cookbooks converge nicely, I’ve started to make use of <a href="http://kitchen.ci/">test-kitchen</a>. If you haven’t yet, check it out. It provides automated testing to make sure my cookbooks work (packages installed properly, services running, etc).</p>

<p>The best part is: this cleanly supports my second use case as is.</p>

<p>However, test-kitchen isn’t designed to be used for my “develop in the VM” scenario. The reality is that those VMs don’t (and shouldn’t) change frequently. Also, from project to project, they tend to be very similar (particularly, say, between Drupal projects).</p>

<p>The best part is: along with Vagrant 1.5 came <a href="https://vagrantcloud.com/">VagrantCloud</a>. This allows me to easily share (and version!) packaged vagrant boxes. My first one is an <a href="https://vagrantcloud.com/walkah/drupal-precise64">ubuntu box for drupal development</a> which is built from my <a href="https://github.com/walkah/chef-drupal">chef-drupal</a> repository. So now things look like:</p>

<ol>
  <li>Write my “application” cookbook</li>
  <li>Test / verify with test-kitchen</li>
  <li>Vagrant package the box</li>
  <li>Release the new box on vagrantcloud</li>
  <li>Start a new project with <code class="language-plaintext highlighter-rouge">vagrant init walkah/box-name</code></li>
</ol>

<p>No more cloning repositories for similar projects. No need to converge/provision over and over to do development. Yet, I can still keep projects cleanly updated. I like it!</p><img src="http://feeds.walkah.net/link/9603/15717903.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="chef"/>
    <category term="devops"/>
    <category term="vagrant"/>
    <summary type="html"><![CDATA[Just when I thought I’d settled into the “Berkshelf Way” for virtualizing and automating everything I do, things changed. This week, Vagrant 1.5 was released which broke the already end-of-life’d vagrant-berkshelf package. While I could’ve happily stayed with vagrant 1.4 (at least for a while), it got me thinking about how I use these things.]]></summary>
  </entry>
  <entry>
    <title type="html">Like the Nerdiest Boy Scout</title>
    <link href="http://feeds.walkah.net/link/9603/15717904/like-the-nerdiest-boy-scout" rel="alternate" type="text/html" title="Like the Nerdiest Boy Scout"/>
    <published>2013-10-25T00:00:00-05:00</published>
    <updated>2013-10-25T00:00:00-05:00</updated>
    <id>https://walkah.net/blog/like-the-nerdiest-boy-scout</id>
    <content type="html" xml:base="https://walkah.net/blog/like-the-nerdiest-boy-scout/"><![CDATA[<p>With this week’s release of Apple’s latest <a href="http://www.apple.com/osx/">OS X</a> (aka “Mavericks”), I finally took the time to complete a nerdy little project of mine.</p>

<h3 id="it-starts-with-the-readycase">It starts with the ReadyCase</h3>

<p>I was an Indiegogo backer of the <a href="http://ready-case.com/">ReadyCase</a> which I recommend (although, my first-run case needed a little modification to work with my Belkin dock, YMMV). One of the biggest attractions is that it comes with a USB stick - something I never seem to have on me when I need it. Now, as long as I have my phone on me (i.e. <em>always</em>), I have my USB stick.</p>

<h3 id="partition-it">Partition It</h3>

<p>As an early adopter, I got a 16gb version (the max now is 8gb). I split my drive into two partitions: 1 for the Mavericks installer (aka “Mavericks”) and a second partition for “important” files (aka “Data”). It was super simple to set this up using <code class="language-plaintext highlighter-rouge">Disk Utility</code>:</p>

<ul>
  <li>Both partitions are “Mac OS Extended (Journaled)”</li>
  <li>I’m using the GUID Partition scheme (available under “Options”) - required for install disks</li>
  <li>I made the 2nd partition encrypted, just in case.</li>
</ul>

<p>I am thinking of potentially adjusting this into 3 partitions, though: Installer, Secret files (encrypted) and Scratch (for temporary transfers, etc).</p>

<h3 id="mavericks-installer">Mavericks Installer</h3>

<p>It wasn’t too tricky before, but Mavericks includes a nice little utility for creating “install media”. Once you’ve downlowded the Mavericks installer from the app store, just run:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Mavericks --applicationpath /Applications/Install\ OS\ X\ Mavericks.app
</code></pre></div></div>

<h3 id="important-files">Important Files</h3>

<p>So far, my “Important Files” drive includes my ssh private key and a few other handy backups. However, I’m working hard so that more and more of my configuration is automated via my <a href="https://github.com/walkah/chef-workstation">chef-workstation</a> setup. Between that and all of my “in the cloud” data, I can pretty easily bootstrap a new machine in an emergency.</p>

<p>I am prepared.</p><img src="http://feeds.walkah.net/link/9603/15717904.gif" height="1" width="1"/>]]></content>
    <author>
      <name>James Walker</name>
    </author>
    <category term="geek"/>
    <category term="hardware"/>
    <category term="iphone"/>
    <category term="readycase"/>
    <summary type="html"><![CDATA[With this week’s release of Apple’s latest OS X (aka “Mavericks”), I finally took the time to complete a nerdy little project of mine.]]></summary>
  </entry>
</feed>
