Last October I found a bug in PHP’s SOAP module. It was pretty obscure bug in the way PHP used Digest authentication. As it was a showstopper for me, I submitted a bug report and wrote a patch to fix it.

It took a while, but my patch has finally been merged into the 5.* and 6.0 sources!

I’ve been using PHP for ten years, and so it’s perhaps a little surprising it’s taken me this long to give anything back. Truth is, this was the first time I’ve come across a bug which halted my development work.

It’s a tiny fix, 6 lines of code, but it makes me happy that after all this time, finally, there’s a bit of me in PHP! Hurrah for open source software!

24th May, 2009

Recent Geograph Outages

Geograph.org.uk has been offline all day, there seems to be a problem with a router which connects the Geograph servers with the rest of the Internet.

At the moment we don’t have a definite ETA but I think it could be Monday before we get this resolved. Enjoy the excellent bank holiday weekend weather!

Edit: We’re back! As suspected it was a router issue, our thanks to the sterling folk at Fubra who resolved this late on Sunday night.

Edit #2: …and on Thursday morning it seems we’re down again. Seems to be the same issue, should not be down for long….

Edit #3: We’re not having a good week. An entirely unrelated issue has brought the site offline again on Monday 1st June. This one is within our control but proving tricky to fix….

Edit #4:Our hosting provider have provided a full account of the network problems experienced in the past week, largely due to a complex sequence of upgrades. It seems we should now be entering a period of calm and unparalleled uptime! Touch wood…

If you’re documenting your classes with Doxygen tags you might be wondering if you can use that help inside QtCreator and get those F1 tooltips whenever you hover a documented class or method.

I wondered the same thing, and it turns out Doxygen needed a little tweaking to make it work. Karsten Heimrich at Nokia rather kindly wrote a patch which will eventually make it into Doxygen, but if you have burning desire to try this, here’s what you do….

Patching Doxygen

Once I hear that Doxygen includes this patch I’ll remove this section - so if you’re reading this, you probably need to patch. So, lets grab the latest sources and apply the patch.

svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk doxygen-svn
cd doxygen-svn/src
wget -O doxygen.diff http://blog.dixo.net/doxygen.diff
patch < doxygen.diff

cd ..

Then configure and build doxygen with any options you might need. Most people should be able to simply do this

./configure
make
make install

You should how have the patched doxygen in /usr/local/bin.

Generating the help

There are some Qt Labs posts on generating Qt Help from Doxygen, but here’s a quick run through:

To generate a Qt .qch file you’ll need the following entries in your doxygen configuration file


GENERATE_QHP = YES
QCH_FILE = /path/to/output/helpfile.qch
QHP_NAMESPACE = com.yourdomain.subdomain
QHP_VIRTUAL_FOLDER = yourfolder
QHG_LOCATION = /your/path/to/qt/bin/qhelpgenerator

Run patched doxygen and you should end up with a .qch file in the filename given by the QCH_FILE option. Almost done!

Installing the help in Qt Creator

  • Go to Tools -> Options -> Help, click “Add” and browse for the generated .qch file.
  • Click OK and your namespace should now be listed in the registered documentation box
  • Click OK to dismiss the options dialog
  • Now for the important bit - restart Qt Creator. If you don’t do this, the help doesn’t get propertly integrated into the IDE, at least on Qt Creator v1.1.

That’s it! Now hover the mouse over one of your documented classes and you should get a tooltip suggesting you press F1.

Documentation nirvana! Again, my thanks to Karsten Heimrich for writing the patch, hope someone else finds this useful!

The UK Photographers Guide has been very useful in helping me understand how the law affects photographers. It has been particularly handy when resolving complaints from visitors to Geograph.org.uk, and I’m pleased to note it has been reviewed and updated in recent weeks.


Download version 2 of the guide here.

Kudos to legal consultant Linda Macpherson for putting it together, and to photographer Simon Moran for hosting it.

27th Apr, 2009

Ammotin is coming!

I’ve been spending a lot of spare time recently building a desktop application aimed at geocachers and walkers called Ammotin. As it is approaching a point where is becoming useful, I’ve set up ammotin.com to track the development and gather feedback.

Stay tuned to ammotin.com for more updates!

31st Mar, 2009

I’m a Qt Convert!

Once upon a time, I used to do a lot of GUI app development. My professional career started back in 1993 writing Windows 3.1 apps in C, and continued for several years, switching to C++ and using the MFC framework. But from about 1998 I found myself steadily doing less native GUI application development, and more and more web server based work.

While I enjoy all the work I do, I do miss being closer to the machine. The average PC is ridiculously powerful these days, but your average web application can’t do much with that power.

I’ve switched my home desktop to Ubuntu recently, and loving it. But, there’s a few Windows apps I miss. What’s a developer to do? What is a developer, skilled in C++ GUI development, to do, eh? Answer me that.

The recent release of Qt4.5 and it’s accompanying licence change couldn’t have come at a better time. I had an itch to scratch, and it looked gooood. One simple install, and you have a great IDE, a GUI designer, and a stack of great classes and widgets. I was sold on the ease of integrating a WebKit browser and the fact I could build a ECMAScript based scripting engine for my app. But there’s so much more! I was a little skeptical of the smoke and mirrors behind the signals and slots paradigm, but having used it for a weekend, I’m sold.

Bottom line is that I spent more time writing my app than figuring out the framework. There’s hardly any “boilerplate” crap in each class. Once you’ve written your first signal and slot handler, you’re away. It’s all thriller, and no filler :)

As if that wasn’t exciting enough, recompiling for Windows and Mac is easy too. Qt doesn’t just get you closer to your machine, it gets you closer to *all* machines. Hallelujah, Flying Spaghetti Monster be praised, I’ve rediscovered a love of programming I didn’t know I’d lost.

Anyway…..

I don’t want to say too much about the app I’m writing, aside from the fact that it’s aimed at geocachers. It’s called Ammotin, and will probably get released much later in the year. I think it will be spectacular, because Qt has got me so fired up and focussing on the app, that I don’t need to worry too much about the framework.

Am I over excited?

The recent change of licencing model for the Qt toolkit got it a lot of press recently. My GUI-based development experience is all Windows based, using MFC and wxWidgets. As I’ve found myself using Ubuntu and OSX a lot more recently, the idea of using Qt to write software to run on Windows, Linux or OSX has some appeal. Of particular interest was the ease with which you can integrate WebKit, allowing you to embed web capabilities into a cross-platform app with ease.

Installation under Ubuntu 8.10 is straightforward, but I’m writing this post just to note the install steps I took. Hope it helps someone!

  • Download and install the SDK, which includes an IDE
  • Once installed, there’s a few packages you’ll need to ensure your first build completes:
  • sudo apt-get install libfreetype6-dev libfontconfig-dev libxrender-dev libsm-dev libglib2.0-dev

Now you’re good to go!

Edit: Edvaldo in the comments noted he needed to install some additional packages as follows:

  • sudo apt-get install libxext-dev libxext6-dbg x11proto-xext-dev
12th Mar, 2009

Geograph Deutschland

While there’s been a few aborted attempts to use the Geograph code in other countries, it’s so cool to finally see one launch - ladies and gentlemen, Geograph Deutschland is here (also available in English)

This has been set up by Hansjörg Lipp, adapting and translating the open source Geograph software. Though you can’t easily tell from the Geograph British Isles map, we’ve merged the Irish and British gird systems into one grid. Germany uses the MGRS system for its mapping, and as it covers several UTM zones, the German map is broken into separate, more visible, strips.

Great to see it open its doors, I wish Hansjörg every success.

6th Mar, 2009

Geograph is Four!

Geograph’s fourth birthday kind of crept up on me today, I find it hard to believe it’s been going for four years. With almost 1.2 million images in the archive, it continues to go from strength to strength. Well done to all who contribute, in whatever way!

I quickly knocked up a birthday mosaic to celebrate…

Geograph Four Years Old - click for huge mosaic

This mosaic is derived from Sydling Synchronised Swanning by Nigel Mykura. Tiles drawn from other images submitted to Geograph - many thanks to the thousands of photographers who made that possible.

Naturally, the above image is available for re-use under a Creative Commons 2.0 by-sa licence!

The mosaic was created with Metapixel.

Suggest a better one!

This one was done rather quickly - if you’d like have a go, just make up a base image, it need not be large, 640×480 or 800×600 is sufficient. Use a base image you own or one which has Creative Commons by-sa licence. I’d recommend trying to find one with a good use of green and blue tones, but more colours would be good! Send it to me and I’ll create a mosaic using Geograph images!

11th Feb, 2009

Chicken Phal, anyone?

Many years ago, a friend and I attempted to eat a Chicken Phal. Ordered from an excellent establishment in Newcastle upon Tyne, the proprietor urged us not to eat it.

But eat it we did.

The following day I vowed never to attempt anything quite so daft.

Time heals all wounds though, and some 17 years later I’ve been talked into repeating the episode for Comic Relief. It’ll be a lot of fun to watch the pain, so please sponsor me if you can.

http://www.myrednoseday.com/pauldixon

Click the link, you can sponsor me online and it only takes a minute or two.

Edit: we had to abort doing this on comic relief night due to my co-conspirator attending a funeral. The mayhem will take place in late April now…

Categories