Git for Gamers Pt. 1 (Git Is Awesome)

Git is a fantastic tool used for source code version control. It’s quick, light, open-source, and has changed how I code on a daily basis. Git also made me realize how bad my workflow was. Making Git a part of your toolkit can be daunting at first. I’ve drawn some comparisons to how Git relates to something we’re all familiar with, vidya games. There are many Git workflows out there. I use Git flow.

Docker is Awesome

In a previous post, I covered some of the use cases for Vagrant. Vagrant is great at what it does, and I’ll continue to use it for VMs. In my never-ending search to make life easier, I stumbled across Docker. Docker is all about containers. The Docker devs give the analogy that a Docker container is to code as a shipping container is to cargo. Having a self-contained, standardized method of distributing code/cargo provides more flexibility and automation.

Vertical Photos

I take a lot of vertical photos. Here are a few that I like.


I’m a hoarder. I’LL NEED IT ONE DAY, AMIRITE?!? Probably not… but I get warm fuzzies knowing that the leather hacky sack tutorial I’ll never look at again is safe and sound. Occasionally, I do come across more important articles that I’ve referenced multiple times. I’ve used Evernote for years now to keep track of all of my web snippets. It’s great at what it does (check it out if you haven’t yet), but lately, I’ve been feeling a bit of data overload.

Vagrant is Awesome

I’ve been using Vagrant in my workflow for a few months now, and I love it. Vagrant is a slick way to build and reproduce development environments using virtual machines. Vagrant also works with provisioning tools Chef and Puppet. With Vagrant and Chef, I was able to get a full Python/Django install on a virtual machine up and working in about 10 minutes. Why not just use vanilla VirtualBox or VMWare?

Why I Still Prefer Twitter...

Google+ recently had a major redesign, adding a user-defined nav, new hangouts page, Facebook’ish profile photo (meh), and a grundle of other features. For the most part, I’ve been more than happy with the changes, even with the #whitespace… but why do I keep going back to Twitter? Twitter is extremely useful if used correctly, and in my opinion, serves a different purpose than Google+. I see Twitter as an aggregate of article headlines.

Holiday Brewing

Among the many cool things I got for Christmas this year, the most alcoholic was a beer-making kit. I’ve been wanting to take a stab at brewing my own beer for a while, but was hesitant, thinking that it would be too difficult and time-consuming to get started. So far, I’ve enjoyed it quite a bit. My first batch is just about finished. I still need to pick up a few more bottles to finish bottling, but I’ve got a couple growlers that should be ready in a week or so.

Android - Subsonic

If you follow me on Twitter, you’ve probably often heard me spout my undying love for Subsonic, a kick-ass media streaming app. Because of this, I figured I might as well write up a proper review since I use it mostly every day. Subsonic is a free, multi-platform (Windows, Mac, Linux), server application that allows you, and anyone else of your choosing, to stream audio/video directly from your server. Subsonic is different from many of the music streaming services that have been popping up recently.

Let Me Take It From Here

Here is Pleasant Tree’s latest single – Let Me Take It From Here. We’re all really excited about this one. We’ve been moving in a different direction and are pretty happy about where it’s going. Soon, we’ll get back into playing shows around Utah. The plan is to start out with acoustic shows, to gain back any of our fans that may have forgotten about us. Shortly after, we’ll start playing some live gigs, so stay tuned.


MySQL GROUP_CONCAT() is extremely useful for one-to-many relationships where performance is key.

Android - Runkeeper

Finally got around to testing out the Android Runkeeper app this morning during a run. It’s been a while since we’d done any cardio, and we definitely felt it, but it was nice being outside instead of on a treadmill in a 100 degree room. Runkeeper’s feature set is pretty impressive. The tracking is really cool. Runkeeper’s web interface allows you to export the map to a GPX file and import into Google Maps.

Little Did I Know

New single from my band, Pleasant Tree. Finally started pumping out some new songs. We’re all pretty excited to play some new stuff! Check it out on Bandcamp or our Facebook page. Throw us a like if you’re into it!

PCI DSS Compliance - Storing Credit Card Data

Firstly, what is PCI DSS? If you’ve worked in Ecommerce at all, there’s a good chance you’ve heard the term “PCI DSS compliant” tossed around. PCI DSS stands for the Payment Card Industry Data Security Standard. This standard was developed to improve protection for credit card holders by enforcing vendors to adhere to a specific set of guidelines for storing, processing, and transmitting cardholder data. With the massive growth and convenience in Ecommerce, it’s difficult not to buy online.

Bonneville Shoreline Trail

View Bonneville Shoreline in a larger map This is a trail up in North Ogden that we finally got around to checking out. It was pretty tame with some cool views. We tracked our trail with the My Tracks Android application. Neat little app for hikes, tracking your route, and integrating with Google Maps.

Relative URLs - http/https

A handy, little-known trick that I’ve picked up while working on shopping carts, stat tracking, and other sites dealing with secure information, is the relative url with an optional protocol syntax. You may have experienced sites that pop the generic warning stating “there are nonsecure items on this page” etc. in IE. This means that there are elements on the current https page that are not being referenced using the https protocol or scheme.

Symfony Slugify Slug

Lately, I have been working alot with the PHP framework, Symfony. So far, I’ve been pretty impressed with Symfony’s features. Model associations are handled much more elegantly than what I have experienced with CakePHP. The scaffolding and admin generator are also great for quick skeletons for the project models. Good stuff. An idea that I had known of from previous apps, but have never been familiar with the term is a slug.