Mutton Kaliya
This is a one of my all time favourite and also one of the most famous preparation of avadhi cuisine. I first saw it being cooked by on a TV show about 15-16 years ago, in a traditional avadhi way; which involves sealing ingredients in large pot (handi), placed over slow fire and cooked for prolonged period of time. It a pretty elaborate recipe and, they say that your finger tips should be yellow after eating kaliya. The yellowness comes from turmeric, which is a main flavour in this recipe.
Mind you, my recipe involves a lot of improvisations and my own touches as after such a long time, I vaguely remember the actual recipe :)
Lets get on with the recipe then …
Ingredients
- 1 kg Mutton (Goat meat, get shoulder if you can)
- 4 big onions
- 2 Bay leaves
- 1 Tbsp Methi dana (Fenugreek seeds)
- 4 dried red chillies
- 2 black cardamoms
- 1 tsp Jeera
- 3-4 cloves
- 4 tsp Turmeric powder ( Oh yeah !)
- 4-5 garlic pods (big ones)
- Thumbsize Ginger
- 1/2 cup Mustard Oil or Ghee
- 1 1/2 cups of thick yoghurt
Lets go….
Firstly, goes without saying; please use a vessel with a heavy bottom. Pour in the oil and smoke the mustard oil, this takes out the raw pungency of mustard oil and also makes it less viscous. Now reduce the heat as we don’t want to burn our spices.
Add the spices (bay leaves , methi dana, red chillies, black cardamoms, jeera, cloves) and let the spices infuse into the oil. When the bay leaves turn brown, add the finely chopped onions, crushed garlic and ginger. Turn the heat to medium and when onion turns golden brown and add turmeric. Keep stirring it for a minute and then add mutton.
Let the mutton fry for about 5-10 minutes and keep stirring it every now and then. Now add the yoghurt. Mix it well and make sure you turn the heat to low after adding in yoghurt. Now cover the vessel with a heavy lid and let it simmer for 45 minutes to an hour. If you wanna get real good results, dum it.
DUM is the process of sealing in the contents and cooking on slow flame for long period. Traditionally and the way I prefer it, you make some dough and line the vessel with it. Then you place a lid on top and press it hard to seal the vessel with dough lining. This way the pressure inside cooks the ingredients much better, moreover, its like an automatic timer which tell you when cooking is over. Well, the dough lining cooks just like the ingredients, looses the bonding power, releases the lid and you see steam gushing out. That is equivalent of your oven timer beep :)
Back to the recipe, remove the lid, gently stir and test a piece of meat. The meat should be quite tender. But we are going for a tenderness of heaven, add a cup of water and put the lid back on for another half an hour. Kaliya is done!

There is nothing better than having it with Zafarani pulao or just plain roti.
you can also try another twist , which I happened to come across some time ago.
My favourite recipes... 2
I’ve decided to start sharing the recipes I love to cook and this blog is the first place that comes to mind. So I’ll be posting my recipes as I cook them and hopefully put in some pictures as well.
Do leave some feedback if you try some of my recipes
Setting up Jinzora Media Server
I’m trying out Jinzora as a better alternative to ampache. Most of the setup was very easy, as Jinzora2 uses a web based installer. There were a few things i had to do to make it work 100%, which i will talk about later.
Major installation steps (with points of caution included)
- Get the package. I’m using Jinzora 2.7.5 Obsidian
- Extract the package files. Move the extracted dir to your web dir (/var/www)
- IMPORTANT:
- Make sure the installation dir (in my case ‘jinzora2’) is owned by same user which is used to run your web server.
- Run the provided configure.sh script which sets up required file permissions.
# on debian based systems sudo chown -R www-data:www-data jinzora2
- Point you web browser to the installation dir. In my case, I have set the docroot for the subdomain to be the installation dir. After this simply follow the web based wizard which sets up admin account, database tables and imports your media.
- Delete the ‘install’ sub directory as prompted by jinzaro.
Important Configuration
- Album Art: In case your album art is not showing up, make sure that you have GD2 library installed for php. Its just a matter of apt-get install php5-gd, restarting apache and album arts should show just fine.
- Downsampling:
- Go to Admin tools -> System Tools -> Settings Manager -> Main Setting -> Resampling
- Make sure path to lame binary is correct. If you have not installed lame yet, please do so now. I had to fix paths to lame and other binaries, as in debian based systems, lame is located at /usr/bin/lame
- Set the default resampling rate. I prefer 44kbps personally
- Note: Jinzaro has a clever $no_resample_subnets variable in settings.php which tell jinzaro not to resample for local requests.
- Embedded Players:
- For music streaming, i chose fsmp3 player. Its has the cleanest interface while still being the one with most options.
- For video streaming, has to be qt player. Streaming video is pretty good with no jerks or buffer stops.
Have fun ….
Bye bye .... Ampache 1
I’ve had an urge to setup my own media server at home for a long time now. The idea is that, I wanna be able to listen to and share my humongous music collection anywhere.
My first attempt was to set up Ampache. It worked well for starters, web based installation was breeze and most things worked ‘out of the box’. What Ampache lacked was- A good choice of embedded external players
- Inability to stream video content
- Down sampling music content ‘on-the-fly’ didn’t work.
Not being able to downsample was a big bummer, because if I don’t downsample music, I’ll eat up my bandwidth in 1 day! Of course there are ways to get it going; edit setting files and configuring command line options for lame yourself etc. All I had to do, was to hand-edit the config/ampache.cfg.php file and uncomment some settings for enabling down sampling. Now why would the ampache team make user edit the settings like this for a web-application?
I’m giving up on ampache after 2 months and moving on to other options, most probably Jinzora. Jinzora offers all that amapche lacks, while still having all functionality of amapche.
At the time of writing this post, Ampache team has released a new version which is complete rewrite to php5 and other features, but they still have lots to catch upto Jinzora.
Best of Wanda's Quotes
To be or not to be.
—ShakespeareTo do is to be.
—NietzscheTo be is to do.
—SartreDo be do be do.
—Sinatra
......says wanda the fish
Namaste India 2
I’m in india for 18 days to visit my family. Its been over 2 years since I’ve been back to motherland ;)
I landed at Mumbai International Airport and could sense winds of change straight away. There’s major reconstruction going on at the airport, which i must say was badly needed. But, this was not all of it; the airport staff was friendly!!! There was nobody trying to annoy or hassle you, nobody was trying hard for some bribe, or my much loved scotch bottles. This was in stark contrast to my trip 2 years ago, when I was stuck at airport for over 2 hours surrounded by blood sucking bribe thirsty custom officials. This time I was out of the international airport in 30 mins.
Now I had to travel to Mumbai domestic terminal to meet up with my brother and sister-in-law and catch flight to New Delhi. Funny thing is there are 2 domestic terminals in mumbai; “New Domestic Terminal” and just a plain old “Domestic Terminal”. You must be wondering what funny about that, well, old domestic terminal is more modern than new domestic terminal :)
Meeting up with Ashu was good, he keeps putting on healthiness as usual. I must say he’s one healthy man. Five hours at airport was time well spent if you consider long hours of catch-up chit-chat and eating awesome breakfast buffet at 3am in airport lounge. I have to mention the breakfast; Aloo parantha, chole, utthapam, loads of fruits, lots of other things and a good cup of coffee. Good food trail has begun :)
Another couple of hours in fight and an hour’s road trip and we’re home @Rewari to find surprised mom ‘n dad who were not expecting us for another 3 days. All that transcontinental planning for a surprise worked like a charm. It good to be home! Now its all about Good times, Good Food ….. yes …. lots of Good Food.
Junglee Parinde 2
We have registered our team for Indoor Cricket League at Woodlands SportZworX. I thought that a team Jersey with logo and works was in order, so I came up with this logo for our team; which is named “Junglee Parinde” for obvious reasons :)
For those who don’t know, our team name means “Wild Birds”.
Our Logo

We are playing 6 a-side in 18over format. Best batting pair wins a 6-pack. I shall try my best to mantain team scores at my Team Page
FCUK Ferret 1
life cycle of relationship with ferret…..
STAGE1: First time you come across ferret

OMG its soo cute and it'll make my life so good. happy days
STAGE2: You are having fun with ferret

ferret and me are best buddy....
FINAL STAGE: Then, one day … ferret FCUKs you

your indices are corrupt, crashes under heavy loads....
So, before he gets to you ….. FCUK Ferret. I still love it, but for love of god…… MAKE IT STABLE!!!
For now I love Solr, its stable and just works …. maybe I’m at first stage of relationship life-cycle of Solr ;)
images used here have been taken from random sources on web.
ferret drb server on start gives Errno::ECONNREFUSED: Connection refused - connect(2)
after spending the good half of my day on this issue, i’m pulling my hair and saying to myself
WTF?
and other times
HowTheF*&^
still no solution. I’m using the acts as ferret gem 0.4.3 (latest at time of writing). I’m using ‘ferretstart’ and ‘ferretstop’ scripts with ‘script/runner’
I’ll investigate if using the plugin might be the way to go as someone was saying in his article that a patch has been submitted to acts_as_ferret to fix this issue. [link will go here, once i find it again]
basically the issue is…. In my activerecord i’ve specified the in macro ‘actsas_ferret’ to use remote index. Now when ferret goes to load the models, they think ferret is up and try to connect to it on the port specified in your ferretserver.yml . This should somehow to be suppressed till ferret server comes up.
later in the day….
specifying
FERRET_USE_LOCAL_INDEX=1
should fix my woes, and i truely believed it won’t (following my theory of “believe in failure”)… and to my misfortune, it didn’t. Got this error instead:
runner.rb:45: (eval):21:in `load': wrong number of arguments (0 for 1) (ArgumentError)
Now i’m completely ditching aaf gem and going over to plugin version of aaf. Also it turns out that best way to start drb server is using script/ferret_server
But of course i’ve got no ferretserver in my script dir. HTF?? As it turns out I installed the plugin at early stages of project (when it had ferretstart instead), and then turned to aaf gem. Moment i update my vendor plugin dir , I’ve got what i need!!! ferret_server.
here we go again…
I copied the ferret_server from plugin dir to script, changed permissions and issue this command, hoping that it’ll fail :)
$ script/ferret_server start -e production $ no such file to load -- /usr/bin/../config/environment
WTF??
google to rescue, stumbled upon this post by jens following the post, i changed the servermanager.rb to use FILE instead. issued ferretserver start again …
$ script/ferret_server start -e production $ starting ferret server...
eeeeeeHAAAAA……. Finally :)
Improvements
Since i’m running it on live server, i prefer starting processes with lower permissions. i’ve made a simple script which invoke as root and spawn the ferret server as lower privilege.
--------------script ferret_start-------------------- #!/bin/sh FERRET_USE_LOCAL_INDEX=1 script/ferret_server start -e production -------------------end of script---------- $ sudo -u www-data ./ferret_start
Configuring Apache2 with SSL (creating your own SSL certificate)
Here's the scenario:
You have setup your web server using apache2, but now you want to serve some content off a secure site. The easiest way to achieve this, is to configure apache with your ssl certificate. This way apache takes care of encrypting the channel of communication between the browser and server.
Things you'll need:
- apache2
- openssl library
- SSL certificate
For purpose of this tutorial, i'm using Ubuntu 7.10 as my linux installation
Installing OpenSSL library
Installing this should be a piece of cake on any linux installation as this is a very widespread used library. On ubuntu you can simply do
sudo apt-get install openssl
for red-hat based systems you should be able to simply use "yum install openssl " .
Generating self signed SSL certificate
you can easily generate a ssl certificate using openssl library. Before we generate the certificate we will create the directory to hold them. Later, we will generate a private key that is file encrypted. This will be used to create our certificate
UPDATED !!
sudo mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
openssl genrsa -des3 -out keyname.key 4096This will prompt for your password now, and also when you (re)start your webserver. This can be an issue, as your web server will halt for password prompt at boot time. To avoid that, I prefer to create a key without file encryption:
openssl rsa -in keyname.key -out keyname.insecure.key
Now we can use this key to generate our certificate
openssl req -new -x509 -days 365 -key keyname.key -out cert_name.crt
we should have following files at the end
- keyname.key
- keyname.insecure.key
- cert_name.crt (valid for 365 days)
What we have done is to create ourselves a digital certificate, encrypted with our private key. If you wanna be thorough and proper, you can supply this certificate along with your credentials to a company like verisign to sign you certificate and make it official. But the certificate is Good as it is to enable us running a secure site.
Configuring Apache
First of all we need to enable ssl module in apache. It is included by default, but not enabled.
sudo a2enmod ssl
should do the trick for us.
Also we need to make a seperate document root for secure site.
sudo mkdir /var/www-ssl
Second, we have to configure our secure site. We'll use the configuration defined for the default http site as a template and modify it to server a secure site on https
cd /etc/apache2
sudo cp sites-available/default sites-available/secure
sudo ln -s sites-available/secure sites-enabled/securemaking a link to our secure conf in sites-enabled will cause apache to load secure configuration as well.
Third, we have to modify default and secure configurations
default configuration
change
NameVirtualHost *
<VirtualHost *>
To
NameVirtualHost *:80
<VirtualHost *:80>
make sure you fix all your VirtualHost directives.
secure configuration
Change
NameVirtualHost *
<VirtualHost *>
To
NameVirtualHost *:443
<VirtualHost *:443>
and add following lines in your virtual host decleration block
DocumentRoot /var/www-ssl/
SSLEngine On
SSLCertificateFile /etc/httpd/ssl.crt/cert_name.crt
SSLCertificateKeyFile /etc/httpd/ssl.key/keyname.insecure.key
That All Folks!!!!
In case you are wondering that what happened to the port configuration and ssl configurations; well, apache2 installation on ubuntu is all setup for running a secure site. The magic happens when you execute the a2enmod ssl command. That command makes a link to ssl-mod and ssl-conf in mods-enabled dir of apache2 setup. This way apache will pick up the ssl-mod and default configurations that our mates at apache have graciously done for us.
Server Restart
sudo /etc/init.d/apache2 restart
OR (if you want zero downtime)
sudo /etc/init.d/apache2 reloadnow go to the https://
Happy Days :)
following link were great help in getting me up and running with my secure site and compiling this tutorial
Older posts: 1 2