This week
- I use incremental selections in Neovim all the time. This is where I tap, tap, tap, and on every single tap, the selection expands starting from the cursor position and climbs up by the node or the whole scope. This feature uses Tree-sitter under the hood, so it respects the...
- This blog really isn't just for beating up on Apple for the way it harms users, the web, standards, and society to maintain power and profits. So here's some fun stuff I've been doing in my 11ty setup to improve page performance. Contents Page-Specific Resources via Shortcodes...
Last week
- A collection of battle-tested React hooks that I've used in various projects over the years....
- React just released the new version 19.2.0 which brings several new features including the new [useEffectEvent](https://react.dev/reference/react/useEffectEvent) hook. The doc says that it is a React Hook that lets you extract non-reactive logic from your Effects into a reusable...
Two weeks ago
- There was a time when I could ask, “Did you see the latest NPM attack?” And your answer would be either “Yes” or “No”. But now if I ask, “Did you see the latest NPM attack?” You’ll probably answer with a question of your own: “Which one?” In this post, I’m talking about the Qix...
About a month ago
- In the wake of the largest supply-chain attack in history, the JavaScript community could have a moment of reckoning and decide: never again. As the panic and shame subsides, after compromised developers finish re-provisioning their workstations and rotating their keys, the...
- Part of my role at Mozilla is making sure we're focusing on the right features, and we got onto the topic of fetch upload streams. It's something Chrome has supported for a while, but it isn't yet supported in either Firefox or Safari. I asked folks on various social platforms...
- What happened was, I wrote a bookmarklet in early 2024 that would load all of the comments on a lengthy GitHub issue by auto-clicking any “Load more” buttons in the page, and at some point between then and now GitHub changed their markup in a way that broke it, so I wrote a new...
about 1 month ago
- (I present to you my stream of consciousness on the topic of casing as it applies to the web platform.) I’m reading about the new command and commandfor attributes — which I’m super excited about, declarative behavior invocation in HTML? YES PLEASE!! — and one thing that strikes...
- This is my opinionated syntax primer for the Lean programming language. It is far from complete and may contain inaccuracies (I’m still learning Lean myself) but this is how I wish I was introduced to it, and what I wish was clarified. Why Lean? This post assumes you’re already...
- Updates to the Bear license...
about 2 months ago
- Over the past year, I’ve had the incredible privilege of getting to participate in the Grid-Aware Websites (affectionately abbreviated to GAW) advisory group. The Green Web Foundation team have thoroughly explained what a grid-aware website is in this detailed case study of the...
- Just updated my open source React hook [useResettableActionState](https://github.com/nicnocquee/use-resettable-action-state). At the beginning, I made it to allow me to [reset the state after submitting the form using useActionState](/blog/reset-state-from-react-useactionstate)....
- This week I decided to go nuclear on my bad YouTube habit. I installed a plugin called Tab Limiter that lets me limit youtube.com to one tab at a time. Clicking links that open in new tabs will now auto-close the tab. Why do this? I talked about it before but when I’m bored I...
- I got invited to speak at CSS Day Amsterdam, the same conference that I dreamed about speaking at years ago. I’m honored to be part of the 2025 lineup. Intro I chose to talk about a term I called: Smart Layouts. In short, I advocated for building CSS layouts that are fluid...
- More explorations of ways to abuse the CSS `infinity` keyword, this time with more than just lengths....
- Generating mazes might not be something you do a lot in your typical front-end job. Some might call it a waste of time. Why bother if you’re not a game developer? Who needs that kind of thing? Sure, it might not be essential, but it’s a lot of fun. Building mazes also presents...
- As a project grows, the codebase inevitably becomes more complex. This is where the concept of clean code comes in. Clean code is a set of principles and practices that help developers write code that is easy to understand, maintain, and extend. In React, the complexity of a...
- Jan Miksovsky lays out his idea for website creation as content transformation. He starts by talking about tools that hide what’s happening “under the hood”: A framework’s marketing usually pretends it is unnecessary for you to understand how its core transformation works — but...
- Stay safe out there folks!...
- I created this to help maintain things like cspell dictionaries. It sorts rows of text alphabetically and can remove duplicates. Sort text lines Remove duplicates? Add your text below Sort Copy to Clipboard line.trim() !== ''); if (removeDuplicatesCheckbox.checked) { lines =...
2 months ago
- TLDR: Click here for code to implement a lightweight, resilient clickable YouTube preview. YouTube videos are expensive to load on a web page. This compounds if you want your page to display many videos at the same time for the user to choose from. Before the user even plays the...
Rows per page