ZNF project closes — why I abandoned it and PHP

I am very sorry to announce the stop of the ZNF project. After almost three years of development, me and the other project leader and main developer Graziano Liberati realized that it was almost unfeasible to continue the evolution and maintenance of the framework.

Several combined reasons determined this difficult choice. First of all, I started a career as software engineer in Norway, while Graziano started his own firm in Italy, and the time to spend on the project became suddenly too little. The engineering and development of a web framework are complex and time consuming activities, and they cannot be carried on in the spare time, especially when you have a normal life and you want to spend your spare time far from your laptop. :)

The community around the project provided important bug signals and code contributions, but unfortunately this was not enough for a project to survive. Despite the popularity gained during the years and the handful of firms that based their business on ZNF, the project received only one donation of 7,75 USD from J. Chalmers, that I thank a lot.

On the contrary, I have been notified of a possible GPL violation by a little software firm in Canada, who asked to a customer the payment of more then 10.000 CAD as fee for the usage of our framework…

But the main problem is another: I do not agree anymore with the way PHP is developed. I am so sorry to make this critic to the PHP project, I do not like to have this kind of criticism when there is a volunteer work involved, but I need to explain my reasons.
On the 13th of July 2007, exactly after three years from the PHP 5.0.0 release, the PHP 4 end of life has been announced on the PHP home page. Some developer reacted commenting “Finally!”, some other, including me, thought “Too late…”. In my opinion, the choice of developing in parallel PHP4 and PHP5 ruined the chances of PHP to become a real enterprise language.

The purpose of PHP 4 was just to build dynamic web pages. The language syntax was extremely simple, and being a scripting language it did not have a strong typing system. The language also offered a lot of internal functions, support for various database management systems, and limited support for object-oriented programming (lack of support for information hiding, encapsulation and abstraction). Moreover, the PEAR repository offered a lot of libraries written in PHP, with at least some nice project like database abstraction layers and template engines.

PHP 4 was probably the language most suitable for quick-n-dirty hacks with web applications, and this has been at the same time the strong and the weakness of PHP.

On one hand, being so easy to understand, the language was used by a lot of untrained developers who wanted to approach web development. The lack of a strong typing system, together with the flexibility of the parsing engine (that most of the times revealed spurious code only with the E_ERRORS = ALL directive) helped unskilled people to rapidly build something that was, at least apparently, working. Moreover, the sort of object-oriented support provided by PHP together with plain imperative programming support lead in most cases to mixed approaches and confusion. It is for these reasons probably that most of the professional and experienced developers always looked at PHP as a very dirty language. For sake of completeness I have to say that the PEAR repository in most cases consisted in poorly documented libraries/packages. Some of the core packages, shipped by default with PHP, were not even compliant to the quality guidelines and my proposal to the quality assurance team to be simply strict with the core libraries did not lead to any result. You can read the original posts I made in the mailing list here.

On the other hand by the way, even some experienced developer found PHP interesting to develop little or mid-range solutions, like for example little content management systems. Considering that almost every cheap hosting solution on the planet offered support for LAMP platform, PHP has been most of the times the preferred choice by web agencies and young developers willing to get new customers with affordable solutions.

Probably no one expected the growth of share that PHP had during the following years. Projects like PHP-Nuke became very popular, but also because of their security holes discovered weekly. However, we all know that not always the state-of-the-art of software will become the most successful. :)

PHP 5 was announced with enthusiasm mainly because of it’s new shining Zend Engine II, the new object-oriented engine providing most of the missing features in a Java-like fashion. It was promised as the big step in advance that would have been raising PHP to the enterprise market.

These initial claims are now completely controverted by what PHP 5 turned to be. Leaving PHP 4 developed for three years after the first PHP 5 stable release made the hosting providers to completely ignore the new version of the language for too long. PHP hosting are in general meant to be low-end or mid-end solutions, and most of the customers need it only to run the well known PHP4 CMS and blogging systems, like Joomla, Drupal, or WordPress (like I do). Since most of the customers are satisfied, hosting providers will obviously not invest in the upgrade of their systems configurations.

How could Zend expect a quick spread of the new generation of the language, if they did not cease to develop the former version in reasonable times? It is not surprising that most of the hosting providers added PHP 5 support just after the end of PHP 4 announcement in July. Projects like ZNF, that started when PHP 5 was still beta, lost a big potential user base because of this incomprehensible strategy from Zend.

Version 5 of PHP is clearly a transient version of the language, that tries to keep as most as possible of the “dirt” of the former versions, but introducing some nice features. Unfortunately other languages developed much more quickly, and PHP 6 will not compensate the escape of developers to other platforms. PHP 5 still miss namespaces and unicode support. and is still very dirty: errors can be handled in at least three different ways (for example trigger/handler, PEAR error stack, or exceptions); important features (for example input filtering) have been introduced as function and not as classes, leaving very unclear if they want to push OOP definitely or not; the role and the future of PEAR is blurry since most of the classes are not ported to PHP 5 strict and the quality is questionable.

Considering all these reasons, it will be probably easy to guess how I can feel now after having spent a lot of efforts in delivering a good project to the community and receiving these happenings back as “thank you”. :)

The project is not searching for new maintainers, will just be closed and the resources will be left untouched for a couple of years, unless unforeseen events occurs. You are free to use it and to make a fork if you want, as long as you respect the LGPL 2 license. I would like to thank the following people for their contributions to the project: Tomasz Kuter, Denis A. Konovalyenko, Emad B., Christian Kassab, Markus Wigge, Guéric Folliot, and Valentin David.

Best regards.

One month in Bergen — life of a software engineer in the most beautiful city of Norway

26th of July – 26th of August: it is exactly one month that I am in Bergen and my life is completely changed… again.

I live in a nice flat really in the city center, close to all pubs and social places. It is made by three room, one bathroom, one little storage room, and a little space in the basement where I can park my new bicycle. The kitchen has gas stoves instead of electric hot plates, something really rare here in Norway since cities have no gas networks, and I really feel at home. Unfortunately there is no living room, but my room is very big, about 16m², where I have also a sofa.

I share the flat with other two nice and clean Norwegian guys, Thorolf and Willy. The life at home is a bit different from what I am used to have in Italy or during my Erasmus. People spend most of the time in their room. Sometimes they come to the kitchen to prepare some food, but then they even eat back in their room. I would like to have a bit more of social life here…

Thorolf and Willy, if you are reading this, why don’t we make a party here? ;) Anyway, maybe it is normal to have a quite life when you are a worker, like me and those guys are, but I noticed that I have still and Erasmus mind-set.

I go to work with a shiny new bicycle, and since the company is one of the few with the office still in the city center, I am at the work place in 10 minutes.

The firm is little, and sometimes I feel like I work in a family-managed business. The relationship with the managing director and technical leader is very pleasant. I have flexible working hours, with core work from 9:00 to 15:00. Of course at the end of the week I should have done 37.5 hours of work, but this is a very good opportunity for me. In general I work from 9:00 to 17:00, but if I need to do something I can go out earlier and work more the day after. There are details that I do not like in the company, the perfect work place does not exist, but I am trying to come to an agreement with the management to fix them.

I work closely with Mikal, the guy who found me this job. We will have to develop an entire new project about surveillance systems starting almost from scratch. The way is very long but we want to do the things in the right way, like Ian Sommerville teaches in the Software Engineering book. We agree on how the company should be run, but we have a completely different technical point of you. As you know I am a strong believer of the free software philosophy, I prefer to use free/open source technology in my life, and I would like to do the same at the work place. On the contrary, Mikal is enthusiastic of latest Microsoft technologies, and while I recognize that some of them can be even better then the free/open source alternatives for the purpose of our project, I do not agree with him for what concerns the ethical and economical consequences of using Microsoft products. Anyway, the final word on the technology is always up to the technical leader, and we are still far from starting the implementation, so we will see what will be chosen in the future.

Soon I will receive my first salary, and I look forward to feel completely economical independent even in Norway. Here the cost of life is a bit higher than in the rest of Europe, but not as much as one would believe. I spend about 3000NOK (about 375€) per month for the rent + bills, less then what I would have spent in Rome and Milan, while I spend a lot more for food and drinks. At the end of the month I think that the total cost of life is just a two hundreds Euro more than in any metropolis of Italy, but the salary, at least in my field, is more than the double.

My parents sent me a package of 30Kg, containing a lot of personal staff and food. It took almost one month to be delivered and at the beginning it was also lost by the Italian post service. Fortunately it was simply stopped by the custom at the Italian border because of some “missing documentation”, probably something was lost during the way. At the end it was found and delivered again with the proper documents, and now I can finally eat some good food from Italy. I do not like a lot of things from my home country, but I still believe that Italy has the best food and cuisine in the world.

How do I spend my spare time? As you can imagine I came here with few contacts left from my Erasmus experience in Bergen and from the short trip I had here in Easter, but this was enough to know lot of new people.

The bad news for me is that most of them are just left or are leaving soon. Thank you Mauro, Piedad, Silje, Sara, Gonzalo and the other people surrounding the “auberge epagnole”, you are very nice. I would have had more time to spend with you but this is unfortunately part of the Erasmus: suddenly you have to say good bye. I hope to keep in touch with you and to see you again, maybe here in Bergen or maybe somewhere else in the world.

Anyway, I already have new friends who are starting new their Erasmus exchange… this is a kind of Erasmus part III for me, but this time my hope is to get in touch with local people. During my Erasmus I did not have this chance often, since I was living in the Fantoft studentboliger, the hostel where almost only international students live.

Here all the people use Facebook, an on-line social utility to connect friends. Practically every Norwegian not older than 40 year is at least registered to it, and most of them use it as a concrete communication media. It has been impressive to see that anyone I met was also there. Some times people instead of asking you your mobile phone no., just ask you your family name so they can search and you on Facebook. :) I am registered too now and I am getting used to it, but the good old way to have a real talk with your friends in front of a glass of wine is still the best for me.

If you looked at my Flickr photostream you would have probably noticed that I am also spending a lot of time in shooting pictures around the city. My new DSLR camera gives me a lot of satisfaction, especially now that I have a bit more of theoretical and practical background about photography. Take a look at my last pictures of Bergen.

I am learning Norsk too thanks to a language exchange with Silje, a Norwegian girl who is interested in learning Italian. At the moment I can say just childish sentences like “Jeg heter Alessandro og kommer fra Italia” (My name is Alessandro and I come from Italy), but I hope to improve my skills soon, especially if I will join an evening course.

Anyway, this time I really wrote a lot, my stomach is reminding me that it is time to eat something. I will keep you updated!

Human beat box

I can’t believe it!

Windows Vista Speech Recognition Tested — Perl Scripting


For geeks only.

Goodbye Italy — finally in Bergen

As you have probably noticed lately I did not have so much time to write on the blog, which is not a news. :) Actually these last days I have been busy more than usual, because I was preparing for a great change in my life.

Until some month ago I was still a simple student willing to graduate soon, and I was living with my girlfriend in L’Aquila, not far from my family. Today instead I am a full time worker and I live in Bergen, Norway, more than 3000km far from my loved ones.

Why this radical change? After getting my Master Degree I started to receive several job proposals, like to apply for a PhD position at my university (without guarantee of receiving a scholarship), or alternatively to move to Rome or Milan and work in one of the many IT companies. Considering the working conditions and the salary, none of the offerings I received was prizing my little but intense academical and working career, but this of course is my point of view. Some friends and colleagues continue to say that this is normal, that they had the same treatment, that the labor market is like this for everyone, especially software developers… but I had no wish to accept such conditions.

I have also to say that since a long time I am stressed by all the social-political problems that are ruining Italy, but I do not want to talk more about considering that I already suffered them too much.

I received from Norway a unique job proposal, that even if it is normalized to the cost of life is much better than the others I received from Italy. A the end I made my choice, not completely conscious about the future I decided that I would come back in the city that already hosted me for one year.

How long will I stay here? Who knows, I would like to travel the world so it is not sure that Norway will be the place where I will settle, but at the moment I stay and I take the best it is offered to me.
Obviously I will miss something: girlfriend, family, friends, weather, sun, sea, cuisine, motorcycle… ;) By the way, I think I made the right choice, here I have a lot to gain and a little to loose.

Goodbye Italy, you lost a brain and gained a tourist.

Addio Italia: finalmente a Bergen

Come avrete potuto notare ultimamente non ho avuto molto tempo per scrivere sul blog, il che non è una novità. :) In realtà questi ultimi giorni sono stato piú impegnato del solito, poiché mi stavo preparando ad un cambiamento piuttosto significativo nella mia vita.

Fino a qualche mese fa ero ancora un semplice studente desideroso di terminare gli studi, e vivevo con la mia ragazza a L’Aquila, non lontano dalla mia famiglia. Oggi invece sono un lavoratore a tempo pieno e vivo a Bergen, in Norvegia, lontano piú di 3000km dai miei affetti.

Perché questo cambio radicale? Dopo essermi laureato ho iniziato a ricevere diverse proposte di lavoro, tra cui rimanere a fare un dottorato di ricerca nella mia università (ma senza alcuna garanzia di ricevere la borsa di studio), oppure trasferirmi a Roma o Milano per lavorare in una delle tante società di consulenza informatica. Sia per le condizioni di lavoro sia per il salario nessuna delle offerte che ho ricevuto rendeva merito alla mia piccola ma intensa carriera accademica e lavorativa, ma ovviamente questo è un mio punto di vista. Alcuni amici e colleghi continuano a dirmi che è normale, che anche loro ci sono passati, che il mercato del lavoro è cosí per tutti, specialmente per gli informatici… ma io non avevo nessuna voglia di accontentarmi.

C’è da dire poi che da molto tempo covavo una certa insofferenza per tutte quelle problematiche socio-politiche che stanno mandando in rovina l’Italia, su cui non sto a dilungarmi visto che mi ci sono avvelenato il dente fin troppe volte.

Dalla Norvegia ho ricevuto una sola proposta, che anche normalizzata al costo della vita è di gran lunga piú gratificante di tutte le altre che ho ricevuto dall’Italia. E cosí ho preso una scelta, neanche completamente cosciente del passo che avrei fatto ho deciso che sarei tornato nella città che mi aveva già ospitato per un anno.

Quanto rimarrò qui? Chi lo sa, io ho voglia di girare il mondo quindi non è affatto detto che la Norvegia sia il posto dove mi sistemerò in pianta stabile, ma per il momento ci resto e prendo il meglio che mi viene offerto.

Ovviamente alcune cose mi mancheranno: la ragazza, la famiglia, gli amici, il clima, il sole, il mare, la cucina, la moto… ;) Per il resto però credo proprio di aver fatto la scelta giusta, qui ho molto da guadagnare e poco da perdere.

Addio Italia, hai perso un cervello e hai guadagnato un turista.

Canon EOS 350D

Recently I “retired” my old Sony CyberShot camera because I switched to a new shining Canon EOS 350D (Rebel XT in some countries). It is a digital SLR camera, something that I dreamed for a long long time…

Canon EOS 350D

I do not have so much experience yet, since I bought it I just had the time to read most of the user’s manual, but I am having already so much fun with it. Even using the plain EF-S 18-55m objective, the resolution of the pictures is fantastic, and the macro feature gives me a lot of satisfactions. For the first time I feel creative with a camera in my hands. ;)

As always you can have a look at my pictures on my flickr photostream. Comments are welcome!

5×1000 all’Università degli Studi dell’Aquila

Dopo aver trascorso 7 anni di studi all’Università degli Studi dell’Aquila, ora che entrerò nel mondo del lavoro ho deciso di donare il 5×1000 all’ateneo che mi ha fatto diventare Dottore in Informatica.

Pensavo che la procedura fosse complessa, invece per una volta la burocrazia ha funzionato a dovere. I dati di riferimento sono i seguenti:

  • Codice fiscale/Partita IVA : 1021630668
  • Ragione sociale: Università degli Studi dell’Aquila

Un comercialista impiegherà probabilmente meno di un minuto ad inserire questi dati nell’apposito software di interfacciamento con l’Agenzia delle Entrate.

Ad ogni modo su tutti i modelli per la dichiarazione dei redditi (Modello Unico, 730, CUD, ecc.) compare un riquadro appositamente creato per la destinazione del 5×1000. In questo riquadro sono presentate tre aree di destinazione, si deve barrare quella dedicata alla “Ricerca scientifica”. È sufficiente poi indicare il numero di codice fiscale di cui sopra e firmare.

La ricerca è notoriamente snobbata dai nostri governi, indipendentemente dallo schieramento, ma noi possiamo cambiare questa tendenza. Di certo la sola devoluzione del 5×1000 alla ricerca non sarà sufficiente ad arrestare la fuga di cervelli (fra i quali il mio), ma quantomeno darà un messaggio chiaro a tutto quel mondo politico che da diversi anni sta tagliando le ali a tutti quei brillanti ricercatori che avrebbero potuto donare un contributo concreto e significativo allo sviluppo e all’ammodernamento del Paese.

Tribute to Yamaha FZR600

FZR 600

The FZR is a sportbike produced by Yamaha between 1989 and 1996. When I first saw her – yes, motorcycle for us are like girls :) – in 2004 I fell in love immediately. I bought one of the 1994 that was up for sale in a motorcycle garage in L’Aquila.

She has been my first motorcycle, and she gave me a lot of emotions. Unfortunately, after riding for 10000km I had to sell her, I am going to move soon and she can not come with me. :( I just hope that the new owner will take care of her like I did these years.

Goodbye dear motorcycle…

Stato della chiesa

L’Italia, o meglio, la Repubblica Italiana, dovrebbe cambiare nome, si dovrebbe chiamare Stato della Chiesa… sí avete letto bene Stato della Chiesa come nell’antico splendore ottocentesco. Per le persone con un minimo di senso critico ed occhio attento la cosa è chiara da sempre: la Chiesa ha il potere, quello vero, quello che manipola le coscienze e la rende intoccabile. Fortuna che siamo nel 2007. Non sono solo i politici ad essere genuflessi (siamo probabilmente l’unico stato in cui esistono i catto-comunisti), ma lo è anche la magistratura, la televisione, la stampa…

Lo spunto per questa riflessione è la recente notizia che nel processo a Radio Vaticana, accusata di essere responsabile di inquinamento elettromagnetico che aumenterebbe l’incidenza di tumori cosí come di altre patologie, l’emittente pontificia è stata assolta in appello. “Il fatto contestato non è previsto dalla legge italiana come reato”. Il che significa che l’attività della Radio non può essere contestata. La cosa non dovrebbe neanche meravigliarmi ormai.

Ora io non voglio entrare in merito né a questioni mediche né a questioni legali, non sono competente. Non posso assolutamente dire nulla riguardo alla veridicità della tesi secondo la quale l’inquinamento elettromagnetico causi patologie terminali, né tanto meno ho gli strumenti tecnici per capire come mai la magistratura abbia ribaltato una prima sentenza di colpevolezza.

Quello che so è che ci sono dei limiti di legge riguardanti le potenze massime di emissione che vengono banalmente superate da Radio Vaticana. La cosa è stata ampiamente mostrata in vari servizi di Iene, Striscia la Notizia, Report e chissà quanti altri, se ne parla da troppi anni ormai. Sicuramente i vari comitati delle aree colpite da questo elettrosmog avranno presentato in tribunale innumerevoli perizie tecniche. Eppure la magistratura ha deciso di non farsi piú domande, e ristabilire come al solito il principio di intoccabilità della Chiesa.

Questo è solo uno dei tanti esempi. Si potrebbe anche parlare dell’attacco da parte della Chiesa ai comici del concerto del primo maggio, dell’affossamento dei DICO, della campagna di disinformazione per togliere credibilità all’inchiesta della BBC sul “Crimen Sollicitationis”… da notare che ho citato solo quanto accaduto nell’ultimo mese.

La colpa non è solo dei politici, ma della cultura dell’italiano medio. Le cose che accadono nel Brutto Paese sono lo specchio della mentalità retrograda che contraddistingue chi lo abita. Il catechismo della Chiesa cattolica infatti ricorda (nn. 1267 e 1269) che il battesimo «incorpora alla Chiesa» e «il battezzato non appartiene più a se stesso […] perciò è chiamato […] a essere “obbediente” e “sottomesso” ai capi della Chiesa».

Voi volete ancora continuare ad essere sottomessi? Se la risposta è no potete sempre cancellare gli effetti civili del battesimo, trovate tutte le informazioni di cui avete bisogno qui. Io l’ho già fatto, mi sono “sbattezzato” per coerenza, per democrazia e per rivendicare la mia identità.