I wanted to get better in web development and learn a framework for the same. This time I changed things up and tried project-based learning. I am building a web app in python flask as I learn it’s concepts to get a better understanding, But that wasn’t enough to know how real-time projects work and […]
Open Event Server (Testing)

Introduction Hello Everyone!! I am Rohit Dandamudi, more commonly known as diru1100 in IRC and all other sites. I am currently doing my final year in Computer Science and Engineering at Chaitanya Bharathi Institute of Technology, Hyderabad. This summer, I had the wonderful opportunity to work with MetaBrainz Foundation and it’s my first time participating […]
GSoC 2020: Spam detection with online learning
Little intro- Smart India hackathon is the world’s largest hackathon conducted by government of India. SIH 2019 got around 2,00,000 applicants this year to participate, out of which 7,000(approx) were selected based on the abstracts/solutions submitted by the students for the problem statements given. The contest is team oriented one with each team consisting on 6 people. If interested all details can be found here.
Stage-1:(Mid Nov — Mid Jan)
This is the stage where we submit our solutions in prescribed abstract format for the problem statements we find interesting and can provide innovative solutions. It’s pretty straight forward, you can submit as many abstracts as you want but only one will be selected, be sure to choose the one’s you like. We wrote 9 abstracts in total and all were based on web applications.
Stage-2:(Mid Feb)
The abstracts which the organisation finds useful to them will be accepted and the respective team will be notified about the same. Once accepted the team has to choose 2 mentors form any field who they think will be helpful in completing the solution they drafted. We got selected for the problem statement on ground water intensive areas by the organisation ministry of water resources. There will be a nodal center assigned to you where you will going for the hackathon. It is better to do research/basic work of your solution before the actual hackathon to get comfortable with the technologies you use.

Stage-3:
This the part you will be coding for 36 hours straight, before that some speeches by the government officials and your nodal center will be given to motivate you.
This is the schedule we got, it might change a little but the main idea will be the same.


There will be 3 rounds of evaluation done by respective problem statement organisation and technical person during the hackathon.
Traning round must be used to get to know exactly what is that you are working from the evaluator as he/she won’t be expecting much from your side. Try to get perfect clarity on the problem statement and it’s real time use case(who will be using and what fundamental options do they need). Coding right from the beginning might look like better use of time but this must be given highest priority as you will be evaluated based on how well is your solution compatible with real time use case.
rest all rounds will be based on how well you present your implementation part to the organization and make changes and modifications based on the feedback you get from them. Those who are just starting out learn to use frameworks and keep your whole implementation in one laptop with a backup option. The evaluation might be different based on the judges and the problem statement; some appreciate a good front-end while some see how well you integrated the data you got from the backend and gave some specific output. You have to figure out where to give importance based on your judges.
For us it was to make a map using totally synthetic data, we added a few features along the way. We kinda balanced out on both the parts, we should have kept more focus on fornt-end.

At the end it’s a team event, make sure to have fun along the way and make best use of the opportunity.

Selected abstract can be found here
Update Oct 2019: Check out this cool site which provides various OS’s for free online.
Trying to keep my end of the deal (to blog regularly), so this weekend I thought of doing something I have been putting off for a long time but wanted to check out ever since I got to know about open source during an event called jugaadfest where I met couple of FOSSASIA developers from all over the country.
Not knowing anything about open source and how a community works I went there with windows installed laptop, and later when I got to interact with a particular team they told us to install the application locally so as to get first hand user experience and go further ahead on what happens. Overall I wasn’t able to understand the commands given to a install in windows environment. Later when asked about the doubt most of them were saying I don’t use windows, but he was using a DELL laptop right in front of me!! I thought he must be lying to avoid me but turns out there’s this free OS called Linux out there which I have heard but never seen working. Although the teams from FOSSASIA were involved in different technologies, they all had Linux as their primary OS. The reasons which I have told for extensive usage were:
- It’s UNIX based
- It’s open source and has good support
- It’s FREE!!!!
the list can go on forever…………
I have tried to put Linux in a VM but didn’t do it for some reason I am can’t remember. Few days later I was planning to throw/sell my oldest laptop ever(Lenovo G560-don’t look it up it’s ancient). Before doing that I did a quick google search on what can one do with old hardware laptop, then many replies involved installing Linux and live a lag free life doing some basic tasks.
Now I was dead-set on booting Linux in my laptop, now comes the trouble it seems Linux has dozens of variations for each specific need that the user requires, I didn’t even know what most of them even meant. Again after some google search and asking my seniors I finally decided to install Lubuntu 18.10 (flavor of Ubuntu) in my laptop as it lightweight and efficient, thus I have booted my system with Linux ^_^.
Here’s a quick way to boot up yours as well :
- Go to this site to download the Lubuntu ISO file(OS file basically ) depending on your computer specs.(32/64 bit and your OS)
- Now if you want you can try out Lubuntu without disturbing your current OS(known as live version).
- For that you have to make a portable hardisk kinda thing to store this temporary/live form of OS without installing it. To do that:
- You have to plugIn an empty 4GB or above USB drive .
- Then you have to install Rufus(download latest one)(which basically converts your USB drive into a bootable hardisk where this live Lubuntu is kept).
- Now follow the tasks given here till the end and you will end up with Lubuntu Booted USB.
- Next you have the simply restart the machine and go to boot setup before starting up up (Generally F12 but mine was F2 to go to the boot menu) and either change the order of the hard disk present in the boot section or just select the USB drive under the same.
- For that you have to make a portable hardisk kinda thing to store this temporary/live form of OS without installing it. To do that:
- After all set and done it asks for your language of choice and keyboard style of choice but be warned that all the drivers you have installed till now for windows for external peripherals like Bluetooth mouse, TP-Link drivers etc won’t be working now but that can be fixed later on.
- At last if your experience is good you can install Lubuntu from install file present in desktop and you are all set to go.

The above steps only cover for windows part of booting Linux, although I didn’t use it much to leave a comment it did get shut down in under 10 seconds while it forever in windows so fingers crossed…………….
So after lot of messing around and failing to do multiple things at a time in the name of multi-tasking I decided to take a step back and reflect on my mistakes. Later concluded to do one thing at a time of which blogging is one, I will try to write as many blog posts as I possibly can on what I learn with a gap not more than a week.
My third semester (2-1) is about to end and here is what I did till now in brief (separate blogs for each thing I did will be uploaded soon):
- I have decided to do a different mini project from what I wrote before which will be covered in another blog.
- I have been introduced to the world of open source Git and GitHub. After that I have done the following to explore more in this field:
- Have attended the first jugaadfest which is an event organised by FOSSASIA which is an open source organization and got to know how fun it is to be part of a community.
- After attended jugaadfest I have participated in world wide event to celebrate (Hacktoberfest) last month as a part of 24 hour hackathon organised in my college which yielded in me doing 5PRs and completing a small project with a bunch of strangers in a day.
- Participated for the first time in so called Olympics of programming competitions(ACM-ICPC) and got myself acquainted to this side of fun world filled with problems based on data structures and algorithms.
- Attended an AI and Machine Learning bootcamp held in my college to get to know more about what actually happens inside apart from the vague words I hear from everyone.
So this semester I have an opportunity to do a Mini Project as part of my curriculum (Lucky!!).Although at first I was really excited about this ,I don’t have any expertise over any particular programming language nor do I have any experience doing a project with different technologies.
Many of my classmates stick to the basics and started doing pretty standard projects like library management system and similar things in different fields(Hotels,Hospitals etc),they are playing it safe to avoid any marks deduction and unnecessary stress to complete something(In no way am I implying that these are easy or waste of time ,they are good in their own way .Some are even trying to make it better by adding new interesting features.).I on the other hand not having any practical knowledge (though I had C and C++ last year and currently have Java )or clue of what I am getting myself into ,submitted an abstract of making a image recognition android app,yeah I know it sounds but I have no clue what to do .
After searching the web for lot of time I came across these terms or resources ( I have to do my project in Java or C):
- Android:
- For image recognition:
- Tensorflow tutorial This is more useful in Python or C++ I think.
- I saw this thing called OpenCV and enrolled in it’s course as well.
- This is a Google API which can be used with some restrictions.
After watching Youtube videos on this topic and asking around I think this more than possible if constant effort is given.
I also saw a similar app while searching online it is called Florist -app to identify flowers
My app doesn’t recognize all images but it is used to solve a very specific problem that I saw (hopefully).
This is the casual abstract I wrote – Read to get an idea of what I wish to do
I was amazed after seeing all the diverse things that one can do with programming and how each field is filled with many exciting technologies.These many options made me think which is most suitable for me? I too even don’t know the answer for that but i am going to learn as much as i can and hope i will meet something which i like in middle of this long and fun-filled journey,ergo this blog is made to share my experiences as i go on my journey.
You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.
— John Romero


