Archive for August, 2008

So who is this SE80 guy? [Caption competition]

so do you find the corner of a room and start coding?
so do you find the corner of a room and start coding?

Do you know who this guy is? I know that all developers are a little anti-social until they have had a little of the amber fluid to loosen up with but this picture is just a little silly.

 
Fo those who are foreign to matters enterprisey and in particular matters SAP, this is a grab from the spash screen in the ABAP developers workbench. Resplendent in corporate # and # there Mr SE80 man sits in the corner of the airport departure lounge, alone.
 
I think this could be an opportunity to present to ABAPers collaborative development. This picture of “lone man coding” should be taken out the back and quietly shot. Every SAP project I have been involved in required a TEAM and this image could very easily be replaced with a shot of two guys working together (to get the job done?) in XP style or a code review or really anything but “SOLO MAN”.
Before we swing the “get rid of solo man” campaign into full steam, lets have a caption competition to see what he is thinking or saying.
Answers in comments below or take this image and add your thought bubble and trackback to this post.
I will buy the winner a beer next time we are at the same space time coordinates. No correspondance will be entered into etc.
Looking forward to see what you come up with.
Advertisements

Agavi 1.0.0 Beta 1 released

As a follow on from the talk at PHPLondon last week David has now posted this announcement.

Hi everyone,

after more than three years of development, Agavi has finally reached the first 1.0 milestone: 1.0.0 beta 1 is out! Grab it now at http://agavi.org/

As you might already know, it’s fairly identical to the stable Agavi 0.11 series, which has been ready for production use for a long time now and enjoys widespread use across many sites already.

This new release introduces a new build system for projects, and features a new XML configuration subsystem that is even more flexible and ready for the future while maintaining full backwards compatibility. Several other minor enhancements are also listed below, but as usual, the RELEASE_NOTES and CHANGELOG files know it all.
Please also pay special attention to the UPGRADING document which explains the changes to the configuration file formats (old configs will continue to work, however).

There will likely be another beta release before we enter the release candidates cycle as a couple of refactorings remain to be done, just like the new unit testing subsystem for applications. Note that use in production environments is not recommended at this time.

Also, I’m very happy to announce that a preview version of our new tutorial manual is up at http://agavi.org/docs/tutorial/. It covers the first couple of what’s going to be quite a number of chapters that explain the creation and improvement of the new official Agavi example application, which will also be used by other manuals, presentations and in trainings. Please have a look at it and let us know what you think; any sort of feedback is greatly appreciated!

But let’s talk about three important new features in 1.0:

– XML config subsystem with improved, namespace-aware handlers, support for multiple XML Schema (also using XML Schema Instance declarations), RELAX NG and Schematron validation runs in various stages of config parsing, support for XSL provided through external instructions and by <?xml-stylesheet?> processing instructions and convenient support for namespace versioning, which means we’ll have nice backwards-compatible configuration files in the future. Envelope and actual content of files are now separate, as described in the UPGRADING document.
– A completely new build system for creating and managing your projects. It features several wizards, as well as raw targets that work without interactive input. This allows extension and customization of build operations in your custom build.xml files.
There’s also an event listener system you can hook into for even more flexibility.
– Execution containers now have a request method. This means you can embed, for example, a slot with a login form, with the request method forced to “read”, so that this Action would never run the login operation even if another form on the page was submitted through a POST request. This should reduce a lot of request method related pains people have experienced when building heavily componentized web sites.

The rest is mostly refactorings and minor enhancements as explained by RELEASE_NOTES, CHANGELOG and UPGRADING.

Please test this first release thoroughly with your projects and report any issues you find on the mailing lists or the bug tracker!

Thank you all for using Agavi, it’s an absolute pleasure to work with such a great user base!

I am not a user myself – I am focusing on Zend Framwork. This is just a PSA.

Avagi – no criminals here

ScaffoldingIf you have been following along you may remember an Agavi advocate Mike haggled Symfony proponent Ian P. Christian at the PHPLondon conference in February.

Last night at PHPLondon, David Zülke said the correct quote was “I don’t want to call anyone a criminal …” David was presenting an very thorough account of the Agavi framework. Agavi has been round a while and I am not going to try and repeat or even summarise the talk my take away was that Agavi’s strenght is multiple representations of the same data with zero coding change. Everything is setup in config and abstracted and if you won’t json or soap or html or even irc you can have it.

If you are really keen the talk will be online at the PHPLondon wiki at some point in the very near future. Hopefully the new toy – the microphone / amplifier / mp3 recorder will have worked and there will be an mp3 for your listening pleasure. 

Of course this sort of talk brings out the testosterone and the one upmanship. I was refreshed to hear a couple of people say in converstion later:

  1. I like to have the url map on the the file system
  2. I think we are getting a bit drunk on frameworks

Both are valid points. The beauty of PHP is you can use a framework if the application lends itself to it or not. There is no one true way. There is no silver bullet. Once you get past the wow factor of the 90% of your app being build in 5% of the time from the commandline the realisation comes that you still need to build out the rest of your scaffolding into a real application. Sometimes the overhead is not worth it and sometime it is. As Laura Thompson blogged recently (okay it was last year) there is no one true way.

I am frequently irritated with the mindset that there’s One True Way of solving any kind of software problem, be it web platform, database choice, operating system, or methodological approach.  It’s been irritating me since I was an academic and I would present two different algorithms (let’s call them A and B) to solve problem X.  There would always be a student who wanted to know “which is better?”  Typically I would respond “In a situation such as […] A is better, but if you are looking at something more like […] B is better.”  Most people would be happy with that but there are always people who insist that one must just be The Best Way.

So if you use a framework – great and if you don’t – that is just as great. I will assume that you have thought through the reasons of why or why not and made the right choice for your situation.

Photo credit: kevindooley – thanks.

Have a great 08 day

This moment was just ripe with opportunity and I didn’t want to miss it.

This post has been published at 08/08/08 08:08:08.

Enjoy the moment.

(Also enjoy the Olympics and enjoy the fact that PHP4 is no longer being supported – upgrade to 5!)

The Annual A List Apart Web Survey

If you are involved in the web then head over to A List Apart and fill out. their second annual survey of web professionals.

If you are interested in last years results then look here for a nice pdf. There is also raw data for further analysis for if you want to do a Flowing Data and produce some reconstructed graphs.