Notes from the First NovaRug Meetup

Jan 26, 2006

Tonight I went to the first Northern Virginia Ruby Users Group
(NOVARUG). Here are my semi-distilled notes and commentary on the
evening:

Rich Kilmer spent most of the time giving a presentation on
Alph, and talking about his experience doing a functional
prototype interface for mid-air plane refueling. He also talked about
bridging Ruby and ActionScript. The Ruby-related content
was similar to the presentation he gave at RubyConf 2004, so I
didn't bother taking too many notes on the actual application.

~44 people. There were roughly 60 people at RubyConf 2002, and
maybe 100 at RubyConf 2004. 40+ people in for a straight
NOVA/DC meetup kind of puts the recent exponential growth of
Ruby in perspective. David Black (dblack) and I talked about
that a few months ago on IRC, but I didn't appreciate the magnitude
of the increase until this evening.

While fiddling around on my laptop without Internet, I just discovered
that the never-released Gemini still works :D. Gemini is a
GTK package management GUI for RubyGems, written in
(suprise!) Ruby. Is anyone interested in this thing? I could
probably touch it up and have it release-ready in about a week if
there's still a desire.

Rich noted that he's using camelCase instead of underscores
for method names in Alph because the methods are actually
RMI calls from Ruby to ActionScript. He noted that
underscores are generally the Ruby way, and that people outside
the US (especially Japanese people) have a lot of trouble reading
camelCase code because they don't recognize the case and, by
extension, can't distinguish the words. If you think about it, it
makes sense. Can you tell two similar Kanji glyphs apart?

Rich's presentation uses code like 60.days and 24.hours.
He mentioned that that's an extension to Integer, but I hope he
misspoke, because that makes a whole lot more sense as an extension to
Numeric, because that way it gets picked up by Bignum, Fixnum,
and Float for free.

Apparently the current Flash runtime doesn't do JIT
internally (I asked about this, apparently it parses, then walks
the AST, similar to Ruby 1.8. If they're doing that, then
they really shouldn't be calling SWF files bytecode). According
to Rich, the upcoming runtime willJIT, which means an
approximate 10x speed boost at the cost of an upgrade and increased
disk footprint of roughly 200k. Not too shabby.

Thought: Indi for Linux could use the evil shell script stuff
to build an all-in-one equivalent to a OSX.app (they'd need
to statically compile stuff to make it truly portable).

Question about why not Alph isn't using SVG for the runtime,
especially since it has the advantage of being open. Rich
explained that SVG requires a plugin (which isn't quite true,
Firefox 1.5 doesn't require a plugin to display SVG, but
it's implementation needs some work). Regarding
licensing, Macromedia/Adobe aren't likely to make any major
licensing changes, since that would screw their established user base.

And that's all I've got for Rich Kilmer's presentation. Afterwards
he gave the group an opportunity to talk about their projects. I didn't
catch anyones' names, and Google failed me, so I couldn't find
references to these projects online.

Guy who works at NIST, demoing app to model PCB standards,
in 3D. You can zoom in and out and rotate the PCB around.
Got oohs and aahs from the crowd :).

"Pippen" apparently marshals data to XML, and there was another
app called "Genie", but I didn't catch what it did.

He made several references to fiducials, which I
thought sounded neat, so I looked it up on Wikipedia.

Everything his group at NIST does is public domain, so
people are more than welcome to try this stuff out.

Someone asked about the state of Ruby OpenGL, since it's listed
as a prerequisite for his demo application. Apparently it's working
just fine for everything he's tried, except for tesselation.

Someone else (again, no name, although he made a passing reference to
the DCXP users group) talked briefly about a Rails-based
social networking tool:

Allows animal rescue people to coordinate on a national level.

Someone suggested that he use Google Maps, and he said he
is thinking about it, but the more important aspect of the application
is route-planning and commentary (he doesn't want to stop at the wrong
McDonalds and meet up with Ted Bundy).

Finally, one person to the right of me (hiding in the back, along with
all the other real introverts. Either that or he was late like me
:D) mentioned an abstract Rails authentication plugin he was working
on. No name, and no project name (he didn't provide either), so that's
the most information I can give you.

After that, there was some miscellaneous conversation about future
NOVARUG, specifically times and frequency. It sounds like they're
going to be monthly, on Thursday evenings (because otherwise it
conflicts with my poker night!), and start at 7:00 (or 6:30 if you want
the free pizza). There was one comment about starting earlier, but the
general consensus seems to be that 7:00 is just fine; any earlier and
traffic becomes a serious problem. Personally, I'm hoping we can find a
venue that's closer to the Fairfax area, mainly because I'm selfish
and lazy, but also because that would make NOVARUG more DC and
Maryland accessible. Also, the Metro doesn't run out to Reston,
which means people have to drive or carpool.

(Of course, when I say "drive", I mean "sitting in stopped traffic on
495 for 30 minutes, staring at the silhouette mudflaps on the semi in
front of you and hoping the drivers on both sides don't notice you
picking the gunk out of your eyes or hear you jamming out to
Madonna").

There was some talk about setting up a NOVARUG mailing list.
Apparently there are already a couple Yahoo groups, but both
are essentially dead, and the owner of one is MIA. Rich and
Tom are going to set something up on the novarug.org domain, and
provide the details on the NOVARUG blog.

Rich mentioned something about Paul Graham speaking at the
upcoming RailsConf in Chicago. Personally, I have no real interest
in Rails — I think it's a great, I just don't use it personally
— so I can't justify the cost of the conference. I like
Paul Graham's writing (although I'm only aware of
one Ruby reference), so I'd love to hear him speak. Hopefully
that'll go better than Brad Cox at RubyConf 2004 (which was
actually really interesting, until he tried to talk about his new
proprietary DRM system...to an all open source crowd).

Afterwards, a couple of 3-5 person groups coalesced and talked for
about 30 minutes. I eavesdropped in on the group around Rich Kilmer
and even offered a bit of commentary. Rich Kilmer said Fox is ugly on
some platforms, and I said "no, Fox is ugly on every platform" (it
is. I've seen stuff I've written on themed XP systems, and it basically
looks like a Tk-based app does on every platform: teeth-gnashingly
ugly). RubyGems and RubyForge both came up a couple of times
in conversation, so I'll mention them here: RubyGems and
RubyForge. And don't forget
this amusing IRC quote about RubyGems.

On the way out I got a chance to talk to Tom Copeland, who I haven't
seen since he made me feel like a celebrity by recognizing me as "the
Pablotron guy!" at Baja Fresh. He liked the excessively
verbose description of my XHTML patch on ruby-core,
and also noticed how it's difficult to get patches through on
ruby-core. I realize that's mainly a language/cultural barrier and
not any sort of malice,, but it's still frustrating to be on the short
side of the stick. Rich suggested I send RDoc patches directly
to Dave Thomas (those particular patches have already been silently
accepted into 1.9, but not the XHTML ones).

That's it for my notes. You know the drill: let me know if you see any
gratuitous errors. I'll definitely be at the next schindig; maybe I'll
even have something to present!

Update: The colorful language about Fox isn't meant to downplay the usefulness of the library; I think the API is really straightforward, and that it looks and feels nicer than Tk and a slew of other non-native widget libraries. That said, non-native widget toolkits don't mimic the look and feel of the native system, and that almost always looks terrible to me. That goes for Mozilla under, well, pretty much everything, Gimp and Gaim in Windows and, of course, Fox. Firefox seems to look okay to me for some reason, except under MacOS. Go figure. Anyway, my comment above was intended less as an to insult the Fox developers, and more as a light-hearted jab from someone at 10,000 feet who hasn't taken the time and effort required to design, create, and maintain a cross-platform widget toolkit.

Even Later Update (2006-02-27): The "anonymous guy talking
about an authorization plugin" was Bill
Katz, and his Rails
authorization plugin is available here.