You can visually inspect React trees with a couple lines of code with the excellent Bippy toolkit by Aiden Bai.
import { Inspector } from 'bippy';
<Inspector enabled={true} />

Works with React v17-19!
Previously: Bippy and React Fibers.
Observations while developing web applications and creating great software.
You can visually inspect React trees with a couple lines of code with the excellent Bippy toolkit by Aiden Bai.
import { Inspector } from 'bippy';
<Inspector enabled={true} />
Works with React v17-19!
Previously: Bippy and React Fibers.
What makes a cool URI?
Tim Berners-Lee, 1998
A cool URI is one which does not change.
What sorts of URI change?
URIs don’t change: people change them.
Lots of respect for people who keep old URIs working. It becomes a lot easier when URIs are designed like the rest of your software.
Tim Berners-Lee invented the World Wide Web in 1990. He wrote the first browser on a NeXT Computer.
Using a mix of lowercase and uppercase causes pain on case-insensitive file systems like APFS by default on macOS.
Changing file case in Git commits is a bit weird already. My preference is to keep with existing conventions instead of injecting my own but if you’re starting a new project skip the (lower) camel case.
In the last week, I imported a TypeScript file with a different case than what was on disk by mistake. Some tools accepted it. The import-x/extensions ESLint rule failed because of the case mismatch. The error message there did not suggest anything about letter case.
Tim Falzone and Ben Treynor Sloss at Google:
In the face of increasing system complexity and emerging challenges, we at Google are always asking ourselves: what’s next? How can we continue to push the boundaries of reliability and safety?
To address these challenges, Google SRE has embraced systems theory and control theory. We have adopted the STAMP (System-Theoretic Accident Model and Processes) framework, developed by Professor Nancy Leveson at MIT, which shifts the focus from preventing individual component failures to understanding and managing complex system interactions.
System failures often have subjective root causes. Asking different questions leads to different outcomes:
Instead of asking “What software service failed?” we ask “What interactions between parts of the system were inadequately controlled?” In complex systems, most accidents result from interactions between components that are all functioning as designed, but collectively produce an unsafe state.
The concept of a system entering a hazard state is a good one.
Hazard states are not system failures, but they are unsafe conditions which can lead to failures. Having automated and manual tools maintain awareness of being in a hazard state can help prevent disasters.