This is why Google+ integration failed

 

google+ spam

I got the above chat request a few days ago. This came in Hangouts, which is tied into my GMail. I opened it today. Amanda wants to chat. OK.

But, who’s Amanda? No where in the above window is there a link that goes out to Amanda’s Google+ profile. I can’t even see Amanda’s gmail ID from this dialog. But that’s supposed to be a moot point if I can get access to her (it’s?) Google+ profile.

But if I can’t see either of those, how do I know it’s spam or a legit chat request. To err on the side of caution, I’ve Ignored, Reported and Blocked Amanda.

This is why the Google+ integration failed from the get go. If you’re going to shove it down our throats, at least be thorough with it.

Let’s talk about Tor

Teleread recently covered how the New Hampshire Public Library turned its Tor Relay back on, despite warnings from local law enforcement that although the router itself isn’t illegal, it will likely be used for illegal purposes. The article points out that Tor is an important service because, keeping aside the negatives that come from total anonymity, it provides political dissidents a way to bypass censorship. This is important for the growth of democracy in all countries around the world.

There is, of course, the other side – that Tor is used by a wide variety of undesirables who use it for nefarious purposes using the blanket cover of anonymity as a defense against possible government intervention. In that sense, Tor is kind of like torrents. You can download every open-source Linux distro ever created using torrents, but most people are probably just downloading pirated content off it. Continue reading

7 days with the Apple Watch

I was recently gifted the Apple Watch by my girlfriend and despite my initial apprehensions, I love having this device strapped to my wrist. I was test-driving the Pebble watch before this and I have an analog and a digital watch I alternated between before that. But the Apple Watch definitely has blown all of those out of the water.

As my brother Nipun once said –

Continue reading

Apple needs to release a Mind-Body-Soul LifeKit

How many miles did you walk today?
How long did you sleep?
What was your calorie intake and expenditure over the weekend?

These are questions that your iPhone can answer right now.

How many pages of a book have you read in the last week?
How much time have you spent meditating using one of the meditation apps on your iPad?
How much time have you spent on twitter, Facebook, Instagram or Reddit today?
Are your iMessages mostly positive or negative?

These are some of the questions that Apple’s iOS cannot answer right now. Continue reading

The Secret History of Blah

Let us begin.

The world is full of interesting things. Wonderful creations that change your lives, make it easier to reach for the stars or talk to your loved ones. There are countless people toiling away in garages, labs, offices, and corners of public spaces, working on their masterpiece. They will soon release their creation into the world and you will wonder, “how was that even made? What was the process of the creation of this marvelous thing?” Continue reading

[fiction] Information

As humans, we are obsessed with knowledge. Knowledge is power, the maxim goes, and where there is power, there are humans poised to grab it. Thus, knowledge is important to us all. It is to me too. It has been, since the beginning, when, as a child, I used to memorize the names of famous politicians, sportspersons and actors and repeat them at the drop of a hat. I don’t remember why it was so important, perhaps it was something my parents thrust upon me. Perhaps it was a way to amuse myself and my friends. Perhaps it was a silly competition we had at some point that stuck with me.

As I grew up, I ventured into the world of debates and public speaking in school. It was vital that I integrate quotes, maxims and bon mots into my presentations and this brought me into the wonderful world of quotes. Thoughtful ideas on freedom, humanity, spirituality and hope flowed out of quote dictionaries and into my mind, quickly burning into memory the names and occupations of the people who thought them. I could recall what a certain thinker said about a certain topic on a certain date. Similarly, politicians, orators, philosophers and artists began taking space in my mind, whispering their eloquent words day in and day out to me. I would take pleasure in being the only one to quote so many people in so many contexts. It was amazing that no matter what the occasion, I was the one the students, teachers and even the Principal turned to for a quote. They instituted a “Quote of the Day” feature in the morning assembly to ensure that students benefit from my vast knowledge. It was marvelous, till it was not. First, the boyish habit of harassment started. I was teased as a know-it-all and a teachers pet, then I was beaten up for having the courage to stand up to them and quote their own heroes – comic book characters, telling them that bullying was a sign of weakness. I went crying to my mother, who told me that it was not me who was a know-it-all but they who were know-it-nothings. She told me to embrace who I was and stand my ground. After all, it was Gandhi who said that “first they ignore you, then they laugh at you, then they fight you, then you win.” I was going to win, if only by perseverance.

But then, the other thing happened. I discovered numbers. Facts based on ages, dates, quotes and full names were fine, but facts based on numbers were indisputable and more importantly, beautiful. The distance of the Moon from the Earth and the Earth from the Sun and the Sun from Alpha Centauri are numbers that are real, indefatigable and transcendant. Learning the 200th decimal of pi and the precise value of the Avogadro’s number amazed my peers but did very little by way of giving me any real understanding of the why behind these values. Regardless, the very nature of rote learning allowed me to spew forth everything needed by my school’s examinations to score high percentage points and keep everyone happy.

As I grew up further, I moved from learning about Men and Numbers to learning about current affairs and world history. I spent hours pouring over competitive exam level current affairs textbooks and gleaning everything from the world history encyclopedias my school loved to display in their library but never let any child touch. The librarian was so fed up of my constant need to refer so many books that she gave me my own key to the reference bookcase. I was happiest when devouring knowledge like a siphon from those books and saddest when I was being berated in the playground. My quotes had informed me of the need for physical activity and my mental acuity demanded spending at least an hour daily in the Sun, half an hour playing and half an hour being targeting by the tougher, more rowdy kids. My non-nerdy habit of regular exercise gave me enough strength to fight back, but my worldly experience told me otherwise. I was not interested in playground politics. I was interested in finishing that encyclopedia volume three.

Current affairs used up a few years, before it was time to choose where to go in terms of career. Since I was so good at remembering details, many teachers favored me. I was a favorite of the history teachers, who thought Arts was the way for me to go, the biology teachers, who thought using my memory to remember every part of human anatomy and their various processes would make me an excellent doctor, and even of the accounts and math teachers, who believed my powers of remembering formulae would stand me in good stead in the extremely tough exams where calculators were banned and all calculations were to be done on paper. But by this time, I was aware that memory is a fickle thing. I was already forgetting some details of my childhood. It was not enough to deter me from learning, but definitely enough to make me question the benefits of heading into a field where my ability to remember information was the utmost requirement. Don’t get me wrong, I was still on top of my game, but as a rebellious youth, I was not certain I wanted to stand on the laurels of my god-given gifts and wanted to instead, squander away the opportunity chasing some other goal of creating from scratch.

Creation is difficult. How the first chemicals jumped into the state of living existence is just as difficult a question for our scientists as the question of what new product to release is to an company. Steve Jobs said something along the lines of “creativity is just connecting things” and “a lot of people haven’t had many diverse experiences, so they don’t have enough dots to connect”. I felt that I had enough dots to connect, that somewhere in the future, I would see the correlation between everything I’d read and use it to create something entirely new. I was so sure of it that I chose to take up a science-based education, with the hope of becoming an inventor. Oh, how wrong I was, how naive! I started the studies with gusto, but with layer upon layer of knowledge piling up, I was suppressed by self-doubt and a debilitating depression which caused me to believe I was never meant to remember another piece of fact in my life. As I saw the flood of information pour over me, I realized that I was not anyone special, that the previously held contempt others had of me was misplaced. The great equalizer known as PCM taught me that no one is great in front of the laws that govern science. Floundering, I stumbled into temple one day, with the priest noticing my sadness with keen attention. He called me over and asked me what was wrong. I was not ready to give in, so I said that it was nothing. He asked me, as he had done many times in my life, what my scores were in the last test I gave. My previous answers of 100/100 or 96/100 did not stump him as much as my now 67/100 did. He chastised me for not taking enough care in my studies and I lashed out for him questioning my capabilities. He took a step back and realized that the age I was passing through was not kind on my faculty of judgement. He chided me for getting angry about this issue instead of asking for help like a man. I looked up to him and begged him for an answer. He only said one thing – “go back to the beginning and learn everything you’ve missed. You are the source of all your mistakes and you are the way to correct them”. I carry this learning with myself to this day. I went back to my studies and picked up books from a few years back. I started learning everything I needed, concentrating specifically on science and math. I used my memory again, this time confident that I could not fail if I remembered everything. When the next tests came along, I was not even close to ready. But I went in with the confidence that if there’s anything that can serve me well, it is a sound foundation.

I prevailed. I scored eighty-six percent on that exam and my teachers were happier than me. For the first time in a long time, as my Chemistry teacher explained to me, someone had rebounded of their own volition in her class. Most of her students were too busy taking tuition for entrance exams to be bothered to even come to class, but she was glad she had someone to dote upon in her classes. From that point onward, I knew that constant vigilance was important for me to succeed, because no matter how much knowledge I had garnered, it was nothing compared to what was coming my way over the next few years. I struggled with Physics, as it had to do with application more than memory, but I worked hard and got through with good grades. As the entrance exams loomed over us, my friends spent more time in tuition than in the classroom. I did the opposite. Instead of wasting any time in tuition, I spent it all going back to the books and swallowing things the traditional way. Whatever free time I had, I spent on cracking the entrance exam books. This was an approach which I felt would work out to be adequate. Instead of wasting time trying to understand the theory, just spend it in understanding the questions. Multiple choice is the greatest trick played on the students of India, giving them some hope in a degenerative and overtly competitive world. I played the game as best as I could and before I knew it, I was placed in a mediocre college in a mediocre stream, waiting to be churned out of the system and proclaimed an engineer.

The next few years were, expectantly, inconsequential. I was attracted to many new interests and constantly jumped back and forth between having a social life and a cultural, studious and personal one. I formed new friendships and my friends thought of me as some kind of a mystery, with the ability to tell them what Governers every state of India has had since independence, but not bothering with what the mess room menu is for the day. As I proceeded to conquer subjects that interested me and reject those that did not, I learnt the cruel truth of the Indian educational system – even at this high level of education, nothing was my choice. I had to study what was thrust at me without fail, else I was rejected as a non-serious student. I had heard great things about choices of subjects and freedom of deciding my future as a school student, but those were pipe dreams funneled to make us work harder without the current working generation having to answer for the pitfalls of the education system. Once I came to that conclusion, I knew that my fate was sealed. I was to sit in a few entrance tests for a few mediocre software companies and regardless of my interests and degree, I was going to be a software engineer. That realization smoothed things over for me. I knew that none of the exams and none of the learning at the engineering level really mattered. Henceforth, I rejected all attempts by my educators in trying to interest me in their subjects. I got the passing marks as needed and spent all my time in perfecting my knowledge in other spheres. I learnt acting, drama and debate. I mastered public speaking and ad-hoc campaigns. I was soon known across the college as the trouble-maker who still manages to get the needed grades to not be called an underachiever. Soon, it was time to bid good bye to the college and start a job. I got placed as I expected and it was during the interview rounds that my colleagues realized that all those cocurricular activities I participated in helped me when the interviewer asked the simple question – so what do you do other than studies in college. Top rankers were often rejected as being too studious and overachievers. I did not have that problem – in me, the interviewer saw the perfect candidate to be moulded as per the needs of the company. I was happy to go along with that routine.

The next few years were, surprisingly, without incident as well. I got that job, got that house, got that promotion, got that marriage, got that child, got that other promotion and settled into a routine. It was all very normal. Then, one day, it came to me – the itch. It was something I could not define; perhaps a hunger, which no food was able to vanquish. I changed my routine, started going to office later than usual and spending more time there, hoping more workload, or at least the appearance of it would cure this odd sensation. But it did not leave me. I applied for time off, and got it, the first in three years. My manager signed it off with glee, since he would not have to pay me for the time-off that I had not used. I spent some time talking to my family and then we traveled. It was summer, so it was the perfect time to drop it all and go see places with the wife and child. But no matter where we went, I wanted to go to the next place and then the next. Soon, it was time to finish the trip but my need was left unfulfilled. I called in and extended my leave. I called my child’s school and told them that attendance would be a little short this time. We spent some weeks in the East, exploring the strange lands that were a mixture of Hindu, mountain and Chinese cultures. The political air was thick with accusations and conversations were rife with gossip wherever we went. After the third week, my wife got fed up and left with half the luggage and the kid. She was anxious to restart home life and was not interested in this vagabond nature which so attracted me.

Good thing, because as I spent unpaid time off in the mountainous region of Sikkim, I came to the conclusion that the hunger that had been eating at me from the inside was that old nature of mine, the one which forced me, almost, to collect knowledge from every source. In the past few years, life had stagnated to the same issues, same challenges and same droll living which can make any sane man question his mental acuity. It was as if the Great Indian Software Machine had chewed me up and spit me out. I was tired of the mediocre standard of living that it presented to me and itching to do something about it. With that resolve but with nothing concrete in mind, I went back to my home. I told my wife that I had to break this rut and save my soul in the process. She was just glad to see me again and rained platitudes of my extraordinary ability to bend software to my will. She expected those words to mean something to me, but the fact of the matter was that I was no better software engineer than thirty others in my own department, let alone the company, the city or the country. So there was no joy to be had in her speech. To add to her frustration, I did nothing to actually satiate my thirst. I joined my job again, with my manager overloading me with work and angry emails from customers for my unscheduled absence. I made it all good in the next two months and as things settled into the same routine, I started spending more and more time on learning from the Internet. I joined a ton of MOOCs, running my own, clandestine second college experience, but I grew tired of the process pretty soon. There’s nothing special about MOOCs, they are the same drivel that I had to go through during my Bachelors, packaged for the Internet by professors sitting in other countries. I dropped all courses, but kept the membership, as this granted me access to their online libraries. Not like I needed those – books are a resource that are truly freely flowing on the Internet, as opposed to music or movies. Using the much better setup at the office, I started deep diving into a barrage of subjects. The MOOCs had got me cursorily attentive to the idea of studying philosophy and channelized that into studying both philosophy itself and using that learning to study other subjects such as aerodynamics, fluid motion, evolutionary biology and world history. I went back and studied the great wars, understanding how each country reacted, won and lost and how the outcomes affected the future years of those countries and their neighbors. I touched upon depression-era economics and the value of grassroots monetary movements. I even studied the demand and supply of monies themselves, specially the new-age versions of money – crypto-currencies. But more than anything, I studied the process of learning and definition of knowledge. As I deep-dove into metaphysics, I came to realize that for all the western study of the subject, there is a vast study of it based in the East, in the Vedas and Shastras that Indians have largely ignored and avoided studying. Thus, I went forth and studied those. I compared thought systems and military strategies between the East and the West and made extensive notes. Somewhere along the line, I started blogging on the subject and as the national discourse turned towards Eastern superiority of thought, my blog started gaining a lot of attention online. I was soon spending equal parts studying and equal parts expounding what I had amalgamated from essentially years of education. It was less an objective and more an opportunity to push my own limits. Daily, I was being asked questions and forced to think about comparisons a normal person would not make. Towards this goal, I wrote a small script which would pull and references on a particular subject from Wikipedia and research papers around the world. I dipped into the APIs of the best sources of research and developed tools to quickly summarize information, extract conclusions and gather intelligence in as automated a manner as I could.

For all the time that I was spending online in my office, I was extracting it from my family life. My wife’s initial glimmer of hope disappeared when I told her that I was studying on MOOCs. The same came back when I told her I was off those useless courses, but her attempted at prying me away from my phone and computer failed and she realized I had simply replaced MOOCs with self-learning. We started having torturous fights about my long work hours and lack of attention towards her and the family. I was avoiding going home every day for longer and longer periods of time. At the end of it, she decided that it was useless to fight. But she instituted a new rule – that I had to spend as much time at home as possible. I could be online as much as I wanted, but I had to return from the office as quickly as I could. The alternative was divorce. That word is such a taboo in India that my senses immediately went into defensive mode and I agreed to her every demand. The next day, my boss saw my empty chair at four pm and got upset that I had not told him of my time off, but I quickly responded to his inquisitive email to inform him of my new plan – early in and early out. My work did not get affected, but I was no longer tied to the setup at my office. I bought a splendid work desk for my home and setup a three LCD monitor display that was going to be my base of operations for many years to come.

 

Solving the ten thousand year problem

While writing a short story today, I started thinking about an issue that I discovered last year. The story is set in the far future, where the dissemination of knowledge has changed so vastly that the idea of a printed page is absurd. I’ll be publishing it in the coming hours. But, as I was writing it, I started thinking about how much our culture and language will change in the next ten thousand or so years, let alone over the next hundred thousand years. That reminded me of an interesting thing I read last year – “Ten Thousand Years”.

Out in the New Mexico desert, stands a government building with a single task – to permanently store nuclear waste from the US’ various nuclear power plants, for at least the next ten thousand years. The date is so chosen because supposedly, thinking beyond that time frame is too mind-boggling to consider. It has nothing to do with Jeff Bezos’ Long Now Foundation, which is building a ten thousand year clock, thought it might as well, because both ideas are equally interesting and convoluted.

Now, one of the issues that the Waste Isolation Pilot Plant (WIPP) in New Mexico is facing is that of language. Since the last ten thousand years, so much has changed in humanity, that the idea that the same language, the same symbols, and the same myths that protect us today will remain even then, is a non-sequitur. English is constantly fighting to be the language of choice while Spanish, French and Chinese are growing their user base. Symbols such as the skull-and-bones are adapted, first by real-life pirates and then by digital pirates to change their meaning completely, transforming something that indicates danger to something indicating excitement and even fun. Even myths change and long-loved black cats are suddenly considered evil and the number 13 bounces around as something lucky, then not.

Thus, assuming that a sign board at the gates of the WIPP, written in English and a battery of other languages, along with ten different types of warning symbols, should be enough to deter people from entering the premises, is foolish. This is one of the smaller issues that the WIPP is facing.

So what’s the solution? While I was pondering on the course of the story, I realized that the answer would have to be a mixture of ingenuity and technology. This is how I believe the problem can be solved –

We need to build a system that’s not just fault-tolerant and self-healing, but also intelligent enough to learn about it’s surroundings. While it may seem enough to place a settlement of scientists nearby who would constantly watch over the plant, recruit future employees and ensure the safety of the rest of the land, humans have a distinct habit of dying, moving away, letting emotions come in the way of logic and duty, and overall being bad protectors of the environment. So, the solution would be to build a system that can be initially supported by humans but must eventually stand on it’s own feet. This Gatekeeper would not just prevent people from walking into the compound, but also learn new languages, understand symbols and changing economics and governmental systems and ensure that no one disturbs the deathly sanctity of the place it protects. It would be able to access the Internet and learn of new technologies to replace it’s old ones. It would learn languages and add them to it’s database, essentially creating a bookmark of human history as it goes about it’s business of preventing nuclear waste from getting out of this burial place. This would have to be a highly fault tolerant system, able to quickly analyse any potential issue such as maintenance, earthquakes, failing parts and changing technologies in order to ensure its continued service. I think only if we are able to build such a powerful system can we promise ourselves that such a dangerous material can be protected over the next ten thousand years.

Or, we could just drop it into a volcano and hope that thing eats it all up.

Here’s some love for LinkedIn Users

Just tap that button

Some time ago, my brother came to me with a problem. He loves LinkedIn. It’s a great service. But as much as he loves connecting with people on that professional network, there are some glaring inefficiencies that he does not appreciate. He wasn’t interested in removing ads or making it look nicer. He just wanted to see the information that people intend on displaying on the site. You see, there’s a plethora of information available on LinkedIn, but it’s mostly hidden.

For some reason, if you’re landing on a user’s profile from LinkedIn’s user search, or from a Google search, you end up seeing this –

But what you should really be seeing is, at least, the user’s name, a little bit about their history and experience. Essentially, you should be seeing something like this –

LinkedIn’s been around since some time now, but they haven’t fixed this weird issue and so, your LinkedIn experience is often curtailed by what can only be called a minor bug.

Not any more. Today, NiKhCo. has launched a new tool, “LinkedIn Reveal”, which will solve this absurdest of LinkedIn woes. It enables you to explore LinkedIn with the depth you never thought possible. We’re not trying to build something that changes the way LinkedIn displays information or makes things look fancy. We’re just building something that lets you see LinkedIn as it truly should be – a beautiful, open, professional network with all the information you need about people, companies, jobs and connections.

LinkedIn Reveal is now available in the Google Chrome Web Store. Do check it out. It’s valuable for everyone who uses LinkedIn. Also, here’s a screenshot, because pictures somethingsomething thousand words somethingsomething. :)

Fixing Jetpack’s Stats module

Despite the hate that Jetpack gets for being a bloatware plugin, it is one of my favorite and the first step whenever I setup a new WordPress install. However, Jetpack does have a few irritating habits that I cannot overlook. One of these is the stats module. The module actually does pretty well, posting data to the wordpress.com dashboard and making it easy for me to quickly glance at the number of visitors I’ve had for the day.

However, every so often the module craps out and logs a large number of visits from crawlers, bots and spiders as legitimate hits, since those are not in the official list of crawlers, bot and spiders to look out for. To fix this, I went out to look for the list and to add to it. One quick GitHub code search later, I found that the file class-jetpack-user-agent.php is responsible for hosting the list of non-humans to look out for. What I found inside was actually a pretty comprehensive list of software, but one that definitely needed extending.

If you want to do what I did, find the file in your WP installation at –
/wp-content/plugins/jetpack/class.jetpack-user-agent.php

Inside the file, look for the following array variable –
$bot_agents

You’ll see that the array already contains common bots like alexa, googlebot, baiduspider and so on. However, I deepdived (meaning did a sublime text search) into my access.log files and found some more. To extend the array, simply look for the last element (which should be yammybot) and extend it as follows –
'yammybot', 'ahrefsbot', 'pingdom.com_bot', 'kraken', 'yandexbot', 'twitterbot', 'tweetmemebot', 'openhosebot', 'queryseekerspider', 'linkdexbot', 'grokkit-crawler', 'livelapbot', 'germcrawler', 'domaintunocrawler', 'grapeshotcrawler', 'cloudflare-alwaysonline',

Note that you want to leave in the last comma, and you want all the entries in lower case. This doesn’t actually matter, because the PHP function that does the string compare is case-insensitive, but it just looks neater. You’ll also notice that I’ve added the precise names of the bots, like ‘grokkit-crawler’ and ‘clousflare-alwaysonline’ but you can be less specific and save yourself some pain. This will, however, affect your final stats outcome.

Notes –

  1. Some of the bots are pretty interesting. I saw tweetmemebot, which is from a company called datasift, which seems to be in the business of trawling all social networks for interesting links and providing meaningful insights into them. Another was twitterbot. Why the heck does twitter need to send out a bot? We submit our links to it willingly! Also interesting were livelapbot, germcrawler and kraken. I have no idea why they’re looking at my site.
  2. Although Jetpack does not have a comprehensive list of bots, it still does a pretty good job. I found the main culprit of the stats mess in my case. Turns out, CloudFlare, in an effort to provide their AlwaysOnline service (which is enabled for my site), looks at all our pages frequently and this doesn’t sit well with Jetpack. I hope this tweak will fix this now.
  3. Although this fix is currently in place, every time the Jetpack plugin gets updated, all these entries will disappear. That’s why this blog post is both a tutorial for you all and a reminder and diary entry for me to make this change every time I run a Jetpack update. However, if someone can tell me a way to permanently extend Jetpack, or if someone can reach out to the Jetpack team (hey Nitin, why don’t you file a GitHub issue against this?) it’ll be awesome and I’ll be super thankful!

Update – I was trying to be hip and did a fork of Jetpack and GitHub, made the changes and then tried to make a pull request. Turns out, I don’t know how to do that, so I opened an issue instead. It sits here.