Wednesday, May 30, 2007

Google Map's Street View

It's awesome! It looks much cooler than Virtual Earth. See how Google Campus looks. Enjoy exploring the street view of the bay area, Las Vegas, Denver, Miami and the New York city. Maybe some day we could construct such virtual environments to play Counter-Strike in.

Monday, May 28, 2007

Program Analysis using Phoenix

For C/C++, writing a C2 phase plug-in may be the best choice. I prefer to put the analysis phase after the "Type Checker" phase. On the other hand, reading from PE executables requires .pdb (linking with /debug and /profile). A more serious problem is that LIR cannot be raised to HIR in such case, which makes it hard for further analysis. Besides, the alias algorithm seems too conservative, and the SSA algorithm is sometimes a little confusing.

For C#/.NET, writing an analysis tool (stand-alone .exe) is quite simple: set FunctionUnit.HighLevelIRFunctionUnitState for RaisePhase in the generated code. Remember to skip function units with !functionUnit.AliasInfo.IsComplete since they are unmanaged code.

Missing information in Phoenix IR is still a headache, as well as not-so-canonical IR forms. There's a talk with Open64 guys on Wednesday. I'm wondering if Open64 IR or LLVM IR would be better for program analysis. However, Visual C++ is always the ultimate front-end on Windows: other compilers could even hardly parse Windows.h as Microsoft-specific grammars keep growing.

Saturday, May 26, 2007

Ray War

Ray war is some kind of Counter-Strike in real, using laser guns and wearing military uniforms with sensors. We played the game in a hotel near Badaling (Google Map, taking the break at Shuiguan on the Badaling Expressway) on Friday morning, an hour drive north of Beijing. It's organized by the system research group, about 25 people divided into two teams: Fox of Desert and Hunter. We had 4 battles, in all of which the defender fell. Maybe it's because of the rules. Well, the game is pretty cool. However, even leaves could block the laser so we cannot enjoy it in jungles.

Tuesday, May 22, 2007


Niobe: I remember. I remember when you used to dance. I remember you were... pretty good.
Morpheus: There are some things in this world, Captain Niobe, that will never change.
Commander Lock: Niobe.
Morpheus: Some things do change.