Skip to content

Instantly share code, notes, and snippets.

@ssaavedra
Last active December 16, 2015 17:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ssaavedra/5471621 to your computer and use it in GitHub Desktop.
Save ssaavedra/5471621 to your computer and use it in GitHub Desktop.
My proposal for GNOME at GSoC.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>GSoC Proposal</title>
</head>
<body>
<pre>Hi, my name is Santiago Saavedra and I'm studying Computer Science in Spain.<br />I'll adhere to the format specified below for the proposal.&nbsp;</pre>
<pre>1) Please connect with a possible mentor for the project you are proposing early in the application process.
2) It's required that you at least fix one small bug in the module you are applying to work on for us to consider your application.
3) Please answer all of the following questions.
<dl>
<dt>What is your e-mail address and IRC nick?
</dt>
<dd>
My email address is santiagosaavedra@gmail.com and my IRC nick is &lt;ssice&gt;
</dd>
<dt>Do you have a web page, blog, or microblog?
</dt>
<dd>
I used to have a blog, but I want to create a new one via GitHub Pages with Jekyll.
I am at twitter by the handle @ssice
</dd>
<dt>What is your academic background?</dt>
<dd>I am currently studying Computer Science in the University of A Coruna, Spain.
4th year.
Besides, apart from the "official" studies, I've been enroled in <em>Introduction to Artificial Intelligence</em> (first edition online) and a few courses at Udacity (Programming a Robotic Car) and I'm currently doing a CUDA one.<br />
I've also been an assistant to speeches like the RootedCON 2013, the "Jornadas de Seguridad" speech from the GSIC (Now called GSICK MINDS, http://gsicoruna.com) for three years and lastly,
I've been in the Local Team of last year's GUADEC and an assistant at FOSDEM 2013.
</dd>
<dt>Who is a possible mentor for the project you are proposing? </dt>
<dd>A possible mentor, with whom I've already contacted is Arth Patel (PionerAxxon in the IRC).</dd>
<dt>What is the ultimate goal of your proposal?</dt>
<dd>To improve the GNOME Desktop User experience with a working calculator.</dd>
<dt>What components/modules will the proposed work modify or create?</dt>
<dd>gnome-calculator (previous gcalctool).</dd>
<dt>What benefits does your proposed work have for GNOME and its community?</dt>
<dd>The User Experience for the End-User of GNOME would be greatly improved if such a common desktop tool
as the calculator is would work better.</dd>
<dt>Why are you the right person to work on this project?</dt>
<dd>I've worked both at the high level and at low levels in the University and by my own as side-projects (from implementing userspace threads to doing interfaces with PyGTK)
I have already contributed to GNOME as a Local Team member of the last GUADEC in A Coru&ntilde;a, and I've met some of the last year's GSoC students.
I am a perfectionist with what I do, specially when dealing with software design.
I have just a tiny background in vala from conferences and tiny tutorials, but I can learn quickly.
</dd>
<dt>How do you plan to achieve completion of your project?
* Please provide a schedule with dates and important milestones/deliverables (preferably in two week increments).
</dt>
<dd>
My proposal was to improve the GNOME calculator experience by changing the backend for the Mathemtical Multi Precision library to something more standard and (more) widely used.<br />
In my talk to Arth Patel, we agreed in the possibility for that change, and for it to be GNU MP library.<br />
I'll try my best to organize this in two week increments, but I haven't done this before. However, here's the list of subtasks:
<dl>
<dt>Before Jun 17</dt>
<dd>I won't have much time until this date, due to the University's exams.
But once I've finished and the revisions period is over, I'd need a couple of days to understand how Numbers are dealt with in every part of the source code.</dd>
<dt>Jun 17 - Jul 1</dt>
<dd>Then on, as this would be my first Vala VAPI binding, I'd train myself making a bit of the VAPI first of all, to get myself into details.<br />
[Deliverable] I expect to have for Jul 1 a Design for the Number interface (which may not be exactly as it is now, so that we could plug in any backend into numbers).</dd>
<dt>Jul 1 - Jul 15</dt>
<dd>[Deliverable] If the review for the design is OK I'd finish the VAPI for MPFR and the MPFR_Number class to "glue" the VAPI to the expected design.
<dd>After that, some tests should be done, but they may get delivered in the next increment.</dd>
<dt>Jul 15 - Jul 29</dt>
<dd>
gnome-calculator might need some adaptations to get the new Numbers right
if we did change the design of the Number interface.<br />
[Deliverable] the MPFR should be able to be plugged in the calculator.<br />
[Deliverable] tests on MPFR.<br />
Begin implementation of GMP VAPI for BigInteger numbers (different from MPFR's)<br />
</dd>
<dt>Jul 29 - Aug 12</dt>
<dd>
GUADEC. If I am to be there, I'd take some days before the travel to get some slides ready.<br />
The week after I expect not to be able to deliver anything.
</dd>
<dt>Aug 12 - Aug 26</dt>
<dd>
Design of the tests for the GMP and for the calculator to test the backend.<br />
It would address the swap in/out of MPFR and GMP (operation for automatically changing backend depending on operations)
</dd>
<dt>Aug 26 - Sep 9</dt>
<dd>
Check and improve documentation for everything of this. (I'll write inline documentation while coding)
</dd>
<dt>Sep 9 - Sep 23</dt>
<dd>Final testing. In case anything doesn't behave as expected, fix it.
Work with the community for anything needed to be tweaked in my work to get accepted and merged into the next version.</dd>
</dl>
</dd>
<dt>What will be showable at mid-term [1]?</dt>
<dd>At the mid-term there will be a patch for a working implementation of Number with MPFR in gnome-calculator.</dd>
<dt>What are your past experiences with the open source world as a user and as a contributor?
<ul>
<li>Please include a link to the bug you fixed for the GNOME module your proposal is related to.</li>
<li>If available, please include links to any other code you wrote for GNOME or other open source projects.</li>
</ul>
</dt>
<dd>
I've been a user of open-source software long before entering the University, and recently a contributor.
I haven't yet contributed with much code (at GNOME, see #698267, [#650949], [#681775]), but as I said, I've been a volunteer member of the Local Team for the GUADEC 2012 last year in A Coru&ntilde;a.<br />
Besides, I've shown work with open-source software and open hardware in a local science fair with Arduino and I co-authored a speech about Python for a Free Software Association.<br />
I have also sent a patch to Bumblebee, and there's a bit more of information in my GitHub at <a href="https://github.com/ssaavedra">https://github.com/ssaavedra/</a><br />
</dd>
<dt>What other relevant projects have you worked on previously and what knowledge you gained from working on them?</dt>
<dd>
I've implemented user-space threads in C for an Operating Systems Design class, and I gained a lot of in-depth knowledge of the stack and indirections.
</dd>
<dt>Will you have any other time commitments, such as school work, another job, planned vacation, etc., between June 17 and September 23?</dt>
<dd>
I'll need some time (hopefully no more than 5h/week) to complete an assignment I have with the University, which should be finished by the first week of September.<br />
And I'd like to go on vacation for a week, maybe just after the GUADEC if it may be. I can work more hours (or maybe even offline during the vacation time).
</dd>
[1] All students are invited to attend GUADEC, taking place in Brno, Czech Republic August 1-8, and present their project there. It is right around the midterm evaluation deadline.
</pre>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment