I passed this exam yesterday, making me one of the 60 Zend Certified Engineers in the UK (there are 1040 in the world). The exam wasn't too hard (I've been using PHP for about 3 years and teach training courses in it), and was multiple-choice. The cost is around £110, and you can take the exam at a number of training centres in the UK.
There were a lot of questions about unexpected fringe topics; and several questions which were more about programming than PHP specifically (I'd love to say more but their Non-Disclosure Agreement prevents me). Plus I'm not sure whether this qualification is particularly well-recognised yet (as it's so new), but I thought it was worth doing anyway in the hope that it will become a de-facto industry standard (it is provided by Zend, the originators of PHP, after all). I will put the logo up on my site once my certification has been recorded and I'm in the PHP Yellow Pages.
Madeleine has now entered the "What's this?", "Who's this?", "Where is it?", "What are you doing?" phase. Her language is coming on leaps and bounds: as well as these new expressions, she has also picked up pronouns ("it" for example).
This week is her first week where she is going to pre-school for two afternoons (accompanied by Nicola). It's a nice place with a good mix of children of different ages. I think they are still learning what to do with young children, though, and are geared up to children slightly older than Madeleine (3-4 year olds); I think it will improve over time. But the atmosphere there is nice, the facilities are good, and Madeleine enjoys it.
Just released the new version of ROROX. I've put a lot of after-work hours into sorting out SCGI as a replacement for FastCGI (it works better, it's more stable and reliable, and has a less-dodgy license), including writing a neat script to SCGI-enable an existing Rails application and plug it direct into XAMPP. The script also adds start/stop actions to XAMPP, so the application starts and stops when XAMPP does or can be restarted separately. Plus there are a few upgrades to some of the packages (e.g. Ruby 1.8.4, Rake 0.7.0). I'm pleased with it.
In other news, mooch (my ecommerce project in Rails) continues apace, and I spent yesterday evening putting it onto the new version of ROROX with SCGI, and sorting out how to use Switchtower to deploy from Subversion. Now the infrastructure is all in place and I can start coding. Lovely.
Madeleine's latest expression is "Where are you?". So when she wakes up in her room in the morning, she will say "Mummy, where are you?".
Yesterday, Nicola was driving Madeleine to my office to meet me from work. They went round a roundabout. Madeleine made a connection and said "Big circle", without being prompted.
She can now remember things I've forgotten. For example, after her bath, she might remind me that it's time for her to brush her teeth, as I start down the stairs.
She has discovered the idea of "yesterday", though at the moment everything is yesterday. If she doesn't want to have her hair washed (I tend to do it once every two days, and she's cottoned on to this), she'll say "Mummy did it yesterday", meaning "You don't need to do it today", even if the last time Nicola washed her hair was three weeks ago.
Currently she is obsessed with building "sheds". Basically, piles of cushions and pillows roughly arranged into walls. She then sits inside and reads books. In fact, the first thing she wants to do every morning, as soon as she wakes up, is read books. "Read it, daddy. Read this one, daddy.".
Her counting is improving, and she can do "One, two, three". After that it descends into a random list of numbers: "One, two, three, six, eight, four, six, eight". For a long time, she would count things like this: "Four, six, eight, four, six, eight".
Turns out my music manager script isn't broken. It's just that I'm an idiot. After rewriting it so it no longer needed the Python ID3 library, I realised that the original version had broken because I'd neglected to install python-id3 on my freshly-installed machine. If I read my own instructions I might get somewhere. Once I installed python-id3, the original script worked again. My new version still works (not as well as the original), but is now rendered pointless.
One service I've been trying out recently is Newsvine (I am a beta whore). This has a very sweet interface (which was the main attraction). It's basically supposed to be a "community news service". I don't use it for reading, but have been "seeding" it with news stories (posting a link and a short comment), instead of putting them into del.icio.us (here's my column). If anyone wants an account, I can send an invite (if invites are no longer available from the front-end). I like it, though I wouldn't pay for it.
I have been trying DropSend, which lets you "email" large files easily (I used to use dropload, but it fails all the time even though it tells you your upload worked). But, frankly, the free DropSend account is crap. I tried to upload a file yesterday (around 25Mb) and was told it would take about 20 minutes (uploading at 25Kbp/s). This is due to throttling at the DropSend side, rather than my internet connection (as I was uploading from work where we have a mighty internet connection). It's practically impossible to get a decent idea of how good the service is when it's so crippled. Fair enough, limit number of free uploads a month (you get 5) and amount of space (I think it's 100 Mb); but don't limit how fast the uploads go. That's crazy and makes it impossible to do a reasonable test. Am I likely to pay for a subscription as a consequence? I could be doing them a dis-service, and it might be that they can't cope with demand, so everyone is getting the same upload speed. But in this case, I am also unlikely to pay for a subscription.
I subscribe to a free copy of Computer Weekly, and my punishment is to have to fill in a questionnaire periodically to retain my subscription. This time, I noticed it contained this mandatory question:
mooch is the new name for my ecommerce system under development (and I'm very pleased I thought of it, finally). This is a long-term project, with the intention being to run it as a side-business while I do other stuff. I've got the domain for it: moochplace.co.uk (mooch.com and mooch.co.uk are taken, though only by domain squatters, and I refuse to be pulled into a bidding war for them). I've started researching options for online payments, began building the infrastructure up (Subversion repository, deployment scripts etc.) so I can start writing the core system, started compiling user stories, etc.. My aim is to write stuff down as it happens (I've been inspired by The White Ladder Diaries, which I am currently reading and enjoying - a diary by a woman starting a small publishing business with a partner), so expect more as I go.
One interesting internal (as in, inside my head) debate I've been having is how to license the code. I'm thinking of offering a hosted service eventually, but wondering whether I should open source the platform code. There is an ecommerce project written in Rails (I am of course thinking of using Rails :) which will be open source: I've been following its progress out of interest, so potentially I could try to join in there, and use that as a base; but think that perhaps the project's aims are more complex than mine. And there is Shopify of course, whose blog is providing some really useful ideas, and whose screenshots are setting the bar for simple elegance in interface design (I'm dying to find out what it's like to use); but it will probably not be open source (although they have open-sourced their Liquid template engine).
I suppose the issue is whether there is likely to be any interest in my project from other developers (would it be worth the hassle of setting up the project and running it?), and whether open-sourcing would actually undermine any market advantage I might create. Is it possible to live from services? What is the danger of other people being able to offer the same service? Opinion seems to be mixed, and I've been reading a variety of blog entries: some stating that a service-based business model is only viable when a product is already wide-spread. So is the better model one suggested in a research paper I read recently (I'll dig out the reference soon): a delayed open-sourcing model, like the one adopted by the Ghostview people, where the latest version is proprietary, while previous versions are open source? Or perhaps the SugarCRM model, where c. 70% of the code is open source, and 30% is closed (John Roberts, the CEO, stated that the 30% closed source is the stuff which was hardest to code). Still mulling it over.
I've been working on a new version of ROROX, incorporating the latest Ruby, an upgrade to Rake (the build tool), SCGI and rails_scgi (rather than FastCGI), and a few more minor improvements. It should be released soon.
Discovered today that my music manager script is broken in Breezy. This is because the mp3 tag manipulation libraries for Python seem utterly, utterly changed. It should be a minor rewrite, so hopefully I'll put a new version up soon. I still use it, but I'm not convinced it's worthy of a SourceForge project.
Been busy revising for PHP Certification, as my exam is next Tuesday. However, I am a bit worried, as according to the study guide, there are likely to be a lot of questions about obscure parts of PHP I never tend to use. Like date formatting (I look it up, and can never remember the format strings), date comparisons (all that time zone stuff is a bit of a mystery to me), and file input/output (how often does a web application write to files?). I'd be alright if it concentrated on databases and web forms, as I know these inside out. Hopefully I'll do well enough to pass, at least.
Amazon Mechanical Turk is a kind of artificial artificial intelligence (sic). Basically, if you are a software developer, you can write code into your program which will submit tasks to the Mechanical Turk website. The tasks get added to a list, from which humans registered with the site can choose. The humans complete the tasks online (the samples they have currently are all US-based and ask opinions on traffic, restaurants, etc. in US cities), and the Mechanical Turk makes the results available to the program which initally set the task. The program presumably has to poll the API periodically to find out if the task has been completed, and picks up the human-generated results when they are ready. These results are then incorporated into the program's inner workings. Interesting. Mad, but interesting. There's got to be some potential in there somewhere...
Must get rid of all stuff. Must sell things. So can buy more things. Even found myself thinking tonight (after watching a marvellous documentary where Richard Dawkins basically laid into loads of religious types and told them they were abusing children with their religious lies), I'm unlikely to read Climbing Mount Improbable again, good as it was: sell the bastard, while the public's interest is piqued. Sold on Amazon within about an hour. See that, that's complementary marketing. Put a load of CDs up there as well. GreenMetropolis has also raised a few sales, and is good for stuff which is ubiquitous on Amazon. Although I did stop myself when I was slavering with greed, prowling round the living room for prey to sell, and said enough's enough.