New programming techniques in my daily workflow

While my main hobby in my private life is photography, I earn my living through programming websites. Since moving to !frappant back in April last year – has it really been a year already?! – I’ve been striving to learn as many new techniques as possible.

It’s been a particular goal to get out of the technical lull which came about due to an excess of concept work and a lack of programming at B-M, and I’ve already found that the long hours I put in last year – in particular for the Bike To Work project, which is currently running at full pelt – have paid off. I’m up to speed with TYPO3 development, although upcoming newer versions and new core concepts are going to mean more time re-learning the basics. That’s one of the great things about the job though; you’re never “done”, there are always new things just around the corner.

Two developments I’m particularly pleased to have achieved are in the area of class work – with a particular regard to PHP both for TYPO3 and WordPress – and truly OOP-based Javascript coding. Through using class extenders and the MVC model, I’ve bee able to re-code a lot of PHP functions for client and private solutions over the past couple of weeks, reducing code duplication and improving both efficiency and legibility. This will have a massive payoff both for myself and for those in the team for whom I’m laying the groundwork.

In private, I’ve also spent some time getting to grips with localized web development – specifically the implementation of VirtualHosts on a local OS X machine, set up and managed with the help of MAMP. This means that I now have a development version of permanenttourist.ch running on my own laptop, so that I can finally get around to optimizing my own custom WordPress functions and plugins without having to hack around on the live website. A secondary benefit to this development are that I can finally get around to re-coding the HTML and CSS using a “Mobile First” principle. This will mean that I can do away with a third party plugin to produce the version of the site which visitors with smartphones and tablets see, and vastly improve the branding and look of the mobile versions.

And finally, all of this development and new stuff needs some proper version management: something I’ve been lax with despite the fact that I’ve been programming since the 1980s and making websites since the mid 1990s. To that end, I’ve finally bitten the bullet and joined the masses of users at GitHub, into which I will be “pushing” and managing both private development projects and publically accessible plugins, classes, snippets and template helpers. I’ve only shared a few basic examples so far, to help me get used to the idea and processes involved, but please feel free to connect at https://github.com/permanenttourist if that’s your kind of thing.