Getting Started With Compojure

| Comments

Compojure is a great web framework written in Clojure. Although in its infancy, the project has a lot of promise. The best part is that getting started is a snap!

The only thing you need to have installed on your system is Java and Ant. Everything else is taken care of for you by Compojure. To make things even simpler I have provided a script that does all of the project setup for you. Let’s take a look.

After you have downloaded the script, make sure to make it executable (chmod +x compojure) then run it:

compojure <project name>

where project name is whatever you want it to be. The script will download Compojure and it’s dependencies, do a fresh build, and copy all of the necessary dependencies for your project into the directory you specified. It will then leave you with a <project name>.clj file that has a “Hello World” example built right in. When the script finishes running just run:


and go to http://localhost:8080. You are now up and running on Compojure! To get a better idea of how to work with Compojure you can check out this site.

Failing Your Builds With RCov

| Comments

I just pushed the latest bits to RCov, and they include a new option to help you fail in more spectacular ways! Have you ever made sure that your build fails if you don’t satisfy the coverage threshold? If you are in RSpec land, you have always been able to use the built in verify_rcov task, but if you are using any of the other testing frameworks, it has historically been quite a process.

To use the new hotness, simply add --failure-threshold xx where xx is the threshold you want your coverage to be at. If your coverage drops below that threshold you will get a message telling you, but more importantly your build will actually fail. RCov exits non-zero when you fail to satisfy the coverage threshold which means that your Continuous Integration builds will fail. Having this in your bag of tricks is an awesome thing, and can help ensure that everyone is checking in tests along with their code.

To get the latest RCov bits simply run:

gem install relevance-rcov -s

You should get at least version 0.8.5. The --failure-threshold option will be included in RCov 0.8.5 and higher. As always, if you have any issues please report them to the RCov issue tracker and I will be sure to take a look. If you are going to submit a bug, check out this tasty groove that will give you some tips on how to properly submit a bug report for RCov. Enjoy your Whales!

RubyNation Wrapup

| Comments

RubyNation has been a very nice conference. The quality of talks was excellent as well as the crowd. I got a chance to meet some very cool people and even talk a little bit of Clojure. The slides for my talk on RCov and Ruby 1.9 can be found here.

DC Developer Day Wrapup

| Comments

The DC Developer Day was a hit! There were a lot of good talks and interesting people. For a closer look at the events that transpired you can search twitter for #devdaydc. You can find my slides on RCov and the Ruby 1.9 changes here.

Castronaut Updates - Version 0.7.5 Released

| Comments

Castronaut has had some much needed lovin applied to it. I have updated the test suite to work with the latest version of RSpec. The test suite is happy again and all of the deprication warnings left over from the Sinatra upgrade are now resolved. The gemspec has been cleaned to remove some unnecessary files and an XSS bug has been fixed that was present on the login page. Just a reminder that issue tracking has been switched to Github Issues, so if you encounter any problems please post them over at

Laziness, I Haz It

| Comments

It’s been a while since I posted anything at all. I apologize for all the radio silence, and hope to do better from now on. In all of my laziness over the past few months I decided to move by blog over to github and take the github pages way out. This is going to make things much simpler to manage, since I use the incredibly awesome Github to manage my code I thought it would be best just to keep things all in the same place.

I do have some cool new stuff in the works, so stay tuned for updates on my recent talks, ideas, and open source projects.

Tarantula Released

| Comments

Jason did some great work today testing and cleaning up some of the rough edges with Tarantula. A new version has been released and it’s now getting ever so close to hitting 1.0. You can install the gem from github via

% gem install relevance-tarantula --source

As always, if you find any bugs or are having trouble with Tarantula you can report them at the Tarantula Lighthouse.

Windy City Rails Wrap-up

| Comments

Saturday’s Windy City Rails event was great! There were some great talks and good conversation. I would like to thank Chicago Ruby along with the conference organizers who made all of this possible.

You can download slides for my Sleight of Hand and my Security talk in the previous links.

Speaking at Windy City Rails

| Comments

I just got word from the tribal council at the Windy City Rails conference that they have accepted two of my proposals. I will be giving my RailsConf 2008 talk “De-Railing: Smashing the Rails Stack” along with “Sleight of Hand for the Ruby Man”. The De-Railing talk is a security focused session on steps to take to ensure that your Rails application has what it needs to keep data safe from attackers. The Sleight of Hand talk is a session on metaprogramming tips, tricks, and pitfalls with Ruby and with Rails. Stay tuned for more info closer to the September 20th conference date.