Difference between revisions of "Top tips for GSOC applications"

From Apertium
Jump to navigation Jump to search
(Fix the link.)
 
(59 intermediate revisions by 12 users not shown)
Line 1: Line 1:
{{TOCD}}
Here are the main three tips to help you in writing your GSOC application with Apertium.

== Writing your GSOC application ==
Here are the main tips to help you in writing your GSOC application with Apertium.


* '''Be realistic'''
* '''Be realistic'''
** We're more likely to accept ideas which are realistic than ones which are "way out there". But if you have a "way out there" idea, don't panic! We're still interested, but we'll try to find a subset of it which is achievable in the time scale available.
** We're more likely to accept ideas which are realistic than ones which are "way out there". But if you have a "way out there" idea, don't panic! We're still interested, but we'll try to find a subset of it which is achievable in the time scale available.
* ''Example:''


* '''Be appropriate'''
* '''Be appropriate'''
** Demonstrate you have a knowledge of Apertium, how it works and the problem it has that you'd like to solve.
** Demonstrate you have a knowledge of Apertium, how it works and the problem it has that you'd like to solve. The [[Documentation|Apertium 2.0: Official documentation]] is considered an essential reading.
* ''Example:''


* '''Be planned'''
* '''Have a plan'''
** Three months may seem like a long time, but it isn't. Show you have a definite plan with dates and deliverables, split into weeks is probably best. Don't forget to leave time for getting familiar with the platform and for documentation.
** Three months may seem like a long time, but it isn't. Show you have a definite plan with dates and deliverables, split into weeks is probably best. Don't forget to leave time for getting familiar with the platform — this should be ideally before, or in the community bonding period — and for documentation. Anyone thinking of working on a language pair should make sure that they read about [[testvoc]] and other quality controls, and factor those in. If you know of any breaks or absences beforehand, be upfront about them and plan around them.

* ''Example:''
* '''Get in contact ASAP!'''
** We get a lot of proposals: some good, most bad. Get in contact with your potential mentor '''as soon as possible''' by sending your proposal to the mailing list, and asking for feedback. Be responsive to feedback. Refine your application based on feedback. If the mentors remember you, your chances of being picked are higher.

* '''Read the Ideas Page!'''
** If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read [[Ideas for Google Summer of Code|the ideas page]]. Read the ideas page.

* '''Do the coding challenge'''
** Every idea will have a coding challenge to perform, this is basically a test to see if you have the required skills to do the project or if you can acquire them in a short amount of time.

== Contact Us! ==

If you haven't talked to us yet, the best next step is almost certainly talking to us. [[IRC]] is the fastest way to get a response. You can also join the [[Contact|apertium-stuff mailing list]]. Either way, come on and post your question or proposal and someone will be around to help.

Either way, post '''publicly'''. If anyone can jump in and answer the question, you're likely to get better and quicker answers and others can learn from it as well.

== What '''NOT''' to put in your application ==
Someone is going to send us all of these. Please don't let it be you.

* '''Your resume or CV'''
** We don't need your CV. A couple of sentences describing your relevant experience is sufficient.

* '''Week 1: set up development environment'''
** This should be done by the end of the community bonding period. Better yet, do it now while you're figuring out how Apertium works.

* '''Week 1: getting familiar with Apertium'''
** Again, this is what community bonding is for, and if you do it before then, you'll have a better sense of what would make a reasonable project.

* '''Exactly what it says on the ideas page'''
** Some of the things listed on [[Ideas_for_Google_Summer_of_Code|the ideas page]] contain all the information you need to propose a project. Other ideas are just a starting point. Either way, '''come talk to us''' and we'll help you fill in the gaps.
** Also, we may have forgotten to update the idea list. Some of the things on it may have been done last year or maybe another project has done something that affects the one you're looking at. Again, talk to us and we'll help you sort it out.

* '''English-Hindi translation'''
** See [[Ideas_for_Google_Summer_of_Code/Adopt_a_language_pair]]. Working on the <code>eng-hin</code> has been attempted many times in the past and very little progress has been made. Are there any other languages that you speak that you could pair with one of those?


==Other tips==
==Other tips==


We're not saying that following the advice below will automatically get you a mentor, but going through it will give you a pretty good chance!
* A good idea for newbies would be to [[installation|install]] Apertium and read through the [[:Category:HOWTO|new language pair HOWTO]]. This might even give you some more ideas!

* Create a username on this Wiki, this way we can work collaboratively on applications.
* '''Join [[Contact|IRC]]''': even if you're idling or don't say anything, you'll discover more about how Apertium works.
* Subscribe to the '''[[Contact|apertium-stuff]]''' mailing list.
* Create a github username (if you don't already have one).
* Ask for an account on the Wiki.

Then:

* First [[installation|install]] Apertium and a language pair; read through the [[:Category:HOWTO|new language pair HOWTO]]. This might even give you some more ideas!
** You typically want language data from GitHub, core tools from our repo (official Debian packages are out of date though). See [[Installation]].
* When you think of Apertium, think Wikipedia (Be bold!) or think Nike (Just Do It!). Preferably, both.
* Rule 1 here: Ask questions! Keep asking. The more you ask, the better.
* Rule 2: No questions are stupid. We have all been new to Apertium once, we have all needed to ask questions. Asking them is proof to us that you are serious.
* '''Even better''': Write your questions, and a summary of the answers you get, on this wiki. A good summary shows us that you have understood what we told you.
* Browse the wiki again, especially [[Apertium New Language Pair HOWTO]].
* Update the wiki so the next reader won't encounter the same problems as you did.
* Play with some language pairs.
* In a language pair of your own choice, try to edit the files, break stuff, and then make it work again &mdash; and then tell us about it.
* If you think you know the problem better than the mentor does, it could be that you have misunderstood it. Read more about Apertium before making assumptions based on your existing experience.
* While your code is compiling, look through the [https://google.github.io/gsocguides/student/writing-a-proposal GSoC student guide]
* Ask for an account on this Wiki, that way we can work collaboratively on applications. You should ask on our mailing list or on the IRC channel you just joined and an [[Special:ListAdmins|admin]] will create it for you.

==Frequently asked questions==

; Do I first have to do the coding challenge and only then I get selected?

The way it works is this: First you need to find a mentor, then you need to write a proposal, then you need to submit the proposal to the Google Mélange site. After this, we read and evaluate the proposals, and we rank them. Then Google tells us how many slots we got, and we take the top ''n'' ranked slots, where ''n'' is the number of slots we got.

You don't have to do the coding challenge, but it will help you with (a) finding a mentor, and (b) writing your proposal. You are unlikely to be able to write a good proposal without knowing something about Apertium -- which the coding challenge will help you with. And by asking questions, hanging out on IRC, you will get to know the mentors, increasing the chances of finding one who is interested in your proposal.

; Is it possible to see applications from previous years?

Some of the applications from previous years are available on our Wiki under the category [[:Category:Student proposals for the Google Summer of Code]].

; How can I get an account on the Wiki?

There are a couple of options, either email our mailing list (<tt>apertium-stuff@lists.sourceforge.net</tt>) or come on [[IRC]] and ask one of the mentors to add you an account. In both cases you will need an email address and a username.


==Template==
==Template==
Line 23: Line 93:
Name:
Name:
E-mail address:
E-mail address:
Other information that may be useful to contact you:
Other information that may be useful to contact you (e.g. IRC):

Why is it you are interested in machine translation?
Why is it that they are interested in the Apertium project?
Why is it that you are interested in Apertium?

Which of the published tasks are you interested in? What do you plan to do?
Which of the published tasks are you interested in? What do you plan to do?

Include a one- or two-page proposal, including
Include a proposal, including
* a title,
* a title,
* reasons why Google and Apertium should sponsor it,
* reasons why Google and Apertium should sponsor it,
* a description of how and who it will benefit in society,
* a description of how and who it will benefit in society,
* and a detailed work plan (including, if possible, a brief schedule with milestones and deliverables).
* and a detailed work plan (including, if possible, a schedule with milestones and deliverables).
Include time needed to think, to program, to document and to disseminate.
List your skills and give evidence of your qualifications. Tell us what is your current field of study,
major, etc. Convince us that you can do the work. In particular we would like to know whether you
have programmed before in open-source projects.
List any non-Summer-of-Code plans you have for the Summer, especially employment and
class-taking. Be specific about schedules and time commitments. we would like to be sure you have
at least 10 free hours a week to develop for our project.
</pre>


==Work plan==
=== Work plan ===


* Week 1:
* Week 1:
Line 47: Line 111:
* Week 3:
* Week 3:
* Week 4:
* Week 4:

* '''Deliverable #1'''


* Week 5:
* Week 5:
Line 52: Line 118:
* Week 7:
* Week 7:
* Week 8:
* Week 8:

* '''Deliverable #2'''


* Week 9:
* Week 9:
Line 57: Line 125:
* Week 11:
* Week 11:
* Week 12:
* Week 12:

* '''Project completed'''

Include time needed to think, to program, to document and to disseminate.

If you are intending to disseminate to a conference, which conference are you intending to submit to. Make sure
to factor in time taken to run any experiments/evaluations and write them up in your work plan.

List your skills and give evidence of your qualifications. Tell us what is your current field of study,
major, etc. Convince us that you can do the work.

List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for
internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have
at least 30 free hours a week to develop for our project.
</pre>



[[Category:Google Summer of Code]]
[[Category:Google Summer of Code]]

Latest revision as of 23:51, 27 February 2023

Writing your GSOC application[edit]

Here are the main tips to help you in writing your GSOC application with Apertium.

  • Be realistic
    • We're more likely to accept ideas which are realistic than ones which are "way out there". But if you have a "way out there" idea, don't panic! We're still interested, but we'll try to find a subset of it which is achievable in the time scale available.
  • Be appropriate
    • Demonstrate you have a knowledge of Apertium, how it works and the problem it has that you'd like to solve. The Apertium 2.0: Official documentation is considered an essential reading.
  • Have a plan
    • Three months may seem like a long time, but it isn't. Show you have a definite plan with dates and deliverables, split into weeks is probably best. Don't forget to leave time for getting familiar with the platform — this should be ideally before, or in the community bonding period — and for documentation. Anyone thinking of working on a language pair should make sure that they read about testvoc and other quality controls, and factor those in. If you know of any breaks or absences beforehand, be upfront about them and plan around them.
  • Get in contact ASAP!
    • We get a lot of proposals: some good, most bad. Get in contact with your potential mentor as soon as possible by sending your proposal to the mailing list, and asking for feedback. Be responsive to feedback. Refine your application based on feedback. If the mentors remember you, your chances of being picked are higher.
  • Read the Ideas Page!
    • If you find yourself asking 'do you have any Java/Python/Fortran/x86 assembler projects...' -- you didn't read the ideas page. Read the ideas page.
  • Do the coding challenge
    • Every idea will have a coding challenge to perform, this is basically a test to see if you have the required skills to do the project or if you can acquire them in a short amount of time.

Contact Us![edit]

If you haven't talked to us yet, the best next step is almost certainly talking to us. IRC is the fastest way to get a response. You can also join the apertium-stuff mailing list. Either way, come on and post your question or proposal and someone will be around to help.

Either way, post publicly. If anyone can jump in and answer the question, you're likely to get better and quicker answers and others can learn from it as well.

What NOT to put in your application[edit]

Someone is going to send us all of these. Please don't let it be you.

  • Your resume or CV
    • We don't need your CV. A couple of sentences describing your relevant experience is sufficient.
  • Week 1: set up development environment
    • This should be done by the end of the community bonding period. Better yet, do it now while you're figuring out how Apertium works.
  • Week 1: getting familiar with Apertium
    • Again, this is what community bonding is for, and if you do it before then, you'll have a better sense of what would make a reasonable project.
  • Exactly what it says on the ideas page
    • Some of the things listed on the ideas page contain all the information you need to propose a project. Other ideas are just a starting point. Either way, come talk to us and we'll help you fill in the gaps.
    • Also, we may have forgotten to update the idea list. Some of the things on it may have been done last year or maybe another project has done something that affects the one you're looking at. Again, talk to us and we'll help you sort it out.
  • English-Hindi translation

Other tips[edit]

We're not saying that following the advice below will automatically get you a mentor, but going through it will give you a pretty good chance!

  • Join IRC: even if you're idling or don't say anything, you'll discover more about how Apertium works.
  • Subscribe to the apertium-stuff mailing list.
  • Create a github username (if you don't already have one).
  • Ask for an account on the Wiki.

Then:

  • First install Apertium and a language pair; read through the new language pair HOWTO. This might even give you some more ideas!
    • You typically want language data from GitHub, core tools from our repo (official Debian packages are out of date though). See Installation.
  • When you think of Apertium, think Wikipedia (Be bold!) or think Nike (Just Do It!). Preferably, both.
  • Rule 1 here: Ask questions! Keep asking. The more you ask, the better.
  • Rule 2: No questions are stupid. We have all been new to Apertium once, we have all needed to ask questions. Asking them is proof to us that you are serious.
  • Even better: Write your questions, and a summary of the answers you get, on this wiki. A good summary shows us that you have understood what we told you.
  • Browse the wiki again, especially Apertium New Language Pair HOWTO.
  • Update the wiki so the next reader won't encounter the same problems as you did.
  • Play with some language pairs.
  • In a language pair of your own choice, try to edit the files, break stuff, and then make it work again — and then tell us about it.
  • If you think you know the problem better than the mentor does, it could be that you have misunderstood it. Read more about Apertium before making assumptions based on your existing experience.
  • While your code is compiling, look through the GSoC student guide
  • Ask for an account on this Wiki, that way we can work collaboratively on applications. You should ask on our mailing list or on the IRC channel you just joined and an admin will create it for you.

Frequently asked questions[edit]

Do I first have to do the coding challenge and only then I get selected?

The way it works is this: First you need to find a mentor, then you need to write a proposal, then you need to submit the proposal to the Google Mélange site. After this, we read and evaluate the proposals, and we rank them. Then Google tells us how many slots we got, and we take the top n ranked slots, where n is the number of slots we got.

You don't have to do the coding challenge, but it will help you with (a) finding a mentor, and (b) writing your proposal. You are unlikely to be able to write a good proposal without knowing something about Apertium -- which the coding challenge will help you with. And by asking questions, hanging out on IRC, you will get to know the mentors, increasing the chances of finding one who is interested in your proposal.

Is it possible to see applications from previous years?

Some of the applications from previous years are available on our Wiki under the category Category:Student proposals for the Google Summer of Code.

How can I get an account on the Wiki?

There are a couple of options, either email our mailing list (apertium-stuff@lists.sourceforge.net) or come on IRC and ask one of the mentors to add you an account. In both cases you will need an email address and a username.

Template[edit]

Name:
E-mail address:
Other information that may be useful to contact you (e.g. IRC):

Why is it that you are interested in Apertium?

Which of the published tasks are you interested in? What do you plan to do? 

Include a proposal, including 
    * a title,
    * reasons why Google and Apertium should sponsor it,
    * a description of how and who it will benefit in society,
    * and a detailed work plan (including, if possible, a schedule with milestones and deliverables).

=== Work plan ===

* Week 1: 
* Week 2:
* Week 3:
* Week 4:

* '''Deliverable #1'''

* Week 5: 
* Week 6:
* Week 7:
* Week 8:

* '''Deliverable #2'''

* Week 9: 
* Week 10:
* Week 11:
* Week 12:

* '''Project completed'''

Include time needed to think, to program, to document and to disseminate.

If you are intending to disseminate to a conference, which conference are you intending to submit to. Make sure
to factor in time taken to run any experiments/evaluations and write them up in your work plan.

List your skills and give evidence of your qualifications. Tell us what is your current field of study, 
major, etc. Convince us that you can do the work. 

List any non-Summer-of-Code plans you have for the Summer, especially employment, if you are applying for 
internships, and class-taking. Be specific about schedules and time commitments. we would like to be sure you have 
at least 30 free hours a week to develop for our project.