April 26, 2007

by Brian DeLacey

To me, Hackety Hack is as significant a computer-age innovation as the mouse because it makes computers accessible in wholly new educational and transformational ways. I hope this will become clearer in time.

This is a recap of my learning experiences with Hackety Hack, a wonderful new programming / learning environment created by _why (also known as why the lucky stiff.) For some background, let the shareful hand and Hacky Mouse show you these websites:

Hackety Hack Wiki

Hackety Hack Net

Talkety Talk forums

Download the software. Read the fabulous online documentation. Think of ways you might help! The Boston Ruby Group is planning a demonstration and discussion of this at the Boston Ruby Group meeting on May 8th.

I've worked through the initial Hackety Hack lessons myself and also stepped through them with my children. We've all learned a lot. This blog is a small corner of the digital-verse intended to share my Hackety Hack thoughts and experiences with you.

In the Beginning

In February 2007, _why circulated an email to readers of his Poignant Guide To Ruby ; he invited help on "a secret project". That project would later be introduced as "Hackety Hack." It has been a lot of fun and things have moved fast from the start..

The project certainly has exceeded _why's early email promise: "it is disruptive, messy, and will hopefully help change this world of long, boring books and complicated softwares." In fact, it has been a very producitve and remarkably well organized project. I do think it could change the world of programming, and learning programming, by staying true to it's clear mission and vision:

Some fifty people signed on for _why's early beta. We were sworn to secrecy to allow the young software a little bit of growing time. There was a a vibrant dialog and exchange of ideas on a mailing list in the weeks since that first release of software appeared March 1st. It has been impressive to see how so many things came together in such a short period of time To start, _why attracted a supportive, diverse, and smart community. He delivered seven superbly written lessons for learning Ruby. He mapped out a timetable and kept to it. At the same time, he developed stellar software and posted a stream of rapidly improving test releases. To round out the process, he established some excellent discussion forums. As if that weren't enough, he hand-crafted colorful and engaging logos, resulting in a software identity which is memorable and friendly. Yes, Hackety Hack even has its own cartoon character. I've seen a lot of software projects, but I've never seen anything like this.

And now, _why has opened this all up to you. Hackety Hack is still pre-release and in its formative stages, yet it already offers immense learning opportunities and a chance to join in and have fun. You can check out the Talkety Talk online forums and think of ways you might like to work with Hackety Hack or even contribute. In time, I'm betting you'll start to see Hackety Hack comments appearing in blogs and digital forums all around the 'net. I am sure of this. It is now two days after _why lifted the veil of secrecy, allowing each of his merry band of beta testers to share their experiences with friends. Google search didn't know about _why's Hackety Hack two days ago - now it is Google's top Hackety Hack link. The word is out.

Before the Beginning

I've worked with a varied mix of programming envrionments and languages but nothing like Ruby. I first learned about Ruby in 2001. It started with a talk by Tim Berners-Lee at the JFK School of Government. After the presentation, I had a chance to speak with Tim and I ask about the programming tools he used. He recommended Python, which he described as easy to use with great libraries for prototyping software on the web. I bought a Python book in nearby Harvard Square and started hacking.

In the process of searching the web on topics related to Python, I started to read about Ruby. More than a litte mystery surrounded Ruby: it was being developed in Japan and everything I read glowed with how much people loved and enjoyed the language. There was a lot written about it in Japanese that I couldn't read but even that looked interesting.

I've been an admirer of the language ever since. Now you can find excellent, 2nd edition books on Ruby - such as Programming Ruby by Dave Thomas with Chad Fowler and Andy Hunt. In the early days, documentation was scattered, examples weren't readily available, and there was a general lack of graphical user interface environments. It wasn't always easy to find someone around to discuss Ruby with. In fact, it was a real effort to learn even the basics. It has taken me a few years to learn what I have about Ruby. Hackety Hack erases all these hurdles and it is now possible to learn Ruby faster, better, and more durably than ever before. For people of all ages and all experience levels, if ever there was a time to interact with your computer - rather than just use it - now is the time and Ruby is the way.

The Project

I was intrigued by _why's secret project, not even knowing what it might be about. It doesn't take long, if you do any surfing of the Ruby community, to learn about _why's prolific skills at producing incredibly useful, high quality, beautifully engineered, popular code for Ruby. And he does it in a fun, funny, innovative, creative, artistic, open and engaging way. His work is expansive.

I was truly hooked on Hackety Hack when I realized my kids could use it. Hackety Hack would allow them to explore computers and the evolving digital world in a whole new way. Not simply for the sake of becoming bit brains and knowing programming, but for the practical value of applying Ruby (and generic programming skills) to other things they might want to - or need to - do at some future point in their digital lives: explore math, experiment with science, create art or music, research literature, or even simulate organic processes. All the better if they can program their own video games, load up their music players, manage their own chat network, and maybe even juggle their photo libraries. Hackety Hack brings all of this, and more, within their digital reach.

The Libraries

 

Teaching and Learning

I believe _why's Hackety Hack will inspire and guide future generations of software artists much like Tom West, a true hero figure in the Soul of the New Machine, who led an amazing team of near novice engineers. It came as little surprise when I read a quote of West's that echoed some of _why's : "I'd like to spend more time getting some of these kids onto projects that they're going to be proud of when they get to my point in life." [source] There is something special about people who aspire to teach others.

Hackety Hack is a huge contribution to software education in the digital era. As a tool, as a project, it provides all of us a chance to jump into something that is digitally significant and offers us a chance to help build some things to be really proud of in the future.

===============================================================

NOTE: Hackety Hack graphics on this page by permission of why the lucky stiff under the Creative Commons' Attribution 3.0 License. I have no idea how he marshals the talent and creativity to generate this - it sure is amazing.

 

A grand opening theme from the first screen of Hackety Hack

 

The most influential and inspiring book I read while learning programming was Soul of the New Machine by Tracy Kidder. The book tells the story of creating digital minicomputers, but at the core it is all about the innovative, creative, untiring spirit that is at the emotional heart of most technological wonders.

The book goes a long way toward elucidating the process of hardware engineering, but it is perhaps even more memorable in the way it describes the people and personalities who made their hardware dreams come true.

_why's beta program has been like revisiting the pages of Soul. Hackety Hack invites you to particpate in a project and a technology that you might have a lot of fun using and helping to grow. This Hackety Hack is a hybrid: part product, part system, part learning environment. It already pretty well stocked with a rich library of fucntionality (as shown to the left) but it's also expandable. It is also a wonderful welcome to a new world order of software development.

turn the page to April 27, 2007 >>>
turn the page to April 27, 2007 >>>