 Video equipment rental costs paid for by peep code screencasts. So what's Ruby doing in a Java IDE like NetBeans? Lots. Claim of an IDE is Integrated Development Environment. This is, you know, everything that a developer needs to do that can be done within the environment. That's the claim, or at least the goal. Short story is NetBeans does a quite good job at it. And I keep, part of it is I didn't go outside of it and then I discovered, oh, that is available in there. I just didn't know about it. In fact, I discovered a few things about it just working here. Back in February, I was looking for a faster way to develop and my minimum requirements for an IDE is that I can create files, all of the text files, I don't need graphics editor because I'm not an artist. I can update them, edit them, syntax, coloring, or highlighting. I find it really nice. I might be willing to give it up if there were a lot of reasons, but I really like it. When I first found it, oh yeah, it's like it, it's kind of pretty. And after a few years of using it, I says, ooh, black and white, that's kind of anemic and slow. So, syntax, coloring, I like. And in fact, NetBeans takes syntax coloring to the next step, very consistently and very logically. Other things, you know, compile, build, and run or whatever your language requires. There's debugging and there's version control support. I won't hire an employee, a programmer who doesn't use version control. I'm sure not going to hire an IDE that doesn't have version control support. So, NetBeans certainly meets those minimum requirements and it goes a bit more. I'm not going to cover those minimum requirements. You can look at the flyer, you can go and use it. What I'm going to cover is the things that I found I didn't expect, the pleasant surprises. And I'm going to cover four, change highlighting. Like syntax highlighting, this is change highlighting. I like it. It helps me go faster. So, I'm calling incremental or local undo and redo. And autocomplete and the API, you know, to the documentation of the API. And they're sort of bound up together and I'll cover them together in testing support. Okay, let's go to the real thing. Oh, I want to plug, stick in the, you know, the bibliography or the links to resources here so it doesn't get pushed off the end. NetBeans.org is the website for that. Go there to get tutorials. There's a bunch of them, general purpose and at least six Ruby or Rails specific ones. There's, like I said, there's flyers out front on it. Nice, pretty two-sided color, glossy. And no mention of Ruby or Rails. Ruby and Rails support is in beta, but I'm using it for production work. I don't have any major complaints about it. It was introduced in 6.0. They're now up to 6.1, go and get 6.1 with the Ruby Rails bundle. You know, it's a nice bundle, one download, install, it went in cleanly. It takes a little bit of time to catalog stuff. But once it's cataloged, you know, it pops up fast. And, oh, yeah, those are those plugs. Okay, change highlighting. This is the edit window. And that blue bar on the left says that these is blue. Yes, blue. It's modified. The green down here says this is a new line. There's also pink, which I'll show briefly is where lines were deleted. And those colors are consistent across several different views. And in fact, I discovered modified files are blue. New files are green. And there isn't any delete support yet, but I expect, you know, maybe the little ghost will be there in pink when that happens. Now, they're nice visual cues, but they're more than just visual cues. If I hover over it, it'll tell me, you know, what it used to be. And in fact, if I click it, it will show me what it used to be. And I can navigate down to the next change, or this is what I'm calling local undo, because the undo and redo buttons up here are chronological. But these are local. Now, another thing I just discovered that's a slick thing is what was that, that raise, I turned it into an if because it's no longer, I figured out it's no longer a fatal condition. And of course, you know, there's if, this condition, you know, zero, else, and then a bunch of code. Well, that code has been indented. But it doesn't clutter up saying this has been modified. All of it, you know, the modification has been indented. Smart. Okay. It's cruise on down through modifications. Just pop through them. And each time it's showing me what used to be there. Now we're at a delete. If you look over here, there's a little pink arrow. That says there's a delete here. And in fact, it'll tell you how many lines that are deleted in the tooltip, you know, and it'll show you what used to be there. It's too big. So scroll down and, you know, I could put it back in. I could incrementally undo it. Nice. Now that's the sort of on the ground level over here on the right. You again have blue and green and pink bars which says, you know, there are modifications, deletions, insertions there. A little black line here with a circle through it says the current line. One of the things I like about this is NetDeans is exploration friendly. There are a lot of these tooltips. And just what does this do? Build main project. What does this do? Run main project. Okay, cool. So you have this, you know, change highlighting. It's, you know, it's eye candy. It's visual cues that make things go faster. And in fact, and then it hooks into something real. It's not just visual. It's, you know, sort of not just read only. You can use it to actually change the file. Okay. There's two other colors. Red syntax errors. And in fact, up here, this little square is green now. If I stick in a syntax error, let's put in an extra end. It'll turn red. And the red line down here shows where it was detected. So same, you know, and the other is sort of yellow line. These are Ruby and, you know, Rails style hints, language hints. Useful. Okay. The other thing is when you've got a file with a lot of changes in it, and you want to look at, you know, sort of side by side, what's the old and the new? Well, there's the traditional, you know, side by side diff. But it has, you know, a little bit elegant thing. What I call rubber banding diffs. To keep the unchanged lines in sync, it rubber bands the changes. Of course, you know, below there is modification. Green is an insertion. And again, I've got little things that will undo that change. The remove and insertion down here, I have, you know, essentially replaced the original with a modification. And again, you know, and if I can click here on the pink deletion, I can undo it. Now, up here in the middle, there's an arrow. Watch out for that. It undoes everything. And unfortunately, it does not have a tooltip. It says, oh, I wonder what this does. Ooh. That didn't want to do that. Well, thank goodness for undo. 40 seconds. 30 seconds. 30 seconds. Okay. Test support. It's got, you can run the whole test suite. You can run individuals, you know, through running rate tests, rate test units, rate spec modules, so on. The other thing is, oh, there's generators too. So you can do migrations. Auto completion. When I hit the end, it sticks in the closing. Same thing for quotes. Interpolation in strings. And it's tied into, um, I type in a class name, and it shows me, or a method name, and it shows me all the possible completions. Okay. So why are you running up? Win? Can you start coming up? The gray ones are, ones that is inherited. The black ones are ones that are actually in the class. So there's the dynamic finders that rails itself sticks in. Here's mine. And, you know, it will show the comment that's right in front of it. And, um, okay. I can return. It'll stick it in with a template. I can, any method name, highlight it, control B, it'll go to the definition of it. I like it. Thank you. Okay.