{"thread":{"id":"40350","subject":"Developing- Where to Start","startedAt":"2015-09-14T20:42:31Z","lastAt":"2015-09-15T08:31:33Z","messageCount":4,"participants":["Breanna Devore-McDonald","Christian Couder","Stefan Beller","Matthieu Moy"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"269960","messageId":"CAMTS3bMxb1ak4YHTEU7FYoLVnkmV=4NehQ+obCSp9gV6gFBx_Q@mail.gmail.com","threadId":"40350","inReplyTo":null,"subject":"Developing- Where to Start","fromName":"Breanna Devore-McDonald","fromEmail":"breanna.s.devore-mcdonald.1@nd.edu","sentAt":"2015-09-14T20:42:31Z","receivedAt":"2015-09-14T20:42:31Z","isPatch":false,"sender":{"key":"breanna.s.devore-mcdonald.1@nd.edu","avatar":null},"body":"Hello all,\n\nI'm a third year Computer Science student at the University of Notre\nDame, and for the final project of my Data Structures class, my group\nand I have to find a way to contribute our (hopefully) newly-found\ndata structures and optimization knowledge to a well-known open source\nproject. We thought Git would be a great project to work on, but we\nhave no idea where to start. Can anyone offer ideas or parts of the\ncode that we could possibly help with? (a problem that is data\nstructures-related would be extremely helpful!)\n\nMany thanks,\nBreanna Devore-McDonald\n"},{"id":"269961","messageId":"CAP8UFD1NSAKsJDrav6dBF=92Ba9KY-MVtEydQPqfpSNrReSArw@mail.gmail.com","threadId":"40350","inReplyTo":"CAMTS3bMxb1ak4YHTEU7FYoLVnkmV=4NehQ+obCSp9gV6gFBx_Q@mail.gmail.com","subject":"Re: Developing- Where to Start","fromName":"Christian Couder","fromEmail":"christian.couder@gmail.com","sentAt":"2015-09-14T21:30:57Z","receivedAt":"2015-09-14T21:30:57Z","isPatch":false,"sender":{"key":"christian.couder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/208954?v=4"},"body":"Hi,\n\nOn Mon, Sep 14, 2015 at 10:42 PM, Breanna Devore-McDonald\n<Breanna.S.Devore-McDonald.1@nd.edu> wrote:\n> Hello all,\n>\n> I'm a third year Computer Science student at the University of Notre\n> Dame, and for the final project of my Data Structures class, my group\n> and I have to find a way to contribute our (hopefully) newly-found\n> data structures and optimization knowledge to a well-known open source\n> project. We thought Git would be a great project to work on, but we\n> have no idea where to start. Can anyone offer ideas or parts of the\n> code that we could possibly help with? (a problem that is data\n> structures-related would be extremely helpful!)\n\nThe Git project often participate in the Google Summer of Code.\n\nThis year we used the following resources to help potential GSoC\nstudents get involved in developing Git and find a project to work on:\n\nhttp://git.github.io/SoC-2015-Microprojects.html\nhttp://git.github.io/SoC-2015-Ideas.html\n\nA GSoC wrap up has been written recently in Git Rev News edition 7:\n\nhttp://git.github.io/rev_news/2015/09/09/edition-7/\n\nEarlier this year students from Ensimag (Grenoble, France) also\ncontributed to Git and a small wrap up is available in Git Rev News\nedition 5:\n\nhttp://git.github.io/rev_news/2015/07/08/edition-5/\n\nI hope this will help you get started in your Git development journey.\n\nBest,\nChristian.\n"},{"id":"269965","messageId":"CAGZ79kbiFvm-C3MdED5Jja3b_S+WY1CR3iNQJ7MYcKjnZG4Nxg@mail.gmail.com","threadId":"40350","inReplyTo":"CAP8UFD1NSAKsJDrav6dBF=92Ba9KY-MVtEydQPqfpSNrReSArw@mail.gmail.com","subject":"Re: Developing- Where to Start","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2015-09-14T22:15:59Z","receivedAt":"2015-09-14T22:15:59Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Mon, Sep 14, 2015 at 2:30 PM, Christian Couder\n<christian.couder@gmail.com> wrote:\n> Hi,\n>\n> On Mon, Sep 14, 2015 at 10:42 PM, Breanna Devore-McDonald\n> <Breanna.S.Devore-McDonald.1@nd.edu> wrote:\n>> Hello all,\n>>\n>> I'm a third year Computer Science student at the University of Notre\n>> Dame, and for the final project of my Data Structures class, my group\n>> and I have to find a way to contribute our (hopefully) newly-found\n>> data structures and optimization knowledge to a well-known open source\n>> project. We thought Git would be a great project to work on, but we\n>> have no idea where to start. Can anyone offer ideas or parts of the\n>> code that we could possibly help with? (a problem that is data\n>> structures-related would be extremely helpful!)\n\nOne problem focused around data structures may be rewriting\nthe git bisect internal algorithm. Currently git bisect uses an O(n^2),\nbut there are better algorithms available such as [1]\n\n[1] https://docs.google.com/document/d/1hzF8fZbsQtKwUPH60dsEwVZM2wmESFq713SeAsg_hkc/edit?usp=sharing\n  The algorithm presented in that doc came up in a discussion\n  between some Git developers, I just wrote it down. Maybe it's\n  understandable.\n\nThat said, usually the tests in git bisect take the most time,\nso it is an internal optimization related to data structures, whose\nimpact is estimated to matter only a bit.\nAlso I would estimate the project to rewrite git bisect to be quite a\nlot of effort.\n\n>\n> The Git project often participate in the Google Summer of Code.\n>\n> This year we used the following resources to help potential GSoC\n> students get involved in developing Git and find a project to work on:\n>\n> http://git.github.io/SoC-2015-Microprojects.html\n> http://git.github.io/SoC-2015-Ideas.html\n\nYeah the microprojects are awesome to get into Git development!\nAlso look at http://git-blame.blogspot.com/p/leftover-bits.html\nfor smaller projects.\n\n>\n> A GSoC wrap up has been written recently in Git Rev News edition 7:\n>\n> http://git.github.io/rev_news/2015/09/09/edition-7/\n>\n> Earlier this year students from Ensimag (Grenoble, France) also\n> contributed to Git and a small wrap up is available in Git Rev News\n> edition 5:\n>\n> http://git.github.io/rev_news/2015/07/08/edition-5/\n>\n> I hope this will help you get started in your Git development journey.\n>\n> Best,\n> Christian.\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n"},{"id":"269992","messageId":"vpqbnd4dqxm.fsf@anie.imag.fr","threadId":"40350","inReplyTo":"CAMTS3bMxb1ak4YHTEU7FYoLVnkmV=4NehQ+obCSp9gV6gFBx_Q@mail.gmail.com","subject":"Re: Developing- Where to Start","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2015-09-15T08:31:33Z","receivedAt":"2015-09-15T08:31:33Z","isPatch":false,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Breanna Devore-McDonald <Breanna.S.Devore-McDonald.1@nd.edu> writes:\n\n> Hello all,\n\nHello,\n\n> I'm a third year Computer Science student at the University of Notre\n> Dame, and for the final project of my Data Structures class, my group\n> and I have to find a way to contribute our (hopefully) newly-found\n> data structures and optimization knowledge to a well-known open source\n> project. We thought Git would be a great project to work on, but we\n> have no idea where to start.\n\nI am a teacher and I offer my students a similar project. I maintain a\nlist of small projects as source of inspiration for students:\n\n  https://git.wiki.kernel.org/index.php/SmallProjectsIdeas\n\nSome advices before you get started:\n\n* Start with a very, very small contribution, as soon as possible. The\n  list of microprojects from GSoC is a good place to start, and the\n  easiest projects in the page above can be of interest too.\n\n  This way, you will:\n\n  - Understand how submitting contributions work (if you haven't done\n    so, read https://github.com/git/git/blob/master/Documentation/SubmittingPatches )\n\n  - Get an idea of how productive you are when working with the Git\n    codebase.\n\n* Even for the actual project, don't try something hard. The difficulty\n  here is not to write the first draft, but to get it properly tested,\n  reviewed, to respond to reviewers, and finally get the code accepted\n  into git.git. Unlike traditional school projects, you can't anticipate\n  difficulties (no teacher wrote the correct version for you in\n  advance...), and the quality standard is much higher than what you're\n  probably used to. A rough heuristics: estimate how long you are going\n  to take for your project, multiply by 2 or 3, and you're still getting\n  an underestimation.\n\n  As a comparison, for Google summer of code, a very good student works\n  full-time for 2 months and writes about 2000 to 3000 lines of code.\n\n  BTW, how long is your project? How many students in your group?\n\n* Interact with the mailing-list as much as you can and as early as you\n  can. What you want to avoid is to write a large amount of code and get\n  it reviewed at the end of your project. That would almost certainly\n  result in requests for changes that you wouldn't have time to apply.\n\nOK, that may all be a bit discourraging ;-). But it shouldn't: it's\n_really_ very interesting to contribute to a project like Git.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"}]}