About IT and Sports

My Web development experiences and sports encounters


Choosing a PHP IDE (part 2)

In my previous post I highlight some important features of IDE’s. I will try to explain how the well-known IDE’s perform on these features. I will give some comments on the following apps Eclipse PDT, Zend Studio, Netbeans, Aptana and Komodo.

Eclipse PDT
This eclipse version is a special tailored version for PHP development. Eclipse is very well know and popular open source framework. It counts numerous of plugins and the settings in its configuration section are countless. You might see this as a strenght, but I can also work against you. I for one have never managed to run a project the way I want it to. Creating a new project takes a long time. Recently a feature has been added to create a project from source. Which is handy but probably also the reason why creation of a project takes a long time.

A second problem is code completion. You need to enable Automatic assist in the Code assist section of the PHP configuration. But unfortunately code completion seems to be incomplete.  It might have something to do with extreme long building process after you created a project. This easily takes more than an hour. Additionally PDT freezes sometimes and I even witnessed some hangups. After running into these problems I don’t need to explain that I gave up on Eclipse PDT quite soon.

Zend Studio
As I stated in part 1 of this article the latest version of Zend Studio is based on Eclipse. This is currently version 7.1. Zend is supporting the Eclipse PHP development (PDT). They bring out Zend Studio with some enhancement like support for Unit testing, remote servers,  svn integration, zend framework, code generation and refactoring. In general my experience with 7.1 is that it is slow. Some improvements were made lately but don’t try to run a project from samba shares or ftp servers because you will get disappointed. Other reasons of irritations are the ‘file out of sync’ messages and the long project building time. But when you get your project up and running you’re fine from there. Studio 7.1 offers a good editor and all viewing capabilities you would want to have. A nice feature is the ability to mark and rename a variable, without have to search and replace.

Another Zend Studio option is version 5.5.1. This is ‘the old’ version which is not based on Eclipse but is still downloadable from zend.com. It is fast, has most features you need and is quite reliable. I especially like the remote server options. Just add a ftp folder to your project and you can start working right away. I am not seeing this in any other IDE. Code completion is ready after a few minutes even when working van samba of local folder.  And code completion works pleasantly.

A big advantage of using Zend Studio is the integration with the Zend Debugger. When you are using Zend Server or Zend Platform you can connect to the integrated debugger to step through your application. It is also possible to install the Zend Debugger separately on your server. Studio 7.1 even has local debugger integrated although I did not succeed to get it running with complex application like a CMS or Zend Framework app. Especially handy are the browser toolbars Zend offers to start a debug session from firefox or IE.

A free alternative is Netbeans. A project is started very quickly. It builds the project in the background to load code completion in memory, but you can start editing right away. Code completion has a problem when you try to work with samba shares or ftp folders. It is just way to slow which even makes Netbeans freeze for about 20 seconds or more. The problem has been noted and the Netbeans community is working on a solution which should be available in the next version 6.9. Netbeans has ftp projects. Setting up such a project downloads the sources locally. It is not possible to edit direct from server without having the download the complete content, which usually takes a long time before you can start working on the project.

The next eclipse variant is Aptana Studio.  It’s free. After downloading and installing Aptana you need to install the PHP Development Tool (PDT) plugin. Just like its soul mates, Aptana suffers from slow project creation. It is not possible to create a project from sources immediately. You have to add a folder manually to the project using the advanced button in de folder add dialog. It is strange to see that when I opened files from the project browser, the default php editor on my Macbook was run. To prevent this you need to make Aptana your default editor. Code completion didn’t work. A strong point of Aptana is said to be support for javascript libraries and javascript debugging.

Code completion in Komodo IDE is pretty fast but tends to make some mistakes here and there. I could not find out why these errors occur, they seem to be random. Starting a project is quite easy. Just create your project file in the source root and off you go. Komodo analyses the sources quickly so you will have code completion in a few minutes. I think that Komodo is fastest off all IDE’s on this point. Minor point is that I am missing a good class viewer. Only the current class is shown. Extended classes are missing. I also like to keep the project viewer and class viewer visible all the time. This does not seem to be possible in Komodo.

At the moment my prefered IDE is Zend Studio 5.5.1. It’s fast and reliable. Main reason for choosing 5.5.1 is the very good preformance of code completion. Furthermore it supports ftp projects en debugging.

If you want start off with an free IDE, I would advise Netbeans. You need to develop from local sources otherwise Netbeans is unworkable. But from there you will enjoy this editor very much. The performance problem should be solved in version 6.9 which is planned for march 2010.

Although I didn’t test all IDE’s in the same degree, this article gives you some insight into a number of important features of IDE’s. When you’re in the process of making a choice for an editor, just try them for a week.  But more importantly, ask yourself the question: “What is important for me when writing code”.

Let the games begin!

Het is altijd weer en speciaal gevoel als de Olympische Spelen beginnen. Ook als is het dan 4 uur ‘s nachts, je wil er toch bij de openingsceremonie zijn. Ik vraag me altijd af wat de Olympische spelen zo speciaal maakt. Is het de omvang van het evenement? Het grote aantal sporten? Het grote aantal landen dat deelneemt? Het enige evenement waarin meerdere sporten tegelijkertijd plaatsvinden. Dat het maar om de 4 jaar plaats vindt? Een topsporter vaak maar 1 kans krijgt om aan de OS deel te nemen? Verbroedering van landen? De historie van het evenement?

Waarschijnlijk zijn het al deze argumenten samen die dit evenement zo speciaal maken. Ik ga er in elk geval weer van genieten.

Choosing a PHP IDE

Working with PHP  the past 10 years I have been tweaking my code with quite some different editors. From simple text editors to fully featured Integrated Development Environments (IDE). In this article I will outline what I think is important in choosing your editor of preference. Furthermore I will discuss some of my experiences with different editors.

IDE’s offer a lot of advantages in comparison to text editors. Still I think it is useful to learn a command-line text editor. Most of us are deploying on a linux/unix environment. Sooner or later you will have to edit a file directly on the server. Knowing how to use ‘joe’ of ‘vi’ may come in handy. My preference goes to joe (probably because I managed to remember the keyboard commands for saving, searching and copying). One disadvantage is that joe is not always installed. That’s the big advantage of vi. It will probably work on every server. The vi editor is a little more complicated, but can be very powerful If you are able to manage its functions.

Now let’s focus on PHP IDE’s. Before looking at the products out there, what is important when you’re dealing with PHP code. First of all there are the default functions you will find in all IDE’s: code highlighting for PHP, html and javascript, project management and file browsing. Differences can be found on other functionality:

1. Code completion. Being able to see methods in a class and parameters in functions makes a programmer much more efficient. If you are a serious programmer, you actually can’t do without code completion.

2. Ftp projects. When you work on many projects because of short lead time or long support agreements, you want to have quick access to staging or production environments. It would be best practice to use version control tools such as CVS or SVN to manage your code on remote servers, but not all servers are equipped this way.

3. Class information. Easy overview of methods and properties and access to extended classes makes your life easier.

4. Text search. Every programmer searches trough code to find code snippets. How did I do this before? Does the framework already have what I need?

5. Variable highlighting. Because PHP is weakly typed, you will not easily notice typo’s in variables when running your app. If your editor can manage these variables, you are likely to make less mistakes.

6. Debugging. Stepping through code can help you to find complicated bugs quickly or learn to understand a new application. The best know debuggers are XDebug and Zend Debugger

IDE’s most used by PHP programmers are Eclipse PDT, Zend Studio, Netbeans, Aptana and Komodo.  Open source and free are Eclipse PDT and Netbeans. Komodo has a free community edition (Komodo edit), but this version is stripped. To make a valid comparison you need to buy the commercial version (Komodo IDE). Zend Studio 7, Eclipse PDT and Aptana are based on the Eclipse framework.  A few years ago Zend made the decision to base Zend Studio on Eclipse. The old Zend Studio is still available. The last old Zend Studio version is 5.5.1.

You’re probably tired reading by now. Well… a least I’am tired writing. I will continue this article in my next post in which I will discuss the pro’s and cons on these IDE’s. And to give away a little secret…. I am still using the old Zend Studio.

EK Handbal 2010: duitsland mist spelverdeler

Het Europees Handbal kampioenschap verloopt niet best voor onze oosterburen. De wereldkampioen van 2007 kon in de vier partijen tot dusver alleen nog maar van Zweden winnen. Polen en Frankrijk waren te sterk en tegen Slovenie werd slechts een gelijkspel behaald.

Helaas kunnen we via de standaard kanalen op de Nederlandse buis alleen de Duitse wedstrijden zien. Daarom kan ik alleen een mening vormen over het spel van ‘ die mannschaft’. Het Duitse team is wederom, ik zou haast zeggen traditioneel, opgebouwd uit sterke grote spelers. Individueel sterk en bovenal veel ‘kampfgeist’. Maar in de aanval missen ze creativiteit, tempo wisselingen en de rust om te zoeken naar een goede kansen. De man met het hardste schot van het toernooi, Lars Kaufman, hoort met schotpercentages van 3 uit 10 niet thuis in de basis van een toekomstig Europees kampioen. Zeker niet als je naast een hard schot niets anders te bieden hebt. Coach Heiner Brand wil de problemen oplossen met ingewikkelde loopwegen en 2e golf break-outs. De simpele doelpunten uit de laatste optie willen wel maar teveel inzetten om uitgebreide systemen blijkt tegenwoordig maar weinig indruk te maken.

Zweden heeft de artistieke Dalibor Doder en de Fransen lijken allemaal bal kunstenaars te zijn. Zij brengen het onverwachte, de afwisseling, de Aaah momenten maar bovenal weten zij anderen in staat te stellen te scoren. Ofwel de spelverdeler. Wellicht dat Duitsland ook ooit nog eens zo’n speler kan vinden. Het maximaal haalbare is nu nog de 5e plaats. Daarvoor moet het sterke Spaanse team in de volgende wedstrijd verslagen worden. Wellicht dat Heiner Brand wat meer afwisseling zal brengen in zijn team nu de halve finales niet meer bereikbaar zijn.

Team 1 op weg naar de competitie (Deel 1)

De golf competitie start vroeg in het seizoen. Om goed beslagen ten ijs te komen moet er een half jaar van te voren al gestart worden met de voorbereidingen. Dat plan moet zelfs voorzien in de tijd van het jaar dat er echt ijs op het water ligt.

Voorbereidingen starten met het maken van een goed plan. In oktober riep de Technische Commissie het eerste heren team bijeen om terug te kijken op het afgelopen jaar en de route voor het volgende jaar uit te stippelen. Dit jaar zijn diverse mogelijkheden opgenomen in dit programma.

Een van de constateringen uit de voorbereiding van andere jaren is dat het aandeel matchplay in trainingen en  oefenrondjes te laag is. Ook de foursomes werden te weinig te geoefend. Hoewel het oefenen van foursomes elk jaar weer in de voorbereiding opgenomen wordt middels oefenwedstrijden tegen andere teams, kan het gebeuren dat deze oefenwedstrijden op niet door gaan. Het gevolg was dat de foursomes afgelopen jaar niet geoefend waren. Om dit te voorkomen zullen de foursomes wedstrijden ook in onderlinge oefenrondjes gespeeld worden. Daarnaast worden ook oefenwedstrijden in het naseizoen gespeeld worden. De eerste wedstrijd is reeds gespeeld tegen Golfclub Hoenshuis.

Martijn Blauw 6Hoenshuis heeft een sterke bezetting in de voorhoede. Spelers zoals Wesley Theunissen, Jano Schoenmakers en Jean-Luc Tuinstra zijn bekende jonge Limburgse spelers. De wedstrijd werd gespeeld in Brunssum. De partijen tegen deze jongens leverde spannende wedstrijden op in zowel foursome en singles. De oefenwedstrijd was een eerste test van de gewijzigde foursome samenstelling. Martijn van Oosterhout en Sebastian Dresen hebben in het verleden vaak met elkaar gespeeld en bewezen een sterk koppel te zijn. Desondanks ging hun pot verloren. De foursomes van de Fidder/Bremen en Cloodt/Maas werden gewonnen. De onderlinge krachtmeting eindigde in het voordeel van Brunssummerheide. Echter als graadmeter voor het vereiste niveau in de 1e klasse toonde de oefenwedstrijd aan dat er nog heel wat aan de vorm te schaven valt. In maart zal de return oefenwedstrijd op Hoenshuis gespeeld worden.

Cor met simulatorOp moment van schrijven van dit artikel vriest het buiten 5 graden en ligt er sneeuw op de fairways van Brunssummerheide. De driving range is gesloten en zelfs de golfshop moet nog ontwaken uit een winterslaap. Onder deze omstandigheden moet je inventief zijn om de voorbereiding niet te laten stil vallen. Als de vorst de baan gesloten houdt, dan maar binnen oefenen. Jumbo golfwereld beschikt over een golf simulator. De manager van Jumbo bood aan om na sluitingstijd te komen oefenen op de simulator. Dit aanbod lieten we natuurlijk niet aan ons voorbij gaan. Deze digitale golfbaan biedt meer dan alleen een net en een beeldscherm. De simulator berekend nauwkeurig aan de hand van de bal impact en de eerste meters balvlucht waar de bal terecht komt. Het beeldscherm laat duidelijk zien welke baan in de lucht de bal aflegt en wat de afgelegde afstand is. Een slecht geraakte bal zal ook op de simulator met een slice in het water plonsen van de Kranenpool. Dat maakt het leuk en leerzaam. Om deze redenen zal golf op de Nintendo Wii nooit veel voldoening geven aan een “echte” golfer.

Via de website van de golfclub zullen we wekelijks verslag uitbrengen van de gespeelde wedstrijden. Mee lopen tijdens wedstrijden wordt natuurlijk heel erg op prijs gesteld en zal het optreden van het eerst heren team alleen maar versterken. Speeldagen zijn 11, 18, 25 april en 2 mei. Op 9 mei is Brunssum gastheer. Ook sponsoring van het team is mogelijk en daar doen onze mannen graag wat voor terug. Een rondje lopen met spelers die zich kunnen meten aan de landelijke amateur top is een verrijkende ervaring. Misschien wilt u naast de standaard sponsoringsmogelijkheden (kleding met logo, berichten op de website met logo/link, foto’s) ook een demonstratie tijdens een clinic of een training op de driving range om het korte spel te verbeteren. Neem hierover contact op via secr@golfbrunssummerheide.nl.

Binnenkort in deze blog, deel 2 van de voorbereidingen op NGF competitie. Heeft u vragen over de voorbereidingen en de competitie van team1 dan kunt u contact opnemen via team1@golfbrunssummerheide.nl.

Golf Brunssummerheide: Jubileum

In 2010 viert Golfclub Brunssummerheide haar 25 jarig bestaan. In de derde week van augustus zijn er allerlei activeiten om dit jubileum te vieren. De website van de golfclub informeert over de plannen. Lees verder >>

Hello blog!

Today I started something which I wanted to do for a long time, but just didn’t find time for. I installed my own blog!

This blog will be about IT and Sports (you may have guested this already from the domain name). I love sports, practising it and watching it. This blog will have posts on IT subjects and sports. Posts on IT will be in English, posts on sports will mainly be in Dutch. If you are not interested in one or the other just use the filter option or the RSS feed for your interest.

As a Web developer I mainly have experience with PHP and MySQL. I have been working in all kinds of roles: developer, achitect, team leader, project manager, functional analyst. In this blog I will try to bring something on all the different aspects of Web development. Sometimes very technical and somethings more on processes.