New project (after four long years – it’s a really strange feeling) and a lot of work to be done, so, although there was a lot to write about, there was no time to write.
Quite a few new things came with the new project, mostly centered on a role change from architect/developer to the_guy_who_scripts_everything_to_run_automagically. It means I stopped for the time being writing code in C/C++ and I get to write more Ruby code, so I am happy.
In hindsight, this role change was unavoidable and I have to explain the reasoning:
Modern programmers have the DRY principle: Don’t Repeat Yourself. I call it the I-can’t-be-bothered-to-do-things-twice drive and it stems from a natural aversion to repetitive and boring work.
So I always look for ways and tools to make my computer work instead of me. If I can’t find a tool to do the job, I make one (ever since I learned Ruby it just seems so much easier to do it myself).
rrt_ruby is one such example (although it was also a remedy to having to use abhorrent VB-like scripting in RRT) and is probably the main culprit for landing me in the present project role because what works for sparing me time and repetition, typically works for automating a project’s builds and tests as well.
What have I been doing lately?
- Picked up Python, which I find nice, but not so nice as Ruby.
-
Got Agile Web Development With Rails and re-implemented my Bookcase backend (the first prototype was hacked with Madeleine) using Active Record.
One point for AR is the smoother upgrade path when you start making changes to your schema.
And just like everyone says: Rails is fun. - Discovered Trac (and was glad to at least have learned Python’s syntax as I immediatelly started hacking it) and put it to use.
- Discovered some really nice tricks with subversion, using svn:externals (more on this later).
-
Learned dmake – although I will try to forget about it as soon as possible in case somebody attempts to make me write makefiles.
Make is so unwieldy when compared to Rake or Rant or even when compared to huge Ant files. It is so easy to get lost in the most minimal of makefiles, that the creation of a good makefile (read: undestandable by someone else than the one who wrote it) is a Programming Art.
I humbly submit that it is something I am unable to achieve and have immense respect for whoever manages it. - Submitted a patch for Rake, although I don’t see much hope of getting it approved.
-
Refactored rrt_ruby so that I rejoin the DRY caste.
Looking at Rails (and following the ‘keyword arguments’ discussion in the ruby-talk list) also added one more refactoring target for rrt_ruby, but that is code still living in a branch with little hope of reaching main anytime soon.