I’m a principal software engineer at @Wealthbox, a husband/father, and a health/travel/tech enthusiast.

Currently i’m writing a series about Ruby concurrency which will be packaged into a book. You can start reading it here.

Otherwise I write about my own development experiences, recent personal work, and moments of inspiration and discovery in my professional journey.

I’ve also done a couple podcast interviews. For instance, Innovations in Ruby Concurrency: Tips and Tools with the Ruby Rogues folks.

My blog posts have been featured in a variety of newsletters and even reacted to on youtube 😵‍💫

They have also made it to the front page of HackerNews at times 🤓

Lately I’ve been increasing my open source contributions. I’ve contributed to the following projects:

  • ruby - I contributed macOS support for the new M:N Ruby Thread scheduler using the kqueue interface in C.
  • solid_queue - Still a work in progress, but I am contributing Batch job support
  • gvl-tracing - I added Ruby 3.3 support by updating the C extension to support the major updates to the Ruby Thread Instrumentation C API.
  • after_commit_everywhere - I added the in_transaction method, which allows you to reuse an existing transaction more seemlessly.
  • tanstack table - I provided a fix to increase large data scenario performance by up to 1000x performance.
  • smarter_csv - I contributed some fixes and reproductions for making the gem thread-safe
  • rvm
  • brpoplpush-redis_script
  • binding-pry-js

I’m maintaining a few small gems/packages:

  • sidekiq-job-signal - Ruby gem that allows you to signal a sidekiq job to quit. On server restart the job will run as a no-op, allowing you to cancel runaway jobs easily.
  • pg-pool-safe-query - Ruby gem that monitors ActiveRecord queries for statements which are incompatible with PGBouncer in transaction mode.
  • pg-pool-safe-query-rs - Rust crate containing utilities to identify SQL statements which are incompatible with PGBouncer in transaction mode.
  • emoji-network-log - JS package that patches fetch and XMLHTTPRequest to monitor network call performance. Logs emojis to the dev console based on fast, average or slow requests, alongside their url.
  • emoji-log - Ruby gem that hooks into rails request and logs emojis representing fast, average or slow requests.