November 2005 Archives

rubyholic v1.0 is live

| | Comments (2)

I just finished putting the finishing touches on rubyholic and set it free. Check out rubyholic.com! Add your group's info.

Rubyholic was written to help rubyists organize and make it easier for organizers and potential members find each other. Consider it the white pages for the ruby brigades out there. I hope to get it well googled.

Rubyholic was written entirely Test-Driven. I never loaded any of it in a browser before launching the application on textdrive. I learned a lot doing this. A lot.

First, that while I'm very pro-TDD for "regular development", I had a huge amount of cognitive dissidence when it came to thinking of web development that way. C'mon, you tweak a line, save, and reload. I even had an emacs command to reload safari in the background. This is just how it was always done.

Second, TDD on rails is not there yet. It is still hard, but with Eric's help, it is getting better. He handed me some stuff he used for one of his apps and that expanded my functional testing vocabulary by a considerable amount. But we still aren't there for structural testing, partials, ajax, controllers and views. A lot could be done to make testing more of a pleasure.

Third... well, it is 2 AM here. You'll get the third in later installments. :)

Many many thanks go out to: Eric Hodel for pushing me to do TDD and being the perfect pairing navigator; Gianni (yipstar) and Goffrey (topfunky) for making my ugly stuff pretty; Matt (bricolage), Chad, Nathaniel, and Michael (ged) for being early testers (gah! sorry!); and I'm sure many more. Again, it is 2 AM here.

P.S. The server it is sitting on (on textdrive) is being a bit... touchy. Please be nice. I swear it passes all it's tests!

New Guest Blogger!

| | Comments (0)

I'm pleased to announce that Eric Hodel will be my first guest blogger! He has been working on some very exciting ruby on rails stuff lately as well working with me on Seattle.rb, metaruby, and ruby2c.

This was our old milestone list for metaruby/ruby2c. It does not reflect current status, but status then (approx 2004-10).

1: (done) parse_tree.rb
2: (done) 1st compilable unit
3: (done) massive cleanup and rearchitecture (node class and SexpProcessor
composite class)
4: basic sexp interpreter (numerics), use that to drive the doco for
the ruby subset we support.
5: advanced sexp interpreter (objects)

basic units/goals (in no order)

memory allocation & deallocation
sexp interpreter + documented ruby subset
array
object
string
inlining

huge units/goals:

parser
runtime

Reloads safari from emacs... bind to C-cC-r in MMM or html mode.

(defun reload-safari ()
  (interactive)
  (shell-command "printf 'tell application \"System Events\"
click button \"Stop\" of first window of process \"Safari\"
end tell' | osascript" nil nil))