今次北京之旅,最開心的,除了參加了這個博客論壇外,更開心的,是有機會和一位認識多年的老友聚舊。
我讀大學的年代(即係八、九十年代囉老友,老餅之唔係我),我邊上課邊幫大量報紙雜誌寫樂評及兼職記者,有些沒稿
One of the interesting effects of setting a signal handler inyour Python program is, well, let me quote the signal module :
- When a signal arrives during an I/O operation, it is possiblethat the I/O operation raises an exception after the signal handlerreturns. This is dependent on the underlying Unix system's semanticsregarding interrupted system calls.
By 'an I/O operation' the manual means more than you might think; forexample, select.select() is affected by this.
今次北京之旅,最開心的,除了參加了這個博客論壇外,更開心的,是有機會和一位認識多年的老友聚舊。
我讀大學的年代(即係八、九十年代囉老友,老餅之唔係我),我邊上課邊幫大量報紙雜誌寫樂評及兼職記者,有些沒稿
我慶幸當晚我臨危上陣,被點選了去作打頭陣的首位講者,因為快快完事後,接下來我便可以好好享受其他嘉賓講者的演說。
我額頭的一把汗尚未抹乾,第二位講者已經登場。孫老師是國內資深IT人,這晚,他為我們分析企業和


The Linux kernel recently had a significant security issue or two wherethe root cause was that user programs could map memory at page zero, andthis lead to kernel level exploits. If you went through the same sort ofundergrad OS course that I did, you might be wondering how on earth auser process memory mapping issue leads to a kernel exploit; after all,as all of those little box diagrams tell us, the user program addressspace is one thing and the kernel address space is an entirely differentthing.
We've recently had another interesting case of 'accidental BitTorrent' on our network, different from the previoustimes. This time around it was through our VPN server, and just fromthat alone you can probably guess what happened.
Suppose that you are a user, sitting at home running BitTorrent in thebackground on your home machine while you do other things. You need toaccess some restricted on-campus thing; our generally supported way todo this is to fire up a VPN connection so that you are '