I really liked WordPress but my professional allegiance to RubyOnRails compels me to move to a “Mephisto”:http://www.mephistoblog.com based blog site. So, go on to “www.shooperman.com”:http://www.shooperman.com for more of my rants and raves!

Haven’t been blogging here for a while. Well, I’m in Portland, Oregon awaiting to walk into the tutorials. Will come back here with more updates 🙂

Woot! 50 Laps!

This is going to be a childish and silly post.

Last evening at 8pm, I decided to go for my swim again. Though it didn’t rain, the temperature for the entire day has hovered around 27˚c, which means the pool would be a little chilly. I thought I would just do 20 laps, and then another 20 on Saturday.

So, in I go and burrr-urrr, and I started off quickly to work up some heat in my body. In the past, I’ve been counting the 5th, 15th and 25th laps (counting takes my mind off the monotony of swim) but tonight, I’ve decided to do odd numbers.

There were some people barbequeing, throwing a fragrant, oily aroma at the far end of the pool. To get myself even more distracted, I started to think about what they’re grilling. Hmmm, definitely chicken wings, lap-5 and satay, lap-7, some otah perhaps, lap-11.

I use the Heads-up Breaststroke style for all my swims. Heads-up means I never submerge my head into the water. It’s a thing with my eyes and chlorinated water. I would like to swim everyday if I can so red, irritated eyes will definitely get into the way.

At lap 15, I noticed a girl walking around the pool looking for someone. She found him and they sat facing each other on the deck chairs, about 2m from the poolside. Lap 17 … it’s evident now the couple wasn’t on a date. It could be a fight, or even a breakup chat. Lap 19 … although I cannot hear what they’re saying, the chinese conversation started to get louder. Lap 21, “It’s you! It’s you!” Lap 23, “It’s your fault, it’s always your fault.” Well, guess who’s doing all the talking and who’s sitting there with a blank, doe-eyed look.

I know, I know, why am I such a busybody. Well, by that time, it’s not a matter of getting away from them so they can get some privacy since they are already so loud I can hear them anywhere. Lap 25, the girl takes a couple of swings at his arm. I was saying to myself, how about I swim until they’re done. Lap 27.

At this time, a little girl, her aunts (or older cousins) and a couple of teenage boys jumped into the pool. Hmmm, it’s probably 8.45pm now. Cool. The ruckus they were making forced my closer to the couple. Lap 29, the girl started crying, and the boy is still quiet. In fact, I’ve not heard a word out of him everytime I swim pass them.

One of the teenage boys started swimming lapwise. Great! A pacer. You see, I like to have company in the pool. At lap 31, without any reference, you could be going as fast as a water-strider and not notice it at all. I started following the boy. Lap 33, after 2 laps, he takes a break. Lap 34, he takes a break. Lap 35, he stops halfway at lap 35 and started playing with his group again. Back to the couple I guess.

The girl stopped crying and as I was swimming away from them at 37, I heard her stomping off. Cool. 38 laps today. I made the turn at the end of the 37th lap and … guess what … she’s back! Grrrr… I sprinted half of the 37th. Now, I’m panting.

Another guy dropped in at lap 41. Yeah! He looks promising the way he dived into the pool, tournament-style. He was going pretty fast, overtaking my leisurely pace without much effort. Lap 42, he was ahead and reached the end while I still has about 1/3 left. He started adjusting his goggles … that’s why I like swimming heads-up – no leaky goggles to interrupt the swim. And he’s taking his time to adjust them … haha … looks like he’s waiting for me to catch up. Over lap 43, the group left the pool and the lone swimmer zipped passed me once again and made it to the other end. This time though, the distance was less than 1/3. And he’s adjusting his goggles again. Once I touched, he goes off again, beating me once more on the 44th. I’m thinking, this guy probably didn’t know I did 40 laps before him, haha. On the start of the 45th, I sprinted and we ended it together. On the turn, I was off but the pool is silent once again. He stopped! Dang! And the couple is still talking, oh, well, the girl is still talking.

Lap 47, I suddenly realised. What if the couple decided to have the chat until I finish my swim! I usually stop at 30 laps, and, talking is alot less tedious than swimming. On the other hand, the kind of talk they’re having, it’s probably a lot ‘tougher’ than my laps. And then, I started thinking about my own experiences with such talks. They’ll last all night if they have to.

So, I decided, 50 laps it shall be. A nice big round number. 50.

48 … 48 … 50! Done! Thereafter, I stayed in the water for about 2 minutes, climbed up, put on my clothes and walked off … leaving the entire pool to the couple to work their differences out for the night.

X’mas eve started early for me. 9am to be exact. This is going to be the first time I host a proper dinner party. No more Pizza Huts and KFC delivery services, no more canned soups and frozen meals, food, eh? real food. So, tonight’s guests will kinda be, uh hum, guinea pigs I guess 😉 We prepared a lot of booze too, wanting to do one of those drinking-smoking kind of dinner.


Turns out the new Ikea acquisitions worked pretty well. The 2-piece extendable table sits 10 snugly. The Frenchy blue-floral dining set decked out nicely, complete with cutlery, wine and water glasses.

From 10am onwards till about 6.45pm when the first guests arrives, I was largely working non-stop in the kitchen. The cooking wasn’t so bad as I started a couple of hours earlier. Plus there was help from Yep Nee and a family maid who cleaned the house. There was a couple of hiccups though, but I’ll leave that for another entry.


Around 7.45pm, everyone arrived and we quickly rolled out the first dish. It’s a french onion soup. There were really two groups of friends and they were slow to warm up, I think the wine and Tsingtao will have an important part to play later in the evening.

Well, here’s what we’ve whipped up for the night:
Poulet au Vinaigre (Vineger Chicken)

Tartiflette (Cheesy Baked Potatoes)

Roasted Tomatoes

Grilled Rosemary Lamb

As the night rolled, people started to propose toasts all round. The more tipsy we got, the more toasts we proposed. Then we brought out even more wine, told more jokes (JT had some great ones) and played games so we can drink even more. It’s a pity I didn’t have my cigars at home, so Jeff’s cigs were a good substitute. I think I was the first to knock out, and went to lie at the sofa. When I woke up, everyone was already halfway through the apple pie.


The dinner finished at about 12 midnight. Some of us started exchanging X’mas presents. I got a box of cookies and a chinese tea set. Most of us were drunk. A couple of girls threw up. I didn’t see some of them go, having fell asleep before they left.

Post mortem? It was a great party. I’ve never had so much fun for a quite a while now. I thought the no-kids-more-booze rule worked quite well too. I should get started composing my next party menu soon 😉

X’mas came early for the kids this year because mom has booked them for a holiday trip in Korea leaving tomorrow. It’s a potluck and Shu Yee coordinated the dishes amongst us, with Shu Min getting away with just a log cake. On my list: fried beehoon, meatballs, sausages, mashed potatoes and cheese toasts, mainly catering to the kids. Yee has a maid so she does the poh piah. Mom did her ngoh hiong and sweet dumpling soup (湯圓) for the winter solstice.

I was over-confident and only started cooking at 9.30am (party’s at noon) after a morning swim. Boy, I didn’t recall cooking was so, erm, challenging. It was already 10.30 when the first wok of bee hoon was done.


This is one of the first dishes I learnt how to cook from mom. This time round though, I used chicken stock instead of boiled water, making the bee hoon a lot more fragrant than the norm. This is the carbo dish for the adults.

As I knew I was going to be late, I stopped taking pictures along the way. And it was a real mad rush to bake the meatballs (30 min), grill the sausages, toast the bread, mash like 14 potatoes and make the gravy. The results? Ta-da…


At 12:40, we finally got to head out for mom’s place. I kept thinking why I blew my timing. Not that I’m anal about it, but I have a more challenging meal to prepare this Sunday. And, today’s dishes was simple. Yep Nee reassured me it’s the bee hoon. But hey, coming from someone who doesn’t cook much, it wasn’t very reassuring. Think I’ll buffer another 90 minutes into my original cooking plan for Sunday.


Mom’s big dining table was put into good use today. Yes, we overcooked again and there was more than enough food for 11 adults and 9 kids. Good thing Yee had another party in the evening, she took my 2nd tray of beehoon to that.


Turns out, what Gerald (furthest top left) and Madeleine (bottom right) told me about their favourite dishes are the kinds of answers they put in their homework – simple and totally convenient. Yep, they didn’t really liked meatballs and the creamy mashed potatoes. What to do, Chinese kids. The beehoon was popular though.

After the meal, I jumped in and played some games with them. There were 2 P3s, 4 P1s, 2 K2s and 1 nursery girl. I taught them how to play charades, this was a game none of them knew. Then we played Find The Killer (the blinking one) but I realised they cannot really hack it. It was quite fun but only lasted 45 minutes because the pull from the presents under the Xmas tree was just too strong.


Min’s mother-in-law, who’s a seamstress for school plays happened to have spare material to make a traditional Korean outfit for Madeleine. She looks ready to jump into one of those Korean sob-dramas, doesn’t she? We all agreed it was her single-eyelids that did the trick 🙂

First salvo was the office’s party just this evening. I halted all work at 4pm, being this year’s Secret Santa organiser … we originally wanted each colleague only buy a present for another anonymous co-worker. Each person gets assigned a Looney Tunes character (Bugs Bunny, Sylvester, etc) and writes out a choices of 3 gifts.  Here’s what the tree looked like at 4pm…


No, we didn’t have 50 people in the company, only 14 of us. But some of us, including myself, felt like giving to everyone else. Here’s Boon Tat, our tech chief happily grinning with his brand new cordless laser mouse (geek!)


And here’s YN, my sales manager and girlfriend, posing happily with her new Swatch.


And here’s Elaine and Viv waving their what-you-call-it lotion/moisturizer/base dunno-what… They’re happy 🙂


And finally, there’s the round of pizzas, ham, ribs, wings, soda and fruits to make sure everyone gets home full and satisfied. Dinner was very different from the past, this year, folks were more chatty (I got some of them a little drunk on wine), we made the Christians say grace, played some games, and voted the King and Queen of Bashful-ville too.


I decided to try out the creamy mashed potatoes today. Thinking that I cannot just eat plain mashed potatoes, I picked up on the vinegar chicken from the same cookbook which was highly recommended to match it.

Ingredients (Chicken. 6-8 portions)

  • Chicken thighs – 12 pieces bone in
  • Unsalted butter – 4 tablespoons
  • Olive oil – 2 tablespoons
  • Shallots – 6, minced
  • Galic – 6 cloves, minced
  • Apple cider vinegar – 1/2 cup
  • Dry white wine – 1-1/2 cup
  • Tomato paste – 1 tablespoon
  • Chicken stock – 1-1/2 chicken stock
  • Italian parsley – 1/2 cup, chopped


Season the chicken with salt and pepper.


Melt 3 tbsp of butter and 1 tbsp of olive oil over medium-high heat. Brown the chicken for about 8 minutes total, turning so both sides are nicely browned. Transfer the chicken to a ovenproof casserole.

Preheat the oven to 375˚F (190˚C)


Pour off the remaining oil from the pan and add the remaining 1 tbsp of butter and 1 tbsp of olive oil over medium heat. Add shallots for a while, and then garlic. Cook for about a minute. It looks darkish brown in the picture because I was doing god-knows-what, turn around and end up with this 😦

Add vinegar and wine and cook for about 8 minutes.

Add tomato paste, let it simmer and condense, for about 5 minutes.

Finally, add the chicken stock, a little at a time, keep stirring it to mix well.

Pour the sauce over the chicken. Bake for 35-40 minutes, turning the chicken midway through.


Since this is the first time I tried this recipe, I bought everything as per the book. Well, I didn’t know 4 bunches of Italian parsley costs $1.95. So you might want to substitute it with a local parsley.

Last thing to do is to sprinkle the parsley over the dish and serve.

Ingredients (mashed potatoes, 6 portions)

  • Russet potatoes – 6 medium-size, peeled and quartered
  • Unsalted butter – 3-4 tablespoons
  • Whole milk – 1 cup

The whole idea of this mashed potatoes is to make it very, very creamy.

Place potatoes in a pot and cover with salted cold water. Bring to a boil, reduce heat to medium-high and cook for 15-20 minutes more. Check that potatoes are tender when pierced with a fork.

Warm butter and milk over medium-low heat.


Add the warm butter-and-milk mixture as you mash the potatoes until you get a creamy consistency. Finally, whip the potatoes with a fork and season with white pepper and salt.



Hmm, I’m generally not too pleased with what I’ve done today. I was in a rush. Started cooking at 9.30pm after a swim and was kind of racing against the assault of hunger. So, what you see here is the result of over-browned shallots, not-nearly-enough chicken stock (I think I used half of what I should) and a oversized casserole dish which I think contributed to the sauce evaporating too fast.

Taste-wise, yummy. I liked the sting of the vinegar and the aftertaste of the tomato paste. The chicken was ultra-tender and juicy (think I’ll bake chicken from now on). The potatoes were creamy as promised but suffered the lack of gravy.

Ah well… if at first you don’t succeed, try, try again.

I’ve been planning for a X’mas party for a week now. The menu has been settled. And this time, I wanted to do it differently: no canned anything, no ordering, just plain and simple cooking from the freshest ingredients I can get my hands on.

So, in preparation for the party, I’d be trying out the recipes and sharing them with you here. First off is French Onion Soup. It’s taken from Simple Soirees by Peggy Knickerbocker (see below) and since she introduced it as “the onion soup of onion soups,” I thought I’ll give it a try.



I went to Great World City’s Cold Storage to get all the ingredients needed – partly because of the caucasian crowd there and partly because Harris Books is now running a 20% sale. Ignoring the mess in the background, clockwise from the left:

  • Garlic – 2 cloves
  • Yellow onion – 1.4kg
  • Dry white wine (Ball Island has a $18.50 bottle) – 3 cups
  • Extra-virgin olive oil (La Bella, the most affordable Italian brand) – 2 tablespoons
  • Bagguette (from Sweet Secrets, one of the crispiest around) – 6x 1-inch slices
  • Unsalted butter – 2 tablespoons
  • Swiss cheese (Sargento Thick Slices, couldn’t find grated Swiss cheese anywhere) – 340g
  • Dijon mustard – 1 tablespoon
  • Bay Leaves – 2
  • Chicken broth (Knorr has the right amounts I want in two small cartons) – 6 cups
  • All-purpose flour (not in picture) – 2 tablespoons

The above portions serves 4-6, adjust proportionately to the servings you want to prepare. My advice to you is to calculate and write out the exact portions separately for use in the kitchen. I tried to do the math in my head while in the kitchen and made quite a number of mistakes.



Melt the butter in the olive oil. Add onions and cook for about 10 minutes over medium heat. Add garlic and cook for another 10 minutes or until the onions are lightly browned. Season with pepper.

Next, add the flour and mix it evenly for about a minute. Add mustard.


Add the wine and bay leaves (see picture above) and cook for 5 minutes. Add the stock a little at a time and simmer very slowly for at least 30 minutes.


While the soup is simmering, you can prepare the toasts. Simply cut 1-inch thick slices, spread a little butter and top with the grated Swiss cheese. Preheat your mini-toaster for about 3 minutes, then toast for about 6 minutes.


For serving, add a tablespoon of Swiss cheese for extra richness and then float the cheese toast on top. By the way, I made 6 cheese toasts because the soup is my dinner 😉


It’s kind of odd giving myself marks for this. But I’ll tell you: this is really good French onion soup. So good I’m tempted to go to a French restaurant tomorrow to try for comparison.

Kudos aside… I made a few mistakes here and there, like using a 6-serving portion of the butter, olive oil and flour for my 2-serving preparation. It’s not a bad mistake on hindsight, the additional flour resulted in a thicker soup base which I preferred.


It’s 26 Dec 2006 and I’ve tried making this soup 3 times now. Here’s some adaptations I’ve discovered:

  • We don’t have really ‘yellow’ onions here in Singapore, so, you might want to lengthen the onion cooking time from 20 to 30 minutes. In the last 5 minutes, make sure you stir it regularly to prevent it from getting burnt.
  • If you prefer a thicker soup base, try doubling the amount of all-purpose flour to 4 tablespoons.
  • If you prefer a tangy-er taste, double the mustard.

In my own trials, I find people liked the soup most when I adapted all the 3 changes above.

Lately, I’ve been fascinated by movies made by multi-talented, multi-tasking, creative and passionate people. The first one I came across is Zach Braff, Miranda is the second. Simply put, “Me And You And Everyone We Know” is about people, and how they connect. It’s very well made because every single character has been given time to develop in the movie. Everyone of them seem to have something deep and insightful about them by the end of the movie, even six-year-old Robby.

the old mph

Those of you over 30 years old should know about the old MPH bookstore at Stamford House. What you didn’t know is that some 27 years back, it brought in one of the first demos of the original Apple computer and put it on display.

How do I know? Well, the bunch of us from now-defunct Henderson Primary School would spend our days after school, crowding around the demo. There’s Peter, Ng Hai, JT and me. What do we do? Well, I recalled we learnt to program in Basic on hand. Peter and Hai are especially gifted in this sort of things. They would hog the demo and try out their programs. I couldn’t recall what they did though, perhaps they never made it through debugging, ha!

Subsequently, some of us got our Apple Is or ][s. We started sharing stuff like games over cassette tapes and the collectible Beagle Bros. zines. Those days were way way cooler than the fragging non-thinking zombies that we’re turning our kids into.

Next Page »