27 April, 2013
Today I got to know what is GSOC- “Google Summer of Code”.
The Google Summer of Code (GSoC) is an annual program, first held from May to August 2005, in which Google awards stipends to hundreds of students who successfully complete a requested free and open-source software coding project during the summer. The program is open to students aged 18 or over – the closely related Google Code-In is intended for students under the age of 18.
In this year, 177 mentoring organizations would take part in GSOC.
To know more, just click
Explored following mentoring organizations according to my skill set.
1. Boost C++ Libraries
3. GNU Project.
Saw their Project Ideas Page.
Taught how to solve Boundary Value Problems to Vigas.
28 April, 2013
Explored different projects of BRL-CAD and decided to work on Code Reduction Project.
Compilation Steps BRL-CAD source code
1. Download source code
Open terminal,give command
$ svn checkout svn://svn.code.sf.net/p/brlcad/code/brlcad/trunk brlcad
2. Go to directory
$ cd brlcad
$ mkdir .build
$ cd .build
$ cmake .. -DBRLCAD_BUNDLED_LIBS=ON
$ make test
$ sudo make install
$ ls -la /usr/brlcad
6. Start working on brlcad
29 April, 2013
Exploring Code Reduction Project.
Read about duplicared code.
Introduced myself at brlcad mailing list
There are different tools to find code duplicacy.
1. Simian tool
2. duplo tool
I. Simian tool- Similarity Analyser
Simian (Similarity Analyser) identifies duplication in Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy source code and even plain text files. In fact, simian can be used on any human readable files such as ini files, deployment descriptors, you name it. But it is not an open source.
Download from here
Extract it by giving following command:
tar -zxvf simian-2.3.33.tar.gz
Simian fully supports the following languges:
with partial support for the following languages:
How to use it??
[[ here we are finding duplicacy in brlcad source code. ]]
1. Go to directory where you want to find duplicacy
$ cd brlcad/
2. Specify files to find duplicacy like (.h), .cpp, .c files and so on.
Specify the path of simian directory.
$ java -jar ~/simian-2.3.33/bin/simian-2.3.33.jar **/*.cpp
It will find duplicacy in all .cpp files.
To learn more , refer this http://www.harukizaemon.com/simian/index.html
30 April, 2013
Start making patch for Code Reduction
I chosen brep_debug.c file to refactor.
Explored how to make patches and found a good blog.
To create a patch for a single, use diff command.
diff -u file1.txt new.txt > new_file.patch
Finally made a patch for brlcad.
31 April, 2013
To make a patch to brlcad, there is a different way.
$ svn diff > ~/first.patch
This will create the patch file in your user’s home.
To learn more, refer this http://brlcad.org/wiki/Patches
Finally, submitted a patch to brlcad tracker.
31 April, 2013
Brlcad developers suggested me to work on STEP Libraries project.
Clone the STEPcode repo on system.
$ git clone https://github.com/stepcode/stepcode
Tried to understand this.
Interacted with developers on IRC.
They provided all the links to clear my doubts.
Explored it to make a good GSOC proposal.
Start making proposal.
1 May, 2013
Found another interested GSOC project related to my skills.
LibreDWG : Decode Refactoring
1. Clone the repo
$ git clone git://git.sv.gnu.org/libredwg.git
2.Go to directory and build
$ cd libredwg/
$ sh autogen.sh
$ ./configure –enable-trace (this will enable debugging messages)
$ sudo make install
$ make check
$ export LIBREDWG_TRACE=3
$ cd examples
$ ./testSVG yourdwgfile.dwg > yourconverteddwgfile.svg
To gain more, refer this
2 May, 2013
Made roadmap for GSOC after understanding STEP Libraries functionality.
Finally submiited a proposal to brlcad.
But there was some formatting problem.
3 May, 2013
Tried a lot but again same formatting problem.
Explore LibreDWG source code and submit a proposal to GNU.
When I submitted a proposal, formatting was disturbed.
All content was underlined.
Then I got a solution from Sir.
First, I copied the content to LibreOffice Writer.
Then save it as HTML document.
Then open it and copy the content to gedit editor.
In gedit, adjusted the formatting according to requirements.
Then at last, copy the content from gedit to GSOC page’s HTML editor.
It solves the problem.
Then followed the same trick to brlcad proposal.
Introduced myself to LibreDWG mailing list.
4 May, 2013
Made schedule for start working on GSOC projects.
Searched to-do list applications for ubuntu and got two good apps.
$ sudo apt-get install gtodo
$ sudo apt-get install nitrotasks
5 May, 2013
Start making presentation on differential equations.
Today I read the Wonderful World of D.E.
Try to make a patch for dxf bug to help harman.
6 May, 2013
Exploring STEP Libraries Project.
Tried to understand the structure of STEP.
Helped Mandeep and Taran to solve erorr ralated to latex documentation.
I suffered from same error when I was making latex documentaion using doxygen.
7 May, 2013
Learn how to use irssi.
We can join many IRCs on a single window.
First give command
Status window will be shown.
Then you can join multiple IRCs.
by giving single command on status bar of status window like
/join #stepcode and so on.
8 May, 2013
Exploring the source code of LibreDWG using documentation.
9 May, 2013
I was trying to compile .c file with g++ compiler.
But getting errors, then came to know that
to compile .c files, we have to use gcc compiler.
g++ compiler for cpp files and gcc for c files.
9 May, 2013
Explore Automake tool.
GNU Automake is a programming tool that produces portable makefiles for use by the make program, used in compiling software.
It is made by the Free Software Foundation as one of the GNU programs, and is part of the GNU build system.
10 May, 2013
Explore D.E to make an excellent presentation.
There are two types of D.E:
1. Ordinary D.E
2. Partial D.E
Searching their applications in various fields like mechanical, bio, civil, elctrical and so on.
Searching material for ICT and road safety presentation.
11 May, 2013
Added more slides in presentation by searching ICT technologies used for road safety.
12 May, 2013
A mind map is a diagram used to visually outline information. A mind map is often created around a single word or text, placed in the center, to which associated ideas, words and concepts are added. Major categories radiate from a central node, and lesser categories are sub-branches of larger branches. Categories can represent words, ideas, tasks, or other items related to a central key word or idea.
Mind maps can be drawn by hand, either as “rough notes” during a lecture or meeting, for example, or as higher quality pictures when more time is available. An example of a rough mind map is illustrated.
Mind maps are considered to be a type of spider diagram. A similar concept in the 1970s was “idea sun bursting”.
Mind Mapping software:
FreeMind is a premier free mind-mapping software written in Java.
1. Open terminal, run
$ sudo apt-get install freemind
To install documentation, run
$ sudo apt-get install freemind-doc
Open it by running
Mind42 is an online mind mapping application that allows users to visualize their thinking using the proven mind mapping method.
Made mindmap for D.E presentation.
13 May, 2013
Making Road Safety presentatiion with colleagues.
Searched images for presenation.
14 May, 2013
Helped Taran to solve error related with DXF specifications.
Continue work on Road Safety presenatation.
15 May, 2013
Helped Harman to solve DXF bug, but he has no time to concentrate more.
So it was not finished.
16 May, 2013
Some modifications are done in ICT presentation.
Exploring LibreDWG source code.
Tried to make a patch.
17 May, 2013
Today we attended the conference with Sir at Institute of Engineers.
It was a good time because got a chance to meet our college’s Retired Principal Sir and Sir’s student.
It was a good interaction.
Explored pointers in C++.
18 May, 2013
Created bitbucket account.
The Pomodoro Technique is a time management method. The technique uses a timer to break down periods of work into 25-minute intervals called ‘Pomodori’ (from the Italian word for ‘tomatoes’) separated by short breaks. Closely related to concepts such as timeboxing and iterative and incremental development used in software design, the method has been adopted in pair programming contexts. The method is based on the idea that frequent breaks can improve mental agility.
There are five basic steps to implementing the technique:
decide on the task to be done
set the pomodoro (timer) to 25 minutes
work on the task until the timer rings; record with an x
take a short break (3-5 minutes)
every four “pomodori” take a longer break (15–30 minutes)
PomodoroApp is an awesome Dektop Pomodoro software.
Unzip it and start clicking on PomodoroApp exe file.
Also learned “How to add an application to dash”
We can add application in dash by using gnome-desktop-item-edit.
For this, you have to install gnome-tweak-tool or gnome-shell.
$ sudo apt-get install gnome-tweak-tool
$ sudo apt-get install gnome-shell
Then press Alt + F2 and type
gnome-desktop-item-edit –create-new ~/Desktop
This will open the dialog Create Launcher.
Then put this .desktop file in /home//.local/share/applications/
to make it appear in the dash.
Read good irssi tutorial
19 May, 2013
Helped Navdeep, Jasleen and Priyanka in their work.
20 May, 2013
Helped Harman in their work.
Explored various bugs of LibreDWG,but getting segmentation fault.
Used valgrind debugger to debug this fault, but no memory leakage.
21 May, 2013
Finally, got a reason why LibreDWG throws Segmentation Fault.
Helped new training students in their work.
22 May, 2013
23 May, 2013
Continue with bakaplan review.
Hepled new training students in their blog post writing.
Started to collect material for Industrial Training report.
24 May, 2013
Start making report and collected pending material.
25 May, 2013
Start using latex to make report.