Contributions
In addition to writing my own software, I've contributed patches to the following projects:
- BitTorrent: Allowed --bind to affect connections to the tracker as well as peers (in BitTorrent >= 4.2.1)
- DataMapper: Added 't' and 'f' true and false aliases to Sqlite3 adapter (revision 740)
- DC++: Make the bind address setting affect the UDP listening socket and outgoing sockets (revision 926)
- LinuxDC++: Replaced named semaphore implementation (sem_open) with glib implementation, portability fixes for OpenBSD (2007-11-30)
- Mutagen: Fixed APEv2 tag creation (revision 3989)
- Rack: Add SCGI Handler (2008-01-25)
- Ramaze: Add SCGI Adapter (2008-01-28)
- Ruby on Rails:
- Added options hash as third argument to FormHelper#input, so you can do input('person', 'zip', :size=>10) (revision 1851)
- Alias the has_and_belongs_to_many join table on eager includes (revision 3895)
- Use association's :conditions when eager loading (revision 3897)
- Added ActionController.filter_parameter_logging that makes it easy to remove passwords, credit card numbers, and other sensitive information from being logged when a request is handled (revision 4200)
- Fix ActionView::Helpers::ActiveRecordHelper::form for when protect_from_forgery is used (revision 8626)
- Sinatra:
- Fix optional params, i.e. get '/:name?' (2008-04-16)
- Fix optional params again, include specs (2f13feabc309587959bb565f4355495a915879af)