Programming Uncategorized

Invaluable command line tools for web developers

A basic overview of Curl, Siege and Ngrep, all tools that come in handy for web devs.

Invaluable command line tools for web developers.

Programming Uncategorized

Automating your front end development workflow

We all have a workflow. In fact, we all have many of them. Human beings are creatures of habit. In Thinking, Fast and Slow, Nobel laureate Daniel Kahneman describes our use of intuition to remember the steps in our workflows and the order of our workflows. When we wake up, we get out of bed, make our way to the bathroom, brush our teeth, perhaps shower and then make a bowl of oatmeal.

All of this comes naturally and we do it by thinking fast, by retracing the steps we’ve done hundreds of times before. We don’t slow down to think “Should I use the toilet or the sink”. We’ve trained our body to follow a workflow. We can do the same thing with our development workflows by taking some steps to understand how we work. We can then use tools to automate the repetitive tasks.


Bash History Punchcard

My friend Drew turned me on to a small hack to my history file that allows me to see a github style punchcard of when I am most active. Checkout Bash History Punchcard on github and make sure to add

export HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S - '

to your bash config to make it work. My punch card from my work machine is pasted below. I wish I had upped my bash history when I started since I only have what I’ve done going back to the end of December on here. No matter what, it’s cool to see when I’ve been doing the most work.

Programming Uncategorized

A list of HTML and JavaScript based slide shows

Since I have used HTML and JavaScript based slides for a couple of years, I often get asked what the options for HTML and JS based slides are. This is by no means a comprehensive list, but should be enough to get you started if you want to checkout the options for building slide shows that are instantly sharable on the web.

I’m sure I missed some options, let me know in the comments so I can check them out and add them to the list.

Programming Uncategorized

Tools I love: autolint and autojump

I love tools that enable me to develop better and faster. Vim has been my editor of choice for about two years and thus I consider the command line to be my IDE. Two recent additions to my flow have been autojump and autolint.


Drew Stephens turned me on to autojump. It learns the directories I go to and makes it simpler to go from one folder to another. It has learned that if I am typing vie, I am probably going to the views folder of a certain site that is about 9 levels off my home directory. It saves me keystrokes multiple times a day.


It’s really easy to write ugly code. autolint keeps me a bit more honest by providing growl notifications on save for any errors in formatting, style and syntax of JavaScript files. It can be a pain taking old files and putting them through this, but it is very beneficial for all new files.

Those are the two latest tool in my programming tool change. What are some of the ones you’ve found recently and loved?

Code Programming Uncategorized

IRC Notifications from a remote machine to my mac

For IRC, I like to use Irssi on a server that I can always keep running and log into no matter what machine I am on. One of the initial challenges with doing this was getting notifications on mentions. I solved this by following the tutorial on Irssi, screen, fnotify and Growl on OSX. The only difference between his setup and mine is that my bash script to do the notifying is simpler. I’ve pasted it below for you to use.


ssh harpua "tail -f .irssi/fnotify " | while read heading message; do growlnotify -t "${heading}" -m "${message}"; done

How do you solve the problem of IRC notifications from a remote machine?

In case you are wondering, all of my machines are aliased to Phish songs, hence Harpua.

EDIT: I’ve added the -s flag to growlnotify so that the updates are sticky and thus I see them when I get back to my machine if I’ve stepped away and I don’t leave people hanging.

Programming Uncategorized

Netcat cheat sheet

So far I’ve only used netcat for testing Phetric but this cheat sheet shows how to use it for port scanning, sending files and a few other nifty ways.

Netcat cheat sheet | Ack Ack.

Programming Uncategorized

Two Chrome Extensions I’ve Started Using

I’ve started using two chrome extensions lately.  Both are pretty simple and are designed to make one thing easier.

The first is The Png Project which makes it so that on any Noun Project page, you can download the image as a png.  I used it when I made Aaron Jorbin in 2011.

The second is by Evan Solomon and it adds a link the the SVN repository of any WordPress plugin on the plugin repository page you are on. Plugins SVN Link comes in handy if you’re the type that looks at the code of various WordPress plugins. Evan put the code on github and accepted a pull request of mine to remove a dependency on jQuery.

Anyone have any chrome extensions they’ve found come in handy lately?

Programming Uncategorized

Real Time Search and Social Analytics

Over at AddThis, we just released an expanded version of our Live View Analytics. We now are bringing together what was multiple screens of live data in to a single live view.

This was a pretty fun project. The server generates a stream of data that we then use client side to render all of the content. Of all the new features we added, the one I would recommend checking out is single URL view. Click on any url to get a single URL view that includes a moving bar graph (that fills in with data as it happens) along with the search terms and copied terms for that specific page.

Read more about it on the AddThis Blog and then go log in and start seeing how people are using your site right now.

Programming Uncategorized

Why be clean, when you can use Node Dirty

During my presentation at WordCamp Philly, one of the people in audiance asked me what (JavaScript) libraries I like and I rattled off a few of them.  I thought it would make more sense to start writing them down and sharing them.  I’m going to start things off with a library that I use for caching and small data sets.

Node Dirty is a library largly by Felix Geisendörfer of debuggable and transloadit that is a small and fast key value store for nodejs application. So far I’ve used it is a temporary store while combining multiple CSV files and as a cache for data that takes a long time to generate. In both circumstances I’ve found it easy to work with and very quick.

When working with node and it doesn’t make sense to use a full blown database, I definitely encourage you to take a look at Node Dirty.