Wednesday, July 22, 2009

GSoC2009 Midterm Evaluation

Last week is GSoC midterm evaluation week. It's over now and I got the stipend also.With both stipend and experience, this summer is really wonderful to me.

In my project, I need to port the Webkit to ES to improve canvas support. But Webkit is one of the biggest project in the world, it not only have many feature and big team work on it, and also need some library to support it.


In ESOS(es operating system), we want to build a pure component operating system, and we want the os as small as possible and don't use platform-specific library, like gtk/glibc. So far I update cairo (with pixman-1), and port libjpeg, ICU, and libxml2 for dependency needs of Webkit. That's what I did before midterm evaluation.

Before this project, I only hear about SVN, and have a little understanding of Makefile, but not Autotool. I know little about opensource environment, and have no experience in it. But now I practice, learn and enjoy the coding.

In fact in this project, it did change my knowing about programming and coding. Because in Taiwan, we students have only few experience in big project or big program with other people. We often write a program on our own, and most important, we don't keep make the program bigger and keep it update. This will make we student always focus on the skill in one file or small function. And so, we don't have experience like Software Engineering, which I could got from opensource project.


At the early stage of project, I add a little function to get familiar with cairo API. And then, I try to update cairo library from 1.4.10 to 1.8.6, which I could learn from previous port configuration, and get the basic understanding of Autotool.

And then I try to port pixman-1, this is the small library of cairo team, and it's prerequisite of cairo 1.8.6 . It's indeed a small library from which I could got a good starting. And then I port libxml2 and libjpeg, both are not difficult. But I got some stub at ICU lib.

It needs to have a host build(i.e. in linux) first, and then create a cross-compiling to port into ES. And may because of the cross-compile feature of ICU is newly add in recently version, I need to do some patch and configuration to correctly build it. And happly, it successfully create a static library file. That's what we need.


So far is what I done in my project. This work give me many experience in Shell script and GNU Autotool. And the code in ES really shows me a lot information I should improve, also the Javascript(ECMA script) which ES use give me some concept of dynamic language, I had very few experience of that kind of language.


Above is my recently update. Hope I will keep my pace, and have a great result. And I also need to improve my poor coding skill. Cheers!

- Kala Kuo

Monday, July 20, 2009

What is Google Summer of Code?

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We have worked with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 2500 successful student participants and 2500 mentors from 98 countries worldwide, all for the love of code. Through Google Summer of Code, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.

GSoC Official Site

Saturday, May 2, 2009

about Subversion

I think the one of things need to learn earlier is Subversion. It's not the first time I encountered svn, but it's first time I need to understand it totally and get used to it. I look for some document for it. I think it's a tool, not a big issue, but it need a little time to get used to it.


Using Subversion (English)

svn Book (Chinese)

svn Book (English)

small tutorial for svn (Chinese)

Wednesday, April 29, 2009

New Blog.

This blog is created for GSoC 2009 program. And, more.


This year I apply for the GSoC and have been accepted. It's very excited not only to be accepted, but it means that I can do something different than school homework. I had search for some opportunities which allow me to practice and experience big program other than small work. And here comes GSoC 2009.


First, I want to introduce myself. I am a graduated student came from Taiwan. And I study master in Institute of Electronics,National Chiao Tung University (NCTU). My background and research direction is EDA. It takes logic and coding ability to make aiding-tool for IC design.

My project in GSoC 2009 is Port the existing SVG implementation to ES The organization I work in is ES Operating System. It's a project aiming to build a pure component operating system kernel. It has a Web IDL based component object binding runtime implementation for C++ and ECMAScript, and an HTML 5 rendering engine integration.

To me, the component ES operating system used is unfamiliar, and I can expect there is plenty required background knowledge to be learn before the beginning of GSoC 2009 - 2009/5/23.

And, in the meanwhile I study the knowledge related to the project, I want to record some experience I encountered, so that's why this blog created.

I hope I can do my best in this project, and hopefully at the end of GSoC 2009, I can develop good skill in open source coding, and successfully in the project.


Let's go!!


BTW, since I am a Taiwanese, I have a blog in Chinese and it's about the daily life. If you are familiar with Chinese, you can take a look to it. Blog