Blog Update: Letting My Custom Framework Go and Grabbing One Off the Shelf

While never getting quite as much love as I would have liked to give it, this blog has been here while I recorded my life for the past five years or so.  I started it as an undeclared freshman to graduated electrical engineer, living in four different countries. Something.

And for the first time, I've moved the blog off of a 100% custom hand coded platform and onto a framework.

Why the change?  At the time I wrote the first draft of this site, I didn't actually have that much interest in keeping a blog.  I even registered this domain without having an idea of what I would put on it .  But the reason why I wound up spending hundreds of hours of my time coding this site, probably significantly more time than I've spent writing posts, is just because I wanted to learn.  This blog has always been a platform for me to learn about web development, and the decision to move to Cake PHP continues this.

Years ago I started laying out the site in pure html and css, just to learn the art of hand-writing html.  Yes, some of the earliest posts still on the site I wrote as a plain .html file and updated all forward/back and archive links by hand.  When I got sick of that (quickly) and had html and css down, I started learning server side scripting by writing short helper programs to automate some stuff for me.  There was a time when this site consisted of reusable layout in separate .html files, posts in .txt files, and everything was tied together by a couple perl scripts.  When I understood CGI scripts and these smaller bits of code, I moved on to writing a complete, though limited, PHP framework for the site.  This is still visible in the history of the site's github page.  While working with Ruby on Rails and other commercial frameworks for more serious projects, thanks to this blog I could say that I not only understood how to use the framework, but how the framework actually does everything it does.  Understanding this, I knew that I could never fully rewrite the code written and maintained by the huge communities surrounding these frameworks.  I knew that I understood the roots of these huge projects however, and I accepted that it was time to leave my old methods behind again.

Leaving behind an old piece of a project that I've worked so hard on is never easy, but it makes perfect sense following my original reason for creating the blog.  I want to use it as a platform to learn, and now I can easily say that my time is better spent learning the huge scope and industry trends and norms that I can from a commercial framework than it is rewriting and revising low level functions that someone else has done better many times before.  I have always been a low level, from scratch type of programmer by nature, which is probably why I chose to study electrical engineering.  Even though a lot of web development is more on the human side than the silicon and bits side, I can say that I understand much more of what's in between thanks to this blog.