# Google Code-In (GCI) project ideas
## Goals as stated by Google
1. Code: Tasks related to writing or refactoring code
1. Documentation: Tasks related to creating/editing documents
1. Outreach: Tasks related to community management and outreach/marketing
1. Quality Assurance: Tasks related to testing and ensuring code is of high quality
1. Research: Tasks related to studying a problem and recommending solutions
1. Training: Tasks related to helping others learn more
1. Translation: Tasks related to localization
1. User Interface: Tasks related to user experience research or user interface design and interaction
## Proposed areas
### Desktop project (QA, UI, Doc)
Try out various desktop scenarios: KDE, GNOME, XFCE.
Install software, configure, document, tune.
Make it good-looking, I mean _really_ good-looking.
Describe problems you meet, sort them out (file problem reports as necessary).
### Document time and calendar formats and functions and their relations (Doc, QA)
We have "time_t", "struct timespec", "struct timeval", "struct tm", and so on.
Document all of them as time(5) so that one could have overview of those.
This requires some programming skills, some knowledge of C in particular.
### Embedded project (Doc, Research)
Describe and document some embedded usage,
e.g. making NetBSD run on machine without:
* keyboard and video ports
* above and serial port
Consider unattended installation as subproject or similar project.
Consider thin client as subproject or similar project.
### Live USB Flash image (Doc, Outreach, Code)
Perform and document how one does it.
Script it if possible.
Script cross-buildin if possible.
Fix fdisk, installboot and other tools as needed (for hardcore hackers).
Consider thin client.
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb