Archive for the 'symfony' Category

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.

Published by Fabian on 29 Sep 2008

The “Read Code” Initiative

I have been at Peter Roßbachs talk at RheinJug on Thursday (here another blog post from me). One especially interesting thing I noticed is that he was encouraging people to start contributing to OpenSource projects and read more good code.
This is especially interesting as basically on every gathering I have been in the last weeks, everybody was talking about “reading code”.
Fabien Potencier, lead developer of symfony, also claims that it is very important to read code and contribute to Open Source in his latest blog post.
I think there is some level of saturation reached now, there is just too much bad code out there. We all need to get rid of old code, get rid of bad code, get rid of slow code and get rid of duplicate code.
To do this we all have to know more good code. I have written much crappy code in the past especially because I did not know of better ways to solve certain issues. But there are many good and well developed libraries out there. It is much better to read that code and if it is buggy, contribute to it.
There is also nothing wrong with taking code and duplicating it when the license permits it. It should be done only when there are good reasons to exclude the rest of the library and only if you are willing to merge fixes for the original code. But at least it is way better of trying to solve a problem again on your own, producing bad code.
More important it is required to contribute to good OpenSource projects. Peter said: “oh well, we all have gotten old, have families and better things to do at the weekend than just coding”. Perhaps its also a fault of the projects not to recruit new people, but there is a risk of good projects dieing out, as seasoned developers might loose interest.
The other option is to start a new Project. But one should only do this when there are fundamentally different ideas behind, that would not be possible in an existing Project. If its just about “I can write better code” than it should be proven in an existing project. In fact all projects are happy about patches that make their code better.

  • Read Code
  • Improve Code
  • Share Code

Published by Fabian on 14 Sep 2008

symfonyCamp 2008 and symfony 1.2

camp

Yesterday was the last day of this years symfony camp. It was a great gathering of the community and also of the symfony core team.

symfonycamp_symfony_core_team

There were fantastic presentations:

  • from pookey about how to manage your farm with the admin gernerator and keep you cows dry
  • fabien talked about the future of symfony (with its DI container coming in 2.0) and how to do code refactoring with tests backing you up
  • dustin showed his ysfYUIPlugin and presented Yahoos lessons learned
  • stefan gave us all the details of the secret super powers of the debug toolbar
  • while jonathan gave a deep intro into doctrine (seems he forgot that the talk was propel vs. doctrine :-) )
  • but francois backed jon up by demonstrating how to develop good plugins with his dbfinder plugin as example which solves propel issues

In total I think the camp improved form last year with some more thorough talks and about twice as many symfonians participating. Organization from DOP was great, including the usual BBQ and as special event a real casion, where we could play with symfony money (special thanks to pookey who managed to loose all money after winning about 800 symfony dollars :-) ). Breakfast and lunch was pretty basic as last year, so it would be nice to improve there slightly for next year.

symfony 1.2

During the camp I took my chance as release manager for 1.2 to talk to every involved member of the team who was there. In addition, we spent some time before and after (and sometimes during) the talks to fix some bugs, clarify tickets and close them and implement new features. Fabien also did a live commit of the new RESTful routing. There are still 47 tickets open for 1.2, but only 13 of them are classified as defect.

With regard to the main features, there is quite a lot done already. Propel 1.3 work is about to be finalized, as well as my work on separating Javascript Helpers into a plugin. All code for PHP<5.2 has been removed and as the groundwork for the new admin gen is done Fabien can start working on this. JWage also is about to bring Doctrine support up to Par, so only Swift Mailing integration and Input Filtering are not done yet.

I am considering to do the feature freeze for 1.2 in about a month, so we can get out 1.2 on time.

Published by Fabian on 12 Sep 2008

Just had my talk on symfony performance tuning at the symfony camp

having a generic talk in a short time on what options for performance optimizations for a web framework is not an easy task. I just completed my talk, and even when I was slightly exceeding my 45 minutes, I think I managed to transport the message that there are many options to start working on bad performance. On the other hand, main contributors to performance issues are most of the time just a few factors like number of HTTP requests and database requests. Again its 80/20: 20% of the available tuning options solve 80% of the performance issues.

I hope that everybody could follow the presentation, and even more, can apply some tuning to their projects to get better performance. If you were unable to attend or want to review my slides, here they are, uploaded as PDF:
Full Stack Web Application Performance Tuning

and on slideshare:

Other presentations from the camp can be found also on slideshare and there are some images on flickr

Published by Fabian on 31 Aug 2008

Creative Writing Stress

Seems that I am a bit loaded with doing creative writing. Besides day2day work I am preparing

  • A presentation about Optimizing Symfony Performance for the symfony camp, happening from 11th – 13th September. Luckily I got most of the slides already done and just need to polish and prepare the rest.
  • A manuscript for a book I am planning to publish next year. At the moment I am discussing it with some publishers.
  • A talk/review of Effective Java 2nd Edition, which will present the New and Noteworthy. I will hold it on our company Friday events. Later the material will also be published on our webpage.
  • Material for a regular column in a german Java magazine. My part will be Web stuff.
  • The symfony 1.2 release. Well actually no creative writing, but some planning, coordination and of course some programming as well.

But I am not complaining, I like being loaded with work. It makes relaxing a whole sunday even more interesting. But I thought it would be nice for you to know that I have less creative writing time for my blog at the moment.

« Prev - Next »