Managing wordpress: Automated deployments with wp_deploy

Automation image

I’ve been recently looking to improve the way in which I manage updates for the blog. In fact it was something long overdue, that I wanted to do months ago, but it wasn’t until last month that I decided to move away from Linode and into OVH, the reason being purely the competitive price offered, with the guarantee that the quality will be the same (this, thanks mostly to some peers that have been on it for quite some time now).

I took that chance to start looking more in detail into some of the Continuous Integration and Continuous Delivery aspects that I’ve been working with for about the last 5 years in my last team. In regards to maintaining the blog, I was mostly looking for a safe and automated way to be able to push codebase and database updates to the blog, from the comfort of my command line, without having to SSH into a server in order to pull code changes, grab backups manually before a deploy, deploy database updates, etc. Continue reading

The Time Keeper App

time keeper app - main screen

The main screen of Time Keeper

A few weeks ago I published the first version of Time Keeper for OSX, a time tracking desktop application written in Vanilla JavaScript. Yes, a desktop application written in Vanilla JavaScript is actually possible these days!

I chose to write it in JavaScript because building a desktop application was not the goal. The goal was to build an actual JavaScript application that I could make use of, on a daily basis. The fact that I wrote it as a desktop application was purely incidental to the fact that I had discovered NW.js (previously known as node-webkit) a few months before I started to write it. Without getting into any details about NW.js, let’s say that it allows you to write create desktop applications written in JavaScript, making use of Node.js modules, and calling them from the DOM of your application, just like in a web browser.

Continue reading

Some thoughts on my favourite quotes of “The Clean Coder”

Last week I finished Robert C.Martin’s The Clean Coder: A Code of Conduct for Professional Programmers. It had been on my shelf for a year and a half, and last year I even started it and got halfway through it, but ended up forgetting it for some time. Until last month, when I decided to start it again, but this time, going cover to cover.

Chances are that you’ve come across it before, at least once. If you haven’t, then I’m happy you’re reading this post now. If you have, but it didn’t arouse an interest in you, then let this post serve as a reminder to you, software developer, that it is probably one of the few must-read books that you need to read. You might not agree 100% with everything that is said in the book, although you’ll probably agree with a big chunk of it, and if you’re like me, you’ll realise about things that you never thought of before, and you’ll find some other aspects of your job where you can still improve. One way or the other, I can’t recommend it enough.

With most books (technical ones, at least), I like to do a quick recap of the things that I liked most, or that caught my eye for some reason. I won’t do a review of this book, but I wanted to list here some of the quotes that I found more interesting. Not because they looked very poetic but because of the principles and attitudes they show towards the software development profession. So, let’s get straight into it.

Excerpt from the preface. On political pressure and experts’ advice:

Despite all the protest and memos, and urgings of the engineers, the managers believed they knew better. They thought the engineers were overreacting. They didn’t trust the engineers’ data or their conclusions. They launched because they were under immense financial and political pressure. They hoped everything would be just fine.

Continue reading