Garrett MillsMitigating the iconv Vulnerability for PHP (CVE-2024–2961)Check & disable bad encodings in iconv/gconvApr 23Apr 23
Garrett MillsAdventures in AI-assisted proof generationOr: ChatGPT eats the world, formal-methods styleMar 20, 2023Mar 20, 2023
Garrett MillsGeneralized Commutative Data-TypesA mechanism for consistent parallel computationDec 9, 2022Dec 9, 2022
Garrett MillsinBetter ProgrammingRancher K3s: Kubernetes on Proxmox ContainersUsing LXC containers and K3s to spin up a K8s cluster with NGINX Ingress ControllerApr 19, 20225Apr 19, 20225
Garrett MillsinBetter 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
Garrett MillsinGeek CultureRethinking Dependency Injection in TypeScriptComparing named-injection, constructor-injection, and property-injectionMar 30, 20211Mar 30, 20211
Garrett MillsAn Open Letter to Roger MarshallUphold your constitutional and moral duty. Vote to certify.Jan 2, 2021Jan 2, 2021
Garrett MillsConverting an Ionic/Angular Site into a Progressive Web AppUsing the Angular service-worker to make your app available offline.Dec 1, 20201Dec 1, 20201
Garrett MillsHow 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