User:Amalia/Development logs



This page is a diary dedicated to the work I have been honored to do with LibreCAD this Google Summer of Code 2015 period.


Community Bonding Week 1[edit]

  • Celebrated my acceptance into Google Summer of Code 2015 with my friends at the Limbe Semme beach
  • Getting to know other students in Buea selected for GSoC.
  • Updated my repository on github.

Community Bonding Week 2[edit]

  • Filled Student Foreign Certification Tax Form
  • Discussed with my mentors the possibility of a wire transfer for work during the bonding period. No channels were open apart from Paypal.
  • Updated my repository on github

Community Bonding Week 3[edit]

  • Looked at the lc_splinepoints code in librecad/src/lib/engine/lc_splinepoints.*
  • Worked feverishly and biased my efforts on my final year Management project ( meetings with supervisor, Writing Theoretical and Literature review, conceiving and administering questionnaires, etc ) which ate up the next fortnight.
  • The intention was to go furthest as possible with Final year School Project so that when GSoC coding begins, I can concentrate more on my LibreCAD project.

Community Bonding Week 4[edit]

  • Discovered a Paypal account at the end of the Community bonding period.


Week One[edit]

Monday May 25th[edit]

Week Two[edit]

Thursday June 4th[edit]

  • Hurray! My Google Summer of Code finally package arrived my University today and I was called to come and collect it.

Friday June 5th[edit]

  • Had a meeting with the Mentor for Google Developer Groups in Cameroon. He cautioned me on the importance of communication and daily coding on my project.
  • Almost done with my Final year Research Project.Was working on corrections given by my supervisor the whole day.

Saturday June 6th[edit]

  • Updated my github repository today.

Week 3[edit]

Monday June 8th[edit]

  • Installed and ran LibreCAD from source.
  • Studying RS_Ellipse::getTangentPoint() and LC_SplinePoints::getTangentPoint() to help create RS_Hyperbola::getTangentPoint().

Tuesday June 9th[edit]

  • Hyperbolas are unbounded and disconnected too. Investigating how finding the tangential points of splines can help the case of hyperbolas.
  • Read articles by on splines. Each branch or arm of a hyperbola can be seen as an open quadratic spline.

Wednesday June 10th[edit]

  • Discussed with my mentor in IRC today and he gave me wiki link for LibreCAD.

Thursday June 11th[edit]

  • Re-established contact with my co-mentor Ries.
  • Discussed with mentor dli_ on #librecad.
  • Understood what class RS_VectorSolutions is.
  • Working on math algorithm for finding tangential points from a given point outside a hyperbola.

Friday June 12th[edit]

  • Awaiting mentors' response to my question on IRC channel on math algorithm.
  • Using calculus to solve the above math problem. It's quite cumbersome and I'm having a hard time.

Saturday June 13th[edit]

  • Continued work on cumbersome algebra and calculus on tangential points to the hyperbola. I'm excited that my thinking was the same as this except that my hyperbola is centered at (xo,yo) rather than (0,0).
  • Succeeded to have a general formula to obtain the intersection point (h,k) of the tangent line and the hyperbola. That was quite tedious.
  • My mentor asks for Proof of concept code on a daily basis.
  • Next task is implementing the math algorithm which I developed.

Week 4[edit]

Monday June 15th[edit]

  • Discussed my math algorithm with my mentor dli on #librecad.

Tuesday June 16th[edit]

  • Today I had my final year project defense in school.Thus, I couldn't do any work on GSoC LibreCAD project today.

Thursday June 18th[edit]

  • Studying lc_splinepoints code to finish writing the getTangentPoint of a hyperbola

Friday June 19th[edit]

  • Developed a heuristic to solve the getTangentPoint() of a hyperbola.
  • Emailed the paste to my mentors for review.

Saturday June 20th[edit]

  • Awaiting my mentors review of the heuristic before proceeding.
  • Attended the Silicon Mountain Conference today.

Week 5[edit]

Sunday June 21st[edit]

  • Adjusting the getTangentialPoints() algorithm for a unit hyperbola based on my mentor's corrections.

Monday June 22nd[edit]

  • Sent adjustments to getTangentpoint() member function algorithm over to my mentor for review.
  • Been having discussions with my mentor on code snippets like this. Hustling towards a working prototype.

Tuesday June 23rd[edit]

  • My mentor gave feedback and corrections to the code snippet I tunrned in yesterday.
  • My mentor proposed a much more concise and maintainable algorithm which I'm incorporating into the Hyperbola code.
  • LibreCAD Build is broken. Downloading Qt5 to run LibreCAD with while Lead developers fix this issue.

Wednesday June 24th[edit]

  • Upgraded to qmake-qt5, updated my LibreCAD repository and build it.
  • Awaiting review from my mentor for the improved the code snippet.

Thursday June 25th[edit]

  • Did not do any work today due to housekeeping.

Friday June 26th[edit]

  • More critique on code from my mentor.
  • Improved code based on corrections discussed on IRC.
  • Chatted a little with brlcad on #brlcad and ries on #librecad today.

Saturday June 27th[edit]

  • Today was a lazy day for me. Did not code.

Mid-term Evaluation Week(Week 6 )[edit]

Monday June 29th[edit]

  • After a deeper look at my logic of getTangentPoint(), I overhauled my code to have this.
  • My mentor has confirmed that my logic is a step int the right direction and has suggested that I use github and email more including IM/IRC.
  • Starting to design unit tests for this getTangentPoint() function.

Tuesday June 30th[edit]

  • Filled Student evaluation form today.
  • Working on unit test for getTangentPoint() member function.
  • Some work in progress available here

Wednesday July 1st[edit]

  • Sick day:I have not been able to do any work because of the symptoms of malaria I've been experiencing since morning.
  • I've developed the unit tests for the getTangentPoint() in librecad/src/main.cpp and LibreCAD builds well.
  • Next step is running the code to see the results from the function.


I was rather off to a slow start for GSoC 2015 coding due to my final year management project. However, I've written the getTangentPoint() member function for the LC_Hyperbola and I am currently designing appropriate test cases to ascertain the effectiveness of getTangentPoint() function. When I've perfected these test cases, anyone will be able to run these tests after compiling LibreCAD by ./lc on the command line in the unix/ directory.

Thursday July 2nd[edit]

  • Sick day: Have not done any work today. Currently on medications.
  • Managed to post my pre midterm evaluation summary to my development logs, BRL-CAD mailing list and cc'ing my mentors in LibreCAD and BRL-CAD.

Friday July 3rd[edit]

  • Sick day: Haven't been able to do any work due to illness.