Annotation of wikisrc/projects/code-in.mdwn, revision 1.11

1.1       asau        1: # Google Code-In (GCI) project ideas
                      2: 
                      3: <http://code.google.com/opensource/gci/2010-11/index.html>
                      4: 
                      5: ## Goals as stated by Google
                      6: 1. Code: Tasks related to writing or refactoring code
                      7: 1. Documentation: Tasks related to creating/editing documents
                      8: 1. Outreach: Tasks related to community management and outreach/marketing
                      9: 1. Quality Assurance: Tasks related to testing and ensuring code is of high quality
                     10: 1. Research: Tasks related to studying a problem and recommending solutions
                     11: 1. Training: Tasks related to helping others learn more
                     12: 1. Translation: Tasks related to localization
                     13: 1. User Interface: Tasks related to user experience research or user interface design and interaction
                     14: 
                     15: ## Proposed areas
                     16: ### Desktop project (QA, UI, Doc)
                     17: 
                     18: Try out various desktop scenarios: KDE, GNOME, XFCE.
1.2       asau       19: 
1.1       asau       20: Install software, configure, document, tune.
1.2       asau       21: 
1.1       asau       22: Make it good-looking, I mean _really_ good-looking.
1.2       asau       23: 
1.1       asau       24: Describe problems you meet, sort them out (file problem reports as necessary).
                     25: 
                     26: ### Document time and calendar formats and functions and their relations (Doc, QA)
                     27: 
                     28: We have "time_t", "struct timespec", "struct timeval", "struct tm", and so on.
1.5       asau       29: 
1.1       asau       30: Document all of them as time(5) so that one could have overview of those.
                     31: 
1.5       asau       32: We have time zone sensitive and time zone independent representations too,
                     33: figuring out conversions between local time and UTC from manual pages is hard.
                     34: This is to be addressed too.
                     35: 
1.1       asau       36: This requires some programming skills, some knowledge of C in particular.
                     37: 
                     38: ### Embedded project (Doc, Research)
                     39: 
                     40: Describe and document some embedded usage,
                     41: e.g. making NetBSD run on machine without:
1.2       asau       42: 
1.1       asau       43: * keyboard and video ports
                     44: * above and serial port
                     45: 
1.4       asau       46: #### Possible embedded usage
1.1       asau       47: 
1.4       asau       48: * Thin client: rdesktop or vnc to hardcoded server
                     49: * Home or SOHO router (wireless access point)
                     50: * Home or SOHO file storage
                     51: * Home or SOHO print server
                     52: 
                     53: It is preferred if NetBSD installation uses the least possible resources.
                     54: (E.g. try making it boot over network, or consider that it is to be made so in future.)
                     55: 
1.6       asau       56: #### More notes on embedded systems
                     57: ##### File server
                     58: It should present HTTP(S), FTP(S), and SMB access to data (must),
                     59: consider other access methods (SFTP, NFS, AFS/CODA, AppleTalk).
                     60: 
                     61: It should implement web interface.
                     62: 
                     63: Bonus points if you make it work like Apple Time Capsule (already running NetBSD) or better,
                     64: e.g. implement periodic file system snapshots, 
                     65: 
                     66: ##### Router
                     67: 
                     68: Take any SOHO router as example.
                     69: 
                     70: Adapt pfSense? Similar software?
                     71: 
1.4       asau       72: ### Unattended installation (Research, Doc, Code)
                     73: 
                     74: Consider installation recovery scenario from bare system to configured server.
1.1       asau       75: 
                     76: ### Live USB Flash image (Doc, Outreach, Code)
                     77: 
                     78: Perform and document how one does it.
                     79: 
                     80: Script it if possible.
                     81: 
                     82: Script cross-buildin if possible.
                     83: 
1.7       asau       84: Consider thin client.
                     85: 
1.11    ! asau       86: ### Installation tools (QA, Research, Doc, Code)
1.1       asau       87: 
1.11    ! asau       88: Try creating bootable media using fdisk, disklabel, installboot.
        !            89: Decribe experience, propose improvements, implement them.
1.7       asau       90: 
1.11    ! asau       91: Build NetBSD on any other OS at your choice: FreeBSD, Linux, NT, or OSX.
        !            92: Try creating bootable media using tools built on another OS.
        !            93: Decribe experience, propose improvements, implement them.
        !            94: 
        !            95: Tools affected
        !            96:  
        !            97: * fdisk
        !            98: * disklabel
        !            99: * installboot
        !           100: * perhaps others
        !           101: 
        !           102: For hardcore hackers (those wishing to learn how the stuff works).
1.8       plunky    103: 
                    104: ### System Library project (Code, Doc, QA, Research)
                    105: 
                    106: Add a function call to a system library.
                    107: The function call does not need to be immediately useful (ideally we should provide several
                    108: suggestions) and in fact should not be very complex as the project contains the following
                    109: tasks with varying skills
                    110: 
                    111: * produce C code of function
                    112: * bump library minor version
                    113: * write nroff manpage
                    114: * handle Makefile changes
                    115: * handle set list changes
                    116: * write ATF testcase
1.9       plunky    117: 
                    118: ### Tests projects (Code, QA)
                    119: 
                    120: Create ATF tests for a section of library routines, such as (please add.. )
                    121: 
                    122: * string(3)
                    123: * bluetooth(3)
                    124: * sdp_data(3)
1.10      plunky    125: 
                    126: ### PR projects (Code, Research)
                    127: 
                    128: Create a fix for PR#...
                    129: 
                    130: (please list any PRs that you think are easily fixable but just require a bit
                    131: of time that you don't have)
                    132: 

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb