User:As.justis/sandbox

= Me =


 * Justinas Grazulis
 * Kaunas University of Technology, Lithuania
 * I am 3rd year BSc student of Informatics. When in high school, I participated in Informatics Olympiad and got through to the country-wide stage. During my high school and university years I had several opportunities to work on open source projects, got a job in IT company, participated in IT Exhibition showing real-time rendering systems made by me and my friend. Currently, I am studying in Austria as an Erasmus student for 2012 summer semester. Despite my studies, I also dance Lithuanian folk dances since childhood and play classical guitar, presenting these as my biggest hobbies
 * You should receive an introduction letter with my introduction in a short time
 * I've joined tux4kids IRC channel with unregistered nick as_justis . If I must change it I will inform you ASAP

= My Coding Skills =


 * Currently, I am using Windows XP for coding, but I've been using Linux most of the time. Since I didn't find a way to compile tux4kids yet, I will have to get back to good old Linux in a short time.
 * I have some experience with both C and C++:
 * I worked mainly on open source project "quibble" ( http://code.google.com/p/quibble/ ) in C and Lua
 * I have made real-time audio visualization software as a university project ( http://code.google.com/p/audiovis/ ) in C++
 * Several years of solving problems in programming contests using mainly C++
 * Currently, I am taking a study course, which includes C++ template metaprogramming
 * I am applying for "Migrate Tux Math and t4k_common to SDL 2.0" idea. I chose this project because I have written several applications using SDL 1.2, such as simple Tetris, etc. I've read the "SDL 1.2 to 2.0 Migration Guide" and now I'm starting to familiarize myself with SDL 2.0 better and deeper

= Setting myself up =
 * I couldn't compile Tuxmath on my Windows yet, but I am considering installing Linux on my PC for that task
 * I have joined the Tuxmath mailing list. I will use it to report after I succeed
 * GIT is already working, I got the code from the repositories

= You and me =
 * Unfortunately, I wasn't involved in Tux4Kids development in the past, but I am very looking forward to it
 * Yes, I was involved in open source earlier. Usually, as a game/software developer:
 * I submitted a patch and reported a bug for a Freedroid game last year during GSOC 2011 student applications' period
 * I worked mainly on an open source project "quibble" with my friends and got a lot of experience there
 * My own open source project of real-time rendering system ( http://code.google.com/p/audiovis/ )
 * My very first time with open source during currently abandoned project ( http://code.google.com/p/genben/ )
 * I have participated in several global and local gamejams during last 3 years where I had to share my code with other people
 * Since I started looking for a GSOC project quite late, I wanted to find the one that I have some confidence with, something similar to what I have done so far, and some project in which I feel I can succeed. Tuxmath "Migrate Tux Math and t4k_common to SDL 2.0" was the one. I expect that my code will work fluently and will improve Tuxmath

= My Project =
 * Title: Migrate Tux Math and t4k_common to SDL 2.0
 * Ultimate glory, money and T-Shirt
 * As I mentioned it earlier, I am quite familiar with using SDL 1.2 and I find this to be a great opportunity to learn about SDL 2.0. Furthermore, I think this project comply with my capabilities very accurately. The prerequisites for this project is alright with me, since I have been working on C and C++, I am using GIT for several university projects this semester, and I am familiar with SDL, scons, a bit with make.
 * My experience with SDL and open source projects, willingness to finish everything in time, ability and experience working under extreme conditions (i.e. sleepless nights, working on weekends, etc.) to finish tasks before deadline
 * This is how much time I could spend for GSOC:
 * Before: I could spend 2 to 3 days a week to familiarize myself with Tux source code and new SDL 2.0, since I have to keep up with my studies
 * During: Until my studies ends I would be working in GSOC and studying in university. So approximately until mid June I could spend same 2-3 days/week as before coding period. After that I plan to have up to 1 week travelling holidays, since I am Erasmus student in Austria. After that I am going to give all my time needed to succeed in GSOC: 40h/week should be enough, but I'll spend more if needed.
 * After: Since I am a programmer, I am usually on a PC. Everyone concerned should be able to reach me even after GSOC. If I am going to stay as a developer in Tux depends on the atmosphere in the community, on my abilities to become involved in developing successfully, etc. Despite that, I wouldn't leave my project alone and I would help to keep it clean and beautiful.


 * At last, I give you the timeline of how I would spend my time while working on this project:
 * Before April 20:
 * I should compile Tuxmath and t4kcommon and report my succes in the mailing list
 * Familiarize myself with Tuxmath and t4kcommon source code
 * I will try to know my possible mentors if there are any and discuss detailed schedule for GSOC, polish the ideas of how to migrate to new SDL version exactly
 * April 24 - May 21:
 * Some self coding on SDL 2.0 to understand how to take advantage of new features best
 * Familiarizing myself with Tux code more so that I know what exactly have to be changed and where
 * May 22 - June 18 (official coding period start):
 * Migrating t4k_common and tuxmath source parts that cannot be compiled with SDL 2.0.
 * Migrating rest of the code to SDL 2.0. Most of the work should be done before mid-term evaluation
 * SDL 2.0 provides backward-compatibility and allows most of old SDL 1.2 code to compile with SDL 2.0, but having worse performance. Having half-migrated code working with SDL 2.0 should be enough for mid-term evaluation
 * June 18 - July 8:
 * Careful testing of migrated tux code, fixing bugs and making sure that something works until mid-term evaluation
 * July 9 - July 15 (mid-term evaluation, holidays):
 * On this time I should end my studies and do some travelling around, making holidays, getting home to Lithuania
 * July 16 - July 29:
 * Making rest of the changes, getting reports about bugs and fixing them, writing/rewriting documentation, pushing all changes to master branch of the game
 * July 30 - August 20:
 * Holidays
 * This time is kept for delays and further bug fixing if there are any
 * Note: I wrote that my studies ends about min-June, but here I stated my holidays on mid-July. This is because I don't know when exactly my studies ends. I will take one week of holidays and the other one will be coding week. Don't be confused.