Upcoming Gigs

It's been a busy month, and it's only going to get busier. Here are some public speaking events that are coming up - I hope you can make it to some of them:

  • I will be speaking at the SD Forum Ruby Conference this weekend, at the San Jose tech museum, with JRuby developer Nick Sieger
  • I have a technical session coming up at JavaOne, TS-9972, along with Martin Krauskopf who is developing the Ruby debugger for NetBeans. It's Thursday afternoon the week of JavaOne.
  • I will also be speaking at NetBeans Day in a Ruby session along with JRuby developers Tom Enebo and Charlie Nutter
  • The JavaPosse also has several appearances - there's our BOF Tuesday night at 10pm, we'll be the "lunch entertainment" at NetBeans Day, and we're also planning to do a live episode the following week at the Silicon Valley JUG.
  • Finally, I was recently interviewed on the SDN channel regarding the NetBeans Ruby support. You can find the episode here (you can also subscribe to the SDN via iTunes, it's a video podcast). My segment is about 16 minutes into it, following sections on NetBeans 6 by Tim Boudreau and a Matisse demo by Roman Strobl.

P.S. Another demo tutorial for the NetBeans Ruby on Rails support was just published - it's here. Along with Roman's demo, these are now shipping as sample applications, so you can download the applications themselves and play with the bits.


I'm curious - why is it that none of the screenshots/webcasts talk about how you run tests? Instead they jump straight to viewing things in browsers, something most ruby developers don't do very often. Life is all about running the appropriate test(s) for the thing you're working on.

Which of my tests are failing? Where are they failing? Can I see the stack trace for the test that failed? Can I see the console output for just that test? Any way to tell me that a test that was passing is now failing? Is all this presented in some useful way so I don't have to look through all the text output for the tests? Those are the things I'd like to see demo'ed. They're how I spend most of my day coding Ruby, and they're by far the most important part of an IDE for Ruby. RadRails does a decent job at this, but there are features it doesn't have that would be great to see in NetBeans.

Posted by James Moore on April 22, 2007 at 01:17 AM PDT #

James, I have basic autotest (from ZenTest) support ready to integrate tomorrow (or as soon as the Milestone 9 branch is created; until then, it's high priority bug fixes only.)

It's "basic" in that all it does is run auto test in the background and alerts you in the editor when there's a failure - you'd then use the normal autotest output (hyperlinked) to warp to the failure. But it works in the sense that you just start it, then as you're working, as soon as you've saved a file, relevant tests are run and you're alerted immediately if there's a problem.

If you have specific feature ideas on what you'd like to see here - or even a pointer or screenshot of something you're using which you're already happy with, please let me know.

Posted by Tor Norbye's Weblog on April 25, 2007 at 05:42 AM PDT #

James, I just integrated some AutoTest support which might help: http://wiki.netbeans.org/wiki/view/RubyTesting

Posted by Tor Norbye's Weblog on April 26, 2007 at 07:49 AM PDT #

I'll download it and check it out.

OK, I'm back. The download page at http://wiki.netbeans.org/wiki/view/RubyInstallation could use a little clarification.

So what's the right way to install this? The four options listed all
have issues, it seems. The first seems to be the wrong way to go;
something that evolves this quickly isn't something I want to get from
servers that lag by $LENGTH_OF_TIME.

The second doesn't mean anything; normally a "cluster" is a collection
of physical machines, but it appears to mean something else in
NetBeans-land. You might want to clarify this for people like me new
to NetBeans. (After reading further, it looks like a "cluster" really
means something like "add-in" or "library")

The third option seems aimed only at people testing that distribution, not for general users.

The fourth option probably involves Java, so clearly is completely uninteresting to us Ruby types :-).

So it looks like the best way for Windows users is to:

1. Download netbeans 6 m8 from
http://www.netbeans.info/downloads/milestones.php. This page is kind
of a trainwreck; there's a long list of things, and it's not clear
what's the thing to get. (IDE vs Platform? Err, beats me. What's
the platform? I'm guessing I want an IDE.)

2. Download the latest thing that looks like
netbeans-ruby-hudson-1157.zip. Ignore the thing that looks like
netbeans-rubyide-hudson-1157.zip; that's the one you say is flakey.

3. What's a Hudson?

4. Install netbeans-6_0-m8-bin-200703280911-windows-28_Mar_2007_0911.exe.

5. Copy C:\\tmp\\downloads\\netbeans-ruby-hudson-1156 to C:\\netbeans.

6. Start up netbeans.

7. Build a new rails project (I'm not ready to play with my existing code).

So far, so good. First impressions:

1. One of the first things it does is to start Webrick. That's
probably wrong; someone starting a new project isn't going to need
Webrick for a while - they're going to be running tests. And who uses
webrick any more? The world's moved on to Mongrel.

2. The readme that pops up is all about JRuby. Why? JRuby is an
interesting project, but it's far outside the Ruby mainstream.

3. The Project window is goofy. Rails has a normal directory layout.
The project window does its own thing. IMHO, it's just confusing.
Show me a normal Rails layout.

4. OK, I've clicked over to the Files pane. I'm now
confused about why the Project pane exists.

5. I start editing a file and create a routine. It's got
autocomplete turned on. Presumably there's a way to turn it off.

6. OK, time to point it to a real project. It's obvious how to do
this, but the first thing that pops up is a window telling me that the
new webserver that I don't want conflicts with the old web server that
I also don't want. It does offer to run the incorrect web server on a
different port.

7. I try autocompletion. I'm in an ActiveRecord model with some
associations, so I type in the_thing.<cntrl-space> and get what seems
to be a reasonable list of possible messages. I'd suggest a different
sort order - I think it would be more useful to me if they were sorted
in the order that you'd get from self.class.ancestors rather than
alphabetical. But then I look a little closer. Is the completion
just a list of every method in the code base? Doesn't seem like it
knows anything about the object right before the cursor.

And here's where I give up hope for autocomplete. I think the issue that rips the
heart out of autocomplete in a Ruby IDE is that many or most
interesting/significant argument lists are passed as hashes. If
autocomplete can't tell me what the call looks like, then its utility
drops significantly - close to zero, IMHO. Even a documentation convention isn't going to help much, since it would be a long time before every library included it. Hopefully I'm wrong and you'll figure this out!

- James

Posted by James Moore on April 26, 2007 at 10:19 AM PDT #

Post a Comment:
Comments are closed for this entry.

Tor Norbye


« July 2016