safer browsing using Firefox

I prefer Firefox to be my browser, instead of Google Chrome or Safari. I do not trust Chrome, because it is made by Google, a company which has a strong incentive to collect a lot of data about user's behavior. Chrome also sends what you type into the location bar incrementally to the server to try to guess the URL the user is trying to get to. Firefox is open-source and has shown strong commitment for protecting the user's privacy.

Firefox browser is available on mobile systems as well (Android and iOS), so the same set of extensions and settings can be applied on the desktop and on your mobile device.

The first change I make is to set my default search engine to DuckDuckGo. DuckDuckGo does not track its users . It also hides the search terms from site that show up in the results (it calls this as preventing "search leakage").

My next step is to install the following Firefox extensions

  • Self-Destructing Cookies - Self-Destructing Cookies is not just a cookie manager, it's a new cookie policy. You set how long cookies from each website will live and this addon enforces your choices.
  • Adblock Edge - Adblock Edge is a fork of the Adblock Plus and it does not have an "acceptable ads" feature. It might be getting deprecated in favor of uBlock Origin. I have not checked out uBlock Origin yet.
  • NoScript - This is one of those extensions that will definitely break a lot of websites. This extension blocks javascript, flash, java and other executable content on websites. You then whitelist the domains that you want to allow to run javascript.
  • Ghostery - Ghostery blocks trackers.

I also make it a point to check the "lock" icon on the HTTPS sites - especially for banks and social media sites.

Even after all this, know that you can still be tracked, your data can still be sniffed. If you want to maintain your privacy and make it harder for companies to profile you, then I strongly suggest you have a look at this interesting video - Anonymity and Privacy in Public Space and on the Internet.


Ceaseless Reinvention Leads To Overlapping Solutions

David M. Eagleman on edge.org's WHAT IS YOUR FAVORITE DEEP, ELEGANT, OR BEAUTIFUL EXPLANATION? says:

The elegance of the brain lies in its inelegance.

For centuries, neuroscience attempted to neatly assign labels to the various parts of the brain: this is the area for language, this one for morality, this for tool use, color detection, face recognition, and so on. This search for an orderly brain map started off as a viable endeavor, but turned out to be misguided.

The deep and beautiful trick of the brain is more interesting: it possesses multiple, overlapping ways of dealing with the world. It is a machine built of conflicting parts. It is a representative democracy that functions by competition among parties who all believe they know the right way to solve the problem.

..... And consider the different systems involved in decision making: some are fast, automatic and below the surface of conscious awareness; others are slow, cognitive, and conscious. And there's no reason to assume there are only two systems; there may well be a spectrum. Some networks in the brain are implicated in long-term decisions, others in short-term impulses (and there may be a fleet of medium-term biases as well).

... On a larger anatomical scale, the two hemispheres of the brain, left and right, can be understood as overlapping systems that compete. We know this from patients whose hemispheres are disconnected: they essentially function with two independent brains. For example, put a pencil in each hand, and they can simultaneously draw incompatible figures such as a circle and a triangle. The two hemispheres function differently in the domains of language, abstract thinking, story construction, inference, memory, gambling strategies, and so on. The two halves constitute a team of rivals: agents with the same goals but slightly different ways of going about it.

Part of the importance of discovering elegant solutions is capitalizing on them. The neural democracy model may be just the thing to dislodge artificial intelligence. We human programmers still approach a problem by assuming there's a best way to solve it, or that there's a way it should be solved. But evolution does not solve a problem and then check it off the list. Instead, it ceaselessly reinvents programs, each with overlapping and competing approaches. The lesson is to abandon the question "what's the most clever way to solve that problem?" in favor of "are there multiple, overlapping ways to solve that problem?" This will be the starting point in ushering in a fruitful new age of elegantly inelegant computational devices.


Dark side of start-up acquisition

Quoting from a news article about a recent startup acquisition in Bangalore:

On the very next day after the acquisition, as many as 20 of the firm’s 50 employees got pink slips from the company, according to a report. The people asked to leave were employed in project management, engineering, user interface, testing and marketing. The reason cited by one of the employees was that the company no longer had suitable roles to offer to the employees.

The lay-offs highlight a dark side of the start-up culture in India, where initially high-profile acquisitions grab headlines, but not much is said about what happens after these deals transpire.


Your spending power is less than what you think

Your income is not as much as you think it is.  Let me show you why  using the numbers from the US Census Bureau for Santa Clara county

Median household income (in 2013 dollars) is $91,702 .However, note that this is not the amount that comes into the bank.  The employer deducts the  federal tax from this. A rough estimate of the income tax would be 27% (standard deductions, no dependents). This leaves $66942.46 .

After the Federal government takes its cut, the state government levies the state tax on the income. For California this would be 8%. This leaves $61587.06 .

Now let us calculate how many hours someone needs to work to get $61587.06 into the bank. A workday is 8 hours. Mean travel time to work in(minutes), is 25 minutes. Let us assume that he/she gets 21 days of vacation. This means that including the commute hours, subtracting vacation hours and assuming 5 days a week, he/she work 2069.55 hours annually.

So, your hourly earning rate is 61587.06/2069.55 = $29.75. Read that again: the median hourly earning rate is $29.75 . If you do not account for the tax cut and the time you spend in commute, you will believe that your hourly earning rate is 46.65 . However, that is not what an employee earns.

Next, let us see how this converts to buying power. Suppose someone with median income wants to buy shoes with a sticker price $100. The sales tax in California is 8%. What this means is that he/she end up spending $108 on the shoes. To earn $108 , this person needs to work for 3.6 hours.

I have made a spreadsheet to make this calculation easier. . If you want to figure out your spending power, create a copy of the spreadsheet and fill in the cells with numbers that apply to you.

Some ballpark numbers (for California):

  • if your annual income is $50,000 , you need to work 6.7 hours to spend $100
  • if your annual income is $100,000, you need to work 3.3 hours to spend $100
  • Defined tags for this entry: , ,

Faster setup of virtualenv with devpi

Setting up the virtualenv can take a significant amount of time because it pulls down packages from PyPI. I was surprised that it does not try to use the locally installed packages. One way to speed up the rebuild is to use a local caching mirror of PyPI. This can be accomplished by using devpi.

Step 1: Install devpi package

sudo pip install devpi

Step 2: Add the following lines in your /root/.pip/pip.conf file

[global]
index-url  = http://localhost:3141/root/pypi/+simple/
extra-index-url  = https://pypi.python.org/simple/

From now on, pip will first try to get the package from devpi-server running on your localhost first and if you do not have devpi-server running, will fallback to pypi.python.org .

Step 3: Start the devpi-server on your localhost: devpi-server. Try installing a few packages or build a virtualenv. The command devpi-server -start will start the server and put it in background.

TODO - figure out how to start this from init.



gaslighting

In 1938, a London stage play told the story of a husband who drove his wife insane. In order to convince the wife that her own brain had become an unreliable narrator, the husband dimmed the gaslights in their home and told the wife she imagined the change. The play gave rise to the term “gaslighting,” : "a form of psychological abuse in which false information is presented to the victim with the intent of making him/her doubt his/her own memory and perception". The name of the play was Gas Light

Page 3 of 19, totaling 127 entries