Flexible design & CMS
So far I haven't been much into CMS (Content Management System). I like to fully control my designs and I accept the fact that building everything manually takes quite some time. The payoff is that you learn to program in a practical way. Of course this has been possible till now making relatively small websites.
I will definitely post my findings when I get into CMS. Joomla, Drupal, ExpressionEngine it seems the latter gets the best critics according to this comparison.. of course it depends the purpose of the site you are making. Still, there are two drawbacks using a CMS: you import a lot of 3rd hand code that needs regular security updates and secondly design templates might not be that flexible to style/ customize. They say Drupal is hard to customize and even Joomla is called rigid where it concerns templates.
When I will need to make a larger website (including shopping cart) I will start with Joomla (free, abundant info available, good starter guide - see my reading list). ExpressionEngine is not free but it seems very professional and has a strong support.
For smaller sites I will stubbornly stick to manually programming the dynamic aspects with php and mysql (and for 2010 I'll set out to learn what Ruby on Rails has to offer as well!). I think it is important to stick to some best practices independently the tools you design with (list is not complete): 1. use includes to have static data stored in one place (e.g. footer) / 2. use a database to update and present content / 3. use html semantically and separate styles using CSS / 4. don't forget that good content is key and make sure google can find it (SEO)
Happy New Year! Bob