Thursday, September 12, 2013

Eating "nachos" in Bangalore

Wikipedia defines Nachos as "a popular food based on nixtamalized corn, of Mexican origin". I've had nachos before, in India as well as outside it. The one thing common to all my experiences was corn. No matter where I ate, nachos always meant corn (chips). Then came California Burrito (specifically the one in Koramangala, Bangalore). I had lunch there today and made the mistake of ordering nachos. They served "nachos" made of maida! For those not in the know, maida is "is a finely milled and refined and bleached wheat flour". If you have ever had samosas, you probably have tasted maida. Samosa shells are most commonly made of maida.

The "nachos" were unappetizing to say the least. Imagine eating samosa shells with guacamole and sour cream! Someone (not me) asked about the maida and was told that everything they served had been "adapted for India". What rubbish! If you must "Indianize" (it still makes no sense to me), then at least show the courtesy of announcing it on your menu.

I am told that the story is the same for their burritos and tacos. Everything tastes like Indian rotis/chapatis because of the wheat. Now I'm fine with people customizing their food but I expect to be told upfront if the food being served has been customized. I took 'California Burrito' and 'nachos' at face value and did not get what I paid for. I won't be visiting them again. Taco Bell is not far away and looks like a much better choice.

Tuesday, January 25, 2011

Quick review: Sapna book house Koramangala

I checked out Sapna book house in Koramangala today. Sapna is one of the old players in the book store market. They were in Bangalore way before newer stores like Landmark and Crossword opened branches here. The Koramangala branch is the latest in their steadily expanding chain.

The first thing that caught my eye was the layout of the place. The shop is located in a brand new four storey building served by a single elevator. Ground and first floors stock stationery, movies, computer games and the like. Books are stocked in the second and third floors with the latter dedicated to technical and text books. The layout of the building reminded me of old Gangaram's in MG Road. Specifically the multi-floor building, the lone elevator and the distribution of wares across floors. Unlike G's however Sapna has kept the place clean, orderly, and dust free. No peeling paint or books stacked in the aisles here. They also have clean if tiny restrooms for men and women.

You can browse the collection reasonably well without needing help from staff. This is nice for an "old format" book store - I've rarely managed to dig up books in Gangaram's without help from their employees.

My first target was the history section. Unfortunately there isn't one. There is a section for biographies but that's about it. Sapna uses the non-fiction section as a catch-all for everything from "How to improve your sex life" to "Rise and Fall of the Third Reich" (no pun intended). Contrast this with say any of The Strand, Landmark or Crossword. All three of them boast decent sized history sections. Landmark even has a separate section for military history.

The fiction section contains mostly popular books. I thought it compared well with other bookstores. A rather sparse science fiction section is housed together with the humor section. Perhaps they find science fiction a joke? :P There is no separate grouping for fantasy titles. Again Landmark, Crossword etc. make this distinction.

I found Sapna's collection of comics rather lacking. While the staples are all there - The Adventures of Tintin, Asterix and Obelix, Amar Chithra Katha (Amar Chithra Katha even a separate section) there isn't much else. A few issues of Spiderman were placed below a boxed set of Maus. No sign of other popular DC or Marvel volumes let alone comic novels like Sandman, V for Vendetta or 100 Bullets, to name a few. I couldn't find any Anime/Manga titles either.

Fourth floor sets aside a lot of space to technical and text books. All computer science books are grouped under "computers". There are a dozen shelves titled computers making it tricky to look up specific books.

If there is one area that Sapna beats the competition it is in Kannada books. They have dedicated half a dozen shelves to stock Kannada volumes. I can't comment on the quality of the titles though.

Sapna is one of those bookstores who don't seem to expect their customers to read the books in the store. There are no chairs in the aisles, not even plastic footstools. Even the more crowded Landmark with its narrower aisles has a few cushioned seats, not to mention the comfortable upholstered sofas and chairs in Crossword.

In spite of the five floors there is only one elevator. Most of the customers trudged up and down the stairs. A sign board placed next to the elevator doors asks customers to use they stairs if they like to stay fit. I think stairs are fine when you have two floors (Landmark and Crossword, the former even sports an escalator) but with four they become irritating.

Billing is in the ground floor. There are nine counters but only three accept payment. Others are variously for delivery, issuing membership cards etc. The payment and delivery counters are helpfully located next to each other.

Post script: I find a store modeled after ol' Gangaram's in a brand new building in Karamangala very surprising. I believe that there is a lot of demand for more bookstalls like Landmark and Crossword. Why don't old brands like Sapna try to meet that demand? Are they content to get by with volume sales alone?

Monday, December 27, 2010

A Comic Interlude

(While I work up courage and energy to write about other things)

The comic strip Frazz offers insightful and witty takes on (American) school life. Its calligraphic style and appearance of the eponymous character has fueled speculation that Frazz's creator Jef Mallett is actually Bill Watterson. Wikipedia seems to believe otherwise but hey, it is fun to speculate :P

Christmas day's Frazz comic offers a nod and wink to Calvin and Hobbes. Those who have enjoyed Calvin's early Christmas morning sorties to check for presents (and wake up his parents at ungodly hours) should get the reference easily enough.

Frazz (Dec 25, 2010)

Calvin and Hobbes (Dec 25, 199?)

I am not surprised - Jeff Mallett has acknowledged Watterson's influence and this is not the first time he has tipped his hat at Watterson.

In case you didn't know already, you can read both Frazz and Calvin and Hobbes online.

Friday, September 10, 2010

Re: Why Django Sucks

I recently came across this presentation on 'Why Django Sucks' and the associated discussion in Hacker News.

One of the key points raised was the perceived insularity of Django's core development community. In this context I have an anecdote to share about the core community or rather how the core community is frequently sloppy with the triage process.

I reported a Django bug and more importantly submitted tests for it. The bug languished for a while and eventually got fixed as a side effect of some changes. I reported this when I found out and a month later someone closed it. The regression tests, however, never made it to the test suite.

I believe that (1) people who take their time to give you a test are doing you a favor (2) one should never miss a chance to add a valid regression test to the suite.

I don't think there was any malice or hubris but the closed nature of the community did have something to do with this. I suspect that how fast and how thoroughly a bug is accepted and processed depends on who submits it. This will prove unhealthy in the long run.

So what can be done to address this? I believe that the bug triage process will benefit from more eyes. These don't have to be those of core developers but of people with the authority to take decisions on bugs. The community should also actively encourage people to submit more tests. Spread the word that this is as important as submitting patches.

Thursday, July 08, 2010

Setting up a color scheme for Emacs

I am an Emacs newbie. I found a nice color theme for Emacs and wanted to set it as default. Following the instructions from the color-scheme homepage did not work. After some searching I found out a way to make it work.

I installed emacs-goodies-el using apt-get and put the following in my $HOME/.emacs.el file:

I am reproducing this here in the hope that someone else will find it useful. I am running Emacs 22.2.1 (i486-pc-linux-gnu, GTK+ Version 2.16.1) of 2010-03-26 on palmer, modified by Ubuntu on Ubuntu Jaunty.

Friday, June 25, 2010

Indian Software quote of the day

A friend was asked to translate the following sentence to another language. The author was an "experienced senior software engineer" in a large Indian software services company.

"We were bit used to use remote desktop, but I will do the necessary actions to check this option and shift the full activity independent for the remote option."

Monday, March 08, 2010

Reading Notes #3: Ring Benchmark

I have been working my way through Joe Armstrong's Programming in Erlang. One of the exercises in chapter 8 is to write a "ring benchmark" in Erlang and any other language, compare the results and publish them.

Write a ring benchmark. Create N processes in a ring. Send a message round the ring M times so that a total of N * M messages get sent. Time how long this takes for different values of N and M. Write a similar program in some other programming language you are familiar with. Compare the results. Write a blog, and publish the results on the Internet!

Here are my benchmarks written in Erlang and Python respectively. I have presumed that the author meant sending messages synchronously; i.e. a message has to go around the whole ring before the next can be sent.

The Erlang version was easy to write. After all the language is designed to use a processes and messages paradigm of programming. Here is the source code:

I wrote the "other programming language" version in Python. The benchmark code makes use of Python's multiprocessing module (available in version 2.6 and above). Since I couldn't find any Erlang-style way to directly send a message to a process I chose to use a set of Queue objects to accomplish message passing. Each process has access to two queues - an "in" queue to receive messages and an "out" queue to relay them to the next process in the ring. Each process' "out" queue serves as the "in" for the next. After constructing N - 1 processes, a "plug" process is created to complete the process ring.

I am not entirely convinced that Python's processes are the equivalent of Erlang ones. Certainly threads are not the answer given their use of shared memory. Perhaps the difficulty in creating lightweight, shared-nothing processes in other languages is what the author wanted to illustrate using the example.

The results are shown below. The program was executed on a machine with a dual core Pentium, 2GB memory and running Ubuntu Jaunty.

Please note that:
  • I could not increase the number of Python processes to the order of 1000 (10^3). When I tried to do this the program crashed with a number of errors.
  • I got a curious QueueFeederThread exception when I executed the process for N = 100, M = 10000.

N M N * M (Wall) Time in seconds
Erlang Python
10 10 10^2 0.0 0.0732
10 100 10^3 0.003 0.1795
100 100 10^4 0.036 2.3976
100 1000 10^5 0.242 12.2252
1000 1000 10^6 1.877 -
1000 10000 10^7 18.593 -
10000 10000 10^8 197.477 -