New city, new job, new life

I haven't posted anything about myself in a while, so I'm happy to present this news: I have moved from San Diego to San Francisco, and am now happily employed by Change.org. This move was a long time coming. Many of my friends in college were from the bay area, as well as more friends I met through those friends. Everyone talked it up and seemed eager to return. In addition to the social motivation, San Francisco has a climate and culture that is much more akin to my taste. It's also one of the biggest tech hubs in the world, so career-wise it was a great choice as well.

I just finished my third week as a software engineer for Change.org. I'm happy to be spending my day working with technologies I love (Ruby, Rails, JavaScript, etc.), and even more so to be doing it to support a company with an awesome mission. Change.org has been receiving a lot of press lately and is growing very fast, and it's exciting to work for a company whose success I have a real interest in.

Other than one scary incident on a Muni bus, San Francisco has been a blast to live in so far. I'm enjoying the overwhelming amount of places to eat, the ease of getting around, the cool weather, and the cool people I've met so far. Meeting people in the Ruby and open source communities I've only followed online has me a bit star struck.

I will miss a few friends and the San Diego Ruby community I left behind, but San Francisco is clearly where I belong. Here's to a fantastic 2012 and beyond.

Bang goes 1.0, now with Hubot support

I just released version 1.0 of my command line utility, Bang. Bang is a simple key value store for quickly storing and retrieving text snippets. I talked about it in detail last month, so be sure to check out that post for samples of usage.

Version 1.0 merely fixes a few bugs and establishes the public API according to Semantic Versioning. Install Bang via NPM: npm install -g bang.

Perhaps the more exciting news is that you can now use Bang to smarten up your Hubot, GitHub's awesome chat bot! The Bang script for Hubot is available in the hubot-scripts repository. Clone the the repository, copy bang.coffee into your own Hubot's scripts, and add bang and shellwords to your package.json file. Deploy your Hubot and enjoy!

Bang: text snippets on the command line with Node.js

There's a great Ruby gem called Boom by Zach Holman for managing text snippets via the command line. I've used it since it was released and have even contributed to it a few times. But after using it for a long time, I realize that I don't really need the "lists" feature – the ability to store snippets with keys two levels deep. Because of Boom's syntax, I often accidentally create lists because I can't quite remember the name of the key I'm looking for.

I decided this was a good prompt for a new program, so I created Bang. Bang is a module for Node that gives you a very simple key value store with one level of depth. I use it to store all sorts of things: articles I refer to often, simple code snippets, Imgur links to animated GIFs, and strings with Unicode characters that are a pain to type.

For those, like me, who are experimenting with Node, CoffeeScript, testing using Jasmine, and annotated source using Docco, you will want to check out the source on GitHub to see some examples of all of these.

Install Bang

Install Node and npm.

$ npm install -g bang

Set a key

$ bang apples oranges

Get a key

$ bang apples
oranges

"oranges" is now copied to your clipboard.

Delete a key

$ bang -d apples

List keys

$ bang
  foo: bar
 blah: bleh
jimmy: cuadra
 bang: is rad

Feedback

I hope you enjoy Bang and find it useful. If you have a problem or suggestion, feel free to open an issue or send a pull request.

TL;DR

Page 5