Category Archives: PHP

Firefox 3 Beta 3 Add-ons Manager and Add-ons API

Yesterday the beta 3 of Firefox 3 was released to the world.  This beta contains the new Add-ons Manager, and people seem to be liking it so far – ArsTechnica says

One of the most promising and impressive new features in beta 3 is an
integrated add-on installer system that allows users to search for and
install add-ons from directly through the Add-ons
Manager user interface.

The new Add-ons Manager is the result of collaboration between a bunch of smart Mozilla people – Madhava Enros and Dave Townsend to name two – and a small contribution from yours truly. 

The Add-ons Manager pulls data about Recommended addons and search results from the main (AMO) website via the AMO API, which is my project.    When you ask for a recommendation, the Add-ons manager pulls a RESTian URL like

checks for addons that you don’t yet have installed from that list, and displays details of the remaining addons.

The API will be (is) available to the community as well, and promoted once testing is complete.  If you’d like to experiment with the API then draft documentation is available at
(This will move to the Mozilla Developer Center once it’s more fleshed out.)  Please file any bugs you find.

I’m still working on tweaks and bug fixes: I’ve already fixed a bunch of character encoding issues in different languages, and applied some performance tweaks. (Some still to go into production.)  Right now, I’m working on speeding up search.  Search is slow on the whole of AMO, and later this year I plan to implement a full text search.  Right now it’s just tweaking – it’s slow because when you search all the possible translations are searched (think many left joins), and the plan is to rejig the database to only search your local translation plus English (since many add-ons are only available in English, and we wouldn’t want you to miss out).

Anyway, it’s been great fun working on this project so far, and it’s incredibly rewarding to think that something I wrote is incorporated into my favorite browser. 

Frameworks, Addons, Firefox, busy busy busy.

I’m about to leave for Orlando where I will speak at CakeFest One tomorrow on the subject of building the API using CakePHP.  The whole of the website is built with Cake, and we believe it to be the biggest installation (in terms of traffic) in the world.  I’ll post slides after the presentation, and a bit more information about the numbers and so on.

Building the API has consumed my thoughts for the last few months.  It’s used by the new Addons Manager in Firefox 3, which will be in beta 3.  (You can read Madhava Enros’ blog entry on the subject for a preview).  After beta 3 is out, I plan on blogging more about the API details.  I’m still ironing out bugs and doing some peformance tuning.

In addition to my involvement with Cake these days, I have recently been associated with two new framework books.  I acted as a tech reviewer for Mike Naberezny and Derek DeVries’ "Rails for PHP Developers" (Pragmatic, 2008) and wrote the foreword for Cal Evans’ "Guide to Programming with Zend Framework" (php|architect, 2008).  These books are now available, so please enjoy the fruits of the authors’ labor.

I can’t help but find it amusing that something I’m (in)famous for not being a fan of has dominated my professional life for the last six or so months.  I’ll have to write more about my thoughts on these three frameworks soon…but right now I’ve got too much work to do 🙂 and a plane to catch, besides.

Microsoft buys Yahoo! (or would like to) – now what?

Lots of stories this morning about Microsoft’s $44.6 billion dollar bid for Yahoo!

So on the Sun/MySQL theme, what are the implications?  Huge, to me, absolutely huge, on so many fronts.  The positive is that both Yahoo! and Microsoft are big companies that like to innovate. 

From the point of view of a PHP developer, it’s particularly interesting.  Microsoft has internally changed its view of Open Source a great deal over the last few years.  In the PHP world we’ve seen this on a number of fronts, including the partnership with Zend to make PHP run well on Windows, the various Web Developer summits at Redmond (due to Sanjoy Sarkar, a common fixture at PHP events, and all around nice guy Brian Goldfarb, who was the first MS employee to come to a PHP conference, back in 2002 I think).  This last week my friend Wez Furlong (of PDO fame) was at Redmond with, as he put it, a "bunch of compiler geeks", speaking at the 2008 Lang.NET Symposium

Yahoo! is of course the home of a lot of really big PHP, and some famous PHP developers, in particular Rasmus Lerdorf, "the father of PHP", and Sara Golemon.  (Andrei Zmievski left last year to join Outspark.)  One assumes that the architectures within Yahoo! would continue to be LAMP based, at least in part because the cost to switch would be amazing.

These things come in bursts: I remember Sleepycat/InnoDB/etc in 2006.  Now we just have to wait and see who is next.

DC PHP Conference

I’m headed to the DC PHP conference tomorrow to give a plenary session called "Write Beautiful Code".  This will be the same talk I gave at ZendCon which was pretty well received.  (I changed the title to something I thought more appropriate once the presentation was actually written.)

On Friday morning Luke and I will give our PHP Best Practices tutorial at the conference.

I see a good number of PHPers are already at the conference – I look forward to catching up with everybody there, although I will probably have my head in a laptop in between talking, got a lot on this week.  Fingers crossed for a decent network connection.

On Open Source: PHP Video Podcast

At OSCON this year Luke and I recorded a video podcast for Informit, talking mostly about the current state of PHP.  This is part of Informit’s podcast series On Open Source

Part 1
Part 2

I rant about frameworks, Luke talks about PHP security, and we offer advice for young programmers.  I hope you enjoy it, it was fun to record.

(As a note: I’m really really hyper in this.  It’s fear of people pointing cameras at me, and also the fact that I need to move when I talk – now you know why I have to walk around the stage when I’m talking at a conference – because if I have to sit down I am forced to wave my hands around and make faces like a crazy person in order to express myself adequately.)

I mention in the podcast not taking on any technology as a religion: I’m in the process of drafting a blog post, so watch this space for more on that topic.

PHP Best Practices at ApacheCon

Luke and I will be speaking on PHP Best Practices at ApacheCon on Tuesday November 13th in sunny downtown Atlanta.  This is a half day tutorial which we try to tailor to what people want to hear about on the day.  We’ll get into the nitty gritty of writing clean, fast, secure code.    ApacheCon is a great conference.  I’ve heard some murmurs recently that tech conferences are getting less technical.  The talks at ApacheCon tend towards the engineering heavy and the speakers are some of the best techies in the industry.  I hope some of you can join us!