Posts

Featured

TRAI seeks comments on Net Neutrality in India

Telecom Regulatory Authority of India has published a consultation paper asking for comments from stakeholders on important questions related to net neutrality. When it comes net neutrality all of us are stakeholders as users of the open and transparent Internet. So we should all submit our views on these important questions. Please read the document (it's long but it's very informative) and send in your responses by 8th April, 2015. Here are the questions asked: Question 1   Is it too early to establish a regulatory framework for OTT services, since internet penetration is still evolving, access speeds are generally low and there is limited coverage of high-speed broadband in the country? Or, should some beginning be made now with a regulatory framework that could be adapted to changes in the future? Question 2 Should the OTT players offering communication services (voice, messaging and video call services) through applications (resident either in the country or outsi

Amazon Glacier: Archival storage that's cheap?

Amazon Glacier is a new service from Amazon that offers archival/cold storage at a cheap & flexible on-demand price of $0.01/GB/month. They say this is highly durable storage with a durability of 99.999999999% (nine-nines, same as Amazon S3), but availability for retrieval is going to be delayed by several hours (as opposed to instant retrieval in S3 with availability of two-nines over a year). Traditionally, cold storage meant tape storage. Last time I personally used tape backup for a server was over a decade ago. Disks have taken over as the medium of backup in most companies. (except for cases that really needs cold storage forever like CERN's LHC). Let's do some simple math for a disk based system. Cheapest 3TB SATA disk that costs about $100. (Enterprise class drive would be 3 times that cost). What's the actual usable storage in this? A "3TB" drive contains 3 trillion bytes of storage and not really 3 terrabytes. And a filesystem will have a few G

Stuff to get it right early for a startup

I'll make this a short post. It takes less time to set this up initially and get all of your projects conform to it than trying to retro-fit it later. And the effort spent on this will pay for itself in saved time from increased productivity ten times over. A source control repository Separate binary file assets (like lots of images, videos etc) from text file assets (like source code into separate repositories. Use a distributed version control repository, like git. Integrated Code review tool, like gerrit. Integrated Bug database, like bugzilla (it's very customizable and fast) or jira (newer versions are pretty good). Integrated code browser, like opengrok.  Every project should be buildable, preferably using autotools. Even if it's 3rdparty code, never just keep the binary. Always keep the source in good building shape. Also, save the web url or location from where it was downloaded. There maybe a bugfix or a update you may want to pick up later. Ens

nginx 1.0!

My favorite server, nginx has hit 1.0 release. With this release they have made public the svn repo holding the code with history all the way from 2002. The repo is at  svn://svn.nginx.org. Kudos to Igor and his team on this awesome piece of practical software. I see myself continuing to be a fan of both Apache httpd and nginx for a long time to come.

Thrift for serializing/deserializing objects in Membase

First off, if you haven't heard of Membase , you should check it out. It's an evolution of sorts from memcached . Typically when you use memcache or membase to store/retrieve key-value data, the value part is not a simple datatype. Instead, it would most likely be a serialized representation of some complex application specific data-structure. It's great to set/get complex datastructure with a single remote call like this. But what could become a problem very soon is the performance of the serialize/deserialize operations that needs to happen with set/get operations. With php, the obvious way to do this is to use the language's builtin serialization facility. Since the serialized format is a ASCII based format, I would guess that it's performance is not optimal (especially for deserialization). Also, one would want to do compression to reduce the data transfer and storage costs. This again adds to the set/get operation costs. I'm looking at one such applic

Need for service with guarantee of security and privacy

Current Situation With all of the online communication services like e-mail, social media sites we use today, pretty much all of them are "free" services in the sense that we don't pay them any subscription fee for using the service. And as such the "Terms of Service" are heavily tilted towards the service provider. In most cases, the only way such free service provider makes money is by mining the data they collect when we use the service. Every time we use such service we are inputting some data for query, transmission or storage. Most of the time this data is sensitive, confidential, private data like your contacts, personal messages that reveal who you are, what you like or don't like, what, when and where you do things etc. By mining this information for profiling the user and using it to show targeted ads or to do market demographics research and sell that information to marketers are most common ways of making money. In such cases, no particular

Flash video sucks!

Summer is almost here. With the rising ambient temperature, my macbook gets hot sooner. Especially when my browser is open it gets hotter sooner. The reason is the all pervading Adobe Flash player based ads or video players on web pages. This has made the experience of watching videos on youtube or ted.com an unpleasant experience. If I watch the video in full-screen, I notice both cores on this macbook doing full 100%. That's horribly wrong when it only needs less than 1% when I play the same video via a standalone video player like VLC. This really needs to be fixed. Something is horribly broken here. Is this just me or everyone else simply putting up with this problem?