Vishnuparammal
Joined 8 March 2020
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 14: | Line 14: | ||
== E: Coding experience == | == E: Coding experience == | ||
* '''C/C++:''' I started using C++ as a part of my college curriculum. Additionally, I studied data structures in C++. I moved on to use it in various micro-controller based projects. Describing a few of them: | * '''C/C++:''' I started using C++ as a part of my college curriculum. Additionally, I studied data structures in C++. I moved on to use it in various micro-controller based projects. Describing a few of them: | ||
**'''3D Mapping and odometry:''' Obtaining 3D point cloud of a closed room and performed odometry using 1D LiDAR sensor and servos. The C++ code was written into Atmega16 micro-controller. For plotting the points, I used python matplotlib library.[https://github.com/Vishnuparammal/3D_mapping] [https://github.com/Vishnuparammal/Lidar_odometry] | **'''3D Mapping and odometry:''' Obtaining 3D point cloud of a closed room and performed odometry using 1D LiDAR sensor and servos. The C++ code was written into Atmega16 micro-controller. For plotting the points, I used python matplotlib library. Project Link [https://github.com/Vishnuparammal/3D_mapping] [https://github.com/Vishnuparammal/Lidar_odometry] | ||
**'''Maze-runner:''' Designed a C program to completely explore a complex maze in first-person perspective. Implemented graphs to store the entire maze dynamically. Obtained the shortest path using Dijkstra's algorithm.[https://github.com/Vishnuparammal/maze_runner/] | **'''Maze-runner:''' Designed a C program to completely explore a complex maze in first-person perspective. Implemented graphs to store the entire maze dynamically. Obtained the shortest path using Dijkstra's algorithm. Project Link[https://github.com/Vishnuparammal/maze_runner/] | ||
**'''WiFi-bot:''' Designed a web-page controlled bot connected to a common WiFi network. The C++ code was written into NodeMCU chip with HTML elements embedded into it.[https://github.com/Vishnuparammal/Wifi_bot] | **'''WiFi-bot:''' Designed a web-page controlled bot connected to a common WiFi network. The C++ code was written into NodeMCU chip with HTML elements embedded into it. Project link [https://github.com/Vishnuparammal/Wifi_bot] | ||
* '''Octave:''' Octave has been by far the most used language in my curriculum. Needless to mention the simple yet powerful syntax has made life of engineers quite easy. I have been using octave for 2 years now in the following subjects: | * '''Octave:''' Octave has been by far the most used language in my curriculum. Needless to mention the simple yet powerful syntax has made life of engineers quite easy. I have been using octave for 2 years now in the following subjects: | ||
** Analog Communication Systems | ** Analog Communication Systems | ||
Line 27: | Line 27: | ||
* '''Python:''' This language has been the beast of my projects. My goto language for scripting purposes and project-Euler problems. Describing a few of my projects: | * '''Python:''' This language has been the beast of my projects. My goto language for scripting purposes and project-Euler problems. Describing a few of my projects: | ||
** '''PLC security:''' I have worked on vulnerability analysis and penetration testing of PLC devices. I was responsible for writing malware scripts and modifying CIP protocol packets in a network | ** '''PLC security:''' I have worked on vulnerability analysis and penetration testing of PLC devices. I was responsible for writing malware scripts and modifying CIP protocol packets in a network | ||
** '''LiFi:''' Visible Light Communication implemented for sharing of data between multiple devices (text, images and other formats). I was responsible for managing the data fragmentation, packaging and directing data to the USB port on the sender device, and all the reverse operations by the receiver device using python.[https://github.com/laukik-hase/Li-Fi] | ** '''LiFi:''' Visible Light Communication implemented for sharing of data between multiple devices (text, images and other formats). I was responsible for managing the data fragmentation, packaging and directing data to the USB port on the sender device, and all the reverse operations by the receiver device using python. Project link[https://github.com/laukik-hase/Li-Fi] | ||
** '''The n game:''' It was the very first code I wrote for myself. A generalized version of the famous "21 game".[https://github.com/Vishnuparammal/The_n_game] | ** '''The n game:''' It was the very first code I wrote for myself. A generalized version of the famous "21 game". Project link[https://github.com/Vishnuparammal/The_n_game] | ||
** '''Astro-shoot:''' A shooting game set in space. Used pygame library for GUI.[https://github.com/Vishnuparammal/Astro-shoot] | ** '''Astro-shoot:''' A shooting game set in space. Used pygame library for GUI. Project link[https://github.com/Vishnuparammal/Astro-shoot] | ||
* '''JavaScript:''' Intermediate experience in front-end development | * '''JavaScript:''' Intermediate experience in front-end development | ||
** '''Simulighter:''' A browser-based Ray optics simulation software. Used p5.js library for GUI.[https://github.com/Vishnuparammal/Simulighter] | ** '''Simulighter:''' A browser-based Ray optics simulation software. Used p5.js library for GUI. Project Link[https://github.com/Vishnuparammal/Simulighter] | ||
** '''Visualizing Fourier:''' A graphical visualization of Fourier series and transform with an application of convolution in audio processing.[https://github.com/Vishnuparammal/Fourier-Series-and-Transform] | ** '''Visualizing Fourier:''' A graphical visualization of Fourier series and transform with an application of convolution in audio processing. Project link[https://github.com/Vishnuparammal/Fourier-Series-and-Transform] | ||
* '''Java:''' Part of the college curriculum. Intermediate experience. | * '''Java:''' Part of the college curriculum. Intermediate experience. | ||
**'''Trace_It:''' A software capable of plotting graph of any polynomial. Cross-platform implementation for Windows, Linux and Android. Used JavaFX for GUI. | **'''Trace_It:''' A software capable of plotting graph of any polynomial. Cross-platform implementation for Windows, Linux and Android. Used JavaFX for GUI. | ||
* '''PostgreSQL:''' I have experience using PostgreSQL for database management. | |||
* My best experience being in a development team was for my Java project, Trace_It. Earlier, I liked to 'code' my projects single-handedly (thinking it was better-off alone), but then working with a team gave me some new insights. I understood the importance of why and how tasks should be defined and divided among the team. I also got the gist of time and resource management and the inevitably important role they play in a team project. I learnt to use git with collaboration. We faced many merge conflicts. Even had to delete the repository and start over. There were suggestion, revisions, conflict of ideas, differences in coding style, but we worked through it all. I learnt many skills like coordination, communication, feedback, trust, focus and a sense of respect for opinions different than mine. After weeks of early-morning and late-night efforts, we completed the project. The feeling itself was rewarding for me. | * My best experience being in a development team was for my Java project, Trace_It. Earlier, I liked to 'code' my projects single-handedly (thinking it was better-off alone), but then working with a team gave me some new insights. I understood the importance of why and how tasks should be defined and divided among the team. I also got the gist of time and resource management and the inevitably important role they play in a team project. I learnt to use git with collaboration. We faced many merge conflicts. Even had to delete the repository and start over. There were suggestion, revisions, conflict of ideas, differences in coding style, but we worked through it all. I learnt many skills like coordination, communication, feedback, trust, focus and a sense of respect for opinions different than mine. After weeks of early-morning and late-night efforts, we completed the project. The feeling itself was rewarding for me. | ||
* | * Patches | ||
**I have submitted a patch for the octave bug(#57774)[https://savannah.gnu.org/bugs/?57774]. | |||
== F: Feeling fine == | == F: Feeling fine == | ||
* I am new to IRC. I have used mailing lists to communicate my doubts and ideas very often. | * I am new to IRC. I have used mailing lists to communicate my doubts and ideas very often. | ||
* I am new to Mercurial but I | * I am new to Mercurial but I used it to clone the main octave repository and during my work the latest days in the bug (add, commit, generate the patch) | ||
* I have 3 years of experience using git. All my major projects are being maintained there. | |||
* I am new to the wiki. | * I am new to the wiki. | ||
* | * Familiar with gdb, gcc and make. | ||
* After having spent some time with the community, I have started | * After having spent some time with the community, I have started involving my peer group here. They motivate me and I would love to keep contributing with them. | ||
== O: Only out of interest == | == O: Only out of interest == | ||
* I heard about | * I heard about octave two years ago in college as an open-source alternative for MATLAB and have been using it for our digital signal processing, data compression, numerical techniques lab since. | ||
== P: Prerequisites == | == P: Prerequisites == | ||
* I have a Windows 10 home with an Ubuntu 16.04 LTS VM and WSL. | * I have a Windows 10 home with an Ubuntu 16.04 LTS VM and WSL. | ||
* I have my own laptop and a good internet connection at home. | * I have my own laptop and a good internet connection at home. | ||
* I can access internet connection | ** I can access internet connection any time during the day. | ||
* I can | ** I estimate that I can code around 10 hours a day. | ||
* This is my machine, I can access it anytime I want and install any software. | * This is my machine, I can access it anytime I want and install any software. | ||
== S: Self-assessment == | == S: Self-assessment == | ||
* I view criticism in a positive way. It is honesty, and it spurs me to do better. I take it as an opportunity to improve. | * I view criticism in a positive way. It is honesty, and it spurs me to do better. I take it as an opportunity to improve. | ||
* I | * I believe that discussions are a very important part of development. But, I usually start working with the tasks on hand. Later on, after any changes are discussed, I get to learn the error in my ways and make necessary improvements. This method also helps me explain my ideas better during discussions, as I have parts of my implementation ready. I realize that in the process, some parts of work may have to be discarded. But I believe the learning experience is more worthwhile. | ||
== Y: Your task == | == Y: Your task == | ||
* Did you select a task from our list of proposals and ideas? | |||
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. ''Please also wiki-link the page for your elaborated proposal here.'' | |||
* | * Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.'' | ||
[[Category: Summer of Code]] | [[Category: Summer of Code]] |