18 Jan

Setting up Cloudflare for a DigitalOcean droplet

This is a quick recollection of the steps it took to set up Cloudflare for a website that is using Apache on a DigitalOcean Droplet.

What is a CDN and why do I need one?

If you’ve never heard of a CDN or have but are not sure what it is, here is a small explanation. A CDN is a global network of servers that helps distribute your website content to different places across the globe. Most websites start off on a single server. If you set up your own website, you will usually start with a hosting provider and a domain registrar. At the domain registrar you enter the address  of the hosting provider’s DNS servers and/or IP addresses. Sometimes you can have both services from a single company. This is so that when somebody types www.yourwebsite.com the request is correctly routed to your webserver.

In this setup, every visitor to your website will be served by your single server that you rented from your hosting provider. If your hosting provider is in Texas, and your website visitor is in Tokyo, Japan, it will naturally create a little bit of a delay in the communication that happens behind the scenes. The bigger the website you’re serving, the longer it will take to load everything between Texas and Tokyo. Now if you wanted to speed up the loading times for your Japanese visitors, you could set up another server in or close to Japan. But that would be a lot of work and it wouldn’t help your other visitors who might be in South Africa or in Norway.

A Content Distribution network will sit between your hosting provider and your visitors. Because it is a Network, it’s servers are distributed and it will be able to serve your content to much more places, and much faster than you could by setting up a server in every country. Here is an image that I took from Cloudflare’s website and it explains the setup very well I think.


How does the setup process work?

If you’re running a simple website with some information and pictures on it that are not using a secured connection, it’s fairly easy.

  1. Create a cloudflare account
  2. Get your new nameservers from cloudflare
  3. Enter your nameservers in your domain registrar‘s administration panel.
  4. Log in to cloudflare and set up your domains and subdomains
  5. Be sure you recreated all the DNS entries from your old domain registrar. For example, if you are using Google Apps for work, you also have to set up your MX records in your cloudflare account.

What if I use a secure connection over HTTPS?

This was the case for the site I was moving. Cloudflare has a couple of options in their management. They are mostly concerning what certificate to use (cloudflare vs. your own) and what part of the connection should be encrypted with with certificate. Because there are two parts in the connection.


Cloudflare's SSL options

Cloudflare’s SSL options

IMPORTANT: If you are using the option Full or Full (strict), cloudflare will require some time to issue a new certificate. I’m not 100% sure what happens behind the scenes, but in our case for the first 24 hours, our website was showing the scary “Your connection is not private” message in all browsers. During that time, the SSL settings in the cloudflare management screen were saying “Issuing new certificate” or something similar. It was eventually resolved automatically, but this is a very important factor if you’re migrating a live website.

11 Oct

How to localize a website for South Korea

Like any culture, South Korea has its own challenges and pitfalls that you should keep in mind when you have to localize a website for the Korean market. This post is about the unique challenges I have encountered with my projects. I am aware that there are probably more things that are commonly overlooked.


Korean Names are short

The normal lenght of Korean names is 1 character for the last name, and 2 characters for the first name. There are some exceptions, like last names with more than one characters. But keep that in mind when you validate your forms.

Like other asian countries, they also generally write the Last name before the first name. So a typical name Lee Kyung-Su in a standard bootstrap form will look like this:


Keep that in mind when you design your signup, checkout or login forms.


Addresses are written upside down

Addresses in the west are usually written from small to large entity. In Korea, the order of these is inverted. Here is a comparison.

Street and Number
City and Postal Code
Street and Number
Postal Code


How do you talk to your users?

In everyday English you only use one form of politeness. “You”. The Korean language has a whole bunch of them divided into levels of politeness and formality. And which form you use to address your customers or users makes a huge difference. The common form to write is the Haeyo-che form also known to English speakers as the polite form. Refrain from using the impolite form, as users will definitely feel offended by that.

Another thing worth mentioning is that you can’t just address your users in the same way you would in English. If your app or website greets the user after login with “Hi John”, that could be a bad idea in Korea as calling someone by his/her first name is much less common and only done if the speakers are either very close, or if the speaker is talking to a child.


 Date and Time

The common formats of how dates are written in Korea are:

  • 2015.9.13
  • 2015/09/13
  • 2015년 9월 13일



The official currency in South Korea is the Korean Won. It uses the international abbreviation of KRW or the currency symbol ₩. Prices are written in the format #,###. Often the name of the currency “Won” is written out in Hangul as 원 to show prices. So if your website is in English and Korean, it would be a good idea to display prices a little different. For example like this:


One important thing to know is that the Korean language does not use blocks of three to separate numbers. They do have a word for thousand (cheon), but they also have a word for ten-thousand (man). 100,000 in english would be called one-hundred thousand. In Korea on the other hand it would be called ten-man. After that follows one-hundred man, one-thousand man and then one “eok”.

1,000 One thousand 1000 Cheon
10,000 Ten thousand 1,0000 Man
100,000 One hundred thousand 10,0000 Ship (ten) man
1,000,000 One million 100,0000 Baek (hundred) man
10,000,000 Ten million 1000,0000 Cheon (thousand) man
100,000,000 One hundred million 1,0000,0000 Eok


If I find more, I will keep posting things here. Or if you happen to know about more Korean localization topics I’m happy to include them here.