Student mentorship Program, IIT Delhi

What do we do as MRC?

At IITD, my tenure as a mentorship coordinator is nearing its end. And now, our team is faced with the task of selecting the next MRC. I have a very mixed feeling about this. I loved working with my team. At the same time, it has been very challenging. I remember the night-outs, being sleepless during mentor allotment, freshmen orientation, while designing the survey, prolonged and heated discussions on what to do next and how. I have absolutely no idea how our team pulled it off.

And now when the time comes to select the next MRC, we realized that many are unaware of our activities. Many had queries on what we do, and how. I will make an attempt at answering those questions.

Prince Dhawan, our super senior, called together a bunch of his friends, and convinced the then president of BSW, Prof. G.S. Visweswaran, that IIT Delhi is in need of a structured student mentorship program. A team of students, hand-picked by him, formed the first Mentorship Review Committee. They selected mentors, assigned them to incoming freshmen, and tried to make a dent in the universe, so to say. That was the birth of SMP at IITD. Atleast that is what I consider it to be.

Three years down the line, I applied to be a student mentor. Deepak Vasisht and his team was the incoming MRC that year. In these few years, MRC has established itself as a recognized student body and it retained complete autonomous control over all its decisions. One fellow mentor, Sidhant Sachdeva found the existing orientation boring. A proposal for redesigning the freshmen orientation was put forward. It took a lot of effort, but we made it.

The freshmen orientation was redesigned, from boring lectures in our iconic Dogra Hall that I don’t think many paid any attention to, to be a tour of stalls that introduce freshmen to all student activities at IITD. I worked closely with the MRC during the orientation and throughout the year. That year, I was overjoyed to receive awards for the best student mentor and outstanding contribution to the program. Sidhant was awarded outstanding contribution to the program, for his efforts in redesigning the orientation. MRC had its constitution inked out, added as an annexure to BSW constitution. We got a faculty coordinator. In other words, the institute acknowledged the MRC.

And I made it into the next MRC. Vatsal, Isha, Sidhant, Tapas, Rohit, and myself. MRC 2013-14.

Also, Mentorship Review Committee was renamed to Mentorship Committee. But we stuck to the abbreviation MRC because MC in a Hindi-speaking community would have been slightly awkward.

Activities of MRC

We had some initial wave of meetings, and we got down to work.

We had to select our team. One mentorship secretary, and about 150 mentors. It was about two weeks before majors. I have absolutely no idea how we managed that. But after two rounds of interviews, and an intermediate round of peer review and background checking, and a final heated discussion that lasted an entire night – no breaks – we selected Ankit to be our mentorship secretary. Once we narrowed down the choice to last three, we had absolutely no way of picking one among them. Finally, sinceit is a purely managerial role, and this guy is known to have tricks up his sleeve that can get work done in our tight deadlines, we picked him.

We had to interview mentors, about 400 applications were received, and we interviewed every single one of them. Then did a background check on every potential candidate. We came out with a short list. The majors were near. Very near. And we had night-outs every day. It was when I invited people for a party, on my own, perhaps for the first time in my life. On a friend’s birthday.

We had estimates of how many students are going to be admitted, and what the hostel distribution is roughly going to be. And we spent about a month allocating mentors. And then the institute bombed us. Almost literally, with the actual allocation. More than 150 students in two new hostels, where there are no senior undergraduates. Our plans were screwed up, and we had to redo it all. And this was a bigger challenge. Cross hostel mentoring is known to be very tough. It had terrible feedback in all previous years. Isha managed to do a good job, though. Both while allocating, and in the previous year as a cross hostel mentor.

I set up a freshmen forum at our then-active domain discourse.smpiitd.org. It received an overwhelming response, and I was billed Rs.4000 for the server utilisation. I found it too heavy for my pocket with zero income, and so had to take the service down after orientation. I have later added it to our group expenses, and we are yet to settle it among ourselves, by the way.

Who is better suited at handling the orientation than its architect? Sidhant was the unspoken incharge of the team during the orientation. We had rains, unexpected delays, tight deadlines, and I have no idea how we managed it. Sidhant did an excellent job. We had tour of stalls, street play, and departmental Q&A sessions. And we had to handle parents who were angry at the infrastructure, who were angry at us, student volunteers. Oh and I got calls from parents asking which gate to use to enter IIT. You know what? Publishing your mobile number as a first point of contact has its perks. (Hope you get the sarcasm.)

Isha and Tapas worked on mentorship code of conduct and mentoring handbook. Rohit worked with Mrs. Rupa Murghai, our student counselor, and designed the mentor orientation and training. It was good, but in hindsight, the process should have been actively extended throughout the year. The initial sessions were not totally enough in my opinion.

Our team visited all hostels to meet with freshers and identify any potential issues. We conveyed the messages to the respective channels, and they were dealt with appropriately.

Language sessions were organised. Tapas handled english classes. An instructor was appointed by the institute for the classes, and they received a good response. I handled hindi classes, and that wasn’t as good. When the winter chills set in, all of them being new to such weather, completely bailed out.

We collected mid semester and end semester feedback. And I had to replace a couple of mentors who weren’t doing their job well.

Whoa! I barely covered major events of first semester. And people ask, what does MRC do at all? Maybe we should do better publicity.

Then we had a curious case of mass copying. I really don’t want to discuss it, but it should suffice to say that almost all of us spent a lot of time on that. We had another round of mentor self evaluation and feedback. It is being analysed. We had organised an all day long gender sensitisation event titled Jamaavda, followed by a discussion on the same. We had also organised a couple of career talks.

I personally toured all hostels with BSW secys and SAC and CAIC Gsecs, to discuss code of conduct and the general outline for the meeting with director. It was postponed due to an unfortunate accident that claimed the lives of four of our final year students.

Vatsal got a initial draft of survey questions designed, and myself and Vatsal worked for a couple of days and nights and published our annual assessment and feedback. Responses are being collected as I write this. We will analyse the results and present them as a part of our annual report. The anonymised responses will be made available for the entire IITD community to analyse for themselves.

We are still working on our recommendations to the institute, which will be included as the final section to our annual report. It is going to be slightly bulky. Just a review of our activities is upwards of 50 pages as of now.

We still have to select the next MRC, and join the advisory board of MRC. I just made that name up. All past members of MRC are still in contact with each other through a online community, and we regularly discuss our plans and ask for advice when necessary. Why not give it a good sounding name as well?

About the team:

The team consists of six coordinators, one of whom will act as the overall coordinator. We have a very flat structure, everyone is an equal. The OC is a little shiny tag that carries the massive responsibility of representing MRC to the institute. Also, an unwritten rule states that OC pays for all parties. By the way, MRC runs on a strict zero budget. We handle not a single rupee from the institute. We don’t want to.

Everyone takes up responsibility for some specific task they are good at. I was already moderately famous (infamous?) at IITD, and I managed to do a hopefully-not-so-bad-job of interacting with freshmen batch of 2012, so I took up outreach as my primary responsibility.

Primarily, Isha handled feedbacks, Rohit handled student counseling services, Tapas worked on language classes, Sidhant was incharge of orientation, and Vatsal managed all our activities. Most other activities were shared by two or three of us.

What do we do? We manage mentoring. And in short, if something concerns first yearites, MRC probably can do something about it. We just restrict ourselves to make the work manageable. I’m not really good at explaining stuff, but feel free to ring up any of us if you still don’t have a clear picture of what MRC does. Unless your query is “How did you manage to do all that”? For that, I have no answer. I have absolutely no idea how we made it this far. All I remember is it took us some effort.

It has been a great experience. Looking forward to the next team.

If you want to join the team and make a dent in the universe, so to speak, apply to be a part of the next team.

Recursion in livescript

I have been looking at JavaScript, and languages that compile to JS. Coffeescript was my first love in this domain, and I have very recently transitioned to LiveScript, just a few months ago.

Until now, I was not faced with a problem for which recursion is the most natural solution. A couple of days go, when I was writing this program to test for a palindromic number, a recursive implementation seemed the most sensible approach. LiveScript being my new found love, I fired up vim, and… blank.

I tried searching on google, but it turned up nothing useful. I spent almost half an hour reading livescript and prelude, to find these two solutions. Turns out that you can use the keyword function to create named functions, which get hoisted as usual with javascript.

function fib x
   if x<0 then throw new Error
   if x<3 then x
   else fib(x-1)+fib(x-2)

Or, you can use the fix function from prelude to do anonymous recursion. This is the first time I saw the beautiful Y combinator being used this way. And I had to read my old notes on Y combinators and Javascript call and apply to understand the magic of what is happening.

require! 'prelude-ls'.fix

fib = fix (fib) ->
   (x) ->
       if x < 0 throw new Error
       if x < 3 then x
       else fib(x-1) + fib(x-2)

Looks similar? Nope. Here, fix takes a function that returns a function as an argument, and returns a function that is the inner function, with the outer argument referring to the inner function itself. Did that make any sense? :D

The beauty of this approach is that the function fib doesn’t get hoisted, it is just an ordinary variable assignment, not a named function, and we just did anonymous recursion!

Don’t know if the sound of it excites you, but I sure am excited. Recursion in an anonymous function? Isn’t that cool?

Actually, looks like one of the common applications of Y combinator is to do anonymous recursion, but I didn’t think of it earlier.

Detective Case study competition by STREE, an initiative of NSS IIT Delhi

Hello everyone. Just wanted to publicise a mailer I received. Find its full text below.
Inline images 1     Inline images 3
STREE, an initiative of NSS IIT Delhi
presents
DETECTIVE Case Study Competition
On the occasion of International Women’s Day (8th March, 2014), STREE, an initiative of NSS-IIT Delhi brings to you a one-of-its-kind competition that lets you go through the complex process of analysing a case of sexual harassment. The competition aims at sensitising the participants to the subtle issue of sexual harassment at workplace through a fun-filled detective case study game.
Did you know that according to the The Sexual Harassment of Women at Workplace Act, 2013, every workplace is supposed to have a Sexual Harassment Complaints Committee to handle case of harassment. Moreover, the Committee is required to complete the inquiry within a time period of 90 days and send the report. Also, the employer or the District Officer are mandated to take action on the report within 60 days.
If these questions interest you, participate in the competition to explore this issue to the core.
 
Register in Teams of 3 at http://iitd.info/streecasestudy

(There are no restrictions on age, sex or institution on the team, though we prefer participation from college students)
  • Pre-seen material will be provided to the teams in bits and pieces starting from 6th March. (you may register later as well)
  • After going through the case study material, participants get an option to have a live chat with the characters in the case study with some restrictions, to be declared at the time of chat) on 8th of March. More details on this will be sent to the registered teams one day in advance.
  • The registered teams need to submit a short report of not more than 1000 words which contains their conclusion from the material and the chat session and also their recommendations.
    Deadline: 9th March, 2014 5:00 pm.
  • The participants will be judged on the basis of the way they investigate the case and also how sensitive they are towards the issue of Gender Equality and Sexual Harassment (which will be clear from the questions they ask during the chat session and also the report they submit).
Attractive Prizes to be Won
 
For more details, contact:
Stree Team
9818399544
9868857566
 –

www.nssiitd.in | nssinbox@gmail.com | www.facebook.com/NSSIITDelhi

Featured Image -- 420

Let’s unite as Team Humanity to revive degraded land: A conversation with TED Books author Allan Savory and rancher Gail Steiger

J Phani Mahesh:

A change is necessary in the way we look at agriculture, desertification, the way we blame overgrazing..

I was trained to think the same way as many do. I was taught overgrazing is the reason for desertification, that reducing populations solves the problem. It felt logical, but something felt wrong about reducing the populations, when I was watching Nat Geo or Discovery or Animal Planet showing a massive herd. there has to be an optimum level and we haven’t got it right, I thought. Here is someone who has evidence to prove that the thinking is flawed, or atleast the optimum level, if we stick to my theories, is far higher than we are led to believe. And I am ready to change the way I look at these issues. Are you?

Originally posted on TED Blog:

AlanGail_Q&amp;A

Allan Savory is a biologist who has spent a lifetime trying to save degraded land. Gail Steiger is a rancher and filmmaker who has long followed his work. Below, what happens when the two talk. Make sure to read to the end for the stab-you-in-the-heart final question.

All over the world, land is turning into desert at an alarming rate. Biologist Allan Savory has dedicated a lifetime to figuring out what’s causing this “desertification.” Finally, after decades of work in the field, Savory discovered a radical solution—one that went against everything scientists had always thought. He used huge herds of livestock, managed to mimic the behavior of the natural herds that roamed grasslands centuries ago, and saw degraded land revert to robust ecosystems.

Here, Savory talks with rancher, performer and acclaimed filmmaker Gail Steiger about his new TED Book The Grazing Revolution: A Radical Plan to Save the Earth

View original 3,608 more words

Because we did the same

Did you ever look at something that made you pause a moment and think “what the hell was that?” If your answer is no, please stop reading here. You do not belong in my target audience.

Something may elicit such a response in two cases. Either it is extremely good or extremely bad, good and bad being defined subjectively. Mediocrity doesn’t stand out from the crowd. It is the extremes that demand attention. It is thus extremes that I am interested in.

This is my personal rant. I was asked to do a shitty job, and I can not escape it because it is a part of a core course, which needs to be completed for me to obtain my degree, and I need my degree. Not really. People think I need a degree, and people think it reflects my competence, which I assure you it can not. Anyone who thinks GPA and certifications mean anything more than a belief in the system, is delusive. Back to the point. When I requested that I be allowed to do the same job in an alternate way, it was denied. I will now detail the incident and my thoughts on it. Feel free to abandon this post and move on if that doesn’t sound exciting.

What happened?

I am undertaking a course titled ‘Software Lab’, which requires me to work on one assignment per week. This week, the problem statement is to make a Ubuntu app that displays weather information. So far so good. I am required to learn Tcl/Tk, and no, GTK/QT are not allowed. I need to version control with cvs, and no, git/hg are not allowed. I need to use a database to store last 30 days’ weather information, and it needs to be mysql. It is actually laughable to require RDBMS for such trivial task, where a csv sheet does the job.

Why am I angry with this?

A new set of tools every week demands my time. I have to postpone a lot of my tasks to make space for learning them. (Actually until this week, I was teaching people, since I was already well versed with the tools.) When I invest time, I expect them to be of use.

  • I will not program ever in TCL/Tk after this assignment. Because I know GTK and QT, and they are far superior for creating a GUI. Also I am not a Tcl fan boy who loves the weakly typed dynamic language with everything being a string.
  • I will never use cvs again, because I work primarily with git, it does everything I need, and hg can handle those few exotic cases where git doesn’t quite fit in. Cvs sucks.

To most of my classmates, a 2 credit course demanding entire week, every week is unfair, and has severe effects on other courses. For me, having to work with outdated tools is the bigger problem. If you are a developer, you should probably be able to understand why.

I requested the teaching assistant (TA) and he refused any alternatives. The professor-in-charge says if the TA is familiar with something, it can be used. And the TAs draw a blank on hearing RDBMS, DVCS, git, mercurial, Gtk, QT, or pretty much anything under the sun. I will label them illiterate in programming. When one of my friends commented the alternatives are better, so why can’t they be used, I hear the beautiful reply that prompted this post.

We did this course this way. You have to do the same.

Wait, let’s back up. When was the last time you saw a developer choosing Tk or cvs out of his/her own will, given the alternatives? Probably a decade has passed since such an event happened. And so, atleast since a decade, while the real technology has progressed much, the academic machinery has preserved its notion of what is to be taught, unscathed, to the point where it diverged from what is usable in reality to a horrible extent.

Thanks for reading this far.

This entire article can be distilled into this. Classrooms and labs must do a reality check of what is relevant, and must incorporate those changes into the curriculum, and this must be a continuous process. Teaching assistants must be trained well. And get some literate folks in there, please!

You may suggest that I explain the situation to the professor. I was hoping I could do that, but today evening while I was in a meeting with some other professor, the entire situation worsened, and I do not think I would be able to convey my message now. I am still unaware of the discussion that happened between my friends and the professor, but it must have hinged on the course demanding too much of their time, as it was decided that the relevant links will be provided a week early, and the actual coding has to be done in the four hours allotted to the lab. It definitely wasn’t the right approach.

Screw everyone, because that means the lab starts at 1 and I can not have lunch that day. The problem remains unsolved. And screw everyone again, because the information is being as abstract as it can get. “The next week’s work will require Object Oriented Programming in C++/Java.” Along with links to C++/Java tutorials probably grabbed off the first page on Google. Essentially I see zero profit and a net loss.

Last week required us to do a multi threaded implementation of matching two strings. In shell and C. If the aim is to frustrate people like me, job well done. But if it is something that was designed to teach multi threading, give a problem statement that makes sense. Multi threaded search does not make any sense when the input sizes are small, as in less than 10 characters. It may make sense in the case of a short string being searched inside a very long one. Evaluation plays an important role. If I see evaluation that does not reward work, that doesn’t even make sense because essentially the TAs are illiterate, I feel justified in losing interest in any learning opportunity that the course may provide. I am a normal human being ape, and I am affected by these.

There is a reason I am beginning to consider any parent who wants to send their kid to school, mentally retarded. More on that later. If you are offended by any of the above statements, you are welcome. I don’t give a shit.

Hedonism revisited

Some time ago, I wrote that I’m a hedonist. I can no longer say the same with confidence.

What changed?
My perceptions. I started reading Ayn Rand. She almost convinced me that objective morality is possible, and it naturally follows that hedonism is stupid.

I’m not fully convinced, but the arguments are compelling. Right now, I’m in the in-between. Read “The virtue of selfishness” if you are interested. The very first article attacks hedonism, and that too in a sensible way.

How not to do two factor auth

Two factor authentication – the practice of requiring more than one key to the safe. Every sensible service provides the option these days. But not all do it the proper way.

Rest of the post covers the ground about passwords in general and why two factor auth is a good idea. If you are familiar with the topic, you may find the article boring. You may skip to the last couple paragraphs safely. If you have never heard of two factor auth, continue reading.

Let’s look at the common implementations. We need two keys unlock. The first one’s usually a password.

Lets back up a bit. Why do we need two keys? That’s easy to answer – To make it difficult for a thief to break the lock. Until a few years ago, Passwords alone did okay-ish. But the thieves learned. They used phishing and social engineering to fool users and extract the passwords out of unsuspecting users. Its something similar to showing you a lock that looks like yours. If you fall for the trick and present your key, I make a copy and use it on the real lock.

Since the keys are strings of letters, numbers, and symbols, and people have difficulty remembering lots of them, they usually use the same password everywhere. Or use qwerty or something similar, an easy to remember one. If I have a million locks to pick, and I like to pick as many locks as possible, I can either try all keys on every lock one by one or try the most likely keys on every lock. The second method is easier. Usually by few orders of magnitude.

Now we come to dictionary attacks and brute force attacks. Dictionary attacks use a list of probable passwords and try simple variations of them. Brute force attacks try every possible key on the lock.

And the service providers weren’t idiots. They started rate limiting. You can only try n keys in a minute, or something similar. Trust me when I say that with proper rate limiting in place, brute force and dictionary attacks can take hundreds of years.

But wait, there’s an issue we haven’t addredsed yet. What if people use the same password at multiple sites and the other site was somehow compromised? It happens. A lot. So you now need to protect yourself from the idiocy of others. That’s a bit tough.

And then, it dawned on the experts. Passwords are a bad practice. Too late to fix. The idea of passwords became so natural to the average joe that he’d call you crazy if you told him that passwords are bad. A lot of users are, um, let me put it this way. Security-illiterate. Lots of them. You see, the main issue here is the stupid users. Force them to use strong passwords and you see post it notes on desktop with the passwords. You can’t easily educate them either.

So now comes the beautiful idea. What if we don’t just ask for something the user knows (password), but we also ask that they show us something only they can have.* Enter two factor auth.

A one time password sent to your mobile, or requiring a confirmation on your mobile for every login, or requiring you to present a difficult to forge certificate or special hardware generated secret token, lots of possibilities. But not everyone gets it right.

There is a tradeoff between convenience and security. The trick is to find the fine line that is secure enough but not very inconvenient for the user.

Twitter allows you to require confirmation on mobile for every web based login. To break this lock, the attacker needs both your password and your mobile.

But what if your mobile app doesn’t work or you lose your mobile? Allowing a recovery means the recovery path should atleast be as strong as the actual path. Else any sensible attacker choses recovery, the least secure path. It’s a lot of additional work. But not providing a recovery means that users may get locked out of your service.

I’m surprised I wrote such a lengthy article on my mobile. Allow me to wind it up. I’ll revisit the topic later.

You probably guessed it by now. Twitter’s recovery mechanism seems to be prohibitively tough. Submit a support ticket and wait. I never expected twitter to make such a blunder. People do lose mobiles. Give me some sensible recovery mechanism please..

Find below last tweet in the conversation that prompted this article.

P.S: Writing wordpress articles on mobile sucks. A little.

Evolution not presented in strictly chronological order. I tried to simplify things, may have over done it. Comment your views below.