User:Hcurtis0010/GSoC2014/logs

From BRL-CAD

Week 1

Monday, May 19

I re-read the Hacking file, and that led me to do research on binaries, regression testing, and other topics. Also, I had a good IRC conversation with my mentor, Sean Morrison, about how best to interact with one another and what I will need to do to succeed during GSoC.


Tuesday, May 20

Sean and I had an enlightening IRC conversation in which he pointed out the danger of relying too much on examples when dealing with code.

Afterward, I wrote some programs involving arrays. Although I finished the first one, I ran into problems with the second. I did some research as I attempted to solve it; the topics I investigated included dynamic allocation, vectors, and heaps. Sean had asked me to create the programs in order to learn more about dynamic and stack memory and be able to apply that knowledge to future GSoC activities.


Wednesday, May 21

I am happy to say that I learned a lot today. One of the more memorable things I learned was that I should not put the "using namespace" construct in my programs. I conducted research to find out why. Also, I read about malloc(), pointers, sizeof, and the differences between ANSI C, C99, and C++.

I showed to the community the program that I completed yesterday, and I received feedback on it. That evening, I worked on the second program, the one that had been giving me problems. In it I used malloc() for the first time. At first it wouldn't compile, and later it would compile but would crash at runtime. However, I finally got it to work after a fellow GsoCer, raj12lnm, told me what I was doing wrong.

The work I did today is preparing me to address problems with BRL-CAD’s fast4-g.c program as well as produce the conversion library that will be the focus of my GSoC proposal. We'll see how it goes.


Thursday, May 22

I converted yesterday's C++ programs to C. At first, they refused to compile, but after some research and a little trial and error, I was able to get them to work. A fellow GSoC student, oana_, helped me remedy a problem with one of them. The process was a good lesson. One interesting thing I learned was that I should avoid using certain code elements such as conio.h, getch(), and scanf_s because they work solely in Microsoft compilers and thus would make my programs less portable.

Next, I will create a version of my dynamic allocation program that uses functions from BRL-CAD’s libbu library API instead of those of the standard library. As I do so, I am sure that I will use plenty of what this week’s C++ and C exercises have taught me.


Friday, May 23

Today, I worked on a version of my dynamic allocation program that features libbu elements in place of stdlib functions. This is one more activity will help prepare me to tackle the fast4-g task. Unfortunately, I ran into a problem: I could not get the compiler to locate all of the interdependent header files that the program needs in order to run.


Saturday, May 24

I re-read the GSoC checklist to identify the items on it that I have not yet done. Also, I re-read and analyzed BRL-CAD’s fast4-g.c program and worked on my plan to improve it.


Sunday, May 25

Today, I continued to analyze the fast4-g.c program and work on my plan to improve it. As a part of this, I researched elements in it that I was not familiar with. This process is teaching me skills that will help me complete my GSoC project.

Also, I read the online document "How To Ask Questions The Smart Way." It taught me how to ask well-researched questions when requesting other developers' help with problems.


Week 2

Monday, May 26

I read more about pointers, malloc, and other topics in order to understand them better. Also, I continued to analyze fast4-g.c so that I could put myself in a better position to improve it.


Tuesday, May 27

Unfortunately, I became stuck while working on fast4-g.c In order to get out of that rut, I asked myself new questions about the task as part of a fresh approach to it. Then, I continued to analyze the program as well as the problem I was attempting to solve.


Wednesday, May 28

Today, I continued to work on the fast4-g.c issue. I found evidence that I might be going down an incorrect path in my approach to the problem. With some additional work, I will know for sure whether this is true.


Thursday, May 29

I had a good IRC conversation with GSoC mentors Sean Morrison and Erik Greenwald this evening about my progress. Because of a prior commitment, I was not able to work on GSoC tasks as much as I would have liked. However, I will make up for that tomorrow.


Friday, May 30

Today, I read information about and practiced using my virtual machine and my developer tools. I have realized that I need to increase my proficiency with them in order to continue making progress.


Saturday, May 31

I continued to research and work with my developer tools and virtual machine. I ran into problems when I tried to install a software update for the VM, but I managed to solve them.


Sunday, June 1

What I did today was read the install file and the Contributors' Guide to BRL-CAD. It served as preparation for another try at making my dynamic allocation program work using BRL-CAD functions.


Week 3

Monday, June 2

I worked on the libbu task (the one that involves using BRL-CAD functions like bu_malloc to run my dynamic allocation program). Also, I conducted research as needed; part of that was a good IRC conversation with Sean during which I learned the correct way to use some important virtual machine commands.


Tuesday, June 3

Today I continued to make progress on the libbu task. As a part of this, I read about CMake and how it locates libraries.