Teddy Widom

About Portfolio Blog Resume Contact

I am a New York City based web developer working in biotech at Recombine.

I love programming in Ruby, crunching data in SQL, and making businesses more efficient through technology. In my spare time I work on an open source Postgres caching library and contribute to exercism.io development.

I have developed and sold business-critical Ruby on Rails applications and have international business and foreign language experience.


Expense manager A Rails app for tracking company expenses. Interesting aspects include use of the facade pattern to organize data for a complex dashboard, scalable spreadsheet-like searching and sorting, and date-based (rather than id-based) SQL joins. source code →

Intouchsys A custom Rails app I sold to my old company, InTouch Manufacturing Services Ltd. It now underlies nearly every aspect of their operations including client-management, scheduling services, creating photo-rich PDF inspection reports, invoicing, and calculating commissions. screencast →

Materialized views Extends ActiveRecord::Migration with methods for creating auto-updating materialized views in Postgres. Performs gold standard tests to check if a materialized view is up-to-date with its unmaterialized version. source code →

My open source contributions are on GitHub →



Rails 4.0 to 4.1 Upgrade When updating from Rails 4.0 to 4.1, I ran into two issues. The first was that HABTM associations now seem to require a primary key on the join table. Easy enough to solve: just add a ... read more →


Decoupling from Rails There is a great talk called Decoupling from Rails by the late Jim Weirich. This talk is most famous for being taken up by David Heinemeier Hansson as an example of "test induced design damage" during ... read more →


Materialized View Alternatives A while back I wrote about materialized views in Postgres. My main motivation was making Postgres' full-text search faster, and to be able to filter and sort using indexes when ... read more →