It has happened - GSoC 2016 Selection!

Wow!

photo_2016-04-23_12-26-30-2

I have been selected for the Google Summer of Code!

For the better part of the summer vacation, I will now be committing myself to write code for KDE to implement my project idea of implementing a virtual folder in Dolphin to make it easier to select files.

As a primer, the Google Summer of Code (GSoC) is an annual event organized by Google for drawing students to work on open source projects with a nice stipend, goodies, and fame. The GSoC is a term one would hear pretty frequently when talking about the technical prowess and coding culture of a college.

This year, BITS Pilani - Hyderabad Campus had a record number of a total of 7 selections! This is more than double of our previous record. This in some ways, might be the start of the technical culture wave this campus was looking for so long.

The File Tray idea for the GSoC came at a difficult time, hardly a month after the entrance exams in 2015. It was at a time I was frustrated with everything I had done and I didn't have any energy to pursue anything at all having been completely drained out by the entrance exams prior to it. From there, the project sat on the list of "Things I Might Do In The Distant Future". The project idea was known only to a few close friends and my tiny programming diary.

It was only till November 2015 when I stumbled across the GSoC. I began looking at open source file managers for which I could implement my project idea. I had been using Linux with various desktop environments for about 4 years at that point, so I had a pretty decent idea of what to look for. Writing this feature for GNOME's Nautilus was the first thing I looked into as I had been using Nautilus for a while and I was a big fan of Nautilus's simple to use interface. But, the problem was that Nautilus was a C/GTK+ project and I had no desire to move on to using C after having C++ in my comfort zone for a very long time. Fortunately, Dolphin, one of the best file managers I had used since my days of using KDE, used C++/Qt, a toolset I am much better with. I felt my project idea was a natural fit for Dolphin's Split view mode. KDE also had an excellent record in the GSoC with a very good number of slots and a high percentage of successful projects. This began my tryst with Open Source development.

From there on, I taught myself Qt and during a Diwali vacation on campus, I managed to make a very rough prototype application of my project after coding for 6 hours straight from 11pm to 5am the next day. Following this, I subscribed to KDE's mailing lists and after lurking around for a while, I started asking for feedback on my GSoC idea. With surprisingly positive feedback from numerous KDE developers, I realized that there might just be a non-zero chance of getting selected.

Things quickly began falling into place and I then moved on to the next step of hunting around for bugs I could fix and new features I could implement for Dolphin. The bug-fixing was as enjoyable as it was occasionally frustrating. Reading over 20000 lines of code certainly took its toll when I had no idea when how different parts of the application meshed together. In the end, thanks to the guidance of Dolphin maintainer, Emmanuel Pescosta, I managed to fix a couple of things for Dolphin and moved on to the next step of making a proposal for my GSoC application.

Starting off with making a competent proposal was like launching off ground zero as there were very few people who had successfully completed the GSoC from our campus and most of these people had graduated well before this time. I started digging around for proposals accepted by KDE in previous GSoC's. What I couldn't get from all the proposals was some sound advice from seniors. In particular, Naveen Jafer bhaiya (who also went on to achieve a GSoC project of his own!) helped me with making my proposal as good as possible. In the end, after painstakingly checking every word in my proposal for what felt like the fiftieth time I submitted it on 25 March, only to spend an anxious month waiting for the results which came out at 1230am IST on April 23. While it still hasn't sunk in yet (!), I am sure that this will make for an awesome summer vacation!

What do I do now?

I spend a lot of time thinking since I've joined college.

I had postponed a lot of introspection during the two years I spent slogging away for the JEE. But now, with ample free time and practically no requirement to go to classes, I've finally got some time to look back and see how things have turned out. College started off on the back foot, and while 1-1 had its charms, I wasn't exactly happy about how things had turned out at the time due to a bad time with the entrance exams for all the wrongreasons.

But I digress, as time has passed, I have learned to live with my failure a little better every day, though it still sticks out like a sore thumb on an otherwise decent academic profile. Despite this, it has been an interesting exercise is to compare what I expected from college a year ago and reality.

To be fair, BITS Pilani (this applies to all campuses, but in this case, Hyderabad Campus) has some of best internal systems among all Indian colleges. Optional attendance, good grading system, decent infrastructure, and a lot of freedom is more than what can be asked for in a lot of other colleges. Despite some glaring flaws such as the lack of a solid technical culture, this college has punched above its weight for a new institution.

But as an engineering utopia? I feel like we are way short of the mark AaronSwartz mentioned in his blog:

"Perhaps it’s natural, when doing something so greedy and practical as a startup, to pine for the idealized world of academia. Its image as a place in an idyllic location filled with smart people has always been attractive; even more so with the sense that by being there one can get smarter simply through osmosis. People describe a place of continual geekiness, of throwing chemicals into the river and building robots in free time. A magical place for hackers to just enjoy themselves."

This aside, I am of the opinion that the version of me a year ago would have been sorely disappointed by the version of me today. I feel that I was much more hardworking and efficient back at that time. The two years in JEE preparation were undoubtedly the worst years of my school life but now looking back, those dark days brought out the best in me in the briefest of moments. Had I not prepared for JEE at all, I would have had no idea just how driven and hard-working I could be for a goal that would always be just a touch out of view.

Despite my frustrations with life during JEE preparation, the epiphanies I used to have on weekly basis with studying physics kept me going. It was a positive feedback loop with no goading required. On the other hand I can't remember the last time I actually enjoyed learning something in class in this college. I hope it isn't a sign of things to come when I start "engineering" coursework in my second year but as of now, I have pretty much lost all motivation to study. The unbridled enthusiasm I used to have when studying for the entrance exams and the giddy thoughts of making batshit crazy projects in college has dwindled. In my first semester, it was a convenient excuse to blame this on burnout after pushing my limits for two years but I've come to realize that the reason is probably shallower than that. It's not just with academics though - wasting time still feels painful but I have nothing I want to do to fill in the gaps. Is there a cause for this? Probably. Have I figured it out? Absolutely not.

It feels like an artificial conflict of time between these misguided academic pursuits and to actually work on something worthwhile. I could put up with it in school with the thought that there would be enough free time to pursue this in college - and while there is - it begs the question why such artificial restraints on time in the form of exams are always looming in the first place.

At this point of time, I don't know what to do. With compre in half a month but a GSoC project and a couple other projects I've planned in the pipeline, it's a pretty easy decision to make the choice of which one of these two things I would want to work on. For a CGPA for which I cannot care for anymore, it might be one of the worst decisions I can make.

GSoC 2016 Project Survey, help me make Dolphin a better File Manager!

Hey everyone!

I am a first year computer science undergraduate from BITS Pilani, Hyderabad Campus. I am looking forward to working for KDE for the GSoC.

My project idea is based on solving a problem all file managers have had for years - the lack of an easy to use file selection tool. My project aims to simplify selecting files from multiple directory trees.

I am running a survey to gauge community feedback on my idea and to finalize the user interface and features list.

The link to my idea proposal can be found here: https://goo.gl/1Nj4SY

And the link to my survey can be found here: https://goo.gl/forms/5JSZXNganX

TIA for the feedback : )

Composite Photography

Ever since I got my new Canon 700D, I've been looking more into photography as an art than ever before. Thanks to internet photography guides, less light pollution in uni campus than urban Bangalore, and some more proficiency with editing software, I've been able to produce more interesting photos than before. Another thing which I've changed is my stance on editing. Until recently, I was of the opinion that my photos should be as virgin as possible, with editing restricted to nothing more than cropping or watermarking. Now, I subscribe to the more accepting (but still conservative) school of thought: that editing should be used to bring out the best of an image while keeping its basic elements intact.

However, contradictory to the above, one photography art form I've really enjoyed doing is photography using composite pictures. In composite photography, the photographer takes several frames of a scene and then combines all the frames together using special software. I guess my favorite part about it is the surprise element of the final image - I have no idea what the output is going to be till I've post-processed the images on my laptop computer. It's been very early days for me when it comes to composite photography, but here are a few photos I've felt are worth sharing:

StarStaX_IMG_9937-IMG_9966_lighten-1 StarStaX_IMG_0095-IMG_0009_gap_filling

Star trails! I've always wanted to try my hand at astrophotography, but never could due to Bangalore light pollution and due to not having a camera with good noise reduction.

These two images take advantage of the comparatively lower light pollution in the campus. These photos are a stacked result of multiple exposures - the first one combines fifty frames and the second one combines nearly a hundred. Each frame uses identical settings for the best stacking results.

We shot these from midnight till 2am using laptops for camera tethering and intervalometer settings. I can't stress on how important having a tripod is for this - the slightest shift between frames would've given us terrible discontinuity in the final image. The final images were composited using StarStaX.

IMG_3689---IMG_3725-resized

360 degree panorama image of BITS Pilani, Hyderabad Campus! Taken from the middle of the football field, it is a panorama of 33 images stitched using hugin for Linux. I set up the camera in a portrait orientation with the tripod and tried to make a composite by overlapping 30-40% of each image. Post processing felt like it took forever due to the gigantic images and the final image was a whopping 70.2MP (30000x2404) and is 130 MB large. Although a couple of frames were shot using the wrong exposure settings, hugin managed to do a really good job in keeping the differences minimal though there still are a couple of splotches due to my ineptitude. The uncompressed, full size version is here: https://goo.gl/iY5v14

mini-planet-footballfield

This little planet picture uses the same panorama as the previous image. It's a much simpler to post process this with a panorama than it appears. It was created by resizing the image to a square following a polar coordinate filter transformation in GIMP to roll the image and to line up the ends. If I had to do this image again, I would redo it at night with long exposures to give it a more spacey flavor.

As closing remarks, I'm overall pretty satisfied with how easy it is to make simple composite pictures using software. I will probably get back into making more of this again, but probably after I work on another project ;)

Midnight Photography!

Hey guys! I haven't been able to get too many scenic shots of late, so I've invested some of my photography time in taking photos at night. Here are some of the shots that I've recently taken with my camera.

IMG_0131

I really like employing this technique. You need to get someone to hold a torch while the camera is mounted on a tripod. The shutter was open for 15 seconds, ample time to draw the chosen letters. It works great for pseudo stop motion too!

IMG_0790

Wow, I honestly admit that I didn't expect a shot like this! It was a simple matter to shoot it by mounting the camera and leaving the shutter open for a few seconds. The depth of field is stellar and I think the purple backdrop gives a nice setting to the scene. My only gripe with this photo is that there are too many buildings in between and that it would've looked much better if I had shot it from around 50m above ground level.

The other pictures you see are of the moon (if you haven't realized already :) ) These photos were taken over different days in the span of a few months and hence, the lighting changes considerably. My camera isn't a champion performer under low light conditions and the digital noise at high ISOs is evident. But I'll leave that to you to judge. I tried my best in obtaining relatively clear images (which is a pretty difficult feat when the camera's digital focal length is 2240 mm!)

IMG_2268 IMG_0357 IMG_2303 IMG_2306

I hope you enjoyed this edition. Please feel free to drop comments!