We Deliver. Whatever.
Monday, July 30th, 2007This is one very funny commercial for DHL Korea. DHL really lives up to their tagline.
This is one very funny commercial for DHL Korea. DHL really lives up to their tagline.
This song is so hilarious! Ok, most people may not be able to understand the lyrics, unless they know what a Mandelbrot set is. A certain appreciation of maths/chaos theory may also be needed to appreciate the lyrics, but otherwise just listen to the song and marvel at the beauty of the Mandelbrot set in the video below.
Pathological monsters! cried the terrified mathematician
Every one of them is a splinter in my eye
I hate the Peano Space and the Koch Curve
I fear the Cantor Ternary Set
And the Sierpinski Gasket makes me want to cry
And a million miles away a butterfly flapped its wings
On a cold November day a man named Benoit Mandelbrot was bornHis disdain for pure mathematics and his unique geometrical insights
Left him well equipped to face those demons down
He saw that infinite complexity could be described by simple rules
He used his giant brain to turn the game around
And he looked below the storm and saw a vision in his head
A bulbous pointy form
He picked his pencil up and he wrote his secret downTake a point called Z in the complex plane
Let Z1 be Z squared plus C
And Z2 is Z1 squared plus C
And Z3 is Z2 squared plus C and so on
If the series of Z’s should always stay
Close to Z and never trend away
That point is in the Mandelbrot SetMandelbrot Set you’re a Rorschach Test on fire
You’re a day-glo pterodactyl
You’re a heart-shaped box of springs and wire
You’re one badass fucking fractal
And you’re just in time to save the day
Sweeping all our fears away
You can change the world in a tiny wayMandelbrot’s in heaven, at least he will be when he’s dead
Right now he’s still alive and teaching math at Yale
He gave us order out of chaos, he gave us hope where there was none
And his geometry succeeds where others fail
If you ever lose your way, a butterfly will flap its wings
From a million miles away, a little miracle will come to take you homeJust take a point called Z in the complex plane
Let Z1 be Z squared plus C
And Z2 is Z1 squared plus C
And Z3 is Z2 squared plus C and so on
If the series of Zs should always stay
Close to Z and never trend away
That point is in the Mandelbrot Set
Mandelbrot Set you’re a Rorschach Test on fire
You’re a day-glo pterodactyl
You’re a heart-shaped box of springs and wire
You’re one badass fucking fractal
And you’re just in time to save the day
Sweeping all our fears away
You can change the world in a tiny way
And you’re just in time to save the day
Sweeping all our fears away
You can change the world in a tiny way
Go on change the world in a tiny way
Come on change the world in a tiny way
PS: I was down with severe diarrhoea since last night. The doctor said it was possibly food poisoning, which I thought so too since I had a horrible dinner yesterday. I’m currently recovering, but it means that I won’t be able to attend the Ping.sg gathering tomorrow.
Wow, today (which refers to 21 July) must be one of the most exciting days in the past week. It was the first time that I smuggled drugs into Singapore visited Malaysia, albeit only to Johor Bahru.
BTW, I completely blame Grand Theft Auto: Vice City for my absence in the blogosphere. Yeah, it’s an old game, but I couldn’t finish the game the other time as my laptop kept on crashing at one point in one of the missions.
After my internship ended, I suddenly found a lot of time to finish the game (Oops, actually I still owe the company the documentation of my code. Should not procrastinate any further…). Moreover, using the desktop the crashing doesn’t occur anymore. I’m currently at 62% completion. Those who have played the game would know how hard it is to achieve 100%, with all the hidden items and missions that you have to discover.
Anyway, I digress. The trip was supposed to be a class outing, but unfortunately only 6 could make it in the end: Terence, The Hung, Tai Tat (the tour guide), Grace, Berdine, and yours truly. But on the other hand, it was also good because then we could pack ourselves in Tai Tat’s car, although the four of us sitting at the back had to cram ourselves into such a small space.
And it was great too because I personally prefer a smaller group of people to go out with (I’m somewhat intimidated by large groups).
I won’t be able to imagine what happened if more of us turned up–maybe some of us would have to sit in the boot or the roof.
The plan was that all of us (except Tai Tat) were to meet at King Albert Park, and then head over somewhere nearby for lunch. Then we would take 170 to the checkpoint, and skip immigration and swim across the strait and meet Tai Tat directly in Malaysia.
In the end, I was terribly late and had to catch a cab down to KAP. We headed down to the Bukit Timah market for lunch, where I had fried oyster, much to the amusement of the others since we were planning to eat seafood at JB later on.
After lunch, we took 170 down to Woodlands Checkpoint. It was a spanking clean building, complete with semi-automated barriers to control the human flow. After clearing immigration, we took a short bus ride across the causeway to Malaysia.
Stepping into Malaysia is like stepping into another world altogether, right down from the moment I alighted from the bus at Malaysia’s side of the causeway. Barely five minutes after being in a clean environment, I was walking through a hot, filthy immigration building. The moment I walked out of it, the sight of teksis touting for business, broken sidewalks, Malay-language advertisements, and potholed roads greeted me.
And suddenly a fleeting thought filled my mind: Welcome to Singapore! Just like at home. At least that’s how it’s like in Jakarta anyway.
We headed down to a nearby shopping mall to wait for Tai Tat. While walking around, I realised one unique thing about stores in Malaysian shopping malls: all of them has a text saying which company the store belongs to/is being managed by, along with the company number, near the shop name. So for example a shop called “ABC” may have a text saying “Diurusi oleh: DEF Sdn Bhd (12345-A)” (literally means “Managed by: DEF Sdn Bhd (12345-A)”) next to the shop name.
We walked around a bit, and girls being girls, they had to shop for shoes/cosmetics/shirt. I saw a Mentos chewing gum in Watson’s, but I didn’t buy it as I didn’t have any Ringgit with me. In fact, throughout the journey I didn’t touch any Ringgit at all.
The reason was simple: Tai Tat thought that we had exchanged our money, while we thought that he would bring us to the money changer first. Luckily Terence and the girls had some Ringgit with them, so they paid for the food, and I returned the cash to them in Singapore Dollars.
Tai Tat arrived with his Proton Wira, which contrary to popular belief, is not that bad for a car.
He brought us to Danga Bay, a beachy recreational area in JB which is under development at the moment. We had our seafood dinner at a floating restaurant called Restoran Asli, near Taman Perling. It was previously managed by the orang asli, but recently it is being managed by Chinese people. After the dinner, we had our dessert at a mamak stall called Treetops (if I’m not mistaken).
Do head over to my moblog for the photos and the details of the trip:
One funny incident happened to me while at the mamak stall. I wanted to get some spoons and order coconuts for the group. Unfortunately, I wasn’t confident enough of conversing in Malay, even though my first language is Indonesian. So what was supposed to go like this between me and the waiter:
Saya mahu tiga sudu I want three spoons
Tiga ya? Three right?
(gives spoons and forks for eating food)
Maksud saya sudu untuk air batu campur I mean spoons for mixed stone water ice kachang
Oh ok Oh ok
Terima kasih. Ada kepala kelapa tak? Thank you. Do you have heads coconuts?
Ada We have
Saya mahu tiga kelapa I want three coconuts
Awak duduk mana? Where do you sit?
Di situ There
(points to group)
instead went like this…
Uh… sudu Uh… spoon
Dua? Two?
Tiga Three
Tiga ya? Three right?
(gives spoons and forks for eating food)
I mean sudu for uh… the uh… ais campur batu I mean spoons for uh… the uh… ice mixed with stones (!!!)
Hah? Huh?
Uh, the sudu only Uh, the spoon only
Awak duduk mana? Where do you sit?
Di situ There
(points to group)
Tunjuk untuk saya Point for me (not sure if this is correct Malay)
(walks towards where I pointed)
Di situ There
(points to group again)
Ok, tiga air batu campur ya? Ok, so three ice kachang, right?
Bukan, tiga kelapa No, three coconuts
Ok, tiga kelapa Ok, three coconuts
(thinks to self: what on earth just happened?)
Whatever I said must have come out as gibberish to the girl, especially when I inadvertently mixed English and Malay all over the place!
Luckily noone in the group knew what happened, otherwise I might have to bury my head in sand.
After dessert, we headed for the causeway for our trip home. All in all, it was a fun trip. I think what made the trip really great was the company: it isn’t everyday that a few of us can go out together, let alone to another country altogether.
Oh yes, and guess how much each of us paid for the seafood?
SGD 12.
PS: Happy birthday to my sis!
PPS: Reminder to self: do a reflection entry on the internship.
A lot has been said about Ping.sg 1st anniversary party, so I won’t be doing a review of it (just go to Ping.sg and search the archives for it, or click on the link earlier in this sentence).
Although not that bad for a first-time event done by amateur event-organizers, I realized one major thing that was missing from the party: interaction between so-called “regulars” and those who just came for Ping.sg gatherings for the first time. This, I feel, is quite important in welcoming the newcomers in the family.
They don’t have to be so formal, if that’s what you’re thinking. Some sort of ice-breaker could be organized in order to involve the newcomers, perhaps something like games that can involve everyone. And there should be less of in-jokes or references that only the regulars understand.
I admit that although I am kept in the loop in the mailing list, I didn’t contribute much. However like everyone said, we all learn, isn’t it? ![]()
Many people will say TGIF (Thank God It’s Friday) but for me, today is OCIF (Oh Crap It’s Friday).
You see, next week will be my last week in this company, and suddenly I feel that I really have a lot of things unfinished.
The main thing right now is that the tool that I have been developing is undergoing testing, and I didn’t know that the testers will take such a long time to return the results, as they are tied up with a lot of job themselves. I am worried that when they actually have some results, I wouldn’t be here anymore.
The second thing is that I have just realised that the third-party component that I have been using have been updated. In short, things that previously had to involve quite a few steps (hint: using unmanaged code in a managed environment) is now available as a simple method call in the managed environment. I feel so tempted to rewrite my entire code to suit this updated component.
Lastly, this is the first time that I really do a full-fledged development work, so I’m really not confident that whatever I’ve coded can be easily integrated in any of the future tools within the company. Yes, the code works, but I didn’t think too much of code maintenance. The least I can do now is to document my code nicely, but with the above two points, now I’m worried that I don’t even have time to finish it.
OK, I better go back to work instead of blogging. Wish me luck…
The song Code Monkey by Jonathan Coulton (Wikipedia) is currently running over and over again in my head. The song itself is released under the Creative Commons License, which is pretty unusual. It’s very creative song which tells the story of a typical code monkey, with a slight dash of romance.
I found a very brilliant music video created by one of the fans, done using the game World of Warcraft. Check it out!
Code Monkey get up get coffee
Code Monkey go to job
Code Monkey have boring meeting
With boring manager Rob
Rob say Code Monkey very dilligent
But his output stink
His code not “functional” or “elegant”
What do Code Monkey think?
Code Monkey think maybe manager want to write god damned login page himself
Code Monkey not say it out loud
Code Monkey not crazy, just proudCode Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like youCode Monkey hang around at front desk
Tell you sweater look nice
Code Monkey offer buy you soda
Bring you cup, bring you ice
You say no thank you for the soda cause
Soda make you fat
Anyway you busy with the telephone
No time for chat
Code Monkey have long walk back to cubicle he sit down pretend to work
Code Monkey not thinking so straight
Code Monkey not feeling so greatCode Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Code Monkey like you a lotCode Monkey have every reason
To get out this place
Code Monkey just keep on working
See your soft pretty face
Much rather wake up, eat a coffee cake
Take bath, take nap
This job “fulfilling in creative way”
Such a load of crap
Code Monkey think someday he have everything even pretty girl like you
Code Monkey just waiting for now
Code Monkey say someday, somehowCode Monkey like Fritos
Code Monkey like Tab and Mountain Dew
Code Monkey very simple man
With big warm fuzzy secret heart:
Code Monkey like you
Also check out other Jonathan Coulton’s songs, many of which are released on his website for free.
PS: This is the first of the Addictive Songs series, in which I’ll post songs which I get addicted to. Addictive usually means that I can practically run the song over and over again throughout the day without getting bored.
This part is a continuation from where I left off…
So right now we know how MSN Messenger talks to the MSN server, and that every contact in your MSN Messenger contact list has four attributes attached to them, namely:
We also know that these attributes are sent as the contact list in your computer is being synchronised with the one in the MSN server, as part of the standard MSN protocol. We also know that these attributes can be checked manually by looking at various locations in MSN Messenger.
If you don’t understand any of these, I suggest that you take a look at How Blockoo Works (Part 1) - How MSN Talks and Contact Lists.
To continue with the analysis, we need to perform some observations when using Blockoo.
.
Observation 1: You’ll get disconnected
If you have ever tried connecting to MSN on two different computers, you’ll notice that as you connect on the second computer, you’ll get disconnected on the first computer.
The exact same thing happens the moment you give your login details and click “Get List” on Blockoo. This is a very big clue that Blockoo has connected to MSN network using your account. In order to connect to the MSN network, they have to make use of the standard MSN protocol.
.
Observation 2: Your own BL is not stored
It is easy to assume that Blockoo stores all the contacts in your block list (BL), and then use it in reverse when someone you block uses Blockoo.
To illustrate the previous sentence, let’s take a look at this example: A blocks B, thus B is in A’s BL. A uses Blockoo, and Blockoo stores the information that B is in A’s BL. The next time B uses Blockoo, Blockoo reports that A has blocked B.
However, this is clearly not the case. In my Gorilla vs. Yahoo analysis, it was evident that Blockoo managed to detect that Yahoo has blocked Gorilla, despite the fact that Yahoo has never used Blockoo before.
It is clear that whatever method used by Blockoo, it only involves the contact list of the person using Blockoo at that moment.
In other words, whatever result that Blockoo churns out, it has to be obtained from the four attributes that I mentioned earlier.
.
Observation 3: The source says it all
At this stage, I discovered that Blockoo’s author has released part of their source code.
The source code snippet suggests that the four attributes are indeed being used, however it stops short at that. There is no further information on how the four attributes are being used.
.
Analysis
With these observations, we can proceed with the analysis.
Out of the four attributes involved (RL, BL, AL, and FL), two of them (BL and AL) are clearly not relevant, because you want to know who blocks you and not who you are blocking. Therefore, we are left only with two attributes to consider: RL (Reverse List), and FL (Forward List).
In the Gorilla vs. Yahoo analysis, I had already mentioned that the contact must not have you on his/her contact list to be detected as “blocking/having deleted” you. Therefore, we can conclude that the first condition is the RL attribute must be 0, i.e. the person doesn’t have you on his/her contact list.
On the other hand, the person must be in your contact list. This is presumably because if you have deleted the contact, chances are you won’t bother whether he/she is blocking/has deleted you. Therefore, the second condition is the FL attribute must be 1, i.e. you have the contact in your own contact list.
Armed with these information, it is quite straightforward to construct a program to verify that the assumptions are correct.
Using Microsoft Visual C#, I created a quick program to check if any of your contacts doesn’t have you in his/her contact list, using the assumptions that I have mentioned so far. The result is then compared with Blockoo. As expected, and as far as I have tested, the results are exactly the same as what Blockoo churns out.
If you’re interested, you can download the program (6 KB), and the source code (15 KB). Please refer to the disclaimer below before downloading any of the files.
.
Discussion
Understanding how Blockoo works is essential in deciding whether Blockoo can be trusted. From what I have understood, the method used by Blockoo is no secret; it is exactly the same method used by MSN Messenger when you connect to the MSN network. Anyone with some programming background should be able to replicate the same functionality that Blockoo offers.
Barring the facts that Blockoo used to spam your contacts, and that it serves misleading adult advertisements, the only things that we should be concerned are the following:
So after considering all these, would you use Blockoo? Do consider and decide for yourself.
.
Disclaimer
This entire analysis is done purely for educational purpose. Like many of the commenters have mentioned, you shouldn’t be concerned too much of who are blocking/deleting you. After all, chances are you are not that close to these people anyway. If they are your friends, they wouldn’t be blocking/deleting you anyway.
Nevertheless, I do admit that there are uses of knowing who doesn’t have you in his/her contact list. If you are like me, who easily forgets who some of the people in your contact list are, you may appreciate knowing that the person doesn’t have you in his/her contact list, knowing that you can delete the person safely.
In no way am I related to Blockoo or MSN.
The MSN Contact List Checker program is provided as is. I am not responsible for any damages that it may cause, directly or indirectly, to your PC, yourself, your house, your spouse, your girlfriend/boyfriend, or anything for that matter.
In the program, the connection will be made directly from your computer to the MSN server, and the password will only be sent over SSL (secured channel) to the MSN server for authentication. They will not be sent anywhere else, not to me, nor to my server. This is exactly the same mechanism that MSN Messenger uses to log you on to the network.
If you are worried, you can check the source code and compile it on your own (you will need Microsoft Visual C# 2005 [the Express Edition is free for use] or any compatible compiler).
Update: Oh yes, and you WILL get disconnected from MSN when you use the program. This is because the program has to fetch the contact list, and to do so, it needs to connect to MSN using your account. Unfortunately, there is no known workaround for this.
Yesterday after sending Nicole home from Changi Village, I took the cab home. Here’s a conversation between me and the taxi uncle after I said my destination.
Something in Chinese
Sorry, I don’t understand Chinese
You not Chinese?
I am… I’m Indonesian Chinese
What’s your father?
O.O Huh? As in? You mean race? He’s Chinese.
Mother?
Chinese also
But you dunno Chinese?
-.-
This entry was posted because the folks at Ping.sg were talking about taxis and complaints against taxis.
In my opinion, complaints should only be given when the driver deserves it, for example when he made really rude remarks, and not for the sole purpose to get any benefits like coupons or discounts. We do have to be mindful that their job is very monotonous, and sometimes they don’t have anyone else to talk to.
As for myself, as long as the taxi driver doesn’t cross the line, he can talk to me, complain about his job, etc. as long as I myself am in the mood to listen. If I am not, I’ll just close my eyes and give the driver one-word replies until he stops.
Fortunately, until now I only had to lodge a complain once. Readers of my old blog would have read this entry, but for the benefits of readers of the new blog, I shall repost it here:
Date: 18/11/2004
Time: 17:45
Taxi No: SHAxxxxG
Pick-Up Location: Near Far East Shopping Center / Wheelock Place
Destination: NTUThe driver (whose name we didn’t manage to copy) did not wear the seat belt properly and made loud remarks and jokes which can be considered as very rude in Malay/Indonesian throughout the trip. When we were silent, driver made an impolite remark that we were sleeping, and increased the volume of the radio, irritating us who were already tired by then. Along the PIE, the driver disregarded safety by talking on the phone without using a headset, and later on opening the driver-side window and gesturing (outside the car) towards another car on the expressway. When exiting the PIE, the driver opened the passenger-side window and made rude and very loud remark (over the passenger sitting next to the driver) towards a car which was involved in an accident. He was almost shouting then. The driver also cut a bus dangerously when turning into a junction inside NTU.
Two weeks later, I got an email saying that the taxi driver had been given a stern warning.
PS: Yeah, I still haven’t continued the Blockoo post. Things happened during the weekend and I wasn’t in the mood to complete it. I’ll complete it by this weekend. Promise.