I'm trying to improve my writing skills and, as the saying goes, practice makes perfect. While I can't promise that I'm a poetic wordsmith, I can say that a few posts below are probably worth a read.


Moving to S3 | Dec 22, 2016

I'm a huge fan of static websites. This site is a static site using Middleman and, more importantly, my wife's website Mississippi Life is a Jekyll site. While neither of them really need a ton of performance, I figured it'd be a fun experience to...


2016 in Review | Dec 17, 2016

This isn't exactly a technology or programming oriented post and is more of a long diary entry than a blog post, to be quite honest. If you're not into sort of long and probably kind of boring stuff about me as a human being I'd skip this one.

In...


The Extra Mile | Nov 17, 2016

Going the extra mile to make code that doesn't just work -- it works well.

I think that everybody writes code a little differently. I know that the "right" approach taught to me in school, and used by several of the smartest people that I know, is...


Viewing JSON in Vim | Aug 17, 2016

I use Vim for nearly all of my text editing. From programming to taking notes, it's all Vim all the time.

But... if you just open up a json file, it's not very pretty. That's nothing against Vim by any means, but it could definitely be better. Luckily...


Use Static Sites | Aug 9, 2016

When you to make a simple website, what's the first thing you reach for?

Wordpress? Rails? Django? Straight up HTML files? Before you know it you're setting up a database, dealing with security updates, paying for expensive hosting, and doing all...


Getting FLAC Files from Twilio Recordings | Aug 6, 2016

Twilio is a pretty awesome service for all things telephone. One of the coolest things that they do is allow you to record phone calls, with which you can then do all sorts of cool things.

Recently I needed to get a phone recording as a FLAC file...


Creating iCalendar Events in Grape | Aug 3, 2016

Recently I wanted to add the ability to export a list of events that users could then add to their calendar. I didn't want to go through the process of integrating with Google's calendar API because not eveyone uses Google's calendar and there's no...


Vim with Large Files | Nov 8, 2015

One of my favorite things about Vim is that I don't have to worry what I open with it. I can open a huge .txt and not worry if I'm going to spend twenty minutes waiting for my computer to be responsive again like I used to when I used other text editors...


What Makes a Good Bug Report | Jul 12, 2015

Every software developer will, at some point, need to work on a bug report submitted by someone who isn't a developer. It's just a fact of life. The problem with this little tidbit is that it's easy to forget how magical the whole process of software...


Fixing Apple Music | Jul 2, 2015

I've been excited about Apple Music since I heard that it was a thing. As soon as I was able I downloaded it to my phone and started my trial. That night, when iTunes was finally ready to update, I downloaded that as well and started building my first...


Working in Audibles | Mar 31, 2015

An audible is “a play called by the quarterback at the line of scrimmage to make a change from the play that was called in the huddle.” The call usually comes after the quarterback sees the defensive formation of the opposing team and realizes that...


Git Commit Message Templates | Feb 27, 2015

I’m a fan of well thought out and structured code. I think that just about everyone who has ever programmed anything of any size or consequence will agree wholeheartedly. A huge part of having well organized code is your source control and how you...


Mjolnir - Automation and Productivity Magic | Jan 2, 2015

As a software developer, I spend the vast majority of my working time staring at a computer screen. I use OS X, as do lots of people. I like having something to help at least move windows around the screen so that I don't end up with a bunch of stuff...


2014, Year in Review | Dec 29, 2014

I'm a bit fan of setting expectations upfront and then doing a postmortem after the fact.

I wrote about my aspirations for 2014 strangely late in the year. I was all excited about graduation and getting married soon and wanted to help give myself...


Curated Git Links of 2014 | Dec 23, 2014

If you don't know this about me, I am a huge fan of Git and GitHub. I've written in the past about why students should use GitHub, how to use Git in general, a Git trick here and there, and even done a presentation or two on the subject. I could sit...


Seven Months with AngularJS | Dec 22, 2014

Since I started web development, I've always liked the idea of decoupling the front end and back end. More than once, I've advocated the idea of building an API to do all of the database interactions and making the front end just interact with the...


Running Ionic Emulate in Tmux | Dec 17, 2014

You just started working with the awesome Ionic framework and you're all set to run it in the iOS emulator. You do everything right:

ionic emulate ios

And then, after a tantalizing bit of things that look like they're going to work, you get this...


Removing that Pesky Git Commit | Dec 16, 2014

So you're merrily programming and finally finish up that cool new thing. You fix everything up and push to GitHub for you next pull request. Boo. You based your feature branch off of a branch that doesn't match where you need it to go.

As in:


Postgres Won't Start After OS X Yosemite Installation | Dec 15, 2014

After installation of OS X Yosemite, when I tried to do some work that involved postgres, I noticed that I couldn't get postgres to start. It normally just starts by itself, thanks to launchctl, but it just suddenly...wasn't. After a bit of troubleshooting...


Please RECOMPILE YCM | Oct 10, 2014

I hate when crap gets in the way of my productivity. One morning, after a restart, I just couldn't open Vim. It took me a lot longer than I would have liked to figure out, so here is the solution for posterity:

Whenever you start a new instance of...


Project Euler Problem One | Sep 23, 2014

I think of my favorite ways to poke at a new language once you're past the 'Hello, world!' stage is to do the first few Project Euler problems.

Problem One is

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5...


Using Hydra | Jul 10, 2014

If you've ever used a tiling window manager, you know just how nice it is to be able to move windows around to exactly where you want them without the relative pain of having to drag and resize them. For someone who uses a computer for around ten hours...


Me and Vim | May 25, 2014

The first command I learned to use was the OS X speech utility.

say
Linell is the best
Hello, World!
Other things

That constituted most of my command line knowledge for longer than I'm willing to admit. It was a long time before I ever needed to...


2014 Aspirations | Apr 19, 2014

Senior Year, No Ragrets. #YOLO, amiright?

Seriously, this is a pretty exciting time in my life. Even without all the other awesome things happening in my life, like graduations and weddings and stuff, the prospect of really starting my professional...


MySQL for Mobile Applications | Apr 14, 2014

You've got the idea. You've fired up XCode or Android Studio. Heck, maybe you've even got the basics of your application up and running. Your idea is well on its way to becoming an reality.

You need a database. And you have no idea how to make that...


Stuff is Hard | Mar 27, 2014

A friend and I once had a bit of a disagreement about how hard video games are to make.

He said that he didn't think they're very hard to make. He even used a game that I submitted to a game jam that my ACM chapter held as an example of a game that...


Git | Mar 19, 2014

If you've got any experience with Git, you know that it can really live up to its name. Sometimes things just don't seem to work like you think they should. Sometimes stuff just plain doesn't work. Sometimes you don't even know what words to Google...


Student Involvement | Feb 4, 2014

"If you're in computer science and want a job but can't find one... well... that's on you," my professor said on the first day of my capstone course.

My professor, while a little blunt, is right. Among many of my peers, there are complaints about...


Self Code Review | Nov 25, 2013

Nearly everyone has participated in some form of code review at some point during their programming career. Most review sessions come in the form of coworkers, managers, or professors looking code over and offering up constructive criticism. It usually...


Evolving Fishes | Nov 21, 2013

My biology lab class recently did an 'experiment' where we used paper fish to demonstrate how fish evolved in relation to certain predation factors. So using three shapes and two colors of fish, you can get a general idea of how it works...


Calculating Time | Oct 11, 2013

One popular method of calculating the time it will take to complete a project is the use of the PERT formula. The idea is fairly simple. You take the realistic time required, the optimistic time required, and the pessimistic time required and plop...


Student Resources | Oct 10, 2013

So, you want a job?

Or, you at least want something. Maybe it's that cool research position at that cool lab that does that cool stuff. Who knows?
Not me. But I know what I want, and I've spent a bit of time trying to figure out how to get there....


Why Students Should Use GitHub | Oct 9, 2013

This year, my local ACM chapter is aiming to present a series of talks and lectures that are practical in everyday use as a developer. The first talk’s subject was the use of git and GitHub, and was presented by yours truly, with the idea being that...