Riobard Zhan

Programmer & Podcaster

Accurately Detect Web Font in Use

From time to time you browse a website and notice that it's using a very pleasing font, and the designer in you wants to know its name. To solve this problem, my friend Willow made a very nice utility called WhatFont a while ago. It's a bookmarklet (and later as Chrome/Safari extensions). Once activated, you can hover your mouse cursor on the text that you're interested in, and it will display the font name of the underlying text. If you click on it, a popover box will appear, showing detailed information like the complete font family, font size, line height, where the font comes from (if it's a web font from a few supported vendors), and a type specimen.

Chromecast vs Apple TV

I have an Apple TV 3. Recently a friend of mine gave me a Chromecast to try out. After playing with it for a while, I think I could share my experience and compare the two devices from a geek's perspective.

Unicode Note

Unicode defines a total of 1,114,112 code points (a non-negative integer representing an abstract character) in the range of 0x0 to 0x10FFFF, with each code point corresponding to a symbol. The latest version of Unicode 6.0 defines 109,000 code points.

Configure PPTP VPN on Ubuntu

Here is a quick tutorial to set up a basic PPTP VPN server on Ubuntu 10.04.

SVG Web Fonts Suck

The primary reason we need SVG fonts is because Mobile Safari on iPhone and iPad only accepts SVG fonts. For the love of God, don’t do it. At least don’t do it now. Here’s why.

Current Status of Web Fonts

Google rolled out its own web font directory during Google I/O 2010 with a rather elegant and easy-to-use API. I’m expecting lots of people would jump on the bandwagon and start using customized fonts instead of the “web safe” but boring fonts (Helvetica, Arial, Verdana, Georgia, and friends). Before you follow suit, here is a list of things you should consider.

Signing and Encrypting Email in

I was setting up secure HTTP connections for with a free SSL certificate from StartSSL when I found out they also issue free S/MIME certificates to individuals. I started signing all my emails afterwards. Lawrence asked how he can get it working too. I thought I could write it up so others can get a clue if they want to do the same. It is always good to have more people signing and encrypting their emails; the world would be a much better place (probably not for phishers). Thus this post.

Configure L2TP/IPSec VPN on Ubuntu

I need a working L2TP/IPSec VPN for my MacBook and iPhone. I used to have PPTP since it is easy to configure. However some friends suggest that PPTP might not be available on certain 3G networks (i.e. China Unicom) and only L2TP/IPSec is allowed. The extra security of IPSec is also nice to have.

CSS Itch: Ditch Sass, Embrace LESS

Writing stylesheets in plain CSS manually is no fun, especially when the structure of the page is constantly changing. So I use Sass to ease the pain. Basically, it allows me to write stylesheets in a nice syntax and compile to plain CSS files later. Suddenly creating stylesheets becomes a joy again: no longer do I need to repeat a long string of parent selectors, because nesting presents a natural hierarchy of the targeting pages; nor is it necessary to hard code redundant length, colors, or fonts in attributes, since variable substitution allows me to store those values centrally and refer to them later indirectly; and I can even mix in a whole set of CSS rules with a single line of code.

Google Chrome Renders CSS text-shadow Wrong

Google Chrome used the wrong way to render CSS text-shadow property on both OS X and Windows. See the screenshots to see what I mean.