A DRY link and some site notes

Published in Web Development on Wednesday, November 15th, 2006

A cool link for we programming types and a few notes about some future posts here on Fiftyfoureleven and a possible redesign.

I've recently finished a new iteration - version - of our CMS. It was a fun experience because I wrote it after returning from a two week vacation, which meant that I had some time to let ideas percolate in my head, and that I was quite motivated when I sat down to code.

One thing that I have done with this iteration was focus on setting some real constraints and using the DRY principle to my advantage whenever I could.

And here is that cool link I promised above. Found in amongst the interviews posted on Artima.com is Orthogonality and the DRY Principle, A Conversation with Andy Hunt and Dave Thomas (Andy Hunt and Dave Thomas are the Pragmatic Programmers). It is a short yet profound read, but as I coded I continually came back to this bit to keep myself on track:

DRY says that every piece of system knowledge should have one authoritative, unambiguous representation. Every piece of knowledge in the development of something should have a single representation. A system's knowledge is far broader than just its code. It refers to database schemas, test plans, the build system, even documentation.

It's not that I wasn't using elements of DRY ideas in the past, but by combing thru my libraries actively looking at it with Orthogonality and DRY in my head, I was able to greatly reduce the amount of functions and lines of code that we use. One must keep these ideas strong in their head so as not to give in to the dark side :-)

Site Notes

I thought I would take a moment to mention two things:

Comments and Feedback

The DRY Principle reminds me a bit of my first serious foray into databases. I had a great instructor who used to chant this:

Normalize until it hurts and then de-normalize until it works.

Heeey Simon! Thanks for that, I'm sure that will be going thru my head all weekend :-)

Check out the blog categories for older content