Difference between revisions of "User:Hcurtis0010/GSoC2014/logs"

From BRL-CAD
m
Line 104: Line 104:
 
'''Thursday, June 5'''
 
'''Thursday, June 5'''
  
During the first half of today's work session, I read more about CMake and worked on my CMakelists.txt file. When I communicated with Sean later that day, however, he told me that I for now I should use GNU Compiler Collection (GCC) commands instead of a CMakelists.txt file to compile my program. He said that it is important that I build manually at first so that I can learn what the GCC options mean and how compilation and linking work.
+
During the first half of today's work session, I read more about CMake and worked on my CMakeLists.txt file. However, when I communicated with Sean later that day, he told me that for now I should use GNU Compiler Collection (GCC) commands instead of a CMakeLists.txt file to compile my program. He said that it is important that I build manually at first so that I can learn what the GCC options mean and how compilation and linking work.
  
 
Incidentally, a problem I have is how long my system takes to build BRL-CAD. I hope that I can find a way to shorten the time.
 
Incidentally, a problem I have is how long my system takes to build BRL-CAD. I hope that I can find a way to shorten the time.
Line 116: Line 116:
 
'''Saturday, June 7'''
 
'''Saturday, June 7'''
  
Today, I made progress with the dynamic allocation program: I was able to get it to compile. However, that gave rise to new issues that have to do with linking. I researched some possible solutions and tried them, but so far I have not had much success. I will keep trying.
+
Today I was able to compile my dynamic allocation program. However, that gave rise to new issues that had to do with linking. I researched some possible solutions and tried them, but I did not have much success. I will keep trying.
  
  
 
'''Sunday, June 8'''
 
'''Sunday, June 8'''
  
I had a good IRC conversation with Sean about the dynamic allocation task. Afterward, I was able to both build and link my program, but it would not run. The error message it gave said that it could not locate the shared object file. I began investigating the problem, and already I have learned a lot.
+
I had a good IRC conversation with Sean about the dynamic allocation task. Afterward, I was able to both build and link my program, but it would not run. The error message it gave said that it could not locate the shared object file. I began investigating the problem, and I learned a lot.

Revision as of 05:42, 9 June 2014

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.


Wednesday, June 4

I read about CMake and how to write a CMakeLists.txt file. Afterward, I attempted to write one.


Thursday, June 5

During the first half of today's work session, I read more about CMake and worked on my CMakeLists.txt file. However, when I communicated with Sean later that day, he told me that for now I should use GNU Compiler Collection (GCC) commands instead of a CMakeLists.txt file to compile my program. He said that it is important that I build manually at first so that I can learn what the GCC options mean and how compilation and linking work.

Incidentally, a problem I have is how long my system takes to build BRL-CAD. I hope that I can find a way to shorten the time.


Friday, June 6

I continued trying to enable my dynamic allocation program to use BRL-CAD headers. As a part of this, I read about GCC and its commands.


Saturday, June 7

Today I was able to compile my dynamic allocation program. However, that gave rise to new issues that had to do with linking. I researched some possible solutions and tried them, but I did not have much success. I will keep trying.


Sunday, June 8

I had a good IRC conversation with Sean about the dynamic allocation task. Afterward, I was able to both build and link my program, but it would not run. The error message it gave said that it could not locate the shared object file. I began investigating the problem, and I learned a lot.