Mitigating the iconv Vulnerability for PHP (CVE-2024–2961)Check & disable bad encodings in iconv/gconvApr 23Apr 23
Adventures in AI-assisted proof generationOr: ChatGPT eats the world, formal-methods styleMar 20, 2023Mar 20, 2023
Generalized Commutative Data-TypesA mechanism for consistent parallel computationDec 9, 2022Dec 9, 2022
Published inBetter ProgrammingRancher K3s: Kubernetes on Proxmox ContainersUsing LXC containers and K3s to spin up a K8s cluster with NGINX Ingress ControllerApr 19, 20225Apr 19, 20225
Published inBetter ProgrammingRuntime Data Validation from TypeScript InterfacesHow I (ab)used the TypeScript compiler to enable transparent runtime validation using Zod and TypeScript interfaces.Jan 14, 2022Jan 14, 2022
Published inGeek CultureRethinking Dependency Injection in TypeScriptComparing named-injection, constructor-injection, and property-injectionMar 30, 20211Mar 30, 20211
An Open Letter to Roger MarshallUphold your constitutional and moral duty. Vote to certify.Jan 2, 2021Jan 2, 2021
Converting an Ionic/Angular Site into a Progressive Web AppUsing the Angular service-worker to make your app available offline.Dec 1, 20201Dec 1, 20201
How to Code From Home Like a BossTips, tricks, and downright hacks to make working as a remote developer just a little nicerJul 23, 20201Jul 23, 20201