Published by Fabian on 30 Jun 2009
I want to have one

Published by Fabian on 30 Jun 2009
The second symfony component has gone live. It is the Dependency Injection Monkey. For me as a Java guy, who is used to Spring or Guice it is a relief to see that finally there is a compact and great PHP DI container available. If you never have heard about dependency injection (also called Inversion of Control) you should try to understand it. If you have and are developing PHP you should try the symfony dependency injection. Or better If you are on Java, try Spring
Published by Fabian on 20 Jun 2009
Both presentations went fine. I actually liked that the “zenified” slides did not have any superfluous information on them. I could tell what I wanted and there was no distraction by reading.
The live coding also went very well, besides a small last minute change which resulted in an ugly null pointer exception rather than a plain error. My coding speed was fast, perhaps too fast but that was the impression I wanted to give. The message is: It is simple to do, you might need to learn it, but it is worth the effort. And I almost did it mouseless, but switching tabs still was easier with a mouse for me.
The last experiment of the day was an Open Space discussion. Which is actually very much like the normal discussions we have every day, so for me it only facilitates getting these discussions even in groups of strangers.
Published by Fabian on 19 Jun 2009
Today I am giving two short talks at our monthly Friday afternoon event. Both are short and somewhat different, so I am trying to experiment a bit.
The first one is about a small reorganisation and I will present what my new duties are. So nontechnical, and no real need to put a lot of information on the slides. I quite liked a few presentations applying principles outlined in “presentationzen” from Garr Reynolds, so I ended up trying it myself (and reading the book). The result is now very small: 6 slides. 6 words. 6 pictures.
The second talk is about the easymock framework, and is intended to show people how easy it is to mock complex objects for unit testing. I personally find this framework very much underrated and underused. Because I claim that it is so easy, I gave myself 10 minutes in which I will walk the folks through refactoring and testing a small class with easymock. The main challenge (and experiment) for me is to do this legible on a beamer. I plan only to use keyboard shortcuts, which strengthens the impression its easy, and is also better to follow than the disturbing mouse clicking. It also helps to reduce Eclipse to only the editing window, making it fit to a limited resolution
So lets see how it works out
Published by Fabian on 14 Jun 2009
symfonynerds has been running a survey. 250 symfony developers filled it out and the majority answered to question 8:
I have never developed in another web application framework
I consider this very alarming. If symfony is you first framework, then it should not be your last. Good developers need to know multiple frameworks, libraries, design patterns, concepts and so on. There is so much around that it would be very ignorant to stay with one player. You might be missing much better choices for other scenarios.
When reading the Whats new in Doctrine 2.0 slides I was very happy that Jonathan did look around. Doctrine 2.0 was redesigned to follow the Java Persistence API (and inspired by Hibernate).
This also brings up an interesting aspect of specifications: They are not only valid for the language they were designed for.
Published by Fabian on 12 Jun 2009
As a software developer it is not only important to know the latest frameworks, but to also know abut hardware evolution. Why? Because the hardware is executing our software. And the main problem there is that the hardware now can execute more than one thread in parallel. Well it can since some years, but only recently the number of parallel threads went up. And the days were this was only true for server hardware are over. The main problem is, that most software just cannot be run multithreaded, just because the code is written in a linear way.
When I upgrade my PC at home, I usually buy the latest architecture, but not the fastest available version. That is because they usually do not bring much added value for way to much added price.
Wednesday I got a box from silentmaxx, featuring an Intel i7 940, 6GB RAM with an Nvidia Geforce GTX 260. I chose a system built by silentmaxx, because they have specialized in building silent PCs. They have an excellent case designed for this purpose and only use selected and tested components. And they sell it for an appropriate price. So far I am pretty impressed, because it is indeed very quiet.
My next plans are now to start developing my Scala skills and see if I can get all 8 threads of the i7 working nicely. Oh well and such a rig is also good for gaming
The only problem will be to find out how the CPU is actually used. It seems that even the sysinternals tools cannot gather information about thread execution per CPU. Does anybody have an idea?