Wednesday, April 30, 2008

Microsoft iPod Carton

Its old, but I only saw it the other day, and I laughed..
(If you can't see the video, perhaps you're reading this on a feed reader, click this link to you tube.)

Tuesday, April 22, 2008

OMG - java weenie goes LAMP!

Well yes, I've spent the past week or so trying to apply a load of stuff that I want to do from the world of Java to the word of LAMP, or php to you and me.

I should also say that before I embarked on my career as a java-weenie I'd spent four years man-and-boy programming perl, so the php itself wasn't any kind of hurdle, my challenge has been to see if I could introduce all of the application architecture patterns which I know and love from Java world.

So what things have I uncovered?

1/ IDE - the Eclipse PDT, with zend debugger, is excellent. Not quite as robust as Eclipse java tools, there are still some flaky moments and the code completion can't always work out what class $this->thing actually is, but that is all made up for and more by subclipse and the zend debugger. Keep up the good work PDT guys. For others who want to investigate I followed these instructions.

2/ OOP Yes, PHP5's OOP is pretty decent, but (obviously) it is weakly typed which I find annoying coming from a strongly typed background. And surprisingly I had to write my own classloader, which was fun and instructive and it seems to work fine, but why? I haven't started using exceptions yet, hopefully they'll be familiar.

3/ ORM Oh yes, this is cruicial to my plans Mua hahaha, and it seems so far that the excellent Doctrine ORM is well up to the task, if not quite in the same league as Hibernate.
One thing thats puzzling me is where the transactionality has gone, but perhaps thats because I haven't read the manual fully yet.

4/ Logging, oh wow- log4php - in incubation at Apache this is the php sibling of log4j it works fine and smells very familiar.

5/ Unit testing, haven't tried it yet but while I was talking through my researches with the guys who will have to suffer the consequences of my decision making they said phpunit, which certainly sounds like the right thing!

6/ MVC I'm not keen to adopt a big framework wholesale, for reasons which I can't be bothered to explain now, but its been relatively painless to knock together an OO MVC framework using Doctrine, homespun controllers, and Views generated by the Smarty template engine which at least lets us bind, using simple {$my.attribute} syntax, display elements to objects from the model, not sure how far Smarty will suit at this early stage but its looking promising for now.

I have no stirring conclusions at this stage, but its looking good, stay tuned and I'll let you know how it all turns out.

Tuesday, April 08, 2008

Geek Heaven Award

GSOC mentors have been introducing themselves to one another, and as always I've been avidly viewing the more esoteric web sites which this process introduces us to.

Today's winner (and its only 9:45 am) has to be Hironobu's HDD temperature graph here for its Zen like ability to ask us as many questions about the nature of life as it answers about the temparture of his drives.

Google App Engine

Staking my place (I'm always well-behind-the-curve!) I just tried to sign up for the Google App Engine trial, after reading about it here, but its already full :-(.

However the docs make interesting reading, and at least I'll have time to figure out how to use it and what it might be used for as I wait for the program to expand.

@Work right now I'm thinking about things like code escrow, how to convince client's lawyers that they don't need to own the hardware, and business continuity. That all puts a different flavour on my view of stuff-like-this, I wonder what kinds of SLA's & other protections Google will offer commercial customers?

Saturday, April 05, 2008

The Green Shoots of Common Sense?

Digital Urban: US Census Drop's PDA, Adopts Pencil and Paper

Thursday, April 03, 2008

New Studio

Studio, originally uploaded by danny angus.

We've finally re-arranged the office, turning what was the programmers room into a photography studio. Now we have room for eight more people, they'll get a flat-pack desk and drawers as part of the induction pack ;-)

Wednesday, April 02, 2008

Dell PowerEdge R200 - Simulating hardware failure

Warning, I'm not advocating that you *you* do this!
Determined to have a free (as in beer) operating system on the new servers I tried to put Ubuntu on them, but I couldn't get dell's open manage to work with the storage controller :-( so I've gone to CentOS 5.1 instead. Its more of a pain to get going with but probably a better bet in the long run.

Anyhow OpenManage installed fine, but being an untrusting guy I couldn't ship them off to the colo without knowing that I would spot a drive failure, so we simulated a failure by pulling out the cable. What do you know? It worked as advertised, and after pluging it back in again and rebooting (the R200's we've got don't have hot-plug drives) it rebuilt the drive quite happily.


Time to do the other R200 and the PE2950III, the 2950 has 8 hot plug 2.5 inch bays, we've only got 3 drives in there right now in Raid-5. How the hell can raid 5 possibly work?

pe2950III Energy Smart

Unless the third drive is like schrodinger's cat, in which case it would be a complete copy of whichever drive happened to be missing, my power of imagination is defeated by the idea that any 1/3rd of my data can be created from the other 1/3 and some meta-data bout the missing stuff. If thats the case why do I need the missing drive at all? It all makes no sense to me, but I'm happy to trust it!

I know nothing, I'm not a fortune teller, and you'd be insane to think that I am. This disclaimer was cribbed from an email footer I once received. It is so ridiculous I had to have it for myself.

Statements in this blog that are not purely historical are forward-looking statements including, without limitation, statements regarding my expectations, objectives, anticipations, plans, hopes, beliefs, intentions or strategies regarding the future. Factors that could cause actual results to differ materially from the forward looking statements include risks and uncertainties such as any unforeseen event or any unforeseen system failures, and other risks. It is important to note that actual outcomes could differ materially from those in such forward-looking statements.

Danny Angus Copyright © 2006-2013 (OMG that's seven years of this nonsense)