Thursday, September 18. 2008
Elephpants on parade
After my little trip out yesterday to Google Dev Day 2008 (London) at Wembley – I thought I’d post some pics I took of the day, or more precisely, of what my Elephpant got up to. You can see them on the Elephpant at GoogleDevDay08 Flickr set page.
Also, some link love to to http://www.elephpantworldtour.com/ for the idea of taking the cute little blue guy along.
Thursday, April 24. 2008
Riddled me that
Well go figure. I’ve just won $50 (Canadian, that’s about $3000 USD by now) of books and ‘stuff’ from PHP Arch, care of it’s publisher, Marco Tabini’s, blog
He’d put a little puzzle up last night, some long numbers, and a few short. I recognised them as almost ISBNs – it wasn’t hard to figure them as having dropped a zero from the front, making them “php|architect’s Guide to Programming with Zend Framework” and “php|architect’s Zend PHP 5 Certification Study Guide, 2nd Edition”. From there, guessing the other numbers were page, line and word counts was easy.
So, what should I buy? I’ve already got a subscription to the magazine – PDF edition (it’s so much easier to ship bits over the atlantic…).
Monday, March 24. 2008
Always have up to date documentation, part #2
see my previous post on the topic, #1.
My last post ended up more as a how-to than what-to. This time, I’ll say why you should have local copies of the documentation for most of the tools you use. I’ll also tell you the sort of things I always have handy as well.
Getting a local copy of php.net – and getting installed as an apache vhost and updated (probably weekly) is some effort, but well worth it. I’ve said it before, but PHP.net is the best language reference site that I’ve seen. It’s kept up to date (sometimes ahead of the code releases in fact) and while the notes that are added to it can sometimes confuse, as much as help, when they do help, they will really make the difference.
I don’t tend to buy many PHP books, because what can they do besides re-iterate what is is already there?
The most important thing to bear in mind though is not to just have the documentation there to read – you have to know what is available. Projects like PHP, the Zend Framework and PHPUnit have a lot of parts – and knowing that they have things – even if you don’t know how they work right now, can save you days or weeks of effort.
It’s for that reason that you need to at least scan over all the the docs you have – and indeed for all the libraries and tools that you use. Even I don’t read everything and expect to remember it all – but I remember enough to recognise that a paticular tool might have something to help – maybe PHP has something to search the values in an array (http://php.net/array-search), or can use Oracle, or Ldap, or Memcached, or that Zend Framework can let you easily loop over maildirs (or an mbox) to get each mail from within it. If you don’t read the manual – at least skimming over it, you would never know that functionality exists, and you inevitably end up reimplementing other people’s already debugged code. That’s a waste of your time.
So, take an hour now, and assemble a directory to put these docs into, and read through them – not everything, but at least look at headers of every section, just to get an idea of what is available and maybe go back and read up some more on things that may be useful to you. If something isn’t so interesting to you now, do bear in mind, your next project, or job, might change that.
Above all, keep learning. Never stop.
Continue reading "Always have up to date documentation, part #2"
Monday, March 17. 2008
Know thy tools first of all
Just a quick tip here, and I’ll expand on it below the cut.
When you have a library, like PEAR or Zend Framework – or ven just the whole PHP language library – it’s absolutely vital you know what it can do.
What you don’t know can cost you weeks of effort and pain. I found this out (again) today, but it’s not my pain – it’s an employee who was too busy deciding that the Zend Framework wasn’t suitable for a simple cron-script task, he has spent most of the last few weeks duplicating something that is not as good as what I could write – with ZF – in about an hour.
Sunday, March 16. 2008
Always have up to date documentation, part #1
As I mentioned in my second post, ZCE prep – and dumb tests – about open book tests (like Brainbench), having a copy of all the relevant documentation can be incredibly useful, if only from a speed issue. Knowing you can just open a new tab and type a few words to get the information on a function, or concept from the manual takes away so many problems.
I mentioned there that I have a local copy of the main PHP manual – and I wanted to tell you how I keep it, and a couple of other manuals up to date, as well as other documentation.
Thursday, March 13. 2008
ZCE prep - practice test #1
Well, I’ve just completed the PHP Arch ‘Vulcan’ practice test – the first of up to five such practice tests I’ve purchased. I have quite deliberately not gone through what study materials I have on hand before I took this test (I wanted to get a baseline), but none the less got an ‘EXCELLENT’ final score, and the same ‘Excellent’ on seven of the twelve sections the pre-test is broken down into. ‘Pass’ on four others, and just one ‘Fail’ on the design (patterns) section. If the real test worked much the same – and with a composite score, rather than having to pass all sections – I doubt I would have a problem to have gotten a passing grade.
Although the test (practice and real) is scheduled to take up to 90 minutes, after 45, I have finished the 70 questions. I’d set about half-dozen to review, but I don’t think I changed any of those answers, and so after a little more than 50 minutes – I called for the results.
It was much as I expected, with just some occasional requirements to know some parameter orders and specific use (the kinda thing where you test it, and if you didn’t get it right first time, I would trivially look it up to check, for functions like sub-string searching). Also several questions on XML handling, which I muddled along with.
Streams, strings and web-features are something I will have to look at more carefully for next time, but for me the big one is design patterns – it was my only failing section.
All in all, I’ve very happy with this evening’s events and the (practice) results.
| Category | Grade |
| XML & Web Services | EXCELLENT |
| Arrays | EXCELLENT |
| Web Features | PASS |
| Basic Language | EXCELLENT |
| Streams and Network Programming | PASS |
| Database Access | EXCELLENT |
| String Manipulation and Regular Expressions | PASS |
| PHP 4/5 differences | EXCELLENT |
| Security | EXCELLENT |
| OOP | EXCELLENT |
| Functions | PASS |
| Design | FAIL |
Monday, March 10. 2008
ZCE prep - and dumb tests
This week I’m going to take the first of my PHPArch.com’s ZCE prep test – then I’ll read the book and see they they expect me to know.
Going for the Zend Certification is something I’ve been thinking of doing for a couple of years, and especially now that it covers PHP5 – and increasingly good practices and security topics. It’s not that I need to get the ZCE, I’d go for it , for the intellectual challenge if nothing else. It’s also the closest thing I would have to a professional qualification since I completed a HNC computer studies in 1992 – and that was just 1/day week day release over the course of a couple of years.
Of course, it’s not the first PHP test I’ve taken – last year, just before the PHP London 2007 conference, Allegis had come along to the PHP groups’s early-February meeting, to plug their services (and they got business from it, one guy interview the following day, a Friday, and started work on the Monday) – but they offered to have anyone that wanted to do the Brainbench test, paid for, by Allegis.
At the time, I had just started a couple of days before at a job near Covent Garden, but then left it after a week for a better gig (where I still am now, some 13 months on) – but I took Allegis up on the offer, and finally got the results at the conference. I never did get a copy of the exact numbers, but I was told the headlines, so these may not be exact, but they are certainly in the ballpark.
- Time: 28 minutes (apparently this is very good)
- Score 4.73 (out of 5.0)
- Better than 98% of other test-takers.
I’m told that the harder the questions you answer, the harder the next questions get – so getting from 4.0 to 5.0 is a lot harder than getting from 3.0 to 4.0 – if I’m wrong about that, then please let me know.
The thing is, the Brainbench tests are open-book – they pretty much have to be, you take them at home, though they are against the clock. I can certainly appreciate the logic of it – after all, which serious developer doesn’t have an internet connection and a quick bookmark to http://php.net (and I’ve look at the other language sites – php.net is by far the best), or at least a copy of the documentation around (.CHM file or just a bunch of HTML pages – or, like I do, a weekly rsynced copy of the php.net manual!). Just as well I did, the tests I’ve seen always throw in some pointless questions like how to use LDAP, or how to connect to an Oracle database. I’ve never used either of them, so I don’t bother to learn them – but if I did need them, I’d figure it out in a few minutes reading – or, more likely, I’d have some kind of library, like the Zend Framework which did the hard work for me – plus, I’d only end up writing that kind of code once anyway before I threw it into a function and forgot the minutiae.
It saddens me when people are too dumb to do well on such a test though – how hard is it to read the manual, at least well enough to know where to refer to for more advice?
The ZCE is a closed book exam – or, as I call it (for all the reasons the brain-bench is open-book) – unrealistic. If I can’t recall whether the $haystack or $needle come first in in array or string search – it’s but a moment to look it up.
Even though I’ve listed my scores above, I don’t bother to promote myself with them on my CV – indeed Allegis is the only company (recruiter or not) that know them – they did pay for it after all. Because I can get those kind of scores with what I consider so little effort (about half-an-hour’s worth in fact), then either the test is bad, or 98% of the other people that gave taken that test are. Frankly, I’ve got to think it’s mostly the latter.
Keep reading my posts, and I’ll tell you want you need to do to ace your tests – and not look a fool when it comes to developing something I might set you.

Comments
Mon, 24.03.2008 19:30
Sun, 16.03.2008 23:45
Sun, 16.03.2008 21:31
Although example shown was usi ng Windows (my desktop) there is no reason why this can’t be used on Linux or as we [...]