WhyDay

A hand-drawn copy of a comic panel from why’s (poignant) guide to Ruby on a traffic light in Austin, Texas.

It’s August 19th, which in some circles is known as Whyday. If you’re not familiar with what this day’s about or where its name comes from, you might want to read our earlier article, Whyday is Friday. I like to think of this day as a reminder to bring a sense of whimsy, sharing, fun and wonder to your work, whether it’s programming or anything else.

I must tip my hat to the appropriately-surnamed Josep M. Bach, whose Whyday contribution is Niki, “the first stable, documented version of Niki, a ruby DSL to write songs”. Programming and music — what could be more fitting?

Gogol is a game that’s written in Ruby, minimalist and brain-teasing. This is right up _why’s alley.

As for me, I’m doing my bit to spread the word about Whyday, working on a few ideas to help people get better at programming and ecommerce (which includes making more videos like this one), mixing music with coding with the assistance of my trusty travelling accordion as well as relearning all the Ruby I’ve forgotten over the past couple of years working at the Empire and sharing what I learn along the way.

I feel incredibly fortunate to be at Shopify (I’ve been with the company a shade more than three months), away from the Fortune 50 corporate world and back in the land of startups, programming languages like Ruby and CoffeeScript, and where whimsy and the willingness to take chances and try new things is greatly appreciated. It’s been a wild and crazy year for me both personally and professionally, and it’s only increased my appreciation for bringing the spirit and sense of fun to my work in the same way that _why did. I hope Whyday does the same for you.

Happy Whyday, and happy hacking!

(If you’re doing or did something interesting for Whyday,drop me a line and I’ll mention you and your activity in an upcoming blog post!)

Clever programmer. Multimedia and performance artist. Whimsical writer. Oddball performer. Howard Hughes-style recluse. All of these phrases are apt descriptions of the guy most of us know only as why the lucky stiff, or _why for short.

Bold, Brief and Gone

If _why had a personal motto, it might be “Be bold, be brief, be gone.” The bold part was plain to see. His Ruby tutorial, why’s (poignant) guide to Ruby, broke away from the style of your typical programming books and went for the wild and whimsical. Only _why would take a topic like metaprogramming — something that confounds a number of experienced developers, never mind the newbies he was trying to reach in his book — and turn it into a fantastic adventure game exercise, complete with comics. Few developers have the breadth of skill and interest to make projects like Try Ruby (a browser-based Ruby shell with instructional guides) to Camping (a Rails-like web app microframework smaller than 4K) to Shoes and Hackety Hack (a UI toolkit for “web-like desktop apps” and a development environment to teach children programming) to Park Place (a “nearly complete clone” of Amazon’s S3). There may be people out there who’d be able to pull off a music-and-programming performance like the one he did at the first RailsConf, but they haven’t yet presented themselves to the world.

The “brief” and “gone” bits take a little more explaining. _why’s notoriety rose with Ruby’s popularity, which in turn was connected to Ruby on Rails. I remember reading some posts on one of his blogs, RedHanded, as far back as late 2003, and the (poignant) guide surfaced in 2004 and found its way into print in 2005, when the chapter A Quick (and Hopefully Painless) Ride Through Ruby (with Cartoon Foxes) appeared in the Apress book The Best Software Writing I: Selected and Introduced by Joel Spolsky. His music-and-code extravanganzas at South by Southwest, O’Reilly’s Open Source conference and the first RailsConf cemented his rep as the programmer who was also a performance artist and by 2008, people were seeking him out for all sorts of things, from personal appearances (Pete Forde tried to get him to come to RubyFringe, but convincing him to leave the US proved to be impossible) to commissioning body art (Leah Culvergot him to design a tattoo for her).

All in all, _why’s popular presence on the web spans about 5 or 6 years.

WhyDay Declared

A year after his disappearance from the online world, Glenn Vandenburg declared the first anniversary of his disappearance as “Whyday”. Whyday is a day to celebrate _why’s contributions to the culture and communities that have grown around the Ruby programming language and all the software built upon it. “We in the Ruby community wish him well,” goes the text on the Whyday site, “but we really miss him.”

Why gave us a lot of cool software and other things, but what he really gave to the Ruby community was a spirit of freedom, whimsy, and creativity. When Why took the stage at the first RailsConf, in 2006, he strapped on his guitar, walked to the microphone, and yelled “Put your best practices away!”

Discipline, care, and responsibility are important; we owe our customers, employers, team members, and families to take our work seriously. At the same time, though, we need to play. If we don’t occasionally break out of the mold of our “best practices,” we can easily miss many wonderful ideas, some of which can bear rich fruit (just as Camping and Hpricot led to Sinatra and Nokogiri).

This year, on August 19, celebrate Whyday. Set aside that day to remember Why’s contributions to our community and culture by hacking just for the fun and joy of it.

Among the things people were encouraged to do on Whyday were:

See how far you can push some weird corner of Ruby (or some other language).

Choose a tight constraint (for example, 4 kilobytes of source code) and see what you can do with it.

Try that wild idea you’ve been sitting on because it’s too crazy.

You can work to maintain some of the software Why left us (although Why is more about creating beautiful new things than polishing old things).

On the other hand, Why is passionate about teaching programming to children. So improvements to Hackety Hack would be welcome.

_why might not want to be celebrated, but in my mind, _why isn’t the real reason that Whyday should be celebrated anyway. I think it’s more about the spirit of what _why did: really getting to know the tools you’re using, helping people understand those tools using unorthodox means whenever conventional means just don’t get the point across, and building great tools when the tools you want don’t exist.

It’s about finding joy and delight in your craft, and bringing to it a sense of play. It’s about making things better. All that is in the spirit of why I quit a high-paying, cushy job and joined a rag-tag team of techies in a startup, and this year, I’m going to try to celebrate Whyday — this Friday, August 19th, 2011, a little more properly.

Today, August 19th, is WhyDay, a day held in honour of the Ruby world’s most enigmatic character, a guy known to most only by a nickname, why the lucky stiff.

_why (as he’s often called) is probably best known for his quirky programming book, why’s (Poignant) Guide to Ruby, quite possibly the most weird and whimsical tutorial written since Carlton Egremont III’s books Mr. Bunny’s Big Cup O’ Java and Mr. Bunny’s Guide to ActiveX. Although he never finished the book, it’s still a great (and greatly amusing) intro to the Ruby programming language from simple one-liners, all the way up to metaprogramming, peppered with his crazy comics which include two cartoon foxes whose catchphrase/battle cry is “chunky bacon!”.

_why also wrote a number of libraries and applications, many of which have either become part of the Ruby programmer’s toolkit or have become the basis of current apps and libraries. He was also a big proponent of making programming environments to teach kids programming, so he created Shoes, a UI toolkit for making web-like desktop apps and Hackety Hack, a programming mini-IDE built on top of Shoes for kids to make their own programs.

He didn’t stop at writing and coding; he was also a musician and performer. If you were at the first RailsConf in 2006 in Chicago, you were treated to his keynote, a psychedelic multimedia rock opera which began with him exhorting the audience to “Put you best practices away!” and filled with great music and geeky jokes (including one about exception handling that I found particularly amusing).

His stuff lives on because it was all either open-sourced or licenced under Creative Commons, and is now curated (and even expanded upon) by fans of his work.

A number of people are celebrating WhyDay by remembering his greatest gift to the Ruby and larger programming world: a spirit of whimsy, creativity, freedom and experimentation. Yes, programming is serious work and probably one of the hardest things that humans do, but without finding joy in what you do, what’s the point? The people who’ve declared today as WhyDay suggest:

See how far you can push some weird corner of Ruby (or some other language).

Choose a tight constraint (for example, 4 kilobytes of source code) and see what you can do with it.

Try that wild idea you’ve been sitting on because it’s too crazy.

You can work to maintain some of the software Why left us (although Why is more about creating beautiful new things than polishing old things).

On the other hand, Why is passionate about teaching programming to children. So improvements to Hackety Hack would be welcome.

You should take _why’s spirit and apply it to .NET! The .NET 4.0 framework incorporates a lot of great stuff that Ruby developers would find familiar, from powerful collections to dynamic typing to functional programming features, whether you do it in C# and want to go hardcore with F#.

Inspiration and community are part of programming. _why inspired a lot of programmers to go out their and try their crazy ideas, and in the process, they got to know and work with their fellow geeks. Get out there, build something beautiful and share it!