Entries from Raj Shekhar

  • July, 2015
  • it's real hard to be free

    Billy: What the hell is wrong with freedom? That's what it's all about.

    George Hanson: Oh, yeah, that's right.

    That's what's it's all about, all right.

    But talkin' about it and bein' it, that's two different things. I mean, it's real hard to be free when you are bought and sold in the marketplace.

    Of course, don't ever tell anybody that they're not free, 'cause then they're gonna get real busy killin' and maimin' to prove to you that they are.

    Oh, yeah, they're gonna talk to you, and talk to you, and talk to you about individual freedom. But they see a free individual, it's gonna scare 'em.

    — Easy Rider

    Defined tags for this entry:
  • May, 2015
  • 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.

  • April, 2015
  • Photo

    image

    image

    Defined tags for this entry:
  • March, 2015
  • 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.

  • January, 2015
  • 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: , ,
  • Heuristic to determine the safety of your job

    Here is a heuristic that can give an idea if your job can be automated and might eventually become non existent :

    • can it be done by a software that has the ability to reason about "maybe" secenario. For example : is it time to replace the light bulbs and in what order should the light bulbs be replaced. Or is this change in the code base dangerous.
    • Can it be done by a software that can read an ordered list or report (for example: a bug list) and create an accurate representation of the project in a human readable (more precisely, a manager readable) format: are there any blockers for the completion or are there any tickets that can delay the whole project

  • November, 2014
  • 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.

Page 3 of 48, totaling 334 entries