Archive for May, 2008

Last night I took one for the team and took the boys to see Speed Racer so my wife wouldn’t have to.

Ouch.

This is the second worst movie I can remember seeing — the first being “Baby Geniuses 2: Superbabies”.  It looked like a big box of crayons threw up on the screen.  Or maybe it was like being in a cement mixer with 800 tons of fireworks.  It was horrifyingly colorful, frenetic, loud, hyper, and just plain dumb.  The movie isn’t so much presented as inflicted.  Hard to believe that John Goodman, Susan Sarandon, and Christina Ricci, all fine actors, would stoop to this.  I certainly hope they were paid well.

Comments No Comments »

Andy Glover at Stelligent has posted a useful article on his company’s blog about using Subversion at the command line. Most people never really learn to use the Subversion commands because the graphical tools are usually so good that 95% or more of what we need to do can be done from within the IDE with a click or two. Andy goes into some detail about what goes on under the covers and how you can harness some of that power in the raw.  Click here to read it.

Comments No Comments »

I watched Gone Baby Gone over the weekend. Boy am I glad my wife didn’t watch it with me.

See, my wife really only likes light romantic comedies (think Meg Ryan).  This movie is anything but light.  A Boston white trash mother ’s 4 year old daughter is abducted, and Casey Affleck and Michelle Monaghan, a shacking-up couple of private detectives, are hired by the mother’s sister-in-law (and brother) to find her.

Read the rest of this entry »

Comments No Comments »

I needed an application, available to my entire development team, to provide RSS feeds for commit activity in our Subversion repository. I found a couple of items that looked reasonable, but they required scripting languages I could not use in my environment - I needed a Java-based solution.

So I decided to write it.

To access Subversion, I used SVNKit, an all-java library for SVN access. To create the RSS feed file (which is just an XML file) I used JDOM, my favorite XML handling library.

To deploy it, just deploy the WAR File to your Servlet container. SvnRss web archive (WAR file)

To use it, hit the app, passing the SVN url as a query parameter (if your aggregator gives you trouble, try URL encoding it). If you need to authenticate to access the repository, specify uid=yourusername and pwd=password as query parameters as well. By default, the feed includes the last 100 revisions, but you can override this with the numRevisions=nn query parameter.

Example invocations:

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk&uid=kescobar&pwd=whatsamanmonth

http://yourserver/SvnRss/SvnRssServlet?svnUrl=svn://yourrepository:1230/java/trunk&numRevisions=25

The source code (in an Eclipse project) is also available. SvnRss source code (Zip file)

Comments 6 Comments »

You know how there are “man crushes” and “girl crushes?”  I’ve got a serious code crush on Hudson.  My latest manifestation of this infatuation with this wonderful tool is that I have convinced my co-workers in a vastly C#/ASP.NET shop to stop using CruiseControl.net and Visual Source Safe and to switch to Hudson and Subversion.

This group used to have a huge, single, magic NAnt script that would check one of six projects out of VSS based on parameters sent in, build the project, and publish it to a development server.  Now, Hudson does the checkout from Subversion and the deployment, and the NAnt script just calls MSBuild or zips things up into deployable units.  Next we are going to hook in FXCop to do static code analysis on their stuff and have the problems reported and graphed using the violations plugin (which also reports our Checkstyle and PMD violations on the Java side), and show trends for their NUnit tests.

And the really nice thing is that everyone can use one dashboard to view both the Java and the .NET development efforts.  Great for transparency and accountability.

Comments 1 Comment »