www.vinafamilymart.com/vn
38/1Bis Trần Khắc Chân, Quận 1, TP HCM
Snack RBG Cau: 8,500
Tảo biển: 5,000
Pin tiểu Super: 7,000
Ca tam bot 180g: 11,000
Sữa Tươi TT Có: 11,000
SC lợi khuẩn: 6,000
Trà Thảo Mộc: 8,500
www.vinafamilymart.com/vn
38/1Bis Trần Khắc Chân, Quận 1, TP HCM
Snack RBG Cau: 8,500
Tảo biển: 5,000
Pin tiểu Super: 7,000
Ca tam bot 180g: 11,000
Sữa Tươi TT Có: 11,000
SC lợi khuẩn: 6,000
Trà Thảo Mộc: 8,500
As far as I can remember, I began following Steve Jobs around 2005, when he announced that Apple would be switching to x86 hardware. He really impressed me in 2006, when he announced the MacBook Pro and iWeb.
My infatuation with the iPhone
In 2007, I was a summer intern at Google Santa Monica when the iPhone was released. At 6pm, I finished my work. I wondered whether the iPhone was going to sell out. I asked a colleague, who had just come back to the office with his amazing new iPhone, whether they still had any left. “Yes, I think so,” he replied.
The new phone had just become available at 5pm, but with all the hype surrounding it, I felt it might disappear quickly. The amazing device was too much for me to resist: it was truly an astoundingly capable computer that fit easily in a pocket. It was everything that I had hoped for when I got a Cybiko handheld computer about six years prior. A snappy processor, a revolutionary mobile OS based on Mac OS X, a touchscreen that actually worked well, a real web browser (Safari), not WAP or any other “baby” internet. It was simply mind-blowingly awesome to me.
So at 6pm, a full hour after the iPhone had officially launched, I literally ran down to the local Apple Store, just a few blocks away from Google’s Santa Monica office.
There was a massive line, but I was assured there would probably be enough phones to go around. I had to wait in line for about an hour; at about 7pm, I had bought my shiny new iPhone, and started heading back to the office. I couldn’t resist using it right away, and it needed to be activated by connecting it to a computer, using iTunes.
I generally have a bad memory, and my recollections of my past are often hazy. But this was a moment that I’ll never forget. It’s as vivid as if it happened yesterday. I plugged in the iPhone, amazed by its beautiful appearance and enormous touchscreen display. This was the first device in the world — phone or not — that had a decent touchscreen. I was enthralled. I remember going through the process, and seeing the activation message in iTunes. I was already using AT&T (previously, I had been a very happy Cingular customer), and the process of switching my number to the iPhone was a breeze.
I read that some other people had some issues, but it went quite smoothly for me.
When I used the iPhone for the first time, I immediately knew this was going to change the world. It was by far the best portable computer I’d ever touched. It was exactly what I’d been imagining for at least six or seven years, especially after the Cybiko sparked my imagination and gave me a glimpse at the future.
Of course, I’d also been following the iPhone closely, ever since Steve Jobs announced it earlier that year, in January 2007.
Again and again, I spot technology trends before they become big. I was reminded of this today, when I remembered how impressed I was by the quality of Burbn, the first (failed) product that was made by the team that later created Instagram. If I had the opportunity, I would definitely have invested in them back then. I saw that they really knew what they were doing, especially when it comes to practical design and development.
But I digress.
All that to say, Steve Jobs was an impressive presenter who was able to get things done. It was not really that innovative to make a touchscreen phone. There were probably touchscreen phones before the iPhone. But the key is that the iPhone’s touchscreen was simply the best. It had the best accuracy, precision, response time, feel, and integration with the software.
It’s not so important to be first. And it’s not so important to have an innovative idea. The important thing is execution: how good is your final product?
Of course, you also can’t be too late, or a mere rehash of what’s already been done. Even a great final product won’t save you from taking too long to get to market. You do you need move fast, and Steve somehow managed that, too.
The day I talked with Steve Jobs
On April 3, 2010, I went to the Apple Store in Palo Alto and lined up to buy an iPad. I had submitted my iPad app, Whiteboard HD: Collaborative Drawing, some time ago, and it had been approved. My app was a launch title for the iPad, even though I’d never touched a real iPad myself. Developers, myself included, were given access to iPad-specific APIs, and the iPad Simulator, but no real devices. So I was eager to see my own work running on a real device.
As soon as I got the iPad, I opened the box, plugged the iPad into my 15″ MacBook Pro, and activated it. I immediately went to developer.apple.com/iphone (yes, iOS was still called iPhone OS back then — it wasn’t renamed until later that year), and added it to my Device List. I generated a new Provisioning Profile to include the iPad, so that I could deploy apps to it.
It was about this time that I noticed Steve Jobs talking on his iPhone, walking around near the back of the store, to the left of the Genius Bar. He was all by himself, with nobody around him. Nobody was even near him. Nobody seemed to notice his presence!
Of course, I recognized him instantly, having watched several of his presentations.. albeit always on video, not live. Even though I knew it was definitely him, part of me wanted to doubt. Could it possibly be a Steve Jobs lookalike? Would I be an idiot for assuming this was the Steve Jobs? He does look much skinnier than usual..
Well, to be fair, he WAS in the middle of a phone call, so perhaps that deterred others from disturbing him. It seems that Steve really loved making phone calls. I suppose it was one of his favorite communication methods.
“Why not show him my iPad app?“, I thought. I hit the button to compile and deploy Whiteboard to my new iPad. A few nervous minutes later, and I had my Whiteboard app running on my new iPad.
My, it was a beauty. I was very excited.
The moment Steve brought his iPhone away from his ear, I confidently walked right up to him with my new iPad, leaving my MacBook Pro unattended on the table, not thinking of anything else except this unique chance to pester Steve Jobs.
“Hey, Steve?” I started off timidly.
I don’t remember exactly what he said. I was petrified, but energized. He looked at me, probably greeted me, but not paying me much attention.
“I’m Elliot. I just want to show you this is my iPad app that I made.”
Steve looked at my iPad. “Cool.” He might have said something more, but I don’t remember exactly.
“See, it’s a drawing app. I can choose a brush color like this. And then draw like this.” I made a scribble that looked like nothing in particular. “I love the iPad, it’s really nice,” I continued.
“That’s great. I need to go. My daughter’s here now.”

I believe that’s what he said to me. Understandably, he wasn’t interested in me.
I could have asked to take a photo with him, or have him autograph something. But at the time, the idea didn’t cross my mind. I was just glad to have a moment face-to-face with Steve.
I didn’t want to annoy him, so when he started to turn and leave, I simply said something like “Okay, bye Steve.”
He walked toward the front of the store, and tended to his daughter.
I believe I saw her too, but I don’t quite remember. I didn’t recognize what she looks like. Frankly, I was a little surprised. I didn’t know anything about his daughter, and didn’t expect her to be there. But she was.
And that was my brief “talk” with Steve Jobs.
Later sightings
The first time I saw Steve Jobs, I just described above.
At WWDC 2010, I could have seen him in person (on stage), but I lined up too late. So I had to watch him give the keynote on a big screen in an overflow room. If you count that — which you might, because it was live — then perhaps I “saw” him three times.
At WWDC 2011, I saw him on stage, in person. That was the time my friend Thuy ran up to the crowd afterward, just to take a quick photo of him
So, I actually saw Steve Jobs in person, with my own eyes, just twice.
Of course, despite having only “really” seen him twice, I feel that I knew him pretty well, much like the millions of people who have written about him, many of whom didn’t even meet him once. I watched his presentations with utmost attention. I was impressed by the way he framed his products for average consumers, maintaining tight secrecy, and rarely revealing anything technical (like clock speed or RAM) that normal people should not care about anyway.
Though I’m truly saddened by the loss of Steve Jobs, I’m also glad for what I learned from him. And I fondly remember the time I talked with him, in Palo Alto on iPad launch day.
The fact that the iPhone 4S is a “world phone” means little. This phrase, as used by Apple (and everyone else, AFAICT), means that the same hardware device is capable of communicating over both GSM and CDMA networks. However, there are caveats which make this useless:
One of the most pernicious lies about the new iPhone 4S is that it works “across all carriers.” (I saw that in the New York Times this morning.) That’s wrong. It doesn’t work on T-Mobile USA, making Apple now fully complicit in AT&T’s plan to destroy the smaller carrier so it can gobble up T-Mobile’s tasty, tasty spectrum. (Source)
Actually, that’s wrong: iPhone 4S (and every unlocked GSM iPhone before it) does work on T-Mobile USA. What the author actually meant is that it does not work on T-Mobile USA’s 3G data network, which is true. But you could also point out that it doesn’t work with any carrier’s 4G data network. The iPhone 4S will work perfectly fine on T-Mobile USA’s voice network, and it will work just fine with 2.5G “EDGE” data, too– just like the iPhone 4 (GSM), iPhone 3GS, iPhone 3G, and original iPhone (provided that it’s unlocked, in all cases).
By the way, “2.5G” data works great. While in it’s slower in most cases, it saves significant battery life. Thus, it’s not worse in every way; it’s more of a trade-off.
Why the iPhone 4S world phone works with GSM carriers around the world.. exactly like every GSM iPhone that came before it (including the GSM iPhone 4)
The fact that the iPhone 4S is a “world phone” doesn’t make it any better for world travelers (like myself) than the iPhone 4 (GSM) that came before it, unless you’re willing to pay the international roaming rates I referred to above.
Every iPhone, besides the CDMA iPhone 4, was able to roam internationally in all the same countries that the new iPhone 4S will. The most useful aspect of a phone, for a world traveler, is to have it “unlocked” — more on this later in the post.
I don’t get why Apple made that “unlocked means GSM only” decision. Maybe the market is too small to have added Sprint and Verizon variants, but Apple could have used its market power for good and forbade carriers from locking out overseas carriers as the price for carrying an iPhone. After all, that’s what it did for the iPad, and the same carriers have done quite well in that environment. Of course, the Verizon version doesn’t support (or claim to) GSM networks, so the unlocked status of the AT&T iPad may not mean all that much after all.
The iPad is not a phone. All AT&T-subsidized devices are locked to AT&T. Besides the 2-year contract, this is what they get in exchange for paying the subsidy.
Unlocked phones only work on GSM because GSM technology uses SIM cards. CDMA phones never have SIM cards, making it difficult (if not impossible) to configure your phone for a new network/plan/number.
Traveling the world? Here’s why you need an unlocked GSM phone– NOT a world phone

Packaging from some of the SIM cards I purchased during my recent travels
GSM is the dominant global standard for cell phone communications (see for yourself), and if your phone is unlocked, then you can ditch AT&T entirely — and you can do it on your own, in a matter of seconds. No need to call anyone or do anything online. Just pop out the SIM card, swap in the new one, and you’re good to go.
And since you’re putting in a SIM card from local carrier, you won’t pay any international roaming rates; you’ll save a ton of money in the process; and, if you go for a pre-paid card (which is much more common outside the US than inside it), your expenses are capped. No risk of accidentally racking up a $2,000 monthly bill, even if you have absolutely no understanding or knowledge of the rates you’re being charged.
In the US, I use my unlocked iPhone with AT&T.
In Vietnam, I’ve used my iPhone with two different carriers: Viettel and Mobifone.
In Cambodia, I’ve used my iPhone with a local carrier. Same in Hong Kong, with the carrier named “3″, as in the number Three. Same in Taiwan, with Taiwan Mobile. Singapore, with SingTel, twice. Malaysia. Germany. France. The UK. The Netherlands, with T-Mobile NL.
In almost every case, especially in Asia, it’s dirt cheap. $10 or so usually buys me enough data for my trip, and even in the most expensive cases (Europe), it’s typically tough to spend more than $50 in a month, even if I use it all I want.
Most recent example (not the cheapest nor most expensive): In Singapore, I paid 28 SGD for a SingTel hi!Card SIM card, which includes 5 MB of free data. If you sign up for a Surfer Pack (super easy: just dial *363), you can pay S$1 for 10MB, or S$7 for 1GB over 7 days. That’s about $5.40 for 1GB (about 1000MB) of data. With AT&T in the US, you have to pay at least $15/month for an iPhone data plan, and that only provides 200MB.
Indeed, in the US, even the cheapest plan from AT&T is around $70 (maybe $55 if you use less than 200 MB data?).
Without an unlocked phone, none of this is possible. Your phone simply won’t work with international SIM cards. It’ll work with most of the carriers, yes; but you’ll be paying far more than the locals.
Bottom line: when it comes to traveling the world, having a world phone isn’t important. If you’re a budget traveler (or even just someone who likes to get good value for money), what really matters is having an unlocked phone.
Tipping in restaurants.
Do you do it?
Here in Amsterdam, it’s not expected. You can, and if you do, any amount > 0 is fine. [Though I'd guess anything less than 10 cents would be frowned upon as not even worth the trouble.]

Bento Box at a fancy Japanese restaurant in Amsterdam called Momo
In the U.S., the usual approach to tips is to do 15% [1] for good service, then adjust from there, depending on the service quality. 20% would be great service. 5% would be less-than-good service.
It’s hard for me to judge service quality. I demand nothing special from my servers. I virtually never have special requests, and it doesn’t matter to me how often they check on me. So calculating a tip based on service just hasn’t seemed right to me.
Here’s how I do it instead…
An unusual approach to calculating the tip
When I finish eating a meal, I ask myself what I think a fair price for that meal would be. In this judgment, I take into consideration the food itself, the quality of the food, the ambience and overall atmosphere, my general satisfaction, and, of course, the service. How much do I think I should pay for what I received?
Then, I use the tip to bring the total to the number that I came up with. For example, if the bill is $21.80, but I thought it was worth $20.00, I don’t leave any tip; I do, of course, pay the full $21.80. On the other hand, if I thought it was worth $30.00, I’ll add an $8.20 tip to bring the total to $30.00.
By the way, that’s a fairly pricey dinner for one person (me), but it’s very common here in Europe. I almost never think those $21.80-class meals are worth the money, so I rarely leave a tip. [Fortunately, it's usually not really expected, either.]
On the other hand, I generally end up leaving larger tips for cheaper meals. If the bill is $5.00, but I thought it was worth $10.00, I’ll add a $5.00 tip.
The result is that my tips are often drastically different from what you’d do with the traditional approach. When people go to more expensive restaurants, they generally tip more. I generally tip a bit less, because I’m typically unimpressed by their supposed “fanciness.” When people go to cheap restaurants, others generally tip less, while I generally tip a bit more, especially if the food is actually pretty good.
While my approach may not make sense in light of the fact that tips usually go straight into the waiter’s pocket– or sometimes split equally among the staff, or used for a party– I still think it works pretty well from the customer’s perspective. It compensates for restaurants that overcharge, while rewarding restaurants that are efficient and offer good value.
Otherwise, restaurants offering good value find it tough to compete with the luxury, overpriced establishments. Not only are their prices lower, but since tips are traditionally calculated as a percentage of the bill, their tips are lower as well! As a result, offering lower prices reduces their income more than it may appear.
This makes it difficult for a restaurant owner to successfully operate a business that targets budget diners. As a result, I suspect that dining out is generally more expensive than it could be.
What do you think of my tipping method? Do you follow the standard practice, or are you a bit more like me?
[1] Thanks, David. Turns out I’m a cheapskate
but I’m working on it
Anyone out there heard of Trey Smith’s “The App Elite”?
Did you join The App Elite?
Let me know in the comments.
I’m doing it wrong.
Today I came to a realization: I’m different.
The difference between me and other programmers cannot be understated.
Despite being a programmer, I also happen to be outrageously good at coming up with ideas and envisioning products. I always have 100 ideas running around in my head. I’m creative, resourceful, and visionary.
And I’ve been working with programmers the wrong way. I’ve been telling them to design the product. I’ve been telling them to have a vision for the way it should work.
That’s because I thought all programmers were like me. They’re not. I’m different.
Today, I’ve learned through realization– much to my dismay– that most other people don’t think the way I do. They don’t have 100 good ideas. Some of them have, at best, a handful of awful ones. Most surprisingly, some people genuinely don’t have any ideas.
We couldn’t be more different. The gulf between us is immense. I don’t think there’s any way to bridge it. I can’t teach other people the kind of incessant inspiration that I have.
We’ll have to accept our differences, and work through them. I need to understand them. I need to encourage others’ strengths. I need to motivate. Inspire.
Don’t get me wrong. I’m not pridefully claiming that I’m better than everyone else. As it turns out, I actually suck at programming. So it’s not that I’m any better; it’s just that I’m drastically different.

####
Have you ever tried outsourcing development work on sites like oDesk, Elance, or Freelancer?
I’m relatively new to the process, and I’d like to chat with others about their experiences.
My RSS feed was broken for the past many months, and nobody bothered to tell me. So when I fixed it yesterday, Aweber — the email newsletter provider — picked up a bunch of new posts all at once, and blasted my subscribers with all of them. So, sorry about that. Hopefully you use Gmail keyboard shortcuts, so you can sort out those emails in just a couple seconds
Meanwhile, I thought I’d write a bit about my experiences here in Amsterdam. The Amsterdam Central Station — where I came in from the airport by rail — does appear to indeed be at the center of the city. I’m currently hunting for housing around here.
I’ve decided to try sticking to a twice-weekly posting schedule. So if you’re wondering how often to check back… twice a week is the answer.

I don’t have any photos in Amsterdam yet, so here’s a random photo of “Watch Surgery” at the new Westfield Mall in London.
I finally arrived in Amsterdam, flying in from London. Getting here was one of the most challenging travel experiences thus far. Fortunately, it worked out in the end, and I learned many lessons along the way. Here are a few of them…
Don’t shop for a new backpack (rucksack in the UK) on the day you’re leaving.
This is ultimately what caused me to miss my flight, more than any other single thing.
Pay very careful attention to any times given in 24 hour format.
My flight which I thought was at 6:05 PM turned out to actually be at 4:05 PM… a consequence of misreading the flight details!
Taxis in the UK can offer you different prices, and there are several different meter systems which affect the flexibility that the driver can offer you.
One taxi driver informed me that the full meter fare from Stratford to London Stansted Airport is about £100. He offered the ride to me for £80, a discounted rate. However, he couldn’t take credit card at all. Another said he could take credit card, but only if I pay the full meter fare. His credit card processor actually restricts him to that. In the UK, the meters are enforced by law as the maximum price that the driver can charge you; but the driver is free to give you a lower fare, if you pre-negotiate it, which I did. I ended up finding a driver that took me for £70… and he accepted credit card on that price. His taxi number: 93343 — I’d give his taxi a positive review, as he was friendly and truthful. The credit card machine adds a 10% fee, so the actual charge to my card should end up being£77.
The drivers are friends with each other. When the driver of 93343 — whose taxi has a sign that says “DAD’S TAXI” in it — made the deal with me, he asked the driver in front of him if I’d asked him yet, as that driver was ahead of him in line at the taxi stand. That driver said yes… and said he’d match the price: £70. However, his taxi cannot charge any less than the full meter fare for credit card transactions; so, after switching taxis, I had to switch back. Not a big deal, but probably cost me 5 minutes of time.
EasyJet closes the check-in counters 40 minutes before departure. Departure time is the one given in the booking!
No leeway, no mercy. I was 15 minutes late, based on the 40-minute requirement; for my 4:05 PM flight, I arrived at 3:40 PM. Though the taxi driver thought I’d make it, EasyJet is very strict about cutting off check-ins at the 40-minute mark.
Here in Amsterdam, I’m staying at Victor’s… so far, it looks like a pretty awesome spot. It’s very convenient that Apple’s MagSafe adapters are all compatible… I can plug in using his charger, no need to dig around trying to find my European plug adapter.