Meta: Outlink Design

I had completely forgotten my idea of posting a meta every now and then. For those unfamiliar with this idea: Simply put, metas are posts about this blog. (For a more elaborate description of the ‘meta’ concept, read this book.)

I was browsing through the WordPress settings, when I came across a feature called Proofreading. Basically, it scans your posts as you type them, and detects unusual sentence construction, repetition/clichés and highlights them. But another feature, which I am more interested about, supplies “Additional Post Content”: It identifies keywords or phrases in the post, hunts the internet for related links, and gives the writer the option of inserting any or all of them as links into the post.

Quite a few popular blogs that I have seen, are infested with these kind of links.. to the point of irritation at times, I think. I remember a time when I had fallen into the habit of randomly selecting and deselecting text with the mouse while reading anything, and I would invariably click on some or the other hyperlink in the process.

But let us analyze the function of these ‘outlinks’ from a Design perspective. For that, we need to first create a fictitious personality for the average reader, or what my last IDC course called a Persona. Now, this may not be the most accurate statement, but it is fair to say that the typical person who tends to read blogs (and several of them, probably), is fundamentally a reader. Further, people often do chain reading.. one article or post leading to another and so on. Also, the readers that land up on a particular post, via such chaining, may have very diverse origins and interests; so it becomes a must for any technical terms or names in the post to be properly defined or documented, in a way.

Looking from that Persona’s perspective, outlinks become very essential: A blog post that points to other sources of reading, is like a chain propagator, and is surely more welcome than one which acts like a chain terminator. And pointing to the definition/documentation for non-standard terms and names is a neat trick.

All this, in support of adding links. Any striking disadvantage of the same? Not that I know of, except that the visual flow and readability of the content is marginally reduced.

In short, you’ll find more outlinks in my recent posts, now that I have activated the Proofreading feature.

(PS: This is the first post that goes into all the categories. Time to add a new category next time…)


The Odds

Almost all the science fiction I know is built upon some very futuristic setting; and the whole mood is as if tasks like time travel, meeting extraterrestrials and using Aperture Science Hand-Held Portal Devices are but second nature. Right from Asimov’s positronic brains to the Infinite Improbability Drive, scientific progress has been taken for granted. And I guess that is what Fiction is about.. otherwise, what would be the point, mostly?

But today, I happened to come across this article, which provides more evidence of our inability to cross the speed-of-light barrier. And that is when I was suddenly struck by the extreme other possible end of the future.. Imagine that somehow after centuries.. or millenniums, despite all scientific attempts, we fail to create artificial intelligence; plus, no aliens seem to exist; nor can we visit most planets because we are still brutally nailed down by constraints like the speed of light. Further, consider that all this pent-up zeal for Progress might find an outlet by completely solving our environmental/socio-economic problems. That would be a scary nightmare.. leaving us with nothing to worry about; but nothing to do either, except maybe waiting indefinitely for that alien phone-call.

“Look at us, hurtling through space on this big, blue marble. ” – Seinfeld

But a while after I was immersed in this rather kill-joy view of the future, I remembered Jules Verne  bravely discussing submarines in Twenty Thousand Leagues Under The Sea(1870) and space travel in From the Earth To the Moon(1865).. a full century ahead of the Apollo 11 ! No doubt these ideas seemed as fantastic back then, as do Portal guns now; yet Verne had such tremendous and accurate vision of the future path of Technology. This somehow does offer some reassurance that we will, despite all odds, break all barriers and actually become the sophisticated civilization that science fiction envisages. Asimov’s Foundation might be our future, after all.

Yet; the above do not eclipse the solid, unyielding statements that have withstood brutal cross-examination for about a hundred years now: Einstein’s Theory of Relativity and the speed-of-light barrier. The odds still remain.. what lies ahead?

(PS: The only science-fiction story I can recall that has been set in a believable real-world framework, is Jules Verne’s Around the World in Eighty Days(1873). Do you know of any others? If so, kindly mention it in the comments below)


This year at the 52nd International Mathematical Olympiad, a team member of India got a Gold Medal; an event that had been missing from our performance for about a decade. Hence, this is an appropriate moment for me to write a bit about Mathematics in general.

The first thing I wish to say about maths, is that it deals with figments of our imagination and thoughts. And no two people can actually have the exact same thoughts. Then what does it mean, to know the Pythagoras theorem? And more importantly, what does it mean to say that the Pythagoras theorem I am thinking about, is the same one that you are? How can people actually have intelligent conversations and write even books on what might mean different things to different people?

So, my own explanation for this is: If one could somehow instruct the whole world to simultaneously think about the Pythagoras theorem for a while, we would all be (probably) thinking of this property of a right angled triangle. Of course, the mental picture or dimensions of the triangle will vary wildly from person to person. The content of our thoughts may be different, but the form is the same. So in a way, mathematics is a living example of collective memory at work. And knowing the Pythagoras theorem, is tantamount to nothing other than being part of this collective memory. So, whenever you teach somebody the Pythagoras theorem, you are not just saying the words to him; you are including him to also share the collective memory that millions of people already have in common.

If art is considered as the purest form of human expression, I think mathematics is the purest form of human thought. And often I wonder whether the analogy between maths and arts can be taken further. For instance, it is a generally accepted fact, and does not come to us as a surprise that not all people have the same level of appreciation of art. But for some reason, when we see students who don’t like maths, we consider that as a failing of our education system. Sure, one can train people to be able to do some basic calculations, just the way anybody can be mechanically trained to play a piece of music. But true appreciation of maths, just like art, is an inherent quality of each person, and cannot be created out of nothing. Then, is it wise for educators all over the world, to strain their brains to create better ways to make children like maths more and more?

To conclude: the thirst for maths is like the quest for gold.. And the true location of the treasure has been given by Paulo Coehlo in The Alchemist: One has to look within.

Hit Count? Read Count!

At the end of one of my recent posts, I had requested the readers to necessarily rate the post, as a means to know how many people actually read the post till the end. I considered this statistic to be as significant as the number of hits. Actually, I needed that number for this calculation I had in mind, that can potentially give us a much more powerful criterion to rank posts.. something that I am tempted to call “Read Count”.

So, the outline of this calculation is rather simple:

For a given post, the number of hits is essentially the number of people who read at least the post title; and the number of of ratings is the number of people who lasted through the whole thing. Now, the number of people who lasted, say, only up to halfway through the post, will almost always be some value between these two extremes. So in fact, one can try to fit a nice curve between the start of the post and the end, which shows how many people reached up to that point. Since we know the values of the curve at both ends, it only remains to determine how the curve will typically be shaped.. linear, concave or convex?

Now, since the curve also reflects the average readers’ interest that lasted up to that point, I searched for online sources that try to gauge the typical audience attention over a single activity as a function of time, and found that the curve is concave-up (note that this source is indicating the attention span length and not intensity, but it is easy to translate one into the other).

And finally, equipped with this killer graph, we determine its area-under-the-curve(codename for Integral), which is essentially proportional to the amount of time for which people have been actually reading your post. And this is what I define as the Read Count of the post.

Of course, there are much more direct ways to measure how much time people spend reading your posts: Simply hide a simple Javascript timer in the sidebar, that keeps ticking as long as the page is open, and also sends the elapsed time periodically via HTTPXML, to a PHP script located on some server, which keeps a track of these requests (or rather, when they stop coming in), to estimate the amount of time the page was open for.

That is a hardly “direct” way, but it is probably less indirect, to say the least. But that apart, what makes Read Count so powerful? Well, it is the simple notion of dividing this by the number of hits that the post got, to find out the mean attention span length of the reader base.. which in turn, can let you determine the very precise part of your post, around/after which people on an average, lost interest in the post! The ultimate debugging tool for any blogger, I’d say.

The possibilities of using the fresh curve are endless..

PS: Hence, Rate this post if you are reading this!

Swarm Intelligence and Collective Memory

(Firstly, I have nothing new to say about the attacks than you have probably been reading around, except that the Spirit of Mumbai is not about how indifferent we are to the attacks; rather it is about how sensitive and responsive we are to the need of the hour)

Swarm Intelligence, Collective Memory. These two ideas.. what do we know about them? I keep hearing about Swarm Intelligence quite often in the context of robotics, mostly; and quite frankly I was unaware of the idea of Collective Memory until I saw the movie Waking Life.

Yet the two have a very natural and deep connection that escaped me for a long time, until only very recently, when my research problem came down to actually closely observing the behaviour of a swarm of “pseudo-intelligent” beings.

Pseudo-intelligent, because they are only as good as the C code that Created them. (And just like the ‘real’ God, the same code will also have to responsibly Destroy them; thanks to the no garbage collection in C :D) But other than that, these particles actually have pseudo-life; for as long as they live, they literally swim around in space, talk to each other, and split into more of themselves; looking all the time for something.. let’s call it cake, for the sake of discussion.

But the most important aspect of this method (called Particle Swarm Optimization(PSO)) is this: the advantages of PSO start appearing only when the swarm collaborates, exchanges data and puts together all information it has about the cake. In other words, the particles must start making use of their Collective Memory; as opposed to their individual, independent thought.

So, in short: A swarm’s intelligence is as good as their collective memory

Simple as these ideas are, we see manifestations of them all around us. For example, the concepts of Cloud Computing and Grid Computing seem to be conflicting, since one of them is about centralization and the other is about decentralization. Yet, they not only co-exist, but also influence each other’s prowess. (Because after all, the ‘cloud’ IS a grid). Another related and interesting concept is the emerging digital currency called Bitcoin, which is backed not by any Bank or Government, but actually by the network of the many Bitcoin users collectively performing many computations even as you read this.

To conclude, I suspect that the thing I said about swarm intelligence being as good as collective memory, is as relevant to us as those software particles; but not all of us consciously act accordingly.

Game Review: Where Am I?

Decades hence, if web operating systems really become prevalent, I hope that the in-browser flash games gain the popularity and attention that they deserve. Today, I came across this little flash game called Where am I?; and it is one of those games which everyone simply must play at least once. So, as an attempt to encourage the reader to play it, I decided to write this brief game review! Synopsis, more-of.

Firstly, when I said the game was little, I actually meant tiny. That, because there are some flash games that take weeks to complete.. this is a particularly long and complicated one, where some upgrades have actually been monetized!

On the other hand, Where Am I? gets over quickly.. firstly, because it does not waste time in useless things like menus, options or game instructions. (It doesn’t even have the little mute button in the corner!) Basically this is the first thing you see after the game starts..:

Small White Dot on a completely Black background, with the remark "Where Am I?"


and then the text fades away, and you are left staring at a white dot… and you are supposed to start playing!

But either by intuition or otherwise, you do try the arrow keys, and that is when the fun begins! The audio-visual play of harmony comes together nicely. It even makes just bouncing around enjoyable as well. Yet, the controls are trivially simple, and once you’ve hit the walls a few times and spotted the exit, you’ve basically understood the entire gameplay (not to be confused with the game mechanic).

Well, a few levels or so later, you’ll probably decide to stop just bouncing around randomly and actually explore the maze a bit more consciously, or decide to just follow the wall. And you will have finished the game a few minutes later. A short and sweet experience, punctuated with the little remarks and groans that the dot makes, one of them being “I hope there’s cake at the end of this…” (the odd Portal reference is always welcome :D).

Hundreds of such flash games get created year after year; some of them leading to sequels of increasing complexity!

By the way, don’t just assume that you can surely finish the game! It is simple; yet it requires some patience and calmness of the nerves to complete. So do give it a try!

FOSS: Altruism?

The fundamental question asked again: what drives people to create and maintain Free and Open Source Software? Some people think that they are just a cleverly disguised business model; and money is really what they want, one way or the other. Some others think exactly the opposite: that FOSS are a completely altruistic initiative.

Today, I came across something that probably sheds light on the developer’s perspective with regard to this topic. I had just installed GNU Emacs in Windows, and was struggling to locate my .emacs file (I should have realized that just rebooting into Linux would have been quicker.. note to self), when I reached the GNU Emacs FAQ for MS Windows. The very first question and its answer happen to be:

1.1 Why support GNU Emacs on Windows?

It is not our goal to “help Windows users” by making text editing on Windows more convenient. We aim to replace proprietary software, not to enhance it. So why support GNU Emacs on Windows?

We hope that the experience of using GNU Emacs on Windows will give programmers a taste of freedom, and that this will later inspire them to move to a free operating system such as GNU/Linux. That is the main valid reason to support free applications on nonfree operating systems.

A very interesting reply! Especially the first line, which conveys the strong message: GNU Emacs is not particularly aimed at helping Windows users (i.e. majority of the world) per se; it is aimed at inspiring them to move away from Windows and similar nonfree systems. Altruistic? Or is it just business-as-usual? (BTW I doubt both.. Misanthropy is the word that comes to my mind, but that may be only because I have been watching too much Dylan Moran these days)

If Emacs for Windows is all about giving programmers a “taste” of freedom, then they are “licking” a small operating system, essentially. Because GNU Emacs 23 is not just a text editor, or just a development environment for virtually any programming language. It also has a file manager, a command prompt, a content-management/version-control frontend, a telnet client, an FTP client, an email reader, a calendar/daily-planner (complete with a list of holidays), a programmable calculator, several games, and of course, a psychotherapist. I hope someone adds a media player to it; then we can do away with operating systems entirely 🙂

Of course, if Emacs does manage to inspire people to abandon Windows, it would be a tremendous favour to them, implying that in its own way, Emacs is definitely altruistic!