• People I Met Before 2010

    In the last few days of 2009, I was on leave and planned my days around meeting people. I made a point to take photos with all the people I’ve met and write about them. At the end of 2010, I will look back at this post to see if anything changed, and if we did what we said we wanted to do.

    December 28, 2009

    Primary School Friend – Xin Yun

    I met up with Xin Yun. We’ve completely lost contact ever since Primary School days. Thanks to Facebook, we finally met around 12:30 PM at Sun Plaza after 15 years! We chatted over a burger and drink at Macs’ and recalled the silly things we did as kids – some of them I couldn’t even remember. This shows that females does have better long term memory. It was a 2 hour long chat. Before we parted, we had an agreement to meet up with the rest of the BBSS 6Q (1994) gang.

    Secondary School Junior – Tian Yao

    Later that day I went to NUS with Tian Yao to meet A/Prof. Ben Leong to discuss a personal P2P project I’m looking to build. We exchanged some interesting ideas and Prof. gave me some homework (!!!). Then we ate dinner at Marina Square and dropped by Yan Po’s house for coffee where the pics were taken.

    Poly Friend – Yan Po

    Tian Yao spoke about his job hunting process and I guess the last I heard was that he had joined NCS. Not that I would encourage him to, but the pay package seems decent. We’ll see how he’s feels about his job at the end of 2010.

    Yan Po’s still doing pretty well in the job I’ve recommended. It’s something new and hopefully he’s learning more from it each day than his days as a phone operator in StarHub. He should (hopefully) get a VMware certification by the end of 2010.

    December 29, 2009

    Old IRC Friend – Kelvin Koh

    This day started with an early lunch (11:30 AM) at Novena Square with Kelvin. We had lots of constructive discussions that I won’t publicly reveal, but a quick summary is to stop slacking and start doing something while we’re still young.

    I spent the afternoon finalizing the curtains for my house which should be delivered sometime early this month, then I met up with Francis and Vanessa at Megumi Japanese Restaurant along Sunset Way for dinner. It was a treat to thank me and Yan Po for helping at an event. The wife was with us as well, to join the fun and awesome food.

    Business Associate and Talk Cock Buddy – Francis Lo

    Francis has big ambitions for 2010 as well and he’s aimed for a brand new car. His ambitions will be kept private and I won’t tell what car he’s aiming for yet… we shall see at the end of this year.

    December 30, 2009

    Old KHCO Friend – Edelyn Lee

    It was a wet afternoon when I met Edelyn at around 2:00 PM. Actually, I can’t really recall how I met her except for hanging out during the 2004 SCO Mega Concert rehearsals. I drove over to Holland Village where we ate fantastic dim sum at Crystal Jade. Ede’s still pursuing her bachelors’ at NIE as a teacher and she’ll be attached to a school this year.

    Poly Friend & Financial Planner – Justin Loy

    I was 30 minutes late when I met up with Justin Loy for a swim at Queenstown. We barely went around the pool 4 times before we had to leave and meet up with Hanz at a coffee shop where they both had dinner. (I had to run for another event.)

    Poly Friend – Hanz Guo

    Justin Loy seems to be doing well as a Financial Planner at Prudential while Hanz’s having fun at Fujitsu serving the largest telco in Singapore. Both of them seem comfortable where they are and I wish them all the best in their careers this year!

    MDC Folks – Moses, Jia Jing, Yan Hao

    Of course nothing beats meeting a bunch of old friends from MDC. We met at 7:00 PM at TCC Clarke Quay and crapped over dinner. Most of them are still studying, with some graduating this year. Moses is on his way to further his studies, however.

    MDC Folks – Tian Yao and Andy Chia

    Of course, no MDC meeting is without the king of Pop Chinese Flute – Andy’s back in SG for good and he’ll be stirring up more jazzy dizi concerts.

    So that’s all for 2009. It will be an exciting year ahead. Stay healthy and happy!

  • Discussions to Avoid When The Husband is Sleepy

    We were both lying down in bed, getting ready to sleep… almost. Then The Wife turned around and said, “dear, if you go out and see a bag this big *shows width and height of a rectangle with hands*, buy it for me.”

    I sense the LV/Gucci request coming. Here’s the counter.

    “Huh? Why? I thought I just bought you a new one?”

    “That one is a little too big leh, I need a smaller one, you know, for me to go out casually.”

    “Huh? What do you want to put inside?”

    “Er, umbrella, wallet, handphone, maybe a water bottle.”

    Thinks to myself: That’s a lot of shit… I’d put those in a backpackers’

    “Har… what colour you like? I think storeroom got a lot… NTUC…”

    Then I felt a sharp pain and couldn’t remember what happened next.

  • Singaporean Style, Western Flavour – Bruschetta with Tomato

    I’ve had some request to post up my cooking experiments on my blog and so here’s my first. I’ve decided to call my experimental cooking series Singaporean Style, Western Flavour since I tend towards ingredients that are easily found in neighbourhood supermarkets. Looking for western ingredients can be quite a chore as these small supermarkets don’t carry such a wide variety. If the ingredients aren’t found easily, then I’ll use ingredients that you’ll find at larger supermarkets but can be kept for a long time (such as herbs and oils).

    I ate Bruschetta in a restruant at Tampines today afternoon and decided to go home and give it a try. Ideally, Bruschetta is served on Baguette but I used a loaf of white bread instead.

    Ingredients

    • 6-8 slices of thick white bread or baguette
    • 2-3 cloves of garlic, finely chopped
    • 1-2 cloves of garlic, chopped in half (for rubbing on bread)
    • 1 teaspoon of balsamic vinegar
    • 2-3 ripe tomatoes
    • Extra virgin olive oil
    • Basil, salt and black pepper
    • Smoked salmon (optional)
    Ingredients for Bruschetta

    Where to Get Them

    • If you want to use baguette, Delifrance sells pretty decent ones.
    • White bread, garlic and tomatoes can be had at any neighbourhood supermarket.
    • Olive oil, balsamic vinegar and smoked salmon can be bought at Cold Storage or larger NTUC outlets such as those in Jurong Point. Buy a good bottle of olive oil and balsamic vinegar and keep them – they can be kept for a long time.
    • I use dried Basil from MasterFoods. They come in small bottles that costs around $5 and can be found similarly at Cold Storage or larger NTUC outlets. You may use fresh basil but they can’t be kept for more than a few days.
    • If you absolutely must, then buy pre-ground black pepper from MasterFoods. I use a cheap Ikea pepper grinder and grind the peppers when I need.

    Preparing the Tomato Topping

    • Optional – put the tomatoes in boiling water for about one minute and remove them. Remove the skin
    • Cut the tomatoes in quarters and remove the stem, seeds and juice from the center.
    • Optional – lighly fry the chopped garlic in some olive oil, otherwise it may taste too raw.
    • Chop the tomatoes then put them in a bowl together with the chopped garlic, balsmic vinegar and 1 tablespoon of olive oil. If you have smoked salmon, add them as well. Sprinkle in some basil, then a little bit of salt and pepper to taste and mix. (I tend to use less salt and more pepper.)

    Mixing the Bruchetta's Tomato Topping

    Preparing the Bread

    • If you’re using baguette, slice them as you normally would diagonally about half an inch thick.
    • If you’re using a loaf of white bread, cut the slices in half to make them smaller.
    • If you’re using baguette, toast the bread, then rub the garlic on the slice and drizzle half a teaspoon of olive oil on each half-slice.
    • If you’re using white bread, it would be easier to chop the garlic and then fry them with some olive oil for about a minute on low heat, then place the bread on top.
    • Either serve the bread and tomatoes separately or immediately before serving otherwise the bread will turn soggy.
    Frying the Bread in Olive Oil

    Serving Size

    • Serves 2 to 3 not-very-hungry adults busy playing Wii.
    White Bread Bruschetta with Tomato
  • The Life of a Working House Husband

    Somehow I think I’m living life on the soft side, or as the Chinese says, 吃软饭. I’m officially in a holiday mood as I write this blog entry while my wife (who’s just right beside me) bashes away at a PCI DSS audit report… I think she doesn’t even notice me blogging.

    I’m finally taking a real break from work with a weeks’ leave between Christmas and New Year. Not that I’m the first around here, but hopefully not the last. I spent the last working hours of 2009 actually back in office unpacking, installing and repacking servers each fully jam-packed with twelve 3.5″ SAS disks. They’re really quite heavy – weighing up to 30 kilos each. SAS disks are considerably heavier than SATA ones. Somehow, weight does matter? Shrugs. So if you think I’m really having a good time at work everyday, now you know it’s not always the case.

    But before I let myself run wild for the last few days of 2009, I’ll write a little about work… I’ve been at this job for a little over a year. It’s been pretty nice working around here and I’ve surely learnt a great deal. My colleagues are fantastic – I’ve got a great PM and one thing that touched me was that the sales folks gave us Christmas presents every year! Or at least for the two Christmas I’ve been through. I got cookies from Vivien last year and Winnie gave us Royce chocs this time round… I ate about half the box before I brought the remainder home. Oops, sorry dear.

    I’ve also gotten really lucky to have won lucky draw prizes at all the company dinners – I got a Dell Inspiron the last year and a Sony PSP Go this year. The Dell has been put to good use, but the PSP is not really my kind of toy, so it’s going to my sister if she behaves, or maybe eBay.

    I’m packing my schedules up for the next week to catch up with some looooooooong lost friends, some of whom I’ve completely lost contact with since we left primary school. Thanks to the power of the Internet and social networking, I’m finally meeting them again after fifteen years! Unbelievable.

    And of course in my free time I shall religiously clean the house which has been neglected for the past two months. I also need to learn how to cook more variety of dishes. I’ve been preparing fish dishes so far.

    Well, that’s the life of a working house husband. At least for now.

  • Happy Holidays, Welcome 2010

    Welcome back…

    I know you have been faithful readers.

    See? You’re smiling. Stop denying it. You love my blog, don’t you?

    It has been a crazy month. I’m part of a small team of three and two of my colleagues went away – one to Turkey and another to reservist so he could help weed out terrorist. I was, of course, left all alone to take on some good amount of work that, well,  came all at the same time. Screw Murphy. Hate that guy.

    So it’s December and everybody’s in a holiday mood. I wish I was too, but it’s not quite easy with a fucking noisy neighbour living right upstairs. They make so much noise and vibration by dragging furniture, slamming their doors and let their kids run about into the wee hours that even my window grilles rattle at times. After approaching them three times and calling the cops once, I decided to approach them one last time which ended in a yelling session, with the typical remark from these inconsiderate bastards like “this is my house, I’ll do whatever I want” or “go buy a condo“. Things improved a bit after the yelling, but it still happens. When the night’s all quiet, these sudden bumps and squeaks really make you to jump.

    So it seems nothing really changed in 2009 other than my marital status and an empty bank from a property purchase and renovation. It’s time to work out something new in 2010. My public list of items goes like this:

    • Get back on track with some research/dev type projects. I’ll be meeting an NUS professor before 2009 ends, so I’ll post an update here.
    • Learn to cook now that I’ve got a kitchen to myself. I’ve also promised to post some of my successful attempts out of many other unsuccessful ones.
    • Get the wedding banquet done.
    • Build new sources of revenue. I’ll start small, but aim big.
    • Get back to flying R/C occasionally as a hobby. I’ve stopped flying for the entire of 2009 without even realizing it.

    And of course, before 2009 ends, here’s a short to do list.

    • Pack up the study room. It’s in an absolute mess now.
    • Get another two sets of Wii Remote + Nunchuck since the two I ordered from HK over a month ago didn’t arrive at all.
    • Get my old Cello bows rehaired. Already sent and will only be done in January 2010.
  • Hardening Linux and Apache Servers for DDoS

    In my earlier entry I discussed an interesting topic on firewalls and why we don’t need them. I put a small LAMP server to the test and got my results.

    Attack Information:

    • Type: TCP SYN flood
    • Max performance: 26Kpps (8Mbps)
    • Source IP Spoofing: Yes

    Victim A Specifications:

    • VMware Guest on a Single Core Opteron 1.8GHz Sun X2100
    • CentOS 4.x + Apache 2.x
    • 768MB RAM
    • Tuned (see below)

    Here’s what I’ve added to tune the Linux TCP stack in /etc/sysctl.conf:


    net.ipv4.tcp_abort_on_overflow = 1
    net.ipv4.tcp_fin_timeout = 15
    net.ipv4.tcp_low_latency = 1
    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_max_syn_backlog = 2048
    net.ipv4.tcp_synack_retries = 3
    net.ipv4.tcp_sack = 0
    net.ipv4.ip_conntrack_max = 65535
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 87380 16777216
    net.ipv4.tcp_wmem = 4096 65536 16777216
    net.ipv4.ip_local_port_range = 1024 65000
    net.ipv4.tcp_keepalive_intvl = 15
    net.ipv4.tcp_keepalive_probes = 4
    net.ipv4.tcp_keepalive_time = 1800

    Here’s what I’ve added to the top of my iptables configuration in /etc/sysconfig/iptables as well:


    -N SYN
    -A SYN -m limit --limit 20/s --limit-burst 50 -j RETURN
    -A SYN -j DROP
    -A INPUT -p tcp --syn -j SYN

    * Note: During my testing, I added a log entry before dropping the packet as this floods the logs and kills the CPU and I/O so I highly discourage doing so.

    I repeated the same test on another VM running in a much more powerful Dell 2850 and with no modifications to the kernel or iptables.

    Victim B Specifications:

    • VMware Guest on a 2 x Dual Core Xeon 3.2GHz Dell 2850
    • CentOS 5.x + Apache 2.x
    • 256MB RAM
    • No Tuning

    Results:

    • Victim A held up to 16Kpps SYN flood (approx 5Mbps) but slowed down a little
    • Victim A held up to respond at 26Kpps SYN flood (approx 8Mbps) but was extremely slow
    • Victim B held up to 26Kpps SYN flood (approx 8Mbps) and did not slow down at all

    At this point in time, I couldn’t generate any more SYN packets as I lacked the hardware to do so, but it has given some conclusive results that a reasonably powerful LAMP hardware could take on modest DDoS attacks if configured correctly. I would expect a bare metal hardware with decent CPU performance to hold up much much more than what I’ve tested.

    Time to ditch that firewall!