GSoC project: questions - Minix

This is a discussion on GSoC project: questions - Minix ; Hi, I am interested in the voting_machine project for GSoC. But I have a few questions, what exactly am i supposed to develop, a modification of the os OR an application only. And in the project are we allowed to ...

+ Reply to Thread
Results 1 to 7 of 7

Thread: GSoC project: questions

  1. GSoC project: questions

    Hi,
    I am interested in the voting_machine project for GSoC.

    But I have a few questions,
    what exactly am i supposed to develop, a modification of the os
    OR an application only.
    And in the project are we allowed to use open source cryptograpy
    libraries or must everything be made from scratch ?

  2. Re: GSoC project: questions

    > I am interested in the voting_machine project for GSoC.
    >
    > But I have a few questions,
    > what exactly am i supposed to develop, a modification of the os
    > OR an application only.
    > And in the project are we allowed to use open source cryptograpy
    > libraries or must everything be made from scratch ?


    The description on http://www.minix3.org/soc/index.html seems to tell
    it all:

    - "stipping MINIX 3 down to its barest essentials" suggests that you'll
    be modifying the operating system as well as creating an application.
    The current release version (3.1.2a) has 480,525 LOC if you count
    everything or 169,805 if you leave out commands and test code, so ISTM
    reducing that to get a total below 50,000 LOC seems to be the bulk of
    the work. (note: i'm counting physical LOC rather than logical LOC;
    the assignment doesn't specify which to use)

    - I don't suppose they'll make you re-implement cryptographic
    protocols,
    but the description suggests that they would be included in the
    50,000
    LOC limit, so you'll probably have to strip those down as well.

    That said, I am not involved in this project, so if you really unsure
    about this you could ask Andy Tanenbaum as he will have the most
    authorative answer.

    --
    With kind regards,
    Erik van der Kouwe

  3. Re: GSoC project: questions

    afterstep13@gmail.com wrote:
    > Hi,
    > I am interested in the voting_machine project for GSoC.


    > But I have a few questions,
    > what exactly am i supposed to develop, a modification of the os
    > OR an application only.


    From the site:

    "What the project entails is (1) stipping MINIX 3 down to its barest
    essentials and (2) writing the application code that implements our
    ideas."

    My guess is that this means "both" (node the word "and" right before
    "(2)"). This is not very surprising seeing how the application will
    dictate what the OS needs to provide: if the voting application needs
    fork() than the OS needs to supply fork(). If the voting application
    operates as a single process which is included in the boot image than you
    can strip the fork() call out of the OS reducing the line count.

    > And in the project are we allowed to use open source cryptograpy
    > libraries or must everything be made from scratch ?


    Good chance is that the final product will be using tamper-proof hardware
    encryption chips. If not, you'll probably have to either re-implement or
    strip down the encryption algorithm desired, although I am no authority on
    this.

    For more information I point to the contact information on
    http://www.minix3.org/soc/index.html

    Regards,

    Jens

    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

  4. Re: GSoC project: questions

    Thanks for the replies

    As given on the info page:
    What the project entails is (1) stipping MINIX 3 down to its barest
    essentials and (2) writing the application code that implements our
    ideas.

    Can you tell a bit more on what "ideas" am i supposed to implement ?

    A 2nd question is, am i eligible to do the project? Will it be too
    difficult for me ?

    I am an undergrad student, I did courses on C and Cryptology. But
    programming is more like a hobby for me.
    So I usually code small programs rather than projects. I done very
    little of actual "OS programming", though
    I went through parts minix source code(in the book) & could understand
    it.

    Though I think I can do this project I would really like some
    advice

    A 3rd question is , when would the mentors be there on IRC ?

    -- afterstep13


  5. Re: GSoC project: questions

    afterstep13@gmail.com wrote:

    > A 2nd question is, am i eligible to do the project? Will it be too
    > difficult for me ?


    > I am an undergrad student, I did courses on C and Cryptology. But
    > programming is more like a hobby for me.
    > So I usually code small programs rather than projects. I done very
    > little of actual "OS programming", though
    > I went through parts minix source code(in the book) & could understand
    > it.


    Hard to tell from your newsposts alone. There's bound to be some 16-year
    old kid out there that could do this project and there's probably a whole
    lot of IT professionals that would utterly fail. What you will need is:

    - experience with C. A bunch of it. Minix is entirely in C (and some
    assembly) and uses some funky preprocessing tricks to even get it to
    compile on an ancient K&R C compiler. Being able to understand what
    happens is important if you need to alter stuuf

    - a solid understanding of Operating Systems design. Goal of the project
    is to strip Minix of all functionality it does not need for this one
    application. Understanding "what does what" is important in deciding which
    parts of the system you do and do not need

    - some experience with Minix itself would be nice. Getting the hang of
    recompiling (part of) the system and knowing your way around the source
    tree is important to making progress


    Hope this helps somewhat.

    Regards,

    Jens


    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

  6. Re: GSoC project: questions

    thanks for the reply.

    However I am still to get the answer to my first question.

    As given on the info page::
    What the project entails is (1) stipping MINIX 3 down to its
    barest
    essentials and (2) writing the application code that implements
    ___our ideas___.

    Can you tell a bit more on what "ideas" am i supposed to implement ?

    That would help a lot in preparing my project proposal.
    Until I know what the "our ideas" are there in the
    application,
    I would have to assume my own ideas, (am I alowed to do so ?)

    I would also request to give an idea of the interface design the
    program would have, if there is any suggested one.
    OR may I assume my own design here ?

    thanks again
    --afterstep13



  7. Re: GSoC project: questions

    afterstep13@gmail.com wrote:

    > Can you tell a bit more on what "ideas" am i supposed to implement ?


    Well, not really. I'm not the one responsible for the project, I just
    happen to know something about it from hearsay. What I know is that some
    people at the VU have already done some theoretical studies on the design
    of a secure and provable voting system, the details of which are unknown
    to me. These are the "ideas" that need to be reflected in the voting
    application.

    > I would also request to give an idea of the interface design the
    > program would have, if there is any suggested one.
    > OR may I assume my own design here ?


    These are the kind of details that you need to ask to someone directly
    involved. Seeing how end users generally like shiny stuff, you'll probably
    have to implement (or take and strip) a minimal graphical library, but I
    would not go overboard on the interface design. Make sure it's functional
    and _that it's programmed well_. The Summer of Code focuses for a good
    part on _code_, so structured programming is important. If you have a
    well-designed backend-to-frontend subsystem, bolting on a more elaborate
    interface should be pretty straightforward (and probably dependant of the
    wishes of the particular customer).

    This is about all I know, if you need to know more I strongly suggest you
    contact Andrew Tanenbaum for more info.

    Regards,

    Jens

    --
    Jens de Smit
    Student Computer Science | Vrije Universiteit Amsterdam
    jfdsmit@few.vu.nl | http://www.few.vu.nl/~jfdsmit
    "[In the end, people] get furious at IT that the goddamn magic isn't working"
    -- Stewart Dean

+ Reply to Thread