The value of live web design
Over the years, I’ve regularly seen blog posts or articles talking about “should designers code?” (less of …
My ideal frontend interview
I’ll be the first to admit that I think I’m terrible at tech interviews. I never had a proper computer science …
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 we now …
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 was the …
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. If you didn’t, you …
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 a full-featured presentation …
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 comparative …
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 awesome.
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 go to an …
Math and front-end
If you were one of those kids that wondered why you had to attend all those math classes and learn about angles and algebra, well, …
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 because I’ve …
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. I remember …
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 …