Refactoring Joomla!

Hello, I’m Nicholas. Most of you know me as the author of popular components like Akeeba Backup and Admin Tools. Some of you know me as a frequent code contributor to Joomla!. I’m very outspoken to the point that people think I’m an asshole. Most likely I am. I was working as a business consultant long before I turned to full time software development and, as you know, business consultants are always seen as assholes, usually ranking lower in being well-liked than accounting and legal departments. But you know what else business consultants do besides being assholes? They know how to make an organisation do more with the same people (or even less, which is why people think we are assholes). So there you have it, I was refactoring businesses before I got to refactoring code. This is my take on refactoring Joomla!’s organisation structure. It’s a long read, ideal for a Sunday morning.

Read more “Refactoring Joomla!”

Apache, MySQL, PHP server on Mac OS X with multiple, simultaneous PHP versions

My last week’s blog post on running Apache, MySQL, PHP server on Windows with multiple, simultaneous PHP versions seems to have been a smash hit. This week we’ll be doing the same thing on Mac OS X. For those of you who didn’t click the link, I decided it would be a cool, geeky project to implement an Apache-MySQL-PHP web server without using a pre-packaged server like MAMP or Zend Server. My goal was to have the same sites run under different versions of PHP by just visiting a different URL on my browser. This makes cross-PHP testing of sites a piece of cake.

Read more “Apache, MySQL, PHP server on Mac OS X with multiple, simultaneous PHP versions”

Apache, MySQL, PHP server on Windows with multiple, simultaneous PHP versions

I just bought an Intel NUC (Next Unit of Computing) mini-PC to serve as my secondary, Windows-powered development machine (the primary is an Apple Mac Mini). I decided it would be a fun* weekend project to implement an Apache-MySQL-PHP web server without using a pre-packaged server like XAMPP, WAMPServer etc. My goal was to have the same sites run under different versions of PHP by just visiting a different URL on my browser.

* for extremely geek values of “fun”

Read more “Apache, MySQL, PHP server on Windows with multiple, simultaneous PHP versions”

The interesting effects of losing a pro bono job

I’m quite sure that most of you wouldn’t bat an eyelid on losing a pro bono job. You proposed to do some work for free, the other party didn’t agree for some odd reason, less work for you, end of story. But once in a while there’s a lesson to be had from such an experience, leading to interesting ripple effects. For example, a Joomla! guy ended up with a WordPress blog. Intrigued?

Read more “The interesting effects of losing a pro bono job”

The invasion of small form factor computers

Tablets, laptops and the like are great and convenient, but they don’t make much sense for certain needs. Think about media servers / players, home and small office servers (from a simple NAS to special purpose servers), or even educational / kid computers to hook up on the living room’s TV set to save some space and help parents monitor their kid’s activity. These use cases call for small, power-efficient yet powerful and easy to use computers. Over the last few years it has become increasingly easier to get such a machine. In this short article I am going to present the three small form factor computers which have won my heart and a permanent place in my home office.

Read more “The invasion of small form factor computers”

Joomla! 3.2 – Two Factor Authentication for Developers

Joomla! 3.2 includes an abundance of new features appealing to end users and developers alike. One of these new features is two factor authentication. In this tutorial you will learn what two factor authentication is and how you can use it in your components to enhance the security of potentially dangerous or important operations, just like most banks do.

Read more “Joomla! 3.2 – Two Factor Authentication for Developers”

Enabling XDebug on Zend Server on Mac OS X

As I’ve said many times, I am an avid user of Zend Server for local development on my Mac. It has pretty much everything you need, including a simple to use back-end for viewing issues occuring on your server which make debugging easier. Well, on the debugging front it has a major shortcoming: it comes with Zend Debugger which only works with the very expensive Zend Studio IDE. All other IDEs (Eclipse, NetBeans, phpStorm, …) only provide support for XDebug. Every time I update Zend Server I have to install and enable XDebug instead of Zend Debugger. It’s easy and will help you debugging your PHP applications easily on your local environment. This article describes how to do it.

Read more “Enabling XDebug on Zend Server on Mac OS X”

Flicking the wrong switch

As a Joomla! developer I often find myself providing support to users of my software. Sometimes, despite my best intentions, I hit a stone wall: a server setting is amiss. In this case I explain to my users what the problem is and ask them to contact their host to rectify it. One of the most irritating situations I’ve found myself dealing with is when a host replies “we can’t do this for security reasons”. I would generally accept that, if only the host actually knew what they’re talking about. And, yes, I am specifically talking about the fopen URL wrappers and the fact that they are stupidly disabled on many hosts.

Read more “Flicking the wrong switch”