Author Archive

Palak (Saag) Paneer

September 26th, 2009 shyam 3 comments

This recipe was originally inspired by the VahRehVah website, and the corresponding Youtube video. There are some great recipes there, but I think some of them are slightly more complicated (and spicy!) than they need to be. I have made some modifications to the original recipe, and posted my version below. Notable differences include the omission of green chili, some whole spices (I prefer powders, in general), and the inclusion of yogurt.

Recipe: Palak (Saag) Paneer


Picture:

Ingredients

  • 2 medium onions (diced)
  • 1 medium tomato (diced)
  • paneer cheese cubes – (usually comes frozen; may or may not be fried – either is fine)
  • fresh spinach
  • canola oil
  • 1 tbsp ginger garlic paste
  • 1 tsp cumin seeds
  • 1/2 tsp turmeric
  • 1/2 tsp garam masala (too much will be overpowering)
  • 1/2 tsp chili powder (adjust to taste)
  • 1 tsp coriander powder
  • 4-5 curry leaves (optional)
  • plain yogurt (optional)
  • cream (optional)

Instructions

  1. Rinse spinach and blanch in boiling water for ~2 minutes. Put spinach in a blender and liquify – retain some of the water to help purée the spinach better. It is also full of vitamins !
  2. Put oil in pot.
  3. Add cumin seeds (you could also add mustard seeds if desired)
  4. Add onions and some salt to help cook the onions faster. Fry till nice and brown.
  5. Add the ginger garlic paste. Cook for a minute or two.
  6. Add in tomatoes. Cook for 5 minutes or so until the tomatoes are very soft.
  7. Add spices (turmeric, garam masala, chili powder, coriander powder).
  8. Add a little water so everything mixes well (1/4 cup or less). You can add more/less at the end to get the desired consistency. Bring to a slight boil.
  9. Add in the liquefied spinach. Cook till nice and bubbly.
  10. Add in cubed paneer. Heat on low for a few minutes to get the paneer warm, especially if it was previously frozen.
  11. Finish off with a splash of cream and a few tablespoons of yogurt.

Cooking time (duration): 40 minutes

Diet type: Vegetarian

Number of servings (yield): 3

Categories: Recipes Tags: ,

Chickpea Curry

September 25th, 2009 shyam 1 comment

My mom’s recipe, slightly modified.

Recipe: Chickpea Curry


Picture:

Ingredients

  • 2 medium onions (diced)
  • 2 medium tomato (diced)
  • 1 can chickpeas – (aka garbanzo beans)
  • canola oil
  • 1 tbsp ginger garlic paste
  • 1 tsp mustard seeds
  • 1 tsp cumin seeds
  • 1/2 tsp turmeric
  • 1/2 tsp garam masala (too much will be overpowering)
  • 1/2 tsp chili powder (adjust to taste)
  • 1 tsp coriander powder
  • coriander leaves (optional)

Instructions

  1. Heat oil.
  2. Add mustard seeds. Heat for a minute.
  3. Add cumin seeds.
  4. Wait till mustard seeds start to pop. The cumin seeds are added slightly after the mustard seeds, because the cumin will burn if added too early, and you need to wait for the mustard seeds to pop before proceeding.
  5. Add onions and salt to help cook the onions faster. Cook till slightly brown.
  6. Add ginger garlic paste. Cook for a minute or two.
  7. Add tomatoes. Cook them well.
  8. Add spices (turmeric, garam masala, chili powder, coriander powder).
  9. Add 1/2 cup of water or so to help mix the spices together. Bring to simmer.
  10. Add the chickpeas from the can. You can also use some of the water from the can to add natural salt. I don’t use all of it, because it is too salty.
  11. Bring to simmer.
  12. Top with coriander leaves (optional).

Cooking time (duration): 40

Diet type: Vegetarian

Number of servings (yield): 3

Recipe by on.

Categories: Recipes Tags: ,

Mattar Paneer

September 24th, 2009 shyam 2 comments

This recipe originally came from VahRehVah, but I have heavily modified and simplified it for my own tastes.

Recipe: Mattar Paneer


Picture:

Ingredients

  • 2 medium onions (diced)
  • 2 medium tomato (diced)
  • paneer cheese cubes – (usually comes frozen; may or may not be fried – either is fine)
  • frozen peas
  • 1/4 handful of cashews
  • canola oil
  • 1 tbsp ginger garlic paste
  • 1 tsp cumin seeds
  • 1/2 tsp turmeric
  • 1/2 tsp garam masala (too much will be overpowering)
  • 1/2 tsp chili powder (adjust to taste)
  • 1 tsp coriander powder
  • cream
  • coriander leaves (optional)

Instructions

  1. Heat oil. Fry cashews till light brown.
  2. Add onions and salt to help cook the onions faster. Cook till slightly brown.
  3. Add ginger garlic paste. Cook for a minute or two.
  4. Add tomatoes. Cook them well.
  5. Put entire mixture into blender. Blend until completely liquefied.
  6. Clean out the previously used pot completely (or get a new pot!).
  7. Put some oil in the empty pot and heat up.
  8. Add the cumin seeds.
  9. Add the mixture from the blender.
  10. Add spices (turmeric, garam masala, chili powder, coriander powder).
  11. Add 1/2 cup of water or so to help mix the spices together. Bring to simmer.
  12. Add frozen peas. Cover and bring to boil (~5 minutes).
  13. Add paneer cubes. Simmer 5-10 more minutes.
  14. Add a splash of cream.
  15. Top with coriander leaves (optional).

Cooking time (duration): 40

Diet type: Vegetarian

Number of servings (yield): 3

Categories: Recipes Tags: ,

Artemis Chronicle Tools

August 15th, 2009 shyam No comments

During the first semester of working on NitroX and Artemis Chronicle, our design and content pipeline was very slow. Simple things like creating a level and placing a box were arduous tasks. Placing an item involved flying the camera around the level, writing down it’s rough coordinates, hard coding the coordinates, and then tweak these values until the box is in the desired position. (Thankfully, we were using C# which pretty much eliminated any compile time. Doing this in C++ would have been impossible).

This created a situation where we were unable to prototype levels quickly, and time that could be better used somewhere else was being wasted.

Because of this, I devoted the first few weeks of the second semester to full-time tool development. Two of the more useful tools created are described below. These tools, once created, were continuously used and refined throughout the entire life of the project.

Level Editor:

Artemis Chronicle and the NitroX engine have a completely integrated level editor. The editor allows 3D navigation through the world (using Maya camera controls), object placement (translation, rotation, scale), object property exposure (including physics volumes), trigger volumes (used for scripted events), and interactive camera sequencing (allows us to create cut-scenes and cinematics in a point-and-click fashion instead of in code).

The editor runs on Windows and is written in C#, allowing for close integration into the XNA content pipeline. The editor data is serialized out to an XML format (which is later compressed for application deployment), sent through the content pipeline, and imported directly into the NitroX engine for use on both Windows and Xbox 360.

Mesh Viewer:

The Mesh Viewer is a tool that lets our artists quickly preview their work before sending it off to be integrated into the latest build of the game. As anyone who’s used the FBX exporter knows, exporting from Maya does not always go smoothly, so this tool allows the artist to catch any errors early, thus saving time for the entire team.

Animations can be chained together to create sequences, and then previewed in a real-time manner. Playback speed, blending parameters, and looping can also be adjusted via the user interface.

Categories: Code, General Tags: , , , ,

Bananas Foster

August 11th, 2009 shyam No comments
Recipe: Bananas Foster

Ingredients

  • 2 bananas
  • 1 cup brown sugar
  • 1/2 stick butter
  • 1/8 cup spiced rum (1 shot)
  • 1/2 tsp vanilla extract/essence
  • vanilla ice cream

Instructions

  1. Peel and cut bananas lengthwise and in half, then set aside.
  2. Remove the ice cream from the freezer and allow it to soften.
  3. Set burner to medium to high heat.
  4. Place the butter into the saucepan, stirring continuously to prevent burning.
  5. Add 1 cup of brown sugar to the melted butter and stir constantly, this should be allowed to cook and caramelize for about 3-5 minutes. Once the brown sugar and butter mixture is the consistency of warm maple syrup, turn the burners to low.
  6. Add the banana slices. Allow these to soften. The bananas should be completely coated by the sugary mixture.
  7. Once the bananas have reached a more rich color of yellow add the vanilla extract. The vanilla will seem somewhat overpowering until thoroughly stirred in, and allowed to cook. When the smell of vanilla has reduced in strength, add the spiced rum to the mixture.
  8. Give about 10 seconds to simmer. After this, take the lighter and carefully light the mixture.
  9. Let the mixture burn itself out.
  10. When the fire has extinguished itself, pour the Bananas Foster (while still warm) over (or next to) vanilla ice cream.

Notes

  • Have a pan lid to smother unusually wild-FLAMES!
  • Keep a fire-extinguisher / container of water handy just in case!
  • Use a metal pan if possible. Teflon pans may not get hot enough, so it may not catch on fire properly.

Cooking time (duration): 10 minutes

Number of servings (yield): 4

Meal type: dessert

Categories: Recipes Tags:

Ray-Sphere Intersection

August 6th, 2009 shyam No comments

A ray, \mathbf{r}(t), where \mathbf{o} is the origin of the ray, \mathbf{d} is the direction of the ray, and t is the distance along the ray:

\mathbf{r}(t) = \mathbf{o} + \mathbf{d} t

Equation of a sphere:

x^2 + y^2 + z^2 = \mathbf{p} \cdot \mathbf{p} = r^2

A point on the surface of the sphere, \mathbf{p}, and the center of the sphere, \mathbf{p_c}:

(\mathbf{p - p_c}) \cdot (\mathbf{p - p_c}) - r^2 = 0

Plug in the ray and solve for t:

(\mathbf{r}(t) - \mathbf{p_c}) \cdot (\mathbf{r}(t) - \mathbf{p_c}) - r^2 = 0

(t \mathbf{d} + \mathbf{o - p_c}) \cdot (t \mathbf{d} + \mathbf{o - p_c}) - r^2 = 0 \mathbf{d} \cdot \mathbf{d} t^2 + \mathbf{d} \cdot (\mathbf{o - p_c})t + \mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0 \mathbf{d} \cdot \mathbf{d} t^2 + 2\mathbf{d} \cdot (\mathbf{o - p_c})t + (\mathbf{o - p_c}) \cdot (\mathbf{o - p_c}) - r^2 = 0

We now have a quadratic equation of the form At^2 + Bt + C = 0, where:

A = \mathbf{d \cdot d}

B = 2\mathbf{d \cdot (o - p_c)}

C = \mathbf{(o - p_c) \cdot (o - p_c)} - r^2

This can be plugged into the quadratic formula:

\frac{{ - B \pm \sqrt {B^2  - 4AC} }} {{2A}}

  • If the determinant, B^2 - 4AC, is negative, there exist no real roots and therefore there is no intersection.
  • If the determinant is 0, there is exactly one intersection; the ray is tangent to the sphere at this single point.
  • If the determinant is positive, there are two intersections. The ray penetrates the sphere: one point in, one point out.
  • If t < 0, the intersection is 'behind' the ray starting point.
Categories: General Tags: ,

Clear Firefox Download History

August 3rd, 2009 shyam No comments

I like to have Firefox automatically clear my download history whenever a download finishes. It seems the location for this changed slightly in FF 3.0.

  1. Go to: Tools -> Options
  2. Click on the Privacy Tab
  3. From the pull-down menu (“Firefox will:”), selected: Use custom settings for history
  4. Uncheck: Remember Download History

FirefoxDownloadHistory

Categories: General Tags: ,

Saturday in Yokohama

August 2nd, 2009 shyam 2 comments

Yokohama is a large port city about 40km (25 miles) south of downtown Tokyo. It is celebrating it’s 150th anniversary this year. For 150 days (late April until late September), there are a bunch of different events and attractions. The highlight for me was the Giant Golden Robot-Spider – sure to give you nightmares if you saw it walking around your neighborhood.

Some iPhone Grievances

August 1st, 2009 shyam No comments

Overall, the iPhone is the best existing device for my needs, but of course it has it’s own faults. Below are a couple of the most irritating things (for me) about the iPhone. I have other unlisted issues with the device, but most of them are common complaints that you’ve probably read about somewhere else already.

  • Screen Rotation Toggle – When trying to read something on my iPhone while lying at an odd angle in bed, it would be great to be able to disable the screen rotation. I wish there was a global option to disable this somewhere.
  • Touch Screen Toggle – One case is when I am trying to read a long Wikipedia entry, or a long article in Safari. When scrolling [touch + drag] through a long page in Safari, such as a long Wikipedia entry, it is too easy to accidentally click on a link [touch]. This re-directs you to another page, or even opens a new browser window. This could easily be fixed in Safari by adding another button to the bottom (near the bookmarks) to toggle the tap gesture. It still doesn’t fix the problem on an application-wide level (I have the same issue when reading from the AP News app, or even Mail).
Categories: General Tags: , ,

2009 Sumida River Fireworks

July 25th, 2009 shyam No comments

Also known as the Sumidagawa Fireworks, or Sumidagawa Hanabi Taikai (隅田川花火大会) is a yearly fireworks celebration held on the Sumida river on the last Saturday of July. It attracts close to a million people. Interestingly, the firework display is put on by more than one ‘rival’ group. These ‘rival groups’ each have a set amount of time to perform their firework display, and then the next group follows. This turns the event into a kind of competition where people shout the names of their favorite group.

There are not one but two locations along the river where the fireworks are shot off (the following video briefly shows this). Therefore, the ideal seat is situated about half way between the two locations. It is a very cool phenomenon, and if you can get a perfect seat (which I didn’t have), gives you the feeling of being immersed in fireworks.

Categories: Japan (日本) Tags: ,