Ryan Tomayko's Face

Adding and removing orders of magnitude.

Command line interface designer rtomayko. Photons.

I work at GitHub in San Francisco. We build software for people that build software.

Writings

Things I've written about building software in the early 21st century.

Nov 19 2012
Your team should work like an open source project
Apr 02 2012
Show How, Don't Tell What - A Management Style
Apr 26 2011
AWK-ward Ruby
Oct 06 2009
I like Unicorn because it's Unix
Apr 27 2009
HTTP Caching Talk at RailsConf '09
Jan 27 2009
Why "require 'rubygems'" Is Wrong
Nov 16 2008
Things Caches Do
Oct 24 2008
Introducing Rack::Cache
May 30 2008
Moving Past BlueCloth
Apr 08 2008
The Thing About Git
Mar 17 2008
JavaScript Based Code Prettification
Mar 14 2008
Administrative Debris
Mar 08 2008
What does "HREF" stand for?
Mar 06 2008
On The Use of Code in Weblog Titles
Feb 26 2008
GitHub: My Kind of Social Software
Feb 03 2008
PrinceXML Is Extremely Impressive
Jan 29 2008
Browser Usage
Jan 18 2008
Full Page Zoom Is For Sissies
Jan 10 2008
Simplifying Web Framework Deployment on Shared Hosting
Oct 02 2007
Bazaar Project Templates
Apr 15 2007
Lesson #5
Apr 12 2007
Rails and Scaling with Multiple Databases
Jan 23 2007
"Helpful" Thumbnails
Jan 18 2007
This word - "Web" - I do not think it means what you think it means.
Dec 29 2006
The Pending Ruby/Java Co-op
Dec 29 2006
Digg Scares Me (403 Go Away!)
Dec 22 2006
Parallels Makes IE Testing Suck Less, Melts Power Cord
Nov 19 2006
Java in The Land of Make Believe
Nov 13 2006
Shackled But Free
Nov 11 2006
XML Templating in Python Evolves
Oct 27 2006
Vox Populi
Sep 12 2006
Gosling v. Greenspun
Sep 11 2006
Here's a Nickel, Kid
Sep 09 2006
Top.app
Sep 07 2006
Web Based Site Monitoring Tools
Sep 03 2006
I Hate This Place
Oct 27 2005
The Zen of Microformats
Jul 20 2005
Motherhood and Apple Pie
Jul 07 2005
Announcing lesscode.org
May 28 2005
Doh!
May 27 2005
IBM Poopheads: "LAMP Users Need to Grow Up"
May 24 2005
Cha-cha-cha-cha-changes...
May 17 2005
Who are they?
May 12 2005
Why RedMonk Must Succeed
May 12 2005
Roxio is Apple's Bitch
May 11 2005
OS X Network Location Support From The Command Line
May 06 2005
Turn HTML off completely in Mail.app
May 02 2005
Such precision
Apr 28 2005
Why I love Sean McGrath
Apr 22 2005
On HTTP Abuse
Apr 01 2005
Insects and Entropy
Mar 29 2005
The Battle of the Less Clueless
Mar 17 2005
Web Services: what is "success" and how do we get there?
Mar 12 2005
What WS-* got wrong
Mar 06 2005
Jonathon Schwartz on WS-Mess
Mar 05 2005
Netscape 8 - Setting the browser back two years
Mar 05 2005
Kid 0.6
Mar 01 2005
Yahoo! Launches REST-based Web Services
Mar 01 2005
WS-Sandwich
Feb 25 2005
Scary Rails vs Quixote Stats
Feb 18 2005
The Tool Vendor's Dilemma
Feb 17 2005
Web Dominated by J2EE?
Feb 02 2005
Tools for Democracy / Distributed Journalism
Jan 29 2005
Cats
Jan 26 2005
Kid by Example
Jan 23 2005
No Rails for Python?
Jan 22 2005
Web Antipatterns Strikes Again
Jan 20 2005
Getters/Setters/Fuxors
Jan 19 2005
IBM to Free Java - Next Week?
Jan 19 2005
Disproving Backward Time Travel (kind of)
Jan 12 2005
Experimental del.icio.us Posting Interface Thing Generator
Jan 12 2005
ElementTree on the come-up
Jan 11 2005
Kid 0.4
Jan 09 2005
Watching people watch stuff at the Magic Kingdom
Dec 15 2004
The Static Method Thing
Dec 15 2004
Fedora Project Shaping Up
Dec 12 2004
How I Explained REST to My Wife
Dec 11 2004
But the world doesn't work that way
Dec 10 2004
Transformation Templates in Kid
Dec 10 2004
Why isn't there a simple XSLT?
Dec 09 2004
The Day Tim Bray Saved Java
Dec 06 2004
FC2 to FC3 upgrade with Yum
Dec 05 2004
XML Pull-chaining with Python
Dec 02 2004
Kid 0.2 and a note on Template Design
Nov 29 2004
In search of a Pythonic, XML-based Templating Language
Nov 28 2004
Hello Pythonosphere
Nov 22 2004
The factors that led them to choose IE..
Nov 18 2004
Splice
Nov 18 2004
Adam Bosworth, Sloppy KISSes, and WS-Mess
Nov 14 2004
Java and Open Source
Nov 07 2004
Web Antipatterns
Oct 01 2004
Getting Rid of the Summary Field
Oct 01 2004
Dynamic Superclassing in Python
Sep 25 2004
Should Linkblogs Trackback and/or Pingback?
Sep 23 2004
Bosworth on WS-Mess
Sep 20 2004
Guido's 10-line Python Scripts
Sep 12 2004
Cleanest Python find-in-list function?
Sep 07 2004
Quick OS X (and Emacs) Keystroke Reference
Sep 07 2004
30 Pixels, 30 Lines
Sep 05 2004
Python Inner Classes
Aug 08 2004
Persistent NFS Automounting Under OS X 10.3 (Panther)
Aug 08 2004
Del.icio.us Address-barlets
Jul 23 2004
Who Owns Your Browser?
Jul 18 2004
Disable horizontal wrapping in various textmode tools
Jul 13 2004
Per Site User Stylesheets
Jul 12 2004
Redhat 9 to Fedora 2 Yum Upgrade
Jul 09 2004
"Screen"
Jun 24 2004
Emulating ContentTypePriority in Apache
Jun 22 2004
Things I Regret Saying
Jun 10 2004
Gmail as Mailing List Aggregator
Mar 17 2004
URLGrabber Project Page Up
Feb 24 2004
My First Yum Commit
Feb 21 2004
IP Costs Millions of Information
Feb 17 2004
Learning Python As You Go
Nov 23 2003
True/False in Python < 2.3
Nov 15 2003
Minimal System Backups with rdiff-backup and Yum
Nov 11 2003
Experimental Firebird Extension RPMs Available
Nov 09 2003
RPMifying Mozilla Firebird Extensions
Nov 08 2003
Firebird Extension / Theme RPMs

Projects

I work on open source projects when I can. These are my favorites.

bcat (2010)
A pipe to browser utility.
Ronn (2010)
Builds UNIX manuals from a markdown-based text format. See ronn(1) and ronn-format(7) for usage.
Rocco (2010)
A quick-and-dirty, literate-programming-style documentation generator for Ruby. It looks like this.
shocco (2010)
A quick-and-dirty, literate-programming-style documentation generator for and in POSIX shell. It looks like this.
rpg (2010)
Experimental package manager for Ruby with a strong focus on UNIX. Written primarily in POSIX shell and C.
Tilt (2009)
A generic interface/API for a bunch of Ruby template engines. Sinatra's template system as of v1.0.
Shotgun (2009)
Rack development mode server that uses a process-per-connection forking model for code reloading.
git-sh (2008)
A git shell environment. It's really your bash(1) environment with a custom prompt, top-level git command aliases, and completion for everything. See git-sh(1) for usage.
Sinatra (2008)
The Ruby web framework for perfectionists. I was a contributor and project maintainer through the 1.0 release.
Rack::Cache (2008)
HTTP caching implementation in a Rack middleware component. Uses process heap, disk, or memcache for cache storage.