From Fedora Project Wiki
No edit summary
No edit summary
Line 39: Line 39:
*Experienced in architecting software projects.
*Experienced in architecting software projects.


===Some sample project I have worked on in the past===
===Some sample project I have worked on ===
As requested, here I have added some links to project I have been working on.
As requested, here I have added some links to project I have worked on.


===A Sudoku solver in C++===
==== A Sudoku solver in C++ ====
This has been a hobby project for me. A couple of weeks before I wrote this I had to make a Sudoku solver for a school assignment. Because of the time pressure I decided it was best to do in Java. The results for suffient but it did not take long before I grew unhappy with the speed. Therefore I decided to redo the project in C++. I made this decision not only because of the speed upgrade that is gained because C++ is ran native. It also allowed me to use pointers to use a faster algorithm than was possible in Java. I enjoyed working on this project a lot and think it came out quite okay. Therefore I decided to upload the code which can be found on [http://xp-dev.com/svn/CPPSudokuSolver/ http://xp-dev.com/svn/CPPSudokuSolver/]
This has been a hobby project for me. A couple of weeks before I wrote this I had to make a Sudoku solver for a school assignment. Because of the time pressure I decided it was best to do in Java. The results for suffient but it did not take long before I grew unhappy with the speed. Therefore I decided to redo the project in C++.  
 
I made this decision not solely based on the speed upgrade that is gained because C++ is ran native. It also allowed me to use pointers to use a faster algorithm than was possible in Java. I enjoyed working on this project a lot and think it came out quite okay. Therefore I decided to upload the code which can be found on [http://xp-dev.com/svn/CPPSudokuSolver/ http://xp-dev.com/svn/CPPSudokuSolver/]
 
==== Webbased chess game ====
A couple of months ago me and another student I was working with at the time on a webbased chess game. In this chess game there were two players competing against each other. Players in each team could vote for the next move the team should be making. After a certain time limit, the move with the next vote was made.
 
This assignemnt was focused on the networking part rather than making a fully functioning chess game. Therefore it was possible for teams to make moves but no rules were implemented, resulting in a game in which all the pieces could be moved everywhere on the board. However this was not considered a problem since it was about the networking and correctly handling a large quantity of connections, which in the end worked well.
 
As mentioned before I worked on this project with another student. Nevertheless I worked on most of the code, especially focused on the networking part which was mose of the application. The other student worked on the "GeneratePicture/" package leaving the rest of the source for me.
 
The source code for this project can be found on [http://xp-dev.com/svn/ChessGameh/ChessGameh/src/ http://xp-dev.com/svn/ChessGameh/ChessGameh/src/].
 
==== Location monitoring ====
Currently I have been working on a school assignment with another student involving location monitoring. An android device is used to determine the current and past locations of an individual. It is developed with in mind the application to monitor patients suffering from Dementia.
 
This software system consists of three parts
*A server application, which saves incoming position messages in a database.
*An android device, which retrieves GPS locations and transmits the coordinates to the server application.
*A web interface, on which the coordinates are shown on google maps.
 
It is a work in progress in which everything is completed and succesfully tested except for the web interface which I am currently still developing. Apart from that I have been responsible for the server application which seemed a perfect example for me to show. It is a small efficient application which does what it has to do, retrieve and store coordinates.
 
The source code for this project can be found on [http://xp-dev.com/svn/LocalisationServer/ http://xp-dev.com/svn/LocalisationServer/].


Please also take a look at my [https://fedoraproject.org/wiki/GSOC_2012/Student_Application_thomk/IntegrateProxySettingsandNetworkConnections(Locations) proposal]
Please also take a look at my [https://fedoraproject.org/wiki/GSOC_2012/Student_Application_thomk/IntegrateProxySettingsandNetworkConnections(Locations) proposal]

Revision as of 19:04, 5 April 2012

Contact Information

  • Email Address: thomkoenders@gmail.com
  • Telephone: +31613091851
  • Blog URL: thomkoenders.blogspot.com
  • Freenode IRC Nick: Wolk

For additional information about me, see my profile.

Why do you want to work with the Fedora Project?

I have been using Fedora for quite some time and I like it a lot. I have been considering to contribute to the Fedora project for quite a while but had a hard time taking that final step. The GSoC program seemed to me like the perfect opportunity to change this and therefore I decided to try and join this way. I would like to be able to contribute to the Fedora project this way in order to make it an even better distribution than it already is.

Do you have any past involvement with the Fedora project

Unfortunatly, as mentioned earlier, I have not been involved in the Fedora project other than using it.

Did you participate with the past GSoC programs, if so which years, which organizations?

I did not participate in past GSoC programs. I wanted to participate last year but was just a little too late.

Will you continue contributing

I would very much like to continue contributing to the Fedora project after the project, preferably in the area I worked on in the GSoC since I would be familiar with this area.

Why should we choose you over the other applicants?

I have been studying software engineering for the past five years, the practical side as well as the academical side. I enjoy developing software and feel I learned a great deal about software development in these five years.

I have worked with a lot of different object oriented programming languages like C++, Java, C#.NET, PHP, Python. Using this programming languages to develop applications, school assignments as well as my own projects, has given me quite some developing experience. I also take every possibility I can to try and learn new things.

Ofcourse I am well aware I still have a lot to learn and therefore I hope I will be given this possibility in order to further develop my skills. Also, as mentioned in the upcomming section, I have been developing applications dealing with networking multiple times in the past. I think this experience with networking in applications will be quite handy.

I have been working in groups a lot, interdisciplinary as well as with other software developers, which gave me a lot of experience in working in teams. Also for most of the school project I have done, I had to write documentation and reports. Therefore I also have experience in writing documentation.

And also quite important when developing software, I have experience in architecting software projects. From my experience it is important to first determine how the software should be build before starting to write even a single line of code. Ofcourse it is close to impossible to have the correct architecture at the first try, architecting software is a recurring process. However it is in my opinion very important to start a software project determining what the architecture of the software will look like and to keep updating the architecture while developing. All the software projects I have been working on have been started by first determining the architecture, which gives me quite some experience in this field. I have done this mostly by using a high level of UML, seeking balance between being to precise and being too vague. Also it is important to find the proper balance between architecting and the actual developing. After I make a proper first architecure I start developing, while developing I keep updating my architecture so that the best possible result is being achieved.

In short

  • Studying software development and computing science for past five year.
  • Lot of experience in multiple programming languages and object oriented programming as a whole.
  • Willing to learn.
  • Open to new things.
  • Experienced in developing applications with networking, which is related to the project of my choice.
  • Experienced in working in groups.
  • Experienced in writing.
  • Experienced in architecting software projects.

Some sample project I have worked on

As requested, here I have added some links to project I have worked on.

A Sudoku solver in C++

This has been a hobby project for me. A couple of weeks before I wrote this I had to make a Sudoku solver for a school assignment. Because of the time pressure I decided it was best to do in Java. The results for suffient but it did not take long before I grew unhappy with the speed. Therefore I decided to redo the project in C++.

I made this decision not solely based on the speed upgrade that is gained because C++ is ran native. It also allowed me to use pointers to use a faster algorithm than was possible in Java. I enjoyed working on this project a lot and think it came out quite okay. Therefore I decided to upload the code which can be found on http://xp-dev.com/svn/CPPSudokuSolver/

Webbased chess game

A couple of months ago me and another student I was working with at the time on a webbased chess game. In this chess game there were two players competing against each other. Players in each team could vote for the next move the team should be making. After a certain time limit, the move with the next vote was made.

This assignemnt was focused on the networking part rather than making a fully functioning chess game. Therefore it was possible for teams to make moves but no rules were implemented, resulting in a game in which all the pieces could be moved everywhere on the board. However this was not considered a problem since it was about the networking and correctly handling a large quantity of connections, which in the end worked well.

As mentioned before I worked on this project with another student. Nevertheless I worked on most of the code, especially focused on the networking part which was mose of the application. The other student worked on the "GeneratePicture/" package leaving the rest of the source for me.

The source code for this project can be found on http://xp-dev.com/svn/ChessGameh/ChessGameh/src/.

Location monitoring

Currently I have been working on a school assignment with another student involving location monitoring. An android device is used to determine the current and past locations of an individual. It is developed with in mind the application to monitor patients suffering from Dementia.

This software system consists of three parts

  • A server application, which saves incoming position messages in a database.
  • An android device, which retrieves GPS locations and transmits the coordinates to the server application.
  • A web interface, on which the coordinates are shown on google maps.

It is a work in progress in which everything is completed and succesfully tested except for the web interface which I am currently still developing. Apart from that I have been responsible for the server application which seemed a perfect example for me to show. It is a small efficient application which does what it has to do, retrieve and store coordinates.

The source code for this project can be found on http://xp-dev.com/svn/LocalisationServer/.

Please also take a look at my proposal