Howdy,

I gave some feedback on IRC, but I will explain it more thoroughly here, so that
other prospective GSoC students can gain from the knowledge.

1) You broke things down into weeks, which is great, and exactly what I want to
see (hint hint other GSoC students). It would be clearer if you could list the
actual days each period relates to, that would help minimize confusion, since
various cultures have different definitions of when a week start and ends.

2) You didn't list the bonding period in your timeline. You should :) This
is invaluable time for students to get to know their community, and make
sure nothing is going to stop them from coding up a storm. Students
should work with mentors to make sure that any tools that will be used,
such as version control, editors and IDEs, compilers, libraries, etc
are familiar and won't present a blockade to completing their project.

3) I would like to see a specific list of which functions will be in your
initial implementation. My definition of "initial implementation" is the set of
functions which are required to implement a port of Math::Primality to Parrot.
The reason I select this as an initial implementation, is because this is a
wide enough foundation for things to be built on top of it, while still
allowing the rest of the GMP API to be filled out in parallel. If
Math::Primality can be implemented, than most cryptography and number theory
algorithms are implementable, which will be a very exciting time for the Parrot
community.


4) After a good list of deliverables and a specific timeline is specified for
the initial implementation (let's call it I1), you should have a definition
of I2, which should be the rest of the BigInt GMP functions which are not
required for I1. Some of these, while not required, may provide substantial
speed improvements than more general functions, so while they may not be
required, they very likely will still be essential for optimization.

You timeline for I2 can be more vague, because you will only hack on I2 if
I1 is complete. Your timeline should reflect I1 tasks for now. As we get
closer to the bonding and coding periods, timelines should be updated
to reflect reality.

5) How will you measure code coverage?

6) How will you ensure each function implemented has documentation?

I hope this helps you build a rock solid GSoC proposal, as well as being
a model for what I would like to see from other GSoC students who are
currently hiding in the wings (I see you!).

Duke


On Mon, Mar 28, 2011 at 8:51 AM, Bob Kuo <[email protected]> wrote:
> On Fri, Mar 25, 2011 at 2:36 PM, Jonathan "Duke" Leto <[email protected]> 
> wrote:
>> Howdy,
>>
>> I think you are well-suited for this proposal Bob, but I want to see
>> a very detailed plan. I am holding you to a higher bar, since you
>> have been through GSoC before :)
>>
>
> https://gist.github.com/890669 is a more detailed plan.  Please feel
> free to comment on it.  I plan on covering only the integer related
> functions and am aiming for 100% test coverage.  Docs include inline
> POD, comments and, if there is time, a tutorial to accompany an
> example or two.  I'll provide some basic examples of HLLs using GMP
> and am open to suggestions of which HLL people would like to see.
>
> If I finish ahead of time, there are plenty of avenues to continue
> work - rational and float functions in GMP, tutorials or more advanced
> examples, porting other advanced math libraries, and even libraries
> for HLLs.
>
> Give it a look over and let me know what y'all think
>
> Thanks,
>
> Bob
>



-- 
Jonathan "Duke" Leto
[email protected]
http://leto.net
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to