Writing
My Journey Into Globalization →
I'd been a Software Engineer for nearly 10 years when I had a recruiter call to talk about a job opportunity they thought I would be a fit for. It was for Nike, on their Globalization Team. I had no idea this job was about to change the direction of my professional career.
What is Pseudo Translation →
Let's talk about one of the most under-utlized tool in a localization professionals toolkit.
My Favorite BCP-47 Validator →
I know it's a common problem: You've got what you think is a valid BCP-47 tag but you're just. not. sure.
Understanding Zustand Middleware →
Zustand's middleware was a pain to figure out. Here's a quick guide.
Installing Python 2 via Homebrew Despite Deprecation →
I recently borked my Python 2 installation on Mac OS Mojave. I couldn't reinstall because brew removed python@2
. Or did they?!
Safari support for Intl.NumberFormat:formatToParts() →
The fantastic Can I Use website has some great information on which browsers and versions support Intl.NumbeFormat:formatToParts()
, however their data around Safari largely says "Support Unknown." I needed to know specifics, so I did my own test using BrowserStack.
Cocoapods Not Finding Modules →
I let an XCode project sit unchanged for a while, and when I got back to it I was getting the following error
Multiple Node Versions With Full ICU →
I have a few different projects that all rely on a different version of node. In a perfect world, I'd be able to use the Node Version Manager. However, currently the nvm
command breaks when passing the --with-intl=full-icu
argument (see GitHub Issue here).
Mocking the Javascript Intl Object with Jest →
I wrote a method to check whether or not the given environment (the browser or the node environment) has native Intl
support.
Determine if on iPhone X in React Native →
With the release of the iPhone X, I've found myself needing to have special conditions in a few of my React Native styles. Below is what I'm using to do that check.
Simple React Project Boilerplate →
A lot of the current React Boilerplate projects feel so bloated to me, with a ton of extras that I don't need. I've created this simple React Boilerplate that has the absolutely bare minimum that I need: webpack, stylus, and karma. No other bells or whistles. Enjoy!
My Sourdough Recipe →
A few years ago I was watching a documentary called Cooked. One episode was about bread; sourdough, specifically. I became utterly fascinated by the fact that sourdough has only 3 ingredients: water, flour, and salt.
Disable Screen Sleep on Raspberry Pi →
There are many different links recommending you update many different config files to disable the screen from sleeping on a Raspberry Pi, but this is the simplest solution I've come across:
Including External Template Files in a Backbone App Without a Server →
I have a simple Backbone app that is being compiled down using gulp
and browserify
. I wanted to be able to include my template file with a simple node require()
method, but node doesn't like importing anything but JS files.
Resize UIImage Largest Side in Swift →
I'm knee deep in Swift these days, and am working a lot with the UIImage object. I couldn't find a quick extension method that allowed me to resize an image based on the largest side, so I wrote one:
Search Query in URL Breaking Wordpress Template →
While creating a custom Wordpress template, my site would crash when adding the search query string in the url. The url website.com/
worked fine, but once it became wordpress.com/?s=search+string
it crashed without any kind of obvious errors.
High Resolution Android Device Template →
I've had a hell of a time finding a high resolution Android device on a blank background. Most of them have annoying glares or a dumb shadow that's hard to cut around.
Registering Nib Text Field Event in Parent View →
I've created a custom UiTableViewCell nib with a text field, and I've had a hell of a time figuring out how to register text changes in my parent view. I didn't find anything through Googling, so I figured I'd contribute the solution I figured out, using Swift:
What Brew Notice Costs →
I'm always fascinated when companies post their expenses publicly. I thought it'd be interesting to do something similar for Brew Notice, despite our small size.
Secure, Infrequent Posts →
For no reason in particular, I've added SSL to this site. Yay me! Turns out you can get free SSL certs from, among several places, a site called StartSSL.
Add Confirm Password Field to UserSerializer in Django Rest Framework →
I'm pretty new to the Django Rest Framework in general, but I had a hell of a time figuring out how to add a confirm_password
field to my UserSerializer
model.
Django Autocomplete in Atom →
I've made the switch from the endlessly buggy PyCharm to the beautiful (and kind of slow sometimes) Atom. The thing I missed most about PyCharm, though, was the awesome autocomplete with working in Django.
Installing SABnzbd on the Synology DS416j →
I just got my Synology DS416j and it's awesome. The bummer is that the package source at SynoCommunity don't work with it.
Departing for: South America →
Ten years ago I got it into my head that I really, really wanted to go to South America.
PyCharm Not Starting Django/Flask App →
This problem has plagued me for months now. One day, PyCharm boots up my app fine. The next it gives the following error:
Integrating Mixpanel into a Swift iOS Project →
Mixpanel is a great service, but their iOS Integration page doesn't even mention the word swift, let alone how to get it integrated into a new project. There are a few resources on how to get Swift and Objective-C to work together, but it seems really cumbersome and annoying.
Building your iOS app for use in the Appium GUI →
Appium seems to be the best option out there for functionally testing your iOS apps. However, there doesn't seem to be great documentation on how to get your iOS app built and ready to be used with Appium. Below are the steps it took for me to get it going
Setting up SABnzbd + SickBeard →
It took me a long time to figure out the best workflow for my media center setup. After a lot of trial and error, I've finally found something that works for me.
Script to Update a Digital Ocean A Record →
I've been using a subdomain to point to my home IP address for years now. It's great, but pretty annoying when my IP address changes randomly. I decided I wanted a bash script to keep my Digital Ocean A Record updated with my external IP.
Setting Up Continuity on Yosemite & iOS →
On Day 1 of the new Continuity features on Yosemite & iOS, it wasn't very easy for me to find a guide to setting it all up. Here's one.
Git Branch Tab Complete →
Long git branches happen to the best of us. This is a great way to add tab-complete to your git commands - including your branches.
Swift iOS Development From Scratch →
Swift is very, very new. As such, there aren't a lot of tutorials out there for people who have done literally zero iOS development in the past. I've only been tinkering around with it for a few days, but there's not a lot of information out there for starting from zero.
Setting up Django on Mac OS X 10.9 →
It took me some time to figure out the best way to get Django going on my Mac OS X 10.9. Here is a guide to what I eventually started doing.
My Backup Strategy →
I've recently become obsessed with obtaining the perfect backup strategy. I've previously used Backblaze, but a few things have always prevented me from being fully satisfied.
Free IE Testing on Mac OS X →
Testing IE on a Mac is always a pain. Luckily, Microsoft provides free VMs to use for testing. Those, along with VirtualBox, can create a not-horrible way to test your sites in IE.
Glassdoor Transparent Logo →
After needing a transparent, high-quality vector or png of the Glassdoor icon, I was forced to make my own.
Knack →
Since I was a kid, I've had a natural bent toward technology. When I learned of programming, my interest exploded in that specific category and I've never looked back.
A Good Year →
A year ago I quit an awesome job. I had a lot of ideas of what would happen, and what my life would look like a year in. Some predictions were accurate; some weren't even close. Here's what I've learned:
Deploying a Flask Project on WebFaction →
I've been thoroughly enjoying my exodus from PHP to Python. My first self-assignment was to develop a Flask project, which came easily enough. The more difficult step was deploying it to WebFaction. The below guide are the steps I took to go from 0 - site, hopefully they'll come in useful.
Awesome Dropdown: A jQuery Plugin →
In an effort to start making some of my code public, I decided to open up one of my more recent jQuery plugins. I'm not very good at naming things, so I'm calling it Awesome Dropdown. You can view the BitBucket repo here.
Being Happy →
I came across this link giving 10 tip to reduce stress at your work. The first tip made me scoff:
Cause for the Chromebook →
Last week I bought the Samsung Chromebook. A few days before, my sister was telling me that she needed something between an iPad and a laptop. The iPad was too expensive (and she couldn't type on it very well anyway). A laptop would go mostly unused since she just browsed the internet and wrote documents.
Goal Oriented →
If New Years has taught me anything, it's that it's really, really easy to declare a new goal. It's absurdly simple for me to feel that electric shock of motivation and make a vow for change.
A Week in San Francisco →
I spent last week in San Francisco. I honestly didn't know what to expect from the place. Maybe a few parts Portland, a few parts pretentiousness, and a few parts scenery? Well, my predictions turned out to be spot-on.
A Freelancer's Daydream →
A few months back, when I would picture myself freelancing, it always involved one thing: waking up whenever I wanted.
On Being Unknown →
I've spent most of my life in Midland. Roughly 75% has been spent in this West Texas desert - among the mesquite trees and the heat.
PHP mail function on Mac OSX →
For whatever reason, my PHP mail()
function stopped working a few months back. It hasn't been an issue until now, so some searching brought me to this solution.
Scheduling Emails in Gmail →
I'm a compulsive emailer. If there's an email sitting in my inbox, it's because that's where I want it - not because I haven't read it. A new email rarely remains unchecked and organized for more than an hour. The complexity of my filters and labels make an Opus 12 look like a child's toy.
Road Trip Summary →
8 days of being back in Texas. The best thing so far has been having an excuse to use my sunglasses, which were very underutilized in the Pacific Northwest. Here are some random stats from my drive back. It's really an unimpressive amount of data - I'm mostly just putting it up here for me to reference later.
Back in Texas →
After 31 hours of driving, 6 fill-ups, 1 cigar (much less than expected), and a lot of podcasts, I rolled into the driveway at 4am on Tuesday morning. The view along the way wasn't bad.
Driving →
One of my favorite things to do is daydream. You'd think this would be a simple hobby to have, but it turns out there aren't that many opportunities in a responsible adult's day-to-day life to let the mind just wander.
Portland Past →
In this picture with terrible quality is everything I count as worth keeping. Don't be fooled: I accumulated a ton of stuff over my ~2 years here, but it turns out that, when it came down to it, I only have a few things worth the precious space in my 4Runner.
Seeking Output →
I've been a huge fan of This American Life for years now. I love not only their integrity to the facts, but their care in story telling. I knew when I heard this quote from Ira that it was something I needed to remember, but it quickly got knocked off the edge of my memory until this post from Zen Pencils (which is also worth checking out).
Seattle Days →
Over my ~1.5 years spent in Portland, I had only spent one evening enjoying Seattle. This week I decided that if I didn't make it back now, I'd never do it. I hopped a train and was in the center of downtown in 3 and a half hours. It turned out to be a fantastic decision.
Moonwalking with Einstein →
This is an insanely interesting book that I've been devouring the past few days. I heard about it from Bill Gates' Summer Reading List.
The Art of Transition →
In light of the fact that I'm leaving Portland soon, I've been thinking about the idea of transition.
On Leaving →
When I came to Portland last year, I honestly had no idea what to expect. In my mind I pictured a parade of potential best friends lining the street as I drove into town. What I got instead was a lot of rain, frustratingly narrow streets, no parking lots to be found, and an unfurnished apartment.