Asus Eee PC 1101HA, Intel GMA500 (Poulsbo) and the shattered dream of the out-of-the-box GNU/Linux support

Information Technology, Wishy-washiness No Comments

Do not buy a Asus Eee PC 1101HA or any netbook/laptop having an Intel GMA500 (Poulsbo) video chipset if you plan to run GNU/Linux on it. Unlike Intel’s other video chipsets, the GMA500 is not developed in-house but it is based on Imagination Technologies’s PowerVR which is barely supported under GNU/Linux. The GMA500 drivers are so messy that it is even challenging to get the native display resolution. You can read more about how Intel is ruining its relationship with the GNU/Linux community on Linux Journal and Ars Technica.

I spent about 3800 NOK (460 EUR) to buy an Asus Eee PC 1101HA last Saturday. Now I can not return it to the reseller. In other words, I am screwed.

NWPT 2009 and Danish language

Information Technology, Personal Life, Travels No Comments

I have not written any post about my summer vacations in Italy, Spain and Hungary, but now they are far away and I will skip them. I just want to share my experience at the last conference I participated, namely the Nordic Workshop in Programming Theory in Lyngby, north of Copenhagen, Denmark.

As always I travelled together with Adrian and this time I had to share the hotel room with him since my travelling budget for 2009 has been in red since July… Fortunately Adrian is not employed at the University of Bergen but at the Bergen University College, and it seems that funding is less problematic there. ;)

The conference was very well organised and covered very many topics of computer science. We had the presentations of our two abstracts almost at the end of the conference and we spent a lot of time modifying the slides rather than listening to the talks, but everything went fine in the end.

During my stay I had the chance to test my skills in Scandinavian languages with some local. Just for the records, written Danish and Norwegian (in the bokmål variant) are rather similar, so similar that reading Danish is not a problem for me… but the spoken counterparts are definitely very different. Spoken Danish sounds to me like a continuous stream of (guttural) sounds, with no chances to understand when a word stops and when the next starts. :) I hope that no one will take it personally if I say that it seems like Danes do not make any effort to pronounce words clearly.

But there is even more… Danish has a rather weird number system. The tens from fifty on are not based on the number 10, as is the case in most European languages (French being another outstanding exception). This strange system combines two archaic ways of counting: 20-based instead of 10-based and fossilized expressions for two and a half, three and a half and four and a half. This is the result:

50 halv-tred-s(ind-s-tyve) half-third-t(imes-of-twenty)
60 tre-s(ind-s-tyve) three-t(imes-of-twenty)
70 halv-fjerd-s(ind-s-tyve) half-fourth-t(imes-of-twenty)
80 fir-s(ind-s-tyve) four-t(imes-of-twenty)
90 halv-fem-s(ind-s-tyve) half-fifth-t(imes-of-twenty)

After this experience, I think that these Norwegian comedians are not so far from reality. ;)

TOOLS 2009

Information Technology, Personal Life, Science, Travels 1 Comment

This time it was the TOOLS conference in Zurich, Switzerland. Me and Adrian arrived on a Saturday, without any particular plan for the evening. Many locals suggested us to go to Lucerne because of the first edition of the Lucerne festival. Adrian managed to convince me to go there, and I have to admit it was a good idea. Loads of people, music played on all the squares of the old town, stands providing food and drinks. And right after the sunset, the best fireworks I have ever seen: 25 minutes of pyrotechnic show with lights coming from both sky and lake… Just lovely!

All the stereotypes about Swiss precision and efficiency were destroyed in one go on the way back to Zurich. We were supposed to take the train from Lucerne at 2:30, but probably too many people shared with us the same plan. :) The result was kilometric queues on the ticket machines and people packed in trains like in India. The train we took did not even arrive to Zurich and despite the promises of the railways personnel there, no further train came before one hour. In the end, tired of waiting, we took a taxi back to the city.

Well, despite this “original” start, the conference went very well. Zurich is lovely and welcomed us with a great warm summer weather. The ETH, which hosted the conference, is located on top of a hill with a nice view over the city. The event was well organised and composed by several co-located conferences and workshops. Adrian made a brilliant presentation of our last work and many asked questions about it. I feel like the goals of our participation to the conference have been all fulfilled. Food was also great; to eat once more authentic Fondue and Rösti was a pleasure. :)

I left Zurich by train on Saturday, and my destination was not Bergen but Tortoreto, my home town in Italy. The trip home was a sort of odyssey. The train I took in Milan had broken air conditioning system and I had to stay inside it for 5 hours with no chance to open the windows… And if this was not enough, the catering services of the Italian railways had a strike the very same day, i.e. it was not even possible to buy water! You can imagine what this lead to, I will not spend time describing it. Italy is somehow always able to remind me that the choice to move away was the right one.

Iomega UltraMax Plus — A Linux-friendly External Hard Drive with RAID support

Information Technology No Comments

Lately my home folder began to run out of space, so I started to look around for an external hard drive. I wanted a solution comprising at least 1TB space, RAID 1 support and USB connector (since the last NAS I tried did not transfer more than 10Mbit/s). Obviously, the drive had to work out-of-the box with GNU/Linux.
The most popular solution seemed to be the WD MyBook Mirror, but various GNU/Linux forums including the Ubuntu ones counted many posts regarding compatibility problems. The RAID control software is Windows-only, and under GNU/Linux the drive tends to spin itself down, causing the kernel to give up on it and disconnect the device.
It seemed almost like there was no other solution but I found out that Iomega produced exactly what I was searching for. The Iomega UltraMax Plus includes eSATA, USB, FireWire interface connections plus RAID 0, 1 , and JBOD features. And it even looks cool! ;) I could not find any information about possible compatibility issues with GNU/Linux, but I decided to buy it anyway. I have not been experiencing any issue since I received it one week ago. The RAID configuration is chosen via a hardware switch on the back of the drive, and GNU/Linux seems to handle it properly. I recommend it to anyone.

NWPT’08

Information Technology, Personal Life, Science, Travels 3 Comments

As always with some delay I can finally write a bit about what my experience for the NWPT’08 conference in Tallinn, Estonia. The trip started immediately with some emotions: my colleague Adrian realised that he forgot the passport home just before to go to the airport, so we had to catch a taxi to run first to his place and then finally to our destination. Fortunately we had no problem to check-in and leave Bergen, and late in the night we were in the old city of Tallinn.

The NWPT’08 conference took place in a an historical building in the old city. The articles presented at the conference were quite theoretical, and I have to admit that I did not understand many of them, but this is probably (hopefully? :) ) normal when people are coming from very different areas of research. I finally had my first presentation as well. We had indeed two extended abstracts accepted in the workshop, and I presented the one titled “A category-theoretical Approach to the Formalisation of Version Control in MDE”. Despite the initial twitter, I have to say that the presentation was smooth and I am really satisfied with it.

I had the chance to go a bit around the old city of Tallinn during the weekend, and it is lovely. There is a lot of history everywhere, and sometimes it seems to be back in time. However, despite the old-fashion look, Tallinn is really ahead in time for what concerns Internet. Yes, because Internet is available for free everywhere through wifi access. Note that with “for free” I do not mean that you can steal the connection from some unwary network owner, but that it is provided by the public administration. Estonian people I met seemed very helpful and friendly, and most of them were able to speak English fluently. Last but not least, the food we tasted in the restaurants was definitely very good. At the end, it was a very nice experience, except for a last detail…

The journey back to Bergen was a sort of odyssey. We had a connected flight to Bergen, with stop over at Copenhagen. The day that we were supposed to leave, we woke up in the middle of an extreme snow storm. Our flight was not cancelled, so we had to reach the airport at 16:30, with expected departure at 18:00. The taxi driver had even problems to come to the airport because of the loads of snow all over the streets. The situation looked not promising at all, but they were keeping our flight delayed. After waiting many hours at the gate with no precise information, the flight was declared cancelled at 00:00. The airline could not provide us an hotel, since they had to handle so many cancellation during the day. After having our flight rescheduled for the day after, we had to come back to our hotel, where they had fortunately two rooms available for the night. But the story does not end here… We had exactly the same schedule for the day after, but the luck was not with us. The flight took off at 21:00 instead of 18:00, and we obviously lost the connection in Copenhagen. We hoped that they could reschedule us to take the last flight from Copenhagen to Bergen at 22:45, but guess what? It was cancelled due to another snow storm in Stockholm… So another night abroad, this time in a Radisson SAS hotel at least. :) After more than two days of journey, finally we landed in Bergen the morning after…

Next post will be probably from Italy, I am going home for Christmas vacation finally… ;)

MoDELS’08

Information Technology, Personal Life, Science, Travels No Comments

One month ago I was in Toulouse, France, to attend the MoDELS’08 conference… Sounds important, isn’t it? :) Well, actually for me it really was. MoDELS’08 has been the first international conference I attended, and I am glad that I started with a very relevant one. I had the chance to go there because me and my colleague Adrian had an article accepted — the first in my PhD programme — in the ChaMDE 2008 workshop, a satellite event of the conference.

The six-days conference was plenty of researchers from world-wide, including many of the “big names” in software engineering. Getting in touch with some of them was definitely interesting. Many of the works presented at the conference seemed brilliant… I even learned what does it mean “megamodelling” — which is, in my opinion, the most childish keyword ever appeared in computer science. However, I have to admit that I was also disappointed by the general lack of applied results. The interest of industry in Model-Driven Engineering might vanish again if research does not (quickly) provide anything really useful to them. There is a urgent need for techniques and tools that simply work, and this is possible only if we have mature standards, which is definitely not the case nowadays. None of the works focused on that topic… Kind of surprising to me. Of course, theory is fundamental, but sometimes I had the feeling of listening to someone “selling thin air” rather than showing concrete results. To be honest, the idea that some theory “might be implemented” one day by the industry have never convinced me. The fact that the popularity of Model-Driven Engineering nowadays is not the one that researchers expected ten years ago is just an additional proof for me. Maybe one day I will be selling thin air myself too, who knows… ;) But for the time being it seems to me that research is going in a dangerous direction…

Anyway, the city of Toulouse is just gorgeous. So old and so modern at the same times, it offers a lot of sightseeing, attractions and restaurants were we had delicious meals and wines. I am waiting to upload a bunch of pictures on Flickr. Unfortunately my Linux distribution provides a buggy version of the software I use to handle pictures and I have to wait the (lazy) developers to read my bug report and fix it… More complaints on this in my next post. :)

Well, at the moment that’s it… My next destination? NWPT’08 conference in Tallin, Estonia. I will present a work there, so keep the finger crossed for me as always! ;)

2008 has started… so does my PhD programme

Information Technology, Personal Life 1 Comment

Fortunately or unfortunately 2008 has come!

Even though I found not so nice weather and got a flu during my vacations in Italy, after all I had a very nice time with my family and friends. Fabio has been a great host, he showed me Milano, Sondrio, Como, and the surroundings of the Como’s lake. I had a kind of “Lombardia in a nutshell” trip. :) I enjoyed so much also New Year’s eve, thanks to the company of Andrea, Hilde and all their friends.

But at the end, as expected, I had to come back in the rainy Bergen… And here I am, without being homesick yet. Today is a very important date in my life, I finally started the PhD programme here in Bergen. All the staff at the University was very very kind with me, I had a tour to meet most of the people working at the Department of Informatics, and after dealing with some formalities I got into my own office, located on the fjord side of the building (that will be unfortunately obscured in some months by some new University’s building :( ). To please some of my geek friends I also add that I have a very powerful Dell PC with a 24” LCD monitor, running Fedora GNU/Linux 8. :)

The work environment seems pleasant, I am really satisfied and I look forward to becoming really productive. It actually seems that some people kept the finger crossed for me. Well, if you did so please continue like this, I would like to end the 2008 positive like today!

How to install XenServer 4 on systems with Realtek RTL8111/8168B based network adapters

Information Technology 15 Comments

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.

Just follow these steps:

  1. Download the r8168.ko kernel module here;
  2. Copy the r8168.ko file to a removable storage;
  3. Boot the XenServer 4.0.1 Installation CD;
  4. Select the Keymap;
  5. Once in the “Welcome to XenServer” page press Alt+F2; (you should get a bash shell with root access)
  6. 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
  7. Press Alt+F1;
  8. Complete the XenServer installation and reboot;
  9. Boot the system; (you can ignore the errors caused by missing network adapter)
  10. Login as root;
  11. 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.

That’s all!

ZNF project closes — why I abandoned it and PHP

Information Technology 5 Comments

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.

Windows Vista Speech Recognition Tested — Perl Scripting

Curiosities, Information Technology 1 Comment


For geeks only.

© 2007 Alessandro Rossini • Graphics by N.Design Studio • Valid XHTML & CSS
Entries RSS Comments RSS Log in