# Jim Weirich

> The teacher who built Rake, could explain anything, and whose passing the whole community grieved.

**Jim Weirich** (James Nolan Weirich, 1956 to 2014) was a developer, speaker, and teacher who created **Rake**, the build tool that a huge share of Ruby projects still lean on. "Rake" is short for "Ruby Make": it is a Make-like program (Make being the classic tool for automating build steps) where you describe your tasks and their dependencies in ordinary Ruby instead of a special syntax. He also wrote **Builder**, a small library for generating XML from Ruby. Rake shipped with macOS for years, which is a quiet measure of how far his work traveled.

What people remembered most, though, was the teaching. He spoke at conferences across Asia, South America, Europe, and the United States, and he had a rare gift for making very hard ideas feel obvious. The clearest example is his talk **["Y Not? Adventures in Functional Programming" (Jim Weirich, 2012)](https://chunkybacon.dev/talks/y-not.md)** ("Y Not? Adventures in Functional Programming," RubyConf 2012), where he derives the **Y combinator**, one of the most famously mind-bending results in computer science, live on stage, building it up from nothing but small Ruby procs until the whole thing clicks into place. It is still passed around as a model of how to explain something genuinely difficult with patience and joy.

Jim died on February 19, 2014, and the community's grief was immediate and enormous. Hundreds of people left tributes and thank-yous as comments on his final GitHub commit, and GitHub added a special banner to mark it, one of the ways Rubyists said goodbye in the medium he had given so much to. The Ruby 1.9.3-p545 release was dedicated to his memory. His generosity toward newcomers put him in the same warmly-remembered company as people like [Yukihiro "Matz" Matsumoto](https://chunkybacon.dev/people/matz.md) and [Aaron Patterson ("tenderlove")](https://chunkybacon.dev/people/tenderlove.md).

*Related:* ["Y Not? Adventures in Functional Programming" (Jim Weirich, 2012)](https://chunkybacon.dev/talks/y-not.md) · [Jim Weirich's final commit](https://chunkybacon.dev/stories/jim-weirichs-final-commit.md) · [Aaron Patterson ("tenderlove")](https://chunkybacon.dev/people/tenderlove.md) · [Yukihiro "Matz" Matsumoto](https://chunkybacon.dev/people/matz.md)

## Sources
- Jim Weirich (Wikipedia): https://en.wikipedia.org/wiki/Jim_Weirich
- Rake, the official project page: https://ruby.github.io/rake/
- Y Not? Adventures in Functional Programming (InfoQ presentation page, RubyConf 2012): https://www.infoq.com/presentations/Y-Combinator/

---

Source: https://chunkybacon.dev/people/jim-weirich/
License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
