3 min read
Angular signals for everyday admin pages
A practical guide to signal, computed, input, and effect, using a filterable list page as the example.
~/writing
Notes on .NET, Angular, Spring Boot, and building production systems.
RSS feed10 articles
3 min read
A practical guide to signal, computed, input, and effect, using a filterable list page as the example.
3 min read
Strictly typed FormGroups, non-nullable controls, cross-field validation, and mapping form values to an API request.
3 min read
One error shape for every failure: validation, not found, and unhandled exceptions, using the RFC 9457 format built into ASP.NET Core.
3 min read
Why a cancelled HTTP request should stop its database query too, and the small habits that make it happen.
3 min read
Stop accepting new requests, finish the ones in flight, then close the database: a small main.go pattern for containers and deploys.
3 min read
Why retries cause double charges, and how an Idempotency-Key header backed by a unique constraint prevents them in Spring Boot.
3 min read
How the contact form on this site works: a Server Action, Zod validation, useActionState, a honeypot, a timing check, and Resend.
3 min read
Field apps lose signal. Saving drafts as the user types and queueing submissions keeps long forms from being lost.
3 min read
Bean Validation on DTOs, one @RestControllerAdvice, and ProblemDetail responses that frontends can rely on.
3 min read
Why OFFSET/FETCH slows down on deep pages, how keyset (seek) pagination fixes it, and the index that makes it work.