Tuesday, 16 June 2009

Solaris Express Community Edition build 115 and a problem with Input Methods

It isn't apparent yet in the announce section of OpenSolaris website but Sun unsupported Solaris Express Community Edition build 115 has been released. You can see changelogs, as usual, at these addresses:
As far as it concerns myself, this release introduces no bug fixes nor RFE I was interested into and your interest may vary depending on the hardware you're running SXCE onto and the OS features you're using.

Nevertheless, I downloaded the DVD image and Live Upgraded my SXCE build 114. Everything went fine with no package installation errors and very little cleanup.

When I booted build 115 I noticed a renewed Volume Control User Interface and experienced a blocking problem: Input Methods weren't working anymore. They just didn't work.

A search on Google was fruitless so I posted a message on the i18n discussion mailing list at OpenSolaris.org and a Sun Engineer gave me a quick response: it's a bug introduced in build 115 and fixed in build 117 (http://defect.opensolaris.org/bz/show_bug.cgi?id=9109).

The workaround is very simple:
# touch /usr/lib/gtk-2.0/2.10.0/immodules/im-iiim.so
# svcadm restart desktop-cache/input-method-cache
and then just logout and login.

GMail with Evolution and the trash bin: how to organize mails and delete GMail messages

In part I of this series of posts (well, what meant to be just one post but it's going to explode...) I explored the basic configuration you need to setup Evolution as your GMail client. I also told you about GMail labels. labels are a mechanism to extend the concept of folders (in this case, IMAP folders): GMail servers indeed store just one copy of a message and if a message is labeled multiple times, the message will appear in all the corresponding folders. Label work just like UNIX hard links.

Folder names and GMail internal folders

GMail will provide one IMAP folder per label whose name will be the label's name. So far, so good. Now: GMail also uses some special folders to operate internally and you'll see them in the IMAP tree. These folders are:
  • [GMail]/All Mail
  • [GMail]/Drafts
  • [GMail]/Sent Mail
  • [GMail]/Spam
  • [GMail]/Starred
  • [GMail]/Trash
You really shouldn't use them but believe me, they just do what they say. Is it clearer why on part I we modified the default settings for some folders?
  • The [GMail]/Drafts folder is visible in GMail web interface, so it's very handy to have Evolution save drafts directly there: you could start a message on Evolution, save it, and then sending it from you mobile device. You should be aware of a gotcha: if you're editing a message with a large attachment beware that when the mail client saves it, it will indeed send the attachment to the server! In such cases, I just attach the file at last.
  • The [GMail]/All Mail folder contains a link to every single message in your account. That's why you should never store messages directly here unless you know what to do. We'll get into this later.
  • The [GMail]/Sent folder contains a link to every message you sent. GMail does this automatically for you: the message will be stored on the server and labeled accordingly. That's why you don't have to save sent messages on the server. You would simply waste bandwith!
  • The [GMail]/Starred folder contains a reference to starred messages. One more time you realize that everything's built around labels.
  • The [GMail]/Trash label is very special. We'll get into this later.

Copying and moving messages

The file metaphor still applies:
  • Copying a mail from a folder to another is equivalent to label a message with the destination folder's label.
  • Moving a mail from a folder to another means removing the origin folder's label and applying the destination folder's label.
In the introduction, I said that labels are similar to UNIX hard links. Yes, but there's an important difference: a mail isn't unlinked when its label counter is 0 and a mail can be unlinked even if its label counter is greater than 0.

Deleting messages

This is where things may not be so intuitive. I'll try to make it clera with an example: when you receive a message (and you don't have any auto-labeling filter triggered by such message), that email goes into the Inbox. Moreover, that message will automagically appear into the [GMail]/All Mails folder. Now: what's the IMAP gesture that corresponds to archiving such message? A valid answer would be: moving it to the [GMail]/All Mails folder. This would indeed translate to:
  1. Removing the GMail internal Inbox label.
  2. Applying the [GMail]/All Mails label (which is already applied to every message).
Thus, the only action you could perform would be removing the Inbox label and you could do it in a bunch of ways including:
  • Moving the message to a local (non-GMail) folder: this folder could also be the Evolution local Trash folder.
What has happened, then? Well: you think you deleted a message whereas you simply archived it. This is also true when multiple labels are applied. You can remove one label, but the same message could still be appearing in another n IMAP folders because of the remaining labels! How can you remove a message, then? Think about GMail web interface: when you delete a message, no matter the number of labels applied, what happens is that GMail is labeling it with the magic [GMail]/Trash label!
No matter how many labels a message has, labeling it with the [GMail]/Trash label effectively tell GMail to delete it in 30 days.
If you want to delete a message, then, just move it to the corresponding [GMail]/Trash folder of your account.

Is there a better way to do it?

I recognize that renouncing to the comfortable Delete button and having to move a message into the [GMail]/Trash folder is neither intuitive (semantically) nor easy: one click is addictive, a (right-click, move, choose folder) sequence is just a pain.

I had to cope with the same issue in Thunderbird but, fortunately, Thunderbird was easy enough to tweak in order to map the Delete action into the corresponding GMail action. It basically reduced to mapping the local Trash folder into the remote [GMail]/Trash folder and it could be easily accomplished manually editing the trash_folder_name property of each account.

I haven't (yet) found a way to do it with Evolution and I'll spend a couple of hours more to investigate it.

Monday, 15 June 2009

Configuring Evolution for GMail

Introduction

As many Evolution users may have noticed, Google does not include this mail client into the supported clients' list. If you, like me, are a UNIX user, you're probably wondering about which mail client to use between Evolution and Thunderbird. I'm not entering in such a war: I've been a Thunderbird user for a long time but I switched to Evolution mainly because:
  • It's an Exchange mail client out of the box.
  • PGP signing and encryption as well as S/MIME signing and encryption are supported out of the box.
  • It better suits my enterprise-class needs such as calendaring.
Platform independence, as far as it concerns myself, it's not an issue: I'm a Solaris user and both Thunderbird and Evolutions ship with SXCE (and Indiana as well).

Because there's no how to about how to set it up, I decided to share my configuration with you in a series of posts. Here's how I configured my Evolution mail client on Solaris.

Enabling POP/IMAP in GMail

The first thing you've got to do to be able to use a stand-alone mail client with your GMail account is enabling POP and/or IMAP in your account. This is a topic covered in GMail help documentation. Resuming it, citing the guide:
  1. Sign in to Gmail.
  2. Click Settings at the top of any Gmail page.
  3. Click Forwarding and POP/IMAP.
  4. Select Enable IMAP.


I'd personally recommend IMAP over POP. As explained in GMail FAQs, IMAP is a more flexible protocol which offer two-way communication between client and server. This means two-way syncing capabilities and it's ideal when you access your mail from more than one device.


Creating the account

Once your Google account has been set up, you can open Evolution and create your account(s). The connection parameters can be consulted here.

Receiving email

That's how Evolution calls the Incoming server configuration tab. There are a couple of things you should be aware of. Google documentation is adamant about the ports where its services are exposed: neither IMAP nor SMTP are published on the standard ports and so a customized setup is required. In the case of Evolution, this means you're going to modify the account you created in order to adjust the port number. Incoming mail server runs on port 993 and Evolution, unlike Thunderbird (if that's what you're thinking about...), doesn't allow you to introduce a port number. That's not a problem: just introduce the server address in the classic hostname:port notation. That is: imap.gmail.com:993. Please notice, also, that the Use Secure Connection configuration parameter is set to SSL encryption.

Receiving options



Well, these is really a question of taste, but a couple of settings are important. The check for new messages in all folders may be relevant to you because of the flexibility of GMail. Indeed, if you configured a filter to automatically label and move emails, you'd want to check this because, otherwise, only the Inbox folder would be checked for new mail.

Sending email

This configuration dialog is similar to the previously described Receiving email dialog.



Notice the following:
  • Outgoing server is smtp.gmail.com:587.
  • The Use Secure Connection parameter is set to TLS encryption.

Use it!

Now, the account you just configured should be operational. Evolution is going to ask you for your account's password and then folders and emails header will be fetched.

Better user experience

Evolution is a pretty, straight forward email client inspired to Microsoft Outlook. Even if you're completely new to it, you'll quickly find your way through options and menus. Nevertheless I'm going to share a couple of suggestions.

Labels

GMail is not the typical mail service you may have used in the past. It has its own idiosyncrasies you should be aware of before tweaking your profile. GMail extends the concepts of directory through the concept of labels. Labels are like directories is that they're a mean to hierarchically organize emails but with a subtle difference: an email is usually owned by just one directory while an email can be labeled with as many labels you want. This means that in a given point in time an email could be owned by many folders, each for every label you labeled the message with. Removing a message from a folder means removing that label. On the other hand, copying a message into a folder is the GMail-equivalent of labeling a message.

Dos and don'ts

As documented, here's what you should do (quoting Google):
  • DO save draft messages on the server. If you want your drafts in your mail client to sync correctly with Gmail's web interface, set your client to save drafts to the [Gmail]/Drafts folder.
and here's what you shouldn't (quoting Google):
  • Do NOT save sent messages on the server. If your client is sending mail through Gmail's SMTP server, your sent messages will be automatically copied to the [Gmail]/Sent Mail folder.
  • Do NOT save deleted messages on the server. Messages that are deleted from an IMAP folder (except for those in [Gmail]/Spam or [Gmail]/Trash) only have that label removed and still exist in All Mail. Hence, your client doesn't need to store an extra copy of a deleted message.
  • Do NOT save deleted messages to your [Gmail]/Trash folder because this will delete a message in all folders.
  • Do NOT save deleted messages to your [Gmail]/All Mail folder as some clients will try to empty this folder and ultimately fail. This can lead to delayed mail access or excessive battery consumption on a mobile device.
  • Do NOT enable your client's junk mail filters. Gmail's spam filters also work in your IMAP client, and we recommend turning off any additional anti-spam or junk mail filters within your client. Your client's filter will attempt to download and classify all of your existing messages, which may slow down your client until the process is complete.
They're quite intuitive, once you grasp the labels' functionality but if you never wondered about it, they're indeed gotchas. Here's my default configuration:



Security

Do you mind about security and confidentiality, don't you? And if you don't, you should. Evolution let's you sign and encrypt your messages by means of PGP and S/MIME technologies. You can set your security preferences for your accounts and be sure to sign the messages you send:


And if you don't have a PGP or GPG key, I'll tell you how to create one and set up GPG on your Solaris box! ;)

Follow ups


In Part II of this series I will tell you more about some GMail idiosyncrasy and how to cope with message deletion.

Sunday, 14 June 2009

Holidays in Crete, part I: the arrival

We flew from Madrid to Athens where we transferred into an Athens-Chania flight. The second flight was pretty short, about 40 minutes, and the view from the flight is impressive. The Aegean Sea and its deep blue color, the rough profile of the islands and at last, Crete. Crete is a mountainous island and throughout its coast the hills' slopes go down and sink directly into the sea. Sandy beaches are rare, maybe only Georgioupolis is worth mentioning, and are usually very small. Crete's rough beauty is striking: if you can trade beaches for timeless views, Crete's the good destination for you.

Chania's Airport it's, not by surprise, at 149 mt above sea level: when the flight approaches the island, you can see the sea and the cliffs on the East of the peninsula drawing nearer and nearer until the sea suddenly disappears from the window leaving its place to the landing strip. It really gave me the impression of landing on the top of a hill.


View Larger Map

The airport is very small: it's the smallest one I've ever flew to! Everything's... "at hand". As soon as we collected our baggages, we went out to the "arrivals" section (I later realized that there's no separation between arrivals and departures at Chania's Airport) looking for the car rental company a friend of mine suggested us. They were there, just in front of us: a very small office (just a desk, a telephone and a man), waiting for us. Warm atmosphere and a warm welcome: maybe it's marketing, maybe sincere devotion for a friend's friend. No matter what, it was just good.

We put our things on the little Panda we rented and left towards the hotel: the Iberostar Creta Marine. My friend Heinz warned me about one thing before leaving: the GPS! Well, Crete's not that difficult to tour, after all. It has just one motorway connecting Chania, Rethymno and Iraklio.


View Larger Map

Shouldn't be that hard, thought I. And indeed, it was not! Leaving the Airport, Rethymno is pretty well indicated, even if sometimes some basic Greek language skills would help you interpreting the road signs. Since we arrived at late afternoon, the road was already dark when we headed Rethymno. The Chania-Rethymno highway is a common four-lanes road (two lanes per direction), whose lanes, adorned with flowery hedgerows, are constantly winding to follow the hills' profiles. The night was windy and fresh and the ride was pleasant: we opened the car sliding roof and covered those 90 kilometers admiring the view and smoking a couple of cigarettes.

Rethymno passed at our left, silently, without almost being noticed: it seemed yet another small city whose harbor was clearly visible from the road. Since Rethymno, the small motorway kept on winding with its ups and downs, until we arrived at the hotel, just a couple of kilometers before the village of Panormos.


View Larger Map

We were tired but happy: our Crete's first bite really had a good taste and the hotel was somehow fascinating. It clearly is a typical touristic family hotel whose location is privileged. The rooms, moreover, are almost all deployed on a myriad of small buildings. They're not individual bungalows but the feeling is very similar. It's a perfect choice for families and couples to spend a relaxing stay at a convenient distance from the two main cities of the island.

We instantly fell asleep listening to the sea waves crashing into the shore.

Thursday, 4 June 2009

Crete, a tentative itinerary

As you know, I decided to spend the next week in Crete. One week is not much time, and I'd like to try and breathe as much Cretan atmosphere as I can. One friend of mine who's living in Crete sent me some good suggestions. To satisfy my curiosity, I started googling around looking for photos and information and one place struck me most: Loútro (Full-screenΛουτρό).

Loútro is a small village in the southern Crete and it's pretty unique in that:
  • There's no road to and into Loútro: some sites state that there's just one car in the entire village. I'll verify this as soon as I'll be there.
  • The only mean to reach the village is by boat or on foot.
Loútro's photos I'm viewing recall of the typical Cyclades panorama: calm sea, white houses with blue windows. Here's Loútro on Google Maps:


View Larger Map

In the map it's pretty clear how isolated Loútro is. If you follow the shore to the East, you'll find another isolated village, Sfakia, and the two are connected by a footpath: you should see it if you magnify the image. It really goes parallel to the shore line. This path gives also access to some beautiful beaches such as Glyka nera (Sweet water), one of the most beautiful beaches in Crete.

Google Maps is a just cool application! Checking places like this is funny and, in the meantime, it gives me some kind of confidence about the itinerary I'm building.

I'll keep on documenting and as soon as I'll be back, I'll document my trip!

How to maintain the world leadership of the absurd - Mr. Berlusconi, I'm tired...

This is a Beppe Severgnini's article published on Italians, a column of the Corriere della Sera. It's a long time I'm not writing about politics but believe me: I'm so sick of reading Italian newspapers (and now, foreigners press too) that I try to forget what's happening in my home country. Nevertheless I'll do this exception, once more to celebrate Beppe Severgnini's acumen and sarcasm, and I will (try to) translate his last Italians column post to English.

How to maintain the world leadership of the absurd.
The President of the Council is convinced that Italian journalists are the inspirers of all the negative comments abroad. Impossible, for two reasons. Given the number of published comments, we should be inspiring the whole holy day, and we have other things to do. And then, let us say, there is no need to do that. Our political class - not only its Chief - is capable of getting in the mess alone, without any help.

I know that it is shocking, but there are countries, like Great Britain, in which the ministers will resign when surprised to bill a lawnmower (in Italy a politician could bring home the entire factory, explaining that he's got have an immense lawn, and we would believe him). I know that it appears fool but an American president - Bill Clinton - risked the impeachment for a lie about a girl (we would like to know if it is nice, and if the lie comes from the Conservatives or the left wing).

However, let's think about the unimaginable. Let's suppose that the Italian Politicians had lost all of their imagination. The last story, from Casoria and Villa Certosa, is so incredible that our minds are tired. Here are some suggestions. How to maintain world leadership of the absurd, conquered at the price of so many outrageous efforts.

THE CARTHUSIANS (it's a joke about the name of one of the estates of the President of the council) - All of the PDL parliamentarians, anxious to demonstrate solidarity to their leader, rented a house in Sardinia and organize hundreds of parties simultaneously with fake volcanoes. The NATO thinks of an attack and sends flocks of F16 on the island. An euphoric Apicella (A Berlusconi's friend, a guitarist), on top of the Gennargentu, sings "So sweet to die for Silvio".

THE STORY OF QUIRINALE - Unbeknown to the President Napolitano, a group of young parliamentarians of PD, seven women and three men, detain in the palace for ten days to escape the black plague of the election results, and in turn tells stories of cutting humor. Does it seem like Boccaccio? Well, at least you pull on morale.

BICAMERAL VICE - Massimo D'Alema called on Silvio Berlusconi for a table of reforms. The latter agrees, praising the constructive spirit of the opposition, and then continues to do what it wants and likes (2nd episode, the result within twelve years).

MICROEXPO - Giulio Tremonti, in agreement with the Northern League, decided to lower further the appropriations for the Expo 2015. The event will cost 15,000 euros, to be spent on snacks (the theme is nutrition). The new CEO protests, the Minister of Economy quotes Cesare Pavese "Working, tires".

HOT WASTE - Throughout southern Italy, the garbage is collected and disposed on time with precision and regularity. Without protests? Without patronage systems? Nothing criminal? No pre-election promises? The world holds its breath, then bursts into an applause: incredible, unbelievable! They are really incredible, these Italians.

--

The original article, in Italian language, can be read here.

Wednesday, 3 June 2009

Sun xVM VirtualBox 2.2.4 has been released



Sun xVM VirtualBox version 2.2.4 has been released and, as usually, can be downloaded here. The changelog for this version, as reported by the official website, is:

  • Windows Installer: fixed a potential hang during installation
  • Windows Installer: fixed several problems (bug Fixed in SVN (closed)">#3892)
  • Solaris hosts: make it work with Solaris build 114 or later (bug Fixed in SVN (closed)">#3981)
  • Solaris hosts: fixed a bug serial port character handling found during loopback (bug fixed in SVN (closed)">#3120)
  • Linux hosts: adapted vboxdrv.sh to the latest changes in VBoxManage list runningvms (bug #4034)
  • Windows hosts: fixed a crash caused by host-only/bridged networking
  • Mac OS X hosts: fixed access to host DVD with passthrough disabled (bug #4077)
  • Guest Additions: fixed problems with KDE 4 not recognizing mouse clicks
  • Windows Additions: fixed incorrect 8-bit guest color depth in Windows 7 guests
  • GUI: warn if VT-x/AMD-V could not be enabled for guests that require this setting (bug ... (closed)">#4055)
  • VMM: fixed occassional crash due to insuffient memory
  • VMM: fixed hanging 64 bits Solaris guests
  • VMM: restore from a saved state occassionally failed (bugs #3984 and #2742)
  • Clipboard: fixed a deadlock while shutting down the shared clipboard on X11 hosts (bug fixed in SVN (closed)">#4020)
  • OVF: fixed potential hang during import
  • OVF: fixed potential crashes during import/export on Win64 hosts
  • VBoxManage modifyhd --compact: fixed bug which could lead to crashes and image corruption (bug --compact broken in 2.2.2 (closed)">#3864)
  • VBoxManage metrics collect: now flushes the output stream.
  • VHD: made VBoxManage internalcommands sethduuid work for .vhd files (bug does not work for VHDs => ... (closed)">#3443)
  • VHD: some .vhd files could not be cloned (bug #4080)
  • VMDK: fixed creating snapshots
  • NAT: improvement of TCP connection establisment (bug Fixed in SVN (closed)">#2987)
  • NAT: fixed order of DNS servers in DHCP lease (bug fixed in svn (closed)">#4091)
  • NAT: fixed DHCP lease for multiple name servers (bug Fixed in svn (closed)">#3692)
  • NAT: fixed a potential segfault if the host lost its connectivity (bug #3964)
  • Shared Folders: deny access to parent directories on Windows hosts (bug #4090)
  • Shared Folders: make rm/rmdir work with Solaris guests on Windows hosts
  • Networking: fixed the problem with blocked receiving thread when a broadcast packet arrives too early to be handled by uninitialized e1000 adapter.
  • Networking: fixed the problem that caused host freezes/crashes when using bridged mode with host’s interface having RX checksum offloading on (bug Fixed in SVN (closed)">#3926 and related). Fixes problems with TX offloading as well (bug Fixed in SVN (closed)">#3870)
  • PXE boot: Added support for PRO/1000 MT Server adapter.
  • Python bindings: fixed keyword conflict
  • SCSI: fixed occasional crashes on Win64
  • Serial: allow to redirect the serial port to a raw file (bug Fixed in SVN (closed)">#1023)
  • VRDP: fixed a rare incorre
  • ct screen updat

You'll have noticed bug 3864 in the list of fixes above. I unfortunately hit this before upgrading and, hadn't I done a ZFS send of the file system I was working on, I would have probably lost my VDI image. I strongly suggest you to upgrade to version 2.2.4 or not to run VBoxManage --compact at all.