On Sun, Mar 22, 2009 at 10:30 AM, Vlad Dogaru <ddvlad@...> wrote:
> Hello Steve, Alec,
>
> First of all, apolgies if this email is misdirected -- I saw both your
> emails at the Gentoo Summer of Code ideas page, in the stats
> server/client section[1], and the introduction encouraged possible
> students to contact mentors ahead of time.
>
> [1]
> http://en.gentoo-wiki.com/wiki/Google_Summer_of_Code_2009_ideas#Create_and_release_a_Gentoo_stats_server.2Fclient
>
> My name is Vlad Dogaru and I would like to express my desire to work on
> the Gentoo GSOC project mentioned above. More specifically, I think
> Smolt looks very good and would look even better when ported to Gentoo.
>
> Possible directions of the porting would be:
> * as you suggested on the ideas page, a list of the packages installed.
> We could then build statistics similar to the Debian popcon.
> * it would also be interesting to note use flags popularity, both
> globally and per-package; for instance, popcon has different stats for
> vim, vim-full, vim-nox, etc. -- why wouldn't Gentoo track vim use flag
> configuration?
> * as someone with no experience in the field, I would imagine that
> having certain use-flags exposed would pose a security risk; hence,
> there should be a user-customizable blacklist of use-flags whose state
> should not be tracked.
I wouldn't count on this being a critical feature for most users.
>
> Now, these propositions are, I am sure, unrefined and naïve at places.
> If you could help me better define them for a proper GSOC application, I
> would be grateful.
In my experience the client bit is easiest; all 3 package managers
have decent python APIs and its relatively easy to extract useful
data. The part that I personally found hard was writing the webapp ;)
Authentication is a problem; do you let users register, have multiple machines?
When your client posts new data, then updates the data, do you replace
or merge it?
How will you protect sensitive data on the server (like authentication
tokens, passwords, etc..)
How will you prevent malicious users from uploading fake data
(client-side signing with a private key?)
How will you store data on the server (RDBMS?)
How will the client and server talk (REST/XMLRPC)?
I figure once you get a basic setup working making the client retrieve
and upload more data is easy assuming you have a decent data storage
model on the server. I think the difficult part of this project
actually lies in some of these other hard problems of figuring out how
the app would actually work server-side.
-A
>
> My motivation, if it is of interest, is helping Gentoo (which I've been
> happily using for over 2 years) and hopefully using two of what I count
> as my 4 favorite rograming languages (Python and Bash, with C and
> Haskell being the other two). I've worked in a team before, but have
> never been involved in Gentoo development.
>
> I eagerly await any and all feedback from you.
>
> Respectfully,
> Vlad Dogaru
>
>
|