41554 blogs ยท [ { "id": "01a0875e-a3c4-7202-83f9-a50d2cf08bab", "title": "Recap of Tales of the Malay World", "url": "https://chenhuijing.com/blog/tales-of-the-malay-world/", "published_at": "2017-12-21T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2d51f0f8", "title": "Notes on vertical writing and CSS grid", "url": "https://chenhuijing.com/blog/notes-on-vertical-writing-and-grid/", "published_at": "2017-12-12T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2d973715", "title": "Hardware hacks: Super Silly Hackathon", "url": "https://chenhuijing.com/blog/hardware-hacks-super-silly-hackathon/", "published_at": "2017-12-10T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2e363f25", "title": "Vertical typesetting with writing-mode revisited", "url": "https://chenhuijing.com/blog/vertical-typesetting-revisited/", "published_at": "2017-12-04T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2e3f1f09", "title": "Practical uses for the aspect-ratio media query", "url": "https://chenhuijing.com/blog/aspect-ratio-media-queries/", "published_at": "2017-11-09T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2ebe8ee4", "title": "Musings on speaking at conferences", "url": "https://chenhuijing.com/blog/musings-on-speaking-at-conferences/", "published_at": "2017-10-15T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2f1cfef4", "title": "Building a CSS-only image gallery (with fallbacks)", "url": "https://chenhuijing.com/blog/building-a-css-only-image-gallery/", "published_at": "2017-10-08T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2f82e858", "title": "Talking about talking CSS", "url": "https://chenhuijing.com/blog/talking-about-talking-css/", "published_at": "2017-09-21T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2fea1815", "title": "Thoughts on the world and our writing systems", "url": "https://chenhuijing.com/blog/thoughts-on-the-world-and-our-writing-systems/", "published_at": "2017-09-12T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d2fff17db", "title": "Basic grid layout with fallbacks using feature queries", "url": "https://chenhuijing.com/blog/basic-grid-with-fallbacks/", "published_at": "2017-09-09T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d30e31875", "title": "The one with big machines", "url": "https://chenhuijing.com/blog/the-one-with-big-machines/", "published_at": "2017-09-04T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d31c99866", "title": "Rethinking web design", "url": "https://chenhuijing.com/blog/rethinking-web-design/", "published_at": "2017-08-12T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d32a417f6", "title": "Drupal 7 versus Drupal 8", "url": "https://chenhuijing.com/blog/drupal7-versus-drupal8/", "published_at": "2017-08-11T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d32ea1fc4", "title": "Drupal 101: Getting started with Drupal 8 theming", "url": "https://chenhuijing.com/blog/drupal-101-d8-theming/", "published_at": "2017-08-01T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3390f604", "title": "Drupal 101: Theming Drupal 8 with gulp", "url": "https://chenhuijing.com/blog/drupal-101-theming-with-gulp-again/", "published_at": "2017-08-01T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3397075a", "title": "Drupal 101: Developing with Pantheon", "url": "https://chenhuijing.com/blog/drupal-101-developing-with-pantheon/", "published_at": "2017-07-30T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d33996066", "title": "The one about an app", "url": "https://chenhuijing.com/blog/the-one-about-an-app/", "published_at": "2017-07-13T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d33a4dd56", "title": "Over-engineering Sass maps", "url": "https://chenhuijing.com/blog/overengineering-sass-maps/", "published_at": "2017-06-30T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d33c94f4a", "title": "The typefaces of Recoleta", "url": "https://chenhuijing.com/blog/typography-of-recoleta/", "published_at": "2017-06-25T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d34586cb6", "title": "Reflecting on this web developer journey", "url": "https://chenhuijing.com/blog/reflecting-on-this-web-developer-journey/", "published_at": "2017-06-11T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d34fa5d6c", "title": "Tracing the history of CSS fonts", "url": "https://chenhuijing.com/blog/tracing-the-history-of-css-fonts/", "published_at": "2017-05-10T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d35a5300c", "title": "A mini Chinese typography exhibit", "url": "https://chenhuijing.com/blog/a-mini-chinese-typography-exhibit/", "published_at": "2017-05-09T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d35b7912a", "title": "The one in a minimalist hacker chic", "url": "https://chenhuijing.com/blog/the-one-in-a-minimalist-hacker-chic/", "published_at": "2017-03-30T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d35e47337", "title": "Be kinder to each other", "url": "https://chenhuijing.com/blog/a-little-more-kindness/", "published_at": "2017-03-24T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d365e242b", "title": "We need to talk about Opera Mini", "url": "https://chenhuijing.com/blog/we-need-to-talk-about-opera-mini/", "published_at": "2017-03-11T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d36e99d27", "title": "How a CSS property made me think about my identity", "url": "https://chenhuijing.com/blog/css-writing-mode-personal-identity/", "published_at": "2017-03-06T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d37913bd9", "title": "Grid + Flexbox: the best 1-2 punch in web layout", "url": "https://chenhuijing.com/blog/css-grid-flexbox-combo/", "published_at": "2017-03-02T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3838cb2b", "title": "1239 days working on the web", "url": "https://chenhuijing.com/blog/1239-days-as-a-web-developer/", "published_at": "2017-02-21T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d39321c02", "title": "The one about home", "url": "https://chenhuijing.com/blog/the-one-about-home/", "published_at": "2017-01-06T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d395eb2ee", "title": "Hosting a Jekyll site on GitLab Pages", "url": "https://chenhuijing.com/blog/hosting-static-site-gitlab-pages/", "published_at": "2017-01-04T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3a45c0be", "title": "East Asian character emojis ใŠ—๏ธ ๐Ÿˆถ๏ธ ๐Ÿˆฏ๏ธ ๐Ÿˆณ๏ธ", "url": "https://chenhuijing.com/blog/east-asian-character-emojis/", "published_at": "2016-12-29T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3a54f285", "title": "Images, the web's nutrition problem", "url": "https://chenhuijing.com/blog/images-problem/", "published_at": "2016-12-22T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3aa4e4b3", "title": "Chinese language on the web", "url": "https://chenhuijing.com/blog/chinese-web-typography/", "published_at": "2016-11-07T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3b7d7ad1", "title": "Upgrading to macOS Sierra", "url": "https://chenhuijing.com/blog/upgrading-mac-osx/", "published_at": "2016-09-27T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3bb204b1", "title": "Fun with CSS: NBA edition", "url": "https://chenhuijing.com/blog/progressive-enhancement-experiment/", "published_at": "2016-09-11T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3c9720d2", "title": "Reminiscing the 90s and other random thoughts", "url": "https://chenhuijing.com/blog/reminiscing-the-90s/", "published_at": "2016-09-08T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3cbd7881", "title": "Fun with CSS: TechLadies edition", "url": "https://chenhuijing.com/blog/fun-with-css/", "published_at": "2016-08-22T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3d0cd60f", "title": "How well do you know CSS display?", "url": "https://chenhuijing.com/blog/how-well-do-you-know-display/", "published_at": "2016-06-18T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3dfe84ca", "title": "All about the HTML element (in 2016)", "url": "https://chenhuijing.com/blog/html-ruby/", "published_at": "2016-06-17T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3e07dba7", "title": "Tim Brown on Shoptalk Ep. 218", "url": "https://chenhuijing.com/blog/tim-brown-on-shoptalk/", "published_at": "2016-06-01T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3e7e6ecb", "title": "Web designers, can you speak web?", "url": "https://chenhuijing.com/blog/speak-web/", "published_at": "2016-04-21T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3eac3f42", "title": "Drupal 101: Setting up basic i18n", "url": "https://chenhuijing.com/blog/drupal-101-setting-up-i18n/", "published_at": "2016-04-13T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3ec7be73", "title": "The one with lots of poultry", "url": "https://chenhuijing.com/blog/the-one-with-lots-of-poultry/", "published_at": "2016-04-13T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d3fbac821", "title": "Gulp, Jekyll and GitHub (pages)", "url": "https://chenhuijing.com/blog/gulp-jekyll-github/", "published_at": "2016-04-10T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d405c9a70", "title": "The one on the cutting edge", "url": "https://chenhuijing.com/blog/the-one-on-the-cutting-edge/", "published_at": "2016-03-31T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d40f50ff1", "title": "Thoughts about organising Talk.CSS", "url": "https://chenhuijing.com/blog/organising-meetups/", "published_at": "2016-02-29T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d41d466cd", "title": "The one where I grok MVC", "url": "https://chenhuijing.com/blog/the-one-where-i-grok-mvc/", "published_at": "2016-02-19T03:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d4202c68c", "title": "Understanding the box model by building a navigation bar", "url": "https://chenhuijing.com/blog/that-navigation-bar-design/", "published_at": "2016-02-19T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d42bb44a2", "title": "Introduction to the Base Framework", "url": "https://chenhuijing.com/blog/intro-to-base-framework/", "published_at": "2016-02-15T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d4328daaf", "title": "Why some large-scale responsive website revamps fail", "url": "https://chenhuijing.com/blog/why-some-website-revamps-fail/", "published_at": "2016-02-05T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d4364d7c7", "title": "Life lessons from the sport I love", "url": "https://chenhuijing.com/blog/on-life-and-basketball/", "published_at": "2015-12-25T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d443bfd7e", "title": "Why developers should attend conferences", "url": "https://chenhuijing.com/blog/why-conferences/", "published_at": "2015-11-01T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d452218d0", "title": "Drupal 101: Installing Drupal 8", "url": "https://chenhuijing.com/blog/drupal-101-getting-started-with-d8/", "published_at": "2015-10-20T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d45d62e22", "title": "Reveal.js + GitHub Pages: when developers give talks", "url": "https://chenhuijing.com/blog/revealjs-and-github-pages/", "published_at": "2015-10-18T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d45d7bb81", "title": "Diamond grid layout with Sass", "url": "https://chenhuijing.com/blog/diamond-grid-using-sass/", "published_at": "2015-10-14T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d4615228a", "title": "Drupal 101: Improving the content authoring experience", "url": "https://chenhuijing.com/blog/drupal-101-improving-content-authoring/", "published_at": "2015-08-30T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d46ccde53", "title": "Drupal 101: Theming Drupal 7 with gulp", "url": "https://chenhuijing.com/blog/drupal-101-theming-with-gulp/", "published_at": "2015-08-16T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d473d7516", "title": "Drupal 101: Getting started with Drupal 7 theming", "url": "https://chenhuijing.com/blog/drupal-101-d7-theming/", "published_at": "2015-08-11T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d478a98f1", "title": "Drupal 101: Starting Drupal development", "url": "https://chenhuijing.com/blog/drupal-101-local-development/", "published_at": "2015-08-09T00:00:00+00:00" }, { "id": "01a0875e-a3c4-7202-83f9-a50d478c636b", "title": "Frameworks and libraries are not the problem, people are", "url": "https://chenhuijing.com/blog/people-are-the-problem/", "published_at": "2015-08-02T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258959e5d7d9", "title": "The basics of CSS transforms: Part 1", "url": "https://chenhuijing.com/blog/basics-of-css-transforms/", "published_at": "2015-07-26T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895a2ed105", "title": "Web development as a profession", "url": "https://chenhuijing.com/blog/web-development-as-a-profession/", "published_at": "2015-07-13T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895a7b68e1", "title": "The one in many languages", "url": "https://chenhuijing.com/blog/the-one-in-many-languages/", "published_at": "2015-06-28T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895b0fff49", "title": "Developing Drupal sites as a team", "url": "https://chenhuijing.com/blog/team-drupal-development/", "published_at": "2015-06-15T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895b15cf2f", "title": "A better web design process", "url": "https://chenhuijing.com/blog/a-better-web-design-process/", "published_at": "2015-06-07T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895bae1308", "title": "Switching from bash to zsh", "url": "https://chenhuijing.com/blog/bash-to-zsh/", "published_at": "2015-05-31T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895c810d99", "title": "Kohana 101: Installation and setup", "url": "https://chenhuijing.com/blog/kohana-101-installation/", "published_at": "2015-05-18T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895c888718", "title": "Drupal 101: Creating an iTunes podcast feed", "url": "https://chenhuijing.com/blog/drupal-101-generating-itunes-rss/", "published_at": "2015-05-04T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895cd1d3e2", "title": "The one on the tightest of deadlines", "url": "https://chenhuijing.com/blog/the-one-on-the-tightest-of-deadlines/", "published_at": "2015-04-27T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895dccdbeb", "title": "The one built from 128 pictures of cakes", "url": "https://chenhuijing.com/blog/the-one-built-from-128-pictures-of-cake/", "published_at": "2015-04-18T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895e4902fd", "title": "Drupal 101: An alternative method for accordions", "url": "https://chenhuijing.com/blog/drupal-101-alternative-accordion/", "published_at": "2015-04-06T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895f05abd7", "title": "Drupal 101: Customising field markup with Display Suite", "url": "https://chenhuijing.com/blog/drupal-101-display-suite-field-settings/", "published_at": "2015-04-06T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895faca658", "title": "The one where I grok jQuery", "url": "https://chenhuijing.com/blog/the-one-where-i-grok-jquery/", "published_at": "2015-04-06T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25895fc42baa", "title": "Drupal 101: Mapping with Leaflet and IP Geolocation", "url": "https://chenhuijing.com/blog/drupal-101-mapping-with-leaflet-and-ipgeoloc/", "published_at": "2015-03-31T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589605fd202", "title": "The one without sleep", "url": "https://chenhuijing.com/blog/the-one-without-sleep/", "published_at": "2015-03-30T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258960eba5f9", "title": "542 days as a Drupal developer", "url": "https://chenhuijing.com/blog/542-days-as-a-drupal-developer/", "published_at": "2015-03-27T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896131ce3f", "title": "Drupal 101: Creating custom content with Panels", "url": "https://chenhuijing.com/blog/drupal-101-creating-custom-content-with-panels/", "published_at": "2015-03-23T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896169815f", "title": "The one where people get a say", "url": "https://chenhuijing.com/blog/the-one-where-people-get-a-say/", "published_at": "2015-03-23T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258961c0cc00", "title": "The one with many iterations", "url": "https://chenhuijing.com/blog/the-one-with-many-iterations/", "published_at": "2015-03-16T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258962110343", "title": "Drupal 101: What I learnt from hours of troubleshooting Feeds", "url": "https://chenhuijing.com/blog/drupal-101-what-i-learnt-from-hours-of-troubleshooting-feeds/", "published_at": "2015-03-13T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896258a1ce", "title": "Drupal 101: Basic site optimisations", "url": "https://chenhuijing.com/blog/drupal-101-basic-site-optimisations/", "published_at": "2015-03-01T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896297cbf1", "title": "Drupal 101: A simple image carousel", "url": "https://chenhuijing.com/blog/drupal-101-simple-image-carousel/", "published_at": "2015-02-23T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896342a755", "title": "Drupal 101: Introduction to views", "url": "https://chenhuijing.com/blog/drupal-101-intro-to-views/", "published_at": "2015-02-20T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589642f5b65", "title": "Why you should be excited about CSS shapes", "url": "https://chenhuijing.com/blog/why-you-should-be-excited-about-css-shapes/", "published_at": "2015-02-18T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589651aaa10", "title": "Setting a custom domain for GitHub pages", "url": "https://chenhuijing.com/blog/setting-up-custom-domain-github-pages/", "published_at": "2015-01-11T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589656d50e5", "title": "How I started with Jekyll and GitHub Pages", "url": "https://chenhuijing.com/blog/2014-12-01-how-i-started-with-jekyll-and-github-pages/", "published_at": "2014-12-01T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258965856d0e", "title": "The one where I learn responsive", "url": "https://chenhuijing.com/blog/the-one-where-i-learn-responsive/", "published_at": "2014-10-10T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589659df1fe", "title": "Drupal 101: Content types", "url": "https://chenhuijing.com/blog/drupal-101-content-types/", "published_at": "2014-10-06T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-2589666eaa32", "title": "The one I cut my teeth on", "url": "https://chenhuijing.com/blog/the-one-i-cut-my-teeth-on/", "published_at": "2014-10-04T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-25896727a86b", "title": "The epic git bomb", "url": "https://chenhuijing.com/blog/the-epic-git-bomb/", "published_at": "2014-03-06T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258967eb101a", "title": "New stuff in Drupal 8", "url": "https://chenhuijing.com/blog/new-stuff-in-drupal-8/", "published_at": "2014-02-11T00:00:00+00:00" }, { "id": "01a0875e-a3c5-73af-9359-258968d858e4", "title": "The one that came first", "url": "https://chenhuijing.com/blog/the-one-that-came-first/", "published_at": "2014-02-09T00:00:00+00:00" } ] posts Claim your blog
Back to Chen Hui Jing
Blog ยท corpus.blog/blogs/chenhuijing.com/posts

Chen Hui Jing

chenhuijing.com

2017

2016

2015

2014