GSoC application (unfinished)

Matt Mackall mpm at selenic.com
Thu Apr 7 10:36:18 CDT 2011


On Thu, 2011-04-07 at 00:46 +0300, Idan K wrote:

> Tentative (rough) schedule:
> ------------------------------------
> April 26th - May 22rd:
>  - Familiarize myself with Mercurials command-line interface.
>  - Discuss with my mentor and the community to set up some goals for how the
> finished project should look like.
> 
> May 23rd - July 10th
>  - Finish the design after community comments and write it in a wiki page.
>  - Code the command server.
>  - Do necessary Mercurial internal modifications to support performance
> improvements.
> 
> July 11th - July 15th
>  - Mid-term evaluations. Continue coding.
> 
> July 16th - August 15th
>  - Finish last tasks in the command server.
>  - Write simple client.
>  - Write test cases.
>  - Integrate the command server with the existing test suite.
> 
> August 30th
>  - Project ends. Submit code to Google.

For the benefit of folks not on IRC, 

I'd like to see a focus on getting working code running and merged. 

This is where most GSoC students (and indeed most engineers) fail. They
plan to do all their design up-front, followed by all their
implementation, followed by integration. And quite frequently one of the
following happens:

1) They overdesign, and never finish the implementation. Since they're
not regularly integrating, no one knows they're falling behind.

2) They underdesign, and by integration time, it's too late to fix the
problems.

Instead, you should try to

a) get something working
b) integrate the parts you think you got right
c) improve it, incorporating feedback from step b
d) go back to b until you're done and everything is merged

So I'd really like everyone to focus on a) getting a proof of concept
working and b) getting some part of it merged as early in the schedule
as possible. Well before the midterm, ideally.

-- 
Mathematics is the supreme nostalgia of our time.




More information about the Mercurial-devel mailing list