GSoC/Guide

General expectations

There are three basic expectations we have for our students

  1. Time and effort: we’d like you to treat this as a full-time job, the expectation being 40 hours a week. We also ask that you do not exceed this, no matter how much fun you’re having. Inadequate rest is as harmful as inadequate effort.

  2. Communication: you should see communication as being as important as the technical work. Concretely, this means:

    • documenting your work (both comments and API docs where appropriate, and high-level developer documentation)
    • the weekly blog for darcs users/fans (this helps future students understand what working in GSoC is like)
    • weekly meetings with your mentors
  3. Autonomy: our current approach to mentoring leans on projects being student-directed and mentor-assisted. You have to take ownership of the work and run with it the best you can. We can provide some support and help you to think about your goals, but overall you will be challenged to take as much responsibility for the project as you can.

Hacking

You’ll be working like any other Darcs developer: write some patches, send and them to the tracker via darcs send.

Hacking tips

  • Check out the Developer’s Getting Started guide on this wiki. It could make your patch submissions go smoother.

Meetings

Depending on the mentor, we may ask you to have regular meetings with us on the IRC channel. One model (perhaps not the only one) that we’ve been trying is one where the mentor acts as a sort of facilitator: Every week, the mentor would talk to you and see how you’re doing and if there’s anything you need help with. The mentor also helps you to form your own concrete, achievable goals for the week and to track them. Now, not every mentor may go for this working style, but in case you find one that works this way (Eric), you may want to be aware of it :-) These sorts of meetings are mainly aimed at helping you, particularly to get a concrete sense for how long things take in practice.

Meeting tips

  • Did you know that you can access the wiki with Darcs, not just the web interface?

    darcs get --lazy http://wiki.darcs.net

    It could be useful to updating meeting notes and what not.

Blogging

We’ll be asking that you write a short blog post every week to let us know what you’ve been working on.

Blogging is an extremely useful tool for thinking about your work. It also lets us know that you’re still alive, keeps the community in touch, lets your mentors get up to speed faster and subtly advertises Darcs hacking as excellent way to spend your summer :-)

Blogging tips

  • If you find yourself getting stuck, try this template

    1. brief reminder of your project (could be half a sentence)
    2. what you worked on this week (maybe bullet points)
    3. elaboration on what you did this week (one paragraph per bullet point)
    4. problems/difficulties you encountered
    5. what you plan to work on next week.
  • when you find out your application has been accepted, please contact the administrators of http://planet.haskell.org and http://planet.darcs.net so that they can add your feed
  • if do not already have a blog, you may want to think of registering it as a general hacking blog for your personal use after GSoC is up. You might end up liking to blog after all! Just make sure to use some sort of Darcs tag on your posts.