SummerOfCodeProposal mrfinch
1) Basics
1.1) Write a small introduction to yourself.
Hello! My name is Adam, I am a 21y/o first year student living in Newcastle, UK.
1.2) State your preferred email address.
mrfinch@gmail.com is a good place to catch me via email
1.3) If you have chosen a nick for IRC and Wesnoth forums, what is it?
Both nicknames for each are 'mrfinch'
1.4) Why do you want to participate in Summer of Code?
I want to further my skills in programming by doing something worthwhile that will be used by other people and not just for myself.
1.5) What are you studying, subject, level and school?
I am currently studying Computer Science at Newcastle University. I am a first year Undergraduate.
1.6) If you have contributed any patches to Wesnoth, please list them below. You can also list patches that have been submitted but not committed yet and patches that have not been specifically written for Wesnoth. If you have gained commit access to our SVN (during the evaluation period or earlier) please state so.
I haven't done any of the above.
2) Experience
2.1) What programs/software have you worked on before?
I haven't worked on any large scale projects. Just small Javascript/Java/PHP programs for personal use as well as University mandated projects.
2.2) Have you developed software in a team environment before? (As opposed to hacking on something on your own)
I haven't had the chance to code as part of a team before.
2.3) Have you participated to the Google Summer of Code before? As a mentor or a student? In what project? Were you successful? If not, why?
No
2.4) Open Source
2.4.1) Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
I'm not, however I am applying for other SoC projects.
2.5) Gaming experience - Are you a gamer?
I am a gamer, I have been gaming since I was a little lad
2.5.1) What type of gamer are you?
Due to University commitments, I am a more casual/recreational gamer. During the Summer I tend to be more hardcore.
2.5.2) What type of games?
I generally enjoy playing sports games, driving games and adventure games. I am a big fan of the current trend of games whereby you "chose your own ending" (Bioshock, GTA VI etc)
2.5.3) What type of opponents do you prefer?
Ones that give a firm challenge and are enjoyable to play against.
2.5.4) Are you more interested in story or gameplay?
A little bit of both is nice. I prefer to actually play the game I am buying, but some meat behind it is nice. Games these days don't have much longevity.
2.5.5) Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
I have not, but I will be trying it out in the next few weeks.
3) Communication skills
3.1) Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.
I was born in the UK and English in my first language. I am very comfortable in it.
3.2) Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough.
I am described as a people person! I can talk to anyone, I am fine interacting with people who are sometimes a little rough around the edges. Comes with the territory.
3.3) Do you give constructive advice?
Almost always.
3.4) Do you receive advice well?
I like to think I do, I am always happy to be given it!
3.5) Are you good at sorting useful criticisms from useless ones?
I tend to take all criticism on board, but can definitely filter out the less useful ideas.
4) Project
4.1) Did you select a project from our list? If that is the case, what project did you select? What do you want to especially concentrate on?
I selected the Stats Server Project -- I feel this is at a level I can thrive on.
4.2) If you have invented your own project, please describe the project and the scope.
-
4.3) Why did you choose this project?
There are people out there who are incredibly versatile and talented coders, I however am not on that level and would prefer to take on a project that I feel I can learn invaluable lessons from rather than beating my head against a brick wall.
4.4) Include an estimated timeline for your work on the project. Don't forget to mention special things like "I booked holidays between A and B" and "I got an exam at ABC and won't be doing much then".
At the time of student project announcements (Apr20) I will be starting my final 8 weeks of University and won't have a terrible amount to do other than revising and can do a good amount of work on the project.
Between May21 and Jun03 I have University exams, and therefore won't be able to concentrate as much on the project as I would like.
May 23 - Start work on the project, start to build test data and implement basic statistics
May 30 - Will not be able to concentrate on the project due to exams
Jun 06 - Start to play around with the Google Chart API, using a ready made chart program will increase efficiency and ease-of-improvement
Jun 13 - Continue work on the Google Chart method, whilst also thinking about a PHP/Python built chart system (on-the-fly graphics) -- show code as it is and gain further guidance
Jun 20 - Take on advice from mentors and add further ideas
Aug 10..17 - Hand in finished project
4.5) Include as much technical detail about your implementation as you can
Current I am thinking of coding the project in either PHP, Python or Ruby. I am very fond of PHP, but I am wanting a reason to learn and utilise Ruby on Rails for it's agility in such conditions.
I want to make graphs using the language I choose if possible, however I will rely on Google Charts as it's already there and it's incredibly powerful and verbose for this sort of project.
4.6) What do you expect to gain from this project?
Invaluable experience in server-side languages and building statistics from data. I will put the skills I've learnt into practice in my degree program as it is a very practical degree and I am coding a lot of programs for coursework.
4.7) What would make you stay in the Wesnoth community after the conclusion of SOC?
I will be well versed in what I make, and would like to see it used! I am fond of turn based strategy and strategy games in general!
5) Practical considerations
5.1) Are you familiar with any of the following tools or languages?
* Subversion (used for all commits)
* C++ (language used for all the normal source code)
* Python (optional, mainly used for tools)
* build environments (eg cmake/autotools/scons)
I am new to SVN and currently use it for University projects. I've had little exposure to C++ as I am learning Java but have a book lying around. Python I have played around with a little in the past and I know a small amount on.
5.2) Which tools do you normally use for development? Why do you use them?
For Java I used Eclipse, it's very powerful and does exactly what I want.
For web-dev/server-side coding, I use Smultron (freeware mac client) - it's lightweight and does exactly what it says on the tin.
5.3) What programming languages are you fluent in?
I have extended experience in PHP and Java.
5.4) What spoken languages are you fluent in?
English
5.5) At what hours are you awake and when will you be able to be in IRC (please specify in UTC)
I can be on IRC 24 hours a day for messages to be left.
Mon-Fri I can be on IRC 1400-1900 UTC
5.6) Would you mind talking with your mentor on telephone / internet phone? We would like to have a backup way for communications for the case that somehow emails and IRC do fail.
Happy to talk via Skype or Telephone!