Sri Lankan style Chinese fried rice recipe

Sri Lankan style Chinese fried rice
  1. 400g of chicken cut into small pieces (kana)
  2. 1 red chilli thinly sliced (punainen chili)
  3. 1/2 tea spoon of baking soda (ruokasoodaa)
  4. 1 tea spoons of salt (suolaa)
  5. 1 tea spoon of corn flour (maissijauhoa)
  6. 1 table spoons of cooking oil (rypsiöljy)
  7. 1 tea spoon of Indonesian sweet soy sauce (ketjap manis)
  8. 1/2 tea spoon of ginger crushed or thinly sliced (inkivääri)
  9. 1 cloves of garlic crushed or thinly sliced (valkosipuli)
  1. 3 dl of basmati or jasmine rice (basmati tai jasmiini riisi)
  2. 6 dl of water (vesi)
  3. 1 tea spoon of chicken concentrate (kana fondi)
  1. 4 eggs (kananmuna)
  2. 2 tea spoons of pepper (pippuri)
  3. 1 tea spoon of salt (suolaa)
  4. 1 table spoons of cooking oil (rypsiöljy)
Stir fry
  1. 2 table spoons of cooking oil (rypsiöljy)
  2. 1/2 tea spoon of ginger crushed or thinly sliced (inkivääri)
  3. 1 cloves of garlic crushed or thinly sliced (valkosipuli)
  4. 2 large carrots cut Julienne (porkkana)
  5. 1 thin leek sliced (purjosipuli)
  6. 2 tea spoons of salty soy sauce (soijakastike)
  7. 1 tea spoon of salt if needed to taste (suolaa)
  1. Prepare the rice for 4 portions as instructed in the package and put it aside. You can add 1 tea spoon of chicken concentrate but remember to reduce any salt accordingly. Usually rice to water ratio is 1:2.
  1. Put the chicken in a bowl and add 1 tea spoon of salt, 1 tea spoon of corn flour, 1 tea spoon of sweet soy sauce, 1/2 tea spoon of banking soda and the thinly sliced chilli.
  2. Mix thoroughly.
  3. Put it in the fridge for around 20 minutes.
  4. Once the chicken is ready. Put 1 table spoon of oil into a hot wok.
  5. Then add half the garlic and ginger to that wok and let it fry for few seconds.
  6. Then add the chicken. Leave the chicken flat on the wok for 2 minutes.
  7. Then turn the chicken other way around. We want to make the chicken little brown but not burn it.
  8. Put the cooked chicken into a clean bowl.
  1. Beat the 4 eggs lightly with 1 tea spoon of salt and 2 tea spoons of pepper.
  2. Add 1 table spoon of oil to the hot wok and then add the eggs and scramble them until the eggs are little brown outside.
  3. Put the cooked eggs into a clean bowl.
Stir fry
  1. Add 2 table spoons of oil to the hot wok.
  2. Add the garlic and ginger. Let it fry for few seconds.
  3. Then add carrots and salty soy sauce and mix well.
  4. Cover and let it cook for a minute.
  5. Then add the leeks and cover mix well.
  6. Cover and cook for 30s.
  7. Then add the rice and mix well with the vegetables.
  8. Then add chicken and scrambled eggs and mix well.
  9. Let it sit on the stove for 30s but make sure nothing burns.
  10. Enjoy!
  1. I like food with less salt. You can add salt wherever mentioned as you prefer.
  2. For the stir fry you can add bean sprouts, broccoli, bamboo shoots if you have them.
  3. Serve with sweet chilli sauce or hot chilli sauce if you can't find Chinese chilli paste.
Mohanjith's Blog

HD Satellite TV finally in Sri Lanka

Dialog TV finally launched HD TV in their Satellite TV subscribers. I have been asking Dialog for HD TV for more than a year, so it was only fair I signed up gave it a shot.

Signing up was a breeze, no calls to the customer service hotline; a simple SMS to 679 and I was signed up. Then I had to wait for the decoder to be delivered, but that took less than 24 hours (18 hours may be) and it came with a technician :D. Big thumbs up to Dialog for quick response.


I know the HD subscription is too high for too few channels, but considering the fact that in a tiny island everything new is supposed to be expensive I’m not complaining. However more channels would be nice. I would personally like to see the following channels being offered in HD.

  • Discovery Channel
  • Discovery Science
  • HBO Bouquet
  • KidsCo
  • The Buddhist TV (This is a long shot, but one can ask)
  • Ten Action
  • Warner TV
  • VH1


I got a OHS1720IR decoder which comes with HDMI, RCA and S/PDIF ports (I’m not counting the USB port used by the flash drive used for PVR). I’m glad Dialog finally has a decoder which support HDMI Video and Audio. Did I tell you it also supports Dolby Digital Audio.

PVR function is very handy, now my mom doesn’t have to complain about missing programs on The Buddhist TV 🙂 When you sign up for HD Pack you get PVR for free. However the catch is you can’t record a SD channel and watch a HD channel or record a HD channel and watch any other channel. But that’s better than what we had before, so I’m not complaining.

However while preparing for the blog post I found a bug in the decoder firmware. If I take a screen capture of a HD channel remote stops working until you have to restart the DVR. But this is a borderline use case, so not a show stopper. My guess a memory leak in screen capture. It would be nice if Dialog could release a fix soon.

Also did I tell you the decoder support 1080p even though Dialog TV content is only 1080i. So the menus look better than the content itself. I hope we will soon see 1080p content 😉

Picture Quality

I guess I kept you waiting long enough before I showed you how good HD TV on Dialog TV looks. Both HD channels and SD channels look so much better on this decoder. I couldn’t find any flaws with the picture quality. All these were captured with the built in screen capture. Sizes will differ based on what what the source quality was. Please click through and checkout the quality in all it’s glory.

I might decide to upload a video shot with the stunning HD camera on my Samsung Galaxy Nexus to show you how good the video looks with the new decoder and show off the new HD Channels. So remember to subscribe to my RSS feed and check back in a few days 🙂

WYSIWYG editor in your WordPress theme or plugin

Prior to WordPress 3.3 adding WYSIWYG editor to a frontend page meant you had almost reinvent the wheel. In WordPress 3.3 wp_editor was introduced which made developer/designer’s life whole lot easier. Now you can add the same editor used when you type up a post can be added anywhere in your theme or plugin (frontend or backend).

I stumbled across this function by accident when I was checking why the WYSIWYG editor was not working on one of my plugins on WordPress 3.3 . You also can allow users to  upload images if the user has necessary capabilities using the editor wp_editor adds.

Read all about it on the WordPress Codex . Hope someone will find it useful.

WordPress How To: Monthly,Yearly and Daily Archives for Custom Post Types

For a plugin I was creating I needed Yearly and Monthly archives with my own slug. Even after setting the rewrite rules it was not working. After much debugging and several hours later I finally figured it out. I’ll explain how you could do the same bellow.

Spoiler Alert: For the impatient, it was as simple as removing the old rules that are not setting the post type before adding the new rules 🙂

I’m going to assume that you have already familiar with Custom Post types. If you are not read and then come back. Most important are Step 5 and Step 6. Other steps are typical for any plugin or theme using custom post types.

Step 1: Register the post type
Read more about registering custom post types at
[code lang=’php’]register_post_type( ‘my_class’,
‘public’ => true,

‘has_archive’ => true,
Step 2: Add rewrite tags and permalink structure
[code lang=’php’]$event_structure = ‘/events/%year%/%monthnum%/%my_class%’;
$wp_rewrite->add_rewrite_tag(“%my_class%”, ‘(.+?)’, “my_class=”);
$wp_rewrite->add_permastruct(‘my_class’, $event_structure, false);[/code]
Step 3: Add post_type_link and rewrite_rules_array filters
[code lang=’php’]add_filter(‘rewrite_rules_array’, ‘my_class_add_rewrite_rules’);
add_filter(‘post_type_link’, ‘my_class_post_type_link’, 10, 3);[/code]
Step 4: Return a proper permalink
[code lang=’php’]function my_class_post_type_link($permalink, $post_id, $leavename) {
$post = get_post($post_id);

$rewritecode = array(

if ($post->post_type == ‘my_class’ && ” != $permalink) {

$ptype = get_post_type_object($post->post_type);

$start = time();
$end = time();

$meta = get_post_custom($post->ID);
// This is where I store when the class starts
if (isset($meta[“my_class_start”]) && isset($meta[“my_class_start”][0])) {
$start = strtotime($meta[“my_class_start”][0]);

$year = date(‘Y’, $start);
$month = date(‘m’, $end);

$rewritereplace = array(
($post->post_name == “”)?$post->id:$post->post_name,
$permalink = str_replace($rewritecode, $rewritereplace, $permalink);
} else {
// if they’re not using the fancy permalink option

return $permalink;
Step 5: Add rewrite rules
[code lang=’php’]function my_class_add_rewrite_rules($rules){
$new_rules = array();

// This is the important bit, unsetting the rules

$new_rules[‘classes/([0-9]{4})/?$’] = ‘index.php?year=$matches[1]&post_type=incsub_event’;
$new_rules[‘classes/([0-9]{4})/([0-9]{1,2})/?$’] = ‘index.php?year=$matches[1]&monthnum=$matches[2]&post_type=incsub_event’;
$new_rules[‘classes/([0-9]{4})/([0-9]{2})/(.+?)/?$’] = ‘index.php?year=$matches[1]&monthnum=$matches[2]&incsub_event=$matches[3]’;

return array_merge($new_rules, $rules);
Step 6: Don’t forget to flush
[code lang=’php’]add_action(‘option_rewrite_rules’, ‘my_class_check_rewrite_rules’);[/code]
[code lang=’php’]function my_class_check_rewrite_rules($value) {
global $wp_rewrite;

//prevent an infinite loop
if ( ! post_type_exists( ‘incsub_event’ ) )

if (!is_array($value))
$value = array();

$array_key = ‘events/([0-9]{4})/?$’;
if ( !array_key_exists($array_key, $value) ) {
$array_key = ‘events/([0-9]{4})/([0-9]{1,2})/?$’;
if ( !array_key_exists($array_key, $value) ) {
$array_key = ‘events/([0-9]{4})/([0-9]{1,2})/(.+?)/?$’;
if ( !array_key_exists($array_key, $value) ) {
That’s it. Most important steps are Step 5 and Step 6

Days of the Week

I know it’s little late, but I got tired of all the hate towards Rebecca Black because her single is about Friday. I took the liberty to come up with a list of music videos of every single day of the week. Have fun watching and listening to them. All the other artist deserve the hate Rebecca Black got 😀

Dialog Axiata APN update for Android mobiles

I was annoyed that I had to configure the APN every time I either installed a OS upgrade after a wipe or switched SIMs on my HTC Hero. I went and composed a complete list of APNs for Dialog Axiata. You just need to copy it to your Android based phone and boot into recover mode and flash the zip file. I hope to post in more detail soon, that’s it for now.


Blogging from the iPad

WordPress for iOS is not very handy to blog, specially if it has lot of text but it’s perfect on iPad. This post is made from the iPad and I’m loving it. May be I should start a separate blog for it 😕

Bottom line is WordPress for iOS is a win on the iPad. Since blogging became so much easier, expect more blog posts 😀

Unboxing ZTE MF-100

I won a ZTE MF-100 courtesy Dialog Axiata at their The Future, Today social media event held last week.See bellow for the unboxing and setting up photos. There is no how to for making it work with Linux or Snow Leopard because it works out of the box with no issues or caveats at all, enjoy 🙂

PS: Thank you Dialog, you can follow them on Twitter @dialoglk

Samsung ML-1640 on Linux

I got my self a shiny new laser printer because the old Lexmark X1110 was getting old and giving little too many paper jams. I went with Samsung ML-1640 mainly because of it’s initial lower price, lower running costs and good reviews online. I had also read that the printer comes with Linux driver, that was one of the first I have seen.

To much to my surprise as soon as I plugged the printer Ubuntu recognized the printer and installed it, with in few seconds without any clicks or key presses the printer was ready for printing. I never bothered testing on Windows 7 but I’m sure I would have had to install drivers (Samsung claims it takes only 4 clicks).

However I ran to some trouble sharing the printer with Snow Leopard as the driver selected by Ubuntu needed to be used as a raw printer queue and I could get around how to set it up on Snow Leopard. Instead I flipped around the setup, I shared the printer as a raw printer queue and used the built in driver on Snow Leopard for the printer. I had to do the same for my notebook as well. Everything was working perfectly, finally 🙂 . In the process I also figured out that Generic GDI driver works as long as the print job fits the printer memory (8 MB), if you send a larger job it will fail with nothing printed (but the printer receives the job).

For anyone wondering, on Linux the driver used is (automatically selected by Ubuntu) is Samsung ML-1640, SpliX V. 2.0.0 , which covers all capabilities of the printer (may be except for toner level).

I’m really happy with the printer, I think it was a very good purchase. I really like the idea the cartridge comes with a handle to push it into place. Then the fact that I can print the demo page by pressing and holding the reset/cancel button on the printer to get the toner level and other printer details. Only thing I miss is fully duplex printing, but with the lower cost I don’t mind working upto the printer to feed the paper when the printer is done printing one side of the pages.