Posted by Anil Madhavapeddy
Fri, 28 Jul 2006 13:29:51 GMT
Well, Nick posted his mum's Cashew Nut recipe, so after my mum cooked dinner for some friends here in Cambridge, I asked her for her famous Chana Masala recipe! And here it is...
Ingredients
- 1 Chick peas (tins or fresh)
- 1 Onion (medium size)
- 1 Tomato (chopped tins or fresh)
- 1 Cinnamon (small one inch piece)
- 2 Cloves
- Ground cumin (1/2 tea spoon)
- Ground coriander (1 tea spoon)
- Chilly powder or green chillies
- Cashew nuts (handful)
- Salt
- 1/4 spoon of tamarind paste
- Chopped fresh coriander leaves (1 tbsp)
- Cooking oil (2 tbsp)
- 1 tea spoon of ginger and garlic paste
Preparation
Heat the oil in sauce pan to medium heat and add cinnamon, cloves and cashew nuts. Add chopped onions and fry them till they are golden brown.
Now add ground cumin, coriander, chilly powder and chillies, salt, garlic and ginger paste.
Cook them on low heat for a few minutes until you get a nice aroma, and then add the rest of the ingredients and let it cook for a few more minutes.
Serve it hot with poori or chapathi.
Posted in family, recipe | 2 comments | no trackbacks
Posted by Anil Madhavapeddy
Sat, 15 Jul 2006 02:45:00 GMT
Ever since I got my first Powerbook back in 2000, I've been meaning to learn Cocoa and Carbon to hack on MacOS X GUIs. On the flight over to San Francisco, I finally found the uninterrupted time to knock up a simple GUI interface to my gallery meta-data files. Overall, the experience was pretty positive. It's definitely more satisfying than my experiences with Windows and UNIX GUI programming, mainly because the result is so pretty!
Objective-C has a really nice dynamic message dispatch mechanism, used to good effect by Cocoa. The autorelease mechanism plays well with C memory management to provide a reference-counted interface which is fairly well abstracted. My application still leaks memory like a sieve though; I miss OCaml!
Cocoa provides a huge number of ways to do the same thing. Bindings are the fancy new thing, MVC is the older "paradigm", and of course Carbon predates all of this. The documentation is a bit of a mess for a beginner to the framework, as crucial facts on how to get simple stuff done are scattered across a myriad of documents. Thanks Google.
Tiger has some funky new Cocoa controls. Check out the use of NSTokenField on the screenshot which lets the tag entry field auto-complete just like Mail does!
The APIs can be unfortunately verbose at times, as the following code snippet which does a little bit of simple string manipulation shows.
NSArray *a = [tag componentsSeparatedByString:@" "];
iter2 = [a objectEnumerator];
while (s = [iter2 nextObject]) {
NSString *e = [s stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
if (![e isEqual:@""])
[tags addObject:[e retain]];
}
I'm quite looking forward to doing more work on this simple application now that the basics are mastered. Hmm... preferences panes next, then a bit of Cocoa bindings, and perhaps I feel OCamlCocoa coming on...
Posted in hacking | 2 comments | no trackbacks
Posted by Anil Madhavapeddy
Mon, 10 Jul 2006 11:43:40 GMT
After an invigorating 120 minutes of questioning, bright lights shining in my face, and general all-round cross-examination, my two examiners Ian Wakeman and Tim Griffin decided to pass me with minor corrections for my PhD! On top of that, it miraculously got nominated for a BCS Distinguished Dissertation award, which does motivate me to really polish it up before submitting the final version. At the Volta Lounge, we are planning to graduate together next summer, so there's no rush...
I haven't quite gotten used to it yet; while booking tickets to San Francisco for Thursday I bottled out to the sales lady and put my title down as "Mr." instead of "Dr."!
Posted in cambridge, research | no comments | no trackbacks