Showing posts with label Summer of Code. Show all posts
Showing posts with label Summer of Code. Show all posts

Summer of Code 2007

For those of you who are unaware of the occasion, today is the day that students can start sending in their applications for the Summer of Code 2007!

Another change for students to work on open-source solutions, get a t-shirt, gain experience in working with larger projects, get a t-shirt, and to get paid for doing this!

Oh yeah, did I mention you also get a cool T-shirt?

Unfortunately, I will not be able to join this year because of an other world-wide event, so your changes of getting accepted have just been increased :)
This year I will just try to promote the Summer of Code because I think it is a wonder full chance to do something useful and interesting.

And what better way to spread the word then with some flyer's! We (that is me and my girlfriend) have translated the flyer to Dutch, but it is also available in other languages.
Please mail/print/fax these to everyone who might or should be interested!

Thanks and progress

I think that there are many people with great ideas for projects. Most people do not get around to actually starting up these projects. It takes a lot of time which is usually not available. Without the Summer of Code I would not have had the time to start the project, let alone work on it for so many hours. Thank you Google!

The project would not be in his current state without my mentor. He helped me in setting up the development environment and automating the build- and test-process. Our meetings motivated me and helped me in keeping focused. I would recommend all (future) participants of the Summer of Code to meet with his/her mentor face-to-face, or at least in some interactive way. It helped me a lot, thank you Martin!

The following section is taken from my evaluation for the Summer of Code. I think it nicely summarizes the current progress of the project. The project has produced the following two libraries, together with tools to interface with them.

PHP-Front is a library with support for parsing and pretty-printing php, reflection of parsed sources, some generic traversals and a simple evaluation. This part is available as a separate package which provides a solid basis for transforming or inspecting PHP source code. I think that there will be more projects that are going to use this package for this purpose. One of the projects that I am already aware of is StringBorg.

PHP-SAT is the library that actually performs an analysis on the given source code. It tries to detect 7 bug patterns, more will be implemented later. It also check pre-conditions for functions and language construct to detect possible vulnerabilities. This last analysis will be improved over time.

Project deadline

The project deadline is today at 17.00 hours, at least here in Holland. This means that the project is due in a few minutes. My mentor needs to fill in the evaluation based on the code that I have now.

This deadline does not mean that the project will stop. I am satisfied with my results up until now, but I will continue to improve the code and the tool. A more elaborate report about the SoC and the progress of the project will probably follow in a few days.

The quest for a mentor, success!

I submitted my application for the SoC to both Google and PHP. A few days before the results came in my application from PHP was moved to Google and the one from Google was ranked 'Ineligible'. Luckily, the other one, originally targeted at PHP, was accepted. But this one did not have a mentor. A few days ago my application was directed back to PHP again, but still no sign of a mentor. Yesterday I proposed to Google that someone from my university would mentor me since PHP did not respond to their emails. They accepted the proposal and the mentor.
So I proudly present my mentor 'in name': Martin Bravenboer.
Eelco Visser will also help with the mentoring part, but only one of them could be named as the 'real' mentor.

One of the things is really nice about my mentor(s) is that they know a lot about Stratego, I can drop in when I am in the neighbourhood and they have experience in setting up a nice development / distribution / testing system for a project. So today I dropped in and this resulted in a real kick start and all sort of goodies.

So, if you are interested in the commit-messages of the repository you should subscribe yourself to the psat-commit-mailing list. Of you are only interested in the discussions about the project subscribe to the psat-dev-mailing list. You can also look at the issues and the bugs to be solved you can take a look at the Jira-project of psat.(To be filled any day) But if you are interested in actually getting the source code take a look at the release page of psat. RPM's are also available for various distributions, nice isn't it :)

Naming the beast

Apart from the environment we need the repository to get things going. The repository will be located at my university since they offer basic svn repositories and that is all I need.

Creating the repository off course involves the naming of the thing. The name of the repository is not really interesting, but the project should get a name. It should include the fact that it deals with PHP, that is uses static analysis and it should be catchy. So if anyone can think of a good name please let me know. The only thing I could think of right now is PSAT, PHP Static Analysis Tool, but anyone could figure that out.

While you think you could look at StringBorg. This project is about SQL-injection in different languages, including PHP. The syntax definition of PHP that is used within that project will be the basis for this project.

Setting up the working environment

Every project needs a working environment. I have installed all the software i need yesterday. The first thing is the nix distribution system. Installing the RPM is quite simple. Using the nix channel to install the software needed for stratego is a piece of cake. Stratego is, and I quote: "a framework for implementing software transformation systems". I have added a link to the stratego manual for the people that are not familiar with it and want to learn more about is.

A good working environment is not only the right software. The right hardware can brighten the day. Buying hardware certainly does that for me. So today I bought the LG 1917S, a 19 inch LCD monitor. It replaces my 8 year old 17 inch CRT monitor.

The next problem in line is setting up the repository. How many directories should be made, how should i name them and what should be put in it?

Application Details

I have added a link to my application to the links on the right. It can't be missed. Please feel free to ask questions about the application. If anybody has any good ideas about how the output of the application could be shown in an informative and clear way, please let me know.

I have taken the first steps to setting up my development-environment. Installed virtualPC2004 (can get it legally for free) and installed Fedora. For anyone who does not want to stare at a resolution of 1600*600, set the color-depth to "thousand of colors". It will save you a headache and about 2 hours of figuring out what is wrong.

The start

Welcome to my first blog-post. The reason for me to start this blog is
google's summer of code. I am one of the lucky people that is accepted into this program. My next post will show the application I will be working on in more detail.

This blog will help me to write down ideas and hopefully recieve some kind of feedback from people that are interested in the application. But I might write about other stuff as well. Simply ignore the things you do not want to know.

I will be writing in some form of English. This is a great way to practise my english. English is not my native language, so some sentences can contain errors. Post a comment or ignore these things please.

I will probably tell more about myself later on. This is all I wanted you to know right now.