The problem with C's volatile qualifier

The real problem with C's volatile (well, one of them) is that volatile only affects the compiler; it doesn't normally make thecompiler do anything to affect the CPU's interaction with memory. Onmodern hardware, merely affecting the compiler is not enough; theCPU/memory interface has its own optimizations, which must be dealt withtoo for shared-state code to work right.

From the perspective of history this makes a lot of sense, becauseANSI C mostly predates CPU memory controllers


獨手

二十年前
我因為打足球打斷了左手的手腕骨
做了一個月獨臂少年
今日
我因為打電腦過多
右手手腕勞損
手指不能動
不能用力
不能做任何動作
再度成為獨臂人
勁唔方便
二十年來
我做任何事都靠這隻右手
今日連刷牙都冇力
褲鍊都冇力拉

My current views on webmail providers

I have come to a grumpy realization recently:

Unsecured webmail systems are today's open SMTP relays, and it'shigh time that they got treated the same way.

The comparison is all the more striking because (once) major ISPsappear to have decided that they can run open webmail systemswithout consequences, much as people once shrugged off runningopen SMTP relays.

(I am particularly depressed by the move of places like rr.com,comcast.net, and adelphia.net into webmail systems that are


2006大事回顧 (其實係私事)

1. 兜兜轉轉,最後做o左空姐。當初點解會apply已經唔重要,最緊要係… … 呢份工係唯一一份,我冇諗過幾時要辭職。

2. 做o左Lasik。雖然有後遺症,反反覆覆都好唔到,甚至將來可能連身邊最親既人既樣都望唔清。但係,我冇

Link: Threads Cannot be Implemented as a Library

I've already linked to this in passing , but I'm going to rerun itas an explicit link. Threads Cannot be Implemented as a Library by HansBoehm makes the argument in its title:

We provide specific arguments that a pure library approach, in whichthe compiler is designed independently of threading issues, cannotguarantee correctness of the resulting code.

There is also a discussion of this paper at Lambda the Ultimate that may be interestingreading. On a quick skim of the LtU discussion thread, thisUsenet article


Solaris's impressive ABI compatibility

There are some things that Solaris is very good at; one of them isuser-level ABI compatibility (at least for basic programs). As anillustration of just how good it is, I only recently noticed that on ourSolaris 8 machines I am still routinely using some dynamically linkedprograms compiled in August of 1993 (which is probably when this groupstarted using Solaris machines).

I hadn't noticed before now because the programs hadn't really changedsince then (so I had no


2007,點搞都得


新的一年
第一件事是想一想這個blog的去向

有沒有發現
曾經熱心寫blog的許多朋友
現在更新的速度大不如前
在網誌熱潮最盛時
人人都開一個blog
大家開開心心寫了幾個月
可能漸漸會覺得無事可記
讀者流失
熱情減退
最重要是這件事被主流

談 2006 Blog事回顧

先賣一賣廣告: MySinaBlog 出書 《Why We Blog》 ,當中有近年 Blog 大事表,小弟有份寫,不過主要寫是 2005 年的。合寫的 Hang Sidekick 則已經分別發表了《2006 年香港 Blog 事回顧》,在此轉載:

  1. Blogger出書 ( JAN 2006) 出版社主動接洽Middle,將他的

2006 個人電影列表

依樣葫蘆 ,回看 2006 看過的上映電影:

Jan

Feb


A (Solaris 8) automounter irritation

Here's an automounter irritation that keeps biting us: on fileservers,the Solaris 8 automounter is not smart enough to notice when anunderlying /export/ mount point has been unmounted.

If it gets a request for the filesystem, it 'mounts' things anyways,which then fouls up various aspects of, say, remounting the realfilesystems. It is remarkably difficult to persuade the automounter tolet go so that you can restore things to normality, and you can't justshoot the entire automounter