Monday, November 24, 2014

Learning to Code

First off, I'm not one of those people who thinks EVERYONE MUST LEARN TO CODE.  That said, if you don't know anything about programming, it can help to learn a little so you don't feel like everyone is speaking a language you don't understand.

I wrote up a little page on how to start if you know absolutely nothing.  TL;DR: work through this book.

Saturday, March 22, 2014

Unintended Consequences

Paul Graham recently decided to change the way comments work on Hacker News, a popular and influential link aggregator website used by programmers and other techies.  Getting to the "top of Hacker News" is a big accomplishment in tech circles; I even hear people in my lab talking about it.

The change means that by default, comments are not shown on the website, and instead multiple users with a high enough karma must endorse a comment before it becomes visible.  Users seem to receive karma by posting and commenting things that get upvoted (I don't know the details).

I believe the users of Hacker News are mostly male.  I hypothesize that users with karma greater than the endorsement threshold skews even more male; I wonder if the percentage of women in that group is even over 1%.  If my hypothesis is correct, an interesting consequence of this policy change is that a woman's comment cannot appear on Hacker News without a man endorsing the comment.

How does that sit with you?  

I haven't even stated any opinions yet; I just pointed out a result if my hypothesis is true.  You might think that statement is fine; I find it troubling because it means that it's possible some users' voices and opinions won't get heard on a site that is influential and important, perhaps because the majority finds them controversial.  It also just feels wrong.

Sometimes criteria that appear to be based on "merit" have troubling consequences.  We should encourage people and companies to think deeply about unintended, potentially troubling consequences of their actions.

Disclaimer: My PhD advisor also runs Hacker News.

Tuesday, February 25, 2014

Lowest Common Denominator

This post probably won't say anything that hasn't been said before, but I was thinking about Whatsapp and their success.  A lot of people I talk to here at MIT find the whole thing insane and really don't understand how on earth this could happen.

Most people understand international SMS (and even SMS within some countries) is expensive.  But I've heard so many people ask "Why not Gchat?  Why not Facebook Messenger?  Doesn't almost everyone already have one of those accounts anyway?"

When it comes to group communication, you have to look at the lowest common denominator.  If you have 5 friends who all want to communicate and one of them is on an old Nokia, it doesn't matter if the majority of you have iPhones -- you install Whatsapp because it has an iOS and J2ME client.  It's the only thing that will work across all the phones in your group.  Once you're using it for that, if it doesn't suck, you'll use it for everything else.

Even if 99% of the world were on Facebook, if anyone wanted to talk to that 1%, they would have to use something besides Facebook Messenger.  Or leave them out, of course.  One person I talked to said in the above situation he'd obviously just drop the Nokia user as a friend :).  But for most of us, that's not how small group communication works.

I think this effect, combined with a decent chat experience, is what made Whatsapp grow so fast.  Think about that next time you consider only doing an iOS or Android app.

Sunday, January 6, 2013

Who Really Owns Your Phone?

I was working on some text about interoperability on the web, and found myself getting up in arms about how far we've strayed from the initial ideals of the internet.  The web was founded on principles of open, democratic access.  Any computer could put up a website; given an internet service provider, any user could connect to it.

There has been a trend towards closed platforms controlled by a single company, the most popular being Apple's App Store.  These walled gardens offer many benefits -- users can (usually) trust the applications they install, there's one place to go to look for apps, and developers have a centralized place to focus on promotion.  Overall app stores greatly simplify the mobile app experience.

But of course, they have their downsides.  Namely, they are sucking away our freedom and rights to run whatever code we want on our devices.  Developers are subject to arbitrary rejections -- Omar said that a friend's app was recently rejected for being too "avant garde", whatever that means -- which keeps them out of the primary distribution channel, and not available to users at all.

So, just avoid the app store, right?  Not so easy.  The debate over HTML5 websites vs. native apps on mobile is an excellent example of this. HTML5 offers platform independence, ease of updating code, and freedom from app store censorship. Native means the app will be faster, work offline, and have more access to phone hardware.  Which app is going to be more pleasant for the user?

What really frightens me, and makes me feel incredibly hypocritical for writing this on a MacBook Air, is the thought that Apple might make this the dominant model for desktop apps, too.  They are already sort of trying with the App Store on OSX.  I definitely don't want an Apple approval process coming between my laptop and what code I can run.  To be fair, it's a bit worrisome that Google is trying to move to a world where I don't have any access to my hardware except through a (Google-controlled) web browser.

Downloading, compiling, and running arbitrary code is not just for hackers.  The ability to do this is vital for encouraging competition and giving users choice.

Similarly on the web, there's a movement to closed sites that hold our data hostage.  And even though they might offer ways to download our data in a lump, they don't offer easy connections to share and move data between services.  The worst is when they arbitrarily decide to treat services differently and promote or debilitate one over another; see the Instagram/Twitter fiasco.  More and more user creation is moving behind these walls, making it inaccessible to third party applications.  This stifles innovation -- we have to wait for a single company to decide to build and push out features, instead of farming out this work to the wide world of developers, and seeing what sticks.

Unfortunately I don't have any answers, just questions:

What kind of technology can we build that encourages and promotes interoperability in this new world? 

How do we solve the issues of safety and curation if we don't use app store walled gardens?  

What kind of understanding do users have about their choices, and how do we encourage them to make ones that are in their best long term interests?

Friday, January 4, 2013

actually not so transient

I was going back and looking at old posts, because I vaguely remember writing something mean about something that might come back to haunt me today and I was trying to find it to belatedly hide it.  Anyway, I was pleasantly surprised at what I used to write.  Sure, the pictures are all broken and I was clearly very wrong about some things, but I am not totally embarrassed about what I wrote in 2007.  Some of it wasn't so bad.

At times I used this thing like Instagram, but well, now there's Instagram, so I probably won't do that anymore.  I can't believe I started writing here in 2006, over six years ago!  Little did I know visiting MIT in March 2007 that I'd be spending the next five years here (p.s. I just did a linking thing that I hate, using each word for an example of the phrase, but look at little 2007 neha visiting MIT!).  Actually at that point in time I was fairly sure I'd be back in SF real fast.

It's funny, I'm having some of the same dilemmas today that I had five years ago, like the question of where I want to live the rest of my life.  I lived in New York for a few months AGAIN and wasn't totally taken with it... I might just have to give up on having a life there.

Also, I think I was like half libertarian back then.  Defending chain stores?  Yikes.

Most of my sharing has spread to other services, but a lot of it just doesn't happen anymore (unless you happen to find me when I'm particularly up in arms about some issue [sorry Brian]).  No place has taken over as the comfortable place to rant.  I would like to start writing essays on contained topics.  Fear of being wrong or regretting what I write has kept me from doing it for years -- but looking back on this blog makes me feel a little bit better.  I was particularly moved by my friend's article on doing academic inquiry in public (spell check is telling me enquiry is wrong even though being an enquirer is a thing?  WTH english language).  Not writing means you aren't part of the conversation.

I'm still working out where I will write research stuff and where I will write personal stuff, but for now, I will just put everything here.  One of my New Years resolutions is to write a couple of sentences about every article I read, so I started a little tumblr here:  Neha's Grumbles.  It was initially called "Neha's Tidbits" or something but then I realized everything was negative so beware.  Anyway it's amazing how much less crap you read when you are forcing yourself to write about it.

Oh and re: TV go watch Game of Thrones, Breaking Bad, and Homeland.  I also really like Nashville but that might just be because I'm starting to enjoy (tolerate?) country music.  Damn you Taylor Swift.