Marty Andrews

artful code

Sunday, August 23, 2009

Roodi 2.0.0 released

Roodi stands for Ruby Object Oriented Design Inferometer. It parses your Ruby code and warns you about design issues you have based on the checks that is has configured.

Changes in 2.0.0:

  • Changed internal structure to use a design much more like a visitor pattern.
  • Got *much* faster as a result of the change.
  • Design change fixed 'feature' where nested blocks would all get listed if the inner one exceeded complexity.
  • Outline for NPath complexity check is now possible. Not working yet though.
  • Removed dependency on facets library.

Saturday, August 15, 2009

GreenScreen - a build monitor BVC

I've just released GreenScreen. It's a build monitor that aggregates feeds from your build server and publishes them as large as it can on a web page. The idea is that you can set up a monitor somewhere in your workspace running GreenScreen so that everyone can see the current status of the build all the time.

Other tools like CCMenu and CCTray exist so that people can see the current status on their local computers, and they are absolutely useful. Having something in your workspace that is visible to *anyone* that happens to walk past has some powerful implications though. Many teams actually use a build light or lava lamps that change colour when builds pass or break. GreenScreen is a software based equivalent that you can use on any spare computer.

A widely visible build status means the team is completely transparent all of the time to anyone who can see it. For teams I've coached in recent times, managers, project stakeholders and regular visitors would often ask what the monitor meant, and quickly learnt to ask what was wrong if builds were red. It gave the team a strong sense of commitment to keep the build passing.

I hope you find it useful. Have a look at the pics below for some examples of what GreenScreen looks like for projects with various numbers of builds:

A single project A few projects Many projects Lots of projects