All blogs / Frontend / CSS / browsers
Chen Hui Jing
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
2025 9
2024 8
2023 6
2022 8
2021 4
2020 17
- Setting up umami on Heroku
- Migrating mLab to MongoDB Atlas
- What is RedViolaPanda?
- Monetizing Your Blog With Coil
- Let's talk about Web Monetization
- On fixed elements and backgrounds
- Revisiting Drupal 8 After 2 Years
- The one in black and orange
- Migrating from Jekyll to Hugo
- CSS for internationalisation
- Flexbox and absolute positioning
- Being a bilingual developer
- On attributes for HTML form elements
- Can you make a countdown timer in pure CSS?
- Basics of State and Props in React (2020 edition)
- Is your browser a polyglot?
- Building a Windows 3.1 application in 2019
2019 28
- Understanding positioning in CSS
- Talking about talking CSS 2019 edition
- DevTools as the ultimate CSS advocate
- The one which is impossible to spell
- Box alignment and overflow
- The wondrous world of CSS counters
- Let's talk about some amazing women in my life
- Where did CSS named colours come from?
- Sub-pixel rendering and borders
- Learning CSS by reading specs
- Flexbox and padding
- Figuring out CSS animation properties with a magic kittencorn
- Recreating the Fool's Mate chess move with CSS Grid
- The importance of representation
- Internet Explorer 3, an adventure in cross-browser compatibility
- A thank you and love letter to CSSConf EU
- Friends don't let friends implement dark mode alone
- Understanding grid placement through building a HTML periodical table
- Using CSS to make a print banner
- A short musing on writing systems
- CSS variables for fun and no profit
- Windows 3.1, a walk down memory lane
- The value of sharing our perspectives
- An exercise in progressive enhancement
- HTML slides without frameworks, just CSS
- Tunnelling services for exposing localhost to the web
- Handling external posts on your own Jekyll site
- Customising Reveal.js beyond creating a personalised theme
2018 14
- Using DevTools to understand modern layout techniques
- Organising Talk.CSS, consistently anyhowly
- 1827 days working on the web
- Refactoring an inherited codebase
- So I mucked up my server last night
- Creating a custom sublime text colour scheme
- CSS exclusions with Queen Bey
- Talking about talking CSS 2018 edition
- Preserving mother tongues
- Learning Cordova while rewriting an app
- Making sense of digital fonts
- How I design with CSS grid
- Teaching CSS grid to newcomers
- Managing data with Jekyll
2017 31
- Building a webic community
- Recap of Tales of the Malay World
- Notes on vertical writing and CSS grid
- Hardware hacks: Super Silly Hackathon
- Vertical typesetting with writing-mode revisited
- Practical uses for the aspect-ratio media query
- Musings on speaking at conferences
- Building a CSS-only image gallery (with fallbacks)
- Talking about talking CSS
- Thoughts on the world and our writing systems
- Basic grid layout with fallbacks using feature queries
- The one with big machines
- Rethinking web design
- Drupal 7 versus Drupal 8
- Drupal 101: Getting started with Drupal 8 theming
- Drupal 101: Theming Drupal 8 with gulp
- Drupal 101: Developing with Pantheon
- The one about an app
- Over-engineering Sass maps
- The typefaces of Recoleta
- Reflecting on this web developer journey
- Tracing the history of CSS fonts
- A mini Chinese typography exhibit
- The one in a minimalist hacker chic
- Be kinder to each other
- We need to talk about Opera Mini
- How a CSS property made me think about my identity
- Grid + Flexbox: the best 1-2 punch in web layout
- 1239 days working on the web
- The one about home
- Hosting a Jekyll site on GitLab Pages
2016 20
- East Asian character emojis ㊗️ 🈶️ 🈯️ 🈳️
- Images, the web's nutrition problem
- Chinese language on the web
- Upgrading to macOS Sierra
- Fun with CSS: NBA edition
- Reminiscing the 90s and other random thoughts
- Fun with CSS: TechLadies edition
- How well do you know CSS display?
- All about the HTML element (in 2016)
- Tim Brown on Shoptalk Ep. 218
- Web designers, can you speak web?
- Drupal 101: Setting up basic i18n
- The one with lots of poultry
- Gulp, Jekyll and GitHub (pages)
- The one on the cutting edge
- Thoughts about organising Talk.CSS
- The one where I grok MVC
- Understanding the box model by building a navigation bar
- Introduction to the Base Framework
- Why some large-scale responsive website revamps fail
2015 35
- Life lessons from the sport I love
- Why developers should attend conferences
- Drupal 101: Installing Drupal 8
- Reveal.js + GitHub Pages: when developers give talks
- Diamond grid layout with Sass
- Drupal 101: Improving the content authoring experience
- Drupal 101: Theming Drupal 7 with gulp
- Drupal 101: Getting started with Drupal 7 theming
- Drupal 101: Starting Drupal development
- Frameworks and libraries are not the problem, people are
- The basics of CSS transforms: Part 1
- Web development as a profession
- The one in many languages
- Developing Drupal sites as a team
- A better web design process
- Switching from bash to zsh
- Kohana 101: Installation and setup
- Drupal 101: Creating an iTunes podcast feed
- The one on the tightest of deadlines
- The one built from 128 pictures of cakes
- Drupal 101: An alternative method for accordions
- Drupal 101: Customising field markup with Display Suite
- The one where I grok jQuery
- Drupal 101: Mapping with Leaflet and IP Geolocation
- The one without sleep
- 542 days as a Drupal developer
- Drupal 101: Creating custom content with Panels
- The one where people get a say
- The one with many iterations
- Drupal 101: What I learnt from hours of troubleshooting Feeds
- Drupal 101: Basic site optimisations
- Drupal 101: A simple image carousel
- Drupal 101: Introduction to views
- Why you should be excited about CSS shapes
- Setting a custom domain for GitHub pages