Sunday, December 23, 2007


Now I'm the only one in the cubicle. I have to come to Sigma because my laptop has been down for months.

riki arrived at Beijing on Friday from New York. He should be enjoying sunshine at Haikou. Have a good time, dude. :-) nowhereman said he would be back in Jan or Feb for vacation, after his visit to Stanford.

I have to wait for a while and further plan my vacation for the Chinese New Year in Feb. Frankly speaking, I don't feel good about the CCTV New Year's Gala. They would usually say that "we Chinese would eat Jiaozi at Chinese New Year eve; we Chinese would bla bla bla...", but I'm afraid it's nothing for a southerner. It's even worse for the ridiculous words and artificial smiles that pervade.

Some wild thoughts.

While writing some text processing scripts in Python, I was again annoyed by the poor performance due to the stupid global interpreter lock on a multi-core server. The threading problem is painful for scripting languages like Python and Ruby. I cannot believe that scripts could only be executed in such an inefficient way, just for compatibility with C libraries, even if it's claimed by some famous language designer. If it would not be, why not make something to be?

I have been trying to dive into program analysis for some time, only getting some initial ideas. It looks to me that graph reachability presents a general framework in reasoning about program behaviors, while modelling and solving the constraints in a graph would be fun. Maybe I should focus on mining the high-level systems semantics that can be manifested from the constraints. It has been a fairly long time since I shot photos. I didn't even take any photo this fall, the best season in Beijing, instead busy with coding, debugging, writing, which never ends.

Friday, December 21, 2007

Two Papers Accepted

Both my hang analysis paper submitted to EuroSys 2008 and the online predicate checking paper submitted to NSDI 2008 have been accepted. I'm so grateful for my friends and colleagues at Tsinghua and Microsoft. Bin and Lex's VOD work has also been accepted to EuroSys. Congrats!

Tuesday, December 11, 2007

What gold saint are you?

Well, sometimes it works...

What gold saint are you?
Your Result: Gemini Saga

You are the golden saint of Gemini. Very powerful but inwardly perturbed. You seek to do the right thing but your inner ambitions will often get the best of you. You are always two minds about everything but always do the right thing in the end.

Aries Mu
Aquarius Kamus
Virgo Shaka
Aiolia Leo
Libra Dohko
Scorpio Milo
Capricorn Shura
What gold saint are you?
Create MySpace Quizzes

Saturday, December 08, 2007

Break Changes in VC9

I've been using VC9 (Orcas, or 2008) for a couple of weeks. Well, let's just say maybe newer is better. Here lists some break changes in VC CRT. The list is not complete, at least in my experience of building a number of open source packages. VC CRT misses a bundle of POSIX headers (e.g. stdint.h) and functions (too many!), and it's likely sticking to this tradition. Er, I'd rather say it's also improving. Some packages using libxml may fail to compile on VC9 due to one of the improvements: libxml defines a macro vsnprintf to _vsnprintf for VC (why adding the underscore!), but VC9 provides both functions while previous versions only provide the latter. So the macro redefinition would cause trouble on VC9.

It's said that the next VC release will start using Phoenix as the backend engine. That's good news. But I don't really feel good about the Phoenix IR. Why is it so complicated as most other Microsoft products are? It's ugly. It's hard to analyze and understand. It's even not complete; much important information remains missing in current release. Though it might be a better choice to evaluate analysis algorithms on Java code, I'd rather take C/C++ code as the first choice because most systems are still written in C/C++. I just wish next release of Phoenix SDK targeting on VC9 backend would come up soon, though I could build it from scratch myself.