Summer Coding 2010 student application - Filip Rogaczewski

About me

 * 1) Filip Rogaczewski
 * 2) frogaczewski@gmail.com
 * 3) rogaall
 * 4) rogaall
 * 5) Polish
 * 6) North of Poland. I would like to work 9-17 UTC
 * 7) I have been a project leader of an open source project called Flight Controller which aim was to simulate work of Flight Control office. The link is below: http://code.google.com/p/pgfightcontroller/ The application was written using JEE (with Seam Framework, RichFaces and Hibernate) and .NET (Silverlight and WPF). I was doing architecture and implementation. Additionally I had to teach all the technologies to other student from my university. I am personally a big enthusiast of open source community, I believe that open frameworks, applications and especially knowledge can really move world forward.

About my project
Project name: Errai (GWT) integration with CDI events

Project source: The project is on the list: https://fedoraproject.org/wiki/Summer_Coding_2010_ideas#Seam_Framework

Short description Errai is a Google Web Toolkit based framework for building rich web applications made by JBoss. The framework provides uniform asynchronous messaging across the client and server. Aim of the Errai integration with CDI events is to add part of JSR-299 specification to Errai. This project will not only bring this functionality to the Errai project, but will also provide useful knowledge about Errai integration with CDI. It may be used in further development of Errai (like integration with CDI security for instance). While working on the project I will be using Java language. Technologies I will need to research are: EJB3, JMS, Contexts and Dependency Injection for JEE platform (CDI). As I will be using Weld, which is implementation of CDI, I will need to research the technologies like Google Guice and Seam. Arquillian, another JBoss Project will be used for testing.

Schedule
 * 1) week: Researching Errai source code, bus architecture and JMS specification.
 * 2) week: Researching CDI, writing short Injection tests using Arquillian.
 * 3) week: Writing a document with a project architecture. Coding starts.
 * 4) week: First iteration: event observers and producers work.
 * 5) week: Second iteration: adding conditional observer methods.
 * 6) week: Third iteration: adding events qualifiers.
 * 7) week: Testing and bug fixing.
 * 8) week: Testing and bug fixing. Implementation and testing is finished, everything works now.
 * 9) week: Writing a sample project with usage of CDI events.
 * 10) week: Writing project documentation. It will make use of sample project written during 9th week.
 * 11) week: Polishing the project.

My experience Programming is not only my field of study, it is also my hobby. I study Computer Science at Gdansk University of Technology and throughout my education I always had high academic achievements and I would like to pursue PhD after graduation. In addition to studying I try to broaden my perspectives, working on the international projects in IEASTE student organization, where I am a project manager in IT group. Since July 2008 I am doing internship in Lufthansa Systems where I develop JEE applications for both: banking and airline industry. Before that, I was an intern in Plasmon Data Solutions where I was working on helpdesk and system administration. Last semester I have developed a project (http://code.google.com/p/pgfightcontroller/) aiming to simulate work of Flight Control Office. It collects and presents data about plane positions on the application server. While developing this application I have been responsible for architecture, implementation, testing, and additionally teaching other student Java technologies. My biggest projects at work was implementation of SSO at Polish offices, where I was main developer and building banking system. I am enthusiast of JBoss technologies, which I am using at most of my company and university projects. I spent a lot of time using them and I would love to move from consuming towards contributing.

Me and the community
Project influence on community

My answer Integration of CDI and Errai will be an important step in Errai development. Breaking this ground may open the Errai project for the features which were implemented by JBoss Community and are now part of Weld. Going on, bringing the services provided by Weld to Errai will make development of rich web application even easier. It will make Errai leverage two cutting-edge technologies: CDI and Google Web Toolkit.

My mentor's answer Integration of CDI and Errai will drive inter-adoption of Java EE and GWT between the two communities.

My mentor is not around I will hopefully be mentored by two people. I think, at least one of them would be around. If not, I know at least three irc channels with JBoss developers and, in my experience, they are always keen to help.

Keeping in touch with community I will send short mail to my mentors everyday with the information whether everything goes according to the plan. If I come across any problem there are JBoss mailing groups for developers I will use (like seam-dev for instance). I would like to ‘twitt’ about my project as well everyday.

Miscellaneous
Development environment I have set the development environment long ago. I got interested in this project in the beginning of march. I have JBoss tools installed and I have worked out the samples which are in Errai trunk. Keeping in touch with mentors I am in touch with Pete Muir and Heiko Braun who will be my mentors for a longer time. I am on the irc channels, but not very often. I will need to change that.

T-shirt size European L, American M.

Best learning experience Many years ago I was spending my holidays at Papworth Everard, England. It was very close to Cambridge and neighbor of my friends was Ph.D. at Cambridge University. He was part of Stephen Hawking's team. One Friday he took me to his lab and on some lectures. He has shown me all ‘physician artifacts’, some incredible simulations and photos of remote objects. I was shown most attractive parts of theories of tomorrow and for physic freak I was that was the best learning experience I had. Second best was flying the glider by myself for the first time.