I finally replaced my NAS with a newer model, a DS 211, which has the same form-factor, but a faster ARM processor. CPU performance was one reason for replacing it (it would basically get maxed out at around 6 MB/sec) the other was that support was discontinued, and among the newer firmware features I wanted was support for Time Machine in Lion. Most of the stuff worked out of the box, and file transfers are way faster. I reinstalled the
ipkg package manager following the instructions you can find on the official wikis. The catch came when I wanted to install the unison file synchroniser which always complicated because it is not written in C, but in Ocaml, which always complicates matters.
- There is no
ipkg for unison in the standard package list.
gcc and friends a compiling from the source does not work, because there is no native compiler for ARM processors.
- Compiling the code but disabling native code generation did not work either, I was getting some random syntax errors.
- I finally found a package in the unstable tree of NSLU2 Linux, this one installs fine.
- I had to enable ssh access for the regular user account I use for synchronisation, by default, user-account cannot remote login, simply editing
/etc/passwd did the trick.
Now unison works, but when doing a big sync, I’m back to ~6MB/sec, but this time, the bottleneck seems to be
sshd which uses around 60% of the CPU, I will have to try other ciphers.
One application that has been updated in Mac OS X Lion is the venerable
terminal.app which finally supports 256 colours. While playing around with emoji characters, I realised they were quite useful to mark different terminals. I typically have multiple windows open with local and remote shells, along with a python interpreter. Previously I used the background colour of the terminal to distinguish the various contexts, but now I also add a relevant emoji in the title. Among the useful characters for this use
- Shell 🐚
- Snake (Python) 🐍
- Camel 🐫
- Computer 💻
To add the character to a terminal’s title, just go into
Terminal/Preferences, select the
Settings Icon and the
Window tab. In the
Title item, you can enter the emoticon in the title text.
One of the striking aspect of Mac OS X 10.7 Lion is the extent to which it borrows from iOS. One amusing aspect of this mobile phone influence, is that the system now supports Emoji characters, which have been standardised within Unicode recently. While Emoji are technically characters, they are small icons, and are rendered both in iOS and in Mac OS X Lion as colour bitmaps. Having a font that is both a bitmap and colour is something I had not seen since the Amiga.
Beside cute animals, the Emoji range also contains some semi-useful icons, including ones that represent clocks faces for the twelve hours (between
String.fromCharCode(0x1F550) on Safari, you won’t get an error, just a bogus character in the private area (
Here is the resulting code (I factored out the surrogate calculation, mostly to avoid escaping problems with WordPress). If you use web-browser that supports emoji, you should see the actual code in action in the top-right corner of this page, if emoji are not supported, you will probably see an empty square.
var date = new Date();
var hour = (date.getHours() + Math.round(date.getMinutes() / 60) + 11) % 12;
var emo = 0x1F550 + hour;
var h = high_surrogate(emo);
var l = low_surrogate(emo);
clock = String.fromCharCode(h) + String.fromCharCode(l);
document.getElementById("emoclock").textContent = clock;
Last year, I was given the special edition of Stan Sakai‘s Usagi Yojimbo. This is the kind of mixed gift when you are travelling around, as this box weights a few kilos. I put it in my shelves until I would have some time to read it. I have finished reading both volumes, and I can say this was a really cool gift.
As the title 兎用心棒 usagi jōjimbō indicates, this is the story of a rabbit bodyguard. More precisely a ronin rabbit in some animalistic variation of the edo period. Interestingly, the drawing style of this comic is quite far from manga, instead it reminded me a lot of the style of Sergio Aragonés, which is hardly surprising as he collaborated with Stan Sakai. The are even a few guest appearances of main character of Aragonés: Groo the Barbarian. The similarities go beyond the drawing style: they share the same depiction style for combat scenes: chaotic and exuberant, but also graphical codes, for dead persons in particular. The general structure of stories, often starting and finishing on a misunderstanding is also similar. One notable difference is that Sakai does not go mad with crowds scenes like Aragonés does.
Usagi Yojimbo – The special Edition
ISBN : 978-1-60699-154-1
While the drawing style is definitely western, the stories felt deeply japanese. This is a story about a ronin, the difficulty of reconciling honour with the turpitudes of everyday. More importantly this is a story about wandering, searching for one’s self, not being able to return back. The character is torn between the friends he has in the higher class and the unsavory types he shared the live with. The narration is full of far villages, bad weather, and you can feel the warmth of tea on a tatami after finding a welcoming place in the storm. The book made me long for Japan, Kurosawa movies and Otoko wa tsurai.
In short, a very good comic which I heartily recommend, in particular if you have a soft spot for Japan.
||Rare kanji, not in the standard use set. Variant: 兔
|Use, business, employ
||Stylised heart ♥
|Rod, stick, cane, club
||木 (tree) + 奉 (offer respectfully)
I just cleaned some stuff with bleach, and immediately I got memories of France. The French prefer using bleach to clean things, so the smell of it is everywhere. Each country has different dominant cleaning product, when I come back from Mountain View, my clothes smell like the US for a few days. While there are many things on the internet, I could not find a map of the cleaning products, of the smells. It’s a shame: with such a map, one could build a selection, and organise travels in one’s mind just by switching the bottles used for laundry or cleaning the floor.
While some companies strive to make the web experience of their users better, this is not the goal of airlines companies, banks and other large administrations. For those entities, discouraging user is a far more important goal, and web design must be aligned with this objective. To achieve this goal, the following rules of web design must be strictly adhered to:
- Use flash – in particular for interactions that are mostly text based. The expensive marketing campaign must be amortised. For best results, have an heavy, loud, and complex animation that can only be skipped once it has loaded on the front-page.
- Request the users selects a country on the front-page. Afterwards, redirect him to a web-site with a different url but basically the same content. This effectively destroys the cookies and passwords saved by the browser. Security is important!
- Use multiple identifiers. Your internal system has three different databases with different primary keys. The user must be made aware of that. You company is only a single entity for corporate reasons, not to make the user’s life easier.
- Even when the user is logged in, and has provided you with profile data including name, address and identifiers, do not pre-populate the form with this data. This form of auto-population is not accessible to the worker in the call-center in India, you do not want the users to have a different experience. Remember the data you collected is needed for doing marketing research on why the users are unhappy, not make them happy.
- Maximise the latency for the various form controls. For instance use a drop down with all the countries, this effectively prevents the browser from auto-filing, add indentations in the text so typing a letter to jump to a country will not work. Do not pre-select the country the user was forced to selected earlier.
- Add form validation code, but avoid any type of normalisation, do not tolerate spaces or dashes in phone numbers: there is no dash or space key on a phone, for bob’s sake!
- Avoid using the Html5 e-mail and number specific input fields. If the user uses a tablet or mobile phone, he should use the full size keyboard. If the user is prevented from entering characters that are illegal in e-mail addresses, then your validation code will be useless.
- Avoid any form of automatic form filling, if the user entered a postal-code, he knows the name of the city, and pre-filling it would be an insult to his intelligence.
- When a form is entered send an e-mail with an incident number, but make sure nothing can be done with the incident number, no web tracking, no field to enter it in web form.
- When answering the user by e-mail, do not let the user answer to the e-mail. Instead require them to use a web-form. Do not refer to the web-form using an url, instead explain in the email’s text how to navigate to the form in web’s site hierarchy.
This list is of course not exhaustive, the key is to maximise the annoyance. Remember that a user than managed to communicate once has a higher probability of trying to communicate again.