In a nutshell: I have enjoyed working here at NC State with Aishwarya, Kevin, Sarat and Dr. DeCarolis. I have learned a lot; the things that I have learned here will definitely help with school, college and future job opportunities.
Dan's NCSU Internship
Sunday, August 7, 2011
Post #10 - Final Reflection
I have been working here at NC State for a total of 201 hours (35 Days/2 Months). I came here hoping to learn how to work in a UNIX environment, but I learned much more than that. Not only did I learn how to navigate through a UNIX/Linux operating system, I learned how to program in Python, Graphviz, C, and Bash Script. I'm sure that there is no way that I would have learned this stuff if I had taken another internship. It is true that this internship didn't have many perks as opposed to many other internships. Sarat told me that there is a trade off, "You can do what you love for little reward, or you can settle for a job you won't enjoy as much that has more reward." I got the opportunity to work in a university lab with a bunch of graduate students, doing real programming work. Not many high school students can say that.
Wednesday, August 3, 2011
Post #9
Dates: 7/27/11 - 8/01/11
Activities: Code Cleanup and Debugging
Technical Information: Python/Graphviz, TEMOA
Reflection: I am wrapping up my job here and NC State and I am glad to say that Aishwarya and I have accomplished our long goal. Our task was to give the TEMOA Project a nice graphical interface (much harder than it sounds). We have managed to accomplish this task and we even added a few of our own features to enhance the models. I am spending my last week searching for errors in the energy models, and documenting any undocumented code. I also got a chance to go on the NC State Campus tour and saw centennial campus which had a bunch of businesses such as Red Hat or Gold Leaf.
The things that I have done here that make me proud are the facts that I learned a lot and that I made a contribution to a real world project (as opposed to a school project or activity).
Wednesday, July 27, 2011
Post #8
Dates: 7/22/11 - 7/26/11
Activities: Finalizing TEMOA models, code documentation and cleanup, Final model additions
Technical Information: TEMOA Project (Graphviz/Python), code documentation
Reflection: This week Aishwarya and I have been doing some code cleanup and documentation for the TEMOA models. Most of the goals that we were assigned to us have been accomplished. Dr. DeCarolis has assigned us a few things to add before the internship is complete. Some miscellanious features such as easier readibility, easier navigation, and better organization of the models will be added over this and next week.
I definetly think that I have gained more responsibility over the summer. I started out having almost no clue of what to do. As I progressed, half-way through the internship I became more independent and was able to do tasks without the aid of someone else. I can now, work in a UNIX environment, program in python, bash script, graphviz, and C.
Activities: Finalizing TEMOA models, code documentation and cleanup, Final model additions
Technical Information: TEMOA Project (Graphviz/Python), code documentation
Reflection: This week Aishwarya and I have been doing some code cleanup and documentation for the TEMOA models. Most of the goals that we were assigned to us have been accomplished. Dr. DeCarolis has assigned us a few things to add before the internship is complete. Some miscellanious features such as easier readibility, easier navigation, and better organization of the models will be added over this and next week.
I definetly think that I have gained more responsibility over the summer. I started out having almost no clue of what to do. As I progressed, half-way through the internship I became more independent and was able to do tasks without the aid of someone else. I can now, work in a UNIX environment, program in python, bash script, graphviz, and C.
Friday, July 22, 2011
Post #7
Dates: 7/15/11 - 7/21/11
Activities: Organizing TEMOA Project (Graphviz/Python), Bash Script functionality moved to python files
Technical Information: TEMOA (Graphviz/Python), Bash Script
Reflection: This week I have transfered the functionality of the bash script I made last week to the python file that I always work on. This helpful because it is one less file to manage, and it is a "cleaner" way of organizing the images.
Aishwarya and I are almost done with our long task of making the models look nice. We have been doing some code clean up, documentation, and fixing some small overlooked errors. Along with that, we have been adding in some more miscelaneous features for the users benefit.
I have gotten used to programming in Bash script and Python. I don't use the numerous books that I got at the beginning of the internship that often (Thats not to say that I am an expert on Python, Bash, Graphviz, C, etc...).

These are all the books I have used in my internship (click for larger image).
There are a few frustrations with my work but they aren't that major. Python is a great language to learn, but it has its drawbacks. The language uses tabs to keep the file organized rather than using braces. Because of this limitation, Aishwary or I must re-tab the entire python file. Another limitation is the Graphviz functionality. Graphviz does not have all the tools we want, so we have to find another way around that obstacle.
Activities: Organizing TEMOA Project (Graphviz/Python), Bash Script functionality moved to python files
Technical Information: TEMOA (Graphviz/Python), Bash Script
Reflection: This week I have transfered the functionality of the bash script I made last week to the python file that I always work on. This helpful because it is one less file to manage, and it is a "cleaner" way of organizing the images.
Aishwarya and I are almost done with our long task of making the models look nice. We have been doing some code clean up, documentation, and fixing some small overlooked errors. Along with that, we have been adding in some more miscelaneous features for the users benefit.
I have gotten used to programming in Bash script and Python. I don't use the numerous books that I got at the beginning of the internship that often (Thats not to say that I am an expert on Python, Bash, Graphviz, C, etc...).
These are all the books I have used in my internship (click for larger image).
There are a few frustrations with my work but they aren't that major. Python is a great language to learn, but it has its drawbacks. The language uses tabs to keep the file organized rather than using braces. Because of this limitation, Aishwary or I must re-tab the entire python file. Another limitation is the Graphviz functionality. Graphviz does not have all the tools we want, so we have to find another way around that obstacle.
Friday, July 15, 2011
Post #6
Dates: 7/11/11 - 7/14/11
Activities: Created Subgraphs for the TEMOA Model, and linked them together
Technical Information: TEMOA Project (Graphviz/Python), Bash Script
Reflection: This week Aishwarya and I have been working on subgraphs for the TEMOA model. They look good and work perfectly. I linked the main model diagram to the various subgraphs so that when a user clicks on a certain area of the model, a subgraph pops up with with more specific information.
This week I have also been working on Bash Scripting. A Bash script is a simple script that can be executed to move, create, and execute other programs. Many files are being generated when the TEMOA model is executed. The Bash script is useful because I can tell it to run TEMOA, and then immediately organize the images.
I am working with graduate students on this project, so one would obviously need a bachelors degree. However, everyone I work with has a different major (i.e. Civil Engineering, Computer Science, Environmental Engineering, etc), and all of them are working to get their masters degree. I am more interested in programming that communicates with hardware (Robotics/Electrical Engineering), but I am learning a lot of stuff here that i'm sure is also used in what I hope to do in the future.
Activities: Created Subgraphs for the TEMOA Model, and linked them together
Technical Information: TEMOA Project (Graphviz/Python), Bash Script
Reflection: This week Aishwarya and I have been working on subgraphs for the TEMOA model. They look good and work perfectly. I linked the main model diagram to the various subgraphs so that when a user clicks on a certain area of the model, a subgraph pops up with with more specific information.
This week I have also been working on Bash Scripting. A Bash script is a simple script that can be executed to move, create, and execute other programs. Many files are being generated when the TEMOA model is executed. The Bash script is useful because I can tell it to run TEMOA, and then immediately organize the images.
I am working with graduate students on this project, so one would obviously need a bachelors degree. However, everyone I work with has a different major (i.e. Civil Engineering, Computer Science, Environmental Engineering, etc), and all of them are working to get their masters degree. I am more interested in programming that communicates with hardware (Robotics/Electrical Engineering), but I am learning a lot of stuff here that i'm sure is also used in what I hope to do in the future.
Sunday, July 10, 2011
Post #5
Dates: 6/30/11 - 7/09/11
Activities: Work on the TEMOA Project (getting into subgraphs)
Technical Information: TEMOA Project (Python/Graphviz), Bash
Reflection: The past few weeks, Aishwarya and I have been working on the TEMOA project. We have accomplished creating the basic looks of the models. Of course that isn't enough; we are starting to get into subgraphs. Subgraphs will contain even more specific information about the models without cluttering them. We are skeptical of how this will turn out, and we will be working on these for the next week or two. If it turns out that the subgraphs work very well for us then we will create html links that will allow the user to click on a certain part of the main model diagram to pull up a subgraph.
I am still working on a Linux system (Fedora) for the project. I use an application called the Terminal (similar to the command prompt in windows), and is a client for Bash. I have adapted to using the Terminal over the past month so much that I find it easier to use it rather than using the GUI (Graphic User Interface) on linux. I typically use it for creating, copying, executing, and installing files. The VIM editor (In Bash) is a text editor that I use almost everyday to read and write code in any language (Python, Graphviz, C, C++, Bash Script, and many other languages). I plan to use this system in the future since it is fast and very useful (I am slowly starting to dislike Windows).

VIM editor menu inside the Terminal (click for larger image).
I feel that my main contribution to the TEMOA Project is to help come up with innovative ideas to make good looking (and easy to understand) models. Along with that, I collaborate with Aishwarya a lot to make these ideas work.
Activities: Work on the TEMOA Project (getting into subgraphs)
Technical Information: TEMOA Project (Python/Graphviz), Bash
Reflection: The past few weeks, Aishwarya and I have been working on the TEMOA project. We have accomplished creating the basic looks of the models. Of course that isn't enough; we are starting to get into subgraphs. Subgraphs will contain even more specific information about the models without cluttering them. We are skeptical of how this will turn out, and we will be working on these for the next week or two. If it turns out that the subgraphs work very well for us then we will create html links that will allow the user to click on a certain part of the main model diagram to pull up a subgraph.
I am still working on a Linux system (Fedora) for the project. I use an application called the Terminal (similar to the command prompt in windows), and is a client for Bash. I have adapted to using the Terminal over the past month so much that I find it easier to use it rather than using the GUI (Graphic User Interface) on linux. I typically use it for creating, copying, executing, and installing files. The VIM editor (In Bash) is a text editor that I use almost everyday to read and write code in any language (Python, Graphviz, C, C++, Bash Script, and many other languages). I plan to use this system in the future since it is fast and very useful (I am slowly starting to dislike Windows).

VIM editor menu inside the Terminal (click for larger image).
I feel that my main contribution to the TEMOA Project is to help come up with innovative ideas to make good looking (and easy to understand) models. Along with that, I collaborate with Aishwarya a lot to make these ideas work.
Thursday, June 30, 2011
Post #4
Dates: 6/27/11 - 6/29/11
Activities: Working on TEMOA Project (Making the Graphs look "Prettier")
Technical Information: TEMOA (Python/Graphviz)
Reflection: This week I have been working with Aishwarya on the TEMOA Project. We are nearing our goal as the graphs are starting to come together and look nicer. We are working on a way for users to click on certain points of the graph so that more information can be viewed without having a cluttered graph. The file that controls how the graphs are outputted has to be coded in such a way that any data set that is inputed will have a nice looking (and soon interactive) graph.
The way that the TEMOA Project works starts with a data file. Another file will read the data file, make sure the user has entered in the data correctly, and will write to another file in graphviz. The graphviz file will execute and create a nice looking graph in the end (I am making this sound a lot easier than how the program actually executes).

Over 600 lines of Data! (click for larger image)

All combined into an easy to read model (Many different models are created when the program executes). (click for larger image)
We are making progress and we should have a good looking model by the end of the summer.
My classroom experiences have definetely helped me perform the work I'm doing. I program mostly in Python, Graphviz, C, and Bash Script for this job, but syntax isn't the problem. The programing logic I have been learning in school is what prepared me. I wish that I had learned Python earlier, and that I had more familiarity with Bash. Nevertheless, I did manage to pick up fairly quickly on these concepts.
Activities: Working on TEMOA Project (Making the Graphs look "Prettier")
Technical Information: TEMOA (Python/Graphviz)
Reflection: This week I have been working with Aishwarya on the TEMOA Project. We are nearing our goal as the graphs are starting to come together and look nicer. We are working on a way for users to click on certain points of the graph so that more information can be viewed without having a cluttered graph. The file that controls how the graphs are outputted has to be coded in such a way that any data set that is inputed will have a nice looking (and soon interactive) graph.
The way that the TEMOA Project works starts with a data file. Another file will read the data file, make sure the user has entered in the data correctly, and will write to another file in graphviz. The graphviz file will execute and create a nice looking graph in the end (I am making this sound a lot easier than how the program actually executes).

Over 600 lines of Data! (click for larger image)

All combined into an easy to read model (Many different models are created when the program executes). (click for larger image)
We are making progress and we should have a good looking model by the end of the summer.
My classroom experiences have definetely helped me perform the work I'm doing. I program mostly in Python, Graphviz, C, and Bash Script for this job, but syntax isn't the problem. The programing logic I have been learning in school is what prepared me. I wish that I had learned Python earlier, and that I had more familiarity with Bash. Nevertheless, I did manage to pick up fairly quickly on these concepts.
Subscribe to:
Posts (Atom)