Skip to content
crocodillon.

The complete collection

Writing.

An archive of experiments, explanations, and things that took a little figuring out.

18 articles · 2013–2026

2026

  1. A form that looks like JSON

    A small React experiment: edit a form that looks like syntax-highlighted JSON, with nested objects, arrays, and all the JSON value types.

    2 min read

  2. Stale-while-revalidate caching with RxJS

    Build a shareLast operator that shares requests, remembers the last response, and replays it while refreshing. Compare it with share and shareReplay.

    9 min read

  3. How I created a single element Slack loader

    Taking apart an old CSS experiment: one HTML element, two pseudo-elements, four box-shadows, and a few keyframes recreate the old Slack loader.

    8 min read

  4. Dutch dates with a custom Angular Material date adapter

    Let users type DD-MM-YYYY into an Angular Material datepicker with a small custom NativeDateAdapter and a placeholder that explains the expected format.

    3 min read

  5. Angular date, time and datetime controls with NgControl

    Reusable Angular Material date and time controls that work with nested reactive forms, without passing FormControl instances through your component tree.

    4 min read

  6. The AI efficiency paradox

    AI helps me get more done, but somehow I end up with less free time. A few thoughts on productivity, keeping up, and knowing when to stop.

    3 min read

  7. Getting back to writing

    After years away, a PHP security advisory finally pushed me to migrate this blog and make publishing something I might actually do again.

    3 min read

  8. Giving Markdown a lead paragraph with remark

    A tiny remark plugin that adds Tailwind Typography’s lead class to the first paragraph of Markdown rendered with react-markdown.

    3 min read

2016

  1. Reading query string values in JavaScript

    To get anything useful from window.location.search you need to parse it in JavaScript to get individual values.

    2 min read

2015

  1. Asynchronous callbacks in Koa

    Trying to send an asynchronous response in Koa but all you get is “Error: Can't set headers after they are sent.”?

    3 min read

2014

  1. Non-blocking web fonts using LocalStorage

    You want custom web fonts, but without the performance drawback? Read how to use a simple script to load base64 encoded web fonts in a non-blocking way and cache them in LocalStorage.

    5 min read

  2. Always catch LocalStorage security and quota exceeded errors

    Why you should always catch LocalStorage errors, and a cross-browser solution to catch the quota exceeded error.

    4 min read

  3. How to install SassC and LibSass on Ubuntu

    Install guide of SassC and LibSass, from cloning their repositories to a working setup.

    3 min read

  4. Parsing emoji Unicode in JavaScript

    JavaScript is limited in supporting emoji Unicode. This post describes the problem and a workaround.

    7 min read

2013

  1. MongoDB for DBAs: CRUD

    Summary of the “MongoDB for DBAs” course at MongoDB University. Week 2 is about basic CRUD operations and administrative commands.

    10 min read

  2. MongoDB for DBAs: Introduction

    Summary of the “MongoDB for DBAs” course at MongoDB University. Week 1 is an introduction to MongoDB, not just how but also why.

    11 min read

  3. In JavaScript, almost anything is an expression

    Article about JavaScript expressions, operators and operator precedence.

    5 min read

  4. Welcome to my blog!

    First article to kickstart this blog and introduce myself.

    2 min read