Jake Worth

Blog of Jake Worth, software engineer in Maine.

Favorite Posts 📌

Bug Reports are Gold

January 15, 20221 min read

Me : Hey, I’m experiencing an issue with your software. Here’s a detailed bug report. SaaS CTO : What you’re describing isn’t possible…

Get Good

October 13, 20212 min read

What should you focus on at the beginning of your career? My answer is: being really good at programming. I wish I’d heard this advice…

Organizing Your JavaScript Imports

August 31, 20211 min read
  • javascript

JavaScript imports can be a confusing, churning mess. In this post, I’d like to share the way I handle this part of writing JavaScript. Why…

When Should I Not Refactor?

August 26, 20212 min read
  • refactoring

Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without…

The Tutorial Anti-Pattern

August 24, 20213 min read

Here’s a scenario: you’re applying for your first tech job. You’ve found a bunch of tutorials like Rails Tutorial and you’re speeding…

Consultancy Cycles

August 05, 20212 min read

This week in conversation I made this argument: Working at a quality software development consultancy like Hashrocket early in your…

Week in Review: Week 26, 2021

July 02, 20212 min read

Here’s my weekly review. Previous Action Items None; I haven’t done a review in a while. It’s good to be back. What Went Well 🎉 This week I…

Week in Review: Week 18, 2021

May 07, 20212 min read

This week I’ll be using a weekly standup format: what I did this week, what I plan to do next week, and issues I’m encountering. This Week…

Week in Review: Week 16, 2021

April 23, 20212 min read

Opening Thought “Don’t look for the next opportunity. The one you have in hand is the opportunity.” —Paul Arden Consistency Was I consistent…

Week in Review: Week 15, 2021

April 16, 20213 min read

I took last week off. Here’s my weekly review; I’m borrowing Ben Kuhn’s format. Check out his blog– it’s amazing. Opening Thought “Our…

Week in Review: Week 13, 2021

April 02, 20212 min read
  • react

Here’s my review for this week. Previous Action Items None. What Went Well My pair and I ended a client engagement we’d been on for almost a…

Exploring the JWT Sub

April 02, 20211 min read

As I explore JSON Web Tokens (JWT; pronounced ‘jot’ if you enjoy correcting people), I’m learning the rules and testing, much like a…

Week in Review: Week 12, 2021

March 27, 20213 min read

Here’s my weekly review for this week. “Regardless of what we discover, we understand and truly believe that everyone (especially Jake…

Week in Review: Week 11, 2021

March 20, 20212 min read

I’ve decided to resume the ‘weekly review’ practice that was a part of this blog for some weeks back in 2015. My goal will be to talk about…

Proxy Pattern

February 26, 20211 min read

I had the opportunity recently to implement a simple version of a proxy class. In this post, I’d like to talk about what a proxy class is…

Do the Hard Things First

January 25, 20211 min read

“First thing in the morning, eat a live frog, and you can go through the rest of your day knowing the worst is behind you.” — Mark Twain An…

My Annual Review 2020

December 30, 20207 min read

Each year I conduct a review to reflect on the ending professional year, and share the results of that review on this blog. Here’s the…

Exercism Raindrops in Python

December 06, 20202 min read
  • python

I’ve been learning a bit of Python this Fall to facilitate conversations with a mentee. In this post, I’m going to share the first Python…

Programming Resources for Beginners

December 05, 20203 min read

A self-teaching, learning programmer asked me the following question: Can you recommend any resources or sites that you go to with questions…

My Annotated Vimrc

November 26, 20204 min read
  • vim

I am obsessed with Vim. Folks who’ve programmed with me, or attended the Vim Chicago Meetup when I was an active organizer, can attest. Vim…

Essays on Programming I Think About a Lot

October 29, 20209 min read

Programming is a game of abstractions, and we programmers traffic in ideas. When I find an idea that resonates with me, I turn into an…

My Development Roadmap

October 20, 20204 min read

I’ve been working on a development roadmap for my projects, and wanted to share my process. Consider this my recipe to turn an idea into…

You Have New Mail

October 16, 20201 min read

Here’s a familiar scenario: you open a new terminal, and before the prompt appears, you see the following. You have new mail. What’s going…

Printing Code on OSX

October 13, 20201 min read

A few times over the years, I’ve had to print out code that I’ve written onto physical paper. I have actually heard that some teams do team…

Restore a Heroku Database Locally

October 11, 20201 min read

Sometimes a post is just for me, and this is likely one of those posts. Several of my open source projects run on Heroku, and I often want…

My RubyConf 2020 Abstract

October 10, 20202 min read
  • ruby

This Fall, I learned that I’ve been selected as a waitlisted speaker to RubyConf 2020. What’s the waitlist? Conference organizers have to…

Duplicate your Development Branch for QA

October 09, 20201 min read
  • git

I’m working on a team where we keep a clone of the branch (the main place where work is done), used to deploy to a QA environment. The…

How I Clean Up JavaScript Dependencies

August 03, 20201 min read
  • javascript

Unused dependencies are bad: they increase the size of your project, slow down your processes, require upgrades, and send incorrect messages…

Introducing React Explained

June 12, 20201 min read
  • react

Today, I’d like to introduce my newest project, a free weekly newsletter for React learners called React Explained . 🎉 For as long as…

South Dakota v. Wayfair, Technology, and Your Business

May 07, 20201 min read

Today I published a post on the Hashrocket blog titled ‘South Dakota v. Wayfair, Technology, and Your Business’. It covers a unique…

WebAssembly: The Next Language of the Web

January 30, 20201 min read
  • wasm

Interested in WebAssembly? At Hashrocket’s Winter Miniconf 2020, I presented my personal one-month audit of this emerging technology. Please…

My Annual Review 2019

December 31, 20193 min read

Every year I conduct an annual review to reflect on the ending professional year. I share the results of that review on this blog. For those…

Searching with Ripgrep

December 30, 20191 min read

I’ve been using Ripgrep on my work machine, and for pure performance, it’s tough to beat. Here are two mappings I’ve set up to replace…

WebAssembly 101

December 18, 20191 min read
  • wasm

I’m happy to announce that in January 2020, I’ll be giving my first presentation about WebAssembly to my colleagues at Hashrocket, in a…

A Different Language

October 12, 20191 min read

When people who don’t code listen to programmers talk about code, something they say is that it sounds we’re “speaking a different language…

Technologist Reading List

September 28, 20194 min read

“Not all readers are leaders, but all leaders are readers.” –Harry S. Truman It’s been said that most programmers read less than one…

Intro to TDD

September 11, 20192 min read
  • testing

If one wanted to learn Test-Driven Development, AKA TDD, in 2019, where should they start? It’s worth mentioning first that there are…

ACR 2019: Functioning in React

September 04, 20191 min read
  • react

This October I’ll be presenting a talk titled Functioning in React: A Deep-Dive into useState at Ancient City Ruby in Jax Beach, FL…

How to Prepare for a Technical Interview

August 06, 20191 min read

Today, I published a post on the Hashrocket blog about interviewing. It’s called How to Prepare for a Technical Interview . Interviewing is…

Pangram in TypeScript

July 29, 20191 min read
  • typescript

I’ve been doing Exercism’s TypeScript exercises, and wanted to share some of my early solutions. A pangram is a sentence that contains each…

Clone All of an Organization's Git Repos

June 11, 20191 min read
  • git

Today, using parts of this Gist I found a command to clone all the repos in a Github organization. Here it is, tested on Ruby 2.3: Change…

Neural Networking for Complete Sentences

May 19, 20191 min read

This week I wrote a bit of neural networking code for the first time. It utilizes Brain.js to try and recognize if a sentence is…

Interview: Jeremy Huffman, Dialyxir

April 11, 20191 min read
  • elixir

Today, I published a post on the Hashrocket blog presenting a recent interview I conducted. It’s titled Interview: Jeremy Huffman, Dialyxir…

Planning Poker: Speed Mode

April 09, 20191 min read

Today, I published a post on the Hashrocket blog about rapidly assigning points in a story estimation workflow. It’s titled Planning Poker…

Pick a Good Name

March 08, 20191 min read

Last week, I published a post on the Hashrocket blog about choosing good names for things in software. It’s called Pick a Good Name…

Use Yarn Like a Pro

February 23, 20191 min read
  • javascript

Last week, I published a post on the Hashrocket blog about my favorite JavaScript package manager, Yarn. It’s called Use Yarn Like a Pro…

Generate Images for Instagram

February 05, 20191 min read

Today I released a post on the Hashrocket blog, Generate Images for Instagram . It documents a project I made to generate Hashrocket…

TypeScript Node Module Starter

January 18, 20191 min read
  • typescript

Recently I started writing a Node module, and I realized I wanted unit tests and type safety from the start. This led to a spin-off project…

Adventures in Mentorship

January 03, 20191 min read

This fall, I participated in the formal mentorship program at the Code Platoon bootcamp here in Chicago, and I wrote about the experience…

My Annual Review 2018

December 31, 20182 min read

Each year I conduct an annual review to help me reflect on the ending year. Here’s this year’s entry. News This was an important year for me…

Avoiding Code Catastrophes

December 04, 20181 min read

Last week, I published a Hashrocket blog post for junior developers, addressing a question I’ve been asked a few times. It’s called…

Morning Reading

November 14, 20181 min read

Today I read some technical blog posts that caught my eye over the week. Here’s a summary of each. Beyond Console Log : a breakdown of some…

50 Days of Code

October 31, 20181 min read

Recently, I hit Day 50 of the ‘100 Days of Code’ challenge. I’ve been focused on language design, and I’d like to pause and reflect on that…

100 Days of Code

September 08, 20181 min read

For the next 97 days, I’ll be doing the 100 Days of Code challenge. I vow to code for at least an hour every day until mid-December…

JavaScript Equality

July 17, 20181 min read
  • javascript

A few weeks ago, I built an app with React.js and create-react-app that I call ‘JavaScript Equality’. It’s deployed here: https://javascript…

mgrim: Everything Updated All The Time

July 11, 20181 min read
  • git

My current favorite command line alias is , composed of four other aliases: Here’s what this does (starting from a feature branch…

Comprehensive Instructions

July 09, 20181 min read

A user opened an issue in Tilex last week that I spent a significant amount of time thinking about and talking about (thanks JB) before…

Autoformat Elixir on Buffer Write

February 17, 20181 min read
  • vim

I’ve been working with the Elixir 1.6 autoformatter a lot this year. Part of that journey was adding the following to my local Vim…

My Annual Review 2017

January 01, 20183 min read

Each year I conduct an annual review to help me reflect on the ending year. Here’s a link to last year’s. What Went Well I learned a lot…

Updating Tilex's README

November 13, 20171 min read
  • elixir

Today was day one of the Code Quality Challenge . I think it’s a great professional challenge and am excited to be in the first cohort. For…

The Universal Programming Language

September 17, 20172 min read

Recently I tried to answer a question that is common when talking about software. I’ll paraphrase: Why can’t there be an “universal…

How I Talk: My Guide to Tech Public Speaking

August 10, 201710 min read

I’ve been giving technical talks for a few years; I keep a list of each one here . Speaking makes me nervous, and it’s a major time…

Twelve Labors: End

August 09, 20172 min read

In a recent post , I discussed my plan to review one of the very first programs I ever wrote, ‘Twelve Labors’: https://github.com/jwworth…

New Feature Flags in Rails 5.1.3

August 06, 20171 min read
  • ruby

Not long ago I created a new Ruby on Rails web application using the Rails 5.1.3 release. Our goal was a Rails API supporting a React.js…

Twelve Labors: Start

August 02, 20172 min read

Over the next few days, I’m planning to code review one of the very first programs I ever wrote, ‘Twelve Labors’. It’s a rough, basic stab…

It's Done

July 19, 20172 min read

A coworker recently taught me a client management technique that I love. When a stakeholder asks for a change to the software we’re…

Don't Build Every Feature

June 20, 20171 min read

Mold clay to form a bowl; it is the empty space which makes the bowl useful. –Tao Te Ching There’s a detail about Today I Learned some…

Work Small

June 11, 20172 min read

Write programs that do one thing and do it well. –The Unix Philosophy I believe in working small. I love small Git commits and pull requests…

Tilex Progress

June 06, 20172 min read
  • elixir

First, some background . Tilex, our Phoenix port of Today I Learned , is coming really well. After a personal hiatus for RailsConf prep, I…

Binary to Decimal Conversion in Ruby

May 04, 20172 min read
  • ruby

This week I wrote a small algorithm in Ruby to convert binary numbers into decimal numbers. Here’s the problem description, from Exercism…

You Should Blog

February 11, 20173 min read

This week marked the third anniversary of my blog. It started here . I created this blog to reflect on my code and development as a…

First Post in the Semaphore Community

January 25, 20171 min read
  • elixir

Today I am pleased to share my first post in the Semaphore community, available here . This is a republication of a post from the…

Reset an Ecto Heroku Postgres Database

January 08, 20171 min read
  • elixir

We introduced some breaking database changes to our Phoenix port of Today I Learned on Friday; today I deployed them to staging…

Adding jQuery to Phoenix

January 06, 20171 min read
  • elixir

We’ve been building a Phoenix application lately; here’s the backstory . Today I stared porting the Sprinkles of JavaScript ™ to our…

My Annual Review 2016

December 24, 20164 min read

Each year I conduct an annual review to help me remember the things that went well, reflect on areas where I can improve, and focus on the…

Vim Nonrecursive Mappings

December 17, 20161 min read
  • vim

My first PR to a new Vim plugin was merged this week, check it out . For context, vim-termbux is a plugin by my friend Dillon Hafer that…

Git Bisect Demo Pt. 2

December 11, 20162 min read
  • git

This week I rebuilt my Elixir Git Bisect Demo project in Ruby; it’s available here . Doing so allowed me to demo an automated Git bisect…

Examine Your Assumptions

December 05, 20162 min read

Pausing to verbalize, examine, and reject faulty assumptions should be one of the first steps in any debugging process. One feature of an…

Git Bisect Demo

December 02, 20161 min read
  • git

I just built a new project, called ‘Git Bisect Demo’. It’s available here . Purpose The purpose of this program is establish conditions…

Porting TIL from Rails to Phoenix: Initial Commits

November 29, 20161 min read
  • elixir
  • ruby

Last week, I started a new project: porting Today I Learned from Ruby on Rails to Phoenix (Elixir). The first few commits were pair…

Gold Master Testing: An Introduction

October 26, 20161 min read
  • testing

I’ve been researching, thinking about, and preparing to write a Gold Master test recently. Here’s an overview of the technique from the…

Hamming Distance in Elixir

September 12, 20162 min read
  • elixir

Today I solved the Exercism Hamming Distance problem in Elixir. Problem Description From Exercism: Write a program that can calculate the…

Sum of Multiples in Elixir

August 27, 20161 min read
  • elixir

Today I solved Exercism’s Sum of Multiples problem. Here’s the description of the task: Write a program that, given a number, can find the…

Run Length Encoding in Elixir

July 31, 20164 min read
  • elixir

I’ve been working through the Elixir challenges on Exercism.io , to learn the language in the same way James Edward Gray recently attempted…

One Skill for an Apprentice Candidate

July 15, 20161 min read
  • testing

What is one skill I could learn to set myself apart from other apprentice candidates? Testing. The web frameworks of today all have mature…

Why Elixir?

July 06, 20161 min read

I’ve been learning and using Elixir lately, and loving it. More than once, I’ve been asked some version of the question: why are you…

My Hashrocket Blogroll

July 06, 20161 min read

My coworkers rock. Collaborating with really smart people is one of the best parts of Hashrocket. It’s exciting and challenging. Besides…

Writing Elixir Sigils

July 04, 20162 min read
  • elixir

Sigils are a mechanism for working with textual representations in Elixir. If you’ve ever made an array of Strings in Ruby with , the API…

Squash Your PR

July 03, 20165 min read
  • git

Most pull requests go through a cycle like this: Programmer opens pull request Maintainer gives feedback Programmer makes changes Repeat #…

Recreating Elixir's Enum.sum

June 30, 20161 min read
  • elixir

I’m learning Elixir, and today as an exercise, I was challenged to recreate using recursion. For those new to the language, iterates…

Server Side Sorting in Ruby

June 28, 20162 min read
  • ruby

Recently a friend asked me a question about sorting in Rails, and I thought I’d share my answer here: I’m working on an app that displays…

What is the best way to learn Rails?

June 14, 20161 min read

Original post: https://www.quora.com/What-is-the-best-way-to-learn-rails/answer/Jake-Worth Assuming you are interested in learning on your…

Are web development jobs stable?

June 10, 20161 min read

Original post: https://www.quora.com/Are-web-development-jobs-stable/answer/Jake-Worth Yes, as stable as any other job. If you look at…

60 Days 60 Contributions

May 19, 20162 min read

For the next 58 days, I’m conducting a personal challenge to get more involved in the open source software community. It’s called ‘60 Days…

Keyword, Match, and Region in VimScript

April 21, 20161 min read
  • vim

After a recent talk I gave that included VimScript, an attendee asked a question about the differences between , , and following in a…

Career Interview Questions

April 16, 20164 min read

I was interviewed for a high school career day recently, and thought it would be fun to share my answers here: Please describe your current…

April Update

April 09, 20163 min read

Consider me inspired: Here’s what I’ve been learning and working on. Learning My learnings live here: https://til.hashrocket.com/authors…

Round Robin Problem in Lua

March 07, 20161 min read
  • lua

A while ago, I solved the following programming challenge: Round Robin: Given 3 Teams (A, B, C), we want to organize a tournament schedule…

Vim Buffer Problem

March 07, 20161 min read

A few weeks back I tackled the following programming challenge: Vim Buffer: I open up a new Vim buffer and type all the numbers 1 to 10,00…

From One End to the Other in Ruby

March 06, 20162 min read
  • ruby

A while back I tackled the following programming challenge: From One End to the Other: Find the smallest possible (positive) integer that…

LED Clock in Ruby

March 06, 20162 min read
  • ruby

A few weeks ago I attempted to solve a programming challenge that was described as such: LED Clock: You are (voluntarily) in a room that is…

Book Club: Elm

February 07, 20162 min read
  • elm

This week at Hashrocket Chicago we had the third meeting of an internal company book club. Our focus was chapter three of Seven More…

Book Club: Factor

January 22, 20162 min read
  • factor

This week at Hashrocket Chicago, we had the second meeting of an internal company book club. Our focus was chapter two of Seven More…

Expose Your Ignorance

January 15, 20161 min read

I’m currently reading Apprenticeship Patterns by Dave Hoover and Adewale Oshineye; it’s fantastic. I wish I’d read it when starting out…

Book Club: Lua

January 10, 20163 min read
  • lua

This week at Hashrocket Chicago we had the first meeting of an internal company book club. This was something I’d been interested in for a…

My Annual Review 2015

January 01, 20165 min read

2016 is here! Each year I conduct an annual review, counting successes and failures, looking forward to the future, both personal and…

My Blank Keyboard

December 17, 20152 min read

It’s been a month since I replaced all the keys on my keyboard with blank keys. Ok, I kept four of the original keys, which spell my name…

40 Day Github Streak

December 09, 20151 min read

This week I hit 40 days of consecutive daily open source pushes to Github, besting my previous record of 18 days. It’s been an insightful…


November 27, 20151 min read

This week I created a new project on Github, ‘Resources’, available here: https://github.com/jwworth/resources ‘Resources’ is a collection…

20 Day Github Streak

November 17, 20151 min read

As of today I’ve pushed open-source code to Github every day for twenty days, a personal record. I don’t know when I’m going to stop; most…

Three Years Programming

November 04, 20152 min read

This month marks three years since I started programming; I’d like to take a minute and reflect on this milestone. Programming is Awesome…

Silver Searcher RDoc Support

October 31, 20151 min read

Today I submitted my first pull request to The Silver Searcher project: https://github.com/ggreer/the silver searcher/pull/782 Silver…

Tmux List Sessions

October 13, 20151 min read
  • tmux

Today while hacking on Rails I stumbled upon the Tmux ‘list sessions’ command. (where is your Tmux leader) opens a list of all your Tmux…

Rails Action Name Method

October 07, 20151 min read
  • ruby

Today I was trying to control what rendered on a page based on which controller action called it, and discovered the method. It’s located…

ActiveRecord After Commit Callback

October 05, 20151 min read
  • ruby

Today I used a pretty awesome Rails callback, . executes after a database transaction completes, making it ideal for third-party…


October 04, 20151 min read

I made a new gem today, called Remarkovable . The source code is here: https://github.com/jwworth/remarkovable This gem extracts the Markov…

FileUtils For All

October 01, 20151 min read
  • ruby

A step in the Ruby deploy scripts for one of my projects shells out as such: . This prevents all design artifacts from going out with the…

Buy The Book

September 26, 20152 min read

One trick that helps me learn as a developer is something I call ‘buy the book’. I get book recommendations all the time from my peers. If…

Ceramic Nation

September 11, 20151 min read

Last night I built a Markov-powered generated novel, called Ceramic Nation . It’s wrapped as a robot named Ellis Champlin, who is…

60 Days 60 Hacks Retrospective

July 09, 20152 min read

I’m finished with my learning project #60days60hacks. The project is over, but the learning continues. Some rough stats: I wrote twelve…

60 Days 60 Hacks Week 6

June 18, 20151 min read

I’m now six weeks into my learning project #60days60hacks. I’d like to take a minute and reflect. This week I’ve written about Vim, RSpec…

60 Days 60 Hacks Week 5

June 13, 20151 min read

I’m now five weeks into my learning project #60days60hacks. I’ve been documenting this all on Today I Learned , a project I built with my…

60 Days 60 Hacks Week 4

June 05, 20151 min read

I’m now one month into my learning project #60days60hacks. The bulk of my writing is now going into Today I Learned , a project I’ll…

60 Days 60 Hacks Weeks 2 & 3

May 28, 20151 min read

I’m now three weeks into my learning project #60days60hacks. Writing every day has been fun and challenging. It’s forced me to be creative…

60 Days 60 Hacks Week 1

May 14, 20151 min read

The first week of my project #60days60hacks. Committing to learning and posting something new and useful every day has been a good exercise…

60 Days 60 Hacks

May 07, 20151 min read

For the next 60 days, I’m doing a project to level up in all areas of my craft. I’m calling it ‘60 Days 60 Hacks’. Learning is the essence…

The N + 1 Problem

February 22, 20151 min read

Recently, I was thinking about the N + 1 problem. N + 1 is a performance issue in a web application, where a method call unleashes a torrent…

Week in Review: Week 4, 2015

January 23, 20153 min read

This week I’ve been learning more about the Document Object Model, known as the DOM. I’d like to summarize my thoughts, with the goal of…

Learning to Program as a Career Change

January 22, 20156 min read

A few years ago, I wrote my first computer program. It was a line of JavaScript that printed my name on the screen, using the website…

Week in Review: Week 51, 2014

December 19, 20142 min read

It’s getting cold in Chicago. Luckily, programming is an indoor activity. This week I wrote my first proper Ruby gem, then wrote two more…

Week in Review: Week 50, 2014

December 12, 20142 min read

This was an interesting week. I worked on some open source projects, experimented with the Pure Data language, and learned some new Ruby…

Week in Review: Week 49, 2014

December 05, 20143 min read

This week was awesome. I learned every day and hope to bring some new ideas to my work. A recurring theme was testing; some notes: TDD…

Week in Review: Week 48, 2014

November 26, 20143 min read

This week I learned a lot. I picked up some new (old) slang, with the term ‘bare metal’. Here is a definition from the awesome Jargon File…

Ruby Symbol#to_proc

October 31, 20142 min read
  • ruby

Explore a Rails app, and you might see something like this: What is that , you might be wondering? It’s shorthand for this: Often in Ruby…

30 Days of Vim

September 23, 20142 min read
  • vim

It’s been a month since I started using Vim full-time; it’s time to reflect. To summarize, Vim is awesome, because it is fast, endlessly…

Code Club: Rack and Rails Server

August 27, 20142 min read
  • ruby

This week in Code Club we explored Rack, the middleware of the Rails stack. Rack is newsworthy of late due to a change in ownership…

Vim Cheat Sheet

August 22, 20142 min read
  • vim

The Vim adventures continue. Today I started reading through the ‘help’ section, which is vast and full of surprising ideas. Starting to…

Vim or Bust

August 20, 20142 min read
  • vim

Starting with this blog post, I will be using Vim as my primary text editor. When I started programming, I was on a Windows machine. I used…

Code Club: Rails Console

August 19, 20142 min read
  • ruby

Another week, another showdown in the Code Club. Still being challenged by the one-hundred line requirement. We keep it (generally) because…

Code Club

August 18, 20143 min read

At Rails Conf 2014, I watched a talk by Saron Yitbarek called Reading Code Good . Saron shared a story (and great slides) about creating a…

Heroku PGBackups Testing

August 06, 20145 min read

We recently moved some of our environments, including their PostgreSQL databases, to Heroku. Heroku differs from a basic Linux server in…

Technical Interview Questions

July 15, 20143 min read

I recently had the chance to give a technical interview. I’d like to document how I set up the interview. These steps are mostly directed at…

Principles of the Agile Manifesto: #2

June 24, 20142 min read

The second principle of the Agile Manifesto is: ‘Welcome changing requirements, even late in development. Agile processes harness change…

Principles of the Agile Manifesto: #1

June 17, 20142 min read

I’ve been learning about Agile software development this year. Agile is a software development methodology that was defined in 2001 with the…

Linux is Awesome

May 23, 20143 min read

I’ve been using Linux (Ubuntu 10.04 LTS and 12.04 LTS) for almost a year. It’s awesome. I grew up on Windows and thought I’d never switch…

Microsoft's Natural Ergonomic Keyboard 4000

May 13, 20142 min read

This week I’ve been trying to improve my workspace. Programming requires a lot of repetitive actions in a sedentary position, and I’m…

Mass-Opening Like Files in a Directory

May 08, 20142 min read

The Unix command line is powerful. Before doing anything in a GUI, I usually first try to see if it can be done in the command line. Often…

RailsConf 2014 Wrap-Up

April 30, 20142 min read
  • ruby

I just returned from Rails Conf 2014 here in Chicago. This was my first conference as a developer, and my first time being immersed in the…

Free Programming Books

April 15, 20141 min read

It’s a great time to learn programming. There has recently been an explosion of free online resources for every platform, including ebooks…

Save a Command's Output to a File

April 09, 20142 min read

One tool that I love allows you to take the output of a terminal command and save it in a file. That command is: An example: This runs the…

One Monitor

March 31, 20142 min read

I have one computer monitor on my desk. Not long ago ago, this was the norm for everybody, but today, I am the only person in my office who…

Why I Like Git

March 27, 20142 min read
  • git

I’m lucky to have always programmed in a world with good version control tools. It’s one of the first things I learned and a foundation of…

Hello World!

February 09, 20141 min read

I’ve been writing code for a few years now, and am proud to be launching my own developer’s blog. The developer’s blog is a time-honored…

© 2022 Jake Worth.