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.)
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.)
0 comments Labels: nonsense, planetapache
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.
0 comments Labels: java, nonsense, planetapache
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.
0 comments Labels: awards, planetapache
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?
0 comments Labels: internet, planetapache
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 ;-)
0 comments Labels: nonsense, planetapache
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?
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!
1 comments Labels: nonsense, planetapache
The office was a frenzy of excitement yesterday because the black perspex was delivered for the photography.
So I took this picture of a baby's Converse Allstars on it with my phone.
Nice? I think so. Imagine what we can do with an actual camera.
0 comments Labels: nonsense, planetapache
One of the first things I did when I started here in November was to introduce Jira, prior to that we lacked a certain amount of structure.
This appeared on the divider between the (recently relocated) programmers and the photography area this lunchtime.
I think I'm winning hearts and minds! ;-)
2 comments Labels: nonsense, personality cult, planetapache
The Apache James team have submitted two proposed student projects for Google Summer of Code 2008, you can read them here.
In brief they are:
1) Develop a VERP Mailet to allow James to write VERP modified return addresses on outbound messages, and an inbound mailet/matcher to identify VERP bounces and invoke configurable "do something" code.
And 2) James' provided mailing list manager is fine for small closed groups, but lacks the functionality of a more robust MLM, the project is to add some all or more of the following features subscriber and message moderation, double opt-in and bounce handling.
Spread the word, James needs Students!
2 comments Labels: james, java, mailet, planetapache