Archive for August, 2009

Objective-C Notes

Fast enumeration:

     NSString *element
     NSArray *myArray;
     for (element in myArray) {
     }

     for (NSString *foo in myArray) {
     /*do stuff*/
     }

Kharabhath

Ingredients:

Semolina- 160 ml
Oil- 2-3 tbsp
Mixed cubed vegetables- 160 ml (Beans, Carrot, potato, peas)
Chopped onion- 160 ml
Hot water- 320 ml
Mustard- 1/2 tsp
Black gram- 2 tsp
Bengal gram- 1 tsp
Cashew nut- broken – 1 tbsp
Curry leaves- 10-12
Green chillies- 2- chop
Ginger- grated- 1tsp
Asafoetida- 2 pinches
Turmeric powder- a pinch
Ghee- 1 tbsp (optional- reduce oil)
Salt- 1 tsp
Sugar- 1 tsp

For garnish:
Coriander leaves chopped- 1tbsp
Grated coconut- 1 tbsp

Method:

Boil or microwave the mixed vegetables till just soft and keep aside. Heat oil in a pan, add mustard, black gram, bengal gram, cashew nut and allow to splutter/ brown. Add curry leaves, green chillies, ginger, asafoetida and saute for a minute. Add chopped onion and saute further. When onion turns translucent, add the semolina and roast on low heat for two minutes. Add the mixed vegetables, turmeric powder, salt and sugar and mix. Add the hot water, reserving a little. Mix well and close the pan. Cook on low heat until all the water is absorbed. Add the remaining water if needed. If semolina is not so fine, more water may be required. Finally add shredded coconut, coriander leaves and ghee (optional) and cover. Switch off the stove. Mix well after 5 minutes.

Bharwan Subzi – Stuffed Vegetable

Ingredients:
Baby potatoes, Small Brinjals and Baby onions- 500 gms in all
Coriander leaves- 1 big bunch- Remove any stalk and Chop leaves
Grated dry coconut- 4 tablespoons
Roasted Peanuts coarsely powdered- 4 tablespoons
Haldi powder- .5 teaspoon
Sugar- 1 teaspoon
Garam masala- 1 teaspoon
Oil- 3 tablespoons
Salt to taste

Method:

Slit the vegetables twice such that the pieces do not fully separate and are attached at one end and soak in salted water for 15 minutes. Mix half the oil and the rest of the ingredients into a mixture for stuffing. Stuff the vegetables with this, reserving some mixture to sprinkle on top. Heat the balance oil in a kadai and add the stuffed vegetables. Cover the kadai with a plate and pour some water on the plate. This will ensure that the vegetables stay moist. Cook over slow heat. Remove lid and gently turn the vegetables a few times. When the vegetables are done, add a dash of lemon juice to the balance masala mixture and add to the contents. Remove and serve.

SVN Cheat Sheet

Reference: The SVN user manual

These instructions will create a repository on your local disk with capability to support multiple projects. I use the file structure layout recommended in the SVN user guide.

Using one common repository for all projects:

Pros:

  • One place to hold all your projects. One set of hook programs/scripts.

Cons:

  • Each project may have different event triggers (e.g. who gets emailed when a check in is made). Hook scripts need to manage these issues.
  • Revision numbers are global to the repository. So though no changes have been made to a project it will still get a new rev number if some other project gets checked in.

The recommended directory structure (in svnbook):

MyMainSvnDirectory/
    Proj1/
        trunk/
        tags/
        branches/
    Proj2/
        trunk/
        tags/
        branches/

Creating a Repository:
    svnadmin create MyProjects/

This will create the following under MyProjects/

MyProjects/
    README.txt
    conf
    dav
    db          – Holds the versioned filesystem
    format
    hooks

Initial import:

    svn import Proj1 file:///Full_Path/MyProjects/Proj1/ -m “Initial import”

This will copy files in Proj1 into the directory Proj1 in the repository. After the import is done the original directory is NOT converted into a working copy. You need to check out the code in a separate directory.

Checking out code:

    svn checkout file:///Full_Path/MyProjects/Proj1 WorkingDir

This will check out the latest committed copy of Proj1 into WorkingDir

Adding a new file:
   
    svn add filename

Do this from a checked out working directory

Deleting a file:
   
    svn delete filename

Examining changes:

    svn status
    svn diff

Resolving conflicts:
   
    svn update
    svn resolve

Commit changes:

    svn commit

Browsing the repository:
   
    svn list file:///Full_Path/MyProjects
    svn list file:///Full_Path/MyProjects/trunk

Creating a branch:

    svn copy file:///Full_Path/MyProjects/Proj1/trunk file:///Full_Path/MyProjects/Proj1/braches/branch1 -m “Creating a new branch”

Creating a tag works the same way except you copy to the tags directory.

Let noble thoughts come to us from every side


आनो भद्राः कृतवो यन्तु विश्वतः।


Let noble thoughts come to us from every side
To display unicode characters correctly in Wordpress do the following (you need FTP access to your server.

Edit the file wp-config.php and comment out the following two lines
define(’DB_CHARSET’, ‘utf8′);
define(’DB_COLLATE’, ”);

Tracking Stock Investments

Grism is a free software under GNU  Public License. It is tool to watch live stock market quotes,. It derives the quotes of equity, indices, and mutual funds through Yahoo Finance Ruby Module. Therefore quotes from all the markets covered by Yahoo finance are available in Grism.  Quotes from the two Major Indian Stock Markets, namely National Stock Exchange and Bombay Stock Exchange can be added to the list.

Grism has two Main Components, namely Watchlists and Portfolio. Unlimited number of stocks can be added to the Watchlists. There is no ceiling on the number of Watchlists that can be created. The Watchlists provides Price view and Ratio View. Comparison with Watch  start value is provided. The portfolio view shows purchase value and current value of stock as also the gains on date. Stocks are added using the stock symbols. If one does not have readily the stock symbol indicator, then it can be obtained the Yahoo financing Website. Grism also provides a limited chart view.

Grism is a easy to use useful software for tracking the equity portfolio as also observing stock price behavior.