Monthly ArchiveMarch 2009



Ruby 27 Mar 2009 05:57 pm

Ruby script to unconvert parameterised SQL

I have some Ruby script for you today.  It takes a parameterised SQL statement and converts it back to a form you can dump into your SQL console/administrator/console and run.

While the logic of the script is reasonably solid, you may need to tweak it slightly depending on the number of spaces/brackets/commas/etc in your sql statements.
Continue Reading »

Habanero 06 Mar 2009 11:00 am

Guji in Habanero Land #1: The Use Case Manager

Hi I’m Deerasha more commonly known as Dee or, if you work at Chillisoft, Guji Dev.
Having recently graduated from university I’ve been thrust into the weird wonderful crazy world of custom enterprise software development. You can tell I have little idea of what I’m in for; I can’t even settle on an adjective to describe it.

While wading through a number of books and articles that are required reading for the field, I fell into my first project. Quite a disorienting experience, since commercial software development is so far flung from the cushy university purview. Suddenly terms like ‘Test Driven Development’, ‘Domain Driven Design’, ‘Habanero Enterprise Application Framework’, ‘Business Object Layer’, ‘Agile Software Development’ and ‘Inversion of Control’ began bouncing around in my head.


Continue Reading »

C# & Databases 04 Mar 2009 01:05 pm

MySQL DATE_FORMAT results in System.Byte[]

This problem comes up in certain circumstances where you use DATE_FORMAT in your sql query and use the output in your C# code.  The problem is that a byte array is returned and a ToString on that value will result in “System.Byte[]“.
Continue Reading »

Humour 03 Mar 2009 06:01 pm

Hudson Leaderboard: The new conspiracy

Industry best practice asserts that a development house should have all its projects compiling on a build server.  The advantages are clear.  Firstly, you ensure that your project doesn’t have dependencies that are usually only found on a developer’s PC, such as Active Reports DLLs referenced from the GAC.  Secondly, you can detect problems in a dependency chain.  For instance, with our development of the Habanero framework, we can check whether changes in Habanero trigger compile and test failures in client projects built on the framework.  This picks up errors in Habanero thinking way before the changes become concrete.

Lastly, a build server puts your work out on public display.  You march in for the morning meeting and the project manager adopts his best Stalinist look and growls: “The Squeaky Wheels Management System is failing on the build server.  What in flying peaches is going on?”  When the laughter and booing are over, the truth is you’ve been shown up for submitting a system to the repository that has failing tests.
Continue Reading »