The Captain's Log

Tales of achievement, bewilderment, and a surly relationship with a computer.

Hey there! The winds have blown me in a new direction and this site is now just an archive for posterity's sake. All the new action will be happening at I'll have a writeup detailing the move soon.

The little moments
January 12, 2019
I know this gif is a really lame example of a “game”, but after 10 years of working in web development it feels pretty cool to be able to control this little gumby man. Gotta start somewhere.
Restoring a lost scene in Unity
January 07, 2019
FYI - This mostly applies to folks using Macs. Well shit. Losing progress on a project is bound to happen to you at some point in your career. Whether the application hangs and you have to restart or the power goes out, you’re bound to experience some bad luck once...
Dealing with Unity versions
November 30, 2018
I recently got a MacBook Air to serve as a mobile-friendly companion to my iMac and it got me thinking about how to deal with Unity installs. I had primarily been working on a single machine without any team members to worry about. Therefore my one machine, and the Unity...
Gitignore update in Github for Unity plugin
October 08, 2018
This is a quick update on this previous post. I took the advice of the folks over at @thoughtbot to get a good default .gitignore file established when setting up Github for Unity. It appears that is now an unneeded step as of 1.0.3. I recently was goofing around on...
Unity and Git
June 26, 2018
Well, it’s been a fun couple days. I’m basically splashing around the pool trying to figure out how to swim. One of the first things I felt like I needed to do was get Git up and running so that as I work through practice projects I have the repos...
Let's build a game
June 21, 2018
It’s time to scratch the itch. Building a game has always been a romantic daydream, but never in the cards. I’ve been building websites since college and keeping up with the ever-changing web ecosystem has consumed all the time I allocated to learning new things on the computer. I’m honestly...
Cancer can go fuck off
May 08, 2018
After 9 wonderful years we lost Leia to lung cancer. She loved nothing more than getting to sprint through the snow and chase her humans. Life is too damn short.
A gotcha with Active Storage and Cloudflare
April 24, 2018
Rails 5.2 introduced Active Storage and it’s pretty awesome. I’d used paperclip from the @thoughtbot folks for a long time, but file uploading is a requirement for just about any site these days so it might as well be part of the core. Now it is. Well, if you happened...
Categories in a Rails App
April 21, 2018
Categorizing things in a Rails app is a common need, but it’s a non-trivial lift to get it all implemented. Database relationships need to be right. How in the world should you set up your forms? What’s going on in my controllers? I’m going to do my best to show...
Deleting Facebook
April 10, 2018
I deleted Facebook for good a few weeks back. With the #DeleteFacebook hashtag trending and looming figures like Woz deciding to leave I figured I’d add my two cents. Leaving Facebook is a two part story. Part 1 - I didn’t use it For years I have been absent from...
Debugging in RubyMine with Rails 5.2
April 04, 2018
If you’ve upgraded to Rails 5.2 and are using RubyMine’s debugger you might notice that breakpoints aren’t working as they should. For me, they would only work in views, but controllers and models wouldn’t stop anything. Turns out the problem is the inclusion of the Bootsnap gem in Rails 5.2....
Getting rid of Time Machine backup folder
March 21, 2018
Okay, wow. Have you been pulling your hair out trying to get rid of some old Time Machine backup files that simply won’t delete? Well, if you’ve tried a hundred things and ended up here I just might be able to help because I just dealt with the same thing....
Custom validation in Rails
February 15, 2018
Here’s a little trick I like to do when I’m addressing validations in my models. Let’s say you have a standard Post model. It might look something like the following. create_table "posts", force: :cascade do |t| t.string "title" t.text "body" t.integer "status" t.datetime "published_at" t.datetime "created_at", null: false t.datetime "updated_at",...
System Tests with RSpec, Rails, Capybara, and Devise
February 14, 2018
Since the release of RSpec 3.7 we’ve been able to take advantage of system tests which are new as of Rails 5.1. If you’ve been using RSpec for a while you’re already likely familiar with feature tests using Capybara. For those new to these types of tests: they allow us...
Bootstrap 4 Cheat Sheet
April 22, 2017
Get your Bootstrap 4 documentation faster! This got posted on Hacker News the other day. It’s fantastic. It’s much quicker and cleaner than Bootstrap’s documentation. It’s not going to be as verbose, but if you’ve been using Bootstrap for a while and you just need the syntax, it’s lightning fast....
ActionMailer SMTP settings for SendGrid (Rails)
March 30, 2017
Okay, I got no Google hits for this. Here’s a tip if you’re using SendGrid in a Rails app for your transactional emails. A while back you needed to provide your SendGrid username and password (hopefully via environment variables), but now you can use an app-specific api key. Here’s some...
Setting Up Goto Declaration in Atom
March 30, 2017
Update (screw this) I’ll leave everything below for someone who loves using Atom and is okay have having partial support for goto functionality. I basically want the following (ST3), but can’t achieve it in Atom. I’ve tried a million different tweaks and used every package I can find, but I...
The Comcast Experience
June 17, 2016
I’m going to use this post to chronicle my experience of transferring Comcast’s Xfinity TV and internet service over to a new (to me) house. Let’s face it, they’ve pumped a ton of ad dollars into campaigns stating they’ll be the one friend who will be there to help you...
Completing our move to Seattle
June 07, 2016
We started our move to Seattle from Salt Lake City in November of 2015 and are now days away from completing that journey as we move into our new-to-us house. The Seattle housing market is insane and we knew we were going to get killed. Moving here 10 years ago...
Developer folder on your Mac
May 03, 2016
I’ve had a directory under my user folder called Development for ages. Probably since I started coding. Somehow, for the very first time, I saw someone using a Developer folder and, damnit, they got a pretty icon on their folder.
Heroku defaults to Puma for Rails 5
May 02, 2016
It’s now going to be easier than ever to kick off a new Rails project and deploy to Heroku. WEBrick is no longer the default server with Rails 5. If you don’t provide a Procfile Heroku is going to help you out and set you up with Puma. Production ready...
How to Create a Contact Form Using Rails and Mandrill
February 08, 2016
Let’s build a simple contact form for your Rails driven website that uses Mandrill as the desired email server. Mandrill lets us offload the management of setting up and running an email server ourselves and, therefore, relieving ourselves of a massive headache. Mandrill starts you with 2,000 free trial sends...
Syntax Highlighting in Rails
February 01, 2016
Your Rails driven website has the need to display some code. It’s not good enough to just get proper indentation, you’d like to have some decent syntax highlighting. Maybe something like following.
Respect the past. Don't immortalize it.
January 21, 2016
For the love of god. That travel shampoo from your hotel stay on your honeymoon is not the embodiment of your marriage. You can throw it away, I promise.
Editing a form using fields_for in Rails
January 18, 2016
Let’s say you’d like to successfully create or update a nested form using fields_for. Our ‘parent’ will be a Post model and our ‘child’ will be a Tag model. It’s not hard, but there’s a bit of a gotcha that I found most other resources out there were leaving out....