Difference between revisions of "Task ideas for Google Code-in"

From Apertium
Jump to navigation Jump to search
(Add shardulc)
Line 53: Line 53:
 
|description=Make headings that are out of view (either below when at the top, or above when scrolled down) sticky on [https://apertium.github.io/apertium-on-github/source-browser.html Apertium source browser], so that it's clear what other headings exist. There is a [https://github.com/apertium/apertium-on-github/issues/22 github issue for this].
 
|description=Make headings that are out of view (either below when at the top, or above when scrolled down) sticky on [https://apertium.github.io/apertium-on-github/source-browser.html Apertium source browser], so that it's clear what other headings exist. There is a [https://github.com/apertium/apertium-on-github/issues/22 github issue for this].
 
|tags=css, javascript, html, web
 
|tags=css, javascript, html, web
|mentors=sushain, JNW, xavivars
+
|mentors=sushain, JNW, xavivars, shardulc
 
|multi=
 
|multi=
 
|beginner=no
 
|beginner=no
Line 75: Line 75:
 
|description=There are many modules without any tests at all, unfortunately. See the associated [https://github.com/apertium/phenny/issues/348 GitHub issue] for more details and discussion.
 
|description=There are many modules without any tests at all, unfortunately. See the associated [https://github.com/apertium/phenny/issues/348 GitHub issue] for more details and discussion.
 
|tags=python, bot
 
|tags=python, bot
|mentors=sushain, JNW, wei2912, Josh
+
|mentors=sushain, JNW, wei2912, Josh, shardulc
 
|multi=4
 
|multi=4
 
|dup=4
 
|dup=4
Line 86: Line 86:
 
|description=Currently, the .logs command just links to the root logs. Ideally, it would link to the channel specific logs, support a time being handed to it and have tests. See the associated [https://github.com/apertium/phenny/issues/435 GitHub issue] for more details and discussion.
 
|description=Currently, the .logs command just links to the root logs. Ideally, it would link to the channel specific logs, support a time being handed to it and have tests. See the associated [https://github.com/apertium/phenny/issues/435 GitHub issue] for more details and discussion.
 
|tags=python, bot
 
|tags=python, bot
|mentors=sushain, JNW, wei2912, Josh
+
|mentors=sushain, JNW, wei2912, Josh, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 95: Line 95:
 
|description=There are a couple steps remaining for this process, mostly small modifications to the existing code which are enumerated in the associated [https://github.com/apertium/phenny/issues/389 GitHub issue] which also contains more context and discussion.
 
|description=There are a couple steps remaining for this process, mostly small modifications to the existing code which are enumerated in the associated [https://github.com/apertium/phenny/issues/389 GitHub issue] which also contains more context and discussion.
 
|tags=python, bot
 
|tags=python, bot
|mentors=sushain, JNW, wei2912
+
|mentors=sushain, JNW, wei2912, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 104: Line 104:
 
|description=Begiak often floods the channel with notifications from modules such as git. Compile a list of modules which flood Begiak, write a mini-report on the associated [https://github.com/apertium/phenny/issues/159 GitHub issue] and propose changes to be made to the modules. For each module, there should be an issue created with a list of proposed changes, referenced from the main issue. The issue should be added to the associated [https://github.com/apertium/phenny/projects/1 GitHub project].
 
|description=Begiak often floods the channel with notifications from modules such as git. Compile a list of modules which flood Begiak, write a mini-report on the associated [https://github.com/apertium/phenny/issues/159 GitHub issue] and propose changes to be made to the modules. For each module, there should be an issue created with a list of proposed changes, referenced from the main issue. The issue should be added to the associated [https://github.com/apertium/phenny/projects/1 GitHub project].
 
|tags=python, bot
 
|tags=python, bot
|mentors=sushain, JNW, wei2912
+
|mentors=sushain, JNW, wei2912, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 113: Line 113:
 
|description=Refer to the associated [https://github.com/apertium/phenny/issues/436 GitHub issue] for more details. After this task, the list of modules on [http://wiki.apertium.org/wiki/Begiak Begiak's wiki page] should be updated.
 
|description=Refer to the associated [https://github.com/apertium/phenny/issues/436 GitHub issue] for more details. After this task, the list of modules on [http://wiki.apertium.org/wiki/Begiak Begiak's wiki page] should be updated.
 
|tags=python, bot, wiki
 
|tags=python, bot, wiki
|mentors=sushain, JNW, wei2912
+
|mentors=sushain, JNW, wei2912, shardulc
 
|beginner=yes
 
|beginner=yes
 
}}
 
}}
Line 122: Line 122:
 
|description=Ideally, this would be added to an existing module. If that doesn't make sense, a new module is acceptable as well. The associated [https://github.com/apertium/phenny/issues/433 GitHub issue] includes an example of the command's usage and reply.
 
|description=Ideally, this would be added to an existing module. If that doesn't make sense, a new module is acceptable as well. The associated [https://github.com/apertium/phenny/issues/433 GitHub issue] includes an example of the command's usage and reply.
 
|tags=python, github, bot
 
|tags=python, github, bot
|mentors=sushain, JNW, wei2912, Josh
+
|mentors=sushain, JNW, wei2912, Josh, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 131: Line 131:
 
|description=Unfortunately, the transition to GitHub from SVN made it so this script which is very handy for downloading an Apertium language/pair doesn't fetch the newest packages anymore. This also means that beta.apertium.org is out of date. See the associated [https://github.com/apertium/apertium-get/issues/7 GitHub issue] issue for more details and discussion.
 
|description=Unfortunately, the transition to GitHub from SVN made it so this script which is very handy for downloading an Apertium language/pair doesn't fetch the newest packages anymore. This also means that beta.apertium.org is out of date. See the associated [https://github.com/apertium/apertium-get/issues/7 GitHub issue] issue for more details and discussion.
 
|tags=bash, github
 
|tags=bash, github
|mentors=sushain, Unhammer, wei2912, Josh, xavivars
+
|mentors=sushain, Unhammer, wei2912, Josh, xavivars, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 140: Line 140:
 
|description=Currently, some Apertium pairs/language modules use CI but it's very inconsistent and doesn't come by default. Apertium-init is the official way to bootstrap a new Apertium package so if it came with CI support by default, that would be great. See the associated [https://github.com/apertium/apertium-init/issues/51 GitHub issue] issue for more details and discussion.
 
|description=Currently, some Apertium pairs/language modules use CI but it's very inconsistent and doesn't come by default. Apertium-init is the official way to bootstrap a new Apertium package so if it came with CI support by default, that would be great. See the associated [https://github.com/apertium/apertium-init/issues/51 GitHub issue] issue for more details and discussion.
 
|tags=ci, circleci, yaml
 
|tags=ci, circleci, yaml
|mentors=sushain, Unhammer, wei2912, xavivars
+
|mentors=sushain, Unhammer, wei2912, xavivars, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 185: Line 185:
 
|description=[[Apertium-init]] bootstraps Apertium packages and supports creating an associated GitHub repository. Our source browser and other scripts expect a GitHub repository topic like "apertium-incubator". This task requires creating the incubator topic by default on repo push with an option for custom topics. See the associated [https://github.com/apertium/apertium-init/issues/36 GitHub issue] issue for more details and discussion.
 
|description=[[Apertium-init]] bootstraps Apertium packages and supports creating an associated GitHub repository. Our source browser and other scripts expect a GitHub repository topic like "apertium-incubator". This task requires creating the incubator topic by default on repo push with an option for custom topics. See the associated [https://github.com/apertium/apertium-init/issues/36 GitHub issue] issue for more details and discussion.
 
|tags=python, github, http
 
|tags=python, github, http
|mentors=sushain, Unhammer, wei2912, xavivars
+
|mentors=sushain, Unhammer, wei2912, xavivars, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 309: Line 309:
 
|description=Currently, we are on a frankensteined version of Bootstrap 3. See the associated [https://github.com/apertium/apertium-html-tools/issues/200 GitHub issue] for more details and discussion. Note that the [https://github.com/apertium/apertium-html-tools/issues/314 frankenstein'd CSS] will likely need to be fixed and theme support should be retained (should be simple).
 
|description=Currently, we are on a frankensteined version of Bootstrap 3. See the associated [https://github.com/apertium/apertium-html-tools/issues/200 GitHub issue] for more details and discussion. Note that the [https://github.com/apertium/apertium-html-tools/issues/314 frankenstein'd CSS] will likely need to be fixed and theme support should be retained (should be simple).
 
|tags=javascript, css, web, bootstrap
 
|tags=javascript, css, web, bootstrap
|mentors=sushain, xavivars
+
|mentors=sushain, xavivars, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 327: Line 327:
 
|description=Currently, if you try translating Apertium's website with Apertium's website, bad things happen. This 'exploit' is also possible through mutual recursion with another site that offers similar behavior. See the associated [https://github.com/apertium/apertium-html-tools/issues/203 GitHub issue] for more details and discussion.
 
|description=Currently, if you try translating Apertium's website with Apertium's website, bad things happen. This 'exploit' is also possible through mutual recursion with another site that offers similar behavior. See the associated [https://github.com/apertium/apertium-html-tools/issues/203 GitHub issue] for more details and discussion.
 
|tags=javascript, jquery, web, bootstrap
 
|tags=javascript, jquery, web, bootstrap
|mentors=sushain, Unhammer
+
|mentors=sushain, Unhammer, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 345: Line 345:
 
|description=Currently, HTTP responses with unicode characters are emitted as \uNNNN by the Apertium API. Ideally, the character could just be decoded. See the associated [https://github.com/apertium/apertium-apy/issues/60 GitHub issue] for more details and discussion.
 
|description=Currently, HTTP responses with unicode characters are emitted as \uNNNN by the Apertium API. Ideally, the character could just be decoded. See the associated [https://github.com/apertium/apertium-apy/issues/60 GitHub issue] for more details and discussion.
 
|tags=python, api, unicode, json, api, http
 
|tags=python, api, unicode, json, api, http
|mentors=sushain, Unhammer
+
|mentors=sushain, Unhammer, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 355: Line 355:
 
|description=Currently, [https://github.com/goavki/apertium-html-tools html-tools] relies on an API endpoint to translate documents, files, etc. However, when this API is down the interface also breaks! This task requires fixing
 
|description=Currently, [https://github.com/goavki/apertium-html-tools html-tools] relies on an API endpoint to translate documents, files, etc. However, when this API is down the interface also breaks! This task requires fixing
 
this breakage. See the associated [https://github.com/apertium/apertium-html-tools/issues/207 GitHub issue] for more details and discussion.
 
this breakage. See the associated [https://github.com/apertium/apertium-html-tools/issues/207 GitHub issue] for more details and discussion.
|mentors=sushain, Unhammer
+
|mentors=sushain, Unhammer, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 363: Line 363:
 
|title=Refine the apertium.org ([[html-tools]]) dictionary interface
 
|title=Refine the apertium.org ([[html-tools]]) dictionary interface
 
|tags=javascript, html, css, web
 
|tags=javascript, html, css, web
|description=Significant progress has been made towards providing a dictionary-style interface within [https://github.com/goavki/apertium-html-tools html-tools]. This task requires refining the existing [https://github.com/goavki/apertium-html-tools/pull/184 PR] by de-conflicting it with master and resolving the interface concerns discussed [https://github.com/goavki/apertium-html-tools/pull/184#issuecomment-323597780 here]. See the associated [https://github.com/apertium/apertium-html-tools/issues/105 GitHub issue] for more details and discussion.
+
|description=Significant progress has been made towards providing a dictionary-style interface within [https://github.com/apertium/apertium-html-tools html-tools]. This task requires refining the existing [https://github.com/goavki/apertium-html-tools/pull/184 PR] by de-conflicting it with master and resolving the interface concerns discussed [https://github.com/goavki/apertium-html-tools/pull/184#issuecomment-323597780 here]. See the associated [https://github.com/apertium/apertium-html-tools/issues/105 GitHub issue] for more details and discussion.
|mentors=sushain
+
|mentors=sushain, shardulc
 
|beginner=no
 
}}
  +
 
{{Taskidea
 
|type=code, design
  +
|title=Chained translation path interface for apertium.org ([[html-tools]])
  +
|tags=javascript, html, css, web
  +
|description=Significant progress has been made towards providing an interface for selecting a path for chained (multi-step) translation in [https://github.com/apertium/apertium-html-tools html-tools]. The code is currently in a [https://github.com/apertium/apertium-html-tools/tree/issue-91-translation-chain-graph branch] that needs to be de-conflicted with master, refined to accommodate changes in the main interface since the code was written, tested, and finally merged.
 
|mentors=sushain, shardulc
 
|beginner=no
 
|beginner=no
 
}}
 
}}
Line 382: Line 391:
 
|description=This task requires making /en-es, /en-spa, etc. work the same as /eng-spa and then adding tests that verify the behavior. See the associated [https://github.com/apertium/apertium-stats-service/issues/32 GitHub issue] for more details and discussion.
 
|description=This task requires making /en-es, /en-spa, etc. work the same as /eng-spa and then adding tests that verify the behavior. See the associated [https://github.com/apertium/apertium-stats-service/issues/32 GitHub issue] for more details and discussion.
 
|tags=rust, api, http
 
|tags=rust, api, http
|mentors=sushain
 
|beginner=no
 
}}
 
 
{{Taskidea
 
|type=code
 
|title=Accept ISO-639-1 codes in [https://github.com/apertium/apertium-stats-service apertium-stats-service]
 
|description=This task requires making /en-es, /en-spa, etc. work the same as /eng-spa. See the associated [https://github.com/apertium/apertium-stats-service/issues/32 GitHub issue] for more details and discussion.
 
|tags=rust, api, http, rest
 
 
|mentors=sushain
 
|mentors=sushain
 
|beginner=no
 
|beginner=no
Line 433: Line 433:
 
{{Taskidea
 
{{Taskidea
 
|type=documentation
 
|type=documentation
|mentors=Flammie, JNW, anakuz, Josh
+
|mentors=Flammie, JNW, anakuz, Josh, shardulc
 
|tags=xml, dictionaries, screencast
 
|tags=xml, dictionaries, screencast
 
|title=Create a screencast on how to add new entries to an apertium dictionary
 
|title=Create a screencast on how to add new entries to an apertium dictionary
Line 443: Line 443:
 
{{Taskidea
 
{{Taskidea
 
|type=documentation
 
|type=documentation
|mentors=Flammie, Josh
+
|mentors=Flammie, Josh, shardulc
 
|tags=disambiguation, screencast
 
|tags=disambiguation, screencast
 
|title=Create a screencast on how to disambiguate tokens of text
 
|title=Create a screencast on how to disambiguate tokens of text
Line 453: Line 453:
 
|type=quality
 
|type=quality
 
|mentors=Flammie, wei2912
 
|mentors=Flammie, wei2912
|tags=test, python or sh
+
|tags=test, python, bash
 
|title=Create automated (travis-ci) test to ensure naïve coverage
 
|title=Create automated (travis-ci) test to ensure naïve coverage
 
|description=The dictionaries can be tested on [[Coverage]], the idea is to make test that operates on frequency word list to count a coverage of a dictionary and then integrate that to Makefile target check for travis to use.
 
|description=The dictionaries can be tested on [[Coverage]], the idea is to make test that operates on frequency word list to count a coverage of a dictionary and then integrate that to Makefile target check for travis to use.
Line 462: Line 462:
 
{{Taskidea
 
{{Taskidea
 
|type=code
 
|type=code
|mentors=JNW, sushain, wei2912
+
|mentors=JNW, sushain, wei2912, shardulc
 
|tags=python, git, json
 
|tags=python, git, json
 
|title=Scrape Apertium repo information into json
 
|title=Scrape Apertium repo information into json
Line 482: Line 482:
 
{{Taskidea
 
{{Taskidea
 
|type=documentation
 
|type=documentation
|mentors=JNW, sushain, wei2912, Josh, xavivars
+
|mentors=JNW, sushain, wei2912, Josh, xavivars, shardulc
 
|tags=wiki, github, svn
 
|tags=wiki, github, svn
 
|title=Fix (or document the blockers for) five mentions of SVN on the Apertium wiki
 
|title=Fix (or document the blockers for) five mentions of SVN on the Apertium wiki
 
|description=Apertium recently [https://github.com/apertium/apertium-on-github migrated] to GitHub from SVN. There are unfortunately still a lot of pages on the Wiki in need of their references to the Wiki to SVN URLs and SVN in general. This task requires finding five such pages and either outright fixing them or documenting the difficulty involved in fixing the issues. Note Category:GitHub_migration_updates lists articles currently marked for needing migration but is not exhaustive.
 
|description=Apertium recently [https://github.com/apertium/apertium-on-github migrated] to GitHub from SVN. There are unfortunately still a lot of pages on the Wiki in need of their references to the Wiki to SVN URLs and SVN in general. This task requires finding five such pages and either outright fixing them or documenting the difficulty involved in fixing the issues. Note Category:GitHub_migration_updates lists articles currently marked for needing migration but is not exhaustive.
 
|multi=5
 
|multi=5
|beginner=
+
|beginner=no
 
}}
 
}}
   
Line 588: Line 588:
 
{{Taskidea
 
{{Taskidea
 
|type=Code,Documentation
 
|type=Code,Documentation
|mentors=ftyers
+
|mentors=ftyers, shardulc
 
|title=Write a program to add a dev branch for each of the released language pairs
 
|title=Write a program to add a dev branch for each of the released language pairs
 
|description=At the moment Apertium language pairs are generally developed in the master branch. We would like to move to having a dev/master split, but we need to make a new dev branch for each pair, and also write documentation to explain to people to send PRs to dev or commit to dev.
 
|description=At the moment Apertium language pairs are generally developed in the master branch. We would like to move to having a dev/master split, but we need to make a new dev branch for each pair, and also write documentation to explain to people to send PRs to dev or commit to dev.

Revision as of 18:53, 18 October 2018

This is the task ideas page for Google Code-in, here you can find ideas on interesting tasks that will improve your knowledge of Apertium and help you get into the world of open-source development.

The people column lists people who you should get in contact with to request further information. All tasks are 2 hours maximum estimated amount of time that would be spent on the task by an experienced developer, however:

  1. this is the time expected to take by an experienced developer, you may find that you spend more time on the task because of the learning curve.

Categories:

  • code: Tasks related to writing or refactoring code
  • documentation: Tasks related to creating/editing documents and helping others learn more
  • research: Tasks related to community management, outreach/marketting, or studying problems and recommending solutions
  • quality: Tasks related to testing and ensuring code is of high quality.
  • design: Tasks related to user experience research or user interface design and interaction

Clarification of "multiple task" types

  • multi = number of students who can do a given task
  • dup = number of times a student can do the same task

You can find descriptions of some of the mentors here.

Task ideas

Counts

Last updated by Sushain (talk) 19:22, 15 September 2018 (CEST).

Category Count
code 35
documentation 5
research 10
quality 10
design 5
Total 53