Reboot for Personal Web Site
October 19, 2009
My first real attempt at designing a website was when I was in school. Ever since I have this bad habit of making layouts one after another but never actually maintaining the web site. It's a shame that I have never maintained an online presence for longer than 2 months. It's a wrong that needs to be made right.
Introducing a work in progress
I decided to let go of trying to finalize the design and back–end. Instead I am going to start off with what you see in front of you. As and when time permits and ideas come to me I will change things.
The idea behind this decision is to make sure that I don't over do the layout or back–end and then get bored of it all and redo the whole process again. I will instead try and focus on writing frequently enough.
Goodbye Wordpress
After using Wordpress — a fabulous blogging software — for over 2 years, I have decided to use build something simpler and featureless. I was also interested in trying a new programming language and I had my eyes on Ruby. But I didn't want to use Rails for my personal web site, because, somehow it felt a bit too much for a personal website.
Luckily I found Sinatra, a beautiful micro–framework for Ruby. It provides you with the bare minimum required to build small web applications but is also flexible enough to build medium and large scale applications.
It's been a joy using Ruby — the little that I have used so far. The language is very expressive and I plan on using more of Ruby (and also Rails) in the future.
Goodbye database and web based editor
I also decided not to use a database for storing the articles. Using a relational database for storing articles is not very convenient. But instead of using a schema–less database like Couchdb I decided to simply store the articles in files.
I write the articles in markdown and have them automagically converted to HTML. Writing articles in markdown also allows me to use my favorite editor — Gedit. I can also use pyroom that allows me to write like Doogie Howser.
Goodbye Internet Explorer 6
I have also decided to not support — at least not intentionally — Microsoft Internet Explorer 6. It is a very old browser and lacks even the simplest of web standards. I don't intend on including ugly hacks to support a defunct browser. If you are using this browser I urge you to upgrade to the latest version of Internet Explorer or try Firefox(my choice), Safari, Opera or Chrome. All of these have better support for web standards and are also more secure.
Goodbye Photoshop
I always wanted to build a web site that looked decent enough without using Adobe Photoshop or any graphics(images) for the layout. I have used simple text for the logo, menu and headlines. Although you're mileage may vary depending on the availability of the 3 fonts — Georgia, Palatino & Verdana — used in the layout. If you are using Windows XP then the fonts will appear to be rugged. This is because Windows XP is an 8 year old operating system and has ClearType (font smoothening) switched off by default. Even if you do switch it on the appearance may not be as pleasant as Ubuntu or Mac OS X. I have not tested the site on Windows Vista or Windows 7 at the time of writing.
Goodbye FTP
I use Git for source control — again something new I have started using. I have used SVN before for my final year project, therefore source control was not something new to me. But Git does really take source control to a different level. Branch, pull, push & fork. That is what Git is all about. Well at least the basic usage anyways.
It would be awesome to deploy a site by using the command line using Git. If only a web host would allow me to do it. Well that is exactly what Heroku allows. You can actually deploy your web application using the command line. I can't explain how awesome this feature is compared to using FTP.
You can achieve the same by setting up post-commit hooks and surely other web hosts also provide similar solutions
Concluding thoughts
It was fun to create a web site layout without graphics, relying only on CSS. I have also learned a lot about typography, although, I do have a lot more to learn. After trying out Ruby I have become very fond of it. I have to thank Ben for encouraging me to give it a go.
I have migrated 3 articles from my previous blog. Unfortunately I don't plan on allowing comments so soon. Therefore the few precious comments that were associated with those articles are now lost. I plan to make more changes to both the design and back–end but over a period of time. I also want to write at least 2 articles of quality every month. That is the master plan for now. Not much but it will do.