41554 blogs · [
{
"id": "01a087dc-f42a-7190-a1a9-d3e80913d6a5",
"title": "2026 Won't Be the Year of AI Slop. It'll Be the Year We Wake Up to AI Security.",
"url": "https://scott.willeke.com/2026-llm-agent-security-reckoning/",
"published_at": null
},
{
"id": "01a087dc-f42a-7190-a1a9-d3e809f751d8",
"title": "Curating AI Coding Agents: Why 80% AI-Written Code Still Needs a Human in the Driver's Seat",
"url": "https://scott.willeke.com/curating-ai-coding-agents/",
"published_at": null
},
{
"id": "01a087dc-f42a-7190-a1a9-d3e80aa65eb1",
"title": "The 2025 Government Shutdown: How and Why It Happened",
"url": "https://scott.willeke.com/the-2025-government-shutdown-how-and-why-it-happened/",
"published_at": null
},
{
"id": "01a087dc-f42a-7190-a1a9-d3e80ad7ebb0",
"title": "How to Regain SSH Access to Your AWS EC2 Instance When Locked Out",
"url": "https://scott.willeke.com/how-to-regain-ssh-access-to-your-aws-ec2-instance-when-locked-out/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db07fdf707c",
"title": "AI Learns to Listen: TypeScript Client for OpenAI's Realtime API",
"url": "https://scott.willeke.com/ai-typescript-client-for-openai-realtime-api/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db08022dbbb",
"title": "Bridging the Gap: Communicating Between the \"Browser\" (Renderer) and the Main Process in an Electron App",
"url": "https://scott.willeke.com/bridging-the-gap-communicating-between-the-browser-renderer-and-the-main-process-in-an-electron-app/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db08080de72",
"title": "Congratulations Micah",
"url": "https://scott.willeke.com/congratulations-micah/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db08116b3ff",
"title": "Writing Shell Scripts with TypeScript instead of Bash",
"url": "https://scott.willeke.com/writing-shell-scripts-with-typescript-instead-of-bash/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db0811a5a0f",
"title": "Surprising Side Effects of Server Side Rendering in Next.js for SEO & Performance",
"url": "https://scott.willeke.com/surprising-side-effects-of-server-side-rendering-in-next-js-for-seo-performance/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db081e613c8",
"title": "When Empowering Employees to Take Risks, Isn't Empowering (and Why That Needs to Change)",
"url": "https://scott.willeke.com/when-empowering-employees-to-take-risks-isn-t-empowering-and-why-that-needs-to-change/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db082d1982e",
"title": "Rationalizing Frequent Deployments for Product Managers and Software Engineers",
"url": "https://scott.willeke.com/rationalizing-frequent-deployments-for-product-managers-and-software-engineers/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db0838b20c8",
"title": "Now Write Right: 3 Best Practices for Writing to Innovate and Influence",
"url": "https://scott.willeke.com/now-write-right-3-best-practices-for-writing-to-innovate-and-influence/",
"published_at": null
},
{
"id": "01a087dc-f42b-70c4-a555-4db0847e9abe",
"title": "Write Right Now: How Engineers Can Innovate, Influence, and Lead in Business",
"url": "https://scott.willeke.com/write-right-now-how-engineers-can-innovate-influence-and-lead-in-business/",
"published_at": null
},
{
"id": "01a0dd3f-9739-730e-bf58-ff37986bf5ff",
"title": "Code Was Never the Bottleneck. Dreaming Is.",
"url": "https://scott.willeke.com/dreaming-is-the-bottleneck/",
"published_at": null
}
] posts Claim your blog