Archive for the ‘report’ Category

Dutch PHP Conference (DPC) 2010

Tibo BeijenTuesday, June 15th, 2010
dutch-php-conference-dpc-2010

Past weekend the Amsterdam RAI was the centre of the PHP universe as there the 2010 edition of the Dutch PHP Conference was held. Similar to past year it consisted of two presentation days, which I attended, preceded by a tutorial day.

Among the presentations I attended on the first day were:

Kevlin Henney’s keynote presentation, titled 97 Things every programmer should know. I suppose every attendant will have recognised some of the things he addressed, like “Do lots of deliberate practice” or “Hard work does not pay off”.

Design for Reusability. In this presentation Derick Rethans showed a number of concepts that can help in making code more reusable. Topics included Dependency Injection Containers, the fact that private methods can never be tested and Tie-Ins. Interesting was that Derick stated that reflection is slow whereas on day 2, in the Doctrine 2 uncon talk reflection was said to be be reasonably fast (in php 5.3 that is).

Database version control by Harrie Verveer was a very interesting talk, if only for the fact that it is a topic I’m confronted with at my day job. He showed tools like DbDeploy (and Phing), Liquibase, Doctrine Migrations and Akrabat DB Schema Manager. Especially ineresting was how branching can trouble database versioning.

Stephan Hockdoerfer’s presentation Testing untestable code showed some very unorthodox examples of how to test code that seems untestable, like replacing function names, manipulating the include path or mocking the filesystem. Interesting and besides that it’s great stuff to scare co-workers with (“look what trick I’ve learned!”).

Due to an unlucky combination of a tiresome week, a busy schedule ahead, a lot of time to kill until 20:30, and possibly age, I missed the social, so I was not devastated when day 2 started.

First presentation of day 2 was titled Security Centered Design: Exploring the Impact of Human Behaviour by Chris Shiflet. Emphasis was not on the technical aspects but on the people using an application. The presentation contained a very effective demonstration of ‘change blindness’. Quote of the presentation, and as far as I’m concerned whole DPC10: ” If you focus on the technical problem you’re missing the actual problem”

Following the keynote talk, Rob Allen covered the topic of Stress-free deployment. There was some overlap with the database versioning talk of the previous day but still a lot to learn. Especial interesting I found the part about branching, where Rob showed how branching features as well as releases can be a good solution for some pitfals concerned with release management. Not entirely in line with the branching ‘problems’ mentioned in the database versioning talk so it’s definitely a subject I’ll look into further.

After the lunch I visited the Unconference room which I didn’t regret. Jeroen Keppens opened with a short presentation on a topic we need to look into at my job in the near future: Integrating Zend_Acl and the domain layer. Short but very insightful. After two presentations about development for mobile devices (PhoneGap looks very interesting) and Cairo I decided to stay in the uncon room some more (thereby skipping the Domain NoSQL talk) as next on were two ORM-centered presentations: First Juozas Kaziukenas explained the principles of an ORM, followed by Benjamin Eberlei giving insight on Doctrine2. That looked promising yet also, after viewing the generated SQL of some of the more complex examples, spawned a very interesting discussion I had with my co-worker who visited Sebastian Bergmann’s presentation The Cake is A Lie: What problems can arise from generated code that isn’t tested and nobody is responsible for?

Concluding: Similar to past years this was a refreshing event that fuels the urge to improve by adopting new techniques and better methodologies. Besides that I really liked the Unconference initiative. Till next year!

Fronteers 2009

Tibo BeijenSaturday, November 7th, 2009
fronteers-2009

About five months after having enjoyed server-side talks at DPC09 it was now time for front-end matters: Fronteers 2009. There’s no exaggeration in the description on the fronteers site: A stellar line up of speakers who are at the front of what’s happening in web-development. Generally speaking I really liked most of the talks and some of them pointed me to some interesting new techniques and ideas.

Slides of the presentation (if online) are listed at the Fronteers site and at the end of this post (same content, read along). I’ll briefly recap some of the (for me that is) most interesting parts.
(more…)

PHPBenelux meeting at Freshheads

Tibo BeijenWednesday, September 30th, 2009
phpbenelux-meeting-at-freshheads

Yesterday (sept. 29th) I went to the Freshheads office in Tilburg to attend the monthly PHPBenelux meeting. As it appeared it was right around the corner of the 013 venue so it was an easy find.

Two talks were scheduled and Stefan Koopmanschap kicked off the meeting with a presentation titled “Integrating Symfony and Zend Framework” (slides). After a short introduction pointing out the benefits of using any framework at all, Stefan showed how both Symfony’s and Zend Framework’s autoloaders can be initialized in the application’s bootstrap code. After that using ZF components in symfony was showcased by using Zend_Service_Twitter inside a Symfony project. Being quite familiar with Zend Framework that was not really surprising (to me) but the part following was: Integrating Symfony into a Zend Framework project. First of all it was new to me that there are “Symfony Components“. Apparently Symfony is not an all-or-nothing affair anymore. Most of the components were briefly covered of which I especially found the Event Dispatcher highly interesting.

After a brief pause, Juliette Reinders Folmer hosted the big “Why Equal Doesn’t Equal Quiz”. 65 Questings testing the knowledge of the attendees about the type conversions going on when writing code like:

$a = null;
if (empty($a)) echo 'empty';
 
foreach(array('test','0','etc...') as $val) {
    if ($val) echo 'has value';
}

Questions like the ones above where the easy ones… Especially interesting where the ctype family of functions. They are especially usefull for checking database result or GPC data. Although I had seen the ctype functions before I kind of forgot about them so especially there I had wrong answers. Score: 45 out of 65.

The evening concluded with some informal chatting and some beers generously provided by Freshheads. As usual I went home with some new things on my ‘got to check that out’ list…

DPC09 down, DPC10 to go

Tibo BeijenSaturday, June 13th, 2009
dpc09-down-dpc10-to-go

The biggest PHP event in Holland is over. Two great days have passed and it feels like it were just two hours. I didn’t attend the tutorial day so at friday after a brief intro by Cal Evans (with great cartoony visuals) the event kicked off with the opening keynote by Andrei Zmievski. A talk about what makes PHP the language it is and about where PHP is heading with 5.3 and 6. It had humor, appealing imagery and a nice metaphor comparing PHP to a ball of nails: ‘whatever you throw it at it sticks to’. For me what showed the maturity of PHP, was the fact PHP6 is undergoing (or will so) compatibility tests with respect to packages like Drupal, WordPress and Zend Framework.
(more…)

Linux-Fu @ phpGG

Tibo BeijenFriday, April 17th, 2009
linux-fu-phpgg

Last night there was a phpGG (dutch php user group) meeting in Utrecht with a presentation by Lorna Jane titled ‘Linux-Fu’. Attended by about 10 people, console basics & tricks were addressed. I’m not unfamiliar with Linux so the basics weren’t that new. For development I mainly use IDE’s so I just use the console to edit the occasional config file, create some symlinks, that kind of stuff. For those tasks I find myself sticking to set of commands I’ve learned and just occasionally taking the time to do an in-depth google search for better ways to get the job done. So with regard to linux shell trickery there are things to learn for me. Neat timesavers:

Switching between current and previous directory:

cd -

Going home can be done without the ~:

cd

How ‘grep’ can beat your IDE. I’ve been playing around a bit and this is really a quick way of finding all classes within a directory that implement an interface (and it’s fast!):

grep -i -r 'class ' . | grep implements

And there’s ‘screen’. Very useful for handling multiple terminal sessions without the risk of losing them all due to a connection hick-up. Lorna has some config examples on her site.

So not all was new but there were definitely some nice starting points to investigate further.

Fronteers: Meeting march 10th

Tibo BeijenSunday, March 15th, 2009
fronteers-meeting-march-10th

At the PHPgg Frontend Special I first heard of Fronteers, an association of dutch front-end developers. Past tuesday they had a meeting at Media College in Amsterdam. As meetings are open for non(yet)-members it was a nice opportunity to get to know more about Fronteers. Two topics were scheduled: jQuery and SUAVE.

jQuery

Until now I have mainly used the Prototype framework for Javascript projects. As the prototype library, escpecially when bundled with scriptaculous, is quite ‘big’ I was interested in hearing some more about the ‘lean and mean’ jQuery. In a short (but focussed) presentation of Edwin Martin some of the key aspects of jQuery were illustrated, most notably: Method chaining, Plugins (nice for keeping things organised) and Live events (curious about performance). The jQuery motto ‘do more, write less’ definitely stands although the functionality seems really focused on selecting, modifying and event-binding. I was missing Prototype’s class inheritance but as I read from the Fronteers meeting report that’s being worked in in the form of Classy Query.

Suave

Next was a presentation, delivered by Marcel Beumer and Vincent Hillenbrink, about Suave, a stand-alone front-end. It’s a MVC based framework that allows front-end developers to communicate with a ‘back-end’ that exists solely in the viewer’s browser. This way front-end developers can start creating templates and interaction and show working versions, without being dependent on properly functioning back-end software. In the background there is some XSLT databound templating going on thereby allowing for easy integration with back-end software once it’s ready. Suave isn’t finished yet so no online information is available. They aim at releasing a first version in about half a year, bundled with examples demonstrating it’s potential.

Of course there was plenty of time after the presentations to meet some people and chat with co-front-end-developers. Nice meeting!

Engineering World 2009

Tibo BeijenWednesday, February 11th, 2009
engineering-world-2009

Past saturday (february 7th) I visited Engineering World, a conference organised by Sogeti, as both attendant and speaker. With my colleague Richard de Vries I delivered a presentation on the topic usability. I attended some interesing presentations of which two were about methodologies: One about SCRUM and the closing keynote by Ian Spence of Ivar Jacobsen International about Agile. The latter with all of the myths about Agile (Doesn’t matter where the team is going, as long as it’s going somewhere) being tackled in true Mythbuster fashion. Another (and totally different) presentation was about ‘augmented reality’ and was delivered by Touching Media. Picture yourself (in your younger years) in a Lego store, holding a box in front of a camera, and seeing yourself on screen with a 3D representation of the Lego model coming out of the box. Nice.

PHPgg Frontend Special

Tibo BeijenSunday, February 8th, 2009
phpgg-frontend-special

Last saturday (2009 jan 24th) I attended the phpGG Frontend Special. phpGG stands for ‘PHP Gebruikersgroep’ which translates to ‘PHP user group’. The meeting was held in a nice little theater in The Hague and was attended by what looked like about 50 people. The four main presentations scheduled:

  • Microsoft – User Experience on the web
  • Adobe – Flex/AIR
  • Javascript – 8 Reasons every PHP developer should love it
  • The frontend is your friend

(more…)

MSDN InTrack: Microsoft Webstack and PHP Pt. 2

Tibo BeijenMonday, December 15th, 2008
msdn-intrack-microsoft-webstack-and-php-pt-2

Following my first post on the MSDN inTrack day I’ll now cover the second half of the day. The two topics featured were the presentation side of things and the Microsoft Live platform.
(more…)

MSDN InTrack: Microsoft Webstack and PHP

Tibo BeijenWednesday, December 10th, 2008
msdn-intrack-microsoft-webstack-and-php

Last week I attended a one-day Microsoft event about what the Microsoft platform has to offer for PHP developers. Four topics were covered: MS Server 2008 & IIS 7, SQL Server, Presentation and the Live platform. As was explicitly mentioned, the event wasn’t about ‘learning PHP’ but about ‘what’s in store’. It seems like Microsoft takes PHP’s growth seriously . In this first post I’ll cover IIS and SQL Server 2008.

(more…)