Chris' Brain, X-Mas 2008 Edition post
As a guy who gets so much out of open source software, I thought that this Christmas season is a good time for me to give something back to all of you out there and share with you some of the things I've been thinking about. Notice that many of these things are not PHP related...
Rails and Merb merge
Much to surprise of many, egos have been pushed aside and Rails and Merb are merging to create Rails 3. It's not very often I read something online and unleash a string of astonished obscenities, but this announcement absolutely stunned me.
If I ever went back into the land of Ruby again, Merb was going to be the framework I was going to use. But since I'm not going that way, it's really a moot point. Rails can only get better by not only integrating stuff from Merb into it but also taking to heart the modular nature of Merb itself.
Perhaps this is yet another watershed moment in the evolution of frameworks. As much as I am a full-stack guy, I am seeing the advantage to having a framework that has a very tight core, and lots of modules that you can add-on to it. Django has this to a certain extent, but it also has a lot in the core.
I've been spending time at work trying to figure out workflows that fit in with my development style. I found this very innovative web-focused workflow that uses Git. The thing that I find intriguing is that it allows you to make edits on the production side, and those changes get propagated to where they need to go. Even though I think that doing edits on the production side of things is usually a Very Bad Idea, but that might be a product of my experience with one-way deployment of code from dev->staging->production.
Master your Editor
Now that my waffling is over and I only use MacVim as my primary editor, I am now embarking on the journey from beginning user to vim power user. Thanks to posts like this one from a series on Vim plugins you should know about, I can customize my programming environment to be the way *I* want. No matter what editor you use, take the time to learn it's features and you will surely discover ways to become more productive.
Design your site from front to back
Ever tried to design a site based off a text description from the client / boss / whatever? You are doomed to failure. Instead, I have started insisting on taking things in the other direction and designing from front to back. Tools like Balsamiq Mockups are indispensable to make this happen. In truth the tool doesn't matter. What matters is that you have a way to draw rough designs for your site and then build it from the interface on back. For a guy who has very little design talent, this makes total sense to me. I have two side projects that currently exist ONLY as interface sketches. And I think that is a good thing.
Any way, that's it for now. Have a good holiday season I will be posting again next week with the next installment in my "refactoring with CakePHP" series, this time about the rearranging of business logic and display logic.