Building notes, projects, and ocasional rants


last update:

When to upgrade to Snow Leopard

This are the rules I use to do the upgrades between major versions of Mac OS X. You upgrade when: you have half-day of free time to do a clean install;all your must-have apps support the new version;any of your must-have apps requires the new version.I usually wait until the last item is true before doing the upgrade.

Template systems

I have a love/hate relationship with Template systems for quite some time. The following is a brain-dump about where I stand right now regarding which system to use in the E5 project. When I started using them at work (circa 1998 or 99) the goal was simple: separate programmers logic from the layout so that designers can tweak the templates without breaking the code. It was a simple and very worthwhile goal.


A beginning is the time for taking the most delicate care that the balances are correct. from Manual of Muad'Dib by the Princess Irulan extracted from Dune, by Frank Herbert In the next weeks I'll be publishing a series of articles about a new project that I'm starting. Actually, I started this project once already, but I didn't like the path it was taking, so I'm restarting it. The new system will replace the current EVOLUI.

Perfect day for walking

Today the sky was blue, without a single cloud. The kind of day that turns this little town into a small oven. But at the place where I usually do my mid-day walk, near the see, there was a strong wind, blowing from north-west. Just perfect to stretch the legs, listening to some music. Must find some time to go back there today.

It lives...

The biggest advantage of having my own business with my wife, and having a site that uses laziness as a design principle (everything should be automated) is the possibility of taking about 8 weeks of cool-down time with the kids. Thats what just happened around here, and I'm slowly returning to work.


Excellent article about Parrot, by Allison Randal. Parrot’s record for a language implementation was a conference session where the speaker implemented the basics of the LOLCODE language from scratch as a live demonstration. It was a 5-minute lighting talk. I have to get the time to implement a DSL for something on top of Parrot, to see how it works. Right now I only compile Parrot to run Rakudo.

Where to put you validation

Yesterday I saw a question by fREW Schmidt regarding where to place the validation code in your apps. I made a mental note to answer it, but as most of my mental notes, it was quickly forgotten. Today, a new article describes the answer he got. In the end he decided to put the validation inside the model. I can only say: good for you. But one of the reasons against the validation-inside-the-model that he received baffled me: Models don’t know about the current user (or other higher level information).

Hardware relax

I like to tinker with hardware, specially old servers. I spent an hour upgrading our office server this morning. In a world of Ghz speeds, be prepared to slow down a little. The server was a dual-pIII (yes, Pentium III, Katmai generation) at 450Mhz (yes, mega) with 512Mb RAM (at 100Mhz, in 4 DIMMs). The upgrade replaced the CPUs with a pair of pIII 500Mhz (a 11% increase, not bad), and the memory to 1Gb at 100Mhz.


Another puzzle by the Bram Cohen (the same who created BitTorrent) and Oskar van Deventer: the Geary cube. Some of their previous puzzles are very interesting like the JumblePrism or my two favorites, the RotaCubes and the Bramboules. Oscar van Deventer creates stranger things: the WimTvane or the Topsy Turvy are just two examples He also has a beautiful adding machine for kids. I like puzzles. Puzzles good.

PGP WDE update

I mentioned last week that I had started using PGP Whole Disk Encryption on my laptop (a first generation MacBook Pro 17" btw, it has a 32bit 2.16Ghz Core Duo with 2Gb RAM). I encrypted the external FW800 500Gb hard disk that I use exclusively for Time Machine last night. It took about 8 hours. So far so good. When I connect it to my mac, a PGP WDE dialog pop-up shows up, asking me for the correct pass-phrase.