For archival purposes

client-work (14) codrops (13) computing (1) css (65) design (35) devlife (17) devtools (2) drupal7 (28) drupal8 (7) emoji (1) frameworks (4) git (1) github-pages (5) gitlab-pages (1) gulp (5) hardware (2) html (11) i18n (6) javascript (19) jekyll (6) kohana (3) nexmo (9) nodejs (10) opinion (35) performance (4) podcasts (3) react (1) retrotech (5) rtc (1) servers (2) side-project (5) site-building (12) specifications (1) theming (4) translated (5) typography (15) workflow (8)
2020

On attributes for HTML form elements

I often come across tutorials about building forms on the web. In spite of all the newfangled techniques and frameworks...

2019

Recreating the Fool's Mate chess move with CSS Grid

When Firefox 66 was released, one of the features that got myself and a couple other layout enthusiasts really excited...

Internet Explorer 3, an adventure in cross-browser compatibility

Some of you might know that I run the CSS meetup, Talk.CSS in Singapore together with my best mate, Wei....

HTML slides without frameworks, just CSS

I am a huge fan of reveal.js and have used it for almost every talk I’ve ever given. It is...

Table design patterns on the web

Tables are a design pattern for displaying large amounts of data in rows and columns, making them efficient for doing...

2018

Customise radio buttons without compromising accessibility

We can do quite a lot with CSS to create fancy radio buttons (or checkboxes, for that matter), and that’s...

Refactoring an inherited codebase

So for 2018, I got myself some gainful employment doing full-time frontend development work. You know, the kind where you...

Math and front-end

If you were one of those kids that wondered why you had to attend all those math classes and learn...

Learning Cordova while rewriting an app

This is a “refactoring legacy code” post, and I suspect you’ll see more of these in the months to come...

2016

Images, the web's nutrition problem

Okay, that wasn’t my best headline, writing is hard 🤷. But let’s face it, the web has an obesity problem....

All about the HTML <ruby> element (in 2016)

The ruby I’m talking about is not the Ruby programming language. As a native Mandarin speaker, this element is pretty...