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 🤓
- Navigating the Ruby Concurrency Landscape (my RubyConf 2024 talk)
- Speeding up Ruby by rewriting C… in Ruby
- Ruby methods are colorless
- PgBouncer is useful, important, and fraught with peril
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
andXMLHTTPRequest
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.