Archive for September, 2008

Published by Fabian on 29 Sep 2008

jQuery wins the race

It seems like jQuery has beaten Prototype, Mootools, Dojo and all the others.
While recent Garnter Studies still claim Prototype and Scriptaculous being the leading duo, this will for sure change.
Microsoft and Nokia announced that they will integrate jQuery into their software stacks. While Mircosoft and Nokia are not Google and Yahoo! and seem not to be that important in Internet business right now, one important detail should not be overlooked:
Nokia and Microsoft dominate the “runtime market”. Their systems run the majority of software applications, Nokia for the mobile market and Microsoft for the desktop/laptop market.
As I said already in my post about Googles Chrome browser, I think that it is very important to support JavaScript in the platform.
This announcement could make a noticeable shift in market shares towards jQuery. Who could dare to ignore the new first class citizen in the web platform world?

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 23 Sep 2008

Being a Sheep Dog Now

Yesterday and today, I had a very great Scrum Master Certification Training. It was held by Jeff Sutherland, Co-Creator of SCRUM. I have been using agile techniques since years, applied SCRUM at Nokia/Nokia Siemens Networks, but actually never got certified. As you say in agile: “this can be fixed later on”. And I did, became Certified Scrum Master today.

It was pretty interesting to get the training first hand from Jeff, much better than getting only second hand information and reading articles and books. Jeff was able to give me many answers on questions I did not know that I had them.

Now the challenge will be to implement it in our customer projects, but I am even more convinced by now, that SCRUM and XP are very good agile processes that will make your project better, earlier and cheaper.

But from now on I am a sheep dog :-)

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 02 Sep 2008

A new Operating System was born

Google is attacking Microsoft for the future market of Operating Systems.

Already some time ago people started to discuss about the browser being the future application platform, virtual machine, or even operating system. But up to today browsers were designed for displaying web pages.

But today, everything has changed. Google presented Google Chrome to the world.

Google is the first one to do a radical perspective shift. Chrome is no longer a reader for HTML pages, but it is designed as Application Platform for Web Applications, oh and by the way: it can also display HTML.

It includes Google Gears as “registry” for Web Applications, a task manager for everything in Chrome, and blurs the borders of Applications and Web Applications by putting a GMail icon on your desktop that you can open up standalone.

Lets be all excited about the next days, where thousands of web gurus will put their hands on Chrome and see if it has the potential to become THE platform for running future applications.

Be sure to watch the introduction video by the Chrome development team