What to do when symfony cli colorization does not work on unix systems

February 21st, 2010

symfony CLII recently ran into an interesting problem: symfony wouldn’t colorize the command-line output on any recently installed openSUSE (11.2) system. At first I was totally at a loss, but after diving into the code base and doing some debugging I finally found the core of the problem: the posix PHP extension was not installed.

So if any of you experience a similar issue, check if the extension is present and loaded. On openSUSE systems it’s enough to install the php5-posix package. Looks like the package maintainers start to leave out stuff that hardly anyone uses anymore, which is basically a good thing. It just caught me on the wrong foot :-)

I filed a ticket to include this in the symfony installation documentation because i couldn’t find it mentioned anywhere.

Symfony Live 2010 review

February 21st, 2010

Symfony LiveThe conference is over, I’m back in Vienna since Thursday evening and life has gone back to everyday normal. The city of Paris was quite interesting, I especially liked the broad architectural scope. Unfortunately I didn’t have much time for sightseeing. But let’s get back to why I was there, the symfony Live 2010 conference!

What was not so good

Altogether I liked most talks, even the infamous Microsoft one, because each single talk provided knowledge I didn’t have before. There are some general issues I want to address though:

  • Some speakers had a really bad French accent. I’m glad my English was good enough so I was able to follow all of them nevertheless, but for some listeners it must have been really hard.
  • Please please please provide portable headset microphones at future conferences. Speakers having to hold a microphone in their hands just look awkward, and it limits their freedom of movement and gestures. I mean, it’s not like headset mikes were ultra-future technology… This would also fix the “speaker A is much louder than speaker B because he holds the microphone too close” issue.
  • The Wi-Fi connection was really bad on the first day, but it was acceptable on the second. Looks like someone didn’t realize on time that there’d be hundreds of nerds with laptops present.
  • Please provide some way to get cola at future conferences, caffeine addicts will thank you for this, especially through the afternoon sessions ;-)
  • The only speaker I really disliked was the second guy from the Microsoft team. If I want to be shouted at like that, I’ll visit a boot camp and insult some drill instructor, not attend a software conference!

As said above the content of the talks was fine, although there were ups and downs of course. What was much more annoying was that some speakers seemingly didn’t know much about presenting stuff. This is of course acceptable for hacking nerds in general, but only until they have to speak at conferences. Please, guys, read some books about presentation techniques in advance before giving your next speech!

What was great

Let’s stop talking about failures and continue with things that require mentioning because they were great.

  • The overall organization was cool and professional. If there were any troubles behind the scenes they were kept hidden from the audience, which is fine.
  • The food was good.
  • The twitter visualization on the big screen was a really cool thing to do.
  • The selection of talks was OK. It addressed both symfony newcomers and experienced listeners.
  • The truly outstanding speakers worth mentioning were in my opinion (in order of schedule):
    • John Cleveley: this talk set the bar for the first day. Clearly audible, great presentation, interesting content!
    • Jonathan Wage: obviously an experienced speaker too, with lots of detailed knowledge
    • Stefan Koopmanschap: although the session didn’t provide much new information for me it was nice to listen to. He knows how to handle crowds.
    • Lukas Kahwe Smith: unlike his companion (don’t remember the name) he was cool, professional and easy to understand.
    • Scott Chacon: that’s what a presentation has to be like. Just like that. The reference for the second day, which was altogether definitely better than the first one.
    • Fabien Potencier: Fabien knows how to savor his fame in situations like this and he has every right to do so! What he does and how he convinces people to follow his lead is just outstanding. Standing ovations for one of the most inspiring web developers nowadays!

Symfony Live 2010 was a huge gain for myself. I met lots of interesting people and collected tons of first-hand information. Since it was the first (but definitely not the last) symfony or PHP conference I attended, future events will show how it compares.

Symfony 2 and the future

Symfony 2 will be awesome. I also checked out the brand-new Symfony 2 web page, which I recommend to everyone who is interested in PHP applications or frameworks.

It looks like phpBB 4 will be built upon Symfony 2, which I personally really appreciate because phpBB was my stepladder into PHP development and the open source community around 2001. After switching to PHP5 and OOP style programming I started to disapprove of the phpBB development style. Hopefully there will be a turn around towards more best practices in the future!

Before I forget it… the user stories

On the first day Stefan Koopmanschap announced that symfony needs more people writing success stories helping others arguing in favor of symfony. Every publishable story provided until the end of the second day would win a set of symfony books. I couldn’t resist this offer and sat through the late evening in my hotel room hurting my fingers by typing on my netbook keyboard for 4 full hours. Since I had filed similar content as my speaker’s submission (which was unfortunately rejected) I knew there was enough interesting stuff to write about. It was worth the effort: I got 3 symfony books. Thanks to the symfony team!

I don’t know when my story will be published, but I’ll link it as soon as it is. The title is “Running a TV station with symfony”.

Last but not least

Toni, I really would have liked meeting you, but it seems we just weren’t able to find each other. Let’s hope it will work next time ;-)

<off-topic> why is my Wordpress editor so damn slow recently? </off-topic>

Symfony Live 2010 has started

February 16th, 2010

Today Symfony Live 2010 has started. There have already been some interesting sessions, but the WiFi connection is awfully slow or even down most of the time.

I’ll be attending Symfony Live 2010

September 29th, 2009

Today I registered for the Symfony Live 2010 conference which will take place in Paris in February 2010. I’m looking forward to meeting lots of interesting people there!

Support symfony at the SourceForge.net Community Choice Awards 2009

May 14th, 2009

The SourceForge.net Community Choice Awards are on again and it’s time to nominate the greatest rapid application development PHP framework: symfony!

I’ve nominated symfony in 3 categories:

  • Best Tool or Utility for Developers
  • Best Project
  • Best Commercial Open Source Project

Click the picture to nominate symfony too! Of course don’t forget to read and follow the nomination rules to allow for a fair voting process!

Have fun!

TiddlyWiki – a JavaScript only Wiki engine

April 20th, 2009

Today I stumbled upon a JavaScript Wiki engine called TiddlyWiki. It consists of a single HTML file using JQuery to modify itself. There’s also a good documentation MediaWiki on tiddlywiki.org. TiddlyWiki has a plugin system where you can attach customization JavaScript allowing for various new features. It even provides an auto update mechanism allowing to replace the core JavaScript with a newer version.

If you want to save your Wiki content and settings you just have to allow the browser to re-save the local HTML file – using that it will just overwrite itself and remember its changes when you re-open the file in the future.

TiddlyWiki is intended to be used as a single user Wiki mostly, ranging from a powerful notebook or journal to a tool to document all your work. Since it creates backup copies of its previous state upon saving, you don’t have to fear losing all your work at once in the future.

I think it is really great fun to use and marks a new step in browser based software. After playing around for a while I quickly understood how to use it and what benefits one might gain from such a tool.

Try it out for yourself and have fun!

symfony at the “Linux weeks Vienna”

April 15th, 2009

From April 16th to 18th the so-called Linux weeks will take place in the city hall of Vienna/Austria. There will be a symfony desk providing general information and exchange of personal experience using symfony. Bernhard Schussek and Klemens Ullmann, the heads behind webmozarts.com, will give 2 lectures about symfony in general and concrete projects. I will be available at the symfony desk tomorrow (April 16th).

If you happen to be in Vienna at the time we’re looking forward to your visit!

Have fun!

Improving the forms even more

April 14th, 2009

After reading Bernhard’s great article about how the symfony forms framework could be enhanced I sat back and thought: how would I like the forms to be? What could be improved to increase my efficiency? Well, after 2 days of brain storming I have found those areas:

  • Field grouping
  • Field formatters
  • Required marks
  • Separators
  • Submit buttons
  • Help texts
  • I18n for everything

Read the rest of this entry »

Creating a routing-based menu in symfony 1.2, part 4: the full package

April 6th, 2009

During the last 3 articles I showed you how to define the menu structure, generate sfMenuItem objects and create a builder that does all this for you. Today I want to present you the full package of my sfMenuBuilder and describe all the additional options I included.
Owing to a comment by Hugo HAMON, I decided to remove all external dependencies, so now the routing and i18n have to be injected, making i18n optional.

Read the rest of this entry »

Creating a routing-based menu in symfony 1.2, part 3: the builder

April 3rd, 2009

After defining a menu structure and describing the sfMenuItem object it’s time to show you how to pack the whole menu thing up to generate the menu with a few lines of code.

Up until now we have defined a tree structure in yaml and created a PHP class to generate menu items recursively as well as render their content. We are able to load the object assigned to an sfObjectRoute and even find related objects and create route links for those through the sfObjectResolver class.
Read the rest of this entry »