I am angry with Mauritius Union

I am very angry with Mauritius Union.

I was involved in a (small) car accident on my way to a LUGM meeting a little more than one year ago.

And I am still waiting for the car to be repaired!

I was waiting at the traffic lights in Quatre-Bornes and a lady reversed her 4×2 from a perpendicular lane to the main road where I was and she hit the side of my stationary car with the rear of her vehicle.

I asked the lady to fill in the mutual consent form (constat à l’amiable) and we started doing that. But then when it came to signing the form, she changed her mind and became very nasty and, would you believe it, racist.

I kept my cool but I told her that I was going to the Quatre-Bornes police station to give a statement and that it was preferable for her to do the same.

We went there. The police assessed the situation and told the lady that she was wrong in her interpretation. We were asked a number of questions, asked to draw a sketch of the accident and we BOTH signed the statement. I was given a receipt to show to my insurance company.

The next day I went to Mauritius Union with the receipt which I dutifully gave to one employee after having filled some documents.

Then we waited. And waited. And waited. And waited. Until Christina wrote a post Mauritius Union: Peace of Mind? two weeks ago to describe the amateurish behavior of that company concerning our case.

The consequence

At first, nothing happened.

Then on the 28th, Christina received a call from one Mauritius Union employee telling her that everything would be settled by the end of the week. We were delighted.

Then, the next day, someone else called and asked whether a police statement had been given at that time! We were taken aback but the guy said he would check (and, anyway, there was that police receipt which could only originate from, guess where?, yes, a police station)

Symptoms of neurosis

Just now, at 21:00 on 30 November 2007, yet another Mauritius Union employee called (why can’t they choose only one to deal with us?).

He insinuated that Christina had purposely deleted two comments he posted on her blog. Of course, the only reason why the comments weren’t appearing was that they were still in the moderation queue. Now they are both visible. And you can read Christina’s answer to those two comments.

That guy talked rudely to my wife. And this is not something I can tolerate. I took the phone and told him verbatim:

Me: Ki sanela toi?
Him: He told me his name.
Me: To pé agace nou la.

I hung up with anger.

ADSL bandwidth sucks in Mauritius

I’ve just created a group on Facebook called ADSL bandwidth sucks in Mauritius. Feel free to join in and participate in the discussions.

The name of the group is provocative. But I hope the discussions will be constructive. At the end of the day, we want better bandwidth!

Incidentally, a friend, Marc Israel, who works at Microsoft (yes, I have friends at Microsoft…) has just blogged about his new-found admiration for MT… His blog entry is about the Net PC that MT is going to sell in January 2008 and which is powered by Microsoft software.

Are you a geek?

“if you were independently wealthy and didn’t need a job at all, would you still be writing software for fun?”

If the answer to this deep philosophical question is yes then you are a geek. Congratulations!

The Zune has wired wireless

Sorry. I can’t resist:

Today’s Zunes claim to uniquely provide wireless sync, but they require being plugged in order to do this! That means Microsoft’s wireless sync has as many wires as Apple’s USB sync, it’s just 20 times slower. That’s not an advantage nor a feature. It’s a marketing lie.

According to this informative article, this is one of the reasons why the Microsoft Zune is still failing compared to the Apple iPod.

Installing the latest Rubygems and Rails on Slicehost

As you know, I now have my own virtual private server hosted at Slicehost and on which I’ve installed the latest Ubuntu 7.10 Gutsy Gibbon.

The main reason why I’ve changed my hosting company is that I want to have fun with Ruby on Rails and Ruby technologies in general.

Installing the infrastructure to run Ruby on Rails applications is not difficult but there are some steps which are not trivial. Here is a rundown of what I did to get my first Ruby on Rails application working online.

1 – Ruby and Rubygems

The server edition of Ubuntu does not install Ruby and the Ruby package manager (called Rubygems) out of the box. I did:

$ aptitude install ruby
$ aptitude install rubygems

This installs Ruby 1.8.6 and a relatively troublesome version 0.9.4 of Rubygems that needs to be updated as quickly as possible to a newer version. The reason is that this old version of Rubygems uses too much memory and will fail on my 256Mb slice! To install the new version (0.9.5), I did:

$ gem update --system --source http://segment7.net/
$ gem update --system --source http://segment7.net/

This installs a beta version (0.9.4.7) of Rubygems which works well when memory is limited. Notice that I typed that line twice. It failed the first time but succeeded the second time. Your mileage will, of course, vary. I then did:

gem update --system

and, voilà, the latest Rubygems (0.9.5) is installed. As a confirmation, here is what I now have:

$ gem env

RubyGems Environment:
- RUBYGEMS VERSION: 0.9.5 (0.9.5)
- RUBY VERSION: 1.8.6 (2007-06-07 patchlevel 36) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/bin/ruby1.8
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://gems.rubyforge.org

The most important information is the :bulk_threshold => 1000 which indicates that Rubygems will limit its memory consumption to 1000 units (kb?) which rocks! Now, everything can be installed without exceeding the memory of the server.

2 – Ruby on Rails and Mongrel

Now that Ruby and Rubygems work well, it’s high time to install Ruby on Rails and its friend, Mongrel.

Mongrel is (I quote once more) “a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications”.

Before installing those two Ruby gems (which is what Rubygems call an add-on package), I did:

$ aptitude install build-essential
$ aptitude install ruby1.8-dev

build-essential contains a C/C++ compiler which is crucial when installing some gems because, well, some of them are written in C/C++… Furthermore, ruby1.8-dev contains some essential tools when are required for installing gems. Both are important because gems are downloaded in source format (in either C/C++ or Ruby) and need to go through a number of steps before actually being installed.

I installed Ruby on Rails and friends with:

$ gem install rails
$ gem install mongrel
$ gem install mongrel_cluster

3 – Testing Ruby on Rails and Mongrel

I then created a skeleton Ruby on Rails application:

$ cd
$ rails test
$ cd test

and I launched a Mongrel instance on port 81 (because I can’t access my server from my client if the default port of 3000 is used…) with:

$ ruby script/server -p 81

and the result I got was:

=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:81
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:81
** Starting Rails with development environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart).
** Rails signals registered. HUP => reload (without restart). It might not work well.
** Mongrel 1.1.1 available at 0.0.0.0:81
** Use CTRL-C to stop.

which felt like music to my ears.

I’ve stopped the server since. So you won’t be able to connect to it. But for your own enjoyment, feel free to stare on the above screenshot :-)

Conclusion

The process is easy and well documented elsewhere. Except for the bloody Rubygems issue which forced me to hard_reboot my VPS for the first time in its (short) life.

Next time, I’ll write something on using Capistrano to deploy a Ruby on Rails application automatically.