How to Paint Dreamtime Circles: a Journey in Web Technologies

Wordpress

Once upon a time, there was a guy that loved writing.

He loved anything related to writing: languages, alphabets, typefaces and he loved poetry as much as stories and scientific papers. He was into computers for a living and he was spending most of his day writing as well.

So one day he told himself: “I love writing, so why not sharing my passion with others? I could create something and give it to people in addition to rely and enjoy other’s work”.

He loved trees and he was into computers as we said, so the most natural, cheap, and paper-free way for him to start writing was obvious: creating a website.

He started to spend a lot of time to figure out how web development really worked nowadays as he hadn’t been writing that kind of things for a while, and he found out that things had changed but not so much after all! He discovered modern CSS, Responsive and Mobile-friendly Web Design (he liked mobiles as he had bought a smartphone after his glorious Sony Ericsson passed away and he immediately felt like those devices were actually the real personal computers), HTML5, modern JavaScript with jQuery great OpenSource CMSs and the plethora of options he had.

Being a picky computer guy, he wanted a very effective and flexible technology under the cover and a very personal design for both the engine and the looks. After the first explorations he felt overcome by the complexity of the topic and the stunning number of options and he started to think that mastering the big tools like the OSS CMSs would have taken forever, especially to have them do exactly what he wanted… So he started to think that it was perhaps better to take the chance of building a simple and static website from scratch. In this way he he could also learn the basics and refresh his technical skills.

He started to read about HTML, CSS, web design techniques and nice high-level compilers, libraries and tools for these web languages like SASS, Compass, Less and Jade.

Of course, being a computer guy, he realized that having some server-side component sitting there and storing content for him would have been a very useful thing. That was the reason CMSs existed after all… He had a few interesting ideas on that topic too, so he started to think about building a CMS as well, maybe with Clojure

Some of his friends and colleagues had a website or a blog already, and he realized that they were filled with so many useful functions he wanted so badly… But he was still learning the basics by head-banging and experimenting very hard. It would have taken forever just to build a static website from scratch, let alone adding the fancy functions or building a CMS to manage it in a sustainable fashion…

So he thought: “Well… Done is better than perfect after all. I could still improve later on”. He chose WordPress because of the amount and quality of free plugins and themes, its community and documentation, its books and because he liked a lot the looks and usability of the admin and of the project overall (although he had discovered that Drupal seems to be better thought out for advanced multilingualism, one thing he was looking for, and more versatile for an hacking addict; for example its SOA layer seems to be great, to the extent that there is a dedicated book on it).

Google Analytics, spam protection, user interface translation, multi-site (for multilingualism for example), sitemaps, SEO, automatic backups, Varnish-integrated caching, WYSIWYG pages and posts editing were completely free and integrated thanks to great people around the world.

For a small compromise (a free subscription to wordpress.com and some trust in its services scalability) he could also activate the JetPack and get email subscription, social sharing, social-integrated comments, gravatar hover cards, fancy and flexible contact forms, twitter updates and RSS sections and a JSON ReST API (handy but overall not as well-designed as Drupal’s though).

He could also start to build his personal design from a wonderfully-looking theme like the free Pinboard theme built on the great Masonry jQuery plugin by using the child themes feature, some ideas and original artwork and some web hacking expertise.

He did want full control over the box that would serve his website though; he wanted to try out NGINX as a web server instead of Apache because, thanks to its asynchronous engine, it can brilliantly work around the C10k problem and use much less memory (but it was also a gratitude choice because NGINX had saved many times their DevOps butts at work with high-scalability and rewrite quirks).

…And he didn’t want to spend a buck of course, either :D So having a web server that could run on a small machine was important.

He fount out that people around had similar ideas and needs, for example using the Amazon Web Services EC2 free-tier for hosting and using NGINX sitting behind a Varnish cache on Ubuntu Linux to serve PHP and WordPress (by the way, Ubuntu Linux is a great OS and I really hope they can soon close their #1 bug ;) ).

Finally GoDaddy provided cheap DNS with privacy protection.

So… A few hacking days and nights and here’s Dreamtime Stories up & running, for your reading pleasure :)

Leave a Reply