The Curious Engineer

All blogs / Frontend / CSS / browsers

Chen Hui Jing

chenhuijing.com

The chronicles of a self-taught designer and developer who started building on the web when HTML tables were being phased out and floats were the hot new thing.

Frontend / CSS / browsersWeb developmentJavaScript / TypeScriptEngineering blogs

Posts
192 from 9 Feb 2014 to 23 Aug 2026
Posting
now and then (5 in the last year)
Kind
personal blog
Feed
https://chenhuijing.com/rss.xml

2026 5

  1. I still like writing websites by hand
  2. Building a connect wallet button
  3. more ➞
  4. Designing a who-pays-the-fee interface
  5. Mathematical precision in Javascript

2025 9

  1. Database troubleshooting for Umami
  2. How standards enhance the developer experience
  3. Let's talk sample apps
  4. Migrating from Hugo to Astro
  5. Tag, you're it!
  6. Migrating content collections from Astro 4 to 5
  7. The case for “old school” CSS
  8. Implementing pagination on an Astro blog
  9. Learning web extensions

2024 8

  1. Chill day just HTML-ing and CSS-ing
  2. How to try experimental CSS features
  3. Generating a weekly calendar from JSON data
  4. Creating excerpts in Astro
  5. The value of live web design
  6. Wow, the blog is 10 years old 🥳
  7. My ideal frontend interview
  8. Let's inspect a phishing site

2023 6

  1. Pulling content from external API into Drupal 10
  2. Customising content markdown via frontmatter in Astro
  3. Back from blogging hiatus? Maybe…
  4. OMG, I'm doing Drupal again
  5. State of CSS survey 2023 is live!
  6. Debugging Firefox on Android

2022 8

  1. So your designer wants stuff to overlap
  2. Hacking background-clip with gradient colour stops
  3. The horizontal overflow problem
  4. Can we enterprise CSS grid?
  5. CSS card shadow effects
  6. CSS animation on button hover state
  7. @font-face fun times
  8. Random update for 2022

2021 4

  1. The many methods for using SVG icons
  2. Debugging vertical layouts in 2021
  3. DevTools for CSS layouts 2021 edition
  4. Understanding browser cookies 🍪

2020 17

  1. Setting up umami on Heroku
  2. Migrating mLab to MongoDB Atlas
  3. What is RedViolaPanda?
  4. Monetizing Your Blog With Coil
  5. Let's talk about Web Monetization
  6. On fixed elements and backgrounds
  7. Revisiting Drupal 8 After 2 Years
  8. The one in black and orange
  9. Migrating from Jekyll to Hugo
  10. CSS for internationalisation
  11. Flexbox and absolute positioning
  12. Being a bilingual developer
  13. On attributes for HTML form elements
  14. Can you make a countdown timer in pure CSS?
  15. Basics of State and Props in React (2020 edition)
  16. Is your browser a polyglot?
  17. Building a Windows 3.1 application in 2019

2019 28

  1. Understanding positioning in CSS
  2. Talking about talking CSS 2019 edition
  3. DevTools as the ultimate CSS advocate
  4. The one which is impossible to spell
  5. Box alignment and overflow
  6. The wondrous world of CSS counters
  7. Let's talk about some amazing women in my life
  8. Where did CSS named colours come from?
  9. Sub-pixel rendering and borders
  10. Learning CSS by reading specs
  11. Flexbox and padding
  12. Figuring out CSS animation properties with a magic kittencorn
  13. Recreating the Fool's Mate chess move with CSS Grid
  14. The importance of representation
  15. Internet Explorer 3, an adventure in cross-browser compatibility
  16. A thank you and love letter to CSSConf EU
  17. Friends don't let friends implement dark mode alone
  18. Understanding grid placement through building a HTML periodical table
  19. Using CSS to make a print banner
  20. A short musing on writing systems
  21. CSS variables for fun and no profit
  22. Windows 3.1, a walk down memory lane
  23. The value of sharing our perspectives
  24. An exercise in progressive enhancement
  25. HTML slides without frameworks, just CSS
  26. Tunnelling services for exposing localhost to the web
  27. Handling external posts on your own Jekyll site
  28. Customising Reveal.js beyond creating a personalised theme

2018 14

  1. Using DevTools to understand modern layout techniques
  2. Organising Talk.CSS, consistently anyhowly
  3. 1827 days working on the web
  4. Refactoring an inherited codebase
  5. So I mucked up my server last night
  6. Creating a custom sublime text colour scheme
  7. CSS exclusions with Queen Bey
  8. Talking about talking CSS 2018 edition
  9. Preserving mother tongues
  10. Learning Cordova while rewriting an app
  11. Making sense of digital fonts
  12. How I design with CSS grid
  13. Teaching CSS grid to newcomers
  14. Managing data with Jekyll

2017 31

  1. Building a webic community
  2. Recap of Tales of the Malay World
  3. Notes on vertical writing and CSS grid
  4. Hardware hacks: Super Silly Hackathon
  5. Vertical typesetting with writing-mode revisited
  6. Practical uses for the aspect-ratio media query
  7. Musings on speaking at conferences
  8. Building a CSS-only image gallery (with fallbacks)
  9. Talking about talking CSS
  10. Thoughts on the world and our writing systems
  11. Basic grid layout with fallbacks using feature queries
  12. The one with big machines
  13. Rethinking web design
  14. Drupal 7 versus Drupal 8
  15. Drupal 101: Getting started with Drupal 8 theming
  16. Drupal 101: Theming Drupal 8 with gulp
  17. Drupal 101: Developing with Pantheon
  18. The one about an app
  19. Over-engineering Sass maps
  20. The typefaces of Recoleta
  21. Reflecting on this web developer journey
  22. Tracing the history of CSS fonts
  23. A mini Chinese typography exhibit
  24. The one in a minimalist hacker chic
  25. Be kinder to each other
  26. We need to talk about Opera Mini
  27. How a CSS property made me think about my identity
  28. Grid + Flexbox: the best 1-2 punch in web layout
  29. 1239 days working on the web
  30. The one about home
  31. Hosting a Jekyll site on GitLab Pages

2016 20

  1. East Asian character emojis ㊗️ 🈶️ 🈯️ 🈳️
  2. Images, the web's nutrition problem
  3. Chinese language on the web
  4. Upgrading to macOS Sierra
  5. Fun with CSS: NBA edition
  6. Reminiscing the 90s and other random thoughts
  7. Fun with CSS: TechLadies edition
  8. How well do you know CSS display?
  9. All about the HTML element (in 2016)
  10. Tim Brown on Shoptalk Ep. 218
  11. Web designers, can you speak web?
  12. Drupal 101: Setting up basic i18n
  13. The one with lots of poultry
  14. Gulp, Jekyll and GitHub (pages)
  15. The one on the cutting edge
  16. Thoughts about organising Talk.CSS
  17. The one where I grok MVC
  18. Understanding the box model by building a navigation bar
  19. Introduction to the Base Framework
  20. Why some large-scale responsive website revamps fail

2015 35

  1. Life lessons from the sport I love
  2. Why developers should attend conferences
  3. Drupal 101: Installing Drupal 8
  4. Reveal.js + GitHub Pages: when developers give talks
  5. Diamond grid layout with Sass
  6. Drupal 101: Improving the content authoring experience
  7. Drupal 101: Theming Drupal 7 with gulp
  8. Drupal 101: Getting started with Drupal 7 theming
  9. Drupal 101: Starting Drupal development
  10. Frameworks and libraries are not the problem, people are
  11. The basics of CSS transforms: Part 1
  12. Web development as a profession
  13. The one in many languages
  14. Developing Drupal sites as a team
  15. A better web design process
  16. Switching from bash to zsh
  17. Kohana 101: Installation and setup
  18. Drupal 101: Creating an iTunes podcast feed
  19. The one on the tightest of deadlines
  20. The one built from 128 pictures of cakes
  21. Drupal 101: An alternative method for accordions
  22. Drupal 101: Customising field markup with Display Suite
  23. The one where I grok jQuery
  24. Drupal 101: Mapping with Leaflet and IP Geolocation
  25. The one without sleep
  26. 542 days as a Drupal developer
  27. Drupal 101: Creating custom content with Panels
  28. The one where people get a say
  29. The one with many iterations
  30. Drupal 101: What I learnt from hours of troubleshooting Feeds
  31. Drupal 101: Basic site optimisations
  32. Drupal 101: A simple image carousel
  33. Drupal 101: Introduction to views
  34. Why you should be excited about CSS shapes
  35. Setting a custom domain for GitHub pages

2014 7

  1. How I started with Jekyll and GitHub Pages
  2. The one where I learn responsive
  3. Drupal 101: Content types
  4. The one I cut my teeth on
  5. The epic git bomb
  6. New stuff in Drupal 8
  7. The one that came first