## Sunday, March 24, 2013

### Crossing The Line: A Premature post-mortem of the Adria Richards/PyCon controversy

There has been a lot of talk on the Internet about the recent PyCon/Adria Richards controversy. Given that, putting my own opinions out there may be redundant; however I'd like to pen them down anyway. Feel free to ignore me and look at the much better researched posts on this topic that can be easily found on the Internet.

The short, objective version of the story:
• Two guys at PyCon 2013 allegedly are joking about "dongles" and "forking" (both of these are technical terms, but one can make some inappropriate jokes with them)
• Adria Richards, posts this tweet, as well as this blog post
• Internet explodes
• PlayHaven, the employer of the two guys fires one of them
• This gets posted on Hacker News
• Internet Explodes more
• Due to DDoS attacks and some more of Adria's tweets (presumably), SendGrid fires Adria
• Internet bubbles down, starts to post mortem this (not yet dead) issue. Yes, I'm prematurely post morteming it as well :)

Alright, so what do I think? In my opinion, this is a series of mistakes on all sides, which led to each other. None of the parties involved really deserved what they got (not saying that they're free of blame, just that the punishment was slightly harsh compared with the offence)

The guys
Firstly, I do think that nobody should be stopped from having a private conversation based on its contents (unless there are legal issues regarding NDAs/etc, of course). Regardless of the setting. If the setting permits folks to have private conversations, then there shouldn't be any restriction on them.

However, this only applies if your conversation isn't being broadcast to others. If you want to have a private conversation that may be offensive to others, please keep your voices low and try to ensure that others don't have to hear it.

Verdict: These guys had a really small part in all this, so there's not much to say here. They crossed a line -- not too far, but they got a hefty punishment for it.

Rather interesting mix here. Firstly, one can argue that she was partially justifiable in her actions, however destructive they may have been (Yes, it was PlayHaven who fired the guy, but some of Adria's actions are quite destructive in their own right). If we look at her as a woman who has to deal with such things on a day to day basis (or, more accurately, someone who cares about women who have to deal with this daily), then lashing out at one point is justifiable. If a woman is subjected to an environment where some of her colleagues' behavior makes her feel uncomfortable, at one point she will lash out. And while the man she lashes out on will seem to get the short end of the stick, she will still be justifiable.

However, this isn't exactly the case here. Adria's not that woman, which ought to become clear as this post progresses. I'll first focus on the incident itself.

Here's what she should have done. She should have turned around and told them to pipe down. If she was too scared to do that, she could have just quietly complained to PyCon (which she did...sort of). Or she could have tweeted without the picture. But, she didn't. She took a picture, of which there really was no need. Did the picture help make her point in the tweet? No. The only thing the pic provided was a loss of anonymity for those guys. Arguably, that was part of her intent; why else would she post the pic? She knew that she had media power.

While one is bound to get a lot of dirt on someone while digging into their past, in this case, one can see that she has done similar things in the past. She takes a small incident and blows it up out of proportion. In the case of the WCSF shirt, I'd argue that there wasn't an incident at all -- the way she says it, it seems like she will complain whenever she sees a woman character portrayed as an idiot, even if the intentions were obviously not to call women idiots. One needs to have comics with idiots in them as well. Half of them will be women. So?

This behavior, coupled with tweets like this one, paint a rather nasty picture. I understand that, as a male, I'll never be able to fully understand her point of view. So, I'm refraining from saying anything about this, though you're free to make your own conclusions :)

PlayHaven
Before reading this, note that I know nothing of what goes on behind PlayHaven's walls, and they may have really been justifiable in firing that employee. He may have been a bad employee overall, and this was just the tipping point. Keeping that in mind, here's what I think, assuming that there wasn't any more to this than what is known to the public.

The tweet gave PlayHaven a bad name (the devs were wearing PlayHaven T-shirts) initially, since right after the tweet Adria had a lot of supporters. However, this was a very temporary thing, and most would have forgotten in a month. And it wasn't really the dev's fault, since a lot of the blame lay with Adria for making it public. However, PlayHaven was getting a fair amount of flak from the Internet and "somebody was to blame". This attitude -- "somebody must be to blame" -- is prevalent in today's corporate culture, and is what escalated this event from a minor incident to a full blown controversy.

Verdict: PlayHaven should have waited a bit and saw how things panned out. Putting on the "somebody must be to blame" hat myself (yay), if somebody is to blame for the level this controversy escalated to, it is PlayHaven.

SendGrid
Adria didn't really leave these guys a choice here. She more or less had to be fired. She didn't deserve to be fired, but she had to be. Why? Because the controversy wasn't completely her fault either. Nobody would have seen PlayHaven's actions coming. If PlayHaven hadn't fired the employees, then it would just have been a matter of a slightly controversial public shaming, which could have been dealt with by simply putting her on a more passive role for the time being.

However, PlayHaven had crossed that line, and now SendGrid is helpless. They still could, of course, deny all responsibility for this controversy and reprimand Adria. However, Adria posted this tweet (and was also called out for hypocrisy regarding this one), which put the company in a position where they had to fire her. She could have stayed rather careful after receiving lots of flak from the Internet, and realized that actions have consequences. Though she had caused a lot of damage to them, SendGrid may not have fired her then. The moment she tweeted "SendGrid supports me", she forced their hand into firing her.

Verdict: Had their hand forced into all their actions, and probably got the worst deal out of the parties involved. The only thing they did wrong, in my opinion, is that they hadn't made it clear (the last time she caused a controversy) to Adria that her evangelism shouldn't be done on company time and wasn't backed by them. Or maybe they had warned her, and she didn't choose to listen.

The Internet
Major culprit here. Quick word to folks on the Internet: Abusive comments hurled at Adria didn't help your cause -- they only made the situation worse. This part is strikingly similar to the Anita Sarkeesian issue a few months back. I fail to see how so many people think that disagreement with those who expose sexism/harassment in tech/games can be expressed by sexually harassing those people.

Then again, there have been lots of insightful blog posts on the Internet, by women and men alike, showing all sides of this controversy.

Verdict: Go home, Internet, you're drunk.

In conclusion, everybody lost here, including folks who weren't involved at all. This incident gives a bad name to active feminists, and makes life harder for men in tech as well (a lot of folks are going to be scared of women at conferences now). The takeaway from this controversy is the following:

• Keep private conversations private, and try to avoid inappropriate jokes in such settings.
• With great power comes great responsibility. Be mindful of what you put out there; it might spiral out of control.
• Don't keep thinking in the "somebody must be to blame" mindset.
• If something you've done is biting you in the tail, then be very careful about your subsequent actions, lest you be swallowed by it.
That's all for now :)

## Friday, May 11, 2012

### Stack Exchange

Alright. I haven't been posting in a while, but I decided to take some time out today and post something.

Let's talk about a new discovery of mine. Stack Exchange .

StackExchange is a growing network of question-and-answer sites. Well, there are lots of those, aren't there? But SE is quite different from the rest. For one, it has a much better user base. Civility is maintained, and you can expect quality answers to quality questions. Also, it has a more "community" feel, like Wikipedia.

Recently, a new site opened. Chemistry.SE. I'm pretty excited about this one as well, and I'm hoping the site flourishes. If you have any Chemistry questions, please ask them there! Though try to make them good questions. "Why does Coke and Mentos explode?" is not a good question.

## Saturday, February 4, 2012

### Inheritance and wave-particle duality

I read Inheritance a few months ago. While reading it, I noticed a sentence which appeared to be a reference to wave particle duality and the atomic theory of matter. Anyways, I asked Paolini (the author) about it, and he confirmed it. (I learned this today, I hadn't checked my Twitter account for weeks).
Isn't it great that Paolini, an amazing author, is interested in physics, too?

Here's my full explanation of the situation (Copied from my post)

.....
I'm rather surprised by this passage from it:
(This is on the flight back to Urû'baen, when Valdr tells Eragon and Saphira about the starlings' dreams)
"From him, they received a vision of beams of light turning into waves of sand, as well as a disconcerting sense that everything that seemed solid was mostly empty space."

At first, I interpreted the second part as "Not everything is as hard as it looks".
But I couldn't make any sense of the first one.

Then, I remembered something from Rutherford's experiment. "Atoms are mostly empty space". I didn't like this connection (Why would Paolini mention that ?), but then, the allusion to subatomic physics made the first sentence crystal clear. It refers to wave-particle duality, i.e. the fact/theory that light is both a continuous wave and a bunch of particles

I know, it's unlikely that CP would mention such things, but he has mentioned lots of scientific stuff before (coral, etc.. can't remember it off the top of my head, need to reread the first three books).
the explosion at Vroengard (By Thuviel), and at Urû'baen (By Galbatorix), are both probably nuclear (as the sickness that Glaedr mentions is very similar to leukemia). So maybe, after all, CP did refer to waveparticle duality/atomic theory.

Thoughts?
....

## Sunday, January 8, 2012

### Problems with SETI

Note: This is an essay I wrote a long time ago, just for fun. This was when I had read Contact, and was pretty enthusiastic about the whole SETI thing.

All of us have wondered, at some time or the other, whether alien lifeforms exist. Indeed, our scientists have been so fascinated with this subject that we have a massive collection of programs, known as SETI (Search for Extra-Terrestrial Intelligence) which all have the sole intention of finding life outside Earth. This effort has been applauded by the world, but, if you think about it, we are really shooting in the dark here.

Most of our assumptions are that the aliens we are trying to contact have the same brain system as ours and communicate the same way we do.
Now, if you look at it, every method of communication we know is pretty much a product of our senses:

• EM Waves: EM waves are those waves which are part of the Electromagnetic spectrum.  Radio waves are a part of electromagnetic (EM) spectrum, which includes light (visible) waves, infrared rays, X-rays, micro waves, and Gamma rays. Now, we know about these waves, because of light, which we can see. If we couldn't see light, then we probably wouldn't know about the EM spectrum. How are we sure that the aliens aren't blind? Lets assume that they see EM waves. Now, a reasonable argument would be to use light waves to communicate, as the stars emit light, and intelligent aliens must be aware of that. But not all stars emit visible light. There are entire galaxies which emit very little light, but a lot of X-rays or radio waves, like Cyg X-1 (X-rays), and Cas A (Radio waves). So, we could use other waves (like radio waves, which we are currently using). But, other waves are obstructed by different things, like our atmosphere. Similarly, we can't be sure if radio waves penetrate the alien's atmosphere. And, anyways, we can't be sure that they are even listening on the same frequency that we do. For example, they might have discovered a better range of frequencies to communicate with which aren't so problematic, and would think it childish to use radio waves, which would be inefficient in their eyes, just like we won't use sound to communicate with aliens, as sound is too inefficient (In fact, it dies out almost immediately after leaving the atmosphere.
• Sound Waves: We know of these because of our hearing. These work well on earth, but, they need a medium, so are useless in space.
• Objects: We assume that the aliens have the same senses of perception when we send objects with engravings into space. Even if they did have the same senses, these things take hundreds of years to get anywhere useful, and they are obstructed easily.
• Gravitational waves: We perceive gravity through our senses, but this is only because of some tiny organs located in our ears. Even if we didn't have these organs, we could perceive the effects of gravity, like apples falling. Through Einsteinian mechanics, we know of the existence of 'gravitational waves'. Just like moving an electrically charged body produces EM waves, moving a massive (By 'massive' I mean 'has mass', but the other meaning 'has a lot of mass' is also fine in this case) generates gravitational waves. These are ripples in the fabric of space and time, which cause stretching and squeezing of objects. These are observed in significant quantities around spinning black holes. Unfortunately, we can't produce these, let alone form a message out of them. We even used to have problems detecting these, as we couldn't build detectors with enough accuracy. Now our interferometers do  good job of detecting them, but they're still not perfect and can only detect large changes. To catch a gravitational signal would require either a very strong signal, or a much much more sophisticated detector.

These are the ways of communicating which we know of because of our perception. Now, if extraterrestrial lifeforms existed, how do we know that they have the same perception as us and 'see' the same things, and thus know about the same methods of communication?
Now, this logic does not apply to all the methods of communication we know. There are some which we could use, but they all have large flaws:

• Particles: Particles like neutrinos are ideal for communication, as the pass through matter easily (Millions of neutrinos pass through your body every second, but they are harmless.) . These could be used, but the signals would die out if they had to pass through any large body in space, of which there are a lot.
• Quantum teleportation: As exotic as this name sounds, it, unfortunately, isn't anything like the teleportation in movies. It just refers to the transfer of information faster than light. This would be very useful when communicating with aliens, but for this to work, the two parties wanting to communicate must exchange a pair of 'entangled' particles (These are particles which are like the sender and receiver in quantum teleportation). So, we need to know about each other and exchange some stuff in order to use this.
• Wormholes: These are spacetime structures where space curves in on itself and connects two points in space, creating a 'tunnel' through space, with which one can reach their destination almost immediately. Now, we do not know if wormholes actually exist, but, if they do, we are sure that they form and immediately are destroyed. We know how to keep one alive if we ever find one, which is by 'threading' it with something called 'exotic matter'. (Exotic matter has negative energy, which sounds paradoxical, but, it exists, in the form of 'vacuum fluctuations') Even then, we do not know how to do the 'threading', and, if wormholes exist, finding one is very hard, let alone finding one which has the exit end near an alien habitat. There are ways of making wormholes, though, but one of them requires 'tearing'the fabric of spacetime, and the other, though easier, is still impossible for us.
• Tachyons: These are hypothetical faster than light particles, which would be ideal to send out as a message. The problem with these is that they allow you to send a message backwards through time, which means that they (most probably) do not exist...

As you can see, none of these are too feasible as of now.

Another one of our assumptions is that these aliens think the same way we do. This is a necessary assumption, otherwise, we would not be able to figure out what messages to send.
We assume that they use the same logic/ mathematics as we do. Many messages make sense only in binary or base ten, when the aliens might be using ternary or some other base to communicate (they might have 17 'fingers', or they might have figured out an efficient way to send messages with three or more states--'on1','on2', and 'off'--this could be achieved through quantum computing). We also assume that they would do stuff like:

• Order the periodic table the same way we do.
• Have the same fundamental units as us (We think that length mass, and time are fundamental units. They could equivalently use density, pressure, and force; or speed, energy, and power). This changes the significance of universal constants like the speed of light, Planck's constant, etc.
• Have the same physics as we do. It is very, very likely that they are atleast a few millions of years more or less advanced than us. Their physics could make our physics obsolete. They might scoff at the idea of quantum mechanics, just as we scoff at the 'indivisible atom', and the 'ether'.
• Have the same logic/intuition as us. (Our logic is based on certain rules which cannot be derived from each other. Their set of rules might be the same.)

This makes it hard to create a message that will be recognized as a 'message' and not as cosmic garble.

(Before you read the following, keep in mind that this is my viewpoint...)
SETI scientists are also constantly searching for planets which would harbor life like ours. In their definition of 'life', they are looking for cellular organisms which would survive in the same conditions that we do. What they've forgotten is this: Life on our planet must have evolved atleast three times.
Yep. Before we go any further, think about bats, birds, and pterodactyls for a moment. Bats are winged creatures, but they are almost like rats. Even their wings are basically webbed hands. Similarly, pterodactyls and birds aren't too similar except in the wing structure. By the theory of evolution, one could say that somehow, pterodactyls (and other winged dinosaurs) evolved into birds, and went extinct. Some of the birds later evolved into bats. But, bats are so much like rats that they must have evolved from them, too. Then where do we fit the rats in the evolutionary tree? The answer lies here: How about if wings evolved thrice in the progress of evolution. Some dinosaurs got wings, then eons later, some other creatures got wings, and also the ancestors of rats got wings. After all, wings are very useful appendages. It wouldn't hurt for them to be created through evolution thrice.

Just like that, life is a very 'useful' thing. And, if you think about it, the first cellular life evolved quite quickly, before the earth even got a chance to cool down. This makes one think. If life evolved once, couldn't it evolve again? Now, there are currently (this is my view, please restrain those firebrands) three types of life resident on earth. One is normal, cellular life. Now the other two are.....viruses and prions. (Prions are kinda like viruses, but there's no RNA in them--they're entirely protein. Mad cow disease is a prion disease). But, many people argue, that viruses require cellular life to reproduce. I could argue back, "Cellular life requires food, sunlight, etc. to reproduce". The definition of life is (pretty much) something which grows, reproduces, etc., etc. But these things are all done with the help of an environment, anyways. Viruses evolved after cells (most probably), so one could say that cellular life is the environment for viruses. Same argument for prions.
Also, there is a widespread theory that there might have been other forms of life formed before of after cellular life. They could still be here, hidden away in something known as the 'shadow biosphere'. After all, many of our cellular organisms are hidden away (for example, the botulism organism--where you get botox from-- cannot survive in oxygen. It hides in places like deep soil)

All in all, alien life might (Actually most probably) isn't like our normal cellular life. So really there's no reason to search out a planet and label it as "could harbor life". The only use of doing this is if we want to find a new habitat for ourselves.

In conclusion, I just want to say one thing. However much I shot down SETI's methods up above, they are still the best things one could do. After all, we know nothing about these 'aliens' of ours, so the best way to find them is to hope that they are like us (which makes stuff plausible and infinitely easier). Three cheers for SETI!!!
For those alien hackers who are reading this, I will be happy to oblige with a translation into mathematics.
-Manish Goregaokar
(Somewhere on) Earth, Solar system, In Orion Belt of Milky way Galaxy, Opp. Andromeda Galaxy, Local Group, Virgo cluster, This universe,11-brane,Multiverse,Creation.

Summary of this essay in one comic:http://xkcd.com/638/

## Monday, January 2, 2012

### Undefined=5

One day, I shall write a JavaScript library and include this line in it:
var undefined = 5
For those of you JavaScript buffs, you must have realized that this will break almost every sufficiently large JavaScript code in eternity without causing any compiler errors.

For those of you who don't know JS, take the time to learn it! It’s actually quite fun to learn.

And the reason why the code will break it is simple, if not a bit weird:
JS has two types of null values: null and undefined. Null is an actual object, kinda like NaN. You can call it and have no problems. Undefined, on the other hand, is nothing (not even a keyword). I can even type undefined=2 and have no errors. Now, JS, with the == operator, can't distinguish between the two. As in, window.blahblah==null returns true even if window.blahblah is not defined . But, JS has a wonderfully quirky operator known as the identity operator. This guy can tell the difference between null and undefined. Eg:
var poopy //gets a psuedo-default value "undefined"
return poopy===null //Will return false. Poopy is not null, it is undefined

It will only return true if you type poopy=null at the top. The reason for this is that == compares objects, typecasting them if necessary (so undefined is typecasted to null), while === preserves type and compares.

Now, as I showed, using window.blahblah==null won't tell you if the property is deliberately set to null or just not defined. Unfortunately, when developing frameworks which fit into larger applications, you don't have control over the rest of the code, but you still have to interact with it. Which means checking for undefined values becomes crucial. In that case, most people do this:
var undefined; //declare a variable which is not initialized
return poopy===undefined // check if poopy is in the same state as the undefined variable, i.e. uninitialized

This would work even if I didn't call the variable undefined:
var bloopy
return poopy===bloopy

But, JS programmers are obstinate fellows who always use the first method.
Now, if I type var undefined=5 in a JavaScript framework, all other code which uses the above trick won't work. Why? Now, the variable "undefined" is no longer undefined (i.e. uninitialized), and the program returns the exact opposite value that it should. Since checking for undefined values is quite essential in asynchronous scripting, this can make the scripts do unexpected things.

Kablooey.

PS: If anyone here is working on a large framework, please, please type var undefined=5 somewhere in the code. And make sure your code doesn't use undefined for checking for initialization. There you have it. Your code will be the only one that works when combined with other (sufficiently large) code.
Neat, huh?

## Thursday, December 29, 2011

### Hello World/Prologue/Big Bang/whatever

First post!
A bit about me and this blog:
I have varied interests, including science, mathematics, reading, programming, and being lazy in general. I have been told by many people that I should start a blog, but I couldn't bring myself to choose which of my interests to follow. So, I decided to make a mishmash blog with posts from varying topics. All I'm afraid of is that this will scare off lots of readers; so I'll try to keep a balance between the posts (Though I'll end up doing more programming and science posts than reading and maths)
Because of the mishmash nature of this blog, I have given this first post a title that takes care of most of the intended subjects of this blog.
I am recently strapped for time, so I may not post as regularly as I should. This situation ought to get over by next May.
Stuff I do in my spare time:
• Read stuff: Fiction, Nonfiction, and everything in between
• Help out at Wikipedia (Volunteer work, writing userscripts, programming)
• Code random useful stuff
• Attempt to uncover the secrets of physics (and fail miserably)
• Delve into Mathematics (No secrets to uncover here)
• Figure out new ways to be lazy and thus get more free time (in which I figure out more ways to be lazy and thus get more free time[...])
• Hack stuff
• Other random stuff that I'm too lazy to think about now.

~Manish