Archive for the ‘Thoughts’ Category.


N°1 « Pays »

J’ai lu recemment des articles dans Augean Stables, un blog d’un americain qui a écrit aux problèmes socials en France. Dans son blog, il a écrit que, plus en plus, ses amis francais ont realisé que la situation immédiate en France, le violance et les manifestations, c’est possible qu’elle ne va pas passer comme avant. Il a écrit qu’un des ses amis lui a dit, “mais, [les français] nous sommes tétanisés.

L’autour a réfléchi que le sentiment public a bien changé maintenant, au contraste de ce qui s’est passé avant la guerre en Irac. Avant la guerre, en opposition des americains, le sentiment était bien anti-americain en France. Maintenant, après les grandes manifestations contre le comique Danois au Moyen-Orient, des agitations dans les banlieues, la population française realisent que la situation en France n’est pas mieux que celle aux États-Unis.

Hier, j’ai rendu visite à une professeur qui vient de France. Elle m’a dit qu’elle n’a pas peur de ce qui se passe maintenant, et elle va continuer d’avoir confiance au gouvernment. Elle croit que les troubles va cesser en un mois. On se promet qu’on se verra pour verifier sa prédiction.

How to write Chinese

In the past day or two, a couple of people have asked me (in various forms) about how Chinese writing works. The best book to read on this subject is Ramsey’s phenomenal book on the languages in China, the Wikipedia article on Chinese writing isn’t bad either.

This is the first thing to remember: Chinese is not written in an alphabet.

Think about that for a second. What’s the conventional definition for a “word”? Spaces on both sides of a string of letters? That definition isn’t gonna fly in the case of Chinese. We simply don’t write with spaces.
In Chinese writing, each character represents one idea, and combinations of characters can be put together to form bigger word-units. Not being an alphabet, explicit information on how the word is/ should be pronounced is generally not encoded as part of the character.

Here’s an example:

English: I am writing in Chinese.

Chinese: 我在寫中文。

The Chinese sentence consists of 5 characters. 我 means “I”, 在 is the equivalent of “am …-ing”, 寫 is “to write” and 中文 means Chinese (lit. Central writing).

Now a Mandarin speaker would pronunce the sentence one way, and a Cantonese speaker another way. The pronunciation of these characters can be sufficiently different such that the two are not mutually-intelligible.

Of course, it is not only the pronunciation that is different among the dialects. Grammar and word choices can also differ. For example, the way to form the -ing in Cantonese is “… 緊”, so a more natural way to write the sentence above in sentence in “Cantonese” (i.e. with Cantonese grammar) would be「我寫緊中文」.

Many of the words used in the dialects (particularly those that not used in Mandarin) were written with characters that are now obscure or have been phased out. This is because the writing of Chinese has been standardized to be Mandarin Chinese, regardless of which dialect one speaks natively. Hence, even for a native Cantonese speaker (like me), it could be quite challenging to read prose written in “Cantonese”, simply because it is not a usual way to write. There are many ways in use to replace the “lost” characters with modern variants, which makes it difficult to understand prose written “in dialect” without reading it aloud, for the common technique is to choose a character that sounds similar to the one that’s missing, even though the meaning is not appropriate.

Hope this answers the question once and for all.

RSS reader: FeedLounge

I paid $5 to try out FeedLounge when it came out, and I’m still going back to Bloglines.

At first, I thought I’d like FeedLounge’s more sophisticated UI, but it turns out Blogline’s simple UI was easier to use, faster to load and less error-prone.

With Bloglines, once I click on a feed (or a folder of feeds), all the posts are marked as read. With FeedLounge, posts are marked read as I read them, but that just made scrolling a lot more cumbersome.

I also thought I’d like FL’s Outlook 2k3-like 3-pane view more than BL’s traditional 2-pane view, but FeedLounge’s view ended up taking too much screen estate, and the additional post-title pane in the middle isn’t all the useful either.

A VFS backend for a Squeak image?

I was uploading something just now, and things were really slow, then I had this idea. I figured I’ll write it down here.

The inspiration was this: I tried to use nautilus to drag-n-drop my files to an remote mount that uses the SSH gnome-vfs back-end. It didn’t work because it was too slow, so I went back to the command line. That got me thinking: in a remote Smalltalk system, the only way to talk to the image is via some sort of VNC connection. That’s really cool, but I bet it’ll be really unbearable on a slow connection.

Here comes the brilliant idea: why not implement a VFS backend for a Squeak image? That way, on a remote machine, you can use something less bandwidth-hungry to do your editing.

I envision something like this:

$ mount -t squeakfs Squeak.image /mnt/image
$ ls /mnt/image/MyClass

I mean, this could be useful even in a non-remote situation.

Am I on crack?











前幾天,東京的同事叫我去讀一下叫TRICK FISH blog的網站裏的文章,最先讀完的是「私」と「僕」と「俺」、そして「ボク女」。要是直譯為中文,是「我」和「我」和「我」,還有「我女」






Sending Messages

Last week, a lot of things sorta clicked together for me.

My key revelation is: It’s better to send a message asking for something to be done, than to explicitly invoke the functions yourself


The first step into reaching conclusion began when I was talking to Miguel on the T after watching Hide and Seek. He told me he’s been reading a bit into the permathread that is SOAP vs. REST. I remembered two things from that conversation, 1) Schema validation is used only at development time, there is no need to schema validate incoming messages in production, and 2) in a REST-like system, the URL pointing to the service is analogous to the monikers used in COM and Bonobo.

The first point provided a nice introduction to last week’s inter-blog discussion about truth in WS.

Which leads to the 2nd point.

Prof. Rasala has been teaching this class on Web Services since last year. When he was preparing for this class last year, I would go to his office every week and do a brain dump of the stuff I know about Web Services. Oftentimes, we will then have a pleasant discussion about what the XML Web Services vision is and how it works, etc.

Unlike me, Prof. Rasala first learned to use the XML Serialization before learning any of the APIs from System.Xml. While I shared the same enthusiasm when I first learned how to use XmlSerializer (Miguel will attest to that), I soon learned that XML Serialization has its limitations and eventually settled down on using XPath as my favorite way of traversal XML documents. I got especially keen on XPath once I realized that XPath can be implemented on top of different storage mechanisms. Since then, I’ve been trying to convert Prof. Rasala to the XPath camp. I think I succeeded last week.

Similar to how monikers condenses a set of method calls into a single string, XPath does a similar thing with XML infosets. In the contest of Web Services, while everything already works in this fashion, using URL+query strings is a lot more economical and copy-n-pasteable than blobs of XML in a SOAP envelope with various WS-Addressing headers. The last is basically what Miguel pointed out on the T.

Most of this maps pretty close to how Smalltalk works already, but after reading Don’s entry on Indigo, I’m curious to see if there’s an extensibility mechanism (other than the wonder doesNotUnderstand:

) which will allow me to have direct control over the mapping of selectors to methods. In Indigo-speak, I’m searching for the equivalent to:

        void ProcessMessage (Message m);


As a foreign student who have lived in the US for the past 7 years, 3 under Clinton and the past 4 under Bush, I’m finding this country growing less welcoming and less appealing.

Four years ago, as I was about to start college, I remember thinking to myself, “life has been pretty good in the past 4 years, I can see myself becoming an American.”

. Ever since the Patriot Act was proposed, I have been feeling less and less inclined to “becoming American”


From this map produced by USA Today, it looks like the America that I loved is rapidly shrinking.

One thing that I find repulsive is the self-righteousness from many people on the Right. More than ever, I find the frequent pronouncements of “America is still the greatest nation on earth” to be arrogant, ignorant and illusional.

Maybe there is hope, that it is not only about Red states and Blue states, the Left and the Right, as Jon Stewart so poignantly said on Crossfire. Maybe we should look at this as different shades of purple:


Here is a page with links to more maps of the 2004 election.

This just in: Greg Palast says Kerry won.


: Interactive map from the New York Times.


On a more Mono-related note, we made 2 releases on Election Day, 1.0.4 and 1.1.2. However, the pages to the packages and installers didn’t get updated until Wednesday afternoon. Hopefully it’s all sorted now.

Tax Policy

I just got back from my American Government class where we had a heated debate about tax policy. I made a comment about how strange it is that so many Americans argue for a flat tax rate based on social justice

. They claim that “it is unfair to tax someone who earns more money”.

This makes no sense at all. If anything, the rich use more public resources than the poor and it is fair

to pay for it. For a good summary, read The Life of Joe Republican.

On my way back from home, as I was crossing the foot bridge, I thought of a line that I could have used during the discussion:

Tax is only burden if you cannot afford it. If you can afford it and still call it a burden and ask for relief, then that is lazy and weak.

For a long time, I have been puzzled as to why some many supporters of Republican policies choose to do so; most of them I know are simply not rich enough to benefit from those policies. I think this Slate article answers some of those questions for me.

Choice quotes:

“The people with less than $10 million are still very focused on their personal financial situation in the short term,” he told the Wall Street Journal, where the results were first published.

and also

At a certain point—somewhere north of $10 million—wealth may become “f*** you and f*** you, Republicans” money…. People with such sums don’t need to worry about how income or capital gains taxes affect their daily lives. Raise ‘em, lower ‘em, who cares? They’re still going to be disgustingly rich. And so they are free to devote their attention—and resources—to other areas: the environment, education, foreign policy, the Supreme Court, social issues, stem-cell research, the war on drugs, whatever. And it seems that for many of the truly wealthy, focusing on those other issues leads them to favor Kerry over Bush.

I think the key quote is this: Taxes are a byproduct of wealth, not an obstacle to its creation.