Blog
2023
- Amazon SES Production Access Approval Oct 3
- Next.js error about native node modules using bindings Aug 13
- Getting theme colors in JavaScript using React with DaisyUI and TailwindCSS Aug 10
- CSS only placeholder for contenteditable elements Jul 2
- Fully Headless Setup for Raspberry Pi Apr 27
- Self Hosted Backups with Minio, Kopia, and Tailscale Apr 25
- Setting up my blog as an Onion service (Tor hidden service) Mar 5
- Making the Slow Explicit: Dynamodb vs SQL Feb 26
- Enforcing a "Do Not Merge" label with Github Actions Feb 18
- Why I use Dev containers for most of my projects Feb 9
- Get inferred type for a generic parameter in TypeScript Jan 28
2022
- Hosting websites without a static IP with Gandi LiveDNS Dec 29
- Solving "XML Parsing Error: no root element found" in Firefox Dec 17
- Automating My Blog With Gitea and Woodpecker Nov 19
- Browser Caching: Assets not revalidated when server sends a 304 'Not Modified' for html page Oct 15
- Solving React Redux Triggering Too Many Re-Renders Sep 18
- My Experience Applying & Interviewing for Software Engineering Positions Jul 10
- My New Backup Setup with Kopia May 29
- React Navigation on web, getting browser history to work with links May 9
- actix-web Url Dispatch and Middleware Apr 24