Finally some vacations! My life has been a great rush lately, so I really needed to take a pause and relax.
Today, despite the extreme weather conditions in Oslo (-11C and fog), I managed to fly back to Italy, where I will stay for a short while. I will spend one week with my family and then I will visit my friend Fabio in Milan. We will celebrate New Year’s eve together in an “Italian-Norwegian” party in Como’s lake.
Thereby, I will try to be as far as possible from my laptop before 2008 starts, so I take this chance to wish everyone Merry Christmas, Buon Natale, Bon Nadal, Feliz Navidad, Joyeux Noël, God Jul…
It is about five months that I moved to Norway, and I can definitely say that “I’ve seen things you people wouldn’t believe…”. My life has been really full of happenings, but as always I have too short time to write about them all.
Well, let’s start from my social life. My purpose of having mainly local friends has been at the moment a partial failure. People here seem to need more time to get confident with someone, and my personal experience is that is much easier to become friends with girls than guys… I do not know what to think about it. Being Italian did not “help me” that much, I had a couple of unpleasant experiences with that but I still feel confident that in the future, especially once I will be able to speak Norwegian fluently, things will be much better.
So as you can imagine I had to spend a lot of efforts to enter a little network of friends, and even though sometimes I still feel that I still miss something, I met some very nice persons, who helped me in the difficult moments and who gave me a lot of remembering. My special thanks go to Mikal, Federico, Silje, Petra, Sonia, Valentin, Enrichetto, Diego, Fabio, and Regine, (merely ordered by who I met first) for all the moments shared together.
I finally started to study Norwegian. Here the approach with the languages is completely different from what I am used to have in Italy. They have two official forms of written Norwegian — Bokmål that is the one I study (literally “book language”, used by 86% of the population) and Nynorsk (literally “new Norwegian”, used by 14% of the population). On the contrary, there is no officially sanctioned standard of spoken Norwegian.
My course is a 48-hour intensive course, and I have to say that my Norwegian skills improved considerably, but it is still hard to try to jump into a conversation. I am mainly trained to listen to the spoken variety of the urban upper and middle class in East Norway, upon which Bokmål is primarily based, because this is the form generally taught to foreign student. In real life instead, people use to speak their own dialect with anyone, and they are able to have a fluent communication even if their spoken variants can have significant differences (especially when coming from very distant rural areas). Anyway, I will continue with an intermediate course the next year, not only because I really want to improve my skills but also because I have to be ready to speak fluent Norwegian as soon as possible.
The reason is that another big change is going to happen again in my life. I was a bit unsatisfied with my work lately, so I decided to come back to my original plan of continuing my studies. Becoming a researcher has been one of my biggest ambitions, so I applied for a PhD scholarship at the University of Bergen in October. I received a positive answer from the committee in the early days of November, while I was having the visit of my parents. At the beginning I was surprised and shocked, but it has been very nice to share this moment with them.
This PhD scholarship counts three years of research and one year of teaching, meaning that I will live in Bergen for a long while. I will start on the 10th of January 2008, and I will probably be travelling several times and spending some months abroad as visitor student, hopefully in some sunny warm place where I will be able to charge a bit the batteries. I will research in the field of Model-Driven Development, under the supervision of Prof. Khalid A. Mughal and Torill Hamre. I really look forward to start this new experience, my enthusiasm and motivation is really high. It was a difficult choice, but I feel it was the best for the pursuit of my personal expectations in life.
That’s all at the moment. Please, keep the finger crossed for me once more.
New York Times wrote a very interesting article about the “malaise” of Italy. It outlines quite precisely most of the reasons behind the Italian decline.
Disclaimer: These instructions are provided on as-is basis. The procedure has been tested on two different hardware configurations, but do not blame me if it does not work on your’s.
The latest version of Citrix XenServer Express Edition (formerly XenSource XenExpress) misses support for Realtek RTL8111/8168B based Gigabit Network adapters, which are actually quite common. Trying to install XenServer on system equipped with this card, the installation program will stop reporting that an error occurred: “No Network interfaces found on this host.”
Even though the problem has been signaled several months ago, no updates have been released for XenServer since the 17 of August 2007, date of the 4.0.1 release. The official procedure for installing additional drivers — suggested also by Citrix in the support forum — seems overcomplicated and at least with my systems it did not work. So I decided to write this article about how to install the last version of XenServer on systems equipped with Realtek based Gigabit network adapters.
Once in the “Welcome to XenServer” page press Alt+F2; (you should get a bash shell with root access)
Issue the following commands: #> mkdir storage #> mount /dev/sdb1 storage (I assume that the removable storage is /dev/sdb1, change it accordingly to your configuration if this is not the case) #> cp ./storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163xen/extra/ #> depmod –a #> modprobe r8168
Press Alt+F1;
Complete the XenServer installation and reboot;
Boot the system; (you can ignore the errors caused by missing network adapter)
Login as root;
Issue the following commands: #> mkdir /mnt/storage #> mount /dev/sdb1 /mnt/storage #> cp /mnt/storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163xen/extra/ #> cp /mnt/storage/r8168.ko /lib/modules/2.6.18-8.1.8.el5.xs4.0.1.125.163kdump/extra/ #> depmod –a #> reboot
Now XenServer should finally boot with the network card up and running.
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.
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!
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.