YAML: The Norway Problem

Earlier this week, Haroen Viaene posted this tweet about YAML: worst part of yaml: https://yaml.org/type/bool.html — Haroen Viaene (@haroenv) January 10, 2022 The linked-to page contains the documentation on what defines a boolean in YAML, and details that it can be parsed using this regex: y|Y|yes|Yes|YES|n|N|no|No|NO |true|True|TRUE|false|False|FALSE |on|On|ON|off|Off|OFF The reason to why this is problematic …

Don’t Fight the Cascade, Control It!

In this article on CSS-Tricks, Mads Stoumann digs into :where(), Custom Properties, and Cascade Layers to control the CSS Cascade. At the end, Mads concludes: If you leave with only one takeaway from this article, I hope it’s that the CSS cascade is no longer the enemy it’s often made to be. We are gaining …

Glow — Render Markdown on the CLI

Glow is a terminal based markdown reader designed from the ground up to bring out the beauty — and power — of the CLI. Installation per Homebrew brew install glow Once installed, you can open files in several ways: # Read from file glow README.md # Read from stdin glow – # Fetch README from …

Adobe Project Shasta — AI-powered audio recording and editing, all in the web.

Next generation audio from Adobe is here. Record, transcribe, edit, share. Crisp and clear, every time. This is pretty crazy: it automagically transcribes the recorded audio, and allows you to alter the segments by removing words from the transcribed text. That Enhance Speech Filter also blew my mind there. Project Shasta →

rci — A clever React Component for One-Time Passwords (OTP)

rci is a React component that ask for a one time password, in a pretty clever way. rci uses a single DOM input element, overlayed on top of plain divs for styling. Most other implementations of this pattern are based on multiple inputs. Using multiple inputs gives out-of-the-box style consistency, but comes with the disadvantage …

WEBMIDI.js — Send and receive MIDI messages with ease

If you don’t want to directly use the Web MIDI API, you can use WEBMIDI.js WEBMIDI.js makes it easy to interact with MIDI instruments directly from a web browser or from Node.js. It simplifies the control of physical or virtual MIDI instruments with user-friendly functions such as playNote(), sendPitchBend() or sendControlChange(). It also allows reacting …

Migrate a Client-Side Application to React 18 Beta (Video Course)

Up on Egghead you there’s a free video course on how to migrate to React 18. Host Michael Chan walks us through it all in about 15 minutes. In this new course, Michael guides you through incrementally migrating a legacy application that uses the legacy ReactDOM.render() API to the new ReactDOM.createRoot() API. Along the way, …

A story on web engines interoperability related to wavy text decorations

This is a blog post explaining the process of fixing an issue related to wavy text decorations in Blink, that ended up with a similar fix in WebKit. Interesting to read about the work and thought-process behind at-first sight “seemingly simple features” such as the wavy underlines for Spelling and Grammar errors. Be sure to …

hwb() – a color notation for humans?

On the web we can define colors in several Color Spaces. By default we’ve always been using sRGB, but newer ones such as P3 are on the way. To describe a color in CSS (in the sRGB Color Space) we can use the functions rgb() and hsl() today already. Both are well supported, even in …

FOUCE — Flash of Undefined Custom Elements

Cory LaViska: Web components are defined and registered with JavaScript. Depending on how and when you load the scripts that perform registration, you may see a brief flash of unstyled HTML where your custom elements should be when the page loads. This is not dissimilar to FOUC, which occurs when HTML is displayed before the …