4-day current streak·20-day longest streak
🌐 jhawthorn.com 🐦 @jhawthorn 📧 [email protected] 👋 Hi! I'm John Hawthorn I'm a senior staff software engineer on the Ruby Infrastructure team at Shopify. Previously I worked here at GitHub…
🌐jhawthorn.com
🐦@jhawthorn
📧[email protected]
👋 Hi! I'm John Hawthorn
I'm a senior staff software engineer on the Ruby Infrastructure team at Shopify. Previously I worked here at GitHub :octocat:.
I'm a 💎 Ruby committer and on the 🚋 Rails core team. I like to spend as much time as possible working on performance. Hopefully I've made your code run faster too 🤗
A few Ruby projects I've made:
- 📏
vernieris a next-generation Ruby profiler - 🏎️
rapidjsonis a fast JSON parser/serializer (based on the C++ RapidJSON library) - 🗑
discardprovides a simple soft-delete pattern for ActiveRecord. - 🏗️
actionview_precompilereager loads view templates at boot (really this should be upstreamed into Rails) - 🐑
sheapis a tool to analyze Ruby heaps - 🍔
pub_grubis a Ruby port of Natalie Weizenbaum's PubGrub CDCL-based version solving algorithm, as used by bundler - 📧
dkimis a Ruby implementation of email DKIM signiatures
- 🔍
fzyis a fast and simple fuzzy text finder for the terminal. I wote fzy wanting a faster and more consistent algorithm than was available at the time, other tools have since adopted my algorithm. Fun fact: If you presstto find files in a GitHub repo that's fzy! - 🖼️
mehis a fast image viewer for X11 using raw XLib.
-
vernier ★ PINNED
📏 next generation CRuby profiler
Ruby ★ 1.1k 1mo agoExplain → -
fzy ★ PINNED
:mag: A simple, fast fuzzy finder for the terminal
C ★ 3.3k 1y agoExplain → -
ruby ★ PINNED ⑂
The Ruby Programming Language [mirror]
Ruby ★ 1 3d agoExplain → -
rails ★ PINNED ⑂
Ruby on Rails
Ruby ★ 1 3mo agoExplain → -
discard ★ PINNED
🃏🗑 Soft deletes for ActiveRecord done right
Ruby ★ 2.4k 1mo agoExplain → -
rapidjson-ruby ★ PINNED
A fast JSON library for Ruby
Ruby ★ 57 1y agoExplain → -
curl-to-ruby
:arrow_down: Convert a curl command into ruby's net/http
JavaScript ★ 240 3y agoExplain → -
fzy.js
A javascript port of fzy's scoring algorithm. As seen on GitHub.com!
JavaScript ★ 163 1y agoExplain → -
actionview_precompiler
Precompiles ActionView templates at app boot for Rails 6+
Ruby ★ 157 1y agoExplain → -
meh
:rice_scene: a simple, minimalist, super fast image viewer using raw XLib
C ★ 155 2y agoExplain → -
pub_grub
🍔 A ruby implementation of the PubGrub CDCL-based version solver
Ruby ★ 153 1y agoExplain → -
dkim
:envelope: Pure Ruby DKIM signature library with Rails integration
Ruby ★ 94 4y agoExplain → -
sheap
🐑 Interactive Ruby Heap Snapshot analyzer
Ruby ★ 91 2y agoExplain → -
vecx
:space_invader: vecx vectrex emulator - sdl port
C ★ 63 1y agoExplain → -
modelh
Replacement Model M controller board
HTML ★ 52 5y agoExplain → -
execjs-fastnode
:zap: A faster Node.JS integration for Ruby/Rails ExecJS
Ruby ★ 51 7y agoExplain → -
tvart
Upload art to a Samsung "The Frame" TV
JavaScript ★ 35 3y agoExplain → -
clouddns ▣
:cloud: A ruby DSL for managing DNS
Ruby ★ 20 9y agoExplain → -
gvl_timing
No description.
Ruby ★ 19 5mo agoExplain → -
delta_debug
No description.
Ruby ★ 19 1y agoExplain → -
piink
:pig: Raspberry Pi e-paper display in Ruby
Ruby ★ 18 6y agoExplain → -
roaring-ruby
Roaring compressed bitmaps for Ruby
C ★ 13 3d agoExplain → -
fzy.rb
A ruby port of fzy's scoring algorithm.
C ★ 13 1y agoExplain → -
ttytest
An acceptance test framework for interactive console applications
Ruby ★ 13 1y agoExplain → -
sdlmap
:earth_africa: A SDL + libcurl OpenStreetMap viewer
C++ ★ 12 12y agoExplain → -
fast_sqlite
Speeds up tests using sqlite :zap:
Ruby ★ 11 1y agoExplain → -
dotfiles
my configs
Shell ★ 10 4mo agoExplain → -
ESPresso
☕️ Turning code into coffee: ESP32 espresso machine controller
C ★ 10 4y agoExplain → -
rails.jpg
Do I look like I know what a jpeg is?
★ 8 1y agoExplain → -
bundler-merge
WIP: Merge driver for Gemfile.lock
Ruby ★ 8 1y agoExplain → -
jokerss ▣
🤡 Ruby/Rails feed reader designed for self-hosting
Ruby ★ 8 5y agoExplain → -
github_fast_changelog
Generate CHANGELOGs using github's v4 GraphQL API
Ruby ★ 8 8y agoExplain → -
bundler-explain
Gives better explanations of conflicts when running bundle update
Ruby ★ 8 7y agoExplain → -
plugin.video.gomtv.net
:tv: GOMtv.net video addon for XBMC
Python ★ 7 13y agoExplain → -
unsafe
Just like in Rust!
Ruby ★ 6 5mo agoExplain → -
qmk_firmware ⑂
keyboard controller firmware for Atmel AVR and ARM USB families
C ★ 6 5y agoExplain → -
dynamic_locals
A Ruby to Ruby transpiler allowing dynamic local variables
Ruby ★ 5 10d agoExplain → -
json_escape
No description.
Ruby ★ 5 5mo agoExplain → -
fullwidth
:jp: Convert ASCII to equivalent fullwidth characters
Ruby ★ 5 1y agoExplain → -
arcana
🧙♂️ pure-ruby file/libmagic implementation. VERY INCOMPLETE
Ruby ★ 5 3y agoExplain → -
fzy-demo
Demo page for fzy.js
JavaScript ★ 4 3y agoExplain → -
qrcli
Generates QR codes on the command line using ANSI terminal colors
Ruby ★ 4 1y agoExplain → -
imgcat
iterm2 imgcat in Ruby
Ruby ★ 4 1y agoExplain → -
c2dm-ruby
ruby interface to google android's Cloud to Device Messaging service
★ 4 15y agoExplain → -
mpvsrv
Web interface and API for remote control of mpv
JavaScript ★ 4 10y agoExplain → -
cougar
No description.
Ruby ★ 3 2mo agoExplain → -
fzy-fpm-cookery ▣
No description.
Shell ★ 3 9y agoExplain → -
homebrew-fzy
No description.
Ruby ★ 3 9y agoExplain → -
circdraw
:art: draws circles on things
C++ ★ 3 3y agoExplain → -
hawthjit
An experimental pure-Ruby JIT compiler
Ruby ★ 3 3y agoExplain → -
rbexec
No description.
Ruby ★ 3 2y agoExplain → -
better-html ⑂
Better HTML for Rails
★ 3 2y agoExplain → -
noticat
Simple notification daemon and clock for dwm
★ 3 16y agoExplain → -
rds_slow_log
Ruby script to dump the slow query log from the mysql.slow_log on Amazon RDS instances
Ruby ★ 3 15y agoExplain → -
levelfind
list directories and files in a level order traversal
C++ ★ 3 10y agoExplain → -
hamt
No description.
Ruby ★ 2 1mo agoExplain → -
bashisms
No description.
Ruby ★ 2 4mo agoExplain → -
futurasky
:watch: A pebble watchface based on futuraweather powered by forecast.io
C ★ 2 10y agoExplain → -
visdiff-ruby ▣
Compare screenshots from ruby with visdiff.com
Ruby ★ 2 11y agoExplain → -
riama ▣
View only the questions and answers from reddit.com/r/iama posts.
Ruby ★ 2 13y agoExplain → -
curl ⑂
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features
★ 2 2y agoExplain → -
asmjit-ruby
Ruby wrapper for AsmJit: a lightweight library for machine code generation
C++ ★ 2 3y agoExplain → -
hawthfrag
Simple filesystem agnostic online file defragmenter for linux
C ★ 2 16y agoExplain → -
transitscraper ⑂
A program that retrieves bus schedules from BC Transit and presents them in a more usable interface
Ruby ★ 2 16y agoExplain → -
fog ⑂
The Ruby cloud services library.
Ruby ★ 2 15y agoExplain → -
gem-open ⑂
Open gems into your favorite editor by running a specific gem command
Ruby ★ 2 15y agoExplain → -
perftools.rb ⑂
google-perftools for ruby code
C ★ 2 15y agoExplain → -
letter_opener ⑂
quick edit to save the encoded email message
Ruby ★ 2 14y agoExplain → -
simple_form ⑂
Forms made easy for Rails! It's tied to a simple DSL, with no opinion on markup.
Ruby ★ 2 14y agoExplain → -
show_for ⑂
Wrap your objects with a helper to easily show them
Ruby ★ 2 14y agoExplain → -
haml-rails ⑂
let your Gemfile do the talking
Ruby ★ 2 14y agoExplain → -
declarative_authorization ⑂
An authorization Rails plugin using a declarative DSL for specifying authorization rules in one place
Ruby ★ 2 13y agoExplain → -
watchmaker
:watch: Runs `make` when files are changed.
Go ★ 2 11y agoExplain → -
wee-slack ⑂
A WeeChat plugin for Slack.com. Synchronizes read markers, provides typing notification, search, etc..
Python ★ 2 11y agoExplain → -
dotfiles-1 ⑂
My *nix confs
VimL ★ 2 11y agoExplain → -
st
My st configuration
C ★ 2 9y agoExplain → -
dwm
My dwm config
C ★ 2 9y agoExplain → -
mlbtv-hls-nexdef ⑂
Automatically exported from code.google.com/p/mlbtv-hls-nexdef
C ★ 2 10y agoExplain → -
clocksay
:alarm_clock: A dumb thing for a "smart" alarm clock
Go ★ 2 9y agoExplain → -
bundler_wtf
No description.
Ruby ★ 2 9y agoExplain → -
ractor-dispatch
No description.
Ruby ★ 1 1mo agoExplain → -
serviette
Ractor-safe minimal web framework
Ruby ★ 1 2mo agoExplain → -
dtoa_archive
dtoa.c changes over time according to the wayback machine
C ★ 1 1y agoExplain → -
ips
No description.
Ruby ★ 1 4mo agoExplain → -
rbdbg
A ptrace-based debugger written in Ruby
Ruby ★ 1 5mo agoExplain → -
jhawthorn
No description.
★ 1 1y agoExplain → -
rubygems ⑂
Library packaging and distribution for Ruby.
Ruby ★ 1 4mo agoExplain → -
yjit-bench ⑂
Set of benchmarks for the YJIT CRuby JIT compiler
★ 1 4mo agoExplain → -
bootsnap ⑂
Boot large Ruby/Rails apps faster
Ruby ★ 1 8y agoExplain → -
charlock_holmes ⑂
Character encoding detection, brought to you by ICU
★ 1 1y agoExplain → -
commonmarker ⑂
Ruby wrapper for the comrak (CommonMark parser) Rust crate
★ 1 6mo agoExplain → -
colbert ▣
No description.
CSS ★ 1 12y agoExplain → -
mpvctl ▣
mpc, but for mpv
Ruby ★ 1 10y agoExplain → -
capybara-profile ▣
No description.
Ruby ★ 1 11y agoExplain → -
rapidash ▣
A minimal javascript dashboard
CoffeeScript ★ 1 11y agoExplain → -
uncletbag ▣
:banana: Search for quotes from arrested development
JavaScript ★ 1 13y agoExplain → -
hawth-rails-template ▣
My template for creating rails applications
Ruby ★ 1 14y agoExplain → -
pure_profiler
An educational pure ruby sampling profiler - do not use for reals
Ruby ★ 1 2y agoExplain → -
trilogy ⑂
Trilogy is a client library for MySQL-compatible database servers, designed for performance, flexibility, and ease of embedding.
C ★ 1 11mo agoExplain → -
155pod.com
No description.
HTML ★ 1 3y agoExplain → -
svgcal
svgcal
HTML ★ 1 3y agoExplain → -
colbert-generator ▣
No description.
Ruby ★ 1 3y agoExplain → -
cancan ⑂
Authorization Gem for Ruby on Rails.
Ruby ★ 1 14y agoExplain → -
muffins
:cookie: TIME CAPSULE: A game prototype from 2007 by @jhawthorn and @jarednorman
Python ★ 1 13y agoExplain → -
doscat
Converts code page 437 with ANSI escapes to UTF-8
C ★ 1 13y agoExplain → -
beets ⑂
music library manager and MusicBrainz tagger
Python ★ 1 13y agoExplain → -
mpv ⑂
Video player based on MPlayer/mplayer2
C ★ 1 13y agoExplain → -
jszip ⑂
Create, read and edit .zip files with Javascript
JavaScript ★ 1 12y agoExplain → -
git-pivotal
A composable integration between git and pivotal tracker
Ruby ★ 1 12y agoExplain → -
poltergeist ⑂
A PhantomJS driver for Capybara
Ruby ★ 1 12y agoExplain → -
listen ⑂
The Listen gem listens to file modifications and notifies you about the changes.
Ruby ★ 1 12y agoExplain → -
aws-sdk-ruby ⑂
The official AWS SDK for Ruby.
Ruby ★ 1 12y agoExplain → -
yt ⑂
No description.
Python ★ 1 12y agoExplain → -
bundler-exec ⑂
Automatically run Ruby scripts with "bundle exec" (but only when appropriate).
Shell ★ 1 12y agoExplain → -
airbrake ⑂
The official Airbrake library for Ruby on Rails. Links to other Airbrake libraries are in the ReadMe.
Ruby ★ 1 12y agoExplain → -
canada ⑂
Canada provides a friendly interface for making easy use of Elixir's excellent pattern matching to create readable declarative permission rules.
Elixir ★ 1 12y agoExplain → -
lune
:waning_crescent_moon: An experimental alternative lua syntax
Lua ★ 1 11y agoExplain → -
angular-multiselect ⑂
Another AngularJS multiselect, with tags
CoffeeScript ★ 1 11y agoExplain → -
knight ⑂
Knight is a dependency manager/injector for Lua.
Lua ★ 1 11y agoExplain → -
foundation ⑂
The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites and apps that work on any kind of device.
CSS ★ 1 11y agoExplain → -
rspec-respect_selector_limit ⑂
RSpec matcher for validating number of CSS selectors
Ruby ★ 1 11y agoExplain → -
spree ⑂
Spree is a complete open source e-commerce solution for Ruby on Rails.
Ruby ★ 1 11y agoExplain → -
react-redux-async-example ⑂
A react, redux, ajax working example
JavaScript ★ 1 11y agoExplain → -
hubot-slack ⑂
No description.
CoffeeScript ★ 1 11y agoExplain → -
lolcommits ⑂
:camera: git-based selfies for software developers
Ruby ★ 1 10y agoExplain → -
ecto ⑂
A database wrapper and language integrated query for Elixir
Elixir ★ 1 11y agoExplain → -
dwmstatus
My status script for dwm. Probably not useful unless you are me. If you are me, hello!
C ★ 1 10y agoExplain → -
deface ⑂
Rails 3 plugin that allows you to customize ERB views in a Rails application without editing the underlying view.
Ruby ★ 1 10y agoExplain → -
capybara ⑂
Acceptance test framework for web applications
Ruby ★ 1 10y agoExplain → -
imperilment ⑂
:trophy: A trivia game where the questions are the answers!
Ruby ★ 1 10y agoExplain → -
font-awesome-rails ⑂
the font-awesome font bundled as an asset for the rails asset pipeline
HTML ★ 1 9y agoExplain → -
versioncake ⑂
:cake: Version Cake is an unobtrusive way to version APIs in your Rails or Rack apps
Ruby ★ 1 9y agoExplain → -
webpack ⑂
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders," modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
JavaScript ★ 1 9y agoExplain → -
rabl ⑂
General ruby templating with json, bson, xml, plist and msgpack support
Ruby ★ 1 9y agoExplain → -
execjs ⑂
Run JavaScript code from Ruby
Ruby ★ 1 9y agoExplain → -
yenc ⑂
yenc decoder package for Go (golang)
Go ★ 1 10y agoExplain → -
junk.pics ⑂
No description.
Shell ★ 1 10y agoExplain → -
led_test_formatter
Display test runner progress on LED strips
Ruby ★ 1 10y agoExplain → -
hyperion ⑂
An opensource 'AmbiLight' implementation controlled using the RaspBerry Pi
C++ ★ 1 10y agoExplain → -
PKGBUILDs ⑂
PKGBUILDs modified to build on Arch Linux ARM
Shell ★ 1 10y agoExplain → -
magnetman
TIME CAPSULE: November 2006 72Hour Game Development Competition entry (modern rewrite)
JavaScript ★ 1 8y agoExplain → -
ffaker ⑂
Faker refactored.
Ruby ★ 1 8y agoExplain → -
Resolver-Integration-Specs ⑂
No description.
★ 1 8y agoExplain → -
capybara-screenshot ⑂
Automatically save screen shots when a Capybara scenario fails
Ruby ★ 1 9y agoExplain → -
jquery.payment ⑂
[DEPRECATED] A general purpose library for building credit card forms, validating inputs and formatting numbers.
CoffeeScript ★ 1 9y agoExplain → -
handlebars_assets ⑂
Use handlebars.js templates with the Rails asset pipeline.
Ruby ★ 1 9y agoExplain → -
active_merchant ⑂
Active Merchant is a simple payment abstraction library extracted from Shopify. The aim of the project is to feel natural to Ruby users and to abstract as many parts as possible away from the user to offer a consistent interface across all supported gateways.
Ruby ★ 1 9y agoExplain → -
state_machines-activerecord ⑂
StateMachines Active Record Integration
Ruby ★ 1 9y agoExplain → -
state_machines-activemodel ⑂
StateMachines ActiveModel Integration
Ruby ★ 1 9y agoExplain → -
sprockets ⑂
Rack-based asset packaging system
Ruby ★ 1 8y agoExplain → -
rtrace
:large_blue_circle: Time capsule! A ray tracer I wrote in 2009
C++ ★ 1 8y agoExplain → -
sassc-rails ⑂
Integrate SassC-Ruby with Rails!
HTML ★ 1 8y agoExplain → -
acts_as_list ⑂
An ActiveRecord plugin for managing lists.
Ruby ★ 1 8y agoExplain → -
awesome_nested_set ⑂
An awesome replacement for acts_as_nested_set and better_nested_set.
Ruby ★ 1 8y agoExplain → -
mountain_lion
No description.
Ruby ★ 0 2d agoExplain → -
stringio ⑂
Pseudo `IO` class from/to `String`.
★ 0 9d agoExplain → -
fiddle ⑂
A libffi wrapper for Ruby.
★ 0 28d agoExplain → -
rexml ⑂
REXML is an XML toolkit for Ruby
★ 0 1mo agoExplain → -
nokogiri ⑂
Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
★ 0 1mo agoExplain → -
error_highlight ⑂
The gem enhances Exception#message by adding a short explanation where the exception is raised
★ 0 8mo agoExplain → -
onigmo ⑂
A Ruby wrapper around the onigmo regular expression library
★ 0 2mo agoExplain → -
zamboni
No description.
Ruby ★ 0 3mo agoExplain → -
bigdecimal ⑂
Arbitrary-precision decimal floating-point number library for Ruby
★ 0 3mo agoExplain → -
rackget
curl for Rack - no server, no port, just rackget /path
Ruby ★ 0 5mo agoExplain → -
io-event ⑂
No description.
★ 0 4mo agoExplain → -
benchmark-ips ⑂
Provides iteration per second benchmarking for Ruby
★ 0 4mo agoExplain → -
rubybench ⑂
Benchmark runner for rubybench.github.io
★ 0 4mo agoExplain → -
ractor_safe
Experimental Ractor-safe collections for Ruby 4+
C++ ★ 0 5mo agoExplain → -
picohttp
Fast HTTP request parser for Ruby/Rack using picohttpparser
C ★ 0 5mo agoExplain → -
gvltest
No description.
Ruby ★ 0 5mo agoExplain → -
delegate ⑂
This library provides three different ways to delegate method calls to an object.
★ 0 5mo agoExplain → -
atomic-ruby ⑂
Atomic primitives for Ruby
★ 0 9mo agoExplain → -
brakeman ⑂
A static analysis security vulnerability scanner for Ruby on Rails applications
★ 0 11mo agoExplain → -
ruby-infra-recipe ⑂
Manifest for rubyci, gem-codesearch and etc
★ 0 11mo agoExplain → -
openssl ⑂
Provides SSL, TLS and general purpose cryptography.
★ 0 11mo agoExplain → -
raindrops ⑂
No description.
★ 0 1y agoExplain → -
rubyci
My homelab Ruby CI. Don't use this
★ 0 1y agoExplain → -
rdoc ⑂
RDoc produces HTML and online documentation for Ruby projects.
★ 0 11mo agoExplain → -
bangs ⑂
Repository of bangs used by Kagi Search
★ 0 10mo agoExplain → -
erb ⑂
An easy to use but powerful templating system for Ruby
★ 0 5mo agoExplain → -
llhttp ⑂
Ruby bindings for llhttp.
★ 0 1y agoExplain → -
globset
No description.
Ruby ★ 0 1y agoExplain → -
regex_audit
No description.
Ruby ★ 0 1y agoExplain → -
json ⑂
JSON implementation for Ruby
★ 0 1y agoExplain → -
neotest-minitest ⑂
Neotest adapter for Minitest
Lua ★ 0 1y agoExplain → -
dogstatsd-ruby ⑂
A Ruby client for DogStatsd
★ 0 1y agoExplain → -
mastodon ⑂
Your self-hosted, globally interconnected microblogging community
★ 0 2y agoExplain → -
sqlite3-ruby ⑂
Ruby bindings for the SQLite3 embedded database
★ 0 1y agoExplain → -
vernier-examples
No description.
Shell ★ 0 2y agoExplain → -
json-ld-preloaded ⑂
A meta-release of the json-ld gem including preloaded vocabularies
★ 0 2y agoExplain → -
json-ld ⑂
Ruby JSON-LD reader/writer for RDF.rb
★ 0 2y agoExplain → -
cbor-ruby ⑂
CBOR (RFC 7049) extension for Ruby
★ 0 2y agoExplain → -
tapioca ⑂
The swiss army knife of RBI generation
★ 0 3y agoExplain → -
mochilo ⑂
A ruby library for BananaPack
★ 0 3y agoExplain → -
rails_json_benchmark
No description.
Ruby ★ 0 3y agoExplain → -
hatstone ⑂
A minimal Ruby wrapper for Capstone disassembler
★ 0 3y agoExplain → -
secure_headers ⑂
Manages application of security headers with many safe defaults
★ 0 3y agoExplain → -
ruby-glossary ⑂
Just a glossary of terms I've found in Ruby source code
★ 0 3y agoExplain → -
rack ⑂
A modular Ruby web server interface.
★ 0 2mo agoExplain → -
nsa ⑂
Publish Rails application metrics to statsd.
★ 0 2y agoExplain →
No repos match these filters.