Programming Play Ground
This is the page containing all kinds of my programming stuff ja comments
As usual, they are Personal, but not Private : )
Coding ?! Yes
Seriously speaking, my official programming journey starts in 2006.
Before that? Actually, maths undergraduate like me needn't that much codings. And I didn't even believe so called programming could be that fun..
Why here? The truth is simple - for any Techno-Nerds, this Department is indeed a 'damn right' place to rock!
So, drop some programming stuff here, just for fun.
My latest work can be found Here
For experience before 2010, read on
I. Unix Network Programming:
- Fast Programming Match
There is 5 days fast programming game in the middle of the course.Really a fascinating one. During that period, our lecturer, the Unix networking Guru Markku Kojo opens his server for us young hackers to 'attack'. There will be lots of interactions between our client programs and his AI robot on the server. If you managed to detect and figure out what the robot wants, you pass. The game is designed in a way that the guy who finishes the task on the 1st day will get the highest score, and 1 point less from that day on. My motivation for programming has never been pushed that strong. After 12 hours continuous hacking, yeah, I won.
But unfortunately, the most interesting code is in the hands of our Guru. I would like to check the code too ;)
- Final Project - Distributed Dictionary
Require a full distributed solutuion with no replication on any other servers in the cluster. Luckily, I already have 'Distributed Systems' and 'P2P Networks' before the project. The knowledge from those classes help me a lot.
In some sense, it is indeed a distributed system, providing client online dictionary services with transparency.
How do I achieve that? 'Steal' the ideas of DHT from P2P course~1) Software Design Document (S.D.D.) »
Thanks to the DHT inovation, I got full score in design.
2) Software package »
Implementation 10 / 12, still OK : )
II. Protocol Software Engineering:
The most important coding course in my Master degree study.
Lectures cover a wide range of networking, protocol design, testing and as well as Linux Kernel hacking. Three projects are compulsory in order to pass, including one protocol design, one verification and validation of protocol based on SDL and MSC, and final protocol implementation.
Intensive hacking for half a year, finally taste 5.
III. C programming:
For final project of this course, I implement a simple company registration system by applying the hashing data structure for dynamic memory operations. It's also my first C project. Package
IV. P2P DHT algorithms:
Implementation of three 'infamous' algorithms: Chord, CAN, and Tapestry. One from MIT and other two from UC Berkeley.
For theoretical background, check the P2P course offered by Prof. Jussi Kangasharju
Language Capacity
Just feel, if I could code in Chinese, how easy the life would be :)
OK, no more kidding.
In general, I am a C / C++ programmer in Unix/Linux network environment. Besides the network programming, I'm able to program in Python. Thanks to projects, I'm now also familiar with Otcl.
Plan of CS languages (sounds not very reasonable, anyway)
1st LEVEL: C (ok) 2nd LEVEL: C++, Python, PHP, Perl (still on the way) 3rd LEVEL: JAVA, C#, SQL, Assembly, HTML, XML (?)

Last modified: Friday May 30, 2008