• About
  • Google Code-In
  • Google Code-In

    Android

    Port our tools to Android and design Android-native UI.

    TitleTypesTags
    Intro to AndroidCode,Outreach/ResearchBeginnerandroid
    Cairo Compile DirectionsDocumentation/Trainingandroidpysoy
    Dependency Tree GraphDocumentation/Trainingandroidartpysoy
    Glib Compile DirectionsDocumentation/Trainingandroidpysoy
    ODE Compile DirectionsDocumentation/Trainingandroidpysoy
    Playerd ServiceCodeandroidcwaf

    ChromeCast

    Use your phone, tablet, or computer to play games on your TV! These tasks are mostly HTML/5, Javascript, and WebGL.

    (coming soon)

    Genie

    A Python-like, compiled language used for many of our projects.

    TitleTypesTags
    Intro to Genie: String MathCodeBeginnergenie
    Intro to Genie: Pig LatinCodeBeginnergenie
    Intro to Genie: WebserverCodeBeginnergenie
    Intro to Genie: HTTP FeedCodeBeginnergenie
    Intro to Genie: Sound FXCodeBeginnergenie
    Intro to Genie: Word MashCodeBeginnergenie
    Intro to Genie: IRC ConnectCodeBeginnergenie
    Intro to Genie: UDP P2PCodeBeginnergenie
    Intro to Genie: Tab CheckerCodeBeginnergenie
    Intro to Genie: Play VideoCodeBeginnergenie
    Document Async MethodsCode,Documentation/Traininggenie
    Document Method DelegatesCode,Documentation/Traininggenie
    Document OwnershipCode,Documentation/Traininggenie
    Gee CollectionCode,Quality Assurancegenie
    Gee MapCode,Quality Assurancegenie
    Protected ContentsCodegenie

    Gnome

    Improve user experience on Gnome 3.

    TitleTypesTags
    XMPP Account PasswordCode,User Interfacegeniegnomepysoyxmpp
    XMPP Account OAuth2Code,User Interfacegeniegnomegooglepysoyxmpp
    Client ModuleCode,User Interfacegeniegnomepysoy

    Hangouts on Air

    Lights, camera, action! Go on-air, get task credit.

    TitleTypesTags
    Anytime
    Android TutorialDocumentation/Trainingandroidgooglevideoyoutube
    Ebuild TutorialDocumentation/Trainingebuildgooglevideoyoutube
    Genie TutorialDocumentation/Traininggeniegooglevideoyoutube
    Linux Development TutorialDocumentation/Traininggooglelinuxpysoyvideoyoutube
    Mercurial TutorialDocumentation/Traininggooglemercurialvideoyoutube
    OpenGL TutorialDocumentation/Traininggoogleopenglvideoyoutube
    Raspberry Pi TutorialDocumentation/Traininggoogleraspberrypivideoyoutube
    Week 1 (Sat Oct 27)
    Host a Hangout On Air (Sat Oct 27)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Oct 27)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Oct 27)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Oct 27)Codegooglevideoyoutube
    Present a Dependency (Sat Oct 27)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Oct 27)Outreach/Researchgooglevideoyoutube
    Week 2 (Sat Nov 03)
    Host a Hangout On Air (Sat Nov 03)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Nov 03)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Nov 03)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Nov 03)Codegooglevideoyoutube
    Present a Dependency (Sat Nov 03)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Nov 03)Outreach/Researchgooglevideoyoutube
    Week 3 (Sat Nov 10)
    Host a Hangout On Air (Sat Nov 10)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Nov 10)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Nov 10)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Nov 10)Codegooglevideoyoutube
    Present a Dependency (Sat Nov 10)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Nov 10)Outreach/Researchgooglevideoyoutube
    Week 4 (Sat Nov 17)
    Host a Hangout On Air (Sat Nov 17)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Nov 17)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Nov 17)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Nov 17)Codegooglevideoyoutube
    Present a Dependency (Sat Nov 17)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Nov 17)Outreach/Researchgooglevideoyoutube
    Week 5 (Sat Nov 24)
    Host a Hangout On Air (Sat Nov 24)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Nov 24)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Nov 24)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Nov 24)Codegooglevideoyoutube
    Present a Dependency (Sat Nov 24)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Nov 24)Outreach/Researchgooglevideoyoutube
    Week 6 (Sat Dec 01)
    Host a Hangout On Air (Sat Dec 01)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Dec 01)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Dec 01)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Dec 01)Codegooglevideoyoutube
    Present a Dependency (Sat Dec 01)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Dec 01)Outreach/Researchgooglevideoyoutube
    Week 7 (Sat Dec 08)
    Host a Hangout On Air (Sat Dec 08)Outreach/Researchgooglevideoyoutube
    Present New Feature (Sat Dec 08)Documentation/Traininggooglevideoyoutube
    Present a Howto (Sat Dec 08)Documentation/Traininggooglevideoyoutube
    Present a Bug (Sat Dec 08)Codegooglevideoyoutube
    Present a Dependency (Sat Dec 08)Documentation/Traininggooglevideoyoutube
    Interview Guest (Sat Dec 08)Outreach/Researchgooglevideoyoutube

    HGBot

    This Python bot helps manage our Mercurial repositories and is connected to Freenode IRC as _hg announcing changesets.

    TitleTypesTags
    Check Access LevelsCodemercurialpython
    Check Binary FilesCodemercurialpython
    Check BoilerplateCode,Quality Assurancemercurialpython
    Check Branch HeadsCode,Quality Assurancemercurialpython
    Check Parent ChangesetCode,Quality Assurancemercurialpython
    Check TagsCode,Quality Assurancemercurialpython
    IRC Access CommandCode,Outreach/Researchircpython
    IRC Access DecoratorCode,Quality Assuranceircpython
    IRC AliasesCode,Outreach/Researchircpython
    IRC Flood ControlCodeircpython
    IRC Reject MessagesCodeircpython
    IRC Repo AddCodeircpython
    IRC Repo ConfigCodeircpython
    IRC Repo VerboseCodeircpython
    IRC Repo MetadataCodeircpython
    IRC SQL Injection FilterCodeircpython

    Icons

    Fancy yourself a graphic designer? Try your hand at these icons for our projects.

    TitleTypesTags
    AudioUser Interfaceart
    BatteryUser Interfaceart
    BluetoothUser Interfaceart
    DrumpadUser Interfaceart
    EthernetUser Interfaceart
    GamepadUser Interfaceart
    GuitarUser Interfaceart
    HID Icon Set 1Quality Assurance,User Interfaceartxml
    HID Icon Set 2Quality Assurance,User Interfaceartxml
    HID Icon Set 3Quality Assurance,User Interfaceartxml
    KeyboardUser Interfaceart
    MouseUser Interfaceart
    PianoUser Interfaceart
    PS MoveUser Interfaceart
    USBUser Interfaceart
    WebcamUser Interfaceart
    WifiUser Interfaceart
    WiimoteUser Interfaceart

    LightMelody

    Our XMPP + Audio/Video chat library written in Genie.

    TitleTypesTags
    SASL ANONYMOUS MechanismCode,Quality Assurancegeniexmpp
    SASL EXTERNAL MechanismCode,Quality Assurancegeniexmpp
    SASL OAUTH2 MechanismCode,Quality Assurancegeniexmpp
    Server Certificate CheckCode,Quality Assurancegeniexmpp

    OpenGL

    Tasks for improving our rendering on every platform.

    TitleTypesTags
    Intro to OpenGL: Radiation HazardCode,User InterfaceBeginnercopengl
    Intro to OpenGL: Spruce TreeCode,User InterfaceBeginnercopengl
    Intro to OpenGL: Blue StarCode,User InterfaceBeginnercopengl
    Intro to OpenGL: ForwardCode,User InterfaceBeginnercopengl
    Intro to OpenGL: StripCode,User InterfaceBeginnercopengl
    Intro to OpenGL: Fire FlowerCode,User InterfaceBeginnercopengl
    Intro to OpenGL: SailboatCode,User InterfaceBeginnercopengl
    Intro to OpenGL: WavesCode,User InterfaceBeginnercopengl
    Intro to OpenGL: SaplingCode,User InterfaceBeginnercopengl
    Intro to OpenGL: Hot DecoCode,User InterfaceBeginnercopengl
    Joint Visual: HingeCode,User Interfacecgenieopenglpysoypython
    Joint Visual: SliderCode,User Interfacecgenieopenglpysoypython
    Joint Visual: UniversalCode,User Interfacecgenieopenglpysoypython
    Portal RenderingCode,User Interfacegenieopenglpysoy
    Silence EGL WarningsCode,Quality Assuranceopenglpysoypython
    Fix tangents for CylinderCode,Quality Assurancegenieopenglpysoy
    Fix tangents for FixedCode,Quality Assurancegenieopenglpysoy
    Fix tangents for SliderCode,Quality Assurancegenieopenglpysoy
    Fix tangents for LandscapeCode,Quality Assurancegenieopenglpysoy
    Fix tangents for PlanarCode,Quality Assurancegenieopenglpysoy
    Fix tangents for RoomCode,Quality Assurancegenieopenglpysoy

    Playerd

    Cross-platform game controller management system.

    TitleTypesTags
    Bluetooth Pairing on LinuxCode,User Interfaceclinux
    OSX ServiceCodecosxwaf
    Systemd IntegrationCodeclinux
    Wiimote Calculate DistanceCodecwiimote
    Wiimote Classic ControllerCodecwiimote
    Wiimote Motion+ ExtensionCodecwiimote
    Wiimote NunchukCodecwiimote
    Wiimote Power ButtonCodecwiimote

    PySoy Core

    Our flagship game engine for writing games in Python.

    TitleTypesTags
    Intro to Linux DevelopmentDocumentation/Training,Outreach/ResearchBeginnerlinuxpysoy
    Change Gee.Map.remove to Gee.Map.unsetCode,Quality Assurancegeniepysoy
    Console WidgetCode,User Interfacegenieopenglpysoy
    Fix glShaderSourceCode,Quality Assurancegenieopenglpysoy
    Fix Variables Declared But Not UsedCode,Quality Assurancegeniepysoy
    Portal PhysicsCodegeniepysoypython
    Unittest soy.Client.windowQuality Assuranceclinuxpysoypython
    WebRTC JS ExampleCode,Outreach/Researchhtml5javascriptpysoy
    World SteppingCode,Quality Assurancegeniepysoy
    Write XEP Draft for SGK CatalogsDocumentation/Training,Outreach/Researchpysoyxmpp

    RaspberryPi

    Port and polish our software for these tiny $35 computers.

    TitleTypesTags
    Intro to Raspberry PiDocumentation/Training,Outreach/ResearchBeginnerlinuxpysoyraspberrypi
    Broadcom BugCode,Outreach/Research,Quality Assurancegenielinuxpysoyraspberrypi
    Die Cut Cardboard Case 1Outreach/Researchraspberrypi
    Die Cut Cardboard Case 2Outreach/Researchraspberrypi
    Die Cut Cardboard Case 3Outreach/Researchraspberrypi
    Error LoggingCode,Quality Assurancegenielinuxopenglpysoyraspberrypi
    soy.materials.ColoredCode,Quality Assurancegenielinuxopenglpysoyraspberrypi
    soy.materials.TexturedCode,Quality Assurancegenielinuxopenglpysoyraspberrypi
    Tests for EGLCode,Quality Assurancegenielinuxopenglpysoyraspberrypi
    Tests for VideoCoreCode,Quality Assurancegenielinuxopenglpysoyraspberrypi
    Tune OpenGLCode,Outreach/Researchgenielinuxopenglpysoyraspberrypi
    Video Output DetectionCode,User Interfacegenielinuxpysoyraspberrypi
    Wayland SupportCode,User Interfacegenielinuxpysoyraspberrypiwayland

    Waf

    Most of our projects use the Waf build system, help improve it.

    TitleTypesTags
    Blender Addon ToolCode,Quality Assuranceblenderpythonwaf
    Waf GLSL ToolCodepythonwaf
    Waf Orc ToolCodeorcpythonwaf
    Generic script signing utilityCodepythonwaf
    Executable wscript filesCodepythonwaf
    Fast preprocessor extension 1Codec++pythonwaf
    Fast preprocessor extension 2Codec++pythonwaf
    Fast preprocessor extension 3Codec++pythonwaf
    Fast serialization extensionCodelinuxpythonwaf

    Windows

    (coming soon)

    XMPP

    Help with the eXtensible Message and Presence Protocol.

    TitleTypesTags
    Proofread XEP 0084: User AvatarDocumentation/Trainingxmlxmpp
    Proofread XEP 0107: User MoodDocumentation/Trainingxmlxmpp
    Proofread XEP 0108: User ActivityDocumentation/Trainingxmlxmpp
    Proofread XEP 0118: User TuneDocumentation/Trainingxmlxmpp
    Proofread XEP 0144: Roster Item ExchangeDocumentation/Trainingxmlxmpp