close

DEV Community

Alan West profile picture

Alan West

Full-stack developer working with TypeScript, React, and blockchain. Interested in AI-powered dev workflows and open-source tooling.

Joined Joined on 
Why your bash scripts keep breaking — and how to escape the trap

Why your bash scripts keep breaking — and how to escape the trap

Comments
5 min read

Want to connect with Alan West?

Create an account to connect with Alan West. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Why one-shot LLM security audits keep missing real bugs

Why one-shot LLM security audits keep missing real bugs

Comments
5 min read
How to Defend Your Codebase Against GitHub Repo Poisoning Attacks

How to Defend Your Codebase Against GitHub Repo Poisoning Attacks

Comments
5 min read
sp.h and the eternal quest to fix C's standard library

sp.h and the eternal quest to fix C's standard library

Image 1
Comments
4 min read
Bumblebee vs OSV-Scanner: Two Takes on Supply Chain Scanning

Bumblebee vs OSV-Scanner: Two Takes on Supply Chain Scanning

Image 1
Comments
4 min read
How to cut Node.js memory usage by 40% in self-hosted apps

How to cut Node.js memory usage by 40% in self-hosted apps

Comments
4 min read
Fixing yt-dlp Errors When Your JS Interpreter Gets Deprecated

Fixing yt-dlp Errors When Your JS Interpreter Gets Deprecated

Comments
5 min read
Migrating Away from Claude: What Actually Works

Migrating Away from Claude: What Actually Works

Comments
4 min read
Why LLMs Fail at OpenSCAD Code Generation (and How to Fix It)

Why LLMs Fail at OpenSCAD Code Generation (and How to Fix It)

Image 1
Comments
5 min read
SKIP: Not a developer-focused topic

SKIP: Not a developer-focused topic

Image 1
Comments
1 min read
How to Safely Trigger API Calls from an Email Link

How to Safely Trigger API Calls from an Email Link

Image 1
Comments
5 min read
llms.txt and the Quiet Pact Between Sites and Crawlers

llms.txt and the Quiet Pact Between Sites and Crawlers

Image 1
Comments
5 min read
Why your AI agent loops forever (and how to break the cycle)

Why your AI agent loops forever (and how to break the cycle)

Image 2
Comments 1
5 min read
How to fix OOM crashes when running large open-source LLMs locally

How to fix OOM crashes when running large open-source LLMs locally

Comments
4 min read
Privacy-First Analytics: Migrating from Google Analytics to Umami, Plausible, or Fathom

Privacy-First Analytics: Migrating from Google Analytics to Umami, Plausible, or Fathom

Comments
5 min read
How to audit what your IDE extension actually sends to the cloud

How to audit what your IDE extension actually sends to the cloud

Image 2
Comments
5 min read
How to Track Down a Rogue Device in Your Server Rack

How to Track Down a Rogue Device in Your Server Rack

Comments
5 min read
How to Fix Slow Page Loads Caused by Third-Party Scripts

How to Fix Slow Page Loads Caused by Third-Party Scripts

Comments
5 min read
Qwen3.7 Max vs Open-Weight LLMs: Practical Migration Notes

Qwen3.7 Max vs Open-Weight LLMs: Practical Migration Notes

Image 2
Comments
5 min read
How to Stop Your LLM Agent From Looping Itself Into Oblivion

How to Stop Your LLM Agent From Looping Itself Into Oblivion

Comments
5 min read
How to Fix CUDA Out of Memory Errors in Stable Diffusion WebUI

How to Fix CUDA Out of Memory Errors in Stable Diffusion WebUI

Comments
5 min read
How to stop a rogue VSCode extension from stealing your repos

How to stop a rogue VSCode extension from stealing your repos

Comments
5 min read
Why brute-force counterexample search fails (and what to do instead)

Why brute-force counterexample search fails (and what to do instead)

Comments
5 min read
How to Stop Accidentally Committing AWS Keys to GitHub

How to Stop Accidentally Committing AWS Keys to GitHub

Comments
5 min read
How to Stop Leaking AWS Keys to GitHub (And What to Do When You Already Did)

How to Stop Leaking AWS Keys to GitHub (And What to Do When You Already Did)

Image 2
Comments
5 min read
When a patched CVE comes back: detecting silent driver regressions

When a patched CVE comes back: detecting silent driver regressions

Image 1
Comments
5 min read
Why 'x time ago' is broken everywhere and how to actually fix it

Why 'x time ago' is broken everywhere and how to actually fix it

Image 2
Comments
5 min read
Gemini 3.5 Flash vs Claude Haiku vs GPT-4o mini: Picking a Small Model

Gemini 3.5 Flash vs Claude Haiku vs GPT-4o mini: Picking a Small Model

Image 1
Comments
4 min read
PoC Repos Are Underrated: Why Every Dev Should Read Exploit Code

PoC Repos Are Underrated: Why Every Dev Should Read Exploit Code

Image 1
Comments
5 min read
Docker vs Podman: Migrating Three Projects, Honestly

Docker vs Podman: Migrating Three Projects, Honestly

Image 2
Comments
4 min read
How to Block AI Bot Spam in Your GitHub Repo Using Git's Author Filters

How to Block AI Bot Spam in Your GitHub Repo Using Git's Author Filters

Comments
5 min read
How to test your LLM application for jailbreak vulnerabilities

How to test your LLM application for jailbreak vulnerabilities

Comments
4 min read
How to escape note-taking lock-in with plain markdown and git

How to escape note-taking lock-in with plain markdown and git

Image 1
Comments
5 min read
How to boot mainline Debian on a vendor-locked ARM tablet

How to boot mainline Debian on a vendor-locked ARM tablet

Image 2
Comments
5 min read
How to fix the 'AI-generated' look in your frontend

How to fix the 'AI-generated' look in your frontend

Image 1
Comments
5 min read
Why MTP doesn't speed up your llama.cpp inference (and how to actually fix it)

Why MTP doesn't speed up your llama.cpp inference (and how to actually fix it)

Comments
5 min read
AI Won't Speed Up Your Processes (And That's OK)

AI Won't Speed Up Your Processes (And That's OK)

Comments
4 min read
Debugging DNS leaks: why your VPN isn't hiding what you think it is

Debugging DNS leaks: why your VPN isn't hiding what you think it is

Image 1
Comments
5 min read
Why your local LLM aces benchmarks but fails real terminal tasks

Why your local LLM aces benchmarks but fails real terminal tasks

Image 2
Comments 1
5 min read
Why prompt engineering fails for tone control — and how steering vectors fix it

Why prompt engineering fails for tone control — and how steering vectors fix it

Image 1
Comments
5 min read
Arxiv's Moderation Debate: Why Preprint Gatekeeping Is Hard

Arxiv's Moderation Debate: Why Preprint Gatekeeping Is Hard

Image 1
Comments
5 min read
Why frontier LLMs solve your CTF challenges in minutes (and how to fix it)

Why frontier LLMs solve your CTF challenges in minutes (and how to fix it)

Comments
5 min read
Why your AI agent code turns into spaghetti — and how to untangle it

Why your AI agent code turns into spaghetti — and how to untangle it

Comments
4 min read
Why npm supply chain attacks keep happening and how to harden your installs

Why npm supply chain attacks keep happening and how to harden your installs

Comments
4 min read
Why your Tailwind project feels unmaintainable, and how to structure CSS instead

Why your Tailwind project feels unmaintainable, and how to structure CSS instead

Image Image Image 6
Comments 1
5 min read
How to escape vendor lock-in in your Git collaboration workflow

How to escape vendor lock-in in your Git collaboration workflow

Comments
5 min read
Chris Banes' Skills Repo: Claude Code Meets Android Development

Chris Banes' Skills Repo: Claude Code Meets Android Development

Comments
4 min read
Tabular Numbers in CSS: font-variant-numeric vs Monospace Hacks

Tabular Numbers in CSS: font-variant-numeric vs Monospace Hacks

Comments
4 min read
Why your media parsers are a 0-click attack surface (and how to harden them)

Why your media parsers are a 0-click attack surface (and how to harden them)

Comments
5 min read
How to Catch Hallucinated Dependencies Before They Break Production

How to Catch Hallucinated Dependencies Before They Break Production

Image 1
Comments
5 min read
How to debug kernel memory corruption on Apple Silicon

How to debug kernel memory corruption on Apple Silicon

Image 1
Comments
5 min read
Why your local LLM knowledge base gives bad answers (and how to fix it)

Why your local LLM knowledge base gives bad answers (and how to fix it)

Image 1
Comments
4 min read
How to debug when your brain has gone soft: rebuilding diagnostic skills

How to debug when your brain has gone soft: rebuilding diagnostic skills

Image 1
Comments
5 min read
How to fix slow JavaScript builds before reaching for a Rust rewrite

How to fix slow JavaScript builds before reaching for a Rust rewrite

Image 1
Comments
4 min read
Why your React Three Fiber gallery drops to 5 FPS and how to fix it

Why your React Three Fiber gallery drops to 5 FPS and how to fix it

Image 2
Comments
4 min read
How to fix native module errors when switching JavaScript runtimes

How to fix native module errors when switching JavaScript runtimes

Image 3
Comments
4 min read
Why your Node.js memory keeps climbing in production (and how to find the leak)

Why your Node.js memory keeps climbing in production (and how to find the leak)

Image 2
Comments
4 min read
TextGen vs LM Studio: Picking a Local LLM Runner in 2026

TextGen vs LM Studio: Picking a Local LLM Runner in 2026

Image 2
Comments
5 min read
How to get a free city.state.us domain for side projects

How to get a free city.state.us domain for side projects

Comments
5 min read
How I cut a 282-hour exact solver down to 22 minutes

How I cut a 282-hour exact solver down to 22 minutes

Comments
4 min read
loading...