Difference between revisions of "SummerOfCodeProposal lmg"

From The Battle for Wesnoth Wiki
Line 1: Line 1:
 
'''In progress...'''
 
'''In progress...'''
  
'''User Information:'''<br>
+
==User Information==
 
gna: lmg<br>
 
gna: lmg<br>
 
wesnoth forums: lmg<br>
 
wesnoth forums: lmg<br>
Line 7: Line 7:
 
preferred email: <br>
 
preferred email: <br>
  
'''Basics'''
+
==Basics==
  
''Introduction (Write a small introduction to yourself. )''<br>
+
===Introduction=== ''Write a small introduction to yourself. )''<br>
 
I'm just finishing up my second year of software engineering. I was looking into contributing to an open source project when I ran across Google Summer of Code, and I thought it would be a great way for me to learn about contributing to open source projects.
 
I'm just finishing up my second year of software engineering. I was looking into contributing to an open source project when I ran across Google Summer of Code, and I thought it would be a great way for me to learn about contributing to open source projects.
  
''Education (What are you studying, subject, level and school? )''<br>
+
===Education=== ''What are you studying, subject, level and school''<br>
 
In April 2009, I will have completed my second year of Software Engineering at the University of Calgary in Calgary, Alberta, Canada.
 
In April 2009, I will have completed my second year of Software Engineering at the University of Calgary in Calgary, Alberta, Canada.
  
''Why Google Summer of Code? (Why do you want to participate in summer of code? )''<br>
+
===Why Google Summer of Code?== ''Why do you want to participate in summer of code?''<br>
 
I would like to participate in the summer of code to enhance my programming skills and apply the software design techniques I am learning in classes. I feel that participating in this program will enhance my educational experience and give me something practical to which I can relate when doing classwork.
 
I would like to participate in the summer of code to enhance my programming skills and apply the software design techniques I am learning in classes. I feel that participating in this program will enhance my educational experience and give me something practical to which I can relate when doing classwork.
  
''Patches Submitted to Wesnoth (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. )''<br>
+
===Patches Submitted to Wesnoth=== ''(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. ''<br>
 
<here>
 
<here>
  
'''Experience'''
+
==Experience==
  
''Previous Projects (What programs/software have you worked on before? )''<br>
+
===Previous Projects===''What programs/software have you worked on before? ''<br>
 
I have done both procedural and object oriented programming to learn the structure of the languages I have studied. Most of the programs I have worked on have been done to complete class requirements.
 
I have done both procedural and object oriented programming to learn the structure of the languages I have studied. Most of the programs I have worked on have been done to complete class requirements.
  
''Team Software Development Experience (Have you developed software in a team environment before? (As opposed to hacking on something on your own) )''<br>
+
===Team Software Development Experience=== ''Have you developed software in a team environment before? (As opposed to hacking on something on your own)''<br>
 
I have done a significant amount of work developing with another person, but I don't have experience developing with larger groups.
 
I have done a significant amount of work developing with another person, but I don't have experience developing with larger groups.
  
''Previous Google Summer of Code Participation (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? )''<br>
+
===Previous Google Summer of Code Participation=== ''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?''<br>
 
I have never participated in Google Summer of Code.
 
I have never participated in Google Summer of Code.
  
''Open Source (Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement. )''<br>
+
===Open Source=== ''Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.''<br>
 
I am not currently involved with any open source development projects.
 
I am not currently involved with any open source development projects.
  
''Gaming Experience (Are you a gamer? What type of gamer are you?What type of games? What type of opponents do you prefer? Are you more interested in story or gameplay?Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
+
===Gaming Experience===''Are you a gamer? What type of gamer are you?What type of games? What type of opponents do you prefer? Are you more interested in story or gameplay?Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.)''<br>
+
We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.''<br>
 
I enjoy gaming, but can only do it on a casual basis. I like fantasy/scifi-based games with a good story and gameplay, and I believe both the story and gameplay are essential to making a great game. I don't have experience in playing against other players. I have played Wesnoth for only a few days in single player mode, but I look forward to learning more about Wesnoth and branching into the multiplayer mode. Most of the games I have played are single-player games, and I look forward to exploring the multiplayer side of things.
 
I enjoy gaming, but can only do it on a casual basis. I like fantasy/scifi-based games with a good story and gameplay, and I believe both the story and gameplay are essential to making a great game. I don't have experience in playing against other players. I have played Wesnoth for only a few days in single player mode, but I look forward to learning more about Wesnoth and branching into the multiplayer mode. Most of the games I have played are single-player games, and I look forward to exploring the multiplayer side of things.
  
'''Communication Skills'''
+
==Communication Skills==
  
''English Fluency ( Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English. )''<br>
+
===English Fluency===''Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.''<br>
 
English is my first language.
 
English is my first language.
  
''Player Interaction (Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough)''<br>
+
===Player Interaction=== ''Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough''<br>
 
I think I will be good at interacting with other players. I was a forum moderator last summer, and I feel I am pretty well equipped to handle most things.
 
I think I will be good at interacting with other players. I was a forum moderator last summer, and I feel I am pretty well equipped to handle most things.
  
''Advice and Criticism (Do you give constructive advice?Do you receive advice well? Are you good at sorting useful criticisms from useless ones? )''<br>
+
===Advice and Criticism===''Do you give constructive advice?Do you receive advice well? Are you good at sorting useful criticisms from useless ones?''<br>
 
I only give advice if I think it will be constructive. When someone gives me advice, I take it into consideration and try to use it if I can. I have done a lot of group work in which there are useful and useless criticisms, and I think I am fairly proficient at determining what is useful.
 
I only give advice if I think it will be constructive. When someone gives me advice, I take it into consideration and try to use it if I can. I have done a lot of group work in which there are useful and useless criticisms, and I think I am fairly proficient at determining what is useful.
  
'''Project'''
+
==Project==
  
''Selection and Reasons for Choosing (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? Why did you choose this project? )''<br>
+
===Selection and Reasons for Choosing===''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? Why did you choose this project?''<br>
 
Savegame Reorganization. For this particular project, I would like to focus on the software development process and seeing how it works in a real project. I chose this project because many of the software engineering concepts I am currently learning can be applied to this project (UML, software design process)
 
Savegame Reorganization. For this particular project, I would like to focus on the software development process and seeing how it works in a real project. I chose this project because many of the software engineering concepts I am currently learning can be applied to this project (UML, software design process)
  
''Estimated Timeline (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".)''<br>
+
===Estimated Timeline===''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".''<br>
 
<estimated timeline>
 
<estimated timeline>
  
''Technical Details (Include as much technical detail about your implementation as you can )''<br>
+
===Technical Details===''Include as much technical detail about your implementation as you can''<br>
 
<technical details>
 
<technical details>
  
''Expected Outcome (What do you expect to gain from this project? What would make you stay in the Wesnoth community after the conclusion of SOC? )''<br>
+
===Expected Outcome===''What do you expect to gain from this project? What would make you stay in the Wesnoth community after the conclusion of SOC?''<br>
 
I would like to gain a good understanding of how open source projects work and how to contribute in a meaningful way. I would stay in the Wesnoth community after the conclusion of SOC if I have good support from my mentor and the development community and I can use my skills to make Wesnoth better.
 
I would like to gain a good understanding of how open source projects work and how to contribute in a meaningful way. I would stay in the Wesnoth community after the conclusion of SOC if I have good support from my mentor and the development community and I can use my skills to make Wesnoth better.
  
'''Practical Considerations'''
+
==Practical Considerations==
  
''Tool and Languages (Are you familiar with any of the following tools or languages?)''
+
===Tool and Languages===''Are you familiar with any of the following tools or languages?''
  
 
* Subversion (used for all commits)
 
* Subversion (used for all commits)
Line 78: Line 78:
 
C, C++, Java
 
C, C++, Java
  
''Development Tools (Which tools do you normally use for development? Why do you use them?)''<br>
+
===Development Tools===''Which tools do you normally use for development? Why do you use them?''<br>
 
<development tools>
 
<development tools>
  
''Spoken Languages (What spoken languages are you fluent in?)''<br>
+
===Spoken Languages===''What spoken languages are you fluent in?)''<br>
 
I am fluent in English and have limited knowledge of French.
 
I am fluent in English and have limited knowledge of French.
  
''Availability and Alternate Contact (At what hours are you awake and when will you be able to be in IRC (please specify in UTC) 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.)''<br>
+
===Availability and Alternate Contact===''At what hours are you awake and when will you be able to be in IRC (please specify in UTC) 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.''<br>
 
I am generally awake 1400 - 0400 UTC. I will be able to be in IRC between the hours of 2300 - 0400 UTC during the week although the actual hours may vary (I don't have summer plans yet). On weekends, I am awake 1500 - 0500 UTC and can be on IRC anytime. I don't mind talking with my mentor on the phone - either regular or internet phone is good for me.
 
I am generally awake 1400 - 0400 UTC. I will be able to be in IRC between the hours of 2300 - 0400 UTC during the week although the actual hours may vary (I don't have summer plans yet). On weekends, I am awake 1500 - 0500 UTC and can be on IRC anytime. I don't mind talking with my mentor on the phone - either regular or internet phone is good for me.

Revision as of 16:46, 22 March 2009

In progress...

User Information

gna: lmg
wesnoth forums: lmg
irc: lgraham
preferred email:

Basics

===Introduction=== Write a small introduction to yourself. )
I'm just finishing up my second year of software engineering. I was looking into contributing to an open source project when I ran across Google Summer of Code, and I thought it would be a great way for me to learn about contributing to open source projects.

===Education=== What are you studying, subject, level and school
In April 2009, I will have completed my second year of Software Engineering at the University of Calgary in Calgary, Alberta, Canada.

===Why Google Summer of Code?== Why do you want to participate in summer of code?
I would like to participate in the summer of code to enhance my programming skills and apply the software design techniques I am learning in classes. I feel that participating in this program will enhance my educational experience and give me something practical to which I can relate when doing classwork.

===Patches Submitted to Wesnoth=== (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.
<here>

Experience

===Previous Projects===What programs/software have you worked on before?
I have done both procedural and object oriented programming to learn the structure of the languages I have studied. Most of the programs I have worked on have been done to complete class requirements.

===Team Software Development Experience=== Have you developed software in a team environment before? (As opposed to hacking on something on your own)
I have done a significant amount of work developing with another person, but I don't have experience developing with larger groups.

===Previous Google Summer of Code Participation=== 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?
I have never participated in Google Summer of Code.

===Open Source=== Are you already involved with any open source development projects? If yes, please describe the project and the scope of your involvement.
I am not currently involved with any open source development projects.

===Gaming Experience===Are you a gamer? What type of gamer are you?What type of games? What type of opponents do you prefer? Are you more interested in story or gameplay?Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer. We do not plan to favor Wesnoth players as such, but some particular projects require a good feeling for the game which is hard to get without having played intensively.
I enjoy gaming, but can only do it on a casual basis. I like fantasy/scifi-based games with a good story and gameplay, and I believe both the story and gameplay are essential to making a great game. I don't have experience in playing against other players. I have played Wesnoth for only a few days in single player mode, but I look forward to learning more about Wesnoth and branching into the multiplayer mode. Most of the games I have played are single-player games, and I look forward to exploring the multiplayer side of things.

Communication Skills

===English Fluency===Though most of our developers are not native English speakers, English is the project's working language. Describe your fluency level in written English.
English is my first language.

===Player Interaction=== Are you good at interacting with other players? Our developer community is friendly, but the player community can be a bit rough
I think I will be good at interacting with other players. I was a forum moderator last summer, and I feel I am pretty well equipped to handle most things.

===Advice and Criticism===Do you give constructive advice?Do you receive advice well? Are you good at sorting useful criticisms from useless ones?
I only give advice if I think it will be constructive. When someone gives me advice, I take it into consideration and try to use it if I can. I have done a lot of group work in which there are useful and useless criticisms, and I think I am fairly proficient at determining what is useful.

Project

===Selection and Reasons for Choosing===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? Why did you choose this project?
Savegame Reorganization. For this particular project, I would like to focus on the software development process and seeing how it works in a real project. I chose this project because many of the software engineering concepts I am currently learning can be applied to this project (UML, software design process)

===Estimated Timeline===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".
<estimated timeline>

===Technical Details===Include as much technical detail about your implementation as you can
<technical details>

===Expected Outcome===What do you expect to gain from this project? What would make you stay in the Wesnoth community after the conclusion of SOC?
I would like to gain a good understanding of how open source projects work and how to contribute in a meaningful way. I would stay in the Wesnoth community after the conclusion of SOC if I have good support from my mentor and the development community and I can use my skills to make Wesnoth better.

Practical Considerations

===Tool and Languages===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)
    • I have been using C++ for almost a year (I have taken two courses using C++ as the programming language
  • Python (optional, mainly used for tools)
    • I have never used Pythong
  • build environments (eg cmake/autotools/scons)

What programming languages are you fluent in?
C, C++, Java

===Development Tools===Which tools do you normally use for development? Why do you use them?
<development tools>

===Spoken Languages===What spoken languages are you fluent in?)
I am fluent in English and have limited knowledge of French.

===Availability and Alternate Contact===At what hours are you awake and when will you be able to be in IRC (please specify in UTC) 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.
I am generally awake 1400 - 0400 UTC. I will be able to be in IRC between the hours of 2300 - 0400 UTC during the week although the actual hours may vary (I don't have summer plans yet). On weekends, I am awake 1500 - 0500 UTC and can be on IRC anytime. I don't mind talking with my mentor on the phone - either regular or internet phone is good for me.