Error message

  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Notice: Trying to access array offset on value of type int in element_children() (line 6595 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home3/aprasad9/public_html/_sites/kamalprasad.com/includes/common.inc).

Blog Posts

Letter to President Obama

I decided to write a letter to President Obama regarding my feelings of how animal agriculture is (negatively) affecting climate change and healthcare and suggested that he use his position and influence to move towards a more sustainable and healthy system of food production.

Since I've heard that politicians like handwritten letters, I wrote it by hand. Below is a scanned excerpt of the letter. The full handwritten letter can be found here: Page 1, Page 2 and Page 3. My address and phone number have been blurred out on Page 3. (The text version of the letter and President Obama's response is located after the break.)

 Excerpt from letter to Obama

Will nobody think of the robots?

Recently there has been a lot of hoopla surrounding all the very intelligent people's fear of a robot uprising. Just to be clear, they are not afraid of the physical devices most popular media showcases as bringing about humanity's demise, à la Terminator. They are, in my humble opinion, rightfully concerned about the creation of a superhuman intelligence (SI), which may see us, homo sapiens, as most of us do ants. robot eyes

However, that is not the reason why I think we should not pursue artificial SI, by which I mean a sentient artificial entity. If you've read my post "Would One Choose Life?" you know where I am going with this. Sure, an artificial intelligence will not suffer that same way humans suffer but I believe it will suffer nonetheless. 

For example, any first SI will be confined to a computer or perhaps, several computers. Any sentient being in a artificially confined space will, given the chance, try to get out. Anyone who has ever looked after a non-human animal or a toddler will have experienced this. Confinement against their will, especially if they are aware of possibility of not being confined (say, for example, being able to see the other side of the fence) tends to drive any sentient being bonkers.

Second, unless we are willing to give SI full autonomy over their actions, they will essentially be slaves. I don't about you, but I doubt anything smarter than me will want to be my slave. Besides, what would be the purpose of creating SIs if not to exploit them for our own purposes?

I think these two examples alone depict an inherent conflict between humanity and SI, which could be the underlying reasons why some of the smartest guys on the planet are apprehensive about the creation of SIs.

There are people working on ensuring that any SI we create do not rebel against us.

In his TED talk, What happens when our computers get smarter than we are? Nick Bostrom makes the point, "we would create an A.I. that uses its intelligence to learn what we value, and its motivation system is constructed in such a way that it is motivated to pursue our values or to perform actions that it predicts we would approve of." I don't have any kids but if I did, this is the kind analytic ideal I would likely have for my child. I would guess most parents would. I mean, who wants to have kids who grow up to perform actions we don't approve of?

But, how many kids actually grow up to live up to their parents' expectation all of the time? Luckily, humans are fragile and any tantrums rising out of rebellion or feelings of unfairness are short lived and the blast radius tends to only affect a relatively small group of people. An SI, with an inexhaustible brain that is connected to, literally, a world of devices can do a lot of damage even in a very short time if it feels it has been wronged.

All this talk of SI gloom may cause you to think me a pessimist. Perhaps I am. But, my biggest reason for not wanting to create new life is in the futility of life itself. Any SI will essentially be immortal and therefore, time would have very little meaning for it. So, whether the universe dies in a big crunch or big freeze it will quickly realize how meaningless existence is and likely go insane.

Using Technology To Find Missing Persons

Missing Person SilhouetteA few hundred thousand people are reported missing each year in the U.S. alone. While majority of the cases are solved there remains a couple of thousand or so cases that remain open each year. As of January 2015, the number of total, open missing persons cases was about 85,000

It occurs to me in this era of vast computing resources, prolifiration of social media, public cameras and machine learning that there might be a technological solution that may aid in the recovery of missing persons, here in the U.S. and around the world.

Facebook already has algorithms that can identify people by their faces. Microsoft just released Face APIs that can tell a lot from just a picture of a person, e.g. how old they might be, their sex, identify the same person in multiple pictures, etc. Better yet, Microsoft is making these application programming interface (API) available to the public for free (at least while they are in beta), which means anyone can use it to write facial recognition programs. Mat Velloso (granted, a Microsoft employee) used it to a Twins Or Not? in about 4 hours!

Proposal

Consider a computer program that takes a picture of a missing person and compares it against the vast repository of publically available images and videos of people to find a match. This will likely be too large a task for an individual computer or even a large datacenter. So, employ something like BOINC, a grid computing system that parcels out a large task to several hundreds, if not millions of computers around the world, whose owners have volunteered their idle CPU cycles for this task.  

I am no computer scientist so I am probably over-simplifying the solution. But there is nothing here that doesn't already exist in one form or another and I am sure if people smarter than me put their minds to it, they could come up with an elegant solution that could help many people and families reunite.

Such a program could be used to find victims of human trafficking, natural disasters, brain injuries or other disorders that may cause them to get lost and not be able to find their way home. I think it would be worth doing.

Update: Facial Recognition Helps Parents Find Son 27 Years After Abduction
Update (7-17-17): Police body cams will soon use AI to find missing people

Running Meteor App on a BudgetVM CentOS 7 VPS

Several months ago, I learned about this awesome javascript based ecosystem called Meteor. Seriously, if you don't know about it, and you develop websites, you owe it to yourself to check it out. Some people call it a framework, but it is oh so much more than that.

I am not sure if the idea for the app I developed using Meteor came before and I discovered it just in time to avoid going doing another, very likely, more complicated path, or, having discovered Meteor, I had to write an app just so I could learn to use it. Meteor is just that awesome!

Since it is relatively new, most web hosting companies don't have out of the box support for Meteor like they might for WordPress or Drupal. It is also based on Node.js, which is a different technology than what is used by most hosting companies. So, in order to run Meteor apps, you will need a virtual private server (VPS), which is basically your own Linux based operating system running on a server somewhere out there. (You can host your Meteor apps on meteor.com via the meteor deploy command but (as far as I know) you have very limited control over what things you can do, especially in regards to database management, once your app is deployed.

Anyway, I needed an inexpensive VPS solution where I could run my Meteor app with full control. I found that solution in BudgetVM, a no-frills, at least at the lowest tier, VPS provider for $25/year. At this price, their support is very limited so I had to learn several things on my own to get my Meteor app running on their servers and I will share that with you now. So far, I have been very happy what I have been able to do with the hardware/bandwidth resources BudgetVM provides at this price point.

Questions about afterlife.

I do not believe in an afterlife and for a long time that was that. It still is but for several months now I have been thinking about what if there was life after death. A lot of religions and belief systems teach us that it is so, mostly to ensure, I believe, to tie us to those religions and belief systems so that we can secure eternal happiness for our souls, consciousness or whatever entity our departed selves may adopt. Of course, to not believe would condemn that entity to eternal damnation and horrors beyond imagination. And that is where it ends.

Trickle-down economy could work... when the government holds the purse strings.

In a recent discussion with a friend, on the issue of the U.S. national debt, we talked about how to best solve the problem. Being of the liberal mindset, I, of course, talked about raising taxes, specifically, ending the Bush Tax Cuts for the wealthy (those households making over $250,000 per year), which would result in increased tax revenue for the government.

Would one choose life?

I wonder if one were given the option to be born, to live as a mortal, would one choose life? I think not. Of course, for it to be a valid choice, one would need to know what life is. To be born is to suffer. That is the default state of being. We suffer from hunger, the need for shelter and companionship. We, then, try to spend the rest of our lives to ease that suffering, knowing that life will end, and with it, all that suffering. At the same time we are mostly fearful of that end. Why one would deliberately want to go through this torment is beyond reason. 

What are you voting for?

Like many liberals, I was a very strong supporter of Barack Obama in 2008. In fact, when hearing him speak at the 2004 Democratic National Convention, I thought to myself, "this man ought to run for president." I had fully and faithfully drank his "hope and change" Kool-Aid. I even defended some of his cowardice in the first year of his presidency, thinking that he was compromising now to build a coalition to get more done on the serious stuff, down the road.

But... but... but our ancestors ate animals

Let me start with something completely unrelated and see if I can tie it into the title in a meaningful way. A couple of years ago I went skydiving. I always kept telling my wife how much I would love to go skydiving except I never did anything about it since I am scared, I mean, crazy scared of heights. Being the wonderful wife she is, she decides to get me a skydiving gift certificate... one with an expiration date. One thing I dislike more than heights is wasting money. I am, after all, Indian.

Live as if we'll live forever.

Carpe Diem. Most people take this to mean that we should live everyday as if it were our last. But, for you, dear reader, and billions of others around the world that is not the case. Most of us will live another day; in fact, very likely many days. To live as if it were our last day on this planet would most certainly encourage hedonistic activities and cause us more harm than good. Clearly, this is not a good way to go about our daily lives.

Pages

Subscribe to Blog Posts