Visits to this blog

Archive for the ‘php’ Category

I’ve created an example usage of the DojoCharting engine, which you can find at http://www.skynet.ie/~sos/pageStats.php. View the source to see how it works.
It’s a modified version of the unit test available with the Dojo toolkit, but used in a specific scenario – in this case, to graph the page impressions for my personal website . The JSON data on the page is dynamically generated by PHP, however all other processing is done in JavaScript.

You can filter the data to show info on any combination of pages, and also use a number of different chart types.

I was asked recently to fix up a small website for some friends, which was hosted on eircom, the Irish national telecoms provider. So, I thought, fine, I need to find out if they support PHP, Java, ASP or even Ruby on Rails, get the development tools, and away I go – right?

Um, no.

It turns out that eircom (note the fact I refuse to capitalise – cheap shot I know, but well deserved) doesn’t support any server side scripting. Nor do they support any kind of backend database. As I found out, the largest telecoms provider in this fair country of mine in firmly stuck back in 1993 with Windows 3.1 and New Kids on the Block.

Plucky, optimistic guy that I am, I decide to not get too annoyed with my countrymen, and instead get an account from GoDaddy (tacky site, but cheap and with very good account management tools), opt for the LAMP stack, and lo and behold, a few days later the site was up and running.

Now all that was left to do was change the index.html file in the old account to do a Javascript redirect to the new, shinier site, so that the sites that had bookmarked the old one would be auto-redirected to the new one.

Not so fast, says eircom! In order to upload files to the eircom FTP server (whenever it’s not crashed and out of service) you first have to be connected to the internet using an eircom connection, regardless of the fact that you have the username and password for the account. This seems to exist for the simple purpose of punishing you, the naughty naughty customer, for having the temerity to accept one of the plethora of infinitely better broadband deals from one of Eircom’s competitors. So, now I’m reduced to sending a mass email to my friends to find out if any of them have an eircom account so they can upload the file for me.

This whole episode is a fitting microcosm of the problems Ireland is having with it’s broadband rollout. For a country that prides itself on being a “Knowledge Economy”, it has one of the lowest levels of broadband penetration in Europe, and the blame for this can be laid at eircoms door.

Their resistance to Local Loop Unbundling is frankly criminal, abusing a monopoly that they’ve held for far too long, and is the reason why, until very recently, they were they only broadband provider in my area. And it’s not like I’m living in the wild west of Mayo, I live in Dublin, the capital.

Eircom should be leading the way, pushing themselves to win market share by offering better products, better prices and better services. They don’t, and it’s crippling Ireland’s technological advancement. And until the EU’s legislation results in millions of €uro in fines, the chancers running the company will continue to drag their feet and piss me off.

I’ve recently been looking into various MVC frameworks for PHP, and came across the Cake framework. It’s a port of Ruby On Rails to PHP (or as close to a port as possible), emphasising convention over configurabililty. While it’s very impressive from a technical standpoint, that’s not what is so pleasantly surprising about it – plenty of open source projects have very talented programmers contributing to them, making technical prowess a starting point for OS projects, not a destination. No, what surprised me was the amazing level of documentation for the project.

Simply put, CakePhp has some of the best, most comprehensive, most relevant and best organised documentation I’ve seen in an open source project. Whenever I had a question of any sort, not only did I find documentation “related” to it, I found full tutorials specifying exactly what I needed. In addition to the great docs at their manual and wiki, the also have a full set of API documentation.

Now, many projects state that they have API documentation by virtue of the fact they have some kind of automatic document generation á la Javadoc, but in the vast majority of cases this just consists of a listing of the available objects/classes and their functions, with extremely sparse explanations of what the methods/classes actually do, how to work with them, caveats etc. CakePhp has all of this. How they convinced open source developers to spend so much time writing documentation, I’ll never understand, but I as I said, I am very, very happy to see it.

I read a blog post that evaluated a number of PHP MVC frameworks, that stated that one of the main reasons Cake didn’t top its list was the seemingly slow pace of development compared to some of the other frameworks. If this kind of documentation, which provides me with everything I could possibly need, is the result of such “slow” development, I could only wish that more open source developers would slow down a bit.