Iceland Golden Circle Itinerary

  • Travel

I had a great time traveling around Iceland with friends for my grad trip during the end of April. Here’s rundown of our nine day itinerary - maybe you will find some interesting tidbits :)



  • We used Blue Car Rental to book our cars. It bundles in gravel protection which is highly recommended. The wifi hotspot was also very convenient. A 4x4 vehicle is required on some rural (and F-roads) roads so plan ahead.
  • We alternated cooking ourselves (which saved us some money) and dining at restaurants (which allowed us to taste the local cuisine)
  • The major budget groceries stores are “Bónus” and “Nettó”. If you buy their sandwiches, definitely go for the salmon one! Also the chocolate tastes better in Iceland (but maybe it’s just a Europe thing).
  • If eating out, try to find restaurants that serve fresh fish or lamb, as these are among the best foods in Iceland
  • The road infrastructure was a lot better than I expected considering there are so many rural regions. Another challenge is that every year the rivers may shift, requiring new bridges to be constructed.
  • We drove counter-clockwise around Iceland which aligned nicely with our itinerary in that the majority of our attractions were earlier in the trip when we had more energy
  • Reykjavík, Iceland’s capital, is home to 126,000 out of 350,000 in all of Iceland. For comparison, it’s estimated that there’s over 800,000 sheep!
  • Some of the Airbnb’s were very modern with expansive glass windows. I especially liked the bathrooms with doorless walk-in showers and stone tiling.


Day 1

Blue on blue


Day 2

  • Gullfoss Waterfall Home of Iceland’s first environmentalist who prevented a hydroelectric dam from being built
  • Geysir These geysers erupt every so often. Look closely and you can see a beautiful blue bulge of water before it erupts.
  • Seljalandsfoss Waterfall The main attraction is a waterfall that you can walk behind, but there’s two hidden gems to discover if you continue walking North along the path to Gljúfrabúi, a hidden waterfall.
  • Sudur Vik Restaurant Their apple pie with ice cream was delicious!
From this angle the waterfall seems to disappear, but do not mistake its power!


Day 3

Simple but delicious breakfast


Day 4

  • Svartifoss Waterfall and Glacier The visitor center is pretty high tech: Just enter your license number (it even knows your vehicle model) when paying for parking. The (shorter) trail on the right takes you to the glacier, while the left takes you to several waterfalls.
  • Fjallsárlón Glacier Small patches of clear ice scatter the lake, and boat tours available
  • Pakkhús Restaurant Great decor and fresh food
We stopped by to ponder what was hidden in the mist.


Day 5

Driving along the coastline, there's quite a diverse range of environments one can see with the naked eye


Day 6

  • Ásbyrgi Trails There’s a variety of trails (including a 2-day hike!). Best enjoyed on a sunny day and pack lots of water.
  • Goðafoss Waterfall Known as “God’s Waterfall”, the myth says this was where lawspeaker Þorgeir Ljósvetningagoði declared Christianity as the new religion of Iceland by throwing the old statues of Norse Gods down the waterfall.
  • Noa Restaurant This restaurant has a unique style of cooking fish and veggies together. Do you like the sauté or baked version better?
  • Brynja Icecream A few swirls and is then dipped into chocolate
  • Pylsuvagninn Hotdog Stand They have a crispy topping and makes for a great late night snack
  • Hlíðarfjallsvegur Ski Resort Highest point in the town for viewing the Northern Lights
It was cold and hailing when we went which made the waterfall more dramatic


Day 7

First stop: coffee!


Day 8

The iron is strong in this one


Day 9

  • Kaffivagninn Cafe This place was packed when we went in the morning. They also served salmon for breakfast - why not?
  • Hallgrimskirkja Church Iceland’s largest and arguably most iconic church.
Iceland has highly-localized weather


Costco Should Reuse Plastic Egg Cartons

  • Environment

Plastic egg cartons provides better protection than cardboard, and since they are so strong, why not reuse them so we don’t have to keep making more?


A couple of years ago Costco introduced plastic egg cartons, which are stronger and prevented yolk from broken eggs from contaminating the cartons below. While these are made from 100% recycled plastic (props to them), I still feel guilty about how much energy went into the manufacturing of the plastic. They are also surprisingly bulky, taking up more space in recycling bins than should given their weight. Furthermore it requires still more energy to recycle these cartons again; Why not just reuse the cartons instead?


Consumers can drop off old plastic cartons and these can be densely packed and shipped - in the same truck that carried the eggs to Costco - already returning back to the packaging facility. Cleaning and inspection of these cartons are definitely required, but this should be less resource-intensive compared to both manufacturing completely new cartons, as well as to recycle the old cartons.

Costco can benefit in several ways by doing this. Reusing these cartons means they don’t need to manufacture as many new ones. They can either pass these savings to consumers (albeit probably only a few cents), and create a marketing campaign to spread awareness about reusing and recycling plastics.

One drawback is the slight inconvenience that this brings to customers. However, Costco customers almost always drive a car, so they can easily store old cartons in their trunk. The cartons are light and don’t take up too much space so one can even drop these off every other week when they do their shopping.

Another necessary change is that reused cartons need to have an updated expiry date on the container. This can be solved by using stickers instead of etching the expiry date on the side; The cleaning process will get rid of any gunk and old stickers.

Nonetheless the biggest challenge I see is for someone with authority to get behind this project since it involves changing Costco’s distribution logistics, potential legal considerations about reusing customer-provided cartons, and working with other vendors to clean and inspect the reused packaging. However, if Costco is able to put this into practice then I think this represents a significant step in companies recognizing the importance of finding ways to reduce their environmental impact. Other stores, such as UK’s Tesco (they sell 1.3 billion eggs yearly!), have also adopted plastic cartons for several years already, so other stores can benefit from a trial run. Let’s start with eggs and see what this grows into!

Wireless is More

  • Wireless
  • HCI

This post is about my recent experiences using wireless charging and AirPods, and thoughts about future interaction models.


My iPhone 7 battery life has been on the decline for the last few months. Although the physical hardware is aging, there’s a few other factors at play too. I noticed that I was using my phone more for emails and browsing, as well as for listening to podcasts over bluetooth. It is also the winter season at Waterloo, which has a small impact when I use my phone outside. On occasion I’ve charged my phone with a 12W iPad charger, but now I try to avoid it since it is bad for most phone batteries since they have less capacity. Remembering to plug in my phone in the afternoon is not something I want to constantly think about.

Instead, I got a wireless charger and a wireless adapter for my phone. If you previously asked me to estimate the increase of convenience and comfort of wireless chargers I would probably have predicted it would be negligible. (How hard is plugging and unplugging a cable???)

Yet once I started using the wireless charger there was no going back1. There’s no need to aim the connector to align with the port, even though it’s second-nature already; the unconscious effort of making sure the cable doesn’t knock over objects is eliminated; walking out the door with my phone is instantaneous.

Now, whenever I sit down at my desk, I just drop my phone on the charger so it is always charging. All this might seem like a tiny increase in convenience, but I wouldn’t be surprised if by doing this that most people wouldn’t need to worry about battery life anymore.


AirPods are great. The most obvious benefit is, of course, the lack of wires. I’ve always wrapped my earphones “over-under” method which reduces the tension on the wires. Nonetheless I found that as wires age, they get tangled more easily, which is why I usually carry with me my (relatively) new lightning EarPods.

I’ll admit I have a pretty unusual use case: Although the majority of the time I would listen on my phone, the problem was I would switch to my computer to do meetings every week. This meant I had to dig out my old 3.5mm with adapter earbuds, which I always keep with me in my bag.

Now I could’ve solved this by getting any pair of bluetooth earbuds but buying the AirPods was so much easier: I didn’t have to do any comparison of detailed tech specs. Furthermore when it comes to tech gadgets, I think that having a deep integration within an ecosystem is the biggest selling feature, which in this case meant it was easier to switch between devices. And of course, the charging case is elegantly designed and makes a wonderful snap sound as it closes. It’s the little details that matter.

I’ve heard many people worry about how easy it seams to lose them, but in most cases there isn’t much to fear - for one, audio playback automatically pauses (except phone calls) if one AirPod falls out. The only rule is to make sure each AirPod is either in your ear or in the case.

I do have to mention a few nitpick details because as good as any product is, there can always be improvements. Hopefully these issues can be addressed in a future update.

  • When I first used AirPods I didn’t have as good of an understanding on how switching between devices work. I thought that because it was already linked to my iCloud account that if I play music from my phone, then play from my computer, then the AirPods would automatically do so too. Eventually I realized that I had to explicitly switch the audio source 2.
  • I would like to have the ability to switch audio source when the charging case gets opened right beside that device, saving the user from 3D-touching into the audio settings.
  • When an audio source does get switched, sometimes it takes just a tad longer than what seems like it should take.
  • Sometimes there is a buzzing sound when there is no sound being played, which is especially noticeable when scrolling through video because it seems to prime the audio driver (even though no sound is being played yet).

It all comes together

Improvements in hardware is often the driving force behind device upgrades because customers want the newest features. However, the existing hardware we have today is already very capable. Suppose a consumer wants to see a 15% improvement before they upgrade their phone. However a 15% improvement from an iPhone X might be equivalent to several model jumps back in say the iPhone 4 days. It is a much higher bar today.

Yet another approach of developing new features is to support a different paradigm of interactions. Two obvious examples we see today are voice assistants and virtual reality. No doubt hardware plays a critical role, but the importance of software and integration in an ecosystem also cannot be understated for these paradigms. Both use personal and public data, coupled with the current context, to provide and act upon requests by the user. The hardest part is achieving a near-perfect accuracy and responding fast enough to overcome the habit of how users currently accomplish their tasks today.

The overall theme over the past two years is the trend towards all things wireless, and that’s something I would like to see and hear taken to a whole new level in the upcoming years. Let’s go build a wireless connected world!


1 ↩ Thank god for Xcode 9’s wireless debugging feature!

2 ↩ Thinking back, of course this is necessary because it’s not possible for computers to fully read our thoughts (yet)

VPS Promotional Strategies

  • Marketing

Disclaimer: I have been running this website on Digital Ocean for several years now. Opinions expressed in this post are solely my own™.


I’ve been seeing a lot of Digital Ocean’s “free 60 day trial with $100” promo for several weeks now 1, 2. This was a significantly larger credit compared to most other providers (aside from the big three) so I was curious why they chose this marketing strategy and what kinds of customers that they would attract. Let’s take a closer look.

First of all let’s see what alternative VPS solutions are available and how do companies get the word out to customers:

  • Digital Ocean (DO) is giving $100 for 60 days by using promoted tweets on Twitter.
  • Amazon, Microsoft, and Google all offer varying amounts (some up to a full year) of free credits accessible directly from their website.
  • Linode is a long-time sponsor on many podcasts and offers $20 in free credits, which equates to 4 months on their lowest-tier plan. 3

So the question is: from a business point of view, which marketing strategy is the best? I would like to name a couple of these customer segments specifically in the context of this article so we can better understand how each is targeted. Hobbyists are people who have an idea, are familiar with programming/technology, and are looking to start building their product as a side project. Upstarts are startups who have an MVP and are looking to grow their product (which usually requires scaling their servers). Enterprises are established businesses with large computing needs wanting to take advantage of a cloud-hosted environment and want the piece of mind provided by a well-known provider.

[Hobbyists] Linode’s $20 free credit

One way to look at the $20 free credit is that it attracts hobbyists who are just hacking on a side project. By offering this specifically to podcast listeners, Linode can more easily target those who just that final push of starting a project. When they finally do decide to take the leap, the hope for Linode is that customers remember Linode and use their coupon code instead of some other service.

Since hobbyists will most likely be working in their spare time, it may take several months to build an MVP). This matches perfectly with the 4 months of free hosting. But is it possible for Linode to profit from this promotion?

That’s where economies of scale kicks in: Hobby projects usually have low performance requirements and often sit idle most of the time. Since these VPS run in containers, it is possible to run many many containers on a single physical machine. This means the cost during the free trial is fairly low and the operating margins are relatively high once customers start paying. Thus the main determinant for success in this promotional strategy is the conversion rate from free trial to paying customer. (This is not to say that Linode only has small customers.)

[Upstarts] Digital Ocean’s $100 for 60 days

The other way is to give a larger promotional credit, but explicitly limit it to two months. This incentive targets people who are looking for higher compute requirements (eg. a $50 monthly plan) to try out their platform. These customers might have already built out their prototype or are looking to switch providers. If this is the case then eventually customers will be paying around $50 per month, 10x of what Linode would receive. However keep in mind that these customers will most likely be fully (or close to) utilizing the VPS instance, reducing the number of instances run per physical machine, and leading to a lower operating margin compared to Linode.

Now, another outcome is that the customer scales back to a lower tier after their trial ends because they don’t need so much power. In this case it is most likely that the server was not fully utilized to begin with so the cost to Digital Ocean during the trial was also lower. Although these customers are on a lower tier, DO is still able to convert a customer, as well as consolidate their VPS in a manner similar to Linode. Overall, this strategy is mostly about the trade off of obtaining higher volumes albeit at a lower margin.

[Enterprises] How can companies offer 1 year free credit?

Amazon offers 12 months of free compute along with other goodies, while Google offers a $300 credit for 12 months in addition to always-free App Engine platform, and Microsoft Azure also runs a similar promotion. These comapnies enjoy top-of-mind consumer awareness which gives them a marketing advantage.

But you might be wondering is this even sustainable? Let’s pick on Amazon since they segment out their AWS financials. In 2017 Amazon AWS had net sales of $17.5 Billion, with an operating margin of 24.8%. Keep in mind however that free credits are treated as expenses for accounting purposes, so it wouldn’t be part of the operating margin.

Amazon provides 12 months of 750 hours of t2.micro compute which has 1 “vCPU” and 1 Gb RAM. Notice this is bits, not bytes. The free tier that Amazon offers provide one-eighth the RAM at a price 55% more expensive than what DO and Linode offers. This additional restriction in RAM further helps in allowing it to consolidate VPS instances to a single machine.

Thus Amazon is able to take the economies of scale to the extreme 4, which can significantly reduce the cost of their promotion. If customers do decide to start paying, the retail prices it charges are higher than that of independent providers. Nonetheless, I would assume that the vast majority of AWS revenue comes from enterprises who deal with significantly higher volumes or require one of the extensive line of services offered. The one year free trial is just a low-cost marketing spend to attract some new customers, but mainly to put pressure on competition to offer promotions (which drive down competitors’ margins more than the effect on Amazon).


There is a fair amount of competition in online hosting but all signs point to continued growth in the overall industry. Thus it is vital that companies be able to attract these new customers by offering free promotions. Thanks to the economies of scale allowed by the consolidation of multiple VPS instances to a single server, the cost of promotion can be reduced. Linode is targeting the Hobbyists segment where the large idle times provide a relatively higher margin. DO’s promotion targets a more established company looking to scale, allowing for higher revenues compared to hobbyists, but at a slightly lower margin. Amazon has significantly better scale and is able to acquire both enterprise customers who contribute higher volumes of revenue, as well as higher margins from idle machines.

Now if only I can stop seeing these Twitter ads because they probably have gotten about all they can out of me, but the nature of online advertising is essentially spray and pray. I just hope I won’t regret seeing whatever ad that becomes the successor.


1 ↩ Looks like their ad works because now I’m writing about it :P

2 ↩ They slightly clarified the ad - originally it was a bit deceiving/clickbait title “free $100 credit” and wasn’t until reaching the website did they explain it was for 60 days only

3 ↩ Here’s some of my favourite podcasts that are sponsored by Linode - take your pick ATP, Core Intuition, or Under the Radar

4 ↩ I mean, I heard Amazon sells a lot of e-books so they must need a good CDN

Gift Card Scams

  • Life

The other day my dad went to buy some house supplies. Just as he was about to checkout, another customer offered him a gift card in exchange for cash at a discount (the gift card was given as store credit for a previous item he returned). After some thought my dad agreed and, after verifying the balance, paid him the cash. My dad then purchased the supplies with the card, afterwards which still had a substantial balance.

He explained what happened after he picked me up and asked if I saw any problems. At first I saw no issue with this: he got cashback from the store, so the customer could not have gotten any personal information. It might have been possible to lookup (future) purchases, but so could a casual observer.

But then the cynic in me came out: Was it possible to purchase something online using a gift card? I checked the website FAQ and sure enough, it was possible.

However I wasn’t too concerned. If this was a scam all along then the money would already be long gone. Furthermore the way that my dad told the story made the other customer sound like he just wanted the liquidity of cash and didn’t have any malicious intent.

We drove back to the store and checked the balance of the card. It was the correct amount. Since we were already at the store and didn’t want to take any chances, we bought some more items to use up the balance (we couldn’t exchange for a new gift card).


As uneventful (albeit random) this story is, I think there were a few interesting learnings here in no particular order.

I was aware of the market where people sell gift cards at a discount online but this was the first time I’ve witnessed it in person. I’ve never really trusted online markets because, if anything went wrong, it can be very frustrating to find someone who can be responsible for the loss. However this risk is significantly reduced if the transaction is in person, and by personally verifying the card balance.

I thought it was unfortunate that the other customer had to sell the gift card at a discount. However there was no way of knowing his reasoning and that was no business of mine. Ultimately it was his decision to offer the balance at the discounted rate. What mattered was that both parties were content with the deal.

It was also interesting to think of this transaction from the view of an investor. Suppose the offer was $200 for a $250 gift card. The potential return would be 25%. Of course there is also the potential of losing 100%, but everything has a risk. What would you have done?

From a developer’s perspective, it was kind of fun to try to think outside the box. For me when dealing with these kinds of questions, I find it easier to just assume there was a solution/scam, which would allow me to focus on how it could have been done.

I try to start with the assumption of good intentions when dealing with strangers. I think this type of behaviour is increasingly important in the society that we have today. In a way, this is the continuous version of prisoner’s dilemma. However, as the saying goes, it is equally important to “trust but verify”.

Thank you to whoever sold that gift card.