A Summer at Precog

Prof. PK visited my college, BITS Pilani, Hyderabad Campus in March 2018 and gave a talk. The last slide said that he wanted interns and that was an opportunity I wasn’t going to let go. I applied, and after a task and an interview, I was in. The internship process was really smooth and all issues were dealt with promptly. IIIT Delhi does not let bureaucracy hinder work and progress. I love this fact about IIIT-D. There are many such small conveniences that make a big impact by easing out students’ and researchers’ lives. Everyone’s time is valued here.

The best things about Precog is its people. There were RAs and PhDs who led projects and discussions. Research sometimes can be solitary work and often prone to small setbacks. For someone like me, who was venturing into research work for the first time, the support and help from the RAs and PhDs was very necessary. I’m pretty sure all the interns felt the same. The people at Precog intellectually feed off each others’ brains. The internal mailing lists are a proof for this. I learned new things everyday. Where else will you get paid to learn a lot 🙂 ? I’ve learnt from each and every person during the 2 months I spent in Delhi.

The Team <3

The culture at Precog has been influenced a lot by Randy Pausch. For those who don’t know him, stop reading this right now and read ‘The Last Lecture’ or watch the talk on YouTube. I adored the Randy Pausch memorabilia scattered throughout the lab and PK’s room. We used to have a WhatsUp, a short meeting where everyone told the status of their work, every alternate day. I felt that the WhatsUps were like Scrum standups, except every alternate day. They were helpful since anyone who was stuck could explain his/her problems and ask for help. People also got a general idea of what everyone was working on and they would pass on relevant research papers or articles around. About once or twice every week, PK would ask someone to summarize a research paper. I did that a couple of times and loved doing it. From never reading a research paper to summarizing long papers, I feel I’ve come a long way.

At Precog, we had our share of fun too. We regularly went out to Nehru Place(good food ftw!) in the evenings. PK hosted a party for all interns at Barbecue Nation, and it was great! PK couldn’t be with us then, but he made sure to video call us. Many such small gestures show his love for the team. At the start of the internship, Prof. PK told us “Work hard and have fun too.” The people here made sure we followed that 🙂 . A new habit that I picked up here was playing board games. I was introduced to Catan and Small World. The fact that they still work together after playing Catan just shows how strong their bond is! (Those who’ve played the game understand this 🙂 )

The work at Precog has a direct social impact. Work on many diverse projects goes on simultaneously. Just listening to others talk about their work helped me learn a lot more than I expected. Isn’t it great to learn stuff without putting in a lot of effort. I was lucky to see the speed with which the WhatsApp lynchings problem was attacked. Seeing your solutions affect the world is a really satisfying thing. The Lab windows have research papers authored by Precogers taped for people passing by to read. Looking at the amount of effort the people here put in, I’m sure the window is gonna be full soon.

I’m writing this blog a month after my internship was completed, and this has helped me understand and appreciate the things that I worked on and learned in the summers.

I would recommend undergrads to do a research based internship for the experience. The lessons that I’ve taken back are helping me a lot. One of the most important thing that I’ve learned is that you have to be patient to solve research problems. Getting such an attitude adjustment early on in one’s career is like finding a treasure. Feedback from the RAs and PhD folks helped me a lot with setting expectations. Expect too much and you’ll feel overwhelmed/discouraged. Expect too little, and you’re squandering away your talents. I appreciate the help with finding the thin line in between. I now notice that full time research work is a bit different than working on a project with a professor during the semester. Make sure you like the latter if you are considering a research based career.

During my initial interview with PK, I told him that I wanted to see if a career based in research was the right thing for me. The internship at IIIT D helped me confirm that it indeed was.

I really thank Prof. PK and Prof. Arun for this great opportunity!

A tryst with Precog : My journey of 2 years, an adventure of a lifetime

I am writing this blog entry after an incredible period of 2 years of work at Precog, which has surely given me a multitude of tangibles to talk about. But, it will be the intangibles that Precog has left me with, which will be the hardest to pen down on a single blog. My time working full-time at Precog has had an overwhelming impact on my life and career. It is undoubtedly the differentiating factor in my life, which has placed me into the Masters program at Carnegie Mellon’s School of Computer Science. It is difficult to describe the feeling I have for my advisor, my fellow lab mates, how each and every one of them have inspired me to become a better version of myself, and how I wish to take all these people with me for my future endeavours. The people I met at Precog ended up becoming the most valuable resource I possess right now.

Two roads diverged in a wood, and I took a leap of faith:

Joining Precog as a Research Associate is one of the toughest decisions I had to make. Coming from NSIT, which largely has a placement oriented atmosphere I just wanted to get a decent job and work in the tech industry for a while; a job which I did land through campus placements. But something did not feel quite right. I had a feeling that my job wouldn’t challenge me enough. I wanted to try something offbeat, which is when I started searching for full-time research opportunities.

Based purely on my instincts (and definitely second-guessing myself all along :P), I decided to refuse my job offer, take a leap of faith and join this research group named Precog as a full-time Research Associate from 14th June, 2016. It was definitely a tough call given how all my friends were about to begin jobs with reputed MNCs, and here I was, making dumb decisions based on gut-feelings. Remarkably, I also wasn’t someone who was dead sure of going for my masters, yet I took the call of venturing out to unchartered territories. However, looking back at that time, it is one decision that I can definitely feel proud of.

Here at Precog we often talk about the remarkable strength of weak ties in life. I would like to iterate how it was some weak ties and cold messages that helped me apply for this RAship. When I look back at the last two years at Precog, it has been definitely been the most fruitful period in my life, and I feel that a big credit for that goes to weak ties in life

Burning the midnight oil, and surprising myself:

From day one, I began working on two projects at the same time, one having a steep learning curve and the other one being classic exploratory research. Both completely new things for me. In the 3 months that ensued my joining at Precog, I realised what working hard actually meant. To the point that it made me question the ‘hard work’ I had put in last 4 years of undergrad. I was learning too many things at the same time, and everything that I learned just left me hungry for more. For the first time in my life, I tasted the satisfaction one feels at hitting brick walls and eventually taking them down.

Most of my initial weeks at Precog saw me working tirelessly all night on one project, and then waking up early to make progress on the other. In these first few months, I truly understood how everything in this world is simple, but not easy. Simple, but not easy. The quality of both the projects ensured that for the first time in my life, I was happy to be burning the midnight oil; the oft sleepless nights that did not end before I hit my eureka moment were thrilling and enjoyable. This doesn’t mean that there weren’t phases of struggle, stress, frustration and anxiety related to work. I had my fair share of each of them. That is probably a part and parcel of every job. Attempting something uphill always entails these things, I believe. But at the same time, there was a constant feeling of content in all the hard work I was putting in, and I knew I would probably end up surprising myself at the end of it.

The first Precog picture I was a part of; Summer 2016

Making inroads:

One of the most exciting things about my experience at Precog has been how rapid my pace of work and expected delivery of projects has been. The idea that I was new and should therefore take things slowly never came up even in my initial days at Precog, which in hindsight has been a huge boon for my profile, as it enabled me to always punch above my weight.

There were specifically two project deadlines that I remember very fondly, because meeting them gave me a great sense of accomplishment at Precog. One of them was a deadline for my development project, just 3 months after my joining, and the other one being a paper submission on the Killfie project in December 2016. Being my first paper submission, it was really exciting to be a part of that group which worked together to pull off a whole paper in a very short duration. My definitions of what can be achieved in X amount of time changed considerably in just a matter of 6 months. And I had begun to realise the value this time spent at Precog will add to my life.

The people I worked with on both these projects have probably set such high standards that it’s going to be incredibly difficult for any other project team to match that. I can happily boast of a very healthy coordination and work ethics in all team projects I have executed at Precog. In both the projects that have defined my time at Precog, there were few recurring themes that is something to take lessons from. Both my teams genuinely believed in the problem we were trying to solve, the impactful nature of the project and had a clear understanding of what we wanted to achieve through our efforts. Both these teams had a very clear and candid channel of communication amongst them which made coordinating all tasks easy. Of course, having PK as an equal part of each team was probably what made this possible. Most importantly, all members in both the teams found immense satisfaction in the work they were doing and understood that at every single point, we need to put our best foot forward.


Whats Ups, BMs and Deep Dives: The building blocks of the Precog life:

Being an RA at Precog did not just give me a chance to work on some really impactful projects that I can proudly call my own, but it gave me a chance to immerse myself in a research environment completely. As an RA, my involvement was never limited to the projects I was working on, but the atmosphere at Precog was such that I was aware of every single project in the lab. The opportunity to think in so many different directions at once, and to indirectly contribute to a host of different ideas in my domain was instrumental in shaping my aspirations for the future.

Weekly scrum sessions (Whats Up), Bi-weekly paper reading sessions (BMs –  short for brainstorming sessions) and detailed project updates (Deep Dives) are the way of life at Precog. These sessions kept us up-to-speed with the work not just other Precogs are doing, but also helped us learn from the problems that other eminent researchers in our domain are exploring. By investing time in brainstorming with other Precogs, I have no doubts that I’ve probably learned as much out of their projects, as I have through my own.

My third day at Precog, saw me taking part in a Brainstorming session with the group. The was probably the first time I actually enjoyed reading a research paper, and definitely the first time I critically discussed a paper in a group. It was the first time reading a paper did not feel like a burden, which eased me into the idea of research.

The first Deep Dive I had, I was thrashed by the group’s questions. I will always distinctly remember that day. I realised that spending time and effort on coding different parts of the project was not enough. My first Deep Dive prompted me to know my work in and out, and well enough to answer all the Why’s and the How’s there could be.

This holistic learning environment made sure that no one at Precog felt alienated from the other things going around in the lab. The Whats Ups, BMs and the Deep Dives ensured that we as Precogs stayed on top of our game, as well as critically examined everyone else’s. Without a doubt, having these as a part of the Precog culture minimized the loopholes we had in our projects and pushed us closer to success in our work.

Working ‘with’ PK, my advisor:

June 27th, 2017

The group of RAs at Precog were visiting this reputed university in Delhi, to conduct a day-long workshop on Machine Learning with their undergraduate students. A part of the conversation that ensued with the college dean is as follows:

Dean (to PK): All these RAs work full time under you? (referring to us)
PK: No, they do not work under me, they work with me.

This one incident is fresh in my memory like the day it happened and speaks volumes about PK’s character.

This blog would be incomplete without giving a glimpse of how incredible a professor PK is. Have you ever played cricket with your professor/advisor? Have you ever had social meet-ups with your profs/advisor till 12am in the night? Have you had the chance to do candid weekly meetings with your professor to just share your honest feelings about everything? I guess not), and that’s why PK is one of the coolest people you’ll get a chance to work with. The work hard and play hard slogan is something that PK (and everyone at Precog for that matter) takes very seriously.

Conversations with PK were always so frank and candid that I ended up feeling a little wiser at the end of each meeting with him. His habit of imploring the group mailing list for inputs on various things always kept the energy high in the group.

PK always has immense faith in all the people that work with him, and that was something I wasn’t too well versed with life in my undergrad. And I can probably pin-point that as the single most important factor behind everything I was able to achieve at Precog.

Working at Precog fundamentally developed in me the belief that brick walls are not the end of the road. I feel that delta change in myself, from someone who used to get jitters looking at hard problems, to someone who believes that given time and effort any problem is solvable. (Remember, simple but not easy?) A huge factor in being able to develop this attitude is PK’s constant motivation to take ownership of our projects. PK has perpetuated this beautiful culture in Precog, wherein if you’re a part of something, then it also means you have the power to take important decisions on that project, which I believe is rare. Coming from an entirely different college environment as compared to IIIT Delhi, it was initially difficult to get adjusted to working with a person who gave me so much freedom to express my ideas. I truly thank him for giving me the opportunity to work with the group.

Bits and pieces of ‘PKs philosophies’ like this will continue to stay with me and inspire me as bigger challenges await in life.

Picture with PK; taken in Jan 2018

The IIIT Delhi influence:

Even though my experience was largely concentrated to being at the Precog lab, being a part of IIIT Delhi was a major advantage. Working at IIIT Delhi helped me not lose touch with the academia and introduced me to countless pioneers. Working here ensured that my learning wasn’t limited to just what happened at Precog, but expanded to what other students and professors at IIIT Delhi were doing. In IIIT Delhi, I had found a second home after my undergrad, and I can feel the difference it has made in my life.

The IIIT Delhi atmosphere was always abuzz with a host of technical events to learn from and participate in. Even though my association was with Precog, I was able to audit the amazing courses at IIIT Delhi, participate and volunteer for the workshops happening in the institute.

The most memorable for me was being able to audit the Designing Human-Centered Systems (DHCS) course. I ended up spending way too much time (happily) in the course activities than I initially thought I would, and at some point you couldn’t differentiate me from an actual IIITD student taking the course. The BBI presentation for the course (plus the countless nights we spend preparing for it), was one of the most enjoyable days I have spent at IIIT Delhi. Building our project with my team was an experience I’d trade for nothing else.

The one with the HOWL project team

I will fondly recall attending poster presentations from random courses in IIIT Delhi, and even judging a few. The thesis defense presentations I attended gave me a deep insight into the kind of problems people are solving. The symposiums and the winter schools I volunteered for made sure I was learning way more than my ‘job’ was supposed to teach me. I am sure that the IIIT Delhi environment had something to do with me sitting here at Carnegie Mellon, and I feel thankful that Precog was housed in IIIT Delhi. Probably it played just as important a part as Precog did. Bottom line being, your advisor, peers and the work ethics are not the only thing that matter, your environment plays a pivotal part too.

Pushing the boundaries of learning: 

Just like the influence of IIIT Delhi allowed me to grow beyond what I was doing at Precog, the connections that PK has built at Precog provided many wonderful learning opportunities to me.

For instance, I was given the opportunity to be a Teaching Assistant for two online courses on NPTEL, something that lies beyond the ‘job description’ of an RA. Working on a development project deployed in the real world allowed me to constantly interact with users and gain a wholesome perspective of product management. I was given the responsibility of leading hands-on workshop sessions at symposiums, winter-schools and summer workshops that Precog conducted. These were things that made me grow in more ways than I expected out of being at RA at Precog, when I joined. All of this was made possible by the incredible connections PK has with the academia and industry.

The most memorable of these events was the summer school organized at IIIT Hyderabad by us. I decided to single out this experience because it was a turning point for me in some manner. I thoroughly enjoyed working with a group of ~70 students, leading workshop sessions on privacy and data science. It also allowed me to interact with grad students at IIIT Hyderabad. The confidence boost I gained after spending that week at IIIT Hyderabad, was something I carried for a long time with me. It was a much needed break, which allowed me to re-adjust my focus in life before the much dreaded period of grad school applications began.

Our team of volunteers at IIIT Hyderabad

Opportunities like this not only made sure I strengthened my hold on what I was learning at Precog, but also helped me gain great confidence in talking about my work. It helped me improve my public speaking abilities. For the first time in my life, it allowed me to share my knowledge with others. Explaining a concept to a room full of undergraduates, and seeing their satisfaction at having learned something new from me was indeed a rewarding experience. It taught me the importance of communicating my point in a concise and effective manner.

These opportunities ensured that life at Precog wasn’t confined within the four walls of the lab for me. My work gave me multiple opportunities to travel, make new connections and gain varied perspectives. I didn’t just add things to my profile for the 2 years I worked at Precog, my way of thinking changed in a lot of intangible ways.

The small world phenomenon:

It is also important for me to highlight just how far the support structure of Precog extends. One of the most inspiring things at Precog is the influence of its alumni who have gone on to study/work at amazing places in the world. The best part is the connect all alums still have with PK and Precog. In the process of their visits to Precog, we were very fortunate to learn about their experiences and information about their institutions/ companies was something worth gold for us. The insights that I gained through these alumni visits not only helped me in my projects at Precogs and my knowledge, but it also had a significant impact on my grad school applications. So much so that while writing my applications, I never felt like a lone warrior, but like I had the support and the knowledge pool of the whole group along with me.

Being a part of Precog truly reinforces the small world philosophy, because Precog alums are everywhere, and you can trust them to have your backs. And I can proudly say that not just for the sake of it, but through my experience here. I have found great support from every single Precog alum I have reached out to, despite the fact that I had never met them (nor did they know about my existence). A simple message saying “I work with Precog/PK” was enough to seek help when you would least expect it. I cannot stress enough on the importance of connections like this in life.  These incidents time and again reiterate the value of the entity Precog has become today. It is a testament to its legacy. It further motivates me in my effort to support my peers and future Precogs no matter where I am in the world.

The Precog fam:

On my second day itself, when I barely knew everyone’s names in the lab, these people dragged me to a social outing. If you talk to people at Precog casually, you’ll be surprised to know that majority of us would account for something like that in their first week with the group. Breaking the ice was never a hurdle with Precogs, everyone was welcome, whenever.

I always found it funny how I stayed at home for the 4 years of undergrad (since college was nearby), and my hostel life began when I started working at Precog. This blog would be incomplete, and wouldn’t do enough justice to life at Precog, without a mention of how supportive the Precog family was during that phase. Long discussions on winter nights over tea, over-analysing everything under the sun, having paranthas at 3am in the IIIT Delhi canteen and playing 6 hour long board games will be dearly missed.

I was blessed to find better project partners then I could ever ask for, and an incredible roommate for my hostel life. I set out to find a roommate, and probably a friend, but I ended up finding a brother in him. And I will forever be thankful to life for him.

All #PrecogSocials we had are fresh in my memory as the day they happened. The fact that my fellow Precogs even end up seeing me off at the airport tells you how special the bond is.

One with (most of) the Precog fam. I loved interacting with every single person in the picture.

I probably cannot stress enough how cool and special every single person in the Precog family is. And I’m not even talking about their work. Surely, I had the chance of working with some of the stalwarts in my domain, which was an incredible learning experience. But these were a bunch of people with whom you could have intense technical discussions going on for hours, as well spend the whole night cracking jokes and making memories of a lifetime. You could expect help at even 3am in the night; asking questions was never looked down upon and such an unwavering support is what made Precog family a distinguishing factor in my life.

The PhD students with Precog are (aptly) called the ‘Pillars’ of Precogs. I consider myself extremely lucky to have had significant overlap with the pillars, during my time here. It is impossible to quantify the kind of impact the pillars have had on my knowledge and my decision-making process. I’ve lost count of the number of times the pillars covered up the screw ups caused by me. I’ve lost count of the number of times I was in distress and just one conversation with one of the pillars made life so easy. I’ve lost count of the number of times I discussed my career goals with them, and felt I was on the path to making smarter choices. Like I said, I wasn’t someone who was sure about going for my masters from day 1, and the pillars played a pivotal role in helping me define my career goals. I have gained a unique perspective in life through conversations with each one of them. Without them, I surely wouldn’t be sitting here recounting memories so fondly. Without them, I probably wouldn’t be sitting here. It was so hard to say goodbye to each and every one of them.

But the best part about working at Precog is that you can still very much feel the influence of the pillars who’ve left. You can still reach out to them for anything in life. They will still be my fallbacks. When the going gets tough during my Masters journey, I am sure these people would be the ones I reach out to, and I know for a fact that everything would be fine after just one call with them.

 

Picture with the pillars (missing Niharika ma’am)
A picture with the outgoing Precog cohort; One of the last Precog pictures I was part of

I applied to Precog simply expecting to learn about and do research, but I got so much more in return. I ended up getting my hands dirty with research, development, TAship, managing workshops, leading lab sessions, organising #PrecogSocials, taking technical interviews, traveling to cool places and so much more. Things have a way of exceeding your expectations at Precog, provided you’re willing to work aggressively towards your goals. And that is something probably every member can attest to. A thought I’d like to leave with the future, as well as the current Precogs – the more you give to Precog (in terms of the time and the effort), the more it’ll give you back. Without a doubt.

My ultimate advice to you would be to venture out and seek opportunities outside your comfort zone. Seek out the right kind of people in life, they matter much more than the work you’re doing. Appreciate the good connections you have made in life. Take a leap of faith sometimes even when you’re not sure of things, and it might just pay off provided you’re willing to put your heart and soul into it.

-Divyansh

My GSoC experience with VLC (macOS Interface Redesign)

Earlier this summer I got selected in Google Summer of Code to work with VideoLAN on the Project VLC macOS Interface Redesign. It has been a blessing to get a chance to work on one of the highest impact open source projects. I had a phenomenal experience. Let’s have a look at my contributions 🙂

You can have a look at my GSoC Project Page and Proposal

Feel free to jump right to the code

Our Team

Left to Right: Vibhoothi, Daksh(Me), Jean-Baptiste, Felix, David

Workflow

Let’s start by looking at our workflow at VLC. VLC has a GitHub Repository which is read-only.  We use our mailing list to send Patches. We also have a GitLab instance at https://code.videolan.org/.

For my GSoC project, my mentors created a clone of upstream at the beginning of our coding period. It helped to keep things organized and eased the process of reviewing. You can find the repository we worked on during the summer at https://code.videolan.org/GSoC2018/macOS/vlc

We have an Issues Page on GitLab. We used this to divide the whole work into subcategories. Further, I have made different branches and various commits.

Face-To-Face with the team

I was lucky to be able to meet with my Mentors along with Jean-Baptiste for a couple of days. VideoLAN was very kind to sponsor me to come and meet our mentors in Europe. I would like to thank them from the bottom of my heart.

During our meeting, we discussed various design aspects of several Media Players and how do we envision the new VLC design to be. We also clearly divided the parts that were to be done by each one of us (Me and Vibhoothi). This helped kickstart the work and proved to be extremely useful and increased the productivity exponentially 😀

My Work Goals

  1. Add a feature enhancement to Go-to-time popup (more details): Ready to be merged
  2. Draggable Panel instead of ControlBar in windowed video  window To bring the draggable-control-panel (currently only in Fullscreen more) inside the normal Video playing windows and test with multiple Video Windows (more details): Done and tested
  3. Title Bar Autohiding (more details): Almost done
  4. Make the draggable-control-panel as a View instead of a separate window. For now, just test with a plain view and see how it performs with an underlying video being played (more details): Done

It shows promising performance, hence in future – To extend it and have the actual panel as a View instead of Window.

Work in-depth along with code

1. Go/Jump to Time popup (branch: is9-goToTime)

It is a pop-up which helps you to jump to any particular time. To access it, you can do any of the following:

  • Press +J
  • Go to Playback -> Jump to Time
  • Double Click on Time-Elapsed or Time-Remaining (in the ControlBar)

Visual Difference

Features

  • Now you can add time in the hh:mm:ss format
  • Allows you to write bigger numbers, example: You can write 80 in seconds, and it will automatically convert that to 00:01:20
  • You can switch between fields with tab
  • You can use the stepper to change the fields

Related Code

How it is inside IB(Interface Builder), Xcode

A sneak peek at constraints

AutoLayout is a bit tricky at times. David taught me how to set the constraints in a way, that even when the language of the text changes, it still looks the way it should. It also takes care of languages that are written from right to left

2. Draggable Panel instead of ControlBar in windowed video  window (Issue 1)

  • Removed the fixed ControlBar and replaced it with a movable draggable panel. Just like the fullscreen controller
  • On resizing or moving the window, the draggable panel re-centers along with the window. There is a bit of a delay+drag as the panel is a window and not a view
  • The draggablePanel is constrained in the bounds of the window.

3. Title Bar Autohiding (Issue 3)

Window’s title bar (and its close / minimize / maximize icons) automatically appears if the mouse is moved over the window, and disappear again if the mouse pointer hides or leaves the window.

Implementation of Issue 1 and 3 (branch: PanelInMultipleVout)

4. Draggable Panel as a View

The draggablePanel was earlier a window. Having the draggablePanel as a window was creating a problem. When the video window was moved, in order to keep it at its place we had to programmatically move the panel in the same way. But a drag and a delay was coming in that.

So we decided to make it as a view instead of a window. After testing, it seems to have solved the problem 😀

  • It remains at its position even when the window is moved
  • Added the panel as a custom NSView

  • Created two new Classes `VLCDraggablePanelView` and `VLCDraggablePanelController` to handle the operations of the Panel
  • Connected all the components with the related class files

TO-DO

Currently, the buttons are non-functional. Discussion on how the classes and their instances need to be done, after which it can be implemented.

Things I learnt

  • How to work on a huge code base
  • Objective C
  • Xcode
  • Interface Builder
  • AutoLayout
  • Cocoa Framework
  • Git
    • There were numerous small and big things I learnt in Git and how to version code. Here are a few tips that you can make use of 🙂

git diff –color-words

To see the changes in words instead of sentences

git checkout commitHash

To temporarily switch to a branch at that particular commit, helps in testing

git stash and git stash apply

To undo/redo the uncommitted changes

git diff HEAD~2

To see the changes done since HEAD~2 (two commit before HEAD). Refer to this post for more options

git branch and git checkout branch-name

To list and change to a particular branch

Useful Links

The Chronicles of Precog: The Deep Dives, the Socials and the Mailing Lists

How the journey began:

My journey with PK started long before I was actually a part of Precog. In the sixth Semester of my B.Tech. (I am a Dual Degree Student), I enrolled for the Designing Human Centered Systems (DHCS) course which was taught by PK. This was one course which is said to be different from all the courses you’ll ever take at IIITD, and so it was. Owing to the way the course is planned, it is a different experience in itself where you pick a problem and work on it all semester long. You build systems which have the capability to solve problems of the real world. As fate had it, later on, I got a chance to be a Teaching Assistant for this course as well. During the sixth semester, I got to know more about PK, his ideologies, his way of teaching, and undoubtedly, he is one of the best professors I’ve had the chance to learn from. I ended up taking all of the courses offered by him during my time at IIITD.

Poster Session for the DHCS Course

I had always heard about the research group called Precog that was supervised by him. It was during DHCS that I gained a better insight into it and was able to see it functioning closely (although as an outsider). PK also talked about some of the work being done by the group in the lectures. I found the work to be exciting as almost all of the projects had a real-world impact, and I was amazed by it. Another thing that caught my eye was the culture at Precog and how people were always there for each other, and they shared a family-like bond. This was something I secretly wished to experience first-hand. During my B.Tech. days, I was always knee-deep in projects, one after another, and never got a chance to be a part of Precog. In my 7th semester, I took yet another course taught by PK called Foundations of Computer Security (FCS). By this time, I was enrolled in the dual degree program but wasn’t sure what my thesis was going to be about. I was still exploring which domain I was interested in. PK made sure to have some guest lectures in all of his courses. For these, he invited domain experts, people from the industry as well as academia. As a part of one such guest lecture, two of his Ph.D. students, Prateek Dewan and Anupama Aggarwal, joined us. Both of them talked about the work they were involved in and it really intrigued me. This was when it hit me, this was what I wanted to do. It was a sort of ‘eureka’ moment for me. I wanted to work in the domain of Privacy and Security, and this is where I wanted to spend my next year. That was when I talked to PK about the prospect of doing the thesis with him. Things clicked, and boom, I was a part of Precog. Never had I ever thought that I’d get to experience what all followed in the next one year. I was happy with the work I did and made so many amazing friends along the way who will, no doubt, stay with me my entire lifetime.

The first week at Precog:

I started my journey as a Master’s student once I was done with my B.Tech. requirements and, thus, began my journey with Precog in August 2017. The first week of the semester, I was added to the Precog core mailing list, and it’s not an understatement when I say I was overwhelmed by the number of emails I got within the first few hours. Emails asking for KK slots, WU, BM, DD slot Doodles, weekly planners, etc. I was alien to all the terms and had no clue what I was supposed to do. At that time, I did not know many people in the lab and was a bit hesitant to ask for help. I was anxious about missing any deadline in my very first week with Precog. I walked up to the lab, met Kushagra Bhargava. He was also a part of my interview panel, so I had talked to him a couple of times. Kushagra was very helpful and walked me through all the alien terms which are now deeply embedded in my blood. I must highlight that he has some awesome server password setting skills xD.

How to make the most of the group:

A couple of weeks into the semester, I was very much familiar with the ways of Precog and the work ethics, having had attended the Orientation, a couple of What’s Up (WU), Brain Storm (BM), and Knock-Knock (KK) sessions. All of these sessions have an importance of their own. I feel, it is these sessions that make Precog, Precog and help bind everyone together (apart from the outings, celebrations, socials, icecreams…the list is endless :P). The What’s Up session is the regular all-group weekly meetup where everyone gives an update on their work. This way, we all know what the other person is up to, and it even helped me maintain a regular approach when it came to work. What’s Up sessions were an excellent medium of knowledge transfer as well, as the whole group is present to give feedback and help you out if you get stuck somewhere. Many a time, I’ve been stuck at places, and when I mentioned them in the WU session, people came forward with solutions, be it suggesting a new library, using a new tool or trying a different approach to test the accuracy of my work. So, my advice to anyone who is joining Precog or in Precog would be to attend these sessions in a regular way. They’ll only benefit you in the long run and help make your Precog experience even more Precogy :P. Deep Dive (DD) sessions were again really insightful, no matter whether you were attending or presenting. These took place once in two months. While being in the audience you’d get a good knowledge of how others are approaching things, and this might give you an idea of how you can incorporate some of this in your own work! And if you’re the one presenting, it’ll be a huge confidence booster as you’ll get used to giving technical presentations and also get validation for the work that you’re doing. I found the DD sessions really fulfilling. They make sure that you’re treading in the right direction. Also, whenever anyone has a paper submission, talk or presentation, it’s incredible to see how the entire group pitches in, right from intense paper critiques to feedback on practice talks. It’s lovely to see how involved everyone is and how much, we, at Precog here, care for one another.

The one with almost all of them

A tale of two cool advisors:

My thesis work was in collaboration with Dr. Alpana Dubey from Accenture Research Lab, Bangalore. I would say I was lucky enough to get two of the coolest advisors ever. I was always looking up to the weekly collaboration calls where I would get feedback on the progress made and get a direction on where to head next. Such regularity never made me realise how and when I got so close to eventually writing and successfully defending my thesis. The entire journey was just so smooth (along with pulling some all-nighters at times :P) that I can’t believe that it happened so quickly. In a matter of 9 months, I had successfully defended my thesis. I’m thankful for all the inputs from both of my advisors who made this entire path – right from choosing the project, to framing a problem statement, and defending it – so fulfilling and enriching for me. Not only did I hone my research and technical skills but I also became more organised and confident in the process. I would also like to mention Gurpriya, who has been my constant pillar of support, right from ensuring that both of us were awake in time for the call (both of us had the same co-advisors) as it used to take place at 10:00 am in the morning, to helping me with the thesis document, and the talk for the defense. Indira is yet another person, who has guided me all along. She became my go-to person and I earned another lifelong friend.

Tryst with Google:

The amount of support I got from PK and other people at Precog was unparalleled. Last year, around July, I was declared as one of the recipients of the Google Women Techmakers Scholarship (previously known as The Anita Borg Scholarship).  Because of the scholarship, I got the chance to travel for many events, starting from the Scholarship Retreat in Seoul, South Korea, to attending India’s first ever Google Developer’s Days, to attending meet-ups at Google’s Gurgaon and Bangalore offices. In all, the trips combined took three weeks, and I was unable to give full attention to my thesis work during these events. But PK and Dr. Alpana were always so supportive and understanding. They always encouraged participation in such events and programmes. But I ensured, that after all the missed hours of work, I put in extra effort to catch up. Eventually, I had become much more productive and got even better at juggling many things at once. Time management is the key, and I’d say Precog and PK made me better at it.

WTM Scholarship Retreat at Google, Seoul

#LovingMyTALife:

In the Spring  2018 semester, I was one of the Teaching  Assistants for the DHCS course, and this was yet another fantastic experience for me where I learnt a lot.  It was amazing to see the impact that I was able to make by aiding students in the process of learning. Guiding some teams from the ideation stage to them making news on the TV and the newspaper was very fulfilling for me. Again, PK’s way of dealing with students taught me a lot. He gives students enough space to be responsible adults rather than telling them what to do. This way, he brings out the best in his students. We get to realise the undiscovered potential that lies within us.

BBI Exhibition for the DHCS Course

“Work hard, play harder” is one of PK’s favourite policies, and we, at Precog, abide very seriously by it. We leave no stone unturned to celebrate the smallest of achievements. The amount of cakes, chocolates and sweets I had in the past one year is way more than the past ten years combined. Celebrations along with other outings and socials give more bonding time. I remember the time when PK took all of us down to the lawn to play cricket. Because of such interactions, everyone bonds at different levels apart from work. Such bonding is essential in a close-knit group like Precog, where many people are involved in one project and having good bonds definitely boosts the efficiency.

Celebration after defending my thesis

I would like to thank each and every person who has been a part of my journey with Precog. It just wouldn’t have been the same without each one of you.

In all, Precog is a bundle full of a lifetime of experiences. All these experiences combined made me grow so much as a person. Now that I reflect back, I cherish everything so dearly. My advice to everyone out there, try one of PK’s courses for sure and join Precog sooner than I did, it’ll be worth it.

#PrecogGiri for life

-Simran Saxena

My enriching journey with Precog

It all started with a weekend I was free and saw a small opportunity to do something different. I saw a post on facebook for a hackathon organized by Precog. The challenge was to build a sentiment classifier in Hindi. We quickly googled the exact problem and found some solutions which could be implemented easily. Later we realized that everyone else is doing the exact same thing. That was the moment we realized, we need to do something different and out of the box to win. Before that, we used to stay in our comfort zone and rely on external sources for answers. That hackathon was the beginning when I got into machine learning. I am pretty much convinced my life would have been really different if I didn’t take part. After several hours of hacking, we put together a small working prototype and ended up winning the hackathon. During the hackathon, we got a gist of the people and the culture of Precog. Because of that, I ended up doing a summer internship and staying there till my end of my undergrads. Precog is the most selective research group in our college, which was all the more reason for me to be super thrilled to get in.

The internship was an amazing experience for me. It was the first time I started working as part of a team. I learned a lot of cool stuff from my peers. The thing that fascinated me the most was the freedom and trust of others. We used to have open discussions of ideas, where no idea was considered bad. At Precog everyone helps each other; whether it was reviewing a draft, debugging code or getting new ideas. I was with Indira and Kushagra working on solving NLP problems on Indian OSM data. I still recall the long discussions we used to have together. This was the first time I ever had access to massive compute resources. Precog has more servers than any other research group at IIITD, which was pretty cool to know (and still is)!. That enabled me to play with massively large data. I was also involved with Sonal in an image retrieval project. The research was published at SocInfo.  We used to have Whatsup sessions where we all would share our updates with the whole group. To the best of my knowledge, Precog is the only group which does that. We all used to learn a lot about new things from that session.

Precog Interns: Summer of 2016

Fascinated by the work at Precog, I decided to continue working with them after the internship as well. I started working on analyzing sensitive content with indira. We had several discussions with other teams on how to make our project better. Our system finally ended up getting deployed. The feeling of our research work helping others was quite satisfying. Together, we used to brainstorm ideas for several other projects. My experience with Precog changed my perspective. It is a fact that most of the research around the world goes unused, but this is not the case with Precog. The outings, cake cutting events and the dinners at PK’s residence bonded us together as a family.

I always used to be a “how” person, who focuses on the solutions rather than the problems. With Precog, I realized the importance of “what”. Figuring out the ‘what to do’ is much more crucial. We can easily find solutions once we understand the problem. The culture at Precog encourages us to believe in ourselves. My presentation skills improved drastically, thanks to the ‘Deep Dive’ sessions. Due to the absence of any kind of spoon feeding, we all became better at finding solutions. Rather than learning a particular skill, we mastered the skill of acquiring skills. Every Precog alum is extremely successful, and now I know why.

A group photo of our family!

As a machine learning geek, I believe we all are like reinforcement learning agents: trying to maximize our reward (for us fun and learning). For an agent to get an optimal reward, good feedback on its actions is really important. The complete group as a whole provides excellent feedback which results in us improving, being more adept to achieve our dreams and have fun on the way as well!

Looking back, I realize how these small events had such a huge impact in my life. From troubling others by crashing the servers to publishing papers, I realize what all I would have missed by not joining Precog. In my last semester, I interned at Microsoft Research doing research on unsupervised learning on video data.  If you have a desire to do something out of the box, I highly recommend you to should join Precog.

Sojourn of an introvert at PreCog

“The Whole is Greater than the Sum of its Parts”

This was just another saying for me until the day I joined Precog. It all began when my friends convinced me into taking part in OSM-Palooza, a hackathon organized by PreCog in Spring 2016. The task was to perform sentiment analysis on Twitter code-mixed data. The experience was fun: learning basics of machine learning, text analysis, APIs, web scraping, automation, and what not. Finally, after working for several hours, our team made a submission that ended up winning the first prize!

While munching on pizza slices with the prize money, I started thinking about this experience, and how much I loved it. After a bit of research on what PreCog does and the people in it, my friend Divam and I decided to ask PK for a spot in the research group via a summer internship. After the friendliest interview with Prateek and Anupama, we were in. The summer started off with a lot of learning, reading research papers, watching video lectures, and exploring huge datasets. Frequent visits to Precog’s lab made me realize how it was different from other research labs.

One of several sessions of Precog; every single time walking out of the room with added knowledge :’)

Whatever research labs I had entered/visited as a college student, generally had students working in dead silence, consumed in their work and not looking anywhere around. Precog was much more lively. There is a fridge with chocolates that don’t usually last, bean bags for lazing around and the most amazing people to discuss your ideas with in a chillaxed surrounding. It has positive vibes coming out it. After working for that summer and submitting our work to ASONAM, an international conference (which ended up being published!), I made the decision to continue working with this awesome group of people.

As time passed by, I learned new things that I might have never stumbled across, shared with and by the lab members. Every email that would pop up in Precog’s mailing list would be brain food: I’d open the link and try to read everything in it. Doing this for quite some time helped me discover my passion for machine learning. It is this habit of reading these emails in depth that helped me start a project in machine learning in collaboration with IBM!

While PhDs from the lab and undergrads worked on my draft, submitting research work to a conference, I was reminded of the awesome group that I am a part of.

Apart from boosting my hunger for knowledge and helping me grow in my field and as a person in general, I owe whatever success I have to Precog. Being an introvert, I wasn’t too comfortable part of being such a close-knit research group. However, with encouraging mentors like PK, Prateek, and Anupama, I started opening up. From having a potluck lunch at PK’s residence to extempore plans to order ice-cream for lunch, I have come a long way in getting rid of my shyness.

From Natural’s ice cream in the fridge to hot pizza after data annotation sessions, from group sessions and constructive feedback to heart-to-heart talks, from the coolest PHDs in the lab to the coolest mentor and advisor I could have asked for, the memories I’ve made as part of PreCog are something I shall always cherish and carry with me 😀

The Precog Amplification

The summer break after graduation is when one realizes that IIIT has changed their life forever. It’s too soon to say whether it’s for the good or bad, but “sitting idle”, “not learning”, or “not chasing something new” become the biggest worries of life. Fear not, the bouts of peaceful wondering (and guilt-free procrastination) catch up soon, but for me it was the former set of feelings that saw me hunting for something to do in the summer.

I got a glimpse of what working at Precog would be like during PK’s DHCS course that I took in my final semester. It was meant to be a light course that undergraduate students crave for in their final lap, rightfully devoting the residual time appeasing their friends before the great dispersion. Ironically enough, it turned out to be anything but light, though still served the purpose of letting me have a great time with my friends. BBI (Building Better Interfaces), the conclusive project showcase, was almost like a start-up convention on steroids with students going to unfathomable lengths – pitching their projects and getting validation on their design process from practically everyone on campus. It’s difficult to forget a course such as this where you have witnessed banner wars, basketball challenges, beer pong and simply students going all-out on their projects. The enthusiasm was contagious and getting involved with Precog over the summer definitely seemed like an option to consider. Despite the fact that the domain of social {computing, networks, systems} was completely alien to me, I was incredibly lucky to make it through as a summer RA (maybe I just rode along on our cool DHCS course project, Fettle).

Building Better Interfaces 2016
Building Better Interfaces 2016

The following month, I started at Precog on a development project alongside a bunch of enthusiastic interns. During the first few weeks, as I familiarized myself with the domain of social media analytics, I found myself get attracted towards a particular thread. Given the rapid rate at which media content is growing on social media (~2000 images per second!), it was a question that often found its way into discussions  – how can we summarize this enormous dataset of social media images and make it more succinct and browsable? Having a background in Vision and an inclination towards research I found a certain affinity towards this problem and I shared my intent to work on this idea with Sonal, another RA at Precog who had just wrapped up one of her own projects (and happened to be looking for a new problem to work on. What luck, right?).

People@Precog Summer 2016
People@Precog Summer 2016

sometimes having the right answer is less important than seeing behind someone’s eyes why the question had to be asked – source

As both of us delved into conducting a high-level literature survey, we found that even though image data set summarization is a well-researched problem, in the context of social media data it is almost unexplored. I was all in for pitching the idea to PK right that moment, but Sonal, the more seasoned Precoger, advised against it and proposed for preparing a more polished case for the problem, one that would more eloquently bring out some exciting use cases. This was the first time I got introduced to the concept of making people excited about your research  and it starts with your PI itself. The first question PK would ask is “how do I sell this?”, which would encapsulate the other fundamental questions, “who are we helping?”, “do they need our help” and “how can we help?” (in that order). As brutal and business oriented the line of questioning would seem, I could appreciate the intent behind it. It was not meant as a discouragement of open ideas but instead as a first-round validation of how well the involved people are able to make a case that the idea is worth pursuing. This constant reinforcement that the job of a researcher entails being an effective communicator and convincing an audience that the problem is worth solving was something very unique to PK. Once we had this part out of the way over the many sync-up sessions, the ecosystem was made extremely conducive towards carrying out the required research work. Instead of narrating the experience any further, I’d rather break the rest of it down into more consumable nuggets –

  1. The secret to all material success is self-discipline and grit – Be it your grades, getting an internship, an admit, building a project, coding a hack, or writing a research paper. If you can’t invest the required time and effort, it is wrong to expect a meaningful outcome. Yeah, you may get lucky once in awhile, but as Deadpool says “luck isn’t a superpower”. The 80 hour highly-organized work weeks at Precog, make sure that there is minimal dependence on luck. Keeping up with the expected commitment, Sonal and I continued working on our submission even after our RAship was over and saw it getting accepted to ACM Multimedia (you can read about how we approached our summarization problem and created #VisualHashtags here). This was one of the most rewarding experiences and only Sonal will remember burning all our stipend on Starbucks coffee, feeling guilty about constantly overloading their free wifi.
  2. As for non-material success, it is empathy and gratitude – Academia is a very competitive domain and one where no matter how much you accomplish, self-doubt comes in plenty. Peer-review doesn’t stay limited to academic manuscripts and becomes a part of everyday life. It becomes important to support your colleagues in their effort because with so much competence around it is often that one starts getting really hard on themselves. Precog is one place where you would always find someone or the other to celebrate something as small as a midnight bugfix with. You would have to be seriously off the grid if you haven’t seen PK leading from the front, encouraging and taking special pride in bragging about his students and their work.
  3. Diplomacy isn’t really a treasured asset in a research lab – The lab is devoid of any echo chambers because there are just so many strong voices. The senior most PhDs and fresh interns alike, everyone enjoys open channels of communication and get to navigate their journey at the lab. It was this environment that allowed me to switch projects with little friction and pursue a new idea during the middle of my tenure. It would be safe to say that with everyone here being absolutely blunt about their work and also with their feedback, I have started to adore conference peer reviewers (just kidding). The many reviews and rebuttals from Prateek, Niharika, Srishti, and Anupama greatly strengthened our ACMMM submission. (On a side note, I do think I owe an apology to Anupama for not being so server savvy at the time!)
  4. Collaboration is equally important as individual brilliance – Working in the domain of Collaborative Cognition, I can vouch for the fact that collective intelligence trumps individual effort in more ways than just performance (Spoiler Alert: Avengers: Infinity War is an exception). An expert in one domain need not be an expert in another, and that is how it should be. At Precog I learned that it’s a big fallacy that one skill is better than the other. It may be more valued than the rest in a given context, but then it’s a matter of finding a match. What matters is being a master of that skill. The knowledge sharing that happens when different people, each with their own niche, work together leads to diverse perspectives and hence, exciting prospects. Such collaboration is common to most projects at Precog; even including our work on #VisualHashtags, where we had AVS and PK, two experts in their respective fields, collectively advising us on our research problem.
  5. If something doesn’t make you anxious, is it really worth doing? – It is evident that people at Precog go places. Besides the qualification and merit gained at the lab, this success rate is because of the step-outside-the-comfort-zone attitude inculcated by PK. The bottom line is – a bunch of rejection emails in your inbox is much better than having only million dollar cheques from the Prince of Nigeria. Last year, I took the leap and applied for a few graduate programs in my area of interest – and to my delight received an admit to the Masters of Science in Robotics Program at CMU. As I start on this new endeavor this fall, PK being an alumnus at the same university makes it even more special – I am sure his mentorship and my association with Precog will continue in some form or the other.
People@Precog Farewell 2018
People@Precog Farewell 2018

Though my stint at the lab has been shorter than most, my blog entry and learning has been not. So, TL;DR: Precog is definitely a place to spend time at if you are remotely interested in rising from being mere nodes in a social system to being its philosophers and problem solvers. The line of research is highly interdisciplinary (Machine Learning, Natural Language Processing, Data Mining, HCI, Social Computing, Privacy and Security) and if you look around the projects here, you are bound to find something of your interest. It has everything to offer, from savvy GPUs to savvier researchers, and from cool projects to cooler friends. If you are ready to put in the hours, it’s an investment you won’t regret.

Chi Square Tests, Calendar Events and Cake : A Three Act Precog Tale

Testimonials

Where do stories begin? With that suitably philosophical opener, I begin my Precog story. Did mine begin when I joined IIIT Delhi for a Masters? Or when I joined Precog for an Independent Project? I think my Precog journey started somewhere between the two, kickstarted by this post on Quora. In my first semester at IIIT Delhi, I didn’t know which area I wanted to work in. Having read Prof Ben Y Zhao’s glowing praise of Prof PK, I decided to take the ‘Privacy and Security on Online Social Media’ course in the hope that I would make an impression on PK and get an opportunity to work with him. I managed to do that and was offered an IP with him and assigned to work with (now Dr.) Niharika Sachdeva on a portion of her Ph.D. work. What followed has roughly three dimensions.

Act 1. Chi-Square Tests: the importance of using the right features

“Why do you want to take this approach?”. “Why do you think this method will work?”. “How do we make this system better?”. At Precog I have been bombarded with these questions and their ilk. Precogs take their work very seriously, which is not a wonder when you see the quantity and quality of papers, theses, and systems being churned out. What is not obvious is the sheer depth in which the problems are studied. Precogs are involved in high-quality research that draws from multiple areas such as Machine Learning, Natural Language Processing, and Data Mining and contributes to further research in HCI, Social Computing and, Privacy and Security. Lab members, especially the Ph.D. students (‘pillars’ as PK aptly calls them), know a multitude of fields. Every research statement is broken down into subparts and rigorously understood leading to the Precog maxim, “You should be able to defend and justify what you’ve done.”

The problems are dissected not only by the person helming the project, but also other members of the lab. There are dedicated weekly slots when the lab collectively pours over each project to provide feedback and suggest improvements. Needless to say, with a setup as cooperative as this, help is always at hand. Not only is the lab full of bright minds but the culture fostered in Precog ensures that they come with attentive ears and eager responses. Another thing that has never ceased to surprise is how much people know about a project they are not even directly involved in. This is a testament to the open communication, and happy-to-help attitude Precogs have bolstered through forums where lab members can ask questions, offer advice and even post potential opportunities.

On a personal note, I was involved in a few projects here and have had the opportunity (privilege really) to work with numerous lab members. I have learned from them far more than any textbook could ever teach me, not least because they are extremely smart and excellent teachers but also because they are generous with sharing their know-how. Special shoutout to Anupama Aggarwal who mentored me throughout my Master’s thesis and taught me how to approach problems, frame research questions and finally go about solving them. (And not to mention for putting up with my numerous shenanigans and being patient with me.) Working with my mentors as well as seeing other lab members flourish made me understand the importance of mentorship in research life. And even if I didn’t work with the other members on a specific project, I can honestly say that each and every one of them has somehow or the other helped me become a better researcher either by answering my questions, brainstorming with me or providing technical help. On that note of Precogs being fiercely intelligent but surprisingly helpful, ends act one. Remember, they’re the people you call to save your skin if you get into a sticky place when it comes to work (and I can testify to this because I have).

Anupama’s comments on polishing my defense talk: Precogs have your back

Act 2. Calendar events: Organization is key

This brings us to the next dimension of the Precog Story. After our first email conversation, PK told me to meet him and to send him a calendar event for the same. Unfortunately, back then I was (even more) technically challenged (than I am now) and had to do some serious googling to see what a ‘calendar event’ is and how one sends those. After two years at Precog, I can confidently say that I can even send one in my sleep. Precog operates at enterprise level of efficiency, allowing us to attain higher productivity. PK also keeps reminding us of productivity hacks now and then, and best of all, leads by example by practicing them himself. Be it a regular schedule of meetings, one-on-one sessions or group meetings, the regularity is enormously helpful, especially when you’re stuck.

The lack of bureaucracy in getting organizational things done is frankly wondrous. It would be a failure not to mention the meticulous focus with which PK approaches problem, both research and otherwise, and inspires other lab members to follow suit. Precogs have ironed out kinks that I thought were impossible to untangle and PK himself has helped us manage obstacles with ease.

Borrowing again from personal experience, I would like to talk about my thesis defense. The entire lab pitched in to help with numerous practice talks as well as organizational assistance. They ensured that every component of the defense ran smoothly, allowing me to focus on just the work itself. Precogs not only embody the philosophy of ‘work smarter’ but also that ‘to cut down a tree in five minutes, spend three minutes sharpening your axe.’ Essentially they’re the people you call when you need things done and done well.

Happy faces after my glitch-free-Thesis-Defense

Act 3. Cake: The glue (frosting) that binds

And finally, we come to act three. I can confidently make the claim that Precog consumes more capita cake than any other group at IIIT Delhi, backed up by some hand-wavy, back-of-the-envelope calculations. It’s a metaphor for the celebrations we have here. There’s cake on birthdays and milestones, going out and celebrating during Precog Anniversaries, and the numerous socials where there’s an excess of food and laughter. The socializing not only act as a stress buster for the discouraged and an icebreaker for the uninitiated, but it also helps us forge bonds that (I hope) will live a lifetime.

Parties’R’us

Celebrations aside, these are people who will never fail to lift your spirits. Even when they’re scolding you, you don’t mind, because you know it comes from a place of concern. Without resorting to heavily sentimental cliches, I’d like to think that the lab is comprised of people who will always be your well-wishers, who will always want to see you do well and who will always strive to help you become not only a better researcher but also a better version of yourself. Essentially they’re the people you call if you want to have a good time, or alternatively if you’re in need of some cheerleading (Trust me, I’ve abused the both privileges far too often.)

The past few years have taught me things that will stay with me a lifetime. At Precog and because of PK, I’ve learned something new every day. You might think this is a figment of my imagination and exaggeration, but you’d be wrong. I know this because some time in the middle of my Precog tenure, I finally became organized and started maintaining a TIL (‘Today I Learned,’ which I also incidentally learned about in Precog) diary. Most of its pages are full of research tidbits (do you know about the “Majority Illusion”?), some of them have productivity hacks (classify tasks), but the best entries contain the sticky notes my Precog friends wrote for me (I’m not sharing those, sorry, come work here and get your own!).

Collective Aspects of Privacy in the Twitter social network

With an increased online participation on Social Media, privacy concerns have risen to unprecedented levels. It has become extremely important to allow individuals the full control of their private information. Popular mobile applications integrated with Online Social Networks (OSNs) allow them to access user’s private information like their contact lists. This might allow OSNs to create shadow profiles of non-users using the data of existing users. We test this hypothesis for the first time on Twitter and further evaluate the predictability of location and biographical vector of a user from the information given by a friend who has created a Twitter Profile before our user.

Dataset

To get an unbiased dataset, we collected 1,017 random twitter users which we call as ego users by random digit search method. We obtained their metadata and filtered spam users and celebrities by thresholding the follower to friends ratio in the range from 0.1 to 10. To maintain homogeneity, we collected only those users who have English as language on Twitter account and further obtained their timelines (up to 3,200 tweets). We identified the users mentioned at least 4 times by the ego users and used these links as an approximation to the underlying social network between Twitter users that is revealed when users share their contact lists through mobile phone apps. Thus, we generate a dataset of 68,447 alter users.

User Analysis

We identified the location of our users from their geotagged tweets and location provided by them in their Twitter Bio. We normalized these locations using Google’s Geocoding API and identified the City, State, and Country pertaining to each location. This way, we were able to locate 630 ego users and 38,936 alter users in our dataset. We further mapped each location to a unique set of geo-coordinates.  

Figure 1 shows the locations of users in the dataset, illustrating that users come from a wide variety of countries but are generally located in countries where Twitter adoption is high and the users of similar locations are more associated with each other.

Figure 1 : User locations in the Twitter social network

We processed the Twitter Bio of each user by removing stop words and converting the tokens into stems. We considered only those users which had at least 3 tokens in their bio to obtain 49,576 alters and 676 ego users. Over this text, we applied a pre-trained 100-dimensional Doc2Vec model and further reduced the vector to two most informative dimensions with Principal Component Analysis dimensionality reduction.

Twitter API also provides us the source of each tweet which identifies the way tweet was produced. We mark all the alters that produced at least one tweet with the source “Twitter for iPhone” or “Twitter for Android” as “disclosing alters” as they used a mobile application which accessed their mobile contact lists. This way we obtain 934 ego users and 53,724 alters which amounts to 78% of our dataset.

Shadow Profile Problem

Figure 2: Twitter data and the shadow profiles problem

For each ego user, we identified the preceding alters that had joined Twitter before ego user. Some of the alters disclosed their contact lists (red) and others did not (blue); see Figure 2. The shadow profile problem consists of the inference of personal information of the ego user based only on the information given by disclosing preceding alters, ignoring all data from non-disclosing preceding alters and alters that joined Twitter after the ego user.

To predict the location of ego users, we took the locations of all disclosing alters and identified the most frequent city among alters, i.e., the modal predictor. We used this location as the unsupervised prediction of location to be compared against the ground truth of the location of the ego user. We evaluated the quality of the prediction by measuring the Haversine distance in Km between the predicted point and the ground truth which is our error distance. We predicted the biographical vector of each alter as the average vector of its disclosing alters and evaluated this prediction through the cosine similarity of predicted and ground truth vectors. Therefore, a high similarity will mean a high accuracy of the predictor.

We evaluated both the predictors against a Random Null Model which took a uniform random sample of all users for prediction. For each projection, we generated 100 instances of Null Model and took the average result over those 100 predictions.

Location Prediction

Figure 3: Location prediction quality using only disclosing alters

In Figure 3, the left panel shows the Cumulative Density Function (CDF) of the prediction error of user locations when using only the data of disclosing alters. Black lines indicate empirical errors and the blue line depicts the errors in the Null Model, revealing that empirical errors (median = 68.7 Km) are much lower than the Null Model errors (median = 6308.9 Km). The right panels show the regression profile of the empirical error versus the number of disclosing alters in Twitter. The line shows the model estimate and the shaded area its standard error. Prediction error decreases with the number of disclosing alters in Twitter.

To make stronger care for an actual scenario, we used the fact that all Twitter users do not have the Twitter mobile application installed or haven’t provided access to their contacts. We now made predictions, given a probability that the user will share his/her data. For each alter, we picked a random number in the range of 0 to 1 and compared it with our selected probability ρ. This allowed us to have only ρ*100 % alters for prediction for a particular ρ.

Figure 4: Location prediction quality as a function of disclosure tendency and number of friends

In Figure 4, the left panel shows the median error of location prediction in 1000 samples for each value of ρ∈[0.1,0.9]. The median error approaches the value of the error when ρ=1, using all alters, which is 72 Km. The inset shows the error of the Null Model, which is several orders of magnitude larger than the error of shadow profiles. The right panel shows stratified regression lines of median error as a function of the number of alters in the samples, revealing that error decreases with the number of alters for the different values of ρ.

Biographic Vector Prediction

Figure 5: Biography cosine similarity in predictions as a function of disclosure tendency and number of friends

In Figure 5, The left panel shows the median cosine similarity of predictions and the Null Model in 1000 samples for each value of ρ. The cosine similarity of predictions outperformed the Null Model for ρ>0.2 and increased with ρ. The right panel shows the regression analysis of cosine similarity versus the number of friends on Twitter, revealing a trend of growing similarity with the number of friends.

The error level for shadow profiles of location (68.7 Km) is comparable to error levels using full information, which are typically between 57.2 Km and 28.3 Km.

Our results demonstrate that even if as less as 30% of your network disclosed their information, your private information could be inferred with significant accuracy.

Limitations of our study :

  • Historical audit using future data as ground truth
  • Using mentions network to determine friendship link
  • Biographical vectors don’t allow the straightforward interpretation of user interests

The implications of our results are clear: individuals do not have full control over their privacy, and the decisions of other people mediate the decision not to share information with online services, which means that we cannot conceive online privacy as a purely individual phenomenon that can be reduced to the choices of a person.

Please find the full paper accepted at EPJ Data Science Journal 2018 here for detailed description of our work. This is joint work with Dr. David Garcia, Amod Agrawal, and PK.

PreCog : The Google of Research Groups

I feel ecstatic to write this blog post today as I complete an year at PreCog. I would like to use this opportunity to write about my journey till and through PreCog, with all the fantastic and memorable experiences I’ve had during this time. Jump to section III to know why I think PreCog is the ‘Google of Research Groups’.

I. Getting In

It was late 2015 and I had barely started my second year in college when I decided I wanted my UG life to have as many diverse experiences as possible. So, I started participating in various activities in college, which included founding and heading a student chapter of The Association for Computing Machinery (ACM) at MAIT. As a chapter, one of the first major events we planned was a Distinguished Speaker talk and after going through the speaker’s list, we found that the talk title of Prof. Ponnurangam Kumaraguru (PK) of IIITD – “Privacy and Security in Online Social Media” would resonate the most with the students and would be an awesome kickstarter. We decided to invite PK for the talk and PK graciously accepted. This is the point when I started following PK on social media.

Summer of 2016 was approaching when PreCog opened their summer internship applications, and I applied. Without knowing anything about research, I applied just for the sake of exploring, and because the area of research sounded super exciting. I got rejected. It wasn’t a shock, I was expecting it. Fortunately, I got through one of the SDE internships at a startup for the summer. But, I made a mental note that research is something I want to explore before graduating and this is one area I felt very passionate about.

I enjoyed my SDE internship and as soon as it got over, I was determined to pick up on the ‘Required’ and ‘Recommended’ skills I lacked the previous time I applied to PreCog. I also started working on the SOP before the applications even opened. I really wanted to make it this time. And this time, I wasn’t applying elsewhere. Early applications opened, I applied, got through the rounds and got accepted. The process was extremely streamlined and everyone was professional. I was definitely on cloud 9 after getting the ‘S’ on chat from PK after my interview with him (after much thought, I decrypted ‘S’ meant ‘Selected’). I had made it in, and we had decided I would start as soon as my semester got over.

II. The PreCog Journey

A. Work
Getting the best start to the year one can imagine, I joined PreCog on 2nd January 2017. At the onset, I got the chance to witness the best of ‘The PreCog Culture’ (more on this later) when the group celebrated their 6th birthday on 4th January 2017.

As per tradition, the newest members cut the cake.
(L-R) Me, Dattatreya, Viraj and Vedant

The next day, PK introduced me to my mentor – Srishti Gupta, with whom I would be spending most of my working hours thereon. I was assigned a problem which was still in the ideation stage. We collected and explored the data to get a better idea of what the problem statement might be, but even though we did not reach a definite statement, we did get interesting observations and could see scope for exploring further. During the same time, I joined Srishti to work on a completely unrelated problem, on which I spent most of the rest of my time at PreCog. We worked on it through the spring semester and submitted the first draft as the semester ended. I joined back in the summers, this time staying on campus 24×7, which marks the start of best summer I’ve ever had (more on this later).

All the interns had an introductory session where PK gave a brief lecture on ‘Research Methodology’. Srishti and I continued to work on the draft we had submitted, while Vivek (a fellow intern from IIT-KGP) joined me and Srishti on the first project. During this time, I was also introduced to our awesome collaborators – Prof. Mustaque Ahamad (Georgia Tech), Dr. Payas Gupta (Pindrop, Atlanta). We were later also joined by Dr. Manish Gupta of Microsoft Research, Hyderabad. It was an ineffable feeling to be working with such big names and it is now that I realize how much I have learnt from their thought processes with the limited interaction I have had with them. We worked on it through the summer and the fall semester and submitted the second draft too. At PreCog, Srishti is someone I have spent most of my time with, and also learnt the most from. She is the most hard working individual I have ever met, (dare I say) with an almost bot-like work ethic. Personally, she is the sweetest person, and the absolute best friend one can ask for in a professional environment. She is always there for support and tries really hard not to get annoyed with my endless queries. 😛

As part of routine activities, we regularly had WhatsUp (status updates) and DeepDive sessions (detailed status updates) along with hackathons in an all-hands-on-deck style (as in picture).

Now, to the interesting part.

B. The PreCog Culture

Starting at PreCog was a cultural shock for me. I had never seen such a close-knit group of fun-loving ‘smart creatives’ who lived like a family, and worked like a team. PK was nothing like a professor (take it as, it would be a really difficult task to identify ‘the professor’ if you meet the whole group) and PhD students were nothing like the typical ‘nerds’ one would expect. Don’t get me wrong, they were super into their work and obviously knew a lot, but they didn’t ‘look nerdy’. Some cool memories I have:

  • One of the early days, I remember, PK was just casually sitting in the lab, peeling and eating litchis and offering all of us.
  • Some of the interns (no names) took out a packet of exotic imported chocolates a lab member had purchased as a gift for someone and made it their midnight snack. A forwarded mail about lab rules and this is what we got in the morning –To which the same interns, replied with –
    The mantra at PreCog is: work hard, party harder. And to that, we had regular parties (some even at PK’s place).

Manoj’s Birthday
(L-R) Gowtham (the funniest #PreCogIntern), Kartik, Kushagra, Dipjyoti, Manoj, me and Vivek

A farewell party to the interns @ BBQ Nation
…where we also celebrated Sonu’s Birthday

Sonu’s birthday; after ‘cake cutting’
(L-R) Dattatreya, me and Sonu

As interns, 24×7 on campus, we had a lot of fun activities too, the highlight of which, for me, was playing pool (with Gowtham).

In pic, one of Gowtham’s signature shots. xP ‘Scoring’ the black ball with the white ball.

For the uninitiated, this probably is *the only* definite way to lose a winning game in Pool.

III. My observations and learnings :

The brick walls are there for a reason. The brick walls are not there to keep us out. The brick walls are there to give us a chance to show how badly we want something. Because the brick walls are there to stop the people who don’t want it badly enough. They’re there to stop the other people.
Randy Pausch, The Last Lecture

This is a quote on a wall outside the lab, and is very frequently referred to, in fact, to a point where quoting this seems cliched, but this is something which resonates very strongly with me. This is also something I have written on a wall in my own room too. I read the book, and it is an excellent guide to lead one’s life with all the ambitious dreams. A must read!

The key question to keep asking is, Are you spending your time on the right things? Because time is all you have.
Randy Pausch, The Last Lecture

This is something which PK keeps referring to, time and again, both in group meetings and in his mails. Just being around PK, and observing him manage such a huge number of projects and other tasks, I have learnt that managing time efficiently is half job done and I’m gradually making progress in that direction. By referring to such stuff, PK has nailed a lot of useful life lessons into all of us.

One of PK’s most motivating mails (for me) had this Quora answer by Ben Zhao which said that your own opinion of yourself should not limit how far you go in life and if someone offers you an opportunity you think you don’t deserve, you should rather work your ass off to make yourself feel deserving of it. Just epic.

This is the screenshot sent by PK, read the third paragraph.

Now coming to why I think PreCog is the ‘Google of Research Groups’, if I may. Having read ‘How Google Works’ by Eric Schmidt and Jonathan Rosenberg, I know a thing or two about how Google works :P. I would like to enumerate the things that resonated with the culture at PreCog when I read it :

  • When an average person thinks about Google, they think great products. PreCog (especially PK) has always had a very strong product focused approach to research. As PK always says, your work should not be just about publishing papers, it should solve a real-world problem and you should always keep thinking of turning it into a product for people to actually use and benefit. Otherwise, what’s the point?
  • When an engineer thinks about Google, they think passionate, smart and ambitious people. PreCog is also a group of ‘smart creatives’ extremely passionate about what they’re doing with ambitious goals. I would say this succinctly describes what PreCog is.

    “Smart creatives thrive on interacting with each other. The mixture you get when you cram them together is combustible, so a top priority must be to keep them crowded.”
    ― Eric Schmidt, ‘How Google Works’

    “The most valuable result of 20 percent time isn’t the products and features that get created, it’s the things that people learn when they try something new.”
    ― Eric Schmidt, ‘How Google Works’

The authors explain how at Google, the engineer’s work time is divided as 80-20, where they spend 80% of their work time on their ‘daily jobs’, and they are given full freedom to explore fresh (daring) ideas in the remaining 20% of the time, where the actual breakthroughs happen. Some of Google’s top products (InstantSearch, GMail etc.) came out of the 20% time. I feel PreCog also has this culture where everyone is spending approx 20% of their work time on exploring fresh ideas some of which later turn into great ideas worthy of the 80% time. This is awesome!

There are also other compelling reasons like the competitive hiring process, a ‘work hard, party harder’ attitude and the no hierarchy rule (calling someone with ‘Sir/Maam’ results in a fine :)) but I guess you get the point. xP

I would truly be indebted to PreCog (and PK) for these experiences and the learnings. This would stay with me forever, and I think I can safely say – ‘I’ve been PreCoged for life’. ^_^

IV. Other cool stuff @ IIITD

Gowtham excited (and hopeful) while receiving the new Titan X PreCog ordered

An experiment with a drone collecting data to identify suspicious behaviour

Customary group pic with the ‘PreCogSummer’ T-shirts