Reinventing the Wheel
and the Inception of a Blog
There are numerous feature-rich Blog Engines and Content Management Systems (CMS) available online, and like the best things in life, many of these are completely free. But I still decided to build my own!
Rolling my own, while there are so many good ones freely available may seem like a waste of time, but I thought as a developer who’s just entering the wonderful world of Ruby and Open Source software, this would be a great learning exercise. What better way to learn something than going out in the wild and tackling the beast yourself? Besides, since this is only for personal blogging, it doesn’t really need to have all the bells and whistles that many of those readily available systems come with. It just has to be neat and follow a consistent style. How hard can that be?
I set out to reinvent the wheel, not boil the ocean!
Turns out, its not exactly as easy as I thought it’d be. Primarily because there are a lot of choices I had to make that I didn't see in the beginning (does this scenario seem familiar, or is it just me?) --- more on this on my next post. There's also a lot of learning I had to do along the way. Many developers I know have the amazing ability of learning by doing. But I must admit that I have a serious handicap --- I just can’t dive in to something without first reading a lot about it, and I’m not a fast reader either!
The other motivation for doing this on my own is my newfound interest in design and typography. I needed a project simple enough that I could finish in a reasonable amount of time (outside of my day job!), and yet interesting enough to provide me with a fair amount of learning opportunity in the areas that I'm interested in.
Last year (2012) I’ve read Etahn Marcotte's seminal book ‘Responsive Web Design’ which started the whole RWD revolution for web development. I’ve also read a number of other books, including several dozen articles on the subject. The proliferation of web enabled devices pretty much mandates that most, if not all, new websites need to be responsive --- that automatically adjusts to a device's size or orientation to ensure best possible experience for the user. (Whether there's still a need for device-specific design, is by the way also a topic of raging discussions these days). So I built the first iteration of my blog engine following Etahn’s book. However, later I rewrote it using Zurb Foundation grid system. This was primarily because of the numerous other features besides responsiveness Foundation offers that make life a lot easier. Hey, I set out to reinvent the wheel, not boil the ocean!
By the way, there's no shortage of CSS front end frameworks --- there are literally dozens of them. You can see a sample list here. I seriously considered using Twitter Bootstrap. But eventually decided to go with Foundation, which is used by sites that include Pixar, Los Alamos, National Geographic, etc. Bootstrap is a little too twitteresque, if you will --- it is mostly easy to tell if a site uses Bootstrap. But the major factor for me was the fact that Twitter uses LESS, whereas Foundation uses SASS (which I prefer). You'll find a good discussion/comparison of these two popular frameworks here.
It is a journal of my journey in to my passion.
The tool I ended up adding to my toolbox was Adobe Creative Suite 6 (CS6), which has a steep learning curve. But its a lot of fun too! Of the nine awesome tools the Design and Web Premium flavor of CS6 includes, Photoshop and Illustrator are of primary interest to me. Dreamweaver is also quite popular, but I chose not to use it as it lacked support for Haml and Sass. At least that was the case when I purchased the software. By the time you read this Adobe will have replaced CS6 with Adobe Creative Cloud (CC).
Having come from the .net desktop development environment (C#, WPF etc.), this was a whole lot of learning for me!
The toolset I chose to use, hopefully will allow me to create not only websites, but also complex web applications in the future, when needed.
Even though the blog is intended to be primarily on software design & development (and science too), I may occasionally write on different topics of interest to me. It remains to be seen where this blog eventually takes me. I'm hoping It'll remain a journal of my journey in to my passion --- science & software development.
I will appreciate it very much, if you give me some feedback on what you think of the site. If there are aspects you don't like, please let me know why, so I can make it better in future. Feel free to be honest. I won't be offended. Promise.
Thanks for visiting.
Rolling Your Own Blog Engine
Written in 2006. But still interesting.