Tuesday, May 31, 2011

the most bizarre case of lost and found

My first reaction when I read it was WHAT?. On a recent trip to the USA, Bollywood actor Rishi Kapoor decided to search for his former co-star and headliner of the yesteryears, Raj Kiran (surely you remember Arth, Karz, Hip Hip Hurray) and finally managed to find him ... in a mental institution in Atlanta. I don't know what to say or write. This is worse than the lonely fate of Tony Vaz.

Sunday, May 29, 2011

selling seashells on the shores on bollywood

बेईमान मोहब्बत is one of the songs from Shankar-Ehsaan-Loy's ouevre that does not quite sound like one of their songs; it does not yet bear any of their trademarks. I was listening to it again a few days ago and I noticed some interesting lapses in pronunication that I had probably missed because I was enjoying the song. The line in question is the second line of the mukha.Daa: जो रांझा थे वो चले गए. There's a palatal consonant () followed by a dental consonant () and this makes the line tricky to say right, especially when you're singing energetically and not reciting poetry.

The song opens with Shankar Mahadevan singing these lines and he can only muster जो रांझा ते वो चले गए. When it's Gayatri Iyer's turn she flubs the palatal with जो रांजा थे वो चले गए. KK wins the battle when he gets to the microphone with the right palatal and the right dental.

It's still a nice enjoyable song.

hitchgopal varma?

In chapter three of his book Spellbound by Beauty, Donald Spoto writes:
Hitch could certainly take credit for his visual inventiveness, and for his brilliance in adding to a script precisely the right images, the proper tone and atmosphere. But screenwriters from [Charles] Bennett in the 1930s to Ben Hecht in the 1940s, Samuel Taylor and Ernest Lehman in the 1950s and Evan Hunter in the 1960s all quickly realised that this director's gift was not for writing dialogue but for minimising it and allowing action and reaction, gaze and glance, to tell stories. Perhaps because he wanted to write the script entirely on his own but could not, he often resented his writers, who quickly knew not to expect gratifying compliments.

As I read this passage, I found myself thinking about a similar problem with Ram Gopal Varma, whose Factory promised to offer cinephiles different stories interpreted without the trappings of mainstream convention, with interesting technique and in different creative voices. Unfortunately, if one looked at just his jaunt in Bollywood, one noticed that his writers (who even turned director under his wing) were soon fleeing the coop and trying to make hay elsewhere. The reasons may have been myriad and most of them have always acknowledged the value of their formative time with RGV. But the steady departure of competence has left RGV and his Factory hollow. Without decent writers, the quality of his recent output has been on the decline. Long gone are the likes of Saurabh Shukla, Anurag Kashyap, Sriram Raghavan, Shimit Amin, Prawaal Raman and Manish Gupta.

Spellbound by Beauty is Donald Spoto's third book on the life and work of Alfred Hitchcock. It is also likely his most controversial, because it describes the often "difficult and even painful circumstances" under which the leading ladies in his films had to work. I own a copy of (and highly recommend) The Dark Side of Genius: The Life of Alfred Hitchcock, the second book in the series.

Saturday, May 28, 2011

true and really true: what's the difference?

I was forced to return to the murky depths of the Java-Web Services marsh and specifically to the quadrant dominated by Axis2 and a variation of it adopted by a behemoth peddling an enterprise-grade application container. This is what they called nostalgia (for those who do not enjoy etymology, that almost literally means a return to pain). As the flashbacks ensued, I found myself drawn to an old favourite in the Axis2 code base, org.apache.axis2.util.JavaUtils. The class contains several methods that seem dedicated to an exploration of verity and falsitude. Here are the methods devoted to the truth, the whole truth and all variants of it.

/**
   * Tests the String 'value':
   * return 'false' if its 'false', '0', or 'no' - else 'true'
   * Follow in 'C' tradition of boolean values:
   * false is specific (0), everything else is true;
   */
  public static boolean isTrue(String value) {
    return !isFalseExplicitly(value);
  }

  /**
   * Tests the String 'value':
   * return 'true' if its 'true', '1', or 'yes' - else 'false'
   */
  public static boolean isTrueExplicitly(String value) {
    return value != null &&
        (value.equalsIgnoreCase("true") ||
            value.equals("1") ||
            value.equalsIgnoreCase("yes"));
  }

  /**
   * Tests the Object 'value':
   * if its null, return default.
   * if its a Boolean, return booleanValue()
   * if its an Integer,  return 'false' if its '0' else 'true'
   * if its a String, return isTrueExplicitly((String)value).
   * All other types return 'true'
   */
  public static boolean isTrueExplicitly(Object value, boolean defaultVal) {
    if (value == null) {
      return defaultVal;
    }
    if (value instanceof Boolean) {
      return ((Boolean) value).booleanValue();
    }
    if (value instanceof Integer) {
      return ((Integer) value).intValue() != 0;
    }
    if (value instanceof String) {
      return isTrueExplicitly((String) value);
    }
    return defaultVal;
  }

  public static boolean isTrueExplicitly(Object value) {
    return isTrueExplicitly(value, false);
  }

  /**
   * Tests the Object 'value':
   * if its null, return default.
   * if its a Boolean, return booleanValue()
   * if its an Integer,  return 'false' if its '0' else 'true'
   * if its a String, return 'false' if its 'false', 'no', or '0' - else 'true'
   * All other types return 'true'
   */
  public static boolean isTrue(Object value, boolean defaultVal) {
    return !isFalseExplicitly(value, !defaultVal);
  }

  public static boolean isTrue(Object value) {
    return isTrue(value, false);
  }

Needless to say, there are similar methods that handle the dark side. Jack Nicholson's famous line from A Few Good Men would be the best summary of a code review, should one ever happen.

Monday, May 23, 2011

gender-agnostic love

I was listening to दस बहाने from Dus today and remembered how, when I had heard it the first time, I wondered if the singers were actually saying दस बहाने कर के ले गए दिल instead of दस बहाने कर के ले गयी दिल. I am quite sure now that it's the former. This is a strange choice of conjugation, because the references to the loved one use उसकी and not, as one would expect, उनकी. Of course, one does not look to Bollywood as an informal school of Hindi grammar (surely one remembers how Guru Dutt convinced Majrooh Sultanpuri to go easy on the grammar in सुन सुन सुन सुन ज़ालिमा for Aar Paar). What I found even more interesting this time around was that the song almost completely eliminates any notion of gender. Both KK and Shaan go on and on about the other one and the heart and so on and Vishal Dadlani tosses in DJ toasts every one and then to punctuate the dance floor number, but never (well, almost never) is there a sign that we're talking about her. It makes you wonder if this was because the song was originally written to be sung by girls. Now that it's just the boys singing, one also wonders if nobody noticed that it might have become the trendiest paean to gay guys all around except for one pesky detail (remember I had said almost): one of the lines Vishal Dadlani spits out is you stole my heart from me girl. girl is the clincher. He just saved this song from being an ode from him to him. Bring on the two large sunflowers and whack them against each other.

Sunday, May 22, 2011

BSP revisited

I stumbled upon an article featuring a review of the code of the Doom engine. I wish someone had written something like this years ago ...

One of the classes during the undergraduate days required that students deliver a short presentation on some piece of technology they had found interesting. I was interested in computer graphics and games. I was especially fascinated by Doom -- a friend had introduced me to the shareware version of the game and I got my first taste of addiction when I found myself sitting up late one night trying to get past a level without being killed by balls of flame spat out by ugly imps lurking behind closed doors. When Id Software released Quake, I also discovered BSP trees. An article in the now-extinct Dr. Dobb's Journal and articles written by Michael Abrash about working at Id Software (the "Ramblings in Realtime" series) had me hooked. Abrash also made studying computer graphics more exciting. He restored the joy of making the simple things work while the textbooks offered Bresenham's algorithm in a dry academic tone. When I found a copy of Michael Abrash's Graphics Programming Black Book (now out of print, but the PDFs are legally available online) in the bookstore, I did not hesitate in snagging a copy and reading the chapters over and over. Since I was not destined to approach the eerie smartness of Jon Carmack, some of things Abrash wrote about did not immediately make sense. Admittedly, I would have had to "get my feet wet" in code before I could appreciate them or even understand more of the items in Jon Carmack's .project and .plan files in the days when finger was used to support a form of micro-blogging. I also remember

My presentation was an experiment in fonts and slide styles, which made a label like avant garde more appropriate than educational. Since it was all meant more for a grade than for sharing knowledge (although a few classmates were interested in the idea and noted that my enthusiasm for it was evident), nothing more came out of it, although I continued to follow Id (even after Abrash quit) for years and also continued reading articles about game programming. I just never became a competent game programmer.

Sunday, May 08, 2011

pithy words in the style of a bestseller

In the third part of The Tenth Commandment by Lawrence Sanders, our protagonist Joshua Biggs has just participated in a ploy to get one guilty party to spill the refried beans on the other (arguably more guilty) and begins to wonder about justice and how it does not always seem absolute:
I should have been exultant but I wasn't. It was the morality of what I had done that was bothering me. All that chicanery and deceit. I would have committed almost any sin to demolish [primary guilty party], but conniving in the escape of [guilty party that was the object of the ploy] from justice was more than I had bargained for. And I had connived. I had worked almost as hard as [police office] to convince [guilty party that was the object of the ploy] to betray [primary guilty party]. It had to be done. But as [police officer] had said, [guilty party that was the object of the ploy] was going to walk. An accomplice to murder. Was that fair? Was that justice?
I realised I didn't really know what "justice" meant. It was not an absolute. It was not a colour, a mineral, a species. It was a human concept (what do animals know of justice?) and subject to all the vagaries and contradictions of any human hope. How can you define justice? It seemed to me that it was constant compromise, molded by circumstance.
I would make a terrible judge.

Edward X Delaney managed to find his own way of dealing with this dilemma, but Sanders unfortunately never wrote another novel featuring Joshua Biggs, so we'll never know what Mr. Biggs did.

Friday, May 06, 2011

music is a nail

Although he hasn't been churning out much stuff in the last few years, the once-prolific Bappi Lahiri still manages to deliver his little scoop to the delight of all those who relish a smidgen of surprise in their news. This time the bejewelled bopper has decided to rope in a famous name for a chitty-chitty ditty called I Got the Music in a film called Will to Live (surely the Hindi version will be titled जी ले ले जी ले ले). After he had elicited the services (in voice and flesh) of Samantha Fox for Rock Dancer, Pritam had bested his record with Snoop Dogg showing up on the soundtrack of that film with a title whose terrible spelling was inspired by unfortunate numerological ideas. Bappi ain't gonna take no jive from the man whose torrent client offered a higher return on investment in the department of plagiarism than Bappi-da's ears. So now welcome M C Hammer, who will write and perform some rap on Bappi's track. Will Mr. Burrell do better than Shri Dev Anand who had ensured that Mr. Prime Minister would have something to keep it in the canals of Bollywood infamy? Will Bappi-da outshine Park Chan-Wook? Will Mr. Burrell resort to a reissue of his classic hits after the fruits of the collaboration are made available to the ears of the world? Or will it all be गान with the wind?

While we wait, it's time to sneak another look at his tribute to Michael Jackson (if you are lucky, you can snag a copy of the release from United White Flag, a label whose website is a remarkable fusion of eyecandy with eyesore).

Tuesday, May 03, 2011

real panic

Have you seen Panic Room? If you have, do you remember the scene when Meg Altman (Jodie Foster) calls 911 and is asked to hold? I remember the entire hall groaning a nod. Somehow, it seemed right to a lot of people. How about a real-life example?
X calls 911 to report an accident and is asked to provide the address after which the operator asks for the zip code
X:
911 operator: that's Cobb County. You need to call the Cobb County Police Department. (and cuts the line).

Fact. Not Fiction. To avoid such problems in future, please keep a list of phone numbers for the police departments in all 159 counties in Georgia and also the PD for the city of Sandy Springs.

Sunday, May 01, 2011

the joy of comments

(in code, I mean). Truth is funnier than fiction. Comments in source code, to be precise. Consider, for example, the following worthy addition to the list of classic lines for fortune cookies:
// later is to be
or a declaration of principles:
// THIS method is not calling anywhere
or a declaration of the laws of the jungle:
// All transactional processing classes are responsible
// for calling this method and for providing what action is provided
or perhaps an example of stating the obvious:
// This abstract class houses default and common
// implementation for some interfaces

// This class is the message-driven bean implementation class
// which acts as the listener to queues which hold the messages that affect other 
// business objects
it is unclear why the following comment should even appear in code (perhaps the reader is not expected to be a developer):
// It is restricted to change this API without testing all the references
how does one say a lot without making much sense? how about (some of the funny names in camel case are euphemisms to protect the innocently dangerous; any others are changes just to keep the legal eagles awbay):
/*
 * DefectNumberInOneTrackingSystem Fix : Added this flag becoz
 * misspelledMethodName() in Abstract Object Check Against Null String of
 * FieldThatCannotBeDisclosed String While in This Defect Although it was Not
 * ______ Update But then also FieldThatCannotBeDisclosed string was
 * Not Null Becoz the default value stored in database is
 * 0.0 So it is Not Null and MisspelledFieldName Become true and
 * Then it dont set the AnotherFieldThatCannotBeDisclosed if it is True...See
 * DefectNumberInAnotherTrackingSystem
 */
{includes material that previously appeared hereabouts}

Wednesday, April 27, 2011

covering goodbye

(based on a true story)

departure I: two years ago

Saying good-bye is never easy but it time for me to move on. Today is my last working day at [redacted name of employer]. We have had a very productive and fruitful journey over the years at [redacted name of employer]. I am proud of all we have achieved together, and will cherish all the friendships I have formed here.

It was not an easy decision for me to resign from [redacted name of employer], but the timing was right. As excited as I am about what the future holds for me, I will surely miss all of you.

[...]

Thanks for all of your hard work and support over the years.

departure II: a few hours ago

Saying good bye is never easy but it time for me to move on. Today is my last working day at [redacted name of employer]. It was not an easy decision for me to resign from [redacted name of employer], but the timing was right. As excited as I am about what the future holds for me, I will surely miss all of you.

I would like to express my sincere appreciation to all of you for your support, understanding, patience, cooperation and encouragement. I will always remember my time at [redacted name of employer] for the personal growth it afforded me and for the numerous friendships I made.

Best wishes for continued success and please keep in touch.

Two different people departing with similar words (and mistakes). Reusability at its corporate best.

Saturday, April 23, 2011

the deadly sins of lawrence sanders

Ever since I first watched David Fincher's Se7en and read about the Deadly Sins series by Lawrence Sanders, I had meant to try reading them. Years later, I caught the cinematic adaptation of The First Deadly Sin starring Frank Sinatra and mourned the lack of a DVD release that was faithful to the film's original aspect ratio. It took me another two years to finally settle down to read one of the books in the series. Since I had already caught the cinematic adaptation of the first edition, I would have found it hard to start at the beginning (Edward X. Delaney had already appeared in The Anderson Tapes, but that book had nothing to do with the deadly sins). I started instead with the last book in the series The Fourth Deadly Sin. The book told me a lot about Edward X. Delaney's weakness for sandwiches (Sanders, like Hitchcock in Frenzy, appreciates how well murder and food go together) and what a good role model he would have been for software development teams. I liked the details about the procedural often mundane aspects of the investigation of a murder and the rather uncomplicated revelation of the murderer and the motivation for the crime. Although I was not completely impressed, I saw enough to make me want to try another entry in the series.

I decided to go back to the beginning and read The First Deadly Sin and was pleasantly surprised. Lawrence Sanders was on a creative roll with this book. The book opened with a section dedicated to Daniel Blank, the serial killer whom Delaney is forced to pursue and begins to explore his character. We do not see a murder until a few chapters later. Sanders then switches to a section dedicated to Delaney and continues moving between Blank and Delaney as circumstances and the investigation bring them closer to each other. There are only hints of Delaney's weakness for sandwiches, unlike the remaining books in the series that devote time and pages to the different sandwiches he makes for himself. The ending of the book is unlike that of the movie (which, for me, was tonally more appropriate) and, in addition to offering geographical closure (we begin and end the book at Devil's Needle with Blank) also offers food for thought if you are looking for allegories. The police procedural got its due but Sanders also found time and space to tell us more about both Daniel Blank and Edward X. Delaney. Cop and Killer often seem like "doubles" and Delaney needs to think like Blank in order to try and understand him and his killings.

I turned my attention to The Second Deadly Sin and began to see patterns, some of which made me uneasy. I started getting the feeling that Sanders either lost the creative muse that fuelled The First Deadly Sin or had managed to pick a leaf from the assembly-line writing of Sidney Sheldon. The book opened with a murder, just like The Fourth Deadly Sin and, again just like the The Fourth Deadly Sin,it was clearly committed by someone whom the victim knew well. Everything else until the revelation of the killer's identity is an engaging exploration of Delaney, his familiar battle with departmental politics, his almost secretarial approach to detective work and more sandwiches. The book was a satisfying page-turner, but offered nothing else, unlike its predecessor.

I just finished The Third Deadly Sin yesterday and the feeling that Sanders had run out of gas got even stronger. The book opens like The First Deadly Sin by introducing us to the killer, but Sanders does not seem interested any longer in giving Zoe Koehler as much room as he did Daniel Blank. The first chapter ends with a murder just like the second and fourth editions in the series. The second chapter opens with Edward X. Delaney and his sandwiches and also makes this book structurally similar to The First Deadly Sin as we switch between Zoe Koehler and Delaney's investigation. Once again, we see Delaney dealing with the idea of the killer being a woman, but he does not seem as interested in understanding her as he was when trying to track Daniel Blank down. Sanders tries something different by having Delaney and his wife argue about women's liberation -- it doesn't help that the killer, who suffers from the rare Addison's disease, embarks upon these killings when she deals with the crimson curse. It's a pity that he does not choose to explore the idea of blood-letting and the nosebleed in Australia. Sanders seems to have instead dedicated his time to churning out a bestseller. As things move to a conclusion, the writing gets sloppy. We get expository dates and times that insult our intelligence. The novel also ends with geographical closure (Zoe's apartment) in tribute to the first book, but in a more tonally sound fashion.

After having read all four, I can see why Sanders never got around to writing any more. I would like to think that he just never got an idea that would justify an entire book offering something more than the now-familiar tropes (Delaney getting pulled out of retirement, Delaney's sandwiches, Delaney's notions of crime and punishment -- the Dostoyevskyian angle appeared in the first book and never came up again). If I had to rank the books starting with the one I liked most and ending with the one I liked the least, I'd choose The First Deadly Sin to head the list, followed by The Third Deadly Sin (I have a weakness for serial killers and books where I don't have to sit and wait for a "grand revelation"), The Second Deadly Sin and The Fourth Deadly Sin (being a weak shadow of the second book).

Friday, April 22, 2011

how do you puke in Java?

RuntimeException up = new RuntimeException();
throw up;

the demonstrative manager

Allow me to introduce you to a burgeoning breed of managers. The ilk shares several traits with existing strains of Manageris Vulgaris, the genus of airheads sired by the booming industry of Information Technology in the South Asian continent (to be more precise, the land of Bhaarat). Familiar is the curious talent for lapping up the noodles of crapspeak (going forward, synergy, stakeholders) while remaining clueless about the fundamental elements of English grammar (the question mark and the period are used interchangeably and one often has to read the email aloud with various emotional and tonal flourishes to determine which mark of punctuation would be most appropriate; brevity is replaced by a mouthful of randomly abbreviated words that make you wonder if the writer was in a hurry to get to a rendezvous with Mother Nature).

The new mutation of this species has a fresh appreciation for deixis. To understand what such an individual means in a single sentence without any context is more challenging that deciphering a haiku written by Mirza Ghalib. Consider the following example:

You send me those. I will check if that is what all people is doing. If yes, then we will have to do this.

The writer of this wondrous explosion of verbiage would have been so much more comfortable writing monologues for the Oracle in The Matrix than being effective in professional communication.

I leave you with a sample from a less-qualified exponent of this demonstrative delivery. Fear not, dear reader, for this person will also rise in the ranks and demonstrate some fantastic foinery:

Right now we are doing like that only. If we do like this then we need to [...]

Monday, April 18, 2011

smart little 555

image courtesy: http://www.555soaps.co.in I've just started reading The Third Deadly Sin by Lawrence Sanders, the last (I had started with The Fourth Deadly Sin, returned to The First Deadly Sin and wrapped up The Second Deadly Sin two days ago) and page 15 had an interesting little nugget:

Homicide at the Grand Park on February 15th. Victim of stabbing: George T. Puller, 54, white male, of Denver, Colo. Anyone with information relating to this crime please contact Detective Sergeant Abner Boone, KL-5-8604

KL-5 is nothing by 555, that favourite exchange of movies and TV shows (and books, as this exhibit reveals).

And now, back to familiar tropes and Delaney's sandwiches.

Thursday, April 14, 2011

the tome of my god

His name is Eli and he is on his way to the west in a post-apocalyptic world. He is played by Denzel Washington and that was not all that made me think of Will Smith (I Am Legend). The montage set to How can you mend a broken heart? took me back to the frivolous bit of bathing in I, Robot while Stevie Wonder's Superstition played on. But I do the the Hughes Brothers great injustice by reaching out for such comparisons. They didn't rub it in that Eli was so fitting a name for a man walking across the country with the Bible (hint: Psalms 22:2-3). They kept the tone of the film consistent without getting enamoured of the special effects (even though some of the heavy digital dressing of the skyscape was a bit too obvious). I had enjoyed the way the attack on the house was presented -- thanks to careful planning and obvious post-production -- as a seamless adventurous shot with the camera tracing arcs that never distracted me and kept me interested in the action. I liked how elements from the western (a lone man drifting through towns, people building communities and worlds for themselves and a character humming a tune by Ennio Morricone) were mixed into the film without making it an exercise in blending genres; the narrative never yielded to exposition in order to tell us more about how the world had ended up this way -- it remained first a drama, a tale of conflict between people and values and a story of a personal quest. I could forgive the obligatory product placement, because the brands

The Hughes Brothers also gave me a chance to see another wonderful performance by Denzel Washington. Interestingly enough, it was the ending of the film that sealed it. What was otherwise an (as always) earnest measured performance became a very careful honest subtle interpretation. I went back to the beginning and started watching scenes, listening to lines, watching the big fight scene (and realising how the inspiration for it also made sense) and admiring just how honest everybody had been to me. The quote from Johnny Cash (Live at Folsom Prison) which had elicited a mild chuckle now seemed to mean even more. I found myself adding more meaning to the way scenes had played out.

I also found myself thinking about the ideas that the film had explored, even though I was not too convinced that the film had handled them well. The film could not resist the temptation to remain, despite its ambition, something better for the average viewer than the mindless action flick. There was more restraint, but there were also the familiar lapses that irked (the gun with infinite ammunition, for example). Although I would still pick The Road for being a more compassionate, subtle, complex exploration of the human condition in a post-apocalyptic world, I enjoyed The Book of Eli for being so much better than I had expected it to be.

Monday, April 11, 2011

when wisecracks collide

I was watching Taken once again and there was a point in the film where Liam Neeson meets an old collaborator in France and utters one of many memorable lines I am retired, not dead.

Some time later, I was back to reading The Second Deadly Sin by Lawrence Sanders. Edward X. Delaney has struck a conversation with bartender Harry Schwartz, who has recognised him from when he was Chief of Precinct 251. As the content flows from page 12 to page 13, Schwartz has asked Delaney what he has been up to, since he is no longer with the force:

"This and that," [Delaney] said vaguely. "Trying to keep busy."
The bartender spread his hands wide.
"What else?" he said. "Just because you're retired don't mean you're dead. Right?"

Go figure.

Sunday, April 10, 2011

cobb county's evil sense of humour

National Library Week starts on April 10. This makes the timing of the shocking blow to the Cobb County Library System (CCPL) proposed in the budget for the County of Cobb in Georgia rather unfortunate. In brief: 13 of the 17 CCPL branches will be shut down indefinitely. If you are a resident of Cobb County and care about the library system, please consider getting the word out, joining the community set up on Facebook, sending an email supporting the libraries to BudgetComments@cobbcounty.org or even attending the Cobb County Board of Commissioners Meeting on Tuesday, April 12, 2011 at 9 a.m. in the BOC Room, 2nd Floor, 100 Cherokee St., Marietta. You can even send an email to the commissioner of your district; the email addresses are available on this page hosted by the Save Cobb Libraries community on Facebook.

PS: For what it's worth, you're living in a county that (a) deems it financially sound to add faux brick linings on Akers Mill Road (b) proposes trimming firefighting and emergency services (c) runs a crippled limited bus service that does not run on Sunday (and also faces cuts for the 2011 budget).

april 12, 2011: The BOC meeting ended today morning and the libraries will stay. You could look at this as a victory for all those patrons of the libraries, who made their support known or wonder if the governing entities of the county were merely emulating what their cousins on Capitol Hill did last week with the scare of a government shutdown. In any event, venture forth to your friendly neighbourhood library and greet the relieved staff with your biggest smile and check out a few books, a movie or two or just flip through the newspapers or magazines. Don't forget, it's National Library Week.

staying away from meat in the USA

(It turns out that when people say "meat" in the USA, they do not include fish, so don't get confused when you hear the phrase "meat and fish"; I do not see the difference so when I say "meat" I also consider "fish"

If you are not a carnivore and landed in the US of A, finding out that this made eating out quite challenging probably did not take too long. As time went by, you've also (hopefully) figured out that "vegetarian" may not always imply the absence of animal tissue (exhibit A: "vegetarian beef"). You have also realised that sometimes the presence of meat is implied in the name or type of dish (exhibit B: eggs benedict; exhibit C: a burger). If you have not capitulated yet, rest assured. If you are lucky enough to live in a city whose denizens have a penchant for eating out, you are likely to benefit from the variety of cuisine offered by various eateries, both independent and chain. Sprawlopolis, GA, for example, offers several choices.

Indian restaurants have always been a safe bet. Any of those who genuflect to the udipi or sarvana calling will guarantee a menu free of all carnal pleasures (no pun intended). Even those that offer non-vegetarian items can be relied upon to do justice to paneer, paalak, chanaa and lentils. Thai restaurants are tricky: you have to be sure that your "vegetarian soup" does not contain "fish sauce" (an ingredient that is perhaps as much a staple as wine in French cuisine). Burger joints are best avoided as are some casual dining chains whose vegetarian fare is an insult (exhibit D: T. G. I. Friday's). Mex-Mex and Tex-Mex restaurants fare marginally better, but it often seems like they make up for the absence of meat with bland frijoles and generous cheese.

This leaves us with some other chains that do rather well with meatless offerings. California Pizza Kitchen has an interesting array of pizzas, each marked by interesting combinations of ingredients. Several of these pizzas are vegetarian by design (with an extra charge for adding some form of meat) and some even have a vegetarian alternative at no extra price. You can also ask them to skip the meat if it's one of the ingredients.

I was surprised to have not noticed Mellow Mushroom's vegetarian options. There was always the possibility of substituting chicken with tofu in the hoagies and the standard Cheese pizza exists for vegetarians, but I had never quite noticed things like the Magical Mystery Tour, Gourmet White, Mega Veggie or the Kosmic Karma, both of which make vegetarians feel at home instead of n-class citizens who have to suffer tasteless fare while their chomp on animal protein.

Even though you could have choose not to have your hash browns at Waffle House without the ham or the chili, you would be well advised to note that everything gets cooked on the same grill. This means that, technically, there could be some animal fat in that otherwise tasy order of scattered, smothered and peppered hash browns.

Breakfast/brunch chains like The Flying Biscuit and J. Christopher's are safe places to catch a vegetarian bite (I just wish such places would not charge you extra for egg whites). The Flying Biscuit wins over J Christopher's for the presence of tofu and soysages on its menu.

Cafe Sunflower is a great place to dine at, if you want to give your brain a rest, order anything on the menu (because everything is vegetarian) and don't mind coughing up a few extra dead presidents for it. Getting to the branch at the intersection of Roswell and Hammond can be a challenge since it's a cramped intersection teeming with cars and the occasional MARTA bus, but if you're lucky, a trip on the weekend will be peaceful.

It has been a long long time since I ate at R. Thomas, but it's hard to beat (or miss) this unique funky independent eatery that was the first place I had seen a menu with the word "vegan" on it.

Wednesday, April 06, 2011

linky dinky

The Wall Street Journal has an article that tells us things we already know: India churns out a lot of graduates from a system that is rife with insufficient funding, peppered with corruption and laced with stale knowledge; these graduates don't really cut it when it comes to the jobs that have flooded the market and contributed to all the "prosperity" the nation seems to be enjoying (the call centre kind). I liked what Vijay Thadani of NIIT had to say: If you pay peanuts, you get monkeys.

I have been learning and using git for quite some time now and my experience with the DVCS (although not as D as I would have hoped it would be) has been fun so far (endorsements from various open source projects and enthusiastic presentations from the likes of Matthew McCullough have also helped). Windows is still a secondary platform for it and EGit offers IDE integration but is still in incubation. That's why I always wondered about that other DVCS that I had heard people talk about: Mercurial. I had heard about it first from a friend at Sun as they were moving to it. That was probably when the OpenJDK project moved over to Mercurial as well. Mercurial is written in Python and when Python moved over to Mercurial, it seemed to make a strange kind of sense (the dogfood kind). The reasons, however, were more interesting and backed by some thorough investigation. Simply put, the team chose something that would meet the needs of the developers as much as possible. The articles about the journey from PEP 374 to PEP 385 have been very interesting. They will also help me learn how to use Mercurial and MercurialEclipse.

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.