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 Ruby, Open Source, Programming | 4 comments
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 Intelligence, Ruby, Programming | no comments
Posted by Daniel Butler
Wed, 18 Oct 2006 13:49:00 GMT
Ezra Zygmuntowicz of Yakima, Washington, has announced a new lightweight Ruby web application framework: Merb, named by combining the lightweight HTTP application server Mongrel with the templating system Erb. Using ActiveRecord, a simpler-than-rails routing system and taking full advantage of Mongrel's X-SendFile features, the "pocket framework" can server dynamic templated pages at 400 requests/second on a MacBook.
It's simple to get started:
$ sudo gem install merb
$ gem unpack merb
$ cd merb-0.0.3/examples/sample_app
# edit the conf/merb_init.rb to add your database password info.
# then add a posts table to your db with a title and body column.
$ merb start -t
Once you do that, visit http://localhost:4000/posts/new, http://localhost:4000/posts/list, or http://localhost:4000/uploads/start to see the little framework that could in action.
Thanks, Ezra!
The RubyForge Project Page
The Merb Trac Page
The Merb SVN Repository
An article on Merb at Brainspl.at
Posted in Ruby, Web Development | no comments
Posted by Daniel Butler
Mon, 11 Sep 2006 22:53:00 GMT
Pat Eyler has a short interview with the author of Ruby Cookbook, Leonard Richardson, who touches on the ability of great Ruby libraries which change the way you think about the problems of programming.
Leonard: I'm looking forward to more libraries that use Ruby's idioms to radically simplify entire domains. I think this is where dynamic languages like Ruby and Python show their power: Rails, ActiveRecord, ActiveResource, gserver, DRb, Starfish, Twisted, PyGame, etc. These libraries tackle a problem that's been around for years, and succeed by hiding a huge amount of the work and/or changing the way you think about the problem.
Leonard even lists his top 5 libraries in Ruby, including mine, Hpricot:
Leonard: Hard to pick just five, but I'll showcase some lesser-known libraries that I think deserve attention:
- hpricot, by _why, which makes me think I should just pack up Rubyful Soup.
- Starfish, a really simple distributed programming library that Lucas wrote.
- char-encodings deserves more attention. By which I mean, people should work on it as a way to improve Ruby's internationalization support, and yet I shouldn't have to do any work on it.
- Ferret is a Ruby port of Lucene, the best Java library ever. It lets you do full-text search on structured data.
- Finally, ActiveResource isn't a real library yet, and everybody knows about it, but it's going to be awesome.
Leonard Richardson Interview
Posted in Ruby | 1 comment
Posted by Daniel Butler
Sun, 10 Sep 2006 23:00:00 GMT
Chronic is a natural language date/time parser written in pure Ruby.
require 'chronic'
Time.now #=> Sun Aug 27 23:18:25 PDT 2006
#---
Chronic.parse('tomorrow')
#=> Mon Aug 28 12:00:00 PDT 2006
Chronic.parse('monday', :context => :past)
#=> Mon Aug 21 12:00:00 PDT 2006
Chronic.parse('this tuesday 5:00')
#=> Tue Aug 29 17:00:00 PDT 2006
Chronic.parse('this tuesday 5:00', :ambiguoustimerange => :none)
#=> Tue Aug 29 05:00:00 PDT 2006
Chronic.parse('may 27th', :now => Time.local(2000, 1, 1))
#=> Sat May 27 12:00:00 PDT 2000
Chronic.parse('may 27th', :guess => false)
#=> Sun May 27 00:00:00 PDT 2007..Mon May 28 00:00:00 PDT 2007
Chronic uses Ruby’s built in Time class for all time storage and computation. Because of this, only times that the Time class can handle will be properly parsed. Parsing for times outside of this range will simply return nil. Support for a wider range of times is planned for a future release.
Time zones other than the local one are not currently supported. Support for other time zones is planned for a future release.
Cronic @ Rubyforge
Posted in Ruby | 2 comments
Posted by Daniel Butler
Mon, 07 Aug 2006 21:23:00 GMT

While nothing can really compare to TextMate on OS X for its simplicity and natural flexibility, Windows users have yet another Ruby on Rails IDE to satiate your need of file drawers, tab completions, and that debilitating syntax-highlighting addiction: RideMe. Jeff Cohen declared version 1.0 as indulging you in the following ways:
- 100% free, open source, and not built on top of anything else. You
just need Ruby 1.8.2 and .NET 2.0 installed.
- Mission in life is to be lightweight and very fast. This is not a
general purpose Ruby editor, it's an IDE for getting your Rails work
done.
- File-system based approach. No messy workspace files or extra RIDE-ME
specifics junking up your directory.
- Syntax highlighting for Ruby Files, Views, Layouts, JavaScript, SQL,
CSS, and HTML.
- Familiar Visual Studio-style tabbed document editor.
- Model / Member drop downs for easy movability in code. (Think Visual
Studio above your code file)
- Code folding for Ruby files
- script/console built into the IDE (think Visual Studio "Immediate
Mode")
- Server Error notification (template errors will actually open the
view file and go to the LOC)
- Internal web browser (optional)
Project RideMe
Download Installer: RideMe.Setup.msi
Posted in Ruby, Open Source, Ruby on Rails | Tags IDE | 2 comments
Posted by Daniel Butler
Sun, 23 Jul 2006 19:35:00 GMT
Scott Laird writes:
I’d like to announce the release of Typo 4.0.0, the latest version of the most widely-used Ruby-based blogging software. This is the first official release of Typo 4.0, and the product of almost a year’s work by the Typo team. This is a huge upgrade over the previous Typo release, version 2.6.0. You can download it from Rubyforge, or you can use the new Typo .gem and installer.
Typo 4.0.0 Announcement
Posted in Ruby, Open Source, Ruby on Rails | no comments
Cypress Tree in River, Suwannee River, Georgia (January 2004)