Category Archives: Review

KLM how about it?

KLM logoKLM used to be a reputable airline. Unfortunately the experiences of the last two flights leave me with a different impression. Is it Air France influence?

What happened? Well we flown from Amsterdam to New York for a long weekend. And outside that actual flights did go through everything else went wrong.

I like to check in online to get good seats. I am kind of big and like my space. The online check in procedure on the inbound flight did not work because of some unexplained reason. We had to check in at the airport. So no good seats for us. And although we booked together our seats where not next to each other.

Next we arrived in New York and we were informed that they forgot to bring our suitcase. After 2,5 days they managed to bring our suitcase to our hotel. Which was also the day before we left. Just in time to bring it home with us.

Of course we were not able to check in online for our return flight because the Delta airlines — who handles the KLM flights from JFK airport — did not have a seating arrangement for the plane. And again we were not seated together.

We paid for full fare for the flight but for some reason I always end up in V-class seats. In these seats you only get 25% of the award / level miles for their Flying Blue loyalty program. When I book early I get these seats and when I book late. Most of the time I pay full fare. So it looks like KLM have implemented a cost reduction program without telling us – you know the customers. You only get 100% when booking a flexible ticket which is ridiculous.

KLM – this needs fixing. And tip of the day, if you manage to forget someone’s suitcase it would be a nice gesture to bring a “sorry about this” letter together with the suitcase. At least pretend that you care about your customers.

I missed you buddy

esheep
Long time ago on my WIndows 95 desktop I used to have a little sheep running around. I loved the damn thing. Although he was quite annoying at times.

And now I found out he still out there! Meet esheep or xsheep (for Linux)!

Go to Windows version or Linux version

Coolermaster xcraft 360 not recognized

I bought myself a Coolermaster Xcraft 360 which is a 3.5″ harddisk enclosure for SATA drives.

Only problem was it did not work. Under Linux I got the following error messages:

[270245.742829] usb 5-1: new high speed USB device using ehci_hcd and address 7
[270255.775427] usb 5-1: device descriptor read/64, error -32
[270256.005006] usb 5-1: device descriptor read/64, error -32
[270256.234609] usb 5-1: new high speed USB device using ehci_hcd and address 8
[270256.364383] usb 5-1: device descriptor read/64, error -32
[270256.593986] usb 5-1: device descriptor read/64, error -32
[270256.823584] usb 5-1: new high speed USB device using ehci_hcd and address 9
[270267.225518] usb 5-1: device not accepting address 9, error -110
[270267.345313] usb 5-1: new high speed USB device using ehci_hcd and address 10
[270272.895669] usb 5-1: device not accepting address 10, error -71

This was on a Ubuntu 7.10 machine. Next I tried a CentOS 4.7 machine. Same problem. Finally I tried a Windows XP laptop. There I got the message “USB Device Not Recognized. One of the USB devices attached to this computer has malfunctioned and Windows does not recognize it”. My first reaction was uh oh. I got myself a bad piece of hardware.

Next I went on a search on the internet. I read about a lot of people having the same kind of problems. Even mentions on the forums of Coolermaster themselves. But no reply or solution was to be found.

Next I turned to the manual but there was also nothing to be read which could point to this problem.

As a last resort I tried a few things like connecting, disconnecting, turning it on/off at various moments and finally the damn thing worked. You know what the solution was?

Solution

Turn the Coolermaster XCraft 360 on without the USB cable connected. Wait 5-10 seconds for the harddrive to settle and then connect the USB cable to the computer. Then it works. There is no other way.

Coolermaster should have mentioned this in their manual, their support personnel on the forums should know the answer, but in the end their hardware should not have this problem in the first place.

MythTV

This Christmas I had planned a very special project for myself. I was going to replace my Philips HD-recorder with something more elaborate and useful. A long time ago I read about Tivo in a computer-magazine. And it instantly hit me that this was the ultimate TV-recording device. At least as long there is no useful high quality video ondemand functionality available. And I was not alone and the last couple of years several open source projects have sprung up which offer a digital videorecorder running on Linux. And I was going to build one of them using: MythTV!!

Why MythTV?

The main requirements for building my own digital videorecorder was the lack of show management with my Philips videorecorder. The user interface of this recorder is so sparse that it is no more than a digital incarnations of my previous Sony VHS recorder. With the only benefit that it could store way more shows and you can instantly select the show you want to see. But programming is painfully slow. And to be honest is quite dumb. In contrast MythTV is refreshingly smart. Smart because it can:

  • find and record shows based on their title and not a specific air time. So if the broadcaster decides to air the show a few minutes later or earlier MythTV will record it anyway.
  • find and record shows based on their category (eg. movies), description or cast.
  • give you complete control on when the show is recorded. It can record a show whenever it airs on a specific channel or across all channels.
  • give you complete control on saving shows. You can determine how many shows are stored and automatically delete older shows.
  • supports any number of TV tuners you can build into your system. If you want to record 3 shows at the same time, you can if you insert 3 TV tuners in your system.
  • mix multiple types of TV capture cards. You can mix regular analog cable with digital formats like DVB-C, DVB-T or DVB-s — in order digital cable-TV, over-the-air or satellite.
  • Program you videorecorder using your TV or via a webbrowser on the other side of the world if you want to. It even sports a nifty WAP interface for your mobile.
  • Plug in different recording backends with different playback frontends. You can place a box in the US and watch your recordings on your laptop in The Netherlands.

And the list goes on and on. Just imagine that you can automatically convert your shows for your ipod with the commercial breaks automatically deleted and upload them to your ipod through Itunes.

This is the reason I chose MythTV. Because it can do just that and more. It makes my Philips digital videorecorder look pale in comparison and I have not found a commercial offering with this kind of feature set anywhere — with exception of the Tivo which is unavailable — and unusable I might add — outside the US.

Hardware

It starts with the decision and purchasing of the necessary hardware. This is the list of components I selected to build my digital videorecorder:

  • CPU: Intel Core 2 Duo E4600
  • Memory: 1GB
  • Harddrives: 2 * 80GB Western Digital (combined RAID-1 for the OS), 500GB Western Digital (for recordings)
  • Motherboard: Intel Desktop Board D945GCNL
  • Case: Coolermaster Centurion 5 (my current favorite case) with Coolermaster ExtermePower 380W PSU
  • Capture cards: Hauppauge PVR-150 and Hauppauge PVR-500 (dual tuner capture card)

The decision for this list of hardware was a trade off between price & quality. I like the quality of the components from these manufacturers but it is not top of the line to keep the cost down. And it is simply not necessary to have more horsepower.

For some time now I make a habit out of running the Operating Systems under software RAID-1 for 100% reliability. And since harddisks come cheap nowadays and have more than ample room to hold the Operating System it is for me a no-brainer.

Software

In general I run CentOS as my Operating System of choice. It is a 100% binary-compatible clone of Red Hat Enterprise Linux build from the source RPMs made available by Red Hat. But for this project CentOS would not be a good choice. MythTV needs bleeding edge packages like FFMPEG which are not available under CentOS. Though I could opt for adding external repositories to CentOS to take in these packages my experience is that hurts the stability and maintainability of the system since you are upgrading or moving away from set of core components of CentOS. In these circumstances I rather choose a Linux distribution which comes with the right set of packages including MythTV itself.

There are several dedicated MythTV distributions implemented as deratives of existing distributions like Mythdora (based on Fedora), KnoppMyth (based on Knoppix) or Mythbuntu (based on Ubuntu). But I decided to go for Ubuntu and to be specific Ubuntu Server 7.10.

It installed without problems on the aforementioned hardware and the installation was a breeze. It comes with the latest stable versions of MythTV and all kernel drivers for the Hauppauge capture cards. The only item I manually upgraded was the firmware for the Hauppauge cards. For some reason Ubuntu ships with old versions of the firmware though the firmware is already more than 1 year old.

The configuration of MythTV was quite straightforward. It takes some time and especially reading on setting the right options. The cards were immediately recognized but setting up the channels and TV guide was more work. At first the whole configuration process looks very overwhelming and most options are not very self explanatory. Moreover the documentation is not very good. Although all information is there it lacks describing the overall picture on what you are doing and why are doing it. But all in all it did take not much time to get to the stage I could record my first show.

Next to upgrading the firmware for the Hauppauge cards I also installed a new TV guide grabber for Dutch TV channels. The default delivered grabber for Dutch TV from XMLTV is rubbish. A few people on the internet developed a replacement called tv_grabber_nl_py which uses tvgids.nl to collect the TV guide information. It took me some effort to properly configure this grabber and have it run automatically overnight. This could have been better. Though I still think that all TV stations should make their programming available through RSS feeds. It is plain stupid that they see this as a money maker. It is like asking an entrance fee for a store. But hell these are the same people who want to avoid people skipping ads. I think in a decade TV stations will be as irrelevant as the music labels are becoming now if they do not realise that they have to keep up with modern technological capabilities available to the average consumer.

Frontend Xbox & laptop

To view the recordings I use two frontends. One frontend is running on my Xbox under XBMC and the other runs on my laptop.

Xbmcmythtv frontend is a Python-based plugin for the Xbox media centre. My Xbox (1st generation) is modified to be able to run unsigned applications and was in the same procedure outfitted with a larger 120GB harddrive. I use this xbox only for watching videos, playing my mp3s or showing my photos. Although the box is a bit too noisy to be the ultimate mediacentre device from a technical perspective it comes close. It has excellent TV out quality, digital optical audio output and a remote control. I modified the extension menu to have the Xbmcmythtv script as the first choice and default choice for easy selection. From Xbmcmythtv I can access all the recordings, view them and delete them after viewing. Although it can do more I only use it to view recordings. You could also program using the TV guide, see the upcoming recording schedule or watch Live TV.

My laptop — a Lenovo Thinkpad z60m — runs CentOS 5. And as stated earlier I did not see this distribution as the ideal candidate for the MythTV recorder it can run the frontend of MythTV with a limited amount of changes to the base distribution. I added ATRPMS repository which holds a complete MythTV installation including all upgrades and addons necessary to run MythTV. I limited myself to the installation of the MythTV frontend and modified the repository configuration file to only include those packages necessary to be able to install and run the MyhTV frontend. In total I needed 17 files added to my CentOS 5 installation. And now I can watch Live TV from my laptop or any recording made by the MythTV recorder anywhere in the house. Which is very refreshing.

Experiences so far

Overall this is the best videorecorder I ever had. I even watch more TV than before because I can finally set my own schedule and pace for watching TV.
Though all is not well in heaven First of all documentation on MythTV is lacking. Basic documentation can be found at the Myth project site and specific information on niche topics. But there is a definite gap between those two types of documentation.

There is a lot of documentation missing issues regarding XML-TV and the integration of TV Guide data. In case everything works out of the box or you need what is delivered by the standard distribution than it will work. But beyond that you will run issues.

The whole transcoding implementation is very basic and purely tailored for a specific niche which I have yet to discover. The transcoding to mpeg4 is lacking most quality options to ensure proper transcoding. I find the current implementation not useful. Any use case scenarios on how to create your own scripts to proper transcoding including integration into MythTV — so you can watch the transcoded files from your frontends — is unsatisfactory.

In general MythTV tries to hide the complexities from the user. To enable that goal it lacks the advanced options to extend the solution with your own functionalities. And don’t get me wrong it is definitely useful for everyday use for a lot of people. But it could better harvest the knowledge and creativity of the community by opening up or making available more parts of the solution more easily to accommodate such extensions.

But in all honesty it is still version 0.20 something at this moment which conveys the message that the developers are not done yet. Maybe in time all those issues will get addressed. I am happy to see that such quality projects are coming to maturity and make the whole Linux / Open Source / call-it-whatyou-want experience enjoyable.

Some companies may learn a few things or more from this project. Hey Sony are you reading this! Your product offerings suck big time in comparison to this. And it is not only Sony. And boy I cannot wait on Apple to kick some serious butt in this arena. The opportunity is definitely there! And meanwhile I while enjoy my MythTV setup.

References

  1. MythTV – http://www.mythtv.org
  2. tv_grab_nl_py – http://code.google.com/p/tvgrabnlpy/
  3. ATrpms – http://atrpms.net
  4. xbmcmythtv – http://sourceforge.net/projects/xbmcmythtv/

Wishlist: openvpn manager

At the office we use openvpn as our vpn solution. And it works fine and is easy to setup and maintain. The issue is that there is no GUI vpn manager for openvpn. At least not in Gnome. I evaluated the other options like kvpnc, kovpn, etc but they are not that easy to use. Commandline is easier. And for worse they do not integrate well with Gnome.

Wouldn’t it be great if it could be integrated with Network-Manager?

Yahoo search does not obey robots.txt

Since Dec 1st last year I have the following robots.txt in my webroot:

User-agent: *
Disallow: /

And still after 6 weeks I receive hits on my website from for example lj612201.inktomisearch.com. This is the Yahoo search-engine webspider.
I find this unacceptable search-engine behaviour. For that reason I have blocked 74.6.0.0/16 on my firewall.

How hard is it to build a search-engine which takes the effort to fetch the robots.txt regularly? Google does this. Although I can still find my website when I search on Google. Does anyone know how long it takes for Google to refresh its contents?

TODO in Desktop Linux III: an ode to Unison

This is the third post in a series about open issues in the current offerings of Desktop Linux. In this post I write about my favourite Open Source application which is Unison.

In my daily work I use two laptops; one at home and one at work. I need to have my document repository available on both machines. Moreover I am sometimes in a situation where I connect to a network which is not my office network or in some rare occasions I am even offline. In all these situations I need up to date access to my documents and email. In all these occasions email has an easy solution. I use an imap server to store my mail and use Thunderbird to sync my mail tree. But the document repository is more of a challenge. Try to solve this with the available Gnome tools on a standard installation of Ubuntu. It is simply not possible. Here comes Unison to the rescue.

All my documents are stored on my home server. That could easily be an backoffice server but this has historical reasons. It is essential I have my documents available on both laptops and for that I need reliable two-way synchronization of the document repository. The synchronization needs to be able to work in different locations with different types of internet access. In some cases I am on my office LAN but in other cases my documents need to flow over the public internet via public internet gateways. Therefor security is essential. The second requirement is reliability. The synchronization can take a few minutes to an hour depending on the size of the accumulate update of the repository and the available bandwidth. The third and last requirement is that the synchronization needs to take place in the background. I am just too busy to remember to synchronize. It needs to happen transparently.

The solution to this problem is a combination of OpenSSH with a password protected private/public key combination and Unison. SSH provides the essential data encryption combined with solid access protection of my document repository. Unison takes care of the two-way synchronization. In my 5 years of use it proves to be a very reliable tool which survives unreliable and slow links, mid-way disconnections and large updates.

For background synchronization I use cron which can login without a password to my server when I enable ssh-agent key forwarding. In my Gnome session I autostart ssh-askpass which asks me for my private key passphrase during logon. During my session cron can start a script I wrote to access my ssh-agent to use the private SSH key to login to my server and start Unison.

To give you an idea on the reliability and scalability of Unison. A few years ago I used Kontact/Kmail for my email. And although Kmail supported IMAP, it did not synchronize my email. When I was offline I could not access it. I solved this using Unison. At that time I used Courier IMAP which stores the user’s email in a directory called Maildir in their home directory. I synchronized this email repository containing 10.000+ emails with my laptop and ran a local Courier IMAP server to access my emails through Kmail. This worked very reliable. A synchronization run only took 10 seconds when no changes were detected which is an amazing feat in itself by the people who wrote this great tool.

When I find the time I will write a small howto on the setup of Unison together with OpenSSH and ssh-agent key forwarding.

But to come back to the original theme of this series of posts I am disappointed that Unison is still not integrated in the Desktop environments of Linux. Often users find themselves in a situation they need to have reliable and scalable two-way synchronization of data. The tools are available but the Desktop Environment does not give easy access to these tools. For me personally this would be a killer feature and I am not alone.