A developer’s field notes
Notes from
the web.
Little discoveries. Useful rabbit holes.
Things learned by building.
By Dillon de Voor · The Netherlands
More field notes
All writingStale-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 readHow 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 readDutch 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 readAngular 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 readThe 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 readGetting 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 readGiving 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 readReading 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 readAsynchronous 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 readNon-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 readAlways 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 readHow to install SassC and LibSass on Ubuntu
Install guide of SassC and LibSass, from cloning their repositories to a working setup.
3 min readParsing emoji Unicode in JavaScript
JavaScript is limited in supporting emoji Unicode. This post describes the problem and a workaround.
7 min readMongoDB 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 readMongoDB 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 readIn JavaScript, almost anything is an expression
Article about JavaScript expressions, operators and operator precedence.
5 min readWelcome to my blog!
First article to kickstart this blog and introduce myself.
2 min read