Archive for November, 2008

Published by Fabian on 25 Nov 2008

News about my book are spreading

Rüdiger from Innoopract today made the future existence of my book public in the Eclipse RAP Newsgroup.

The book itself made great progress. I finalized all of the writing work. Figures are ready, and supplemental information done. Book will now go into layouting and then into print. I am pretty happy that the tough times of writing every evening are now over. Now it is about marketing the book.

The website is coming along nicely. I am planning to do copy editing of it this week, and putting the live demos online. Then i can lean back and watch the money rolling in (just joking).

The next book? No I have no plans. It was tough and fun at the same time. I might be writing another book, but I don’t know when or about what. yet.

Published by Fabian on 24 Nov 2008

symfony featured on our company blog

symfony is mentioned in this post about PHP performance!
Well that was of course a bit cheating, because the posting is mine. Because we do a lot of Java performance troubleshooting and optimization and some of our customers are discussing using PHP for the web layer I found it appropriate to talk about measuring performance in PHP.
Feel free to discuss it in the comments section.

Published by Fabian on 24 Nov 2008

hma-info.de now on symfony 1.2

today I took an hour to update hma-info.de to symfony 1.2.

I hope that I can encourage more people to move their projects to a new version, cause there are new nice features in, performance is better, and we need some people to try it before we can release the final version of it soon.

The whole upgrading procedure of my site did not take longer than that hour, including the time I needed to fix some issues. Before the upgrade the page was running on symfony 1.0, is it was an upgrade to 1.1 and then to 1.2.

The first thing to play around with is: how to upgrade a project? The tricky thing here is that you have to use the old project which doesn’t know about an upgrade path, tell it to use the new symfony and then run the upgrade. Luckily there are instructions on the symfony web site that work like a charm.

The upgrade procedure asked me to delete a few files which were no longer required. Good! Less clutter means easier maintenance. Next I tried to run symfony propel:build-all and ran into the first issue:

Propel Behavior ‘type’ unknown

This took me the longest time to find. In my schema I had a column named ‘n’. The new yml parser translates this to ‘false’ and thus makes the properties of the column become properties of the table, which are behaviors.
I took the chance to give my columns ‘n’,'p’ and ‘s’ meaningful names.
I had to update a few save() function signatures according the symfony 1.2 upgrade guide.
The next issue I ran into was that Propel1.2 did not use a good utf-8 connection. I don’t know how it did that but the db had a utf-8 collation type but the data wasn’t. But somehow this was working before. Now I got garbage displayed. I ran a few UPDATE statements against the database, fixing the German umlauts and then I was done.
I threw away my 1.0 admin generator backend, because I anyway did not use it and regenerated a new one. Ill extend it now when I have some time this week to take advantage of the new capabilities.
I deployed and everything worked as before. But it is now even faster! And better, cause we knew, that newer is always better :-)
Next I will update my handmade routing to utilize the new routing framework from symfony.

But first of all, I will need to redesign the frontpage. News from 2007 are no news.

Published by Fabian on 12 Nov 2008

Stress level sinking, Writing done

The main writing phase for my book is completed. I wrote 7 nice chapters, and got 5 already reviewed. The editor is now working on 2 of them, and well i feel a bit empty :-) Nothing to do for the moment.
I also mostly completed the companion website. Its still a bit work in progress, but i want to keep the page “alive” during the next weeks, so doing an update every now and then.. good for SEO voodoo :-)

Symfony 1.2 beta 2 release was also a great success. We had some amount of work to do, but we did it. There are a few Milestones for symfony still this year, but they will come along smoothly.

At work everything is great, as usual, I love my colleagues. It is great to have them. Today I was again reminded that it was a good idea to join a small innovative company. I heard that my former colleagues, who were not sold to TCS already, will now get told that their office moves to Berlin… some 560km…
Which means that for most of them its like a lay off, but they won’t get any compensation… that really sucks.
There is just one thing that I don’t like here at the moment: One certain customer, where I work at their premises. Perhaps I am too picky about it, but I am the only one that spends almost every day 9-10 hours there.. And that just because there is virtually no planning of priorities or timings. There is also virtually no controlled development process. That left me today in a situation where I had to deploy software to test systems that was incomplete, not compiling or just wrong. I was the only one left at the office, figuring out how to get it deployed so that tomorrow morning testing can start.
So in that area my stress level is still on the raise…

Perhaps it is also the fact that I will never say: “No I leave now, figure it out yourself”. I am the one cleaning up after the party. And I am always looking for more to do. I really have to rethink what I learned during a coaching seminar: “Don’t let the monkeys on your shoulder”. I really have too many monkeys by now, and I need to coach people so that their keep their monkeys.

Sounds like a plan, lets see how well I execute :-)

Published by Fabian on 03 Nov 2008

Community Contributes Quality Translations

There are a few studies existing that check the involvement of the community into an open source project. The code quality varies a lot, and usually community patches do not find their way into the main source code. Sometimes the patch is very good but the style is just not the taste of the core developers.
With symfony I now noticed an area where the real power of community contributions unfolds: Translations.
Fabien created an initial translation of the new symfony admin generator from English into French.
Within 48 hours we have received 25 additional translations. I am pretty sure that shortly we will have covered all the main languages used on the net. This is great! And I think a key contributor to this is that basically everyone can do this. There are no real quality issues with these contributions, as translating to your native language is pretty easy. Also the amount of work involved is very low, and no extra tooling is required to translate. Its just easy.
However there are two issues with the translations:

  1. How to deal with updates?
    With every change of the base file all translations would need to be updated. Falling back to english would be ok but not nice.
  2. How to deal with conflicts/possible nonsense?
    The problem arises from the fact that the core developers cannot read the translation. In worst case there could be written: “this project sucks”. And what if there are two contributors contributing the same file with different content? Perhaps the best solution would be to do a quick Google Translate check and see if the contribution makes sense.

But even with those small obstacles in the way, using the power of the community is very suitable for translating small chunks of text into other languages. It works well!

Published by Fabian on 01 Nov 2008

Today was symfony 1.2 Day

Initially I thought that I could make good progress on my book project, but somehow that got stuck. At least I got OSGi and WAR deployment done…
Together with Fabien I spent the whole day shaping the symfony 1.2 beta release. We cleaned plenty of tickets and a few minutes ago were able to publish this release. So if you are into symfony development, please grab this release and push it to its limits. In the meantime we remain busy in ironing out the last remaining issues on the way to symfony 1.2 final, which is still this year.