This site is an archive; learn more about 8 years of OpenHatch.

[OH-Dev] Sprint details

Asheesh Laroia asheesh at asheesh.org
Sun Jan 5 09:02:18 UTC 2014


Thanks all for a very successful sprint! Lots of first-time contributors 
making a difference, plus a bunch of familiar faces!

The rest of this email is only interesting if you're curious about the 
"sausage-making" <https://en.wikiquote.org/wiki/Otto_von_Bismarck>.


I made the following notes about how we could have an even more fun and 
successful sprint next time:

- should have brought OH stickers

- should have name tags

- should have a way for people to digitally introduce themselves, such as 
on the pad

- should have notes about how to get on the wifi

- should have more structure for follow-up (opensource-events.com suggests 
things to do pre-event but I didn't understand that properly)

- should have planned for the group photo

I've deployed all code from the sprint! Huge thanks to all who are part of 
that code push: Nate, @nvinnik on GitHub, Meghan, Susan, Jack, Asheesh.

All pull requests submitted during the sprint have been reviewed and 
successfully merged.

We had one remote sprinter: Jack Grigg (pythonian4000) sprinting from 
honestly-I-have-no-idea-where in the USA.

We had two sprinters not visible in the group photo: Becka and Mark.

We had one person in the cafe randomly with an OpenHatch sticker who 
visited us during lunch, Greg.

Sprint photos: one good one of Becka, and one kind of barely OK one of all 
of us who were there at the time: 
https://secure.flickr.com/photos/paulproteus/sets/72157639424118635/

Sprinters in reverse alphabetic order: Susan, Ni, Nate, Meghan, Mark, Jack 
(remote), Britta, Becka, Asheesh.

PSF reimbursement: submitted to them.

Hey everyone!!! You should go to the 1pm Pacific IRC meeting that is on 
Sun Jan 5, if you can. If not, you should try to reply to the email: 
http://lists.openhatch.org/pipermail/devel/2014-January/003363.html

I had a great time at the sprint and would love if another were organized 
in e.g. February.

Oh -- all the people who submitted code, I realize I forgot to ask you to 
go through 
http://openhatch.readthedocs.org/en/latest/getting_started/handling_patches.html#permit-us-to-share-your-work 
. (Susan, is there a chance you can follow up with people Ni and Nate and 
Meghan about this?)

Susan, I notice at opensource-events.com there is a survey we should send 
attendees, labeled "For each task you worked on, please answer". Can I ask 
you to email all the attendees (probably including me) and ask them to 
answer those questions? Perhaps in round 2 of this, we should/could make 
this into a Google Docs form for easy viewing of answers.

I've taken the Etherpad, worked through it and summarized the outcome of 
each task, post-sprint. I've exported that to HTML and TXT and attached 
both. I've taken the liberty of blanking the document at 
https://etherpad.mozilla.org/ohsprint but we can find the data back in the 
history if needed; the old content is "Revision 1" if you click "Saved 
revisions".

One more thing -- we should write a "sprint report" in the style of 
http://pythonsprints.com/2012/12/20/pandas-pydata-workshop-nyc/ or 
http://pythonsprints.com/2011/04/12/pycamp-argentina-follow-/ or 
http://pythonsprints.com/2013/05/5/bostons-cpython-sprint-new-contributors/ 
(kind of intense, we don't have to go that far). Is it possible you would 
be interested in reading the documents I attached here and writing such a 
report? It should be reasonably easily done, like a 20 minute writing 
task. I'd love help writing this, so please consider this a request for 
volunteers.


<sausage-making-making>
My post-sprint todo list:

X email about how the sprint could go better
- actually deploy the changed code
- get licensing sign-offs from attendees
X Upload sprint photo from my camera
X submit psf reimbursement
X declare that all sprint code has been reviewed
- send follow-up emails asking the questions at the end, or ask 
arctansusan to do so
- send personal thank-you to all attendees
X consider what the follow-up meeting might be
  - next sprint?
  - irc planning mtg (let's go with that)

</sausage-making-making>

-- Asheesh.
-------------- next part --------------
OpenHatch sprint, 2014-01-04

Goal 1: Reviewing pull requests that fix existing issues, and giving people feedback, or merging them

Note that only someone with "committer" access to the corresponding GitHub repository can technically do a merge. But anyone can do a review. If you are not a committer (you'll know you aren't one if "merge pull request" doesn't appear as a button on the pull request), then just ask someone who is (e.g., Asheesh, Karen Rustad) to click the button.

Some pull requests also have entries in https://openhatch.org/bugs/ -- you'll typically see a string like issue899 mentioned in the pull request if so. If there is such a bug, mark it as resolved once the pull request is merged.

To use download a pull request's contents to your computer, see http://stackoverflow.com/questions/8891339/github-how-to-add-open-pull-requests-to-local-repo

   Task 1.1: Review https://github.com/openhatch/oh-mainline/pull/177
      
   * Skills/tools needed: Ability to be decisive about English text
   * Estimated time: 5 minutes
   * Getting started: Visit the pull request, and comment +1 or -1; if -1, explain what you think should change
   * Notes: See above re: committer, for next step after you leave such a comment.
   * Who's working on this?  marktraceur
   * Status: Reviewed
   * Outcome: I've suggested a different tack with the wording, because I thought the proposed version was a bit awkward. -1
   * Outcome (by end of sprint): Revised by arctansusan & pushed by Asheesh!

   Task 1.2: Review https://github.com/openhatch/oh-mainline/pull/178
   
   * Skills/tools needed: Ability to be decisive about user interface/experience questions; working dev environment locally
   * Estimated time: 15 minutes
   * Getting started: Visit the pull request, and test it locally (this might require setting up email? I am not sure), and see if you are OK with the site sending this text out (or if you can't set up email, you can ask the submitter what the email text is)
   * Notes: Probably best if Karen or Asheesh work on this
   * Who's working on this?  <write your name here>
   * Outcome: No movement at sprint

   Task 1.3: Review https://github.com/openhatch/oh-mainline/pull/176
   
   * Skills/tools needed: CSS and HTML and ability to be decisive about user interface
   * Estimated time: 5 min
   * Getting started: Visit the pull request, then test it locally, and see if you like enough to mark it "+1"
   * Notes: Open to anyone
   * Who's working on this?  marktraceur
   * Status: Reviewed
   * Outcome: arctansusan should fix the commit summary (which currently refers to the wrong issue), but otherwise the commit is solid. +0.5
   * Outcome (by end of sprint): Revised by arctansusan, then pushed by Asheesh!

   Task 1.4: Review https://github.com/openhatch/oh-mainline/pull/175
   
   * Skills/tools needed: Willingness to read Heroku docs, an ability to be decisive about English text
   * Estimated time: 5 min
   * Getting started: Visit the pull request, then find out if he is correct about the Heroku name change, and then make sure it is coherently explained in the doc
   * Notes: This PR should be superceded by this one. https://github.com/openhatch/oh-mainline/pull/184
   * Who's working on this?  natea
   * Outcome (by end of sprint): Nate Aune wrote a pull request that supercedes pull/175 including documentation fixes like 175, but also code fixes to make the app's migrations run properly on Postgresql, which is the database engine on Heroku. Asheesh merged that and added some commits on top to fix small formatting issues. Asheesh explained this on the original pull request, and closed it.


   Task 1.5: Review https://github.com/openhatch/oh-mainline/pull/172
   
   * Skills/tools needed: Python & Django programming; a working dev environment of oh-mainline
   * Estimated time: 15 minutes
   * Getting started: Visit pull request, then find out if you can reproduce the bug, then apply it and see if it fixes the bug. Feel free to give code quality feedback; feel free to also add commits on top that improve code quality.
   * Notes: Open to anyone
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement at the moment

   Task 1.6: Review https://github.com/openhatch/oh-mainline/pull/170 
   
   * Skills/tools needed: CSS/HTML, plus a working dev environment
   * Estimated time: 10 minutes
   * Getting started: Visit pull request, test it locally, leave comment or merge it
   * Notes: Open to anyone
   * Who's working on this? Becka
   * Outcome (by end of sprint): Becka may or may not continue to look at this, not sure

   Task 1.7: Review the two pull requests about files being missing, https://github.com/openhatch/oh-mainline/pull/171 & https://github.com/openhatch/oh-mainline/pull/169
   
   * Skills/tools needed: Some git knowledge, plus working dev environment
   * Estimated time: 15 minutes
   * Getting started: 
   * Notes: Be sure to be very communicative with these enthusiastic new contributors! open to anyone
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

   Task 1.8: Improve the HTML-only pull request at https://github.com/openhatch/oh-mainline/pull/168
   
   * Skills/tools needed: git, plus HTML, plus working dev instance of oh-mainline
   * Estimated time: 15 minutes
   * Getting started: Visit the pull request; see if you are happy with the changes there; improve them locally, and then submit a pull request including your changes and the eones on 168 and once yours gets merged, leave a comment on 168 that it got merged
   * Notes: open to anyone
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement


   Task 1.9: Review https://github.com/openhatch/oh-mainline/pull/138
   
   * Skills/tools needed: Javascript, plus willingness to be clear-thinking and communicative and decisive about design
   * Estimated time: 30 min
   * Getting started: Visit the pull request, and see if you like the new design, and see if you agree that the new design improves things corresponding to the issue linked. You are very encouraged to comment on this, at length.
   * Notes: There seem to be two commits in here. Is one of them already merged-in? I am not sure. It is kind of odd-looking. If possible, submit a fresh pull request containing just the commit that should be merged
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement


   Task 1.10: Review https://github.com/openhatch/oh-mainline/pull/137
   
   * Skills/tools needed: Python and Django and git and sizeable experience or learning-interest in the oh-mainline codebase
   * Estimated time: 2 hours
   * Getting started: Visit the pull request and merge it locally, despite some serious file reformatting stuff that has happened
   * Notes: This will be seriously advanced. People are welcome to do it, but the merge & review will take at least as long as the pull request. So perhaps best for Asheesh, but if someone else wants to dive into this you are extremely invited to do so.
   * Who's working on this?  pythonian4000
   * Status: Reviewed
   * Outcome: There are several different code areas that this pull request touched on, that need further consideration. The updated merge has a new pull request: https://github.com/openhatch/oh-mainline/pull/185
   * Outcome (by end of sprint): Asheesh reviewed & merged pythonian4000's version of this pull request, and pinged the original submitter in the comments on the new pull request, so hopefully she will see that

Goal 2: Fix technical issues that are obstacles for new contributors

   Task 2.1: Fix tests that fail on MySQL
   
   * Skills/tools needed: Willingness to use or learn about Python debugger, probably; working oh-mainline development environment; MySQL installed locally
   * Estimated time: 3-4 hours
   * Getting started: Visit http://openhatch.org/bugs/issue889 and make sure you understand the current state of this
   * Notes: Asheesh can provide guidance on this. This is important because one of our automated testing systems (Travis-CI) annotates pull requests with their pass/fail, and right now all fail, so new contributors wonder if they submitted bad code. It's fine if you can't make all of the tests pass against MySQL; submitting a pull request that fixes one or two is a success already.
     * Recommended steps:
       * (1) Find one test that works under sqlite but fails under MySQL
       * (2) Make sure it's one of the TwillTests style tests
       * (3) See if using https://pypi.python.org/pypi/django-webtest would make that one test pass -- probably you'll need to use 
       * (4) If so, then that proves that we could switch those tests to django-webstes
   * Who's working on this?  Asheesh -- notes to self: http://paste.debian.net/74280/ with TransactionTestCase; with TestCase http://paste.debian.net/74281/
   * Outcome (by end of sprint): This is still an issue, though a conversation with sprint visitor Greg Price illuminated some of the issues.  I (Asheesh) wrote a little about this on the issue.

   Task 2.2: Add configuration for AppVeyor to run the test suite on Windows periodically, so that Windows developers can know with more certainty that they can contribute
   
   * Skills/tools needed: Willingness to sign up for AppVeyor account (should be free of cost), and write Windows commands into a text file
   * Estimated time: 1 hour
   * Getting started: Learn more about AppVeyor: http://www.appveyor.com/ and read the issue at http://openhatch.org/bugs/issue898 -- the idea is to make this part of our github flow somehow, similar to how travis-ci.org is part of that flow. (Feel free to read travis-ci's docs to find out more about that project.)
   * Notes: I think this will be fun, if you like command line things and think Windows is hilarious, like I do. Open to anyone.
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

  Task 2.3: Write some documentation on our CSS
  
   * Skills/tools needed: CSS & less, plus writing English text, plus willingness to ask questions about how things are currently organized and/or "grep" around to find out some of that yourself
   * Estimated time: 1 hour
   * Getting started: Read through http://openhatch.org/bugs/issue890 and see if you agree that this is not documented. Make sure you can "build" the documentation, by reading the docs on the docs -- http://openhatch.readthedocs.org/en/latest/getting_started/documentation.html . Then, find out which CSS & less files we have: e.g. run this command:
     * git ls-files | egrep '(css|less)'
   * Notes:
     * The only *.css and *.less files that belong to OpenHatch itself are in the mysite/ directory.
     * Think about what would be needed if you were to edit one of these files, or otherwise make CSS/less changes, and ask around if you have questions, and then write something in the documentation about this.
     * Then, write something about this in the docs.
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

Goal 3: Read documentation for clarity, and fix if possible

Our documentation is spread between:

* http://openhatch.readthedocs.org/
* http://oh-bugimporters.readthedocs.org/
* https://openhatch.org/wiki/
* https://openhatch.org/

  Task 3.1: Find some developer-oriented documentation and read it for clarity & correctness
  
   * Skills/tools needed: Willingness to be opinionated about readability of writing
   * Estimated time: 30 minutes
   * Getting started: Visit any documentation landing page, and read it, and then see if you find readability or clarity problems. File a bug or just ask someone more experienced than you if they can help you find out how it should be improved. Then improve it! (Submit pull request, or if on the wiki, just edit it.)
   * Notes: This can be done by many different people during the sprint. If you work on this, leave a link to the document you're reviewing so others know.
   * Who's working on this?  (Nate Aune worked on the Heroku docs) <write your name & doc link here>
   * Outcome (by end of sprint): Nate Aune worked on some Heroku docs, per task 1.4. Mark Holmquist suggested some edits to campus.openhatch.org, which can be found here: http://etherpad.wikimedia.org/p/campus-openhatch-org-review and also in issues filed here: https://github.com/openhatch/oh-campus-foss

  Task 3.2: Document the teams within OpenHatch

   * Skills/tools needed: Willingness to find out how the project is structured, then write English text, including being decisive about where to put it. Bonus points if you're willing to peruse the list of OpenHatch mailing lists and figure out by reading them what teams sort of implicitly exist.
   * Estimated time: 30 minutes
   * Getting started: Read https://openhatch.org/bugs/issue911 and peruse list of lists here: http://lists.openhatch.org/mailman/listinfo
   * Notes: Open to anyone. Asheesh 
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

  Task 3.3: Fix user-oriented documentation in ways that have already been requested
  
   * Skills/tools needed: Willingness to try out new parts of the OpenHatch site, and then fix the documentation around it so that 
   * Estimated time: 30 min
   * Getting started: Visit any of these bugs: http://openhatch.org/bugs/issue844 
   * Notes:
   * Who's working on this?  <write your name and bug URL here>
   * Outcome (by end of sprint): Britta began to create a redesign of openhatch.org that clarifies the importance of Open Source Comes to Campus.

Goal 4: Fix high-priority technical issues that are obstacles for users

  Task 4.1: Add support to Roundup bug importer for grabbing bitsesize issues by keyword (needed by the Django project)
   
   * Skills/tools needed: oh-mainline checkout, plus oh-bugimporters checkout, plus willingness to think about web scraping or API consumption, plus willingness to write automated tests
   * Estimated time: 1.5h
   * Getting started: Visit http://openhatch.org/bugs/issue907 and read the http://oh-bugimporters.readthedocs.org/ docs and http://openhatch.readthedocs.org/en/latest/advanced/adding_new_bug_tracker_git.html
   * Notes: This will require changes to both oh-bugimporters and oh-mainline.
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

  
  Task 4.2: In Roundup bug importer, create more smarts for skipping remote bugs that have patches attached (needed by the Python project)
  
   * Skills/tools needed: oh-mainline checkout, plus oh-bugimporters checkout, plus willingness to think about web scraping or API consumption, and willingness to write automated tests
   * Estimated time: 1.5h
   * Getting started: Visit http://openhatch.org/bugs/issue906 and make sure you underestand the bug.
   * Notes: This will require changes to oh-bugimporters and perhaps oh-mainline, too.
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement

  Task 4.3: Fix or remove our /people/ browsing map
  
   * Skills/tools needed: Willingness to think about design, and/or about HTTPS
   * Estimated time: 1 hour
   * Getting started: Visit http://openhatch.org/bugs/issue879 and confirm for yourself that browsing people on /people/, if you access the site over HTTPS, does not seem to do the right thing. Replace this either with a working map, or (probably even better) delete the map code.
   * Notes: Open to anyone.
   * Who's working on this?  Susan Tan
   * Outcome (by end of sprint): Work on this by Susan has begun, and may continue

  Task 4.4: Fix the tar training mission to be more lenient, if that is appropriate, when validating user input

   * Skills/tools needed: Knowledge or willingness to learn about tar; testing (but you can learn); Django & Python
   * Estimated time: 45 minutes
   * Getting started: Visit http://openhatch.org/bugs/issue905 and see if you can reproduce the issue. If so, and you agree with the proposed fix, work on the corresponding code in mysite/missions/tar/* and make sure to submit a test in your pull request
   * Notes: Open to anyone.
   * Who's working on this?  Ni (nickelmu)
   * Outcome (by end of sprint): Ni started this, and might work on it more; not sure.
 
  Task 4.5: Fix an issue where UI elements are not properly cleared by voice input feature on e.g. Android phones
  
   * Skills/tools needed: HTML, plus a way to do voice input (Chrome browser on a laptop? iPhone? Android phone?)
   * Estimated time: 20 minutes
   * Getting started: Visit http://openhatch.org/bugs/issue747 and see if you can reproduce the issue. If so, see if the suggested strategy fixes it.
   * Notes: Open to anyone.
   * Who's working on this?  Meghan
   * Outcome (by end of sprint): This was a massive slog, for Meghan's first pull request, but Asheesh reviewed and merged it happily. You can see the 105 net lines deleted here: https://github.com/openhatch/oh-mainline/pull/183

  Task 4.6: Fix old blog post to not require (broken) Javascript
  
   * Skills/tools needed: Access to the blog, plus willingness to edit old blog posts
   * Estimated time: 10 minutes
   * Getting started: Visit http://openhatch.org/bugs/issue796 and see if you can reproduce the issue; then make the corresponding change
   * Notes: Best if done by someone with blog posting access
   * Who's working on this?  Britta - done!
   * Outcome (by end of sprint): done!

  Task 4.7: See if you can reproduce a user's problems with the diffpatch mission
  
   * Skills/tools needed: Python & Django, git, willingness to learn about diff
   * Estimated time: 30 minutes
   * Getting started: Visit http://openhatch.org/bugs/issue734 and see if you can reproduce the issue. Figure out why the submitter thinks the issue relates to the commit ID they named. See if the issue really relates to the 80 character width problem. Probably it does; then you'll have to change the sample text we use in that training mission, which will require updating the docs.
   * Notes: Open to anyone.
   * Who's working on this:  Ni (nickelmu)
   * Status: issue not reproducible; original report references files no longer in oh-mainline
   * Outcome (by end of sprint): The issue was updated and closed by Ni, indicating that the problem has been fixed some time ago.

Goal 5: Reorganize/modernize our code, so it is shorter and more idiomatic

  Task 5.1: Look for existing Javascript tests, and make a web page that executes them all
  
   * Skills/tools needed: Javascript testing, Python, Django
   * Estimated time: 2.5 hours
   * Getting started: Find all the JS tests by running this on your computer:
     * git ls-files mysite | grep -i test | grep js$
   * Then, make a trivial Django view that just renders a web page that includes all those JS files?? Or something.
     * Note that most won't pass.
   * Notes: This is a stepping stone to improving our JS tests. Here is what I think I know about the current JS tests:
     * They use the "QUnit" framework.
     * You can cause them to execute by visiting some pages and adding ?jstest=1 or something like that to the query string.
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement


  Task 5.2: Look for existing Javascript, and make it more idiomatic somehow... FIXME
  
   * Skills/tools needed: 
   * Estimated time: 
   * Getting started: 
   * Notes:
   * Who's working on this?  <write your name here>
   * Outcome (by end of sprint): No movement



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openhatch.org/pipermail/devel/attachments/20140105/e8c4a733/attachment-0001.html>


More information about the Devel mailing list