Long time no blog

August 19th, 2009

Somebody just kindly reminded me that it's been over 3 months since I last posted on my blog. Oh my.

What kept me busy mostly the past months is my new home. I moved to Utrecht (which is more in the center of The Netherlands, so I can get around more easily) with Leoni, and as developers say, the house is "90% done". So it'll keep us busy for a few months. :)

Things at Ibuildings are hectic as always. Our UK office is growing like crazy and is nearly half the size of our NL operation already. And we're working hard to get our Italian office up and running. Behind the scenes we're already working on things there, so if you're looking for a cool PHP job in Italy, drop me an email (ivo at ibuildings dot com). (Actually Ibuildings NL and UK are looking for senior developers too, if you're interested). After a succesful DPC back in June, we're planning a few more events so keep an eye on the Ibuildings website for news on those.

Another thing that has kept me busy is one of my personal pet projects, Flackr, a twitter based breaking news aggregation site. It has fairly basic functionality at this point (we've been mainly working on the news aggregation and event detection algorithms), but will eventually grow into a 'newsroom 2.0' type application with pro features for journalists. Here's an example of how it tracks tweets related to the Hurricane Bill including pictures. Contrary to many twitter aggregators, it doesn't follow the masses, but trusted sources only.

Finally, I'm happy to announce that I've started work on a new book. Enterprise PHP sold very well and it's not outdated yet, but writing it was addictive and now I just feel like writing another one. The book will be about PHP and Cloud Computing. This time around I'm not working on it alone, I'm co-authoring it with Vito Chin, author of the GMagick PHP extension, among many other things. The expected publication date is early 2010.

That's it for now; I hope to pick up blogging with more actual content after summer.

Why I think Google needs Twitter

May 4th, 2009

More and more content on the internet is 'real time'. Twitter messages, news feeds, pictures, facebook, etc.. Where we used to browse the web for things that have mostly been written in the past, more and more of our internet minutes are spent watching things that 'just happened'.

I see this as a threat to Google, and it wouldn't surprise me if they finally manage to buy Twitter, because Twitter helps them become more 'real time'.

To give an example, I was just trying to update my profile picture on Twitter, and this didn't work. For some reason it refused my pic without an apparent error messsage. Possibly I'm uploading something wrong, so first I googled for 'twitter profile picture' and got this result:

picture-37

Then, I did the same search on Twitter Search and the result was this:

picture-38

As you can see, this tells me that in the past 22 minutes, multiple people had this problem. (Ironically you can also see from their avatars that it actually is a problem). The Google results on the other hand, have nothing that is relevant if you take into account the 'now' factor.

This is just an example. Searching for 'current content' is getting more and more relevant. Comments on a live show on tv or an address to the nation by the president; Google is useless in finding these things.

So it is my humble opinion that either a) Google will buy Twitter, Facebook or another 'real time' content site, or b) Google will release an updated Google Search that takes the whole 'now' into account in its search results.

Debugging parameters for CLI apps using Eclipse PDT

May 3rd, 2009

I write quite a lot of command line utilities in PHP and luckily PDT makes it easy to debug command line scripts.

The thing with command line scripts is that often they require parameters passed on the command line, and PDT offers an easy way to pass them when you debug a script.

Assuming you already have debugging in Eclipse working (using either XDebug or Zend Debugger, both will work with this feature), here are the steps to debug a command line script using command line parameters:

  1. Right-click the script you want to debug and select 'Debug As...' and from the context menu that appears, select 'Debug Configurations...', like this:

    PDT context menu

  2. In the debug configurations screen that appears, select the 'PHP Script Arguements' tab. In the text box that appears, you can add fixed parameters (e.g. --key=value), but it's much more useful to use Eclipse's dynamic parameters, like this:

    picture-29

    In this case I entered --visitor=${string_prompt:Visitor} which means: pass --visitor= to the script when debugging, but ask me to enter a value named 'Visitor'.

  3. You can use the 'Variables' button to enter variables like this using a more visual wizard. There are many different prompts, string_prompt is just one example; you can prompt for folders and passwords as well, and you can inject certain system variables as a parameter using this wizard)
  4. After you've saved the Debug Configurations, again right-click the script you want to debug, and select 'Debug As...' and then 'PHP Script'.
  5. Eclipse now pops up the prompt, like this:

    picture-30

Voila, you can now debug your command line script by passing in dynamic parameters whenever you start the debug session.

P.S. This not only works in Eclipse PDT but also in Zend Studio for Eclipse and Aptana (in theory, haven't tried either yet).

P.P.S. No, I didn't create a script that allows me to track individual visitors, it's an archive processor for Flackr that uses the Visitor design pattern to make it easier to write multiple processors. I love Design Patterns.

Counting down to the Dutch PHP Conference

April 9th, 2009

It's about 2 months until the next Dutch PHP Conference in the Amsterdam RAI.

It's a step up from last year, with one additional conference day. The speaker lineup is awesome: people such as PHP core developer Scott MacVicar, Andrei 'Unicode' Zmievski, php|architect's Marco Tabini, Xdebug's Derick Rethans, Zend Framework architect Matthew Weier O'Phinney, security guru Stefan Esser, Restful Ben Ramsey, Paul 'KISS' Reinheimer and many, many others. See the full schedule here. It will all be hosted by our own Cal Evans.

I don't have to speak this year, I just get to do the closing keynote together with Cal and Marco. That'll be fun!

From all the DPC's I've visited before, this is the one I most look forward to. It's also nice to see industry adoption of the conference, with big names such as Microsoft and Oracle sponsoring the event. (Microsoft has xboxes and tickets to Las Vegas to give away, see their WinPHP Challenge.)

Oh, and if you order your tickets before April 30, there's a significant Early Bird discount. Register here.