 So, I use our spec in Cucumber. Enjoy both of the tools. One of the problems we had was it takes about 15 seconds for one of our applications to start up. We load a lot of gems and a lot of dependencies, and this increases the cycle of our tests. We write some code, we go to run our tests, 15 seconds later, we know whether or not it compiled and worked. Very prohibitive. We used spec server, which was also more prohibitive because it relied on the Rails constant unloading algorithm that they've employed. And there's a lot of ways to break that, which we were breaking. And so it would work for a few runs, and then it would get into a corrupted state, and then all of our specs would fail for no reason. This was also unacceptable. So, I set out to solve this problem, and I'd been doing some stuff with forking before, and I said, well, why don't we just fork a copy of the process and run the specs in that fork, so we get the benefit of loading all of your libraries at first, and then you just throw away the copy of that process, and there's caffeine. And you get to do it over and over again. That process never gets corrupted. So I'm just going to do a quick demo to show how this would benefit you. One other thing to note, Spork is not specifically tailored to RSpec or, well, it supports RSpec and Cucumber. It's not limited to that. Support for a test unit and any other framework imaginable can be added. Also, application frameworks. Merb's in the work, so if you're a Merb user, there's a guy working on a Merb integration for Spork onto the demo. I've got here a brief demo app. I'm going to rewind. All right, Script Generate, RSpec. That's how you bootstrap your app for using RSpec. Go into RSpec folder. Here's RSpec Helper. This is great. Create an example, spec, describe, example. It should be true. Something silly, true. Should be true. Now when we go and run that, spec slash example, spec. Let's run it with time. Oh, should, aha. OK, took, oh, I need to load spec helper, also important. I think I got to do this funky business, right? Fair on time, spec, spec slash example, underscore spec.rb. 2.791 seconds. This is OK. Obviously, if spec helper gets lower, let's put a sleep in there just for giggles. Sleep 5, it's going to take a lot longer. 7.89 seconds. Now to get it to work with Spork, we're going to bootstrap our spec helper. This creates two blocks. We've got a pre-fork in each run. Pre-fork is run once. Each run is run every time you invoke your specs. This gives you the ability to discern between what is preloaded and what is loaded every time. Obviously, the advantage of putting things here in pre-fork is that your specs will load faster. The disadvantage is it won't be reloaded each time you invoke your specs. So you would have to reboot Spork, essentially, to get any changes of code loaded here to take effect. So here is our original spec helper. We're going to go and basically sort through that. I'm going to paste it all in the pre-fork. Get rid of this big nasty comment. Get rid of this comment, do some surgery. We decide that we want our spec helpers to load each time. So if we make any tweaks to those, it'll be loaded again. So we'll put that down in each run. Fantastic. And then fire up Spork as simple as this. Oh, one other thing. This is an issue with our spec we need to work out. Spork does this for you, so delete the detection of the Rails framework. It has already been loaded. It is freezing. OK, so now time spec dash dash drb spec slash example group or example spec. And down from 7 seconds to 0.816 seconds, rinse repeat. And you have fast specs. So question. One minute. You're the guy that I'm supposed to be asking for time. Well, I'm done. Any questions?