Apr 302010
 

I just recently got a chance to review Adobe CS5 Master Collection, so I will be posting a series of blogpost for each product. But first up, the installation experience.

Adobe CS5 Master Collection Disc

Clicking on the button opens up a folder, instead of the installer itself. Personally, I’d prefer a button to the installer itself, instead of opening up the folder.

Adobe CS5 Master Collection Disc Folder

Click on the “install” file to load up the installer.

Adobe Installer Initializing

It takes a couple of minutes for it to initialize. Yes, a couple of minutes. It could have been optimized a little, but that’s not a big deal.

Adobe Software License Agreement

The usual license agreement. Click to accept the license agreement.

Enter Serial Number

I have my own serial number, but I’m not letting you guys know. :) Just type that in, or install it as a trial version.

Adobe CS Live

Not too sure what Adobe CS Live is or how it integrates to Adobe CS5, but I just added my account and went on. I’ll check it out later what kind of services are available.

Install Options

Install Options 2

By default it selects everything. I’ll just install everything and review each product along the series. Above shows all the applications available for install.

Note: I just got word that you can install Adobe CS4 and Adobe CS5 side by side without any conflicts. Even after you’ve uninstalled Adobe CS5.

List of Components per Product

If you select a product, you get a list of components that are optional for installation. Once you’re done with everything, click on Install.

Installing in Progress 1

Installing in Progress 2

Installing in Progress 3

Installing in Progress 4

Now, you wait. Take a nap, do some other work. Yes, you didn’t see the time to take at all. It isn’t over 300 minutes to install, but it does take more than 1 to 2 hours to install.

Adobe CS5 Master Collection Installed

You’re done installing! I’ll write on each product in my later posts.

Apr 202010
 

I was recently invited to this scam that I thought was somewhat interesting. I knew the moment I stepped into this place that it was a scam, by the way they handled everything. I’ll document everything that I had experienced with this scam.

The Phone Call

I received a phone call from an advertising/marketing company, which the lady (Sally) didn’t want to tell me which company it was. Anyway, she told me I’ve been “specially selected” from a survey I took a few weeks back regarding the number of credit cards I have. I do recall somewhat that I received a phone call regarding something along these lines back around the 5th April. But I do not recall giving my complete details, like my full name and identification number. However, Sally had all these information on hand. Someone probably had sold these information to them, because I’ve never given my full name to anyone. Just ask any of my friends what my full name is, majority of them wouldn’t know.

So Sally told me I’ve “won” 3 prizes. A $50 voucher of either NTUC (grocery store) or Isetan (departmental + grocery store); 1 for 1 cruise to nowhere, the Caribbean, etc; 8D7N hotel stay in Thailand. I thought nothing of this and just said okay, I’ll meet them to hear what they have to say and arranged to meet them the next day. I asked about what the company name was, and Sally told me it was called “Touch Planet”.

Location and Phone Details of This Scam

Since my information was readily available to them, I don’t see why I should keep their information private too.

Sally’s Cell Number: +65 9270 2557
Sally’s Office Number: +65 64382119
i-Discover (or Touch Planet) Address: Regency Tower #03-15

The Initial Walk In

So I went with my friend, of course. When I found the place (I was about 1/2 hr late trying to locate the place), I only saw the word “iDiscover” and a piece of printed paper on the door with a few words indicating “Touch Planet” was here. We went in and was told to fill up a particulars form with my name, occupation, age, marital status, etc. After that, we waited to be called into this room with lots of individual tables and chairs, each table with a “sales” representative to “sell” you their product. I thought, “Of course nothing comes for free. I’ll just have to listen to what they have to sell. Why not?” So I sat down and met this pretty lady who spoke very typically bad Singaporean English.

The Pitch

I can’t remember everything she was trying to tell me, but it boils down to these few selling points.

  • Pay $350 for a “voucher-like” 10N hotel stay anywhere per year
  • Depending on where you stay, there’s a USD$10 to $40 “processing fee” per night
  • Purchase blocks of 3N hotel stay after you’ve finished your 10N “voucher” for about USD$30 per night on top of the “processing fee”
  • These hotel stay are transferable to anyone
  • If the 10N hotel stay ($350) is not used, a rebate of $600 will be issued to you
  • Convert the 10N hotel stay ($350) to a 2 return ticket on top of variable “processing fee” depending on peak period and location (ranging from USD$10 to USD$1000 per person)

She helped me do a cost comparison between an actual ticket to Japan for 14 nights stay with their plan, and it gave me a savings of 45% (at about SGD$2,100). Everything sounds very good, doesn’t it?

The Hidden Cost

Then she popped the question, “How much are you willing to pay for this?” That essentially shocked me. I thought that was all the cost, you mean I have to pay MORE? She called her manager to talk to me regarding this. From my friend’s research during that 2 hours she was explaining what she was trying to sell me, we found out that the “membership fee” is about SGD$19,000 for 10 years. That will equate to about SGD$1,900 per year, comparing with what I “save” (SGD$2,100), I actually ONLY save SGD$200, which I could save with the NATAS Travel Fair provided I actually spend that amount per year on travelling.

Is that a SCAM or what?

The Insult

My friend Justin, who is an insurance agent, was accompanying me. So now the manager is talking to me with his fake smile and his even-more-horrible-Singaporean-English-than-the-pretty-sales-lady asking me how much I am willing to pay for this. I explained he has to tell me how much it is first, before I can consider. But he kept insisting to give a number, so I quickly did my calculation in my head and I figured out that if I had to pay anything more than SGD$1,000 per year, I wouldn’t see any returns at all. I just told him (already knowing fully how much it is going to cost me) that if he offered less than SGD$1,000 per year, I might consider.

Knowing that my friend is an insurance agent, he took this opportunity to compare buying insurance with buying his package. He explained that you wouldn’t see any visible returns from buying insurance until possibly many years down the road, or even never. However, with his package, you can see visible returns instantly every year. This pissed me off to the point that I was enraged at him comparing a “death and sickness” (do note that my dad is still in the hospital) with a HOLIDAY TRIP.

How can you compare a necessity of getting medical insurance to cover a potential illness, injury or death with something “optional” that you can do without like going for a holiday? That was the last straw and he told me “I think this package is not suited for you.” I told him back “I think so too, since I don’t see any benefits at all.”

The Gifts

Remember they were supposed to give me 3 “gifts” for going through their whole marketing scam? Well, I only received the $50 Isetan voucher. Furthermore, they wanted to see my identification card, AND my credit card, which I insisted on covering the credit card numbers.

Before I left, the pretty lady was nice enough to say “Thanks for coming, and sorry for wasting your time.” The manager just told her off saying loudly “We’re not wasting their time, they’re wasting our time.” and pushed her back into the room.

The Conclusion

If they didn’t have the shocking “membership fees” at the end of the whole presentation, I would have actually gotten this really great deal. However, they were just out to cheat and con innocently stupid people who can’t calculate properly for themselves. So I hope this blog post will educate more people of how these scams aren’t really helping you save money at all.

Lessons Learned:

  • Don’t ever compare insurance with anything else
  • Don’t try to cheat a Math/Statistics/Accounting Major with Computer Science Degree
  • Be upfront with all the cost, including the hidden ones, for your client to make an informed decision
  • Good Service is always important even if your client doesn’t make a purchase
Apr 162010
 

Hey everyone. Dad had a heart attack a few days ago. Thanks for all your thoughts and well wishes. I’m keeping count and there are about close to 100 different individuals up to now who have expressed their concern and well wishes to my family. I appreciate it. I would just like to inform everyone that there won’t be any blog posts until my dad gets out of the hospital. Follow me on twitter for the latest updates of what’s happening to my dad if you’re interested. I hope to be blogging again soon.

Apr 132010
 

This is just a compilation of tools and software for Visual Studio 2010 for my own use to keep track of what I’m interested in. It might help someone out there. I’ll sort it out when I have the time, and put some descriptions. If you have any others, please comment and I’ll add to the list.

Apr 122010
 

One fine evening heading out after a day’s work, I was at the MRT station (that’s what they call trains or subways in Singapore) heading somewhere and a woman behind me proclaimed loudly in an irritated manner, “Why don’t they have 2 escalators going up instead?”

I’m sure everyone noticed this at Clementi MRT station with 3 escalators that 2 escalators are always going down in the evenings (I’m not too sure about mornings), and 1 is going up. Many have complained many times while going up the escalator that the other 2 escalators going down are empty. Just to give some context, 2 escalators are going downwards to the exit of the station, and 1 escalator going upwards to the platform.

Here is the rationale of why it might have been done this way, instead of 2 escalators going upwards to the platform.

Logically speaking, you do not want to your platform to be filled with people. If you have 2 escalators going up, that means for every 4 people going up, 2 people are going down (hypothetically speaking), assuming 2 people can get onto the platform per escalator. If you do the math with a normal constant distribution across a period of time, your platform will eventually get filled up. However, this is not a normal distribution, because we have to take in account the number of people getting on the train and off the train.

Assuming that every time a train comes, the number of people exiting the train into the platform is lesser than the number of people entering the train. This means the replacement rate is lesser and less people are exiting. It does not make sense to have 2 escalators going downwards. However, during the evenings after work, since Clementi is a heartland, i.e. residential area, we can assume that the number of people exiting the train will be more than the number of people entering the trains. Therefore it make sense to have 2 escalators going downwards to allow these people to exit.

Does that mean that in the morning while people boarding the trains at this station will be more than the people exiting the trains? Does that justify the 2 escalators going downwards? Since I do not take the train in the mornings, I cannot comment on the current situation. However, it still make sense to have 2 escalators going downwards to channel more people to exit the station.

Do you want to take the risk of overcrowding your train platform if you were in charge of the station? No. How about if there is a sudden influx of passengers into the station from the trains, which happens every 1 minute or so during peak hours? You need to channel them out of the station quickly. So it only makes sense that the station is designed to prefer channelling more people out of the station rather than into the station.

That, is why MRT stations don’t have 2 escalators going up instead.

Apr 092010
 

iPhone OS 4.0

Apple recently announced iPhone OS 4.0 enabling “multitasking” of a sorts. I want to dig slightly deeper into understanding what they actually mean by this “multitasking”, without talking too much about the nitty gritty details.

There are 7 kinds of “services” they expose for multitasking:

  • Background Audio
  • Voice over IP
  • Background Location
  • Push Notifications
  • Local Notifications
  • Task Completion
  • Fast App Switching

Among all 7 “services” exposed, 6 of them are somewhat already available in the system itself, one way or another, with hidden APIs not exposed for public developer usage. Let’s take a look at each of them, and how they might “save battery” without “slowing down the system”.

Continue reading »

Apr 062010
 

I was recently given a task to refactor and extract the XML Literals and here’s my solution, which isn’t the best, but it is good enough for now.

Let’s say you have this code:

[sourcecode language="vb"]
Dim number1 As Integer = 5
Dim number2 As Integer = 10
Dim xml = <MyXml><%= number1 %><%= number2 %></MyXml>
[/sourcecode]

Where you have an embedded variable using XML Literals within this block of XML. You want to extract that XML out to a file, instead of embed it into the language. Here’s a solution I came up with, and will definitely be thinking of how to solve this problem a little less “hack-ishly”.

[sourcecode language="xml"]
<MyXml>{0}{1}</MyXml>
[/sourcecode]

So I extracted out the XML and replaced all embedded XML Literal code with {0}..{1}..{n}. Or anything that’s unique for replacement.

[sourcecode language="vb"]
Public Shared Function GetXml(ByVal number1 As Integer, ByVal number2 As Integer)
Dim template = New StringBuilder(XElement.Load("myxml.xml").ToString())
Return XElement.Parse( _
template.Replace("{0}", number1) _
.Replace("{1}", number2) _
.ToString())
End Function
[/sourcecode]

Then I read the xml file and spit it out as a string, replace all the {0}..{1}..{n} with the actual parameters. I was actually going to use String.Format (hence the chosen {0}..{1}..{n} replacement) but couldn’t seem to get it to work.

[sourcecode language="vb"]
Dim number1 As Integer = 5
Dim number2 As Integer = 10
Dim xml = GetXml(number1, number2);
[/sourcecode]

So all I do is just replace that entire block of XML Literal with a call to the method. That’s how you can refactor and extract out the XML Literals from Visual Basic .NET code. If you know of a better way to do this, please post a comment with your solution.

Note: Please mind my Visual Basic .NET code. It’s not my first language.

Apr 012010
 

2010-03-27 15.50.58

Last week at BarcampSG5, I had the opportunity to do a cool discussion/presentation with DK on “The Future of Porn”.

2010-03-27 17.58.30

Here’s what came out from the discussion:
- 3D TV
- 30 Rock (Porn for Women)
- Interactive 3D
- Modality (Senses)
- Porn as a Service
- Augmented Reality
- JibJab (Replace sexy photos with your favorite faces)
- Avatar, Matrix
- Gesture
- Porn Games
- Aibo (Electronic Robotic Porn)

Photos