Chaitanya Tyagi
@chay2199
Chaitanya Tyagi
@chay2199
Developer, coala
Ranchi, India
I am good at thinking out of the box and I always try to encourage myself towards exploring new ideas. Each day I observe the problems around me and finding their solutions drives me from within. The hardest problem that I have solved is of finding a generalized way to make a user visualize his/her C++ code. The idea was to show the changes happening in each line of code to the users graphically like in a YouTube video or like a teacher explaining a piece of code on the white board using arrays and various data structures. The problem in YouTube videos and white boards are that you have to make a different video or a different sketch for a different piece of code. Thus we tried to automate this process. We extract the data stored in the variables, arrays and data structures using a C++ debugger called the gdb using python script and gdb scripts and then we send this information to our server using php which converts all this information into graphics using JavaScript on the code editor. The process is far from finished yet but it works for most of the code or algorithms you can find or write and we are still trying to make it better.
Project link: https://github.com/hackabit18/Dank
By working on this problem I have learnt a lot. The problems we faced seemed humongous because to make such a debugger we have to take care of each variable, data structure, function and much more. A function can call itself and they can call other functions and thus the possibilities were infinite and we were about to drop the idea all together. But finally we realised that for us humans the possibilities seam infinite but a programming language deals with it everytime so generalising all this must be possible and we finally discovered a way. Also I learned how to interlink the work of various languages and use it to host the final output on a website. I discovered that languages like python, JS, PHP and all others are good at doing some processes and not all thus a software developer must learn how to adopt to any language.
Organizers should accept me because I'll always bring new ideas on the table which will be really helpful and possible to implement.