James Nolan Weirich (November 18, 1956 – February 19, 2014) was a
software developer
Software development is the process of conceiving, specifying, designing, Computer programming, programming, software documentation, documenting, software testing, testing, and Software bugs, bug fixing involved in creating and maintaining applic ...
, speaker, teacher, and contributor to the
Ruby programming language
Ruby is an interpreted, high-level, general-purpose programming language which supports multiple programming paradigms. It was designed with an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including p ...
community. He was active in the Ruby community worldwide, speaking at events in Asia, South America, Europe, and the United States.
Among his many contributions he created the popular
Rake build tool for Ruby.
Work
Weirich was the Chief Scientist at Neo Innovation, working at Neo's Cincinnati office. He also built and maintained many
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
tools, the most popular being Rake and Builder with 74 and 54 million downloads, respectively.
Rake is a build tool for automating tasks in Ruby. It is one of the most widely downloaded Ruby Gems, downloaded more than 481 million times and has been included with
Apple OS X since at least version 10.7.
Builderis a tool for creating structured
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
data through Ruby.
RubyGems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems ...
is package management tool for Ruby programs and libraries. Ryan Leavengood is credited with creating the very first RubyGems project in 2001, but it did not gain enough momentum to take off. In November 2003 with the need for a proper package manager growing,
Richard Kilmer
Richard Kilmer (born Hemet, California, 1969) is a technology entrepreneur, software programmer and conference host and speaker in the open-source software community. He is an open-source contributor and developer of commercial software applica ...
,
Chad Fowler
Chad (; ar, تشاد , ; french: Tchad, ), officially the Republic of Chad, '; ) is a landlocked country at the crossroads of North Africa, North and Central Africa. It is bordered by Libya to Chad–Libya border, the north, Sudan to Chad– ...
, David Black, Paul Brannan, and Jim Weirich got together at RubyConf 2003 in Austin and built today's RubyGems, which shares a name, but not the original codebase.
Ruby Koansis a learning tool to teach people the Ruby Programming Language through a series of small exercises.
rspec-givenis an extension to the popular Ruby testing framework
RSpec
RSpec is a computer domain-specific language (DSL) (particular application domain) testing tool written in the programming language Ruby to test Ruby code. It is a behavior-driven development (BDD) framework which is extensively used in product ...
that enables
given/when/then
Given-When-Then (GWT) is a semi-structured way to write down test cases. They can either be tested manually or automated as browser tests with tools like Selenium and Cucumber.
It derives its name from the three clauses used, which start with th ...
notation when writing specs.
Git Immersionis a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.
ArgusA Ruby API for controlling a Parrot AR Drone.
Presentations
Weirich was a popular conference speaker known for making very difficult topics understandable. An archive o
29 more recent talksis available on the Confreaks site; some notable talks are linked below:
The Grand Unified Theory of Software- Rails Underground 2009
SOLID Ruby- RubyNation 2010
Power Rake- Steel City Ruby 2012
Y Not? Adventures in Functional Programming- Ruby Conference 2012
Kata and Analysis- BostonRB Monthly Meeting - February 2013
Why Aren't You Using Ruby- RubyConf Uruguay 2013
RubyMotion- CincyCocoaDev April 2013
Decoupling from Rails- CincyRB October 2013
Ruby, threads, events... and Flying Robots!- CincyRB May 2013
Personal life
Weirich grew up in Shipshewana, Indiana, graduating from Westview Junior - Senior High School in 1975. He went on to graduate from
Indiana University
Indiana University (IU) is a system of public universities in the U.S. state of Indiana.
Campuses
Indiana University has two core campuses, five regional campuses, and two regional centers under the administration of IUPUI.
*Indiana Universit ...
in 1979 with a degree in physics. He lived in Cincinnati, Ohio.
Weirich was active in the Ruby community worldwide, and especially in Cincinnati, participating in the local
agile development
In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), a ...
, Ruby, and functional programming user groups. At meetings, he often gave talks and was widely acclaimed for the clarity and quality of his presentations.
News of Weirich's death was met with hundreds of tributes and thanks via comments o
his final GitHub commit which includes a special banner added by
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
. The 1.9.3-p545 release of the Ruby programming language was dedicated to his memory.
See also
*
List of computer scientists
This is a list of computer scientists, people who do work in computer science, in particular researchers and authors.
Some persons notable as programmers are included here because they work in research as well as program. A few of these people ...
*
List of programmers
This is a list of programmers notable for their contributions to software, either as original author or architect, or for later additions. All entries must already have associated articles.
A
*Michael Abrash – program optimization and x86 ...
References
External links
Weirich's personal blog
{{DEFAULTSORT:Weirich, Jim
1956 births
2014 deaths
American computer programmers