When I decided I should start blogging, I did not think a lot about where my blog should be hosted. Nor the format my posts would be nice to have. I just opened a gedit editor, made myself a warm cup of coffee and started typing my first welcome post. I had already played around with WordPress as a uni student, so it seemed to me like a nice, free place to host my ideas. I created an account, navigated around the GUI for a while, started a post, pasted my text and there it was, my blog was alive!

Later, I discovered Markdown. Writing plain text posts was fine for me at first, but when it was time to upload a web post on WordPress, headers had to be added, links had to target the correct URLs, text should be highlighted, underlined or formatted as code. Not that bad for small posts, but pretty annoying for a lot of lines! Markdown is a fluent way to write well formated posts from the beginning. The syntax is easy and makes writing a smooth experience, that magically produces a nice result.

This way, writing started to feel even better, something between expressing ideas and coding. But coding is inherently accompanied with Best Practices; so could I apply some of them on my writing too? Something every programming project should follow is version control. Code should be under version control in order to keep track of your changes, be able to rollback to a previous state and if a remote repository is available, to access your code from different machines. Something that could be applied to blog posts too. Something that should be applied to blog posts too! And I already had a GitHub account, so, I just copied my files to a GitHub project and cloned them to my laptop.

Now, wouldn’t it be reaaaly cool to be able to integrate GitHub Markdown posts with WordPress? This thought excited me, but I could not find a way to work these things together. But I did find out about GitHub Pages instead; a project that not only hosts a web page of yours for free, but also provides Jekyll, an engine that can use Markdown text as input and generate static html files. All automatically provided by GitHub.

Maybe you think this is way too much for how someone writes his blog, but you shouldn’t. We are software engineers. We used to like solving puzzles and riffles as kids, maths and science during high school, programming in university. Probably, we still like all of them. We now do software programming, read books and have trainings to improve our skills, but it all comes down to one thing in the end: an analytical way of thinking, that breaks a problem down to its parts, evaluate solutions and automate procedures to help us focus on the heart of what we are doing. Besides:

The way you do one thing, is the way you do all things.

This is the first post I am going to publish, since my blog migrated to GitHub Pages this week, and it still feels like magic!