about 9 years ago
Writing your own blog software is an ideal first exercise when faced with learning a new web platform.
There are a ton of blogging engines out there, almost all of them support more features than this blog engine.
So here are some of the reasons I decided to write my own blog engine.
It's a great learning experience
This is one of my main reasons I went ahead and wrote this blog engine. A blog engine is a great first project in Ruby on Rails. I got a crash course in CSS, Rails and Ruby. There are a lot of concepts which I learned that can easily be applied to other web projects I'll have in the future. You can read all the books in the world, the only way you really learn is by doing.
Sure, there are lots of blog engines out there, and lots of them are open source. However, if you write your own blog engine you know exactly where everything is and how it all works. Making changes to the engine becomes a trivial task.
My blog, my design
I now have a nice public example of my work. This is handy for job interviews.
An example of something that I am proud of is my security design for the blog.
I use a white list to specify which controllers actions are accessible by the public. My white list lives in one file and in one place. This allows me to follow the RESTful design principles and have a simple security model at the same time.
A great platform for experimenting
I now have a public Rails site that I can chuck various ideas on and easily make public. If I want to experiment with a new way of presenting my del.icio.us bookmarks, or a new way of presenting my posts. I can do it. I am not limited in any way by any plugin model.