41554 blogs · [ { "id": "01a0877b-541a-715a-9d90-0afa8d1348bd", "title": "Letting Codex Agents Commit: Making .git Writable in the workspace-write Sandbox", "url": "https://gallon.me/letting-codex-agents-commit-making-git-writable-in-the-workspace-write-sandbox.html", "published_at": "2026-07-22T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa8da8d750", "title": "The Dark Arts of Web Automation", "url": "https://gallon.me/the-dark-arts-of-web-automation.html", "published_at": "2026-07-16T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa8e830761", "title": "How I Fixed Handy's Memory Leak Without Knowing Rust", "url": "https://gallon.me/95-gb-in-36-hours-how-i-fixed-handys-memory-leak-without-knowing-rust.html", "published_at": "2026-05-28T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa8efe0db7", "title": "Unlocking Codex GPT-5.4's Full 1M-Token Context Window", "url": "https://gallon.me/getting-access-to-the-full-1-million-token-context-window-in-codex-gpt-54.html", "published_at": "2026-05-25T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa8fe1fd85", "title": "Getting Handy to work in GNOME Wayland (Ubuntu 25.10+)", "url": "https://gallon.me/getting-handy-to-work-in-gnome-wayland-ubuntu-2510.html", "published_at": "2026-05-15T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa90d8f559", "title": "Is HTML \"Strictly Better\" Than Markdown for Claude Code?", "url": "https://gallon.me/is-html-really-strictly-better-than-markdown-for-claude-code-i-ran-the-numbers.html", "published_at": "2026-05-11T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa90eaa9c9", "title": "The Web Is Now a Two-Way Street for AI", "url": "https://gallon.me/ai-didnt-kill-the-web-it-moved-in-olivier-leplus-aws-yohan-lasorsa-microsoft.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa90f4a779", "title": "Your Digital Exhaust Is the Most Underused Dataset You Own", "url": "https://gallon.me/cognitive-exhaust-fumes-or-read-only-ai-is-underrated-imon-podhajsk-head-of-ai-waypoint.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa9162f152", "title": "Your Multi-Agent System Isn't Failing Because of the AI", "url": "https://gallon.me/from-chaos-to-choreography-multi-agent-orchestration-patterns-that-actually-work-sandipan-bhaumik.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa919b7ade", "title": "Your LLM Evaluator Is Probably Lying to You", "url": "https://gallon.me/judge-the-judge-building-llm-evaluators-that-actually-work-with-gepa-mahmoud-mabrouk-agenta-ai.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa9225768b", "title": "When Every Team Builds Its Own AI Agent, You Need a Registry", "url": "https://gallon.me/one-registry-to-rule-them-all-sonny-merla-mauro-luchetti-mattia-redaelli-quantyca.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa923c8e49", "title": "RAG Isn't Dead, You Just Need a Better Starting Point", "url": "https://gallon.me/openrag-an-open-source-stack-for-rag-phil-nash.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa92577af5", "title": "AI Agents Can't Walk Upstairs and Ask for Help", "url": "https://gallon.me/platforms-for-humans-and-machines-engineering-for-the-age-of-agents-juan-herreros-elorza.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa92770916", "title": "Fitting the Model Isn't the Same as Running It Well", "url": "https://gallon.me/running-llms-locally-practical-llm-performance-on-dgx-spark-mozhgan-kabiri-chimeh-nvidia.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa933a3219", "title": "The Real Problem Is the Six Minutes After the Call", "url": "https://gallon.me/voiceops-fying-low-latency-intelligence-extraction-from-messy-audio-streams-dippu-kumar-singh.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa94221022", "title": "AI-Generated Code Is Just Untrusted Code From the Internet", "url": "https://gallon.me/why-and-how-you-need-to-sandbox-ai-generated-code-harshil-agrawal-cloudflare.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa949081d6", "title": "The Security Cliff Between Local and Production MCP", "url": "https://gallon.me/your-insecure-mcp-server-wont-survive-production-tun-shwe-lenses.html", "published_at": "2026-04-12T05:00:00+00:00" }, { "id": "01a0877b-541a-715a-9d90-0afa950352b3", "title": "Your AI Agent Is a Junior Developer. Manage It Like One.", "url": "https://gallon.me/agentic-engineering-working-with-ai-not-just-using-it-brendan-oleary.html", "published_at": "2026-04-11T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce68724ef0", "title": "MCP Tools Are Raw Material, Not Finished Products", "url": "https://gallon.me/bending-a-public-mcp-server-without-breaking-it-nimrod-hauser-baz.html", "published_at": "2026-04-11T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce68e584e1", "title": "Build the Gym, Not the Dataset", "url": "https://gallon.me/let-llms-wander-engineering-rl-environments-stefano-fiorucci.html", "published_at": "2026-04-11T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6966228a", "title": "Subagent Modes in Claude Code", "url": "https://gallon.me/subagent-modes-in-claude-code.html", "published_at": "2026-04-01T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce69735e62", "title": "Remapping the Logitech R500s on Ubuntu 24.04 with keyd", "url": "https://gallon.me/remapping-the-logitech-r500s-on-ubuntu-2404-with-keyd.html", "published_at": "2026-03-25T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce69875755", "title": "The Cure for the Vibe Coding Hangover", "url": "https://gallon.me/the-cure-for-the-vibe-coding-hangover.html", "published_at": "2025-09-01T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6a84eec4", "title": "WTF is BM25? The Intuition Behind the Algorithm", "url": "https://gallon.me/wtf-is-bm25-the-intuition-behind-the-algorithm.html", "published_at": "2025-03-25T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6b3ee30e", "title": "⚡️ Latent Space - The new OpenAI Agents Platform", "url": "https://gallon.me/latent-space-the-new-openai-agents-platform.html", "published_at": "2025-03-20T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6be34da3", "title": "The Python Lambda Tutorial You Never Asked For", "url": "https://gallon.me/the-quick-tutorial-on-python-lambda-functions-that-you-never-asked-for.html", "published_at": "2025-03-19T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6c7bc9bc", "title": "Founders #383: Todd Graves' $10B Chicken Finger Dream", "url": "https://gallon.me/founders-383-todd-graves-and-his-10-billion-chicken-finger-dream.html", "published_at": "2025-03-18T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6cce8061", "title": "How to Add Custom HTML Pages to a Pelican Site", "url": "https://gallon.me/how-to-add-custom-html-pages-to-a-pelican-site.html", "published_at": "2025-02-27T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6d9719f8", "title": "AI Engineer Summit 2025: Agents at Work", "url": "https://gallon.me/ai-engineer-summit-2025-agents-at-work.html", "published_at": "2025-02-22T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6e61319e", "title": "Using the BytesIO Class in Python", "url": "https://gallon.me/using-the-bytesio-class-in-python.html", "published_at": "2025-02-14T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6eaf47ff", "title": "Linking to Posts in Python Pelican", "url": "https://gallon.me/linking-to-posts-in-python-pelican.html", "published_at": "2024-12-16T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce6f3bfafe", "title": "Copying Files in Linux With a Progress Bar", "url": "https://gallon.me/copying-files-directories-in-linux-with-progress-indication.html", "published_at": "2024-11-28T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce70102d5c", "title": "Why An 8TB Drive Isn’t 8 Usable TB", "url": "https://gallon.me/why-an-8tb-drive-isnt-8-usable-tb.html", "published_at": "2024-11-28T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce7062789c", "title": "Wrap with HTML tags in VSCode", "url": "https://gallon.me/wrap-with-html-tags-in-vscode.html", "published_at": "2024-11-14T06:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce70881cfb", "title": "__main__.py file in a project", "url": "https://gallon.me/__main__py-file-in-a-project.html", "published_at": "2024-10-15T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce70e97b05", "title": "A nice workflow for creating Python projects with AI", "url": "https://gallon.me/a-nice-workflow-for-creating-python-projects-with-ai.html", "published_at": "2024-10-15T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce710506ea", "title": "neofetch for Linux system info summary", "url": "https://gallon.me/neofetch-for-linux-system-info-summary.html", "published_at": "2024-10-15T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce718c936c", "title": "Emmet Abbreviations in VSCode", "url": "https://gallon.me/emmet-abbreviations-in-vscode.html", "published_at": "2024-10-10T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce728bfab6", "title": "Installing Racket (Scheme) in WSL", "url": "https://gallon.me/installing-racket-scheme-in-wsl.html", "published_at": "2024-10-06T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce72b5e54b", "title": "raco: Racket's Package Management System (and More)", "url": "https://gallon.me/raco-is-rackets-package-management-system-among-other-things.html", "published_at": "2024-10-06T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce72f547f1", "title": "Working through SICP in Jupyter Notebooks", "url": "https://gallon.me/working-through-sicp-in-jupyter-notebooks.html", "published_at": "2024-10-06T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce73627a43", "title": "Writing Racket (Scheme) in Jupyter Notebooks", "url": "https://gallon.me/writing-racket-scheme-in-jupyter-notebooks.html", "published_at": "2024-10-06T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce73f12c4e", "title": "Debugging Python CLI Arguments in VSCode", "url": "https://gallon.me/debugging-python-programs-that-require-cli-arguments-in-vscode.html", "published_at": "2024-09-15T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce74d5fa30", "title": "Debugging Python Tests in VSCode", "url": "https://gallon.me/debugging-python-tests-in-vscode.html", "published_at": "2024-09-15T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce75b6845f", "title": "Suppressing Rich Tracebacks in Typer Apps", "url": "https://gallon.me/suppressing-rich-tracebacks-in-typer-apps.html", "published_at": "2024-09-11T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce75c25d5d", "title": "Uninstalling Poetry Completions for zsh", "url": "https://gallon.me/uninstalling-poetry-completions-for-zsh.html", "published_at": "2024-08-31T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce766d041d", "title": "Ubuntu Snaps in WSL & zsh", "url": "https://gallon.me/ubuntu-snaps-in-wsl-zsh.html", "published_at": "2024-08-26T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce771f0b43", "title": "Running Google Chrome GUI in WSL", "url": "https://gallon.me/running-google-chrome-gui-in-wsl.html", "published_at": "2024-08-25T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce779bac89", "title": "Comments are Failures in Coding", "url": "https://gallon.me/comments-are-failures-in-coding.html", "published_at": "2024-08-24T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce78294ea9", "title": "Launching a Web App from Stream Deck", "url": "https://gallon.me/launching-a-web-app-from-stream-deck.html", "published_at": "2024-08-24T05:00:00+00:00" }, { "id": "01a0877b-541b-7005-ad84-b8ce7920408f", "title": "Programs Do Things", "url": "https://gallon.me/programs-do-things.html", "published_at": "2024-08-24T05:00:00+00:00" } ] posts Claim your blog
Back to Corey Gallon
Blog · corpus.blog/blogs/gallon.me/posts

Corey Gallon

gallon.me

2026

2025

2024