Editor's Pick
crisp-game-lib: Minimal JavaScript library for creating classic arcade-like mini-games running in the browser
crisp-game-lib is a JavaScript library for creating browser games quickly and easily.
CSS
CSS finally adds vertical centering in 2024
align-content works in the default layout in 2024, allowing vertical centering with 1 CSS property.
The status quo for CSS alignment is to switch to flexbox or grid because align-content doesn’t work in the default layout (flow). In 2024, browsers have implemented align-content for flow layout.
The CSS contain property
When we apply contain to an element we’re isolating it (and its descendents) from the rest of the page, and this isolation is what opens those possibilities. There are different types of containment which all do different things, and we’ll be getting into each of them.
HTML
Support PUT, PATCH, and DELETE in HTML Forms
A proposal for adding PUT, PATCH, and DELETE support to HTML forms.
JavaScript
Reckoning: Part 4 — The Way Out
JavaScript overindulgence remains an affirmative choice, no matter how hard industry 'thought leaders' gaslight us. Better is possible, but we must want it enough to put users ahead of our own interests.
This is part four of the four-part series "Reckoning". It stands alone from the other three, an interesting first read before the others:
- Reckoning: Part 3 — Caprock
- Reckoning: Part 2 — Object Lesson
- Reckoning: Part 1 — The Landscape
crisp-game-lib: Minimal JavaScript library for creating classic arcade-like mini-games running in the browser
crisp-game-lib is a JavaScript library for creating browser games quickly and easily.
tinykeys: A tiny (~650 B) & modern library for keybindings
A tiny (~650 B) & modern library for keybindings.
Redux Essentials, Part 1: Redux Overview and Concepts
The official Essentials tutorial for Redux: learn how to use Redux, the right way.
UX
Toasts are Bad UX
The core problem is that toasts always show up far away from the user's attention.
Miscellaneous
Software estimates have never worked and never will
It turns out that programmers are actually surprisingly good at delivering great software on time, if you leave the scope open to negotiation during development. You're not going to get exactly what you asked for, but you wouldn't want that anyway. Because what you asked for before you began building was based on the absolute worst understanding of the problem.
Great software is the product of trade-offs and concessions made while making progress.