tinyarro.ws offers the shortest urls in the business

March 4th, 2009

http://tinyarro.ws/ let you produce urls like http://?.ws/1kay.

In other news my wordpress install doesn’t seem to like utf-8

PHP UK Conference 2009

March 2nd, 2009

I attended the PHP UK conference last week, and had a great time. My thanks to all the organisers – they did a great job and were all volunteers. Here are my thoughts on the talks I attended, and I’m looking forward to the videos of the presentations I missed.

The future’s so bright, I gotta wear shadesAral Balkan
Aral did a very polished presentation and is obviously a very experienced speaker striving for perfection. It was very energetic, fun and enjoyable. The content tended to flit from topic-to-topic a little but it was very well delivered.

What’s new in PHP 5.3Scott MacVicar
This was a good presentation which covered the topic very efficiently. The content offered little insight over what information can already be found online, but without having to keep up with internals, release notes or RFCs. A solid delivery, with obvious interest in the subject-matter from Scott.

Of Lambda Functions, Closures and TraitsSebastian Bergmann
I have really wanted to see this talk for a while, and it clarified a lot about the upcoming features and was very well presented.

Living with FrameworksStuart Herbert
A very interesting perspective on how frameworks affect the management of a development team, and a good discussion on how to adopt on where legacy code exists. Essentially a case study about Gradwells‘ own experience with adopting the symfony framework, it was detailed and well delivered although I felt it was a little too naive and evaneglistic about the use of frameworks. Stuart comes across as very experienced and intelligent. This was the most useful and relevant talk I attended at the conference.

Myphp-busters: symfony frameworkStefan Koopmanschap
Stefan did well to debunk some of the myths that surround symfony. It was clearly well prepared, and Stefan knows his topic well. The one thing that I felt detracted from the talk was how so many of the points made could be applied to many of the other available frameworks. It seems daft to say it but it would have been good to have an even bigger plug for symfony.

Security-Centered Design: Exploring the Impact of Human BehaviorChris Shiflett
This was a very professional presentation. The topic of how interaction design affects the security of an application offered some new and interesting perspectives. It was great to hear Chris discuss a topic about which he has become interested in recently, his excitement for the content was clear, and yet delivered in an understated way. Full of quick-witted humor and obvious intelligence. By far the best talk of the conference.

The food was good, and it was worth visiting all the sponsors stands to see what they are up to. I think that just about everyone from ibuildings was present judging by the number of shirts.

My main complaint about the day was the lack of power outlets – my poor Eee 701 only lasts a couple of hours at a time – next year can we have power outlets (just daisy chain 4-ways) in the conference room/auditoriums?

How to learn a new PHP framework

December 10th, 2008

There are dozens of PHP frameworks around now, some attracting more attention than others. I am no expert on these frameworks and have not used a single one extensively so I wouldn’t dream of recommending one over the other, nor do I want to enter the debate about what is or is not a framework (I’ll work on the assumption that anything calling itself a framework is a framework). Instead I’m going to concentrate on how you can get started with a new framework as quickly as possible.

First you have to choose a framework; there’s ZF, Cake, Symfony, atk, Yii, CodeIgniter, Solar, PRADO and so on. But which to choose? Some of these offer some really good step-by-step tutorials, but for others, they can be hard to get into.

I really like the idea of exercises for learning a new programming language, but I (and probably you) already know PHP fairly well, so none of them really apply when learning or evaluating a new framework. I wanted to create a similar set of exercises that I could apply when looking at the multitude of frameworks available.

If you’re looking to get your head around one of these things, and don’t know where to start – why not give these exercises a try:

1. hello world
This should need no explanation. Build an app in the new framework that prints ‘hello world’ to the page. This might not be as straightforward as it sound.

2. calculator
Write simple calculator that takes two numeric values and an arithmetic function (add, subtract, multiply and divide) from a form and then prints the results.  You should make each different arithmetic function its own action/method/whatevertheframeworkcallsit and you should use the frameworks input validation for the form values (if it has one).

3. guestbook
Go back to 1998 and build webpage “guestbook” script to display a form which a user can complete, and submit to the app, which then saves the form content (to a db/file/whatever persistence mechanism you desire) and displays the contents of the guestbook on the web page. If the framework supports creating the HTML form/object model/persistance layer then make sure you use that here.

4. parse and paginate
Find an RSS or some other XML feed that contains lots of items, parse it, and crap out the items in the feed. Add pagination so a user can read the feed 5 items at a time. Make sure you put the pagination links at the top and bottom of where you’re displaying of the XML items using whatever the framework offers for reusable page elements.

By now you should be starting to know your new framework pretty well, and be ready to undertake a more serious project and explore some of the other features your framework offers. If you still don’t get it, or running through these took you unacceptably longer than it would if you just wrote the all the code yourself from scratch, then the framework you’re learning probably isn’t for you, so put it down and try something else.

Remember: ask for help from the community surrounding that framework if you get stuck. A framework with a strong community will mean you can get help in future when working on more important projects and secondly, its a really good indication of the health of the framework – there are few things more irritating than baking your application around a 3rd party component (like a framework) and finding out six months later that the developers have given up maintaining thier project.

Things I learnt at FOWA (and things I need to need to learn more about)

October 11th, 2008

I was at Future of Web Apps – London 2008 last week, and had a great time, spoke to loads of interesting people and drunk a lot of beer. This is a list of everything I learnt, and everything I foudn out I need to learn:

Polyvore community translation

XMPP

Everyone is hiring.

Everyone is hiring UX/UI people and PHP people.

pubsub

Excel Centre food sucks, and is horribly overpriced.

And its wireless connectivity blows too, especially when you have a tech conference and everyone and his dog has both a laptop, and an iPhone.

I should play with pinax

XRDS

Digg have some really cool uses for all that data they have.

portablecontacts.net

You can bundle AIR with your apps now.

KML

If you use maps you should be using the Mapstraction API

Mapnik

Meebo grew really fast.

Microsoft Surface looks neat, but had little real world application.

fireeagle

Facebook connect is sooo much nicer for users than 90% of the OpenSocial stuff.

But we should still all be using OpenSocial.

Long poll http requests

Even Adobe know their products are overpriced.

Mark Zuckerberg is great at answering around the question.

I learn something new every day. (PHP Quality Assurance)

February 29th, 2008

I mentioned earlier today that I am at that I am at the PHP London Conference. And I just found out something new about PHP that I wanted to share.

Apparently PHP has quality assurance. That is to say, there are a team of contributers dedicated to QA for PHP. One of the members, Zoe Slattery from IBM gave a talk here today with the superb name “test||die”.

Anyone who has compiled PHP from source should be aware that there is a test suite for PHP, but fewer are likley to know that it is actively maintained.

All the tests use standard PHP, so if you know PHP, you can contribute tests. Check out qa.php.net for more information. (I didn’t even know that website existed).

PHP London 2008

February 29th, 2008

Today I am at the PHP Conference London 2008, with about 300 other developers. We’ve all listened to Ivo Jansch in his “PHP Enterprise” talk, which is a good discussion of software engineering for php developers.

I’m currently listening to Stefan Esser’s”Binary PHP Analysis” talk which is a really useful insight into php security auditing.

PHP Manual Changes (PhD)

November 26th, 2007

Just spotted that the online docs for PHP have changed – and looking at the PHP-DOC mailing list there is an announcement from Hannes Magnusson that the PhD builds are now online.

PhD is the [PH]P based [D]ocBook renderer which the documentation team have been working on for ages, and it sparked my interest after hearing quite a bit about it on the Pro PHP Podcast – so congrats! :)

The improved builds of the docs have been live on http://docs.php.net/ for some time but it looks like they are now pushed through to all the mirrors, which is excellent stuff.

Zend not able to make thier own website work?

November 5th, 2007

I blogged recently about passing the Zend PHP5 Certification recently. One of the ‘rewards’ offered for passing the test is inclusion into the Yellow Pages for PHP Professionals and there are various functions available for people who have passed the exam to edit their details, post a picture etc. However my profile doesn’t seem to be linked to my Zend account, despite using the same email address, and I cannot edit any of these details.

As this resource is one of the main selling points used by Zend to push the exam and since its a pretty handy place for recruiters to look for qualified PHP developers (I’ve already received recruitment emails through it) – I would expect this to work properly and for me to be able to edit my details. The lack of any additional information on my profile reflects badly on me, as it could easily be taken as a lack of interest from me by anyone looking at my details.

So far Zend haven’t even responded to emails that I’ve sent through their website to them which is appalling customer service.

Update (6 Nov): Beth at Zend sorted this all out for me today and I can now update the profile. David and Howard also contacted me about the issue – thanks guys, much appreciated!

pow($zend, 3) // or three zend posts in one

October 26th, 2007

Three pieces of zend news today:

Firstly – I passed my Zend PHP5 Certification exam yesterday (\o/). I’ve been thinking of taking the exam for some time, and finally got round to it when my employer offered to pay for the test. It was rather more difficult than I expected – but there were very few questions that required arcane knowledge of the order of arguments to PHP functions (which I use the manual and Zend Studio’s auto-complete for). It does focus quite a lot on SOAP and webservices, but the php|arch certification guide I bought warned me about that.

Secondly, I’ve given up with Zend Studio Neon – it has a huge amount of useful stuff that Eclipse PDT doesn’t – like get/setter generation, code formatting, PHPUnit support, and the other stuff listed here. However – I just can’t get on with the ‘project’ system. All I want is to be able to browse the file system in the LHS pane – and that doesn’t seem to be something its willing to let me do. I don’t want to individually add files & folders to my project, or manage include paths, or have .kpf files dotted around that I have to tell subversion to ignore. So I’m back to Zend Studio 5.5 pro, which doesn’t have this annoyance. I normally on windows with with a VM or separate development hardware sharing my home directory through samba and then mapping that as a drive in Windows. I then browse this mapped network drive with my editor/IDE. If anyone knows how to get this to work in PDT or Neon (or Komodo, which I had the same issue with) I’d love to hear from you.

Finally, because I’m not above a bit of gratuitous plugging, in an effort to win a book, and because I needed a third Zend related topic for this post. If you haven’t listened to PHP Abstract yet, then you might want to add it to your list of things to listen to – its worth it alone for Cal Evans‘ cheesy intro and post script. The latest episode is an interview Cal did with Sean Coates of php|architect (and one of the hosts of the other php podcast). PHP Abstract is much more frequent than the other podcast, and with considerably less rambling – each episode lasts about 10 minutes and is given by a range of people from the PHP community. Cal’s own ‘How to kill a software project’ is very funny.

Zend Neon Beta (Zend Studio for Eclipse)

October 9th, 2007

Got an email today from Zend about their new Zend Studio beta. I’m interested to see this, because I use Zend Studio at work, and I like it, its just quite expensive. I’ve been trialing different IDEs at home for a while now, but I havent got on very well with either Komodo nor PDT as I find that I am just not as productive when using them – neither are particularly PHP orientated and I feel I have to work in the prescribed way, rather than how I am comfortable.

This new beta is Zend Studio for Eclipse (codename Neon), so I’m not sure how different it will be to PDT (or the vanilla Zend Studio for that matter) but I figure its worth a look.

and if anyone has any recommendations for any other (win32 or linux) IDEs that are worth trialling, I’d love to hear from you.