[[TOC]] = Grace Hopper Celebration = The Codeathon at GHC2010 is intended to introduce participants to rapid development of FOSS applications in a collective coding setting. We expect participants with any level of familiarity with coding and with the specific tools used in Sahana Eden, so want to provide a range of options for projects. We also want to send out material that participants can review in advance, as there will be little time for training during the codeathon. Facilitators can receive more direct training and practice in advance. * Atlanta Thursday 30th September * [http://gracehopper.org/2010/conference/open-source-track/#session6 GHC website] == Agenda for August 25 == * Pre-Codeathon Training for Facilitators * Day of - Facilitator Logistics * Pre-codeathon outreach * Codeathon Project === Tasks from 8/25 meeting === * Launchpad cookbook (Jen, Pat) * Python training wiki (Jen, Pat, Avni) * Eden training wiki (Pat, Avni, Fran) <- printable Slides with Notes ok? * Downloadable vdi (Pat, Fran): InstallationGuidelinesVirtualMachine * Flash drives for vdi distribution * Materials for facilitators (Avni) * Remote participation / IRC info (Jen) * Codeathon participant mailing list * IRC channel for participants * #sahana-meeting on freenode is a logged channel -- we can "reserve" it. * Or could set up a logged GHC2010-specific channel. * Participant experience survey (Avni, Jen) * Identify bugs and cleanup items appropriate for beginners (Fran, Pat) * Test install before facilitator training (Jen, Avni) * Project descriptions (9/1) * Bug fixing, polishing, feature adding (Pat) * Mattri (Louiqa) * Tweak the tweet (Louiqa) == Pre-Codeathon Training for Facilitators - Content and Logistics == * Meeting schedule: * 9/8 * 9/22 * Wed before codeathon * Python intro * Eden / Web2py intro * Facilitating at a barcamp * Teamwork, human factors * Simplified agile (incremental development, short cycles, partner programming,...) * Watching out for people getting "left behind", frustrated == Pre-Codeathon Preparation for Participants == * Python intro * Eden / Web2py intro * Download / install Dev environment * Documents, flash drives, vdi? * What to expect at a barcamp, !CrisisCamp, etc. * Remote participation in FOSS development * Survey participants software development experience * Advance signup for projects, tables * Use Eden vol for this?? ;-) == Codeathon Agenda == === Lecture === * Overview of Sahana (10 minutes) (Louiqa) * Could describe Haiti or Pakistan deployment http://eden.sahanafoundation.org/wiki/Pakistan * Introduction of code and frameworks and libraries for Eden (20 minutes) (Fran) * with printed guides * Walk through of fixing a bug and committing it (10 minutes?) (Pat?) === Work === * Projects (60 minutes) === In advance or at the table === * Download/install * [InstallationGuidelinesVirtualMachine Virtual Machine] & Virtual box from Flash Drive * Sahana documentation * Version Control (!LaunchPad) * http://www.slideshare.net/AidIQ/sahana-sharing-your-work-with-others * One branch per participant (or pair - need to accept that some machines may not be got working & best to give up the fight if so) http://eden.sahanafoundation.org/wiki/DeveloperGuidelines == Codeathon Projects == ''(I'm not convinced that the distinction for tasks should be between Python coders and non-Python coders. Perhaps between people familiar with web services and not? --Pat)'' ''Fran thinks that the distinction is between Advanced Programmers & Basic ones - everyone can learn'' ''Improving and polishing useful modules is more valuable than developing small standalone modules. Emphasize that these will be of actual use.'' === Types of projects for non-coders === * Use testing * Reporting bugs * Bug fixing * Entering data on live Pakistan site * Researching info for Pakistan site === Types of projects for non-Python (or non-web services) coders === * Bug fixing * Polishing existing modules (very useful!) * Fixing UI issues * Adding features * Documenting workflow, writing help info, tooltips * Small-scale projects * Projects that don't require lots of reading of S3 docs ;-) === Types of projects for Python (or web services) coders === * Entire module, but something that will actually be used * Something needed for Pakistan (depends on what's left to do) === Project descriptions === * Bug fixing, polishing, adding features * Fran suggests (paraphrased slightly): The participants... * Pick a module (provide list of suggested modules that need work). * Run through the user processes, doing data entry, usability testing, user documentation improvements & ticket logging along the way. * Start looking at how they can fix some of the simpler items that they've identified. * Tweak the Tweet (or SMS) parsing * Parse formatted SMS messages or tweets (e.g. key value pairs) * Detect when message interpretation isn't certain and dispatch to a human reader (use Job Jar) * Create database records from parsed messages * BluePrintMessagingModule#Twitter * BluePrintMessagingModule#Micro-Syntax * Extend Sahana to support Maitri - a nonprofit organization based in the San Francisco Bay Area, that primarily helps women & families from South Asia facing domestic violence, emotional abuse, cultural alienation, human trafficking or family conflict. * ''Fran: This could be very useful, especially with user stories.'' * A map could easily be added, if we have a use case * http://www.maitri.org * Job Jar * UI for assigning data entry or similar tasks to users * Track who does what, mark completed * Admin UI for defining tasks * Cross-check / verify task, or compare result of 2 users on same task * Suggestion Box * http://groups.google.com/group/sahana-eden/browse_thread/thread/bbda1e98b73e1437