Thursday, January 10, 2008

A Little Confused

I caught cold two days ago, which makes me feel extremely bad the whole day. Frans gave an overview on his recent research projects this afternoon, and later we had a talk. He's really really a smart and amazing guy. Some random thoughts.

What can be done in systems research? A new language, a new library, or a new virtual machine, well, I'm afraid it doesn't matter. What are the "right" programming abstractions for systems? Just to build and gain experience? We all agree that MapReduce is perfect, because it is simple, expressive, practical, say, it works! Dynamo and GFS are great, but they are lessons taught by the industry and cannot be cloned by research institutes. I also think Sinfonia is a nice research project; the minitransaction thing is cool and general. What else? DHT? Yet another file system? Another D3S? What lessons can be learned after building prototype systems on campus and what would it contribute to the community?

Analysis, though sometimes like bug-finding "evil" on the other hand, would at least have a formal model, which is really interesting to apply some algorithms on. Furthermore, they could provide some insights on computer systems (though not always), i.e. what's the right/wrong thing. I'm still trying to figure out whether they are useful for building systems. Exploring these abstractions is fun, but I'm afraid building is as important as analysis. Anyway, I don't feel good.

Sunday, December 23, 2007

Vacation

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.

Friday, November 02, 2007

VCBuild on x64

I was making my static analysis programs as an easy-to-use tool. It's a little weird that VCBuild seemed not work on x64: it did not take the right include/lib path. Even using the /u option, it might fail to link, and the unicode set did not function (it tried to link with the ANSI version of Windows API). So now I use the x86 version rather than the native x64 version. Someone got the similar problem long ago.

Another headache was about Phoenix. I tried to integrate it with Orcas, and finally it worked (VS 2008 beta 2 frontend with a nightly build Phoenix backend) with my own plug-ins. But the compiling performance was really terrific. No idea what was going, it was rolled back to VS 2005.

Friday, September 07, 2007

Visual Studio 2008 Shell

It seems to be alternative RCP solution to Eclipse: Visual Studio IDE serves as a general platform for building client applications. Maybe I'll try it for my next toy:-)

When can we use Ribbon GUI that appears in Office 2007?