shobhitic asked: Hey, can you provide some pointers on how you were able to get into gsoc? Is there something I should be doing other than gen coding? Thanks
Well it depends really. If you have an understanding of how open source works, you can start atleast by trying to contribute to some project you can connect to. You could develop your coding skills by contributing to open source than the other way round.
How I got into GSoC, my first post on GSoC is about that.
GSoC Update - After 90 days.
3 months of blood, sweat and tears ended. Not to worry, Spartacus will be back again next year.
After the mid-evaluation, I have kept working on improving the query, making the plugin usable and a bunch of other useful things and it has kept me busy. The Nepomuk query had a complete overhaul : Nepomuk API was no longer used and a manual SPARQL query took its place. This made the query faster and hence the startup time reduced considerably. The query was also pushed to the background and made to run as a separate thread so that other components of Amarok don’t get hung up.
Along with Artist, Album, Genre and Composer, support for Year and Labels ( tags in Nepomuk ) was also implemented during this period. Secondary metadata ( in importance ) like replay gain of a track was given support.
There was a problem of tracks played through Nepomuk being grayed out in the playlist view which was fixed. And the nepomuk collection even started showing the right number of tracks in the UI.
Minor features which look trivial but are important were implemented : The plugin throws a suitable error if Nepomuk is not found or not enabled, Make the compilation of Nepomuk plugin optional even if Nepomuk was found, change the rating of a song through Dolphin or add new tags to it and it gets reflected in Amarok etc.
Though the plugin is not feature complete ( No support for moving collections and creating new tracks in Nepomuk, scores are not being considered yet etc ), the plugin is usable and I have been using it since the beginning. There is no feeling more wonderful when the code you wrote is being used by you daily.
Though GSoC is over, I am committed to the cause of making the Nepomuk plugin mimic the existing SQL backend. I plan to hack on Amarok in my free time and whenever possible.
Though it is a cliche to thank God, parents blah blah after every successful venture, I’d like to be more practical and want to thank Phaneendra who helped me get this project in the first place and then would be the crew of Amarok who pitched in with ideas and ways to make my code better. Matej ( strohel ) helped me by reviewing my code and making sure I don’t have a misplaced * or a ;. Vishesh ( vHanda ), the Nepomuk wizard and my Nepomuk mentor for helping me out on all my queries and even writing the most of the SPARQL query himself. I can certainly call the Amarok gang, my team.
Finally, the success of the project belongs to Edward ( dr_lepper ), my Amarok mentor for the project. His patience in answering my doubts, his support when I was in dumps with a screwed git repo to patting me on the back whenever I made progress is actually a life lesson with my stay in the open source world. There are tons of stuff I learnt from Edward and I’m sure I couldn’t have done a better job with anyone else. I am in total gratitude to him for these 3 months.
An amazing time and loads of knowledge ( not just C++, much more ) was what I could get out of GSoC. It was never about the money, it was about the satisfaction of contributing back, and I achieved what I set out to.
Organizing a college level Hackathon [Part 1]
It has been a few months since we successfully pulled out a 24 hour hackathon in the last few months of stay at my undergrad college. I was one of the event heads and we were a strong team of approximately 40.
This series of posts contains steps and some do’s and don’t’s that might help you before organizing one at the college level. We pulled out the hackathon with exactly a month of preparation. Ideally you would want more.
Step 1 : Get permission and fix dates
Get permission from the college authorities ( or any other ). This can be a tricky part, as many colleges would be apprehensive of having students ( boys and girls ) stay overnight in their campus. They would be worried about security and other implications.
Set a date that doesn’t clash with major exams or other events in the town.
Step 2 : Gather your team
Build a strong core team with people who can help out and work on different categories. Its always better to analyze the strengths of each person and recruit the ones whom you think would really contribute to the event. Event organization pretty much works like starting your own company.
You are only as strong as your team.
Make sure you have people for all the different aspects you can think of. Generally you might need separate teams for :
- Publicity and marketing
- Registration ( works together with the PR and marketing team )
- Hospitality and Stage Management
- Content writers
- Website and technology
Organizing events is rarely a democratic process. You need leaders for each of the teams mentioned above and you need people under these leaders.
Step 3 : Gathering funds
Funds can either be provided by the college or by sponsors or by both. It is always a better option to get sponsors as it brings some credibility to the event and participants usually are attracted by big name sponsors.
Talking to sponsors is a long process and requires a lot of patience. It ideally needs 2 months and a dedicated sponsorship teams which comprises of people with good contacts in the industry. Make sure the personnel on the sponsorship team can deal with heartbreaks and turn downs and are good at convincing people.
Before you start reaching out to sponsors, make sure the sponsorship team has a well thought of, pitch. A pitch that tells a prospective sponsor why he is stupid to turn it down. He is least bothered about how the event helps save the humanity or what the food menu is. He wants to know what is in it for him. The kind of exposure he gets, the information he gets access to and to whom is his company and brand exposed to. A presentation to talk about your event when you pitch might sound old fashioned. But generally the higher ups in a company are old fashioned and old school. So old fashioned methods might be the way to go especially if you are speaking to companies which have layers of hierarchy.
Have 2 people ( preferably a girl and guy ) at the pitch and have a detailed sponsorship brochure. The sponsorship brochure should be sent to the prospective sponsor at the first contact. Don’t forget to carry a hard copy of the brochure when you meet the sponsor in person.
An crucial part that you must have ready before you pitch : A website.
Step 2.5 : The website
If not a fully functional website, at least a minimal one talking about the event and the date, and contact details ( not a gmail email address ). The tech team shouldn’t take more than a week to put this up.
If you have extra time on your hand, gather your design team and ask them to come up with a design theme and a color theme for the event. And follow the same on everything. Everything related to the event should follow the theme, be it posters, tickets, stage backdrop, table cloth, certificate, sponsorship brochure. Everything should follow the theme. This throws a professional look to the event. And even the logo of the event should be designed in this time. Again, it should follow the theme of the event.
Start a little publicity about the event. Ask your team to talk to their friends about it and visit the site. Put it up on Facebook and Twitter. When it comes to college level hackathons, there is always a golden hand on top of you monitoring your moves ( read college authorities ) and who can scrap the event at will. So make sure the event doesn’t garner any negative publicity.
Start a Facebook page and twitter handle only after the complete website is up. Ideally, the website, fb page and twitter handle should be announced and released together. But don’t forget to squat on those usernames.
The next part in the series contains the next steps that should be considered to organize a hackathon.
Being 1PI08CS070 - Sem 5
After an eventful summer, going back to college was something I least hoped for. Since I had moved into a new house by then, the travel to the college everyday become even more short. Gradually so audacious that I started off from my home at 8 for a class which started at 8:15.
We were welcomed on the first day by our HOD with a few old and geeky looking people. The kind you expect Ph.D’s to be. They did turn out to be so. Dr. Kavi Mahesh, Dr. A Srinivas and Dr. Srinath and our HOD, Mr. Nitin V Pujari who was in his usual mood. There they explained the concept of Special topics that we were going to do that semester. I didn’t pay much attention to it. Who would want to grab the tiniest details in the first class of a semester!
This semester had the most interesting Computer Science subjects (for me) till date - Operating Systems and Algorithms. FAFL and System Software were 2 subjects I never understood even though I genuinely tried!
But this semester stands out for me personally because of the special topic. It gave me the confidence for the first time in 2 years that I can develop something really cool. The project involved Ashwin, Phaneendra, me and a heavy algorithm, and we took the road less traveled and devised one of our own using techniques learnt in the algorithms class. The goal of the project was to people to navigate through the campus of PESIT using a GPS enabled mobile device. We pulled it off without using Google maps or GPRS which was a major #win. We had to take special permission which allowed us to bring our mobile phones to college so that we could test the app out. The guards grew friendlier when they saw us roaming the college streets with a mobile phone.
The downside of this new interest in programming was that I started having second thoughts about my plans of a MBA. Though I was ready to drain the 4 years of Computer Science, I wasn’t ready to throw away my hard earned passing grades at Software Engineering the previous semester. And the awesome projects also made me want to give MBA a second thought. But I continued attending classes for CAT and preparing for it.
The affairs in the classroom remained the same. I became good friends with Aashray during this time. His sudden geekiness and newly formed interest in Computer Science got us talking to each other a lot. This semester also brought Ram into our class. He sat in the bench opposite to ours and I knew him from the first year. He went on to become another close friend of mine and played agony aunt to me whenever I needed to lament about something.
The outings with the class group had one interesting incident where the strict vegetarians in the group were arm twisted into going to the hotel Empire for Jayanth and Karthik’s treat. For those of you who don’t know about Empire, it is a non-vegetarian’s haven for every Bangalorean. The Grilled Chicken is highly recommended by many.
The semester was uneventful otherwise. Nitheesh and me had given up on Bovo. He was winning too many times. The special project demos went well where we got our guide Dr. Kavi Mahesh to walk in the streets of the campus using our GPS navigation app.
The exams were, to say in one word, decent. The final evaluation of the special topic went well too and we got both the evaluators to take a brief walk using the app. Everyone seemed happy with this sem.
As the holidays dawned, Nitheesh, Phaneendra and I met Sandeepa who had a unique idea for a startup and wanted us to work on it. We readily agreed as it was a web development project and we had to do another special topic for our 6th sem anyway. We started working on this project as soon as the holidays started and had a lot of fun ‘cos it was the first time the 3 of us were actually working on a project. ( the last time the 3 of us got together for a project, I never worked! )
The results came out and surprisingly many people in our class got the same GPA. I was quite satisfied with how well the sem went compared to the disastrous 4th.
Things learnt -
- There is always one program that you always skip for lab examinations
- Life can be unpredictable and twisted, you will end up liking and doing things that you never thought you would.
- You can’t plan for a very long duration and expect it to work out the way you want it.
- I can code!
GSoC Update - After 40 days.
I like calling it Amarok - Nepomuk. It sounds neat.
It has been 40 days since I first started work on my GSoC project - Semantic Collection for Amarok. The progress? A picture is worth a thousand words -
( If you find the image too small to digest, use this link )
If you can’t make out anything from the pic, notice the “Nepomuk Collection” under “Local Collection”, in the left pane. It has tracks listed under it too. And that is what I have been trying to achieve these 40 days.
The major milestones and features until now are :
- The Nepomuk Plugin can now be found in the settings of Amarok under “Plugins”. Use the checkbox to enable Nepomuk Collection. Yes, it is that simple.
- Once the Nepomuk Collection plugin is enabled, the Collection browser shows the Nepomuk Collection.
- The Nepomuk Collection also lists all the tracks scanned from your Nepomuk index. So, the results you obtain when you can apply the ‘audio’ filter in dolphin while searching, all of them will now be available in Amarok
- You can use the tracks from the Nepomuk Collection as you do in a normal Collection, you can double click on them to start playing, add them to playlist etc. You can search for tracks on Genre, Artist etc.
- It doesn’t scan the whole of your computer hard drive, just the folders that you have checked Amarok to scan. This can be modified in the Settings window of Amarok.
The Nepomuk Collection is still minimal in functionality. But you could give it a spin using my repo here. Be warned it is still in a very immature stage and will be unstable, though it hasn’t crashed for me yet. But if you like Amarok, Nepomuk and adventures and have some spare time to compile code. Give it a try. Good karma is assured from my side.
What I’ll do next :
- Fine tune the collection, the score of each track is not being set currently.
- If labels differ in their capitalization, they are considered different. Should fix this.
- Optimize queries. They currently take a lot of time, which make Amarok take quite some time to boot up, depending on the amount of music tracks you have on your computer.
Please do drop in a comment if you would like to be alpha testers for this plugin. I will help you with installation.
Being 1PI08CS070 - Sem 4
The 4th semester stands out compared to all the other 7 semesters, but unfortunately not for the right reasons. This was the time I was sent out of class multiple times for multiple reasons. I did feel heroic and rebellious, the first few times I was sent out of class. I sometimes used to imagine the whole class applauding me as I walked out. Later on I just grew into it and became more realistic about people applauding me.
My tolerance towards Math, rather Calculus was at an all time low. From loving the subject 2 years ago to detesting it thoroughly. I was waiting to be done with 4th semester so that I could see the end of Math in my life. I vowed never to give a second glance at Calculus again.
The teacher (whom I won’t name in case I’m held liable for defamation), reminded me of Dolores Umbridge from the 5th book of the Harry Potter series every time she taught(?) us about Calculus and some weird graphs and equations. She turned particularly hostile to me over time, and ended up losing a chunk of my attendance as punishment ‘cos of her wrath. I do agree that I was guilty a few times. But sometimes I ended up being sent out of class just for the heck of it. One particular incident I still remember is being sent out of class for no fault of mine along with Nitheesh, Phaneendra and Mayur. I was used to being sent out by now and took it with a pinch of salt, but Nitheesh was enraged out of his wits. This was the first time I saw Nitheesh ever being angry at something, and he was a little hard to contain. Thankfully that was the last time I ever saw him go ‘The mighty Hulk’ in college.
My liking towards each of the subjects of 4th semester were contrasting. I liked Graph theory and DBMS, detested Calculus, ran away from Microcontrollers and was helpless at Software Engineering.
My disinterest towards Computer Science led me to think of different career options and the thought of earning shit-loads of money that an IIM MBA grad commands was too enticing. I thought I could pull it off and enrolled for coaching classes for CAT, 1.5 years before the actual CAT. I thought this could buy me more time to crack it. This was one decision that blew up in my face. Multiple times. I didn’t even write the CAT in the end. In short, I flushed 25k down the drain. More on this later.
But I don’t regret attending those classes. I spent a lot of time with my best friend from school and PU, Sachin and his friends from BMS during this time. I was exposed to the real side of adolescence, finding myself frequenting hooka joints thrice a week, yet not smoke the holy grail. I succumbed to the pressure later on. Oh well, a few puffs shouldn’t hurt right? But then, I always made sure I didn’t overdo it. And I stopped working out, into the middle of my 4th semester.
I spent most of the time in class playing bovo with Nitheesh, and stopped when he got really good at it and almost unbeatable. His wicked taunts when he was about to win were too much to bear. I almost felt murderous. Then Nagarjun and Kiran joined in and we started playing bovo doubles and they made sure they killed all the fun out of the game. And this was also the time of FIFA 2010, the only game where I could whoop Arjun’s ass at. But then he too went on to become unbeatable at it after a few months. The most epic FIFA rally happened during one of the classes on VB by Mr. Rajkumar where we were allowed to use laptops during lecture hours. Arjun, Hemanth and I ended up playing FIFA for the whole two hours against each other on LAN.
The situation in the class remained the same. The split between the guys in the class was evident. The localites and the north Indian folk sat in different geographical locations barring our bench, with Mayur and Jitesh giving us good company. Thankfully it all changed in the later semesters with the whole class coming together on multiples occasions.
The end of 4th semester had Aatmatrisha(AT) happening which was more depressing than the previous year AT. But I met Divya through Apin in AT 10 during the sleep inducing performance of the band ‘JAL’. She went on to become a dear friend and the time spent with her, a major influence in my life even to this day.
The ‘burn in your pocket’ birthday tradition was still alive and this time in a new avatar. The bunch of guys whose birthdays fell in the month of May and June (includes me!) partially sponsored the group trip to Coorg. The 3 day trip was our first major outing and it turned out to be considerable fun and paved the way for many more later on.
A picture from our trip to Coorg. This was in Talakaveri.
I decided to not do anything during the summer break. Computer Science wasn’t my thing and I decided to devote my time towards my prep for the CAT. The summer was quite a ride and ended up doing a lot of new stuff. And unsurprisingly I didn’t study much and wasted 2 months almost to the extent of not opening a few books. The summer also featured my first trip to Goa with friends. And I indulged in the usual things any self respecting engineering student visiting Goa would do.
When I look back, this summer was how I always wanted to spend my summer breaks. I actually let go and took a break from normal life. I have been trying to take a break like one of these since then, but never succeeded as I got myself busy with something new each vacation.
A picture from fort Aguada in Goa.
Things learnt :
- Graph theory
- Definitely not calculus.
- A little indulgence is ok
- Being a nice guy is nice. Only for sometime.
- You never like beer the first time
- You never know where life might lead you and to whom
GSoC - the real deal begins!
My last post spoke about my selection in GSoC and the project I was working for. I had constructed my timeline to give me adequate time to research the architecture of Amarok and make a few important decisions.
In the meantime, my mentor Edward “Hades” Toroshchin asked me to come up with a brief doc describing Nepomuk, how to use it, browse the data, query the resources and a short tutorial of SPARQL queries and a few examples of them. You can find the documents and tutorials here.
The major decisions that were taken until now are :
- The 2008 code for Nepomuk integration is not valid anymore due to the extensive changes in Nepomuk API. So it won’t be used for reference or will be used as base.
- Strigi as of now is not as good taglib for extracting audio file metadata. I will be working on enhancing this part of Strigi. But I will only commence work on this from August after the NepomukCollection and NepomukQueryMaker is ready.
- My next move would be start coding on the NepomukCollection and NepomukQueryMaker. The current collection classes hierarchy is as shown in the image below. See the detailed documenation of the Collection classes here.
I will be inheriting from Collections::Collection and developing the NepomukCollection.
Similarly, the current QueryMaker class hierarchy is as follows. Again, I would be inheriting from Collections::QueryMaker and build the NepomukQueryMaker. See the detailed documentation of the QueryMaker here.
PS : Have I told you how awesome and welcoming the Amarok community is? The team makes sure you are always made to feel at home :)
And the new Amarok 2.6.0 beta is released for testing. You should grab the tarball at http://amarok.kde.org/en/releases/2.6/beta/1 and test out the new awesomeness included.
Being 1PI08CS070 - Sem 3
The holidays started with a group of guys going to Wonderla, to celebrate the completion of exams, and well the birthday treat of Ananthesh and mine.
Photo credits : Ashwin
The automobile engineering course was 2 weeks of wasted time. But I did have a lot of fun and made a few friends there many of whom quickly went on to be forgotten. Apart from that, I wasted time playing games in Siddarth’s house and the occasional football with my school friends.
Results were announced and I had fared a tad better than the previous semester. More than that, I was quite relieved to be done with Chemistry and alike. The holidays ended earlier than I expected, and I was quite pleased to enter the Department of Computer Science since there was no Chemisty and Electronics to bother about anymore. And I even had my new Yamaha FZ-16 to make my college trips that much more interesting. I got it just before the sem started with Sachin who got a Fazer.
The subjects got interesting this time around, with Linear Algebra making Math pleasant again and Data Structures ‘cos of the high internal marks. This was also the time Nitheesh and I stumbled on Bovo which is an extended version of naughts and crosses, and how it changed our lives! We played it forever, from 8:15 to 3:30 for days. Lunches skipped, books depleted, championships changed hands and in the end we could proudly say we were the best tag team bovo players in the history of all bovo players in PESIT (which on the last check, the count was 4).
3rd semester was when I found my true calling with friends, I moved to the far left column and sat in the 3rd bench with Nitheesh, Phaneendra, Mayur and Jitesh aka Lalooo . I became good friends with Preethi and Shreyas too, with Preethi coming in from the other class and Shreyas from IS.
The birthday treat system became more of a forced one than voluntary, with no one complaining except the one who was treating. I particularly want to mention one of Karthik and Phaneendra becuase
- This day I met with an accident and made the other party cough up.
- Our first trip to Krishi, before (almost) all of us got sick of it.
- The first mass (nearly) bunk, of Discrete Maths class.
- I look good in this pic, I do so in very few pics so. And it gave me a good DP later on too.
- Linear Algebra
- Working out is good!
- The streets of Vijaynagar has the best lemon tea and egg fried rice.
- The more you delay talking to the girl you like, the quicker she is gonna be taken.