The one about Spices and the Like

July 28, 2009

Alright, I don’t think I’m going to get any sleep without bragging about my sudden improvement in cooking skills, my pepper chicken chettinad, and my 100$ saute pan.

Yes, I own a 100$ Calphalon One Saute Pan, a late night purchase on a day when my cooking had to be thrown out, and I absolutely don’t regret it. (I came across this by reviews from professional chefs, btw.) I definitely recommend it for folk like me who are just starting cooking, although it’s expensive: simply because it cooks so evenly that you can’t get it wrong. I haven’t had a failed cooking since I got this pan. It’s also semi-non-stick, in the sense that it cleans up easily. The 2-quart version is just the right size for bachelors cooking for two meals.

I also want to give a shout-out to VahRehVah.com, an Indian cooking site. Apart from a great collection of recipes in video, the chef, Sanjay Thumma, gives lots of explanation on why he does stuff, and also has tutorials for things you otherwise can’t figure out easily. (how to chop onions, how to undress a chicken, how to debone a chicken; for practice I made my pepper chicken chettinad from a whole chicken fryer, and ended up using all of the above.)

Cooking might just be my way of structured procrastination (link via Jigar), and I’m thoroughly enjoying it.


The one about the Nikon D40

June 29, 2009

I finally own a DSLR: A Nikon D40.

I must say, all the controls are really intimidating. But anyway, I’ve posted some of the better pictures on Picasa (link below). Observe that all are taken in/from my room, and that the farthest I got was the corridor of my floor. It just seemed awkward to carry around such a bulky camera.

(Before you view my album, I must give you a disclaimer: I’m not a photographer, and I’m not bragging about my photographing skills by posting this here. As a techie, I’m just bragging that I finally own an SLR, so keep that in mind before criticizing me.)

Day 1 with my D40

The one about The Paper that Will Never Be

June 8, 2009

I don’t accept that shit people teach their kids that everybody is born equal and that it is up to each of us to decide our destiny.

I’m not racist.

I just believe in Game Theory.

I just believe, that if you consider evolution as this one large Game, where each species is a player, I suspect that Nature would choose a more optimal mixed Equilibrium as opposed to a pure equilibrium.

Put in a more gentle fashion—so as to not make you feel uncomfortable because of my vast knowledge of Mathematical Terms—it’s plausible that there’s this inherent probability distribution, that decides, at birth, whether a man is going to grow up to be an intellectual, or go hunting.

Look, suppose nature could enforce that so-and-so fraction of the species be doing hunting, and that so-and-so fraction be doing the intellectual task of decision making for the herd, then things would be all good, and the species would survive better. If nature made everybody equal, then there’ll be either nobody to do the hunting, or nobody to do the intellectual stuff, and your ancestors would’ve died long before. So, it is in Nature’s best interests to be unfair.

It is also plausible, that with some probability things go so badly wrong that you are neither in the hunting zone, nor in the intellectual zone, and you’re one of those showcase pieces whom the intellects study and use as prime examples of how-not-to-be-born, and whom the hunters laugh at and thus give themselves a self-esteem-boost and thus enable them to do better hunting for the day. So it is plausible, that it is in Nature’s best interest to have the probabilities go badly wrong once in a while, and perhaps, that’s what happened with you.

So who am I to argue with Nature? Let’s face it, I’m dumb.

From a Game Theoretic perspective, this is what that professor at Penn was literally calling “Nature moves first” deciding your abilities, and now, at the second round of the Game, it’s your move, and your move will be to maximize whatever it is that you consider to be your personal goals and personal happiness, given your abilities.

So why am I in research?

You know, Nature gave me lots of signs early on. In UKG, my teacher told my Mom that I was just fit to be a showcase piece.

In my case the probabilities went so badly wrong, that I still have that intellectual interest in all things Mathematical (although, that could still be described as the kind of intellectual interest a 13 year old kid would have in Discovery Channel), and yet, am quite unable to pursue research as a proper career. In other words, I like watching cricket on TV, from a comfortable sofa, and making sophisticated remarks about how elegantly Sachin played that last stroke.

Nature gave me more signs. My grades. Even if I’m not bad, I’m not provably not-bad. This does complicate the process of being trusted to be placed higher up the batting order.

(Don’t bother being sympathetic and encouraging and all—I’m in the process of making a decision here, don’t confuse me yet.)

This is the point where I’m going to have a sudden burst of optimism and say, I’m going to beat Nature.

But only once, just to make a point. Just to satisfy my ego, and just to prove that I’m Awesome. It’s like retiring hurt just when you’re at 95 runs, you’ve done awesome, and you can tell people—”one more over, and I would’ve got another century.”—without the question of getting out. Inside your mind, you’re just telling yourself you don’t want to face that extra over.

I just want one single research Paper, just one fairly interesting Publication. Just to make a point.

And then I will laugh at the intellectuals nerds. And Quit.

It doesn’t really matter at this point if the publication finally does get me funding for next year, and it does not really matter if it does give me the enthusiasm to continue for a PhD. I’m just trying to make a point.

Ironically, if I could actually make this point, I should’ve made it long ago, in which case this post would never have come up.


The one about the Nostalgia

June 5, 2009

High school friend pings me. We chat for a bit, he starts getting sentimental about school. About “missing those back bench memories,” and “had a great time then.”

It appears that, over the years, I have grown immune to nostalgia. All I could remember was being sent out of class every day. And that’s what I told him, possibly phrasing it in a way that didn’t sound too arrogant.

Anyway, that’s not the point.

I recently took a look at my CMI homepage again. At a first glance, it seems (by second glance, you get convinced) to be the least professional a home page can get, especially in academic circles. “Especially,” because in academic circles, CSS is a sign of joblessness.

Also, it has these pretentious copyright notices at the bottom of pages, and some pages having something that goes “Linux is a trademark of Linus Torvalds.” By the time you’re reading this, those notices have been removed, so don’t bother.

Then there was also my homepage in Hindi. I guess, I had to find some use of my then new-found skill of typing in Hindi.

But again, this is not the point.

On the project page, I found this link to “openMath”. High school Computer Science, board exam project. First fairly complete code written after I moved to Linux. Oldest surviving code written by me. (The older code died during the Great Hard-Disk Crash of 2004, which also coincided with the Great Backup-Floppy-Disk Crash of 2004.)

And with that, I figured I am not that immune to nostalgia after all.

I decided to compile it again.

It took me some effort to do that, since there were many stale cpp files around. No makefile. Hard-to-read code. (I used Kdevelop at that time, which did the compile business for me, and also used Visual C++ to compile for windows to demo at school.) But in the end:


arnold@arnosh:~/builds/openmath/Release$ ./a.out
openMath Beta, Release 0.1.2 Jan-2005
(c) 2004-2005 A J Noronha.
You are free to redistribute or modifu this program under the
the terms of the GNU General Public License version 2.0

Restoring previous session ... failed.
Loading default session ... okay.
#

First try:

# eval 1+2+3+4
10
# eval ln(exp(3))
3
# eval x=8
8
# eval sin(x+2)
-0.544021

Impressive. I should also point out that it does this infix to postfix conversion, which I had then just learnt in school.

What else functions are supported? I hacked my way through the messy code to find the following command:

# oper-showall
oper+ oper- oper/ oper* oper= oper. oper^ oper~ tan cot sin cos cosec sec asin acos atan sinh cosh tanh ln log log10 exp pow10 pow v Z re im oper/vr oper-vv oper*rv oper+vv box

It turns out I have inbuilt datatype support for complex (Z(1,2)) numbers and vectors!


# eval re(Z(1,2))
7.6638e-4943

Hmm, I can swear it used to work five years ago.


# eval v(1,2,3)
[1,2,3]
# eval box(v(1,2,3),v(1,2,3))
Segmentation fault

Oh well.

I can define functions too:


# oper f %1^4
# eval f(3)
81
# oper f %1^%2
# eval f(3,5)*2
486

I can overload operators!


# oper oper* %1+%2
# eval 3*4
7

Apparently I have code in place to polymorphically overload operators for different datatypes. For instance, oper+vv is the function for adding two vectors. But, umm, I can’t get it to work.

Anyway,

# quit
arnold@arnosh:~/builds/openmath/Release$


The one where somebody finally notices my T-shirt

June 4, 2009

“I’m not slacking off. My code’s compiling.”

It took a while, but hey, when somebody finally tells you “I like your T-shirt,” you’re happy Randall took your money in exchange for it.

And maybe if this T-shirt is witty enough, somebody will finally love me.


The one about Haircuts

June 4, 2009

People always have to find some reason to make fun of me immediately after a haircut. “You look like a poodle!”, “Oh you look like a girl!” (when I keep it long), “Oh you look like a girl with short hair!” (when I get it short), “Oh, dandruff!” (shaven).

So, I get rather touchy about the subject of haircuts.

Now, you’d expect that when you pay fifty time more than the cost of a haircut in India, a hair salon in US would employ nothing less than a PhD in hair-dressing. Heh, you wish.

From years of experience, you’ve learned that your hair doesn’t end up looking as it does at the salon (where you flatter yourself into thinking that this time you’ve finally got that flawless haircut, and give the surprised barber a 5$ tip). So when you walk out of the salon, and find people staring at you — or your hair — you try to do the best you can to hide your face so that you don’t bump into people you know.

“You’re just being too conscious,” you tell yourself, trying to force your head up high. “The only reason that they’re staring at you, is that you’re staring at them trying to figure out if they’re staring at you.”

And therefore, you should wait at least till you reach the mirror back home, before you can convince yourself that in all likelihood, those people were indeed staring at your hair.

I hate haircuts.


The one too Mature

June 4, 2009

This post is the result of a conversation I had with somebody, whose identity shall remain a secret.

Alright, with my new found love for quoting-without-saying-anything, let’s first quote from the now almost universally loathed HIMYM (copied from here):

Marshall so hopes Tony wrote Ted a big fat check — one so big, “It doesn’t take its shirt off when it goes swimming.” Barney says, ” That is a big, fat check. A check so big, if you had sex with it, you wouldn’t tell your buddies.” Marshall says, “That is a big, fat check.” Robin finishes: “A check so big, that when you sit next to it on an airplane, you find yourself wondering whether the check should have bought two seats.”

There’s just one sentence which is indirectly of relevance here. But let’s move on.

Yesterday’s xkcd, which was posted just after my conversation with he-who-shall-not-be-named, and so I lol-ed hard when I saw it.

Drama

Finally, from Seinfeld’s The Deal:

Jerry: It pains me to say this, but I may be getting too mature for details.
George: Oh I hate to hear this. That kind of growth really irritates me.

Anyway, that’s all. This is one of those issues where you can effectively argue both for and against, and picking a side gains you nothing but trolls.


The one with the Quotes that say Everything

May 19, 2009

Nice thing about just using quotes and plugging them in to form a blog post, is that you get to say things without actually saying them. It’s an easy escape route, and yet, you get to do the hell you please.

So here goes. First Steve’s Naked bottoms monologue from Coupling (Episode: Inferno), that Ochod reminded me of yesterday.

Look, I like naked women! I’m a bloke! I’m supposed to like them! We’re born like that. We like naked women as soon as we’re pulled out of one. Halfway down the birth canal we’re already enjoying the view. Look, it’s the four pillars of the male heterosexual psyche. We like: naked women, stockings, lesbians, and Sean Connery best as James Bond. Because that is what being a bloke is. And if you don’t like it, darling, join a film collective. I want to spend the rest of my life with the woman at the end of the table here. But that does not stop me wanting to see several thousand more naked bottoms before I die. Because that’s what being a bloke is. When Man invented fire, he didn’t say “Hey, let’s cook!” He said: “Great! Now we can see naked bottoms in the dark!” As soon as Caxton invented the printing press we were using it to make pictures of – hey! – naked bottoms. We’ve turned the Internet into an enormous international database of… naked bottoms. So, you see, the story of male achievement through the ages, feeble though it may have been, has been the story of our struggle to get a better look at your bottoms. Frankly, girls, I’m not so sure how insulted you really ought to be.

Watch the video, skip the mushy parts, and be a proud pervert ever after.

And now for my most favorite quote ever. I watched Happiness again recently, and I’m going to give you this recommendation: this movie is meant for when you’re most upset in life, when you’re low on confidence, and when you’re alone. I vote this is as the most depressing movie ever created. So anyway, Andy tells Joy after she breaks up with him:

You think I don’t appreciate art? You think I don’t understand fashion? You think I’m not hip? You think I’m pathetic? A nerd? A lard-ass fat-so? You think I’m shit? Well, you’re wrong, ’cause I’m champagne, and you’re shit. Until the day you die, you, not me, will always be shit.


The Pilot

May 5, 2009

screenshot-allmail

And chats too:

screenshot-chats

Finally, do an rm -rf ~/.purple/logs and watch four years of your life being erased forever.


Nice little development tool

April 29, 2009

This year I’ll be working on Pidgin for Summer of Code, and I’m hoping to replace GtkIMHtml with Webkit.

As always, learning the source code takes a significant amount of the time, and so I created this small little tool to help me in the process. I had started this a while back, and completed it today, and thought I’ll share it.

What it does: after building the project, you have lots of “.o” files lying around. These “.o” files have very useful information about the symbols that it exports, and the symbols that it uses from elsewhere. This immediately gives me a very clean way to track dependencies. (The other way is to use header files. Well… )

As a second step, I don’t like cyclical dependencies. I personally like to keep cyclical dependencies to a minimum. In fact, while trying to understand code, it makes more sense to think of an entire strongly connected component of modules as one single component.

So my code just finds the SCC graph, and then topo sorts them to display the final dependency graph very neatly. It gives a quick overview of the code layout. (And can probably be used as a tool to remove cyclical dependencies.)

Here’s a git repo: http://opc.iarcs.org.in/public/repo/arnold/depgrapher.git (Quick git HowTo: git clone <url>)

(For the contest coders: this is written in C, and uses n^2 algorithms everywhere. :P Messy code.)

What I’d like to do: I’d like to display the DAG GUI-ily—in the way gitk shows the commit graph. (I could just take graph drawing code from git, but I don’t have the time.)

Is there already a tool to do this? If not, contributions welcome.