Dataview's dv.pages() vs dv.list()
Which Dataview query to reach for, and when the other one is simpler.
Which Dataview query to reach for, and when the other one is simpler.
Parent selectors that actually work, after decades of waiting.
Why models are so much better at finding your bug than designing your system.
Pulling the code you keep copying between projects into something reusable.
Catching a missing environment variable at boot rather than in production.
Opening and closing the day deliberately instead of just letting it happen.
Getting the linter to enforce the thing you keep repeating in reviews.
Useful while you are learning, and worth putting down once you have.
Nobody has ever needed a comment narrating the line directly underneath it.
Reviews are for sharing what you know, not for scoring points on style.
Why ‘my code’ is a phrase that should worry you and everyone around you.
Drama belongs on a stage, deliberately, and not in the middle of your day.
Certificates that renew themselves, off the back of about three lines of config.
Working yourself into the ground is not dedication, it is bad planning.
Type safety from client to server, with none of the code generation.
Moving a lot of data without your process quietly running out of memory.
First-party WebSockets in Laravel, without reaching for a third party.
One codebase serving many customers without their data getting mixed up.
Building a narrow assistant that knows your workflow rather than everything.
Moving the tedious jobs into the CLI, where they were always meant to live.
Use Dataview queries to automatically aggregate daily notes and completed tasks into a weekly review.
Letting a bot take the boring first pass so people review what matters.
Small atomic notes that quietly compound into something genuinely useful.
Validating at runtime so your compile-time types are not a comfortable lie.
Sending events to other people’s systems and coping when they are down.
Getting a model to answer from your documents instead of inventing things.
Letting other people extend your code without it descending into chaos.
Blocking ads at the DNS level and doing your own recursion while you are there.
Keeping track of the people you care about without paying monthly for it.
Give Claude direct access to your local notes folder using the Model Context Protocol.
Jellyfin and the *arr apps wired together so the library looks after itself.
Using Yjs so your app carries on working when the network does not.
Getting slow work off the request cycle without losing any of it.
One page that tells you whether everything in the house is still up.
Terminal UIs in React with proper command parsing.
Momentum is easier to maintain than it ever is to create from scratch.
Why the big rewrite never actually happens, and what to do instead.
The tooling is not coming for your job, but the people using it might be.
The one Linux command that tells even root to do one.
Practising reduce until it stops feeling like witchcraft.
A little trick to speed you along your development journey.
Put a rock in some water and ask if anyone fancies adding a carrot.
Functions that change shape depending on what you hand them.
How I actually structure a day around a big family and too many projects.
Functions that take functions, and why you already use them every day.
Three ways to tell a function what ’this’ is supposed to mean.
The pattern that gave us module scope before modules turned up.
Double equals, triple equals, and when you can trust either of them.
What JavaScript does with your declarations before it runs a single line.
Why JavaScript quietly changes your types behind your back.
Everything JavaScript thinks a value can be, and why that matters.
The distinction that trips everyone up at some point, explained properly.
Start typing to search...