Exercises left to the readers: Teaching with github

I started the Pragmatic Guide to JavaScript earlier today and wanted to share Porteneuve's (possibly novel) approach to teaching despite the inherently moving targets of this subject.

For the basic examples, the author provides six repos: one for each of the most popular frameworks. For the larger, advanced examples, the author codes for one framework, but encourages readers to fork and contribute to the other five.

With innovative, collaborative efforts like this, Edgecase Ruby Koans, and Murphey's jQuery Fundamentals, I am glad to be the last generation to learn exclusively by typing in code from books and magazines. A world with less isolation and errata sheets sounds good to me.

Feel free to share your favorite educational uses of github in the comments. There is obviously much more to this space than microedits and i18n.

Delicious Library 2 and simplicity in software

It's not every day you hear about a software update taking away features, but that's what Wil Shipley did when he released Delicious Library 2.5. The things that got removed were buggy (and maybe unnecessary) add-ins to make version two more sellable. The result is a stabler product, free to all version 2 owners.

http://arstechnica.com/apple/news/2010/09/wil-shipley-we-tried-to-do-too-much...

I tried using Delicious Library 2 after a brief affair with the original (I quit using it when Amazon denied access to their web services)--but he's right. The core features weren't enhanced enough to do what I wanted to do, and the new features (animations, overly fancy HTML export) weren't that useful to me. The moral is to know what matters feature-wise. The more features you try to pack in, the more likely there is to be something wrong, and the harder it is to test to find that something.

Simplicity is a good thing. Before you add that next feature, ask yourself (and your customers) if it's necessary. Today's application frameworks make it so easy to arbitrarily add feature after feature that it's easy to forget that, sometimes, all we need is a plain old web page to get the job done. Simple is not the same as easy. Sometimes the two overlap, but the next time you add code to a project because it's the easy way to get something done, step back for a few minutes and make sure it's also the simple way to accomplish your goal.

Our Ruby Midwest 2010 Highlights

4803350300_3dd1966369_o
Aaron, Mark and I went to the first Ruby Midwest conference last week. (And if you’ve ever run a marathon with blinders on, you’ll know how I felt after two full days of single-track presentations.)

Aaron liked the big picture stuff.

  • Chris Wanstrath’s keynote on good practices in open source development
  • Yehada Katz’s keynote on the Ruby community
  • Luigi Montanez’s talk on civic hacking
  • Wesley Beary’s talk on experience driven design

I preferred the talks where folks presented their enviable software.

  • Charles Nutter: JRuby, Mirah (formerly Duby)
  • Alex Sharp: MongoDB
  • Wesley Beary: Fog (It was a well balanced talk.)

Looking forward to next year’s conference. Kudos KCRUG!

photo: http://www.flickr.com/photos/peterpunk/4803350300