How Emacs inspired Matz in creating Ruby

Matz (Yukihiro Matsumoto) and Richard Stallman
Matz (Yukihiro Matsumoto) and Richard Stallman
I just found this 2013 article about two of my favorite things, Emacs and Ruby, on the fabulously opinionated ergoemacs.org site. When Yukihiro Matsumoto created Ruby in 1993, he was already a confirmed Emacs user and Emacs Lisp hacker. Matz explains in his 2012 LibrePlanet Conference presentation (slideshow) that his knowledge of the Emacs source code influenced his design of Ruby’s core features. Checkout the links below to get the whole story.

Resources

The Missing Figures for Programming Ruby, First edition

Programming Ruby, The Pragmatic Programmer’s Guide, First Edition (free) is one of my favorite Ruby learning books. Paired with Peter Cooper’s Beginning Ruby: From Novice to Professional, it’s a great resource for learning Ruby.

One thing missing from the online version of the book are the some of the figures that show how Ruby’s classes and meta classes work. Luckily I found these images online a few years ago. The image names are named according to their chapters. Enjoy. đŸ™‚

Figure 19 from Programming Ruby, First ed
Figure 19 from Programming Ruby, First ed
Figure 19_2 from Programming Ruby, First ed
Figure 19_2 from Programming Ruby, First ed
Figure24_1 from Programming Ruby, First ed
Figure24_1 from Programming Ruby, First ed
Figure24_2 from Programming Ruby, First ed
Figure24_2 from Programming Ruby, First ed
Figure24_3 from Programming Ruby, First ed
Figure24_3 from Programming Ruby, First ed
Figure24_4 from Programming Ruby, First ed
Figure24_4 from Programming Ruby, First ed

Learn You Some Shell

Here’s the list of shell programming resources I recommend to my students.

Basic skills for Unix newbies

These tutorials cover the basic skills you need to perform basic tasks on Unix systems. Since 99% of all web sites are deployed on Unix/Linux, you really do need to know this stuff.

  1. Command Line Crash Course This tutorial stands above the others because it provide lots of examples and exercises. Best of all, it’s honest, and comes with a full blast of Zed Shaw.
  2. UNIX Tutorial for Beginners
  3. Learning the Shell
  4. Unix for Mac OS X Users
Shell Programming

Once you learn basic Shell skills, you’ll want to learn about Shell programming.

Books

Unix Shell Programming by Michael Kochan is my go-to shell book.

College Courses

The best course I know of is Greg Boyd’s face-to-face CS 160A and 160B courses at CCSF. Take them if your live in the Bay Area.