Blog

Net-neutrality. This is why.

This post is a reply to the previous post by me titled Why Net-Neutrality? or Why not tiered pricing?.

After a hour long discussion and debate with a couple of people, these are the things that tell me why net-neutrality is essentially a social issue and not a capitalist one. I am going to outlay the arguments that I made in the previous article and try to point out the flaws and get a better understanding.

1. Greed of companies like Netflix and YouTube

The flaw with the argument “since these services use the ISP’s pipe for their service, they owe a part of income to the ISP” is akin to arguing a runner ran through this road to win his marathon and thus owes a part of the prize to the local government.

The point that it is streaming that clogs the pipe is countered by the argument that it is precisely because of those services, the size of the pipe is getting bigger and definition of broadband internet getting revised to higher speeds.

2. The cost of usage

I have argued the one difference between electric company and ISP is the cost of usage. While an electric equipment doesn’t mean recurring income to the manufacturer, a web service gets an income. Thus there is cost involved in usage of internet services which the ISPs want a slice of.In short, the ISPs are greedy.

Because the initial cost for both the internet and electric connection are very similar. Replace the electric line with a coaxial or CAT line, replace the local transformers with switches and repeaters, replace the high tension substation transformers with the servers of ISP, we have almost exactly the same setup except only electricity is an utility and internet is not

3. More speed more money

I argued why would any ISP want to create a slow lane if they make more money for more speed / more volume. Simply put, why would there be a fast lane and a slow lane?

It seems that it is exactly for the same reason “more speed/volume more money”. In a situation when the ISP can more money why would he be willing to give out a connection involving the same initial costs for a low volume low income connection? The flaw here is assuming that volume/speed is limited and the ISPs are really worried about their precious resource from getting sucked up by the streamers. I should have known better.

Finally

I previously concluded,

I as a layman consumer is completely ok with the current state of affairs and don’t mind if the billing becomes usage based, or someone creates a fast-lane for those who pay more as long as the slow lane is at the mandated minimum speed, which is the present case anyways.

Though I still say the same, I would say it in fewer words – I want a neutral net, which is the present case anyways 🙂

Why Net-Neutrality? Or Why not tiered pricing?

Update: Kindly read the follow up article Net-neutrality. This is why.

I have genuine question. Why net neutrality? I know there are reams of pages of content answering the question, but I am asking from a completely lay man non-techie version of the question. Why? The only answer that I seem to get is – It protects the interests of the consumer.

Interest or Greed?

The current pricing model used by the internet service providers is something akin to an electric connection. They give you a line to use and bill based on the connection speed and the quantity of data or amount of time you spend online. The electric company doesn’t worry whether you use a geyser or lamp as long as you pay the bill. Similarly the present ISP models doesn’t care whether you stream YouTube or read Wikipedia. The analogy seems extremely apt, except for one difference – the cost of usage.

In case of an electric connection, you buy any equipment that you want to use and pay the cost of the hardware. The more you use the more the electric company gains, the equipment manufacturer gets nothing most of the time. Exceptions like cable TV exist, but again cable is another utility altogether and we will get into that shortly. But in case of the ISP, you buy services over its line which earns money for those services. In this case it is completely opposite; the ISP gains almost no money no matter how much you use any kind of service over their lines.
For example, using geyser on a daily basis could consume a lot of energy and prove to be great revenue for the electric company, whereas streaming movies 24×7 is going to benefit only Netflix of YouTube and does nothing to the ISP except choking their lines.

The ISPs this want to take a part of the money paid to the service as it also utilizes on their resource. The invention of thing like Fair Usage Policy (FUP) is a way to limit this choking of the lines.
So when companies like Google talk about net neutrality (against tired pricing), the real question is whether the company is really trying to protect the consumer or just trying to enjoy the free ride that it currently enjoys.

The Cable TV Pricing

From a consumer standpoint this is certainly against the interest because we don’t really want to pay more for certain services. It is time we visit the cable TV evolution and see what the consumer really has said and done about it.

Initially there were there was only one way of getting satellite TV – Using a Dish Antenna. The intial investment was huge. Then came cable operators, who charged a certain amount of fees for certain number of channels, no choices, all just paid an amount. After that came the Direct to Home (DTH) services replacing the cable TV operator with a corporate body. Until to this day we pay per channel, called packages. And the customer has hopped on merrily with some noises here and there. Nothing in the transition has affected the channels’ (services) revenue.

Applying the same route, we are currently in the cable operator state, where the ISP is giving us a cable, we pay an amount. If the model evolves into one which prices textual data, VOIP, and media streaming at different rates, like that of a channel based DTH pricing, and bills the consumer on what is consumed, a lot of people would might end up paying a lot more as well as a lot less. Just as I avoid all sports channels, I might avoid all VOIP usage. If I am programmer, most of my requirement is software package and code, there is no need for me to pay more. But people preferring YouTube to TV would pay a lot, and thus reduce revenue to business like Apple TV, Google TV, Netflix, etc., but taking away a share of the pie. So for me a consumer, paying on how much traffic I use seems as much legit as big truck paying more than car on a toll road, simply because I use more resource.

This argument so seems biased towards ISPs. What if things like the ones below, said in Wikipedia, happens?

From Wikipedia
Neutrality proponents claim that telecom companies seek to impose a tiered service model in order to control the pipeline and thereby remove competition, create artificial scarcity, and oblige subscribers to buy their otherwise uncompetitive services.

From HuffingtonPost
A fast lane would let some websites operate at higher speeds and essentially relegate many sites — likely smaller, less-moneyed ones — to a slower pace.

Where are the regulatory authorities who enforce mobile communication and telecommunication pricing? Why such an authority can’t be created and clear rules saying what could and couldn’t be charged drafted? Why can’t things like slow lanes be completely outlawed? Say we create a law which says Non-profit sites like Wikipedia, Khan Academy should never be charged (extra) even for streaming content and pricing can only be done on For-profit entities like YouTube and Netflix. Calls for making internet a utility are a step in this direction of regulation. Why would anyone really want to create a slow-lane if more speed and more data transfer results in more money for the utility provider?

So.,

The entire thing about raising hue and cry over differentiated pricing seems to be for only one reason – Greed.
The greed of the companies to make money. They pull us, consumers, into the issue by terrifying us that our bills would shoot sky high and ISPs will fleece consumer. If that is the real issue, I think it is better dealt by talking to (or even creating new) regulatory authorities, consumer protection agencies and other similar governmental organizations and certainly not by tactfully converting a purely capitalistic issue a social issue involving rights and freedom.

I as a layman consumer is completely ok with the current state of affairs and don’t mind if the billing becomes usage based, or someone creates a fast-lane for those who pay more as long as the slow lane is at the mandated minimum speed, which is the present case anyways.

Unit Testing with CasperJS

Today I sat down to create a JavaScript library. I wanted to do it the way I have long dreamed of – TDD (Test Driven Development). There is no dearth of Unit testing libraries and frameworks for JavaScript, so after some reading on the internet settled on CasperJS and PhantomJS combination. CasperJS is just awesome for functional testing, but Unit testing? Even though it supports Unit Testing, it as such is not a dedicated unit testing framework like Karma or Protractor. Read this for more information on TTD frameworks for JS libraries.

Loading plain JavaScript files in CasperJS for unit testing seems to be completely undocumented. I tend to think it is because it wasn’t meant to be webpage-less. But the note on docs of tester module says:

The best way to learn how to use the Tester API and see it in action is probably to have a look at CasperJS’ own test suites.

Thanks for this quote, I found that using the fs module one can load local filesystem files as modules to be used. Using that now I could write unit tests while developing the library and later on write functional tests while using the library.

Here is the file structure

library
--test
  |--unit
  |--test.js
  |--index.html
--src
  |--livetransit.js

And here is are the two tests – i) uses a webpage based approach; ii) uses module approach
https://gist.github.com/tecoholic/937f51b6889448836db8

Live Transit Visualization

After a push from @logic, I started working on a project to show live location of suburban trains based on transit.js. The idea is to make a map similar to this for many cities, with a choice of schedules (weekday/sunday). But I found the jQuery plugin, transit.js, too hardcoded and disorganised to perform what I wanted to and also to my taste.

I found other projects like:

  • LiveBus which does a live status map using SVG maps based on d3.js library and GTFS feeds of the bus data.
  • TransitLive which uses LeafletJS as the map library with their own OSM tiles. The schdule data seems to come from the backend service.
  • NextBus which has a textual realtime status and route maps based completely on Google Maps.
  • King County Metro which again uses Google Maps for the map and a custom way of loading data from its servers. The best map I have seen so far and loads a ton of JS.

Each has its own technology stack solving the same problem.This blog post details the use of GTFS data or the lack of it for realtime visualization. So the generalized picture seems to be that everyone is rolling out a custom version of their own.

So, I am going to create a simple library that can do this.

Here is the mockup usage of the library:

// Create a new livetransit object with the map type
var lt = new LiveTransit();

// Assign a div for the map
var divId = "map";
var mapType = "google";

lt.setupMap(divId, mapType);

// Overloaded to perform both addRoute and initiateMovement
lt.initiateMovement("chennai_velachery.kml", "chennai_velachery_weekday.json");

// ------------------------------------
// other probable cases to deal with
// -----------------------------------
// Specify a different schedule like Sunday/Holiday Schedule
lt.changeSchedule( "chennai_velachery_sunday.json" );
// change the location - city
lt.changeLocation( "new.kml", "new.json" );

Facebook Account Deletion

I just now deleted my Facebook account.

Why?

  1. Freedom – Day by day using it makes me feel as if someone is dictating me how and what I should be talking to people about. The rampant, out of the blue censors by law enforcement and judiciary are the reasons. Even though I have never been a part of any such action, the atmosphere is getting too toxic over there in that domain.
  2. Irrelevancy – Most of the content that I encounter on my timeline are completely irrelevant to me and the only content that I engage with are blogs like Lifehacker and posts of a set of very few friends, both of which I think I can do without having to endure a non-free environment.
  3. Privacy – It has been a great concern for me ever since I became aware of its importance and ethics. Somehow kept telling myself, nothing would affect me. I think underestimating risks is something I am unwilling to do these days after reading “Fooled by Randomness“.
  4. Paranoia – Closely connected to “Privacy” – I was always thinking what if someday I discover that all the stuff that I have shared is sold/shared to someone and that someone uses it for purposes I never suppose it to be? Am I planning murder? No. But what if someone frames me for it? I am NOT paranoid by nature, I walk 1 among the billion+ in the country. But again, not all billion+ walk around recording data about what they read, where they go and what they think.
  5. Narcissism – One of the biggest effect of Facebook on character is, I think, breeding narcissism. It breeds a kind of self importance and provides an easy sense of achievement and forces a person to project a personality, real or otherwise. This becomes especially stressful when considering the fact when one is connected to all sorts of people from high school friends to working colleagues. A few recent encounters with people has left a bad taste in  mouth about the whole “sharing” thing.
  6. Spam – Spam, spam, spam – there is just no end to it. I am generally very efficient in ignoring Ads and spam because all that I look for is content from people and never click any link other than blog-posts. But most of the time genuine and original content is very hard to come by and all sorts of false claims on history, technology, identity creep in along with celebrity, movie and all sorts of eye-ball catching stuff.

After considering all this, the most logical decision to make seems to be to leave the system and reduce a lot of responses that brain generates due to unnecessary stimuli.

Will I ever get on a social network again?

I currently do not have an answer to that. There are a lot of things to be considered as listed above and see how they play out to make a decision. With the current turmoil of internet censorship across the world, misuse of it as tools of destruction, authoritative control, capitalist bait holder, and as an enterprise looking to make money indirectly by using my data, I don’t think I am getting onto it (FB) any time soon. I specifically mean FB here because, there exists an alternate platform called Diaspora* which deals with all of my above concerns (okay, maybe not narcissism), but  jumping into such a platform is pointless if I don’t really have the people I want to interact.

The year of 2014

Basically I attempted two projects as a personal development venture.

52 Weeks 52 Books: Started with the objective of improving the number of books that I read in a year. Read about a total of 27 books in all this year. Better than any other year in my life. Though the project is a failure, I reaped huge satisfaction in the process.

52 Weeks 52 Maps: Started with the aim of creating and uploading maps for Wikipedia. I think I did only 8 in all. Even those were done in the initial one or two weeks. This failed spectacularly.

Hopefully 2015 would be a better year.

Session Signup – A Coding Project

Update: This project never took off from the drawing board.

I work for Teach For India as a Fellow now and we have Teacher Development workshops, City Conferences once in a month where there are multiple sessions which provide technical training on multiple things at the same time. So we have a system where the Fellow chooses the sessions he wishes to attend. Presently here is how the session signup process works.
Signup_Automation

I am thinking of automating the red circle region by writing a web application that can run on Google App Engine. Since our organization uses Google Apps account for its IT needs. I think the integration could be more easily done with almost no cost.

Update 1:

Initiated the project using the Google App Engine. Signed up for a 60 Day & $300 credit Free trail from Google Cloud Services. – December 2,2014

Obsession

I have been observing a pattern in my life over the past few months. I am obsessed about something in the evenings and the free time. It was books for a month, Far Cry 3 for another, and has recently turned into Chess.

I am trying to understand the underlying factor which is responsible for this behaviour. After reading through some pages about impact of games on human brain, watching the TED talks like Jane McGonigal: Gaming can make a better world and assuring myself that I am not really going crazy, I think I have a plausible answer.

Like all young people I need to have that sense of achievement.

Being a introvert, the above explanation makes a lot of sense. I am not uploading pics in Facebook, I am not tweeting even an average of 1 tweet/day – other things that could keep me filled with the achievement and appreciation factor I am looking for.

Obsession Hacking

The word hacking is being used in a lot of places where it means “modification” or “change” or “tweak”. I am trying to use it for channeling my obsession into something that could be productive – as in work – as well as supply me the required achievement factor. One activity which I know could do that is – Coding.

Taking a look at what I have done in 2014:

github_dismal

I think I would do what John Resig recommends – Write Code Everyday, starting from today December 1, 2014. Let me see how far the obsession hacking goes.

Update: December 20,2014
Well. This doesn’t seem to be as simple as it seems. Gaming, reading books, chess – all have been entertaining and relaxing. Because that is consumption of content. But coding is production of content, hence has proved to be a much difficult and straining task. I haven’t been able to get to coding at all. The experiment so far has been a big failure.

Book – The Soul of a New Machine

13081926.jpg

The Soul of a New Machine by Tracy Kidder is one of the best books I have read in my life. The book is a chronicle of how project Eagle came into being at the company Data Central and its progress. The most important thing about the book is it doesn’t chronicle the technological milestones, rather the people and their (let me say) soul.

One thing that really struck me is how those engineers involved were portrayed as human beings who were vulnerable, who feared, who were unsure yet persisted and how it was not a super-human who carried it forward. Having born so late into this world when computers were already ubiquitous, and the people who were involved in their development had already become cult idols, it struck me very differently, giving a grasp into the reality.

Personally speaking– I, for one thing, clearly understood the meaning of “bigger than oneself”. The looked back 7-15 years in my life and understand why certain things happened that way.

Some of the things that I highlighted while reading is:

Most Engineers, I think, consider themselves to be professionals, like doctors or lawyers, and though some of it clearly serves only the interests of corporations, engineers do have a professional code. Among its tenets is the general idea that the engineer’s right environment is a highly structured one, in which only right and wrong answers exist. It’s a binary world; the computer might be its paradigm. And many engineers seem to aspire to be binary people within it. No wonder. The prospect is alluring. It doesn’t matter if you’re ugly or graceless or even half crazy, if you produce right results in this world, your colleagues must accept you…

West usually left to work for a little after seven in the morning and set out for home a little less than twelve hours later. The drive took only about twenty minutes, but the distance he traveled couldn’t be measured that way.

Engineers are supposed to stand among the privileged members of industrial enterprises, but …. are not content with their jobs. Among the terms used to describe their malaise are declining technical challenge, misutilization; limited freedom of action; tight control of working patterns. No one who made it through the Eagle project could in fairness have raised such objections.

I think, there are actually far more important lines to note and I haven’t done it because I was enjoying it so much I didn’t want to spoil it by stopping to read and do highlighting.