Editing User:Ankeshanand/GSoC14/proposal

From BRL-CAD

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 5: Line 5:
 
|'''Name''' || Ankesh Anand
 
|'''Name''' || Ankesh Anand
 
|-
 
|-
|'''Email Address'''||[mailto:ankeshanand1994@gmail.com ankeshanand1994@gmail.com]
+
|'''Email Address'''||[mailto:anekshanand1994@gmail.com ankeshanand1994@gmail.com]
|-
 
|'''Webpage'''||[http://ankeshanand.com/ ankeshanand.com]
 
 
|-
 
|-
 
|'''IRC(nick)'''||ankesh11
 
|'''IRC(nick)'''||ankesh11
Line 16: Line 14:
 
|}
 
|}
  
===Brief Background===
+
==Brief Background==
I am Ankesh Anand, a 3rd year Mathematics and Computer Science undergrad at the Indian Institute of Technology, Kharagpur. I am a huge open-source enthusiast who believes in the zen of Javascript and uses Vim and Ubuntu at his workstation. I like building full stack web-applications and programming in PHP, Python, Javascript, C and C++. I have worked previously in diverse environments ranging from a privacy start-up where I worked on anonymized analytics to a research group focused on analyzing Citation Networks. I am also the lead developer of the Autonomous Underwater Vehicle Group at my institute which designs submarines for international competitions.
 
  
 
=Project Information=
 
=Project Information=
Line 53: Line 50:
  
 
==== Data-Visualizations ====
 
==== Data-Visualizations ====
* '''MVC Architecture'''
+
* '''Framework'''
: To attain flexibility for the application, I plan to use the MVC pattern for the visualization framework. It would help in separation of responsibility across different components. The model would be the database itself, the contollers bring the code that aggregate and filter the data based on input and the views would the graphs and tables presented on the browser. I am an admirer of the Laravel PHP framework and plan to use it for this project.
 
* '''Visualization Library'''
 
 
: I went through a couple of tools to decide what could be best for the project, and in my opinion d3.js is probably the best library out there for creating dynamic and interactive data-visualizations in the browser. In contrast to many other libraries, D3 allows great control over the final visual result. It's very versatile and gives us wide options in terms of graphical visualizations. I have played around with d3.js in my past projects, so that should come in handy.
 
: I went through a couple of tools to decide what could be best for the project, and in my opinion d3.js is probably the best library out there for creating dynamic and interactive data-visualizations in the browser. In contrast to many other libraries, D3 allows great control over the final visual result. It's very versatile and gives us wide options in terms of graphical visualizations. I have played around with d3.js in my past projects, so that should come in handy.
  
Line 62: Line 57:
 
:* Average Performance of Different Architectures against Reference Images (A Grouped Bar Chart)
 
:* Average Performance of Different Architectures against Reference Images (A Grouped Bar Chart)
 
:* A comparison of different architectures with respect to VGR Metric.
 
:* A comparison of different architectures with respect to VGR Metric.
:* Historical Progress in Performance across different Processor Families.
+
:* Historical Process in Performance across different Processor Families.
 
:* Performance against Number of CPUs.
 
:* Performance against Number of CPUs.
  
Line 70: Line 65:
 
==== Search Functionality ====
 
==== Search Functionality ====
 
: One of the goals of the project is to let the users perform wide range of queries on the data. The storage in the database enables the content to be searched via parameters such as processor family, number of CPUs, and other machine descriptions. The results could be presented in a tabular form.
 
: One of the goals of the project is to let the users perform wide range of queries on the data. The storage in the database enables the content to be searched via parameters such as processor family, number of CPUs, and other machine descriptions. The results could be presented in a tabular form.
 +
==== Deployment ====
  
 
=== Deliverables ===
 
=== Deliverables ===
Line 78: Line 74:
 
* Detailed Documentation for the project.
 
* Detailed Documentation for the project.
 
* A deploy-able Database and Visualization website for the BRL-CAD Benchmark Suite.
 
* A deploy-able Database and Visualization website for the BRL-CAD Benchmark Suite.
 
=== My Preparations for the Project ===
 
* Cloned and built the BRL-CAD source code on my system.
 
* Contacted the previous GSoC candiadate on this project and exchanged ideas about the current state of the project and possible extensions.
 
* I ran the benchmark on a couple of systems, and went through the documentation to make sense of the results, how the benchmark suite works, and how a comparison between different machines is done.
 
* Went through the repository of the work done in the previous GSoc project and made notes about each module. I also read the concerning dev-logs and reports.
 
* Introduced myself on the mailing list and took part in IRC discussions about the project.
 
  
 
=== Development Schedule ===
 
=== Development Schedule ===
 +
I plan to move away from the conventional approach of Analysis and Design, then a long Development Phase and then the Testing and Documentation Period. The approach I will use is to divide the project into a number of sprints where each sprint implements a major feature and incorporates planning, testing and documentation.
  
 
==== Phase I : Analysis and Design Period ====
 
==== Phase I : Analysis and Design Period ====
Line 114: Line 104:
 
* '''SPRINT 3: (July 14 - July 31)'''
 
* '''SPRINT 3: (July 14 - July 31)'''
 
: '''[Integration of the Parser and Database Modules''']
 
: '''[Integration of the Parser and Database Modules''']
:* Week 1 : Test the parser and database modules for any minor bugs and fix them. Write scripts to automate parsing of new files on the server, and dumping the information into the database.
 
:* Week 2 : Document the progress, More tests, ensure everything is seamless integrated uptil-now.
 
  
==== Phase III : Final Wrap-Up and Cleaning (August 2 - August 20) ====
+
==== Phase III : Final Wrap-Up and Cleaning ====
:* Week 1 : Code Cleaning, Cross-Browser Testing of all functionality.
 
:* Week 2 : Code Reviews, Final structure to the Documentation.
 
:* Week 3 : Final submission to Melange, Buffer Period.
 
  
=== Time Availability ===
+
=== Time Availabilty ===
* I understand GSoC is equivalent to a full time project, and I will ensure I dedicate appropriate time and commitment to the project. The motivations of working on a pushing a meaningful project to deployment are huge.
 
* I can devote an average of 40-50 hrs. per week to the project. It will vary from 6-8 hours on the weekdays and 3-4 hours on the weekend.
 
* I have no prior known commitments and the majority of the timeline coincides with my summer vacations. If any commitments arise, I can devote extra hours on the weekend to keep the project on track.
 
  
 
=== Why BRL-CAD? ===
 
=== Why BRL-CAD? ===
I was looking for a meaningful open-source project to contribute to in a long-term perspective when I stumbled upon BRL-CAD which had exciting several web-oriented modules in initial stages and this seemed like a perfect fitting. The community was another affirmer as it helped me along getting acquainted with the project via meaningful discussions on the IRC and the mailing list.
 
  
 
=== Why me? ===
 
=== Why me? ===
I have an inquisitiveness to learn things and I feel my skills are a right match for this project. My enthusiasm for open-source and my interests in building web applications are the motivating factors behind this project. I look forward to being an active contributor to BRL-CAD in the future.
 
 
=== References ===
 
[1] https://bitbucket.org/suryajith/benchmark/src
 
 
[2] https://code.google.com/p/php-mime-mail-parser/
 
 
[3] http://www.dropzonejs.com/
 
 
[4] http://laravel.com/
 
 
[5] http://d3js.org/
 
 
[6] http://users.soe.ucsc.edu/~elm/Papers/cmg00.pdf
 

Please note that all contributions to BRL-CAD may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BRL-CAD:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)