git pr: push current branch and open pull request

I use the awesome hub utility to open pull requests on GitHub from the command line. I love being able to do this from the terminal. Since I almost always need to push a branch and copy the pull request URL to my clipboard, I wrote a wrapper to handle these steps in one command.

Read more →

Customizing the Rails Console

Rails comes with the ability to customize the IRB console when you run rails console. This can be useful to preconfigure behavior for your console when any developer runs it from any environment.

Read more →

Launching IRB from your RubyGem

When developing a RubyGem, it is often helpful to launch an IRB console preloaded with your library. There are a few ways you can do this.

Read more →

Another New Layout!

I finally got around to revamping this blog’s layout. Jekyll now includes a nice starting theme that I tweaked a bit. Now to remember to post more.

Building GitHub Pages Locally

GitHub recently released a pages-gem making it easy to duplicate the environment they use to build GitHub Pages. Add a little Rack, and Pow, and you can be running GitHub Pages locally in no time.

Read more →

Documenting with TomDoc and GitHub Pages

I wrote a blog post over at Eng5 outlining how we use TomDoc and GitHub pages for documentation at Site5. Check it out!

Tomy Racing Turbo

I stumbled across this video for the Tomy Racing Turbo. I totally remember using this when I was 4 or 5 years old.

Why Blacksmiths are Better at Startups than You

I read an interesting article today about the show Mastercrafts. Mastering a craft like blacksmithing or stone masonry seems a lot like mastering computer programming, but much less forgiving. Definitely worth a read.

Designed by Apple in California

A look inside Gears, the Final Fantasy VII game engine

I came across this document a few months ago. It is an inside look at Gears, the game engine used to develop Final Fantasy VII.

Read more →

RSpec and vim-dispatch

How We Hack At Site5

Hacking for Site5 Engineering is an awesome gig. I work with an amazing team of highly opinionated developers from a wide background. In early 2012, we adopted a semi-formal process for working on software. We’ve been very happy with how this has worked out, so I thought it was time to share.

Read more →

SSH Escape Sequences

Today, I learned about a bunch of escape sequences that SSH supports.

Read more →

A Year Without Smoking

Just over a year ago, I left for Railsconf and made one of the best decisions of my life: I was going to use the week in Austin to force myself to quit smoking.

Read more →

Bash Arguments with $* and $@

Today, I wondered what the difference between $* and $@ in Bash were. This is a tough one to Google for, so I’m copying the answer I found here:

Read more →

More OS X Hints

I just came across this list of OS X Lion tricks and tips. A few I didn’t know about yet, such as Tip #22, resizing windows with Shift and Option.

Read more →

Xcode 4.6 and ruby-build

I’ve been having trouble compiling Ruby 1.9.3 since updating to Xcode 4.6. After a little Googling, it turns out that the error is with some invalid CFLAGS set in Ruby’s compile scripts.

Read more →

The One Where I Got A New MacBook Pro

Today, I finally got a new MacBook Pro with Retina Display to replace my aging early-2009 model.

Read more →

Running RSpec in Vim

Today, I finally got :make working for RSpec files in Vim.

Read more →

Running Vim commands from stdin

Vim has a handy feature that allows you to run commands from a file when you open a new session.

Read more →

Fun With Jekyll Posts and Vim Macros

Yesterday, I decided I wanted to edit a bunch of Jekyll posts. Specifically, I wanted to move the title field in each post’s YAML front matter to the bottom. Instead of having to manually edit a few hundred files, I finally remembered to use Vim macros.

Read more →

All programming languages need a REPL

My girlfriend has recently begun learning Java for college. The shittyness of Java aside, I’ve realized that its lack of a REPL makes it much harder to play around with its features.

Read more →

NiGHTS into dreams on PSN

Validating Serialized Attributes in Rails

ActiveRecord provides a serialize method, which can be used to transparently store a Hash, etc in a single database column.

Read more →

Restoring files from OS X Time Machine with Terminal.app

I use Time Machine on OS X to keep backups of my hard drive. Overall it is a great program. However, restoring files can be a slow and cumbersome process.

Read more →

Credit Card Number Generator

I was sent this Credit Card Number Generator the other day. It has fake numbers to test a variety of cards with, and explains how the numbers are validated.

Upgrading to OS X Mountain Lion

I installed OS X Mountain Lion today and have had a pretty good experience.

Read more →

Font Bomb

Three Avatars Coming?

It looks like James Cameron is going to be recording three new Avatar films. I can’t wait to see the next installments!

99 Problems

A Law professor breaks down the lyrics from Jay-Z’s 99 Problems.

Design Principles

This is a good read on design principles in software applications.

Animate.css

I stumbled on Animate.css today. It contains a bunch of pure CSS animations for use in your own projects.

iOS Text Editors Compared

I found this very comprehensive comparison of iOS text editors today. I’m still not happy editing without a filesystem, but perhaps one of these apps handles it in a non-shitty-cloud-syncing way.

Railsconf Links

Railsconf, ho!

Beyond excited to be attending Railsconf in Austin, TX this year! Can’t wait to finally meet the rest of Site5 Engineering team in person. If you’re at any of the bars afterward, make sure to flag down Site5 for a drink!

Read more →

Prince of Persia Open Sourced!

This was a pretty cool story about how the developer of the original Prince of Persia game was able to recover it’s source code after 20 years. It almost makes me wish I had kept my pile of floppy disks!

All the reasons PHP sucks

This is a pretty comprehensive article that discusses the overall shittiness of PHP. Many of the points listed here are reasons I love Ruby over PHP.

TIL gifs can have more than 256 colors

Today I learned that gifs can have more than 256 colors. Using more seems unpractical, but it’s still a cool trick.

Fun with vector icons

This was an interesting article about resizing vector icons – in short, the details count, and SVG is no replacement for a designer’s keen eye.

A Test, from Heroku!

This is just a test post from Heroku :)

Building a single sign on solution

Blargging this so I remember to read it later :)

The key to Web 2.0 success is...

Splitting git repos with git filter-branch

While working on a project managed with Git, I needed to split some files into a new repository. In order to maintain the git history on these files, I used git filter-branch. Here are two methods I used.

Read more →

This is how design works

Take note of the Apple products. I had no idea they were so, inspired, by Braun.

Read more →

ZSH Tab Completion for Bundler Binstubs

Bundler has a feature called binstubs, which places stubs for gem bin scripts in ./bin. Unfortunately, ZSH doesn’t seem to complete these files out of the box.

Read more →

Graphical Vim Cheat Sheets

I found these excellent cheat sheets for Vim – nice and simple keyboard overlays.

Splinter, the Capybara Ninja

I recently published Splinter, which contains a few helpers for interacting with Rails forms using Capybara.

Emoji cheat sheet

Wow, I had no idea there were so many emoji icons! Use this cheat sheet to make your Github issues and pull requests diamonds.

Basecamp Next is crazy fast

A post from 37Signals about how they made the new Basecamp fly.

So You Want To Be A Developer

A pretty accurate description of what it’s like to be a developer.

Patched ruby 1.9.3-p0 is sexytime

I’ve been using this patch for a few weeks, and the speed increases on a Rails 3.2 app are definitely noticeable. It installed for me without any problems.

Removing Finder from the OS X Application Switcher

@erichatesyou sent me this tip today. It removes Finder from the OS X app switcher.

Vim 7.3 on a shared host

A few years ago I blogged about how I setup Vim on a shared web host. I needed to do this again today; but with a bit more control as to the features that were compiled:

Read more →

The Twiddle Wakka

An article describing the usage of that weird ~> operator found in gemspecs and Gemfiles. I read this a while back but keep forgetting where it is when I want a technical explanation.

Teach Yourself Programming in Ten Years

Researchers have shown it takes about ten years to develop expertise in any of a wide variety of areas.

Read more →

Being 5 Years Ahead

Another reason I like iOS better than Android.

Allow binding ctrl-s and ctrl-q in Terminal.app

I ran into an annoying issue trying to configure ctrl-q as a Vim mapping in Terminal.app for OS X. It turns out that flow control was blocking it. I had mistakenly thought that the flow control keys only applied to things like less or more.

Read more →

MakeTi makes Titanium suck less in the CLI

Finally, someone has released a decent command line tool for Titanium Mobile! I haven’t had a chance to do much mobile development in a while, but I’ll be giving this a try if I go back to Titanium.

LiveReload on GPL

An interesting article about how the author of LiveReload almost chose the GPL license for his project.

Vim anti-patterns

This post covers some vim anti-patterns and includes a few tricks I had not known about (such as :set tildeop).

marked.vim

I threw together vim-marked, that provides some mappings for opening and closing Marked.app. Check it out if you’re using Vim and Marked!

Marked

I just discovered Marked today. It adds one of the few things I still miss from TextMate to vim, a live preview window for markdown.

Read more →

The Paradox of Choice

People desire more choices, yet are unable to choose when the selection is greater, that is the paradox of choice.

Read more →

Why Jekyll pwns Wordpress

It was just about two years ago that I converted my Wordpress blog into a Jekyll blog. Overall, I am very happy with the decision, here’s why.

Read more →

CSS Font Stack

Eric sent me this a while back - a very useful site for choosing fonts for multiple operating systems.

Typechart - typography gallery

Typechart is a great gallery of CSS typeface settings.

Subtle Patterns

Allusis sent me this link with a bunch of great free web design patterns. I know I’ll be using this one soon!

More CSS3 generators

This is a great page that handles generating CSS for a wide range of techniques.

CSS Gradient Generator

I found this excellent CSS gradient generator a while back. Very useful for playing around with CSS3 background.

Rainman is a very good driver

Jekyll and Vim

I’ve been using Vim full time for a while now and wanted a decent way to manage blog posts in my Github Pages powered blog.

Read more →

2011 Retrospective

The year is coming to a close, so I thought it would be a good time to reflect at some of the projects I’ve worked on in 2011.

Read more →

Six Months at Site5

I can’t believe it’s already been six months since I joined the engineering crew at Site5. I’ve been having a blast!

Read more →

On Perfection

This quote from Bleach sums up my thoughts on perfection pretty well:

Read more →

Modern Ruby Development

I was having trouble getting Pow working with rbenv, and I found this detailed article that goes through the process, and a lot more. Check it out if you want to take another look at your OS X ruby development setup.

Pow and Apache, kissing in a tree

Need to use Apache alongside Pow? I found this guide that explains how to setup Apache to use IPv6.

The Million Dollar Question

A friend of mine sent me this article today, a very interesting read about taking chances in business.

vim stripper

I wrote my first vim plugin, a simple command to strip trailing whitespace from buffers. Check it out if you think whitespace is the devil too.

Snuggie: a ruby gem for the Softaculous API

Yesterday, I pushed Snuggie, a gem that wraps the Softaculous API in a warm, loving ruby embrace. Check it out if you use Softaculous!

FannyPack: Ruby bindings for the Fantastico API

Check out FannyPack if you use the Fantastico API with Ruby.

iDium mod for Adium

I’ve been itching to get ahold of this Adium mod since seeing it on MacThemes about a year ago. I decided to check back in the other day, and was pleasantly surprised to see that iDium had finally been publicly released.

Read more →

HP All In One Printing with Snow Leopard

If you have an HP PSC 2110 and need to scan, check out this blog post.

Top 10 Myths about Introverts

I saw this article today and thought it was worth sharing.

Theming Liberty Sports Group with WordPress

I was contracted recently by Allusis Productions to create a backend for the soon-to-be-released Liberty Sports Group site. After going over the client’s requirements, I decided WordPress would be the best fit for the site. Here is an overview of my experience setting up and theming WordPress 3.1.

Read more →

MiniDB, a cute little wrapper for PHP's PDO

I threw together a tiny little wrapper for PHP’s PDO library. It probably sucks, but it may be useful to someone stuck with PHP :)

Jekyll TextMate Bundle

I forked a Jekyll TextMate bundle and added a new post template and a tmLanguage file. Check it out if you blog with Jekyll and TextMate.

Fireworks Icons using alpha transparency

Cool video on making vector icons in Fireworks using alpha transparency.

A good read about NDAs

I found this article the other day about why one developer says “no” when it comes to NDAs. It was a very interesting read, and I think I may follow suit when consulting in the future.

WHMCS API Bindings

I recently extracted some of my DotBlock work to create WHMCS API Bindings in PHP and Ruby. Check out the blog post at DotBlock.

Wage intergalactic war on your Titanium Mobile apps with TiFighter

Over the last 10 months, I’ve had the opportunity to work with Titanium Mobile for a few different projects. I was immediately drawn to Titanium because projects are written in JavaScript (which I know) as opposed to Objective C or Java (which I don’t know). JavaScript is all well and good, but I still found myself missing things from jQuery, like $.each, $.map and friends.

Read more →

Setting up a Ruby production environment on a DotBlock VPS

My projects' production environments consist of Git, Ruby, Apache, and usually a hand full of RubyGems. These are the steps I took to set these up using Ubuntu 10.04 on my new DotBlock VPS. These steps were performed immediately after the VPS was setup, so there weren’t any additional packages/dependencies yet installed.

Read more →

Hosting Private Gems

I’ve written a few gems for work that I can’t host on RubyGems. It turned out to be easier to host these than I thought.

Read more →

Rake tasks to build Titanium Mobile Apps

I’ve been working with Titanium Mobile to build an iPhone app. Using Titanium Developer to launch the app in the iPhone simulator is a pain in the ass. It would be great if I could build via the command line.

Read more →

Capistrano: Send Jabber alerts on deploy

I use this Capistrano recipe at work to send a broadcast to the office when I deploy an update. We use Jabber, and have a broadcast user that forwards messages to every user.

Read more →

A few Rails Plugins

I extracted a few pieces of code into Rails Plugins.

Read more →

API authentication in Sinatra with Clearance or Authlogic

Writing an API with Clearance

Recently, I needed to write an API to work with an iPhone application. I used Clearance for authentication. Unfortunately, it doesn’t support HTTP Basic Authentication out of the box, which made it difficult to use in an API.

Read more →

Jekyll Pagination Gotcha

If you’re using Jekyll and pagination (see Template data), make sure you’re using index.html and NOT index.markdown or index.md.

Read more →

`git browse` alias

Managing TextMate bundles with git submodules

I’ve been using TextMate nearly every day for 2 years. Over that time I’ve customized it exactly to my liking with a bunch of extra bundles, plugins, and theme tweaks. I’ve tried a few different things to try to manage my ~/Library/Application Support/TextMate directory.

Read more →

Deploy with git

I found this git hook that lets you deploy a project with a git push rather than having to use a full deployment library such as Capistrano. I use this on a bunch of PHP projects that don’t need all the features Capistrano provides.

Read more →

ActiveRecord Migrations - integer limit gotcha

I work on a few apps that deal with phone numbers. I usually store these as bigint(11) in MySQL. My migrations always seemed to ignore this.

Read more →

CodeIgniter Database Library Extraction

Formatting MySQL Queries For Asterisk

If you’ve ever used the MySQL module with Asterisk, you’ve probably had loads of fun formatting queries.

Read more →

gem install without sudo

It took me a while to find a clearly documented way to manage gems without having to use sudo. Just drop these lines into your ~/.zshrc or ~/.bashrc file.

Read more →

Fetching Emails with Redmine

Redmine has an awesome feature built in that lets you check an email account to import new tickets into your project.

Read more →

Forcing SSL with Apache

For my own reference really, here are the steps I took to setup an Apache vhost to redirect all non-SSL requests to https:

Read more →

jQuery Autocomplete for Jekyll

After migrating my blog from Wordpress to Jekyll, one thing I was missing was a functional search box. I threw one together last night.

Read more →

Oh Hai, Jekyll

After putting it off for too long, I’ve redesigned my blog using Jekyll and GitHub Pages. It ended up being a lot easier than I thought, and Jekyll can do some pretty sweet stuff.

Read more →

PHP Script To Delete All WordPress Tables

I’ve had to do this a few times when I wasn’t able to just drop the entire database, so I threw together a small PHP script that will do it for you.

Read more →

Asterisk Manager Commands

I’ve been playing around with the Asterisk Manager lately (which is pretty damn cool, if you ask me).

Read more →

OS X: Fixing the Terminal

This might not be a problem for everyone, but I got used to using home, end, page up, and page down to navigate through the command line and documents through the console. I was quite surprised to see that these seemingly basic features were missing from OS X’s Terminal.app.

Read more →

OSX - A Month Later

It took me a while to get used to the quirks, but I have not only gotten used to OS X, but it is now my favorite operating system.

Read more →

OSX First Impressions

The font rendering is ruining my life.

Hurray Mac mini

I finally bit the bullet and bought one, and its delicious.

Read more →

jQuery, nothin' but love for ya

For the longest time, I was anti-javascript in just about every sense. Once I figured out how to do rollovers with CSS instead of JS, I pretty much abandoned all JS on my work. This was before Ajax was known for more than its grease fighting abilities on pans and other dirty dishes. Needless to say, it was only a matter of time before I had to use Javascript - and it was an absolute disaster. Of course, now I know it was simply my inexperience with Javascript (and more importantly, cross-browser Javascript) that made it such a disaster. Now I know there are great tools already made to do most of this stuff for you.

Read more →

FTBS... I'm getting a Mac

I’ve decided that I am going to purchase a Mac Mini with my tax refund. I am sick of Windows on my old laptop, and Fireworks in Wine is slow as death. The Mac will give me the tastiness of Fireworks with the stability of Unix. I can’t wait.

Asterisk on Ubuntu Server

I know I’ve blogged this before, but these are the steps I took most recently to get Asterisk running on a fresh Ubuntu Server (Dapper) installation. The instructions will also work on Feisty or Gutsy server.

Read more →

Oh, how I love you Kate...

The KDE text editor Kate is my latest weapon. Its great if you’re on a slower connection (or you’re torrenting and killing a faster one) as it downloads the file to your hard drive before you edit it. I love me some vim - but it is no fun on a slow connection, waiting 30 seconds to move between lines.

Read more →

Oh yeah...

Did I mention I am officially a web designer according to ITT?

Read more →

New Development(s)

Well, I’ve just finished building my first site with CodeIgniter, and I have to say it was an absolute blast. The framework is wonderfull. Using it, I was able to completely redesign Inglenook Realty in about 3 weeks with leaner, more sensible code than I had implemented previously. Granted, there is about twice as much code now as there was previously, but everything works perfectly now - and I won’t need to scrap the whole thing again if the owners want more revisions down the road. Thank you CI!

Read more →

Code Folding in Vim

So I learned yet another awesome feature in vim today - code folding.

Read more →

Calling Dell Support

Earlier today, I noticed the A/C adapter for my laptop seemed to be broken. It took a few minutes to realize that there was a kink in the wiring under the shielding. If I moved that around just a bit, it would work properly. “That sucks,” I thought. “At least I have the warranty and it should be a quick phone call to get a new one out.” Wrong.

Read more →

tar over ssh

I figured out this easy way to make a backup over ssh.

Read more →

Vim 7 on a Shared Host

I did this about 8 months ago and never wrote down my steps. I just had to figure it out again for another server, and thought I’d write it down here to save myself (and possibly someone else) time.

Read more →

Good times with rar

So I decided today I was going to make a DVD backup of my music collection. I also decided I was going to use rar to do this.

Read more →

Linux - unzip

I just had a hell of a time trying to unzip a bunch of zip’s on Linux.

Read more →

Asterisk Goodness

So with the help of a friend at work, I successfully made my first incoming and outgoing calls with Asterisk this weekend. I haven’t gotten all of the kinks worked out yet, but its definitely been a good time.

IPTV Project

The project I mentioned a few weeks back with IMDB lookups, will be my official ITT Tech Fest project.

Read more →

Linux Experiences

If you’ve been reading this over the last 8 months or so, you know that I’ve gone through somewhat of a love/hate relationship with Linux. I installed Fedora Core 4 at first and liked it for about a day. As soon as I went to play an MP3 and realized I couldn’t, I was quickly back to Windows.

Read more →

ViaTalk: Week 1

21

Indeed, I am 21 today. Wasn’t very fun, and I don’t drink. Hoorah!!

Read more →