Teaching Kids to Hack with Hackety Hack

Posted by Daniel Butler Fri, 27 Apr 2007 14:42:00 GMT

Ruby’s own Edgar Allen Poe, _why the lucky stiff, mastermind of the continually-evolving Why’s (Poignant) Guide to Ruby and Try Ruby!, has done it again with Hackety Hack: The Coder’s Starter Kit. But what exactly has _why done, and why?

In The Little Coder’s Predicament, _why posits that, unlike us first generation hackers who grew up with Vic 20s, C64s, Amigas, and other machines which came with simple, accessible programming environments, kids aren’t learning programming on today’s consoles and desktops because companies are now fearful of placing the power of a programming language in the hands of its users. With Hackety Hack, the expressiveness of Ruby, the power of web-based applications using JavaScript and AJAX, and _why’s own creativity and artistry have converged to produce a quirky, easy-to-use, and, most of all, fun, programming environment that kids will take to faster than you can type FOR X=0 TO 255: POKE 32768+X,X: NEXT.

Brian DeLacey explains, “Hackety Hack is as significant a computer-age innovation as the mouse because it makes computers accessible in wholly new educational and transformational ways.”

Hackety Hack currently comes as a standalone installer for Windows (Version 0.3.1 if you want it), and it works pretty damn well. (Further platform support should be forthcoming, as well as non-English translations.) As you create programs and follow through the self-guided tutorials, you can create, edit, and save files, which are preserved between sessions. Ruby’s expressiveness is encapsulated in a DSL which integrates beautifully with JavaScript. say writes to the output area; ask uses a JavaScript dialog to grab input from the user, and sleep presents an animated JavaScript progress bar. All and all, a very kind and sensible interface for the babies.

I’ve been asked what I would recommend as ways to get kids involved with programming, and in the past I’ve recommended Try Ruby!, but Hackety Hack has taken the self-guided tutorial and freedom of a true, (albeit sandboxed), programming environment to the next level, with a powerful set of methods that make common and modern tasks easy. The simplicity shows through, and as _why explains in The Hackety Manifesto, “Hello world should be one line. In fact, downloading an MP3 should be one line!!.”

Best of all, Hackety Hack is free, and will remain so. Thanks, _why. And thanks to all (the 50+) who contributed to this creation.

Hackety Hack @ Wikipedia

Posted in , ,  | 4 comments

What is the Ruby Way?

Posted by Daniel Butler Thu, 19 Oct 2006 01:12:00 GMT

Hal Fulton, a computer scientist from Austin, Texas, has graciously provided an updated second edition of The Ruby Way. An article at InfoQ provides a thoughtful excerpt from his new book, which abounds with quoted wisdom about design and simplicity. An example of his writing:

What Larry Wall said about Perl holds true: “When you say something in a small language, it comes out big. When you say something in a big language, it comes out small.” The same is true for English. The reason that biologist Ernst Haeckel could say ”Ontogeny recapitulates phylogeny” in only three words was that he had these powerful words with highly specific meanings at his disposal. We allow inner complexity of the language because it enables us to shift the complexity away from the individual utterance.

Ruby has transformed my way of thinking about programming, now that I continually take simplicity, elegance, form and function into consideration when crafting a solution, and I am eagerly awaiting the release of this book.

Thanks, Hal!

Article: What is the Ruby Way?

Posted in , ,  | no comments

Ironic Error Message of the Week

Posted by Daniel Butler Fri, 02 Jun 2006 02:26:00 GMT

Nominated for its mystery and hubris, I present you:


Error: Ironic Message of the Week

Ironically, this week’s error message was brought to you by Hamachi’s creators, our fine northern neighbors at Applied Networking, Inc., in Vancouver, Canada, eh?

Posted in  | Tags ,  | no comments

Polymorphic, Self-Referential ActiveRecord Associations

Posted by Daniel Butler Sat, 20 May 2006 23:39:00 GMT

MirrorsJason King and Josh Susser had an interesting conversation about how to use ActiveRecord to achieve Polymorphic, many-to-many, self-referential associations on the Ruby on Rails mailing list. Jason describes his problem domain as having a:

Container which can contain one or more Element. An Element is a polymorph of either a Container or a Chunk. An Element can exist in one or more Containers. I use a table called ownerships as the join between Containers and Element.

Josh Susser, author of the has_many :through blog, attempts a solution. He describes his trick, “You have to disambiguate the two different associations to containers—one way is as your container, and the other is as an element. That means you need different names for those relationship. I chose “owner” to indicate an element’s container from the element’s perspective. You also have to use a different name for the two kinds of ownerships, containing and contained.”

Read on for the final coded solution.

Read more...

Posted in ,  | Tags  | 5 comments

Tallahassee Ruby Users Group

Posted by Daniel Butler Thu, 11 May 2006 22:14:00 GMT

If you are interested in helping form or participate in a Tallahassee Ruby Users Group, drop me a note to yup.com@gmail.com describing (1) your level of interest in Ruby and/or Ruby on Rails or other agile frameworks, (2) what nights you would prefer for a monthly meeting, and (3) any suggested meeting places you know of. An ideal meeting place would provide free wireless, food or drinks, and tolerance of nerd talk by the other patrons.

If we get enough interest, we’ll schedule a meeting for the first week in June. Or not. I’m flexible.

There’s got to be at least a handful of Rubyists in Tally. Here are some other nearby Ruby User Groups:

Mobile and Pensacola - Meets in Spanish Fort
Orlando
Atlanta
Savannah
Other Ruby User Groups

Posted in ,  | Tags  | 1 comment

Martin Fowler on Ruby

Posted by Daniel Butler Thu, 11 May 2006 16:59:00 GMT

Martin Fowler, well known in the OO, Patterns, and Agile world, has written a short article about whether Ruby is ready for the mainstream yet, and whether you should be considering it for your projects. He writes,

It’s still early days yet, but I now have a handful of project experiences to draw on. So far the results are firmly in favor of Ruby. When I ask the question “do you think you’re significantly more productive in Ruby rather than Java/c#”, each time I’ve got a strong ‘yes’. This is enough for me to start saying that for a suitable project, you should give Ruby a spin. Which, of course, only leaves open the small question of what counts as ‘suitable’.

Read on for some personal thoughts on Ruby and Ruby on Rails, as well as some bonus graphs from Google Trends.

Read more...

Posted in ,  | Tags  | no comments

James Edward Grey II on Unit Testing

Posted by Daniel Butler Wed, 10 May 2006 22:46:00 GMT

James Edward Grey II, creator of The Ruby Quiz, weekly programming challenge for Ruby programmers, writes a compelling article about unit testing in The Power of Tests: Unit Testers Get More Chicks. Unit Testing, he claims, “is the single best change a programmer can make in their day to day routine.”

Read on for a summary of the reasons …

Read more...

Posted in ,  | Tags  | no comments

Older posts: 1 2 3