Jake Worth

About

Hi there! I’m Jake. 🎸

I am an Army veteran, self-taught programmer, and consultant working remotely at Hashrocket.

Check out my homepage to explore my writing, now to see what I’m currently jazzed about, and my projects, talks, and profiles below. I’m most proud of my volunteer work at Code Platoon, presenting at RailsConf, and building Today I Learned, a popular blog that’s the number-one referrer of traffic to my company website.

The fastest way to get in touch with me is via Twitter. Thanks for stopping by!

Jake

Projects

  • Today I Learned: TIL was my apprentice project at Hashrocket. It has grown into a popular developers blog with 2000+ posts, millions of page views per year, and the top-ranked answers on Google to many an esoteric developer question. It's also open-source, one of the first such Phoenix repositories online. My team and I used TIL as a vehicle to learn Elixir and develop our growing Elixir practice.

    Stack: Elixir, Phoenix, PostgreSQL, Heroku

    Code: GitHub

    Live: View site

    Today I Learned

    Purpose and Goal: The purpose of this application was to help me develop my skills as a programmer. Today, TIL exists to catalogue the sharing and accumulation of Hashrocket's knowledge as it happens day-to-day. Posts have a 200-word limit, and posting is open to any Rocketeer as well as selected friends of Hashrocket. I maintain the codebase, collaborating with several interested Hashrocket colleagues and alumni.

    Stack Explanation: TIL launched as a Ruby on Rails app. In 2016, I initiated an Elixir rewrite because I wanted to learn Elixir and see how Phoenix stacked up against Ruby on Rails.

    Lessons Learned: Learning in public is a valuable offering. Elixir is a joy to write. Phoenix stacks up well against Ruby on Rails.

  • React Explained: Do you want to really (really!) learn React, while staying current on this exploding ecosystem? Subscribe to React Explained, a weekly newsletter of amazing, curated React news and resources, simply explained. It’s free! Subscribe now.

    Live: View site

    React Explained

  • The Bell: The Bell is my COVID-19 social-distancing project— a way to stay connected when you're apart.

    Stack: Elixir, Phoenix, WebSockets, PostgreSQL, Gigalixir

    Live: View site

    The Bell

    Purpose and Goal: The purpose of this project was to feel connected with other people, build something calming that defied simple explanations, and direct visitors to a charity supporting relief efforts.

    Stack Explanation: The idea chose my stack: I wanted real-time, virtually unlimited connections, and Elixir with WebSockets exists for this use case. I chose Gigalixir because it offers platform-as-a-service without limitations on some core Elixir features.

    Lessons Learned: This project challenged me as a designer and as a programmer. How to I make the bell look and feel amazing? I felt success was binary: it was either engaging or it was not. My takeaway is that I enjoy building products that follow my imagination.

  • Game of Life: This is my implementation of the classic cellular automaton and programming puzzle, Conway's Game of Life.

    Stack: React.js, TypeScript, Zeit

    Code: GitHub

    Live: View site

    Game of Life

    Purpose and Goal: I used this project as a vehicle to better learn React.js and contribute to a growing menagerie of implementations by my team at Hashrocket.

    Stack Explanation: I knew this project would be highly visual, so I chose React.js, and hard to test, so I added TypeScript. For hosting, Zeit's push-to-deploy and global CDN have been outstanding.

    Lessons Learned: React is a fantastic platform for visual programs. TypeScript helps me feel more confident in code I didn't test-drive.

  • Ceramic Nation: Ceramic Nation is an auto-generated internet novel, one chapter per day, supported by a Ruby gem I wrote called Remarkovable. It produces nonsensical, occasionally interesting writing based on a corpus of classic literature.

    Stack: Ruby, Ruby on Rails, PostgreSQL, Heroku

    Code: GitHub

    Live: View site

    Ceramic Nation

    Purpose and Goal: Hashrocket Chicago had a brief obsession with Markov chains: programs that produce content based on a statistical analysis of past content. Imagine listening to a person talk for an hour and then guessing what they'll say next; that's Markov. As a new developer on the team, I embraced FOMO and wrote my own implementation.

    Stack Explanation: Ceramic Nation is classic Ruby on Rails CRUD, which was my go-to stack when I wrote the application (ca. 2015).

    Lessons Learned: Generated content can be engaging. I can design my own frontend and feel satisfied with the result.

Talks

  • SQL Workshop, Code Platoon (Bravo, Charlie, Delta, Foxtrot, Golf, Hotel, India, Juliet, Kilo, Lima, and Mike cohorts), 2017—2020.
  • WebAssembly 101, Hashrocket Winter Miniconf, 2019.
  • Functioning in React: A Deep-Dive into useState, Chicago JavaScript Meetup / Ancient City Ruby, 2019.
  • Hashrocket Developer Survey 2019, Hashrocket Summer Miniconf, 2019.
  • Writing a Programming Language, Hashrocket Winter Miniconf, 2018.
  • Introducing Hooks, React Chicago Meetup, 2018.
  • Weekly Team Retros, Hashrocket Summer Miniconf, 2018.
  • Format Your Elixir Code Now, Chicago Elixir Meetup / ElixirDaze / Atlanta Elixir Meetup, 2018.

  • React.js + Vim, React Chicago Meetup, Vim Chicago Meetup, 2017.
  • From Troops to Tech: A Panel of Chicago Veterans In Tech, Chicago Veteran Developers Meetup, 2017.
  • State of the TIL, Hashrocket Summer Miniconf, 2017.
  • Observing Change: A Gold Master Test in Practice, RailsConf / Sauce Labs (webinar), 2017.

  • Integration Testing with Wallaby, Chicago Elixir Meetup, 2017.
  • Git + Vim with Vim-Fugitive, Vim Chicago Meetup, 2016.
  • Dive into Vim Language Plugins, Vim Chicago Meetup, 2016.
  • Military to Programmer, Code Platoon (Alpha cohort), 2016.
  • Test Driven Development/Pair Programming Workshop, Code Platoon (Alpha cohort), 2016.
  • Introduction to Vim, Vim Chicago Meetup, 2015.
  • Capybara Driver Benchmarking, Hashrocket Summer Miniconf, 2015.

Profiles