Bangalore

Visualizations for Navigation : Experiments on my blog

This is a meta post describing two features on this blog that I don’t think I’ve documented before. Apologies for the navel-gazing, I hope there’s enough useful information here to make it worth reading

Most folks read my blog through the RSS feed, but those who peruse the web version get to see many different forms of navigational aids to help the user around the website. Since the blog runs on Drupal , I get to deploy all sorts of fun stuff. One example is the Similar Entries module, that uses MySQL’s FULLTEXT similarity to show possibly related posts1. This allows you to jump around on the website reading posts similar to each other, which is especially useful for readers who come in from a search engine result page. For example, they may come in looking for Magic Bus for the iPhone , but given that they’re probable iPhone users, they may be interested in the amusing DIY iPhone Speakers post.

The Timeline Footer

However, given that this blog has amassed about a thousand posts over seven years now, it becomes hard to expose an “overview” of that much information to the reader in a concise manner. Serendipitous browsing can only go so far. Since this is a personal blog, it is interesting to appreciate the chronological aspect of posts. Many blogs have a “calendar archive” to do this, but somehow I find them unappealing; they occupy too much screen space for the amount of information they deliver. My answer to this is a chronological histogram, which shows the frequency of posts over time:

Each bar represents the number of blog posts I posted that month, starting from August 2002 until now2. Moving your mouse over each bar tells you which month it is. This visualization presents many interesting bits of information. On a personal note, it clearly represents many stages of my life. June of 2005 was a great month for my blog — it had the highest number of posts, possibly related to the fact that I had just moved to Bangalore, a city with and active Blogging community. There are noticeable dips that reflect extended periods of travel and bigger projects.

In the background, this is all done by a simple SELECT COUNT(*) FROM nodes GROUP BY month type query. Some smoothing is applied to the counts due to the high variance, for my usage, Height = Log base 4 (frequency) gave me pretty good results. This goes into a PHP block, which is then displayed at the footer of every blog page. The Drupal PHP snippets section is a great place to start to do things like this. Note that the chart is pure HTML / CSS; there is no Javascript involved3.

The Dot Header

Many of my posts are manually categorized using Drupal’s excellent taxonomy system. A traditional solution to this is to create sections, so that the user can easily browse through all my Poems or my nerdy posts. The problem is that this blog contains notes and links to things that I think are “interesting”, a classification that has constantly evolved as my interests have changed over the past decade. Not only is it hard for me to box myself into a fixed set of categories, maintaining the evolution of these categories across 7+ years is not something I want to deal with every day.

This is where tags and automatic term extraction come in. As you can see in the top footer of the blog mainpage , each dot is a topic, automatically extracted from all posts on the website. I list the top 60 topics in alphabetical order, where each topic is also a valid taxonomy term. The aesthetics are inspired by the RaphaelJS dots demo, but just like the previous visualization, it is done using pure CSS + HTML. The size and color of the dot is based on the number of items that contain that term. Hovering over each dot gives you the label and count for that dot, clicking them takes you to an index of posts with that term. This gives me a concise and maintainable way to tell the user what kinds of things I write about. It also addresses a problem that a lot of my readers have — they either care only about the tech-related posts (click on the biggest purple dot!), or only about the non-tech posts (look for the “poetry” dot in the last row!).

This visualization works by first automatically extracting terms from each post. This is done using the OpenCalais module (I used to previously use Yahoo’s Term Extractor, but switched since it seems Yahoo!‘s extractor is scheduled to be decommissioned soon). The visualization is updated constantly using a cached GROUP BY block similar to the previous visualization, this time grouped on the taxnomy term. This lets me add new posts as often as I like, tags are automatically generated and are reflected in the visualization without me having to do anything.

So that’s it, two simple graphical ways to represent content. I know that the two visualizations aren’t the best thing since sliced bread and probably wont solve World Peace, but it’s an attempt to encourage discoverability of content on the site. Comments are welcome!


Footnotes:

1 I actually created that module (and the CAPTCHA module) over four years ago; they’ve been maintained and overhauled by other good folks since.

2 Arnab’s World is older than that (possibly 1997 — hence the childish name!), but that’s the oldest blog post I could recover.

3 I have nothing against Javascript, it’s just that CSS tends to be easier to manage and usually more responsive. Also, the HTML generated is probably not valid and is SUPER inefficient + ugly. Hopefully I will have time to clean this up sometime in the future.

meat market

The Bangalore Torpedo analyses the Indian Marriage market.

|

google mumbai, google delhi

Google opens sales offices in Mumbai, Delhi. Total tally: an R&D center in Bangalore, an engineering center in Hyderabad, and 2 sales offices.

|

prof. baeza-yates jumps on the y! bandwagon

(hat tip: solzaire)

Arnab’s Law of Information Retrieval: Every famous researcher in Information Retrieval will eventually be hired by Google, Yahoo! Research, or Microsoft Research :)

While Yahoo’s execs are throwing in the towel for search, I’m quite impressed by the research momentum the Y company is building up. And now they get Prof. Ricardo Baeza Yates on board as head of the new Y!Research Spain/Chile.

That brings the tally of Yahoo Research Locations to:

  • Pasadena (the Overture office, afaik Dr. Pennock sits here)
  • Bangalore (not really Y!R, but there is an R&D group here)
  • Berkeley
  • Santa Clara
  • New York
  • Burbank
  • Barcelona
  • Santiago

I’ve met Prof. Yates, he’s a really awesome guy. Looking forward to some interesting search query log work from him :)

arnab zeitgeist, 2005

Wow, what a year. Highlights from 2005:

  • Lived in 4 cities, 2 countries.

Mumbai, Jan-April: Finished my stint as a research assistant at IIT Bombay. Kept cribbing about how sad my life was back then, but the experience was totally worth it.

Delhi, April-May: No place like home. Rest and Relaxation time.

Bangalore, May-August: The wild, wild life of a software company intern. Play foosball all day[Ok, I did do some work; it’s hard not to do work when you’re working with such amazing people!], get off work, do FreshLimeSoda+DosaCurry at Pecos/Mojos, do random timepass at CMH Road / Brigade Road, reach Guest House late at night, wake up at 10 to breakfast and VH1 in Bed. Aah, the good life!

Ann Arbor, August-Now: My first experience outside India, spending the first few weeks thinking “This is not too bad…”; and then getting caught in the storm of activity that was the first semester of grad school. Now that it’s over, I must say it was fun. Could have done better, but I’m not disappointed with how I fared.

  • Cooked Prawns in Butter Pepper Garlic for a group of hungry girls
    I have never seen a whole platterful of prawns disappear in 30 seconds. You know you got it right when they lick even the garlic off the plate :)
  • Moved around quite a bit.
    Cities / Towns I have been to this year (in random order)
    Delhi, Mumbai, Kolkata, Bangalore, Goa, Ranchi, Jamshedpur, Frankfurt, Ann Arbor, Detroit, Salt Lake City, Las Vegas.
  • Started grad school
    Embarked on a multiyear expedition; an attempt to become Dr. Arnab. This has been the most difficult and important decision I have ever taken in my life, with all common sense pointing in the other direction. I’m really interested to see how this works out.
  • Bought my first Mac
    An old, second generation iMac, but the OS X experience is worth the money I paid for it and more.
  • Unbroke my heart
    For sure this time. Or so it seems :)
  • Spent an insane amount of money on my teeth
    If there is one advice I have to give to anyone, it is: TAKE CARE OF YOUR TEETH. DENTAL WORK IS FRIGGIN EXPENSIVE.

This year has probably been the best year in my entire life. A lot has changed, hopefully for the better. I’m really looking forward to next year: 2006, let’s see what you bring!

arnab dot international

Ladies and Gentlemen, welcome to the first ever arnab dot org blog post from outside India! I really wanted to do a post from Frankfurt; but couldn’t find free/sanely-priced internet anywhere at the airport. It’s raining right now in Ann Arbor, the current weather more or less seems like Bangalore; which I’m very happy with. Anyway, that’s all for now. Off to get some mexican food with seniors!

| |

random update

I’m alive, out of Bangalore, now in Delhi.

I have nothing witty to write right now.

| |

Delhi Times

Just spent a week in Delhi, the weather here sucks big time! Hot, humid and just plain sticky. It seems the Delhi weather wasn’t satisfied with its dehydrating, scorching sun; so it decided that we shall now have the weather of Kolkata in Patparganj. I had no idea my forhead had so much water in it.

Anyway, I’m headed back for wonderfully-weathered Bangalore tonight by the Rajdhani, will reach monday morning. Funny, but I’m actually looking forward to work. However, from the lack of emails from my boss and co-worker; I’m suspecting they’ve forgotten me already. Oh well.

| |

ten courses and dessert

Oh, I forgot to write about it, but this is what I had on Sunday night, at the SigFood mishmash:

  • Thai Pepper-garlic chicken
  • Tamarind Chicken wings
  • Far-eastern Potato croquettes
  • Crispy vegetables in chilli, garlic, and basil
  • Hainanese Chicken Rice
  • Grilled eggplant in red chilli sauce and basil
  • Choo Chee fish
  • Hot n’ sour chicken salad
  • Drunkard’s noodles Chicken
  • Massaman curry with tofu and sweet potato + rice
  • Blueberry cheesecake

All this washed down with a glass of Juicy Julep, and a glass of my standard equal-parts-cranberry-and-coke-concoction. Some notes:

1. Bangalore LJ people are one happy bunch.
2. People from work are very cool people, if only I meet them, which is hard.
3. Ryze people are mostly too old to sit and chat with.
4. Freegeek and Solzaire are actually twins who got lost in a Kumbh Mela when they were kids.
5. Ten courses is a little more than what I can handle.
6. I deserve to be presented a monthly pass of some sort at Shiok, for the number of times I’ve eaten there.

|

of bangalore and shameless bus conductors

There’s something really scary about the state of public transport in Bangalore. The bus conductors are also totally evil.

The reason this is unnerving is because Bangalore offers two modes of public transport to the common man – autorickshaws, and buses. While autorickshaw drivers are totally evil down to the bottom of their soul, I overlook this since this is the same in almost every Indian city. Maybe there’s an “Autowallahs and Satan” association panning Delhi, Bangalore and (reportedly) Chennai — with it’s primary mission to cheat and loot every customer till there’s none left. And it’s slowly invading Mumbai too, a city once known for the honest, professional auto-drivers who paid you back even the 50 paisa.

But I digress. This post is about bus conductors, who, in my eyes have always been the bastion of the strong-minded, hard-working but underpaid class that keeps the city running. Conductors in Delhi (DTC only, Bluelines are run by gremlins and don’t count) and Mumbai (BEST) are known for their no-nonsense attitude; but Bangalore busmen(and women — they have female conductors here) seem to weave a rather different tale. Not only are they spineless and corrupt, they try to assert their hallowed virtues onto the passengers as well. Here’s one of my many accounts with conductors on Bangalore buses:

Me: 1 ticket, Binnamangala please. (Hand him a ten rupee note, the ticket is for four rupees)
Him: (Takes note, returns six rupees, looks around)
Me: Excuse me, Ticket?
Him: makes face, offers me a one rupee coin
Me: Screw you! I don’t want your money, I want my ticket!
Him: Gives me an old, used six rupee ticket.
Me: What the….
Him: (Finally gives me the ticket I paid for.)

So what’s it with Bangalore that makes its conductors so evil? Considering the weather, the quality of life, the nature of the passengers; Bangalore conductors have a much better time than their Delhi and Mumbai counterparts. Maybe they’re paid really less salaries? I doubt it. Maybe they’re ex-auto drivers? Maybe. But what I believe is the real reason is the percentage of laptop-carrying, Nike-wearing bus passengers who give a damn for these trivial transactional details and would rather spend their precious time worrying about more important things.

|