Italy Week 1 & 2: Sanremo

Map | Wikipedia

Well, I’m about 2 months behind writing about my time in Europe, so I probably should try and catch up. Here’s episode 1 of a sporadicly updated N part series.

After a long, but relatively uneventful journey of 17,000 kilometers from Melbourne, we finally arrived in Sanremo. If you’re ever in the area, I highly recommend the train ride from Genova to Sanremo, it’s an hour and a half of picturesque seaside towns and rocky shores. If you just want to get to Sanremo quickly after 30-something hours of travel, remember to fly into Nice. A 1 hour train ride from Nice versus a 4+ hours from Milano is probably going to be a little more comfortable. We found our hotel easily, despite claims on some websites that it was impossible to find (the directions we were given were quite accurate). If you’re after somewhere clean, central and relatively inexpensive to stay, I can definitely recommend the Pollon Inn, which as we later discovered, is one of the handful of hotels in Sanremo with air-conditioning as well.

Following my first shower in a day-and-a-half, we decided to explore the town a little. Sanremo is a very tourist-friendly town, being a popular destination for summer holidays. If you don’t mind walking uphill for a bit, there is an excellent garden above the old town, with very good views over the city.

In somewhat related news, I think I’ll be happy if I never see the stretch of track between Genova and Milano again. We did a day trip to Milano to check out work/apartment options, combined with travel for ACLE (see upcoming posts), I’ve seen that hour of flat countryside more times than I care to remember.

As luck would have it, Liam was staying in Nice at the same time we were in Sanremo, this sounded like an excellent excuse to visit France for lunch (and dinner, as it turned out). Nice is a very pretty town, much of it apparently being rebuilt over the past few years to make it more tourist friendly. In retrospect, staying in Nice for the week prior to ACLE training would have been a good idea. Sadly, due to our desire to stay longer than 3 months, a visa is required, which means navigating the bureaucracy of the Italian visa and residency system. This is a story deserving of its own post, but let me say this much: if it seems as if you’re getting through it far too easily, it’s because you are. At some point, it will all go horribly, horribly wrong.

In happier news, the ACLE training camp was an excellent experience. If you’re looking for a way to spend your mid-year break, ACLE is a very good option. Arriving for the start of training involves making your way to Sanremo train station, where you’ll be met by the ACLE greeting party of office folk and returning tutors. We were changed to a different hotel, Hotel Centro. Unfortunately, I cannot recommend this one. It was in an excellent location, but it had two problems that the Pollon Inn had it beat on: air-conditioning, and beds long enough for me to fit into. It seems that Gary-sized beds are a rare commodity in Italy.

After dumping our stuff at the new hotel, it was time for a get-to-know-you aperitivo at the Sax Bar. For those not familiar with the Italian tradition of aperitivo, it basically amounts to pre-dinner drinks, with small savory snacks to go with it. Bars will frequently serve the snacks for free, though it is considered good manners to continue buying drinks while you’re there.

As for the actual training itself, I don’t have a lot to say about it. I found it to be a very thorough introduction to teaching English to small children, covering various methods for keeping them interested, and for communicating the concepts. We also got to visit some of the restaurants throughout Sanremo, which was a good introduction to Italian culture, and an excellent opportunity to hang out with fellow tutors.

Finally, it was time to move onto our first camps, which for us was in Como. I’ll be writing about that one in my next update-with-no-fixed-schedule.

More photos are in my Nice album and my Sanremo album.

Leaving MySQL (Not Really)

I’ve been a bit slack about writing my MySQL thoughts of late. This would be caused by the fact that, as I write this, I’m now one week into a 12 month leave of absence from MySQL.

Having given it much careful consideration, I’ve decided that the wisest way to survive the current economic problems is by blowing my savings on a year long holiday in Italy. Wait, did I say holiday? Not really. I’m still a Sun employee, and I’m still going to be active in the MySQL community. My dear support customers just won’t be seeing me around for a while. 🙂

I’m looking forward to having time to write more extensively about some of the cool things we’re doing, and what’s going on in the community at large. If there’s anything you’d like to hear about (either expanding on my previous posts, or a completely new topic), please let me know.

Another thing I’d like to do, if there are any interested parties, is to see how companies are using MySQL in their part of the world. So, if you don’t mind showing off what you’re doing and having me write a little bit about it, feel free to drop me a line. All of my current contact details can be found on my contact page. I’m going to be primarily based in Milan, but I’ll be looking to travel around the rest of Europe at some point, so I’d be more than happy to stop by and see you if the opportunity arises.

MySQL and Geospatial Data

MySQL has had basic support for Geospatial Data since 4.1, but has lacked some of the features of the OpenGIS specifications since then. The good news is, this is rapidly changing. Our own Holyfoot has been hammering away at WorkLog #1327, to provide precise functions for our GIS support.

Even better, it’s fast. How fast? Well, the good people at Oki Labs, apart from having implemented several new GIS functions for MySQL, have done some benchmarking, and it’s looking good. If you’ll excuse the cliched comparison to Postgres, here are the response times (seconds) of MySQL GIS vs. PostGIS in Oki’s test:

Connections PostGIS MySQL
1 1.817 0.220
100 10.517 0.557

Source: http://www.osgeo.jp/wordpress/wp-content/uploads/2008/11/foss4g2008_okumura.pdf

If you’re interested in checking it out, the source tree (regularly merged with MySQL 5.1) is available here. Have a look at Giuseppe’s guide to running a Bazaar export in MySQL Sandbox.

WordPress Shouldn’t Use nofollow

In my random wandering across the internet today, I discovered that, by default, WordPress adds the rel="nofollow" attribute to links in comments. Now, we all know the original purpose of nofollow, to try and discourage comment spam. This isn’t really relevant to WordPress anymore, though. Akismet has been supported in WordPress for quite some time. Indeed, I noticed that 2.7 comes with it installed by default. I can attest to the quality of the Akismet plugin: out of thousands of spam comments, it has let exactly one through, and I’ve had one false positive.

To that end, I strongly recommend all WordPress users install Akismet, and the DoFollow plugin. All it does is disable the nofollow attribute on external links in the comments. With the help of Akismet, you can safely do this without providing assistance to spammers.

And to everyone who has contributed to my blog in the past, my apologies for giving you your proper due. That has now been remedied.

Open Database Alliance = Awesome

The big news coming from the MySQL Community today is that Monty Widenius and Percona have founded the Open Database Alliance, a group focused on “unifing all MySQL-related development and services, providing a solution to the fragmentation and uncertainty facing the communities, businesses and technical experts involved with MySQL”.

I, for one, am 100% behind this. I’ve always been a big fan of community foundations being a focus point for development efforts, they work well to bring everyone together, and to provide a sensible foundation to help avoid much of the uncertainty that seems to spring up around MySQL. I certainly hope that the ODA is able to do the same.

Though I do have one question, how does the ODA plan on handling competing members? If you have two companies offering the same service in the same market, which one will the ODA recommend? Monty specifically says that “all companies that are joining the Alliance should bring something to the table”, but it’s a bit difficult to bring something new when there are already several large players in the MySQL market.

I shall certainly be watching the progress of this alliance with great interest, it has the potential to turn the MySQL Community into a large driving force for development and change.

The press release is available here, Monty has written some interesting thoughts about it here.