iPhone checker with Capybara and Twilio

Oct 30, 2014

I got my gigantic iPhone 6+ last weekend, and not via the online Apple Store where my order had been sitting for a couple weeks and wasn’t going to ship until Nov. 5th. Instead I got a friendly text message the minute the phone was available at my local Apple Store. With a few great tools it was incredibly easy to set this system up.

TL;DR: I set up a small Heroku app that uses Capybara to check Apple’s website for availability and sends a text to my phone using the Twilio service.

The entire process...

Tmux Harvest Plugin

Oct 13, 2014

Sometimes I find myself working on two or three projects during the course of a day, and I’ve mistakenly recorded time to the wrong project in Harvest. Never again! I put togther a tmux plugin that shows the project name and the current timer in my tmux status bar.

Screenshot of Tmux Harvest Plugin

It’s easy enough to get this working. Place the tmux-harvest.php script somewhere on your system and then invoke it within your .tmux.conf config like so. You’ll need to make this file executable: chmod +x tmux-harvest.php.

To authenticate with Harvest create a file...

Vim Ramblings

Jun 27, 2014

So, in the past 6 months I’ve switched from Sublime Text to Vim.

And just like that I’ve fulfilled Harry Robert’s tweet:

Whelp. Anyway, onwards and upwards I guess.

Speaking of Harry, if your looking to get started with Vim, checkout his awesome guide that he wrote to save me the trouble of writing one myself!

Earlier tonight I was perusing the interwebs (shocker right?) and wound up on

S3 Security Policy

Apr 26, 2014

I love S3, I use it with Arq, I use it to host this site, backup configs on VPSs, and to transfer random files that are too big for e-mail.

As my S3 usage has grown I’ve started creating seperate AMI users for each task, e.g. a siteleaf user for this blog. It wasn’t until tonight that I took the time to craft a better security policy for some of these users.

I struggled finding good policy examples until I stumbled across this one over on the AWS Security blog. I highly recommend reading it all...

Broadcast channel

Apr 08, 2014

Along with the move to Siteleaf I’ve also set up an App.net Broadcast channel. The Broadcast channel fires off a push notification to your iOS or Android device whenever I publish a new post. You can also subscribe via e-mail if you wish.

Keeping up

Apr 08, 2014

Thanks to this tweet by Adam Clark and this post by Brian Rinadli I’ve been thinking about how I keep up with changes in the web development world.

Brian writes in his article that

One of the biggest difficulties front-end developers face can be deciding what is worth paying attention to and what isn’t. If you follow social media, Hacker News, EchoJS or even a handful of blogs, it can be hard to decipher the tools or frameworks that are deserving of investigation versus those that maybe just aren’t there yet.

I agree; there’s good signal...

Moved to Siteleaf

Mar 31, 2014

I’ve moved this blog from Jekyll on Heroku to Siteleaf on S3. I did this for a couple reasons:

  1. Siteleaf gives me more control without having to be on my computer. The ability to post from my phone is the secret sauce in my opinion.
  2. Siteleaf is just an API. I was able to easily convert my Jekyll posts to Siteleaf with a simple Ruby script. I can just as easily switch to another platform in the future.

I’m excited by the move, I also took the opportunity to freshen the design up around here...

Git Commit Template

Aug 22, 2013

TL;DR how do I do this?

At work we’ve been moving toward standardized Git commit messages. By following the pattern, it’s very easy to see what type of code is in a specific commit.

We use Sprint.ly and Github. Both of these services can perform actions based on what is in a commit message. Github can close or reference an issue if I type closes #144 at the end of my commit. Sprint.ly can pull a commit message into a specific ticket in much the same way.

The problem with all this, is...

ADN Cross-poster

Aug 15, 2013

Recently I released a App.net to Twitter cross-posting app that runs via a single Heroku worker dyno (which means it’s free, gracias Heroku).

IFTTT Issues

For awhile I had been using IFTTT to crosspost any posts I made on App.net to Twitter, however there were two things I wasn’t totally thrilled with.

First, IFTTT automatically converts any links in your App.net post to bit.ly links, which stinks as I want the links in my intended format and style. The other thing IFTTT did poorly was how it handled posts that were longer than...


Jul 21, 2013

I love IFTTT. IFTTT is one of those awesome services that I desperately wished had a business plan.

Here are a few of my favorite IFTTT recipes.

App.net to Twitter

A few weeks ago I made the decision to give ADN another try, largely because ADN offers a RSS feed of my posts, something Twitter thought was too complicated. So I decided to funnel my original posts through ADN and then post them to Twitter. IFTTT facilities all of this with ease.

Get the App.net to Twitter recipe

Post to App.net from Day...