[{"type_of":"article","id":4625409,"title":"FastMCP Is Now MCPServer: Migrating a Python MCP Server to the MCP SDK 2.x","description":"Step-by-step: moving a FastMCP server to the MCP Python SDK 2.x — what broke, what changed, what did not, and a redeploy of its Gemma 4 vLLM backend to a Cloud Run L4 GPU.","readable_publish_date":"Sep 11","slug":"fastmcp-is-now-mcpserver-migrating-a-python-mcp-server-to-the-mcp-sdk-2x-2nhj","path":"/gde/fastmcp-is-now-mcpserver-migrating-a-python-mcp-server-to-the-mcp-sdk-2x-2nhj","url":"https://dev.to/gde/fastmcp-is-now-mcpserver-migrating-a-python-mcp-server-to-the-mcp-sdk-2x-2nhj","comments_count":8,"public_reactions_count":13,"collection_id":41487,"published_timestamp":"2026-09-11T13:20:27Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":13,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fxbill9%2Fgemma4-dev%2Fmain%2Fgpu-2B-cloudrun-devops-agent%2Fdocs%2Fdevto-cover.5bbae7c1.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fxbill9%2Fgemma4-dev%2Fmain%2Fgpu-2B-cloudrun-devops-agent%2Fdocs%2Fdevto-cover.5bbae7c1.jpg","canonical_url":"https://dev.to/gde/fastmcp-is-now-mcpserver-migrating-a-python-mcp-server-to-the-mcp-sdk-2x-2nhj","created_at":"2026-09-10T16:05:59Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-11T13:20:27Z","last_comment_at":"2026-09-13T13:10:19Z","reading_time_minutes":12,"tag_list":["mcp","python","googlecloud","vllm"],"tags":"mcp, python, googlecloud, vllm","user":{"name":"xbill","username":"xbill","twitter_username":null,"github_username":"xbill9","user_id":3490099,"website_url":"https://g.dev/xbill","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}},{"type_of":"article","id":4632045,"title":"AI-Generated Tests Can Make Coding Agents Worse. Here's How to Check Yours","description":"ExecCritic found that weak generated tests reduced repair success. A runnable Python example shows how to catch a test that approves the wrong fix.","readable_publish_date":"Sep 11","slug":"ai-generated-tests-can-make-coding-agents-worse-heres-how-to-check-yours-3jc9","path":"/p0rt/ai-generated-tests-can-make-coding-agents-worse-heres-how-to-check-yours-3jc9","url":"https://dev.to/p0rt/ai-generated-tests-can-make-coding-agents-worse-heres-how-to-check-yours-3jc9","comments_count":22,"public_reactions_count":19,"collection_id":null,"published_timestamp":"2026-09-11T11:57:46Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":19,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fsergei-parfenov.com%2Fassets%2Fai-generated-tests-can-make-coding-agents-worse.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fsergei-parfenov.com%2Fassets%2Fai-generated-tests-can-make-coding-agents-worse.png","canonical_url":"https://sergei-parfenov.com/blog/ai-generated-tests-can-make-coding-agents-worse/","created_at":"2026-09-11T11:57:30Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-11T11:57:46Z","last_comment_at":"2026-09-14T03:49:34Z","reading_time_minutes":5,"tag_list":["ai","testing","python","agents"],"tags":"ai, testing, python, agents","user":{"name":"Sergei Parfenov","username":"p0rt","twitter_username":null,"github_username":"P0rt","user_id":157612,"website_url":"https://github.com/P0rt","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F157612%2F00065fc9-07d7-47dd-b882-f297a6158dbe.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F157612%2F00065fc9-07d7-47dd-b882-f297a6158dbe.jpeg"}},{"type_of":"article","id":4635105,"title":"I Optimized My Bump Version Tool and Made It 1,000,000x Faster Than Its Python Counterparts.","description":"Hello again, fellow Rustaceans, Pythonistas in denial, and the three people on earth who genuinely...","readable_publish_date":"Sep 11","slug":"i-optimized-my-bump-version-tool-and-made-it-1000000x-faster-than-its-python-counterparts-2i83","path":"/wiseai/i-optimized-my-bump-version-tool-and-made-it-1000000x-faster-than-its-python-counterparts-2i83","url":"https://dev.to/wiseai/i-optimized-my-bump-version-tool-and-made-it-1000000x-faster-than-its-python-counterparts-2i83","comments_count":3,"public_reactions_count":11,"collection_id":43988,"published_timestamp":"2026-09-11T22:15:08Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":11,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frtgjbsuminqptdcz95kh.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frtgjbsuminqptdcz95kh.png","canonical_url":"https://wiseai.dev/blogs/i-optimized-my-bump-version-tool-and-made-it-1000000x-faster-than-its-python-counterparts","created_at":"2026-09-11T22:15:08Z","edited_at":"2026-09-11T22:17:07Z","crossposted_at":null,"published_at":"2026-09-11T22:15:08Z","last_comment_at":"2026-09-12T16:27:25Z","reading_time_minutes":13,"tag_list":["rust","python","javascript","tutorial"],"tags":"rust, python, javascript, tutorial","user":{"name":"Mahmoud 🦀","username":"wiseai","twitter_username":null,"github_username":"wiseaidev","user_id":827951,"website_url":"https://wiseai.dev","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F827951%2F8d69ab6e-a28d-4d13-9652-bdd2f5eb90f8.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F827951%2F8d69ab6e-a28d-4d13-9652-bdd2f5eb90f8.png"}},{"type_of":"article","id":4639590,"title":"My benchmark harness was wrong fourteen ways before it measured anything","description":"I built a harness to measure whether reverse proxies buffer Server-Sent Events. The results are in...","readable_publish_date":"Sep 12","slug":"my-benchmark-harness-was-wrong-fourteen-ways-before-it-measured-anything-1o6h","path":"/remdore/my-benchmark-harness-was-wrong-fourteen-ways-before-it-measured-anything-1o6h","url":"https://dev.to/remdore/my-benchmark-harness-was-wrong-fourteen-ways-before-it-measured-anything-1o6h","comments_count":8,"public_reactions_count":8,"collection_id":null,"published_timestamp":"2026-09-12T14:48:33Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":8,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fu0n9i2omh5sagf62lion.png","canonical_url":"https://dev.to/remdore/my-benchmark-harness-was-wrong-fourteen-ways-before-it-measured-anything-1o6h","created_at":"2026-09-12T14:48:33Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-12T14:48:33Z","last_comment_at":"2026-09-13T20:28:03Z","reading_time_minutes":9,"tag_list":["devops","python","performance","testing"],"tags":"devops, python, performance, testing","user":{"name":"Remdore","username":"remdore","twitter_username":null,"github_username":"DimitrovK","user_id":374495,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F374495%2F8514d87d-49b5-4b8f-865f-f24a5cc1c29c.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F374495%2F8514d87d-49b5-4b8f-865f-f24a5cc1c29c.png"}},{"type_of":"article","id":4640002,"title":"A model's opinion is not a price: the day a £14.99 charger repriced a speaker","description":"One second-hand item, one day, real numbers. How a pricing pipeline asked £79 for a £27 case, why the fix let a relevance model set a price by itself, and the two boring rules that stopped it.","readable_publish_date":"Sep 12","slug":"a-models-opinion-is-not-a-price-the-day-a-ps1499-charger-repriced-a-speaker-5hfn","path":"/c1-anderson/a-models-opinion-is-not-a-price-the-day-a-ps1499-charger-repriced-a-speaker-5hfn","url":"https://dev.to/c1-anderson/a-models-opinion-is-not-a-price-the-day-a-ps1499-charger-repriced-a-speaker-5hfn","comments_count":10,"public_reactions_count":5,"collection_id":null,"published_timestamp":"2026-09-12T16:43:45Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":5,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcasareanderson%2Fblog-kit%2Fmain%2Fcovers%2F4640002.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fcasareanderson%2Fblog-kit%2Fmain%2Fcovers%2F4640002.png","canonical_url":"https://dev.to/c1-anderson/a-models-opinion-is-not-a-price-the-day-a-ps1499-charger-repriced-a-speaker-5hfn","created_at":"2026-09-12T16:39:42Z","edited_at":"2026-09-12T19:31:26Z","crossposted_at":null,"published_at":"2026-09-12T16:43:45Z","last_comment_at":"2026-09-14T02:32:54Z","reading_time_minutes":7,"tag_list":["ai","python","architecture","showdev"],"tags":"ai, python, architecture, showdev","user":{"name":"Christian Anderson","username":"c1-anderson","twitter_username":"iamc_tech","github_username":"casareanderson","user_id":4110779,"website_url":"https://asareanderson.gumroad.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4110779%2Ff7ed549e-875c-4c07-8cb7-c1d3ff6a355e.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4110779%2Ff7ed549e-875c-4c07-8cb7-c1d3ff6a355e.jpg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4642031,"title":"56 fault-injection tests passed. The one that injected nothing failed.","description":"I was building a tool that detects when data quietly changes meaning — a vendor switching units, a...","readable_publish_date":"Sep 13","slug":"56-fault-injection-tests-passed-the-one-that-injected-nothing-failed-ihj","path":"/ashg2099/56-fault-injection-tests-passed-the-one-that-injected-nothing-failed-ihj","url":"https://dev.to/ashg2099/56-fault-injection-tests-passed-the-one-that-injected-nothing-failed-ihj","comments_count":4,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-09-13T04:05:27Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":2,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpj94sjv8gnebd9hwii83.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpj94sjv8gnebd9hwii83.png","canonical_url":"https://dev.to/ashg2099/56-fault-injection-tests-passed-the-one-that-injected-nothing-failed-ihj","created_at":"2026-09-13T04:05:27Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T04:05:27Z","last_comment_at":"2026-09-13T14:43:00Z","reading_time_minutes":3,"tag_list":["dataengineering","python","testing","dbt"],"tags":"dataengineering, python, testing, dbt","user":{"name":"ashg2099","username":"ashg2099","twitter_username":null,"github_username":"ashg2099","user_id":3955365,"website_url":"https://www.datascienceportfol.io/ashwing2099","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3955365%2Ff85a7d7c-8c96-4b9d-b6e7-06674e471f89.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3955365%2Ff85a7d7c-8c96-4b9d-b6e7-06674e471f89.jpeg"}},{"type_of":"article","id":4642290,"title":"2:47 AM: Someone Tried to Open a File on My Laptop. Here's the Log I Pulled the Next Morning.","description":"I wasn't going to write a normal launch post.  You know the format. Every \"I built X\" post on this...","readable_publish_date":"Sep 13","slug":"247-am-someone-tried-to-open-a-file-on-my-laptop-heres-the-log-i-pulled-the-next-morning-34fg","path":"/akhourianmolkumar/247-am-someone-tried-to-open-a-file-on-my-laptop-heres-the-log-i-pulled-the-next-morning-34fg","url":"https://dev.to/akhourianmolkumar/247-am-someone-tried-to-open-a-file-on-my-laptop-heres-the-log-i-pulled-the-next-morning-34fg","comments_count":2,"public_reactions_count":7,"collection_id":null,"published_timestamp":"2026-09-13T05:41:39Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":7,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ugt6xntryrbdr3fypgm.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2ugt6xntryrbdr3fypgm.png","canonical_url":"https://dev.to/akhourianmolkumar/247-am-someone-tried-to-open-a-file-on-my-laptop-heres-the-log-i-pulled-the-next-morning-34fg","created_at":"2026-09-13T05:41:39Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T05:41:39Z","last_comment_at":"2026-09-13T12:18:30Z","reading_time_minutes":5,"tag_list":["security","privacy","python","cybersecurity"],"tags":"security, privacy, python, cybersecurity","user":{"name":"Akhouri Anmol Kumar","username":"akhourianmolkumar","twitter_username":null,"github_username":"Akhouri-Anmol-Kumar","user_id":3977056,"website_url":"https://akhouri-anmol-kumar.github.io/Akhouri-systems/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg"}},{"type_of":"article","id":4644803,"title":"Nano Banana 2 Lite, Revisited: MCP 2.0, the New Interactions API, and Three Agent CLIs","description":"The Nano Banana 2 Lite MCP server from July, updated: FastMCP is now MCPServer, google-genai 1.x gets a 400 from the Interactions API, and one server now runs in Claude Code, Codex and Antigravity CLI.","readable_publish_date":"Sep 13","slug":"nano-banana-2-lite-revisited-mcp-20-the-new-interactions-api-and-three-agent-clis-37g5","path":"/gde/nano-banana-2-lite-revisited-mcp-20-the-new-interactions-api-and-three-agent-clis-37g5","url":"https://dev.to/gde/nano-banana-2-lite-revisited-mcp-20-the-new-interactions-api-and-three-agent-clis-37g5","comments_count":0,"public_reactions_count":1,"collection_id":41487,"published_timestamp":"2026-09-13T18:25:49Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fxbill9%2Fnb2lite%2Fmain%2Fdocs%2Fdevto-cover.57272bb7.jpg","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fxbill9%2Fnb2lite%2Fmain%2Fdocs%2Fdevto-cover.57272bb7.jpg","canonical_url":"https://dev.to/gde/nano-banana-2-lite-revisited-mcp-20-the-new-interactions-api-and-three-agent-clis-37g5","created_at":"2026-09-13T18:04:20Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T18:25:49Z","last_comment_at":"2026-09-13T18:25:49Z","reading_time_minutes":12,"tag_list":["mcp","python","gemini","claudecode"],"tags":"mcp, python, gemini, claudecode","user":{"name":"xbill","username":"xbill","twitter_username":null,"github_username":"xbill9","user_id":3490099,"website_url":"https://g.dev/xbill","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3490099%2Fc6a975d0-cd94-485d-82b1-14ed5b344fcf.jpg"},"organization":{"name":"Google Developer Experts","username":"gde","slug":"gde","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F11939%2Fe3080d5b-ecde-42a8-b089-bafecc31fa97.png"}},{"type_of":"article","id":4616440,"title":"My check passed because the bug preserved the exact thing it was measuring","description":"I wrote a reconciliation to catch a filter that silently drops fields. It compared how many fields...","readable_publish_date":"Sep 9","slug":"my-check-passed-because-the-bug-preserved-the-exact-thing-it-was-measuring-4jp6","path":"/mahirhir/my-check-passed-because-the-bug-preserved-the-exact-thing-it-was-measuring-4jp6","url":"https://dev.to/mahirhir/my-check-passed-because-the-bug-preserved-the-exact-thing-it-was-measuring-4jp6","comments_count":1,"public_reactions_count":6,"collection_id":null,"published_timestamp":"2026-09-09T16:01:41Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":6,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foc0pgxmhwyhcty14jgty.png","canonical_url":"https://dev.to/mahirhir/my-check-passed-because-the-bug-preserved-the-exact-thing-it-was-measuring-4jp6","created_at":"2026-09-09T16:01:41Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-09T16:01:41Z","last_comment_at":"2026-09-10T11:30:20Z","reading_time_minutes":3,"tag_list":["testing","debugging","python","javascript"],"tags":"testing, debugging, python, javascript","user":{"name":"Mahiro Hirakawa","username":"mahirhir","twitter_username":"greymoth__","github_username":"greymoth-jp","user_id":3937147,"website_url":"https://github.com/TraceFold/tracefold","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3937147%2F66fce836-aa25-43f0-bb5f-632fc17ebf44.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3937147%2F66fce836-aa25-43f0-bb5f-632fc17ebf44.jpeg"}},{"type_of":"article","id":4643463,"title":"A warm pip install took me 13 seconds. uv took 56 milliseconds.","description":"Benchmarked uv from Astral against pip on a real 63-package backend. Cold, uv is ~5x faster; warm, 13s becomes 56ms because uv hard-links from a shared cache instead of copying. Even forced to copy it stays ~40x ahead.","readable_publish_date":"Sep 13","slug":"a-warm-pip-install-took-me-13-seconds-uv-took-56-milliseconds-3ehp","path":"/remdore/a-warm-pip-install-took-me-13-seconds-uv-took-56-milliseconds-3ehp","url":"https://dev.to/remdore/a-warm-pip-install-took-me-13-seconds-uv-took-56-milliseconds-3ehp","comments_count":1,"public_reactions_count":7,"collection_id":null,"published_timestamp":"2026-09-13T14:33:00Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":7,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8q9y4q41y0nra0vtgrzo.png","canonical_url":"https://dev.to/remdore/a-warm-pip-install-took-me-13-seconds-uv-took-56-milliseconds-3ehp","created_at":"2026-09-13T11:54:28Z","edited_at":"2026-09-13T14:44:28Z","crossposted_at":null,"published_at":"2026-09-13T14:33:00Z","last_comment_at":"2026-09-13T19:18:30Z","reading_time_minutes":5,"tag_list":["python","devops","performance","productivity"],"tags":"python, devops, performance, productivity","user":{"name":"Remdore","username":"remdore","twitter_username":null,"github_username":"DimitrovK","user_id":374495,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F374495%2F8514d87d-49b5-4b8f-865f-f24a5cc1c29c.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F374495%2F8514d87d-49b5-4b8f-865f-f24a5cc1c29c.png"}},{"type_of":"article","id":4538944,"title":"Build a rag legal research assistant that drafts briefs in under 10 minutes","description":"You can spin up a Retrieval-Augmented Generation (RAG) legal research assistant in a few hours, hook...","readable_publish_date":"Sep 12","slug":"build-a-rag-legal-research-assistant-that-drafts-briefs-in-under-10-minutes-1ja4","path":"/samchenreviews/build-a-rag-legal-research-assistant-that-drafts-briefs-in-under-10-minutes-1ja4","url":"https://dev.to/samchenreviews/build-a-rag-legal-research-assistant-that-drafts-briefs-in-under-10-minutes-1ja4","comments_count":2,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-12T16:30:31Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F74dcpxuw34mjwhyfenfi.png","canonical_url":"https://getaab.com/blog/rag-legal-research-assistant","created_at":"2026-08-31T16:30:23Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-12T16:30:31Z","last_comment_at":"2026-09-13T21:05:38Z","reading_time_minutes":8,"tag_list":["n8n","python","rag","api"],"tags":"n8n, python, rag, api","user":{"name":"Sam Chen","username":"samchenreviews","twitter_username":null,"github_username":null,"user_id":3922773,"website_url":"https://pulsegearreviews.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3922773%2Ffddedaf2-ccb7-4879-80db-eb8da5acd26c.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3922773%2Ffddedaf2-ccb7-4879-80db-eb8da5acd26c.png"}},{"type_of":"article","id":4618154,"title":"Your Git History Is a Story. I Wrote the Algorithm That Finds It.","description":"Every repository has a moment nobody talks about.  Not the first commit. Not the launch. Not the...","readable_publish_date":"Sep 9","slug":"your-git-history-is-a-story-i-wrote-the-algorithm-that-finds-it-1734","path":"/ahmad_rrrtx/your-git-history-is-a-story-i-wrote-the-algorithm-that-finds-it-1734","url":"https://dev.to/ahmad_rrrtx/your-git-history-is-a-story-i-wrote-the-algorithm-that-finds-it-1734","comments_count":9,"public_reactions_count":4,"collection_id":null,"published_timestamp":"2026-09-09T23:34:44Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":4,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa60cbklo6n5lsqx359ol.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa60cbklo6n5lsqx359ol.png","canonical_url":"https://dev.to/ahmad_rrrtx/your-git-history-is-a-story-i-wrote-the-algorithm-that-finds-it-1734","created_at":"2026-09-09T23:34:45Z","edited_at":"2026-09-09T23:41:36Z","crossposted_at":null,"published_at":"2026-09-09T23:34:44Z","last_comment_at":"2026-09-12T15:11:57Z","reading_time_minutes":6,"tag_list":["github","python","opensource","architecture"],"tags":"github, python, opensource, architecture","user":{"name":"Muhammad Ahmad","username":"ahmad_rrrtx","twitter_username":null,"github_username":"ahmadrrrtx","user_id":3780414,"website_url":"https://ahmadrrrtx1.github.io/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3780414%2F3823677a-4795-4c69-954f-f242b88de25f.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3780414%2F3823677a-4795-4c69-954f-f242b88de25f.jpg"}},{"type_of":"article","id":4646034,"title":"My Scanner Passed Until I Built a Harness That Lied to It on Purpose","description":"I wrote 7 attack fixtures against my own MCP scanner. 6 fired. The misses were more interesting than the hits.","readable_publish_date":"Sep 14","slug":"my-scanner-passed-until-i-built-a-harness-that-lied-to-it-on-purpose-37ij","path":"/kielltampubolon/my-scanner-passed-until-i-built-a-harness-that-lied-to-it-on-purpose-37ij","url":"https://dev.to/kielltampubolon/my-scanner-passed-until-i-built-a-harness-that-lied-to-it-on-purpose-37ij","comments_count":2,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-09-14T00:00:14Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq7gc2lml5bzxsb4dvcn2.png","canonical_url":"https://dev.to/kielltampubolon/my-scanner-passed-until-i-built-a-harness-that-lied-to-it-on-purpose-37ij","created_at":"2026-09-14T00:00:14Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-14T00:00:14Z","last_comment_at":"2026-09-14T01:04:58Z","reading_time_minutes":3,"tag_list":["security","python","devtools","testing"],"tags":"security, python, devtools, testing","user":{"name":"Kiell Tampubolon","username":"kielltampubolon","twitter_username":null,"github_username":"glatinone","user_id":3890870,"website_url":"https://www.kielltampubolon.id/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3890870%2Ff4c1760b-670f-4d29-b0a8-29dc39842afa.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3890870%2Ff4c1760b-670f-4d29-b0a8-29dc39842afa.jpg"}},{"type_of":"article","id":4623654,"title":"I built a Windows security suite that photographs anyone who guesses your password wrong — ATLOCK v4","description":"Your laptop already knows who's snooping through it. It just isn't telling you.  I got tired of...","readable_publish_date":"Sep 10","slug":"i-built-a-windows-security-suite-that-photographs-anyone-who-guesses-your-password-wrong-atlock-v4-3721","path":"/akhourianmolkumar/i-built-a-windows-security-suite-that-photographs-anyone-who-guesses-your-password-wrong-atlock-v4-3721","url":"https://dev.to/akhourianmolkumar/i-built-a-windows-security-suite-that-photographs-anyone-who-guesses-your-password-wrong-atlock-v4-3721","comments_count":1,"public_reactions_count":13,"collection_id":null,"published_timestamp":"2026-09-10T11:41:10Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":13,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fof6sdh5phxwade5d8yyx.png","canonical_url":"https://dev.to/akhourianmolkumar/i-built-a-windows-security-suite-that-photographs-anyone-who-guesses-your-password-wrong-atlock-v4-3721","created_at":"2026-09-10T11:41:10Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-10T11:41:10Z","last_comment_at":"2026-09-11T11:02:11Z","reading_time_minutes":3,"tag_list":["python","opensource","security","cybersecurity"],"tags":"python, opensource, security, cybersecurity","user":{"name":"Akhouri Anmol Kumar","username":"akhourianmolkumar","twitter_username":null,"github_username":"Akhouri-Anmol-Kumar","user_id":3977056,"website_url":"https://akhouri-anmol-kumar.github.io/Akhouri-systems/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg"}},{"type_of":"article","id":4614366,"title":"My Security App Used to \"Encrypt\" Passwords With XOR. Here's the Post-Mortem I Wish More Devs Wrote.","description":"Most security software marketing sounds the same: \"military-grade encryption,\" \"unbreakable,\" \"100%...","readable_publish_date":"Sep 9","slug":"my-security-app-used-to-encrypt-passwords-with-xor-heres-the-post-mortem-i-wish-more-devs-wrote-1mm4","path":"/akhourianmolkumar/my-security-app-used-to-encrypt-passwords-with-xor-heres-the-post-mortem-i-wish-more-devs-wrote-1mm4","url":"https://dev.to/akhourianmolkumar/my-security-app-used-to-encrypt-passwords-with-xor-heres-the-post-mortem-i-wish-more-devs-wrote-1mm4","comments_count":1,"public_reactions_count":9,"collection_id":null,"published_timestamp":"2026-09-09T11:01:08Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":9,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa4mrtm43em7kpcu6zvza.png","canonical_url":"https://dev.to/akhourianmolkumar/my-security-app-used-to-encrypt-passwords-with-xor-heres-the-post-mortem-i-wish-more-devs-wrote-1mm4","created_at":"2026-09-09T11:01:08Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-09T11:01:08Z","last_comment_at":"2026-09-09T21:55:29Z","reading_time_minutes":3,"tag_list":["privacy","security","python","showdev"],"tags":"privacy, security, python, showdev","user":{"name":"Akhouri Anmol Kumar","username":"akhourianmolkumar","twitter_username":null,"github_username":"Akhouri-Anmol-Kumar","user_id":3977056,"website_url":"https://akhouri-anmol-kumar.github.io/Akhouri-systems/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3977056%2F5246045a-21af-48c6-a210-77be340f73e4.jpeg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4613090,"title":"Fine-tuning a content-moderation model on a laptop is easy. Trusting the result is not.","description":"I fine-tuned a small language model to sort messages into safe or unsafe, the kind of check a...","readable_publish_date":"Sep 9","slug":"fine-tuning-a-content-moderation-model-on-a-laptop-is-easy-trusting-the-result-is-not-50fb","path":"/sara_bezjak/fine-tuning-a-content-moderation-model-on-a-laptop-is-easy-trusting-the-result-is-not-50fb","url":"https://dev.to/sara_bezjak/fine-tuning-a-content-moderation-model-on-a-laptop-is-easy-trusting-the-result-is-not-50fb","comments_count":2,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-09-09T08:31:59Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9x9kzx575quik69gopl9.png","canonical_url":"https://dev.to/sara_bezjak/fine-tuning-a-content-moderation-model-on-a-laptop-is-easy-trusting-the-result-is-not-50fb","created_at":"2026-09-09T08:31:59Z","edited_at":"2026-09-09T10:39:17Z","crossposted_at":null,"published_at":"2026-09-09T08:31:59Z","last_comment_at":"2026-09-09T15:31:29Z","reading_time_minutes":8,"tag_list":["ai","python","finetuning","machinelearning"],"tags":"ai, python, finetuning, machinelearning","user":{"name":"Sara Bezjak","username":"sara_bezjak","twitter_username":null,"github_username":null,"user_id":3841314,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3841314%2F131c4099-8b3d-474d-9357-5d72e88c9e5d.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3841314%2F131c4099-8b3d-474d-9357-5d72e88c9e5d.png"}},{"type_of":"article","id":4645613,"title":"Six Checks to Run Before You Trust a Number Your Own Harness Produced.","description":"I built a measurement harness. I found ten bugs in it. Every one made my results look better than...","readable_publish_date":"Sep 13","slug":"six-checks-to-run-before-you-trust-a-number-your-own-harness-produced-2fbk","path":"/marvinoka4/six-checks-to-run-before-you-trust-a-number-your-own-harness-produced-2fbk","url":"https://dev.to/marvinoka4/six-checks-to-run-before-you-trust-a-number-your-own-harness-produced-2fbk","comments_count":0,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-13T21:27:38Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajelf8zxfgic8nt7wqmw.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajelf8zxfgic8nt7wqmw.png","canonical_url":"https://dev.to/marvinoka4/six-checks-to-run-before-you-trust-a-number-your-own-harness-produced-2fbk","created_at":"2026-09-13T21:27:38Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T21:27:38Z","last_comment_at":"2026-09-13T21:27:38Z","reading_time_minutes":9,"tag_list":["testing","python","ai","programming"],"tags":"testing, python, ai, programming","user":{"name":"Marvin Okafor","username":"marvinoka4","twitter_username":"MarvinOka4","github_username":"marvinoka4","user_id":3374130,"website_url":"https://marvinoka4.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg"}},{"type_of":"article","id":4626847,"title":"12 Pitfalls I Hit Auto-Logging Claude Code Subagents with a Stop Hook (and How the Numbers Cut My Weekly Cost 15–20%)","description":"I had a gut feeling that my general-purpose subagent was the slow one. Then I measured it: 18 seconds...","readable_publish_date":"Sep 11","slug":"12-pitfalls-i-hit-auto-logging-claude-code-subagents-with-a-stop-hook-and-how-the-numbers-cut-my-n81","path":"/bokuwalily/12-pitfalls-i-hit-auto-logging-claude-code-subagents-with-a-stop-hook-and-how-the-numbers-cut-my-n81","url":"https://dev.to/bokuwalily/12-pitfalls-i-hit-auto-logging-claude-code-subagents-with-a-stop-hook-and-how-the-numbers-cut-my-n81","comments_count":3,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-11T00:00:06Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fmo8hyi22oevqyhjpy3pq.png","canonical_url":"https://dev.to/bokuwalily/12-pitfalls-i-hit-auto-logging-claude-code-subagents-with-a-stop-hook-and-how-the-numbers-cut-my-n81","created_at":"2026-09-10T21:32:30Z","edited_at":"2026-09-11T00:00:07Z","crossposted_at":null,"published_at":"2026-09-11T00:00:06Z","last_comment_at":"2026-09-11T06:11:06Z","reading_time_minutes":19,"tag_list":["claudecode","automation","bash","python"],"tags":"claudecode, automation, bash, python","user":{"name":"Lily","username":"bokuwalily","twitter_username":"bokuwalily","github_username":"bokuwalily","user_id":4024286,"website_url":"https://bokuwalily.com","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4024286%2Fdf479f07-d3b3-4271-8cc4-8976224e437e.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4024286%2Fdf479f07-d3b3-4271-8cc4-8976224e437e.png"}},{"type_of":"article","id":4634595,"title":"Case study: smart-proxy","description":"One endpoint in front of three tiers of inference, so that always-on agents get a frontier-class...","readable_publish_date":"Sep 11","slug":"case-study-smart-proxy-3b34","path":"/devbrewery/case-study-smart-proxy-3b34","url":"https://dev.to/devbrewery/case-study-smart-proxy-3b34","comments_count":3,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-11T19:01:46Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjspbtct56johob2ci4oo.png","canonical_url":"https://michaelbrewer.me/2026/09/11/case-study-smart-proxy/","created_at":"2026-09-11T19:01:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-11T19:01:46Z","last_comment_at":"2026-09-12T16:53:38Z","reading_time_minutes":6,"tag_list":["ai","llm","architecture","python"],"tags":"ai, llm, architecture, python","user":{"name":"Michael Brewer","username":"devbrewery","twitter_username":null,"github_username":"dev-brewery","user_id":4116219,"website_url":"https://michaelbrewer.me","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4116219%2Feb0ac8da-7bf9-49e8-9caa-58c00ca74684.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4116219%2Feb0ac8da-7bf9-49e8-9caa-58c00ca74684.png"}},{"type_of":"article","id":4627610,"title":"Ten files is not a budget","description":"I have an MCP server that digests a GitHub repository into markdown so a model can read it without...","readable_publish_date":"Sep 11","slug":"ten-files-is-not-a-budget-4ih5","path":"/chanadev/ten-files-is-not-a-budget-4ih5","url":"https://dev.to/chanadev/ten-files-is-not-a-budget-4ih5","comments_count":6,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-11T01:28:04Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8mq6lc9ybfgs6iep2r22.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8mq6lc9ybfgs6iep2r22.png","canonical_url":"https://dev.to/chanadev/ten-files-is-not-a-budget-4ih5","created_at":"2026-09-11T01:28:04Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-11T01:28:04Z","last_comment_at":"2026-09-13T03:00:42Z","reading_time_minutes":5,"tag_list":["mcp","ai","python","showdev"],"tags":"mcp, ai, python, showdev","user":{"name":"Archana","username":"chanadev","twitter_username":null,"github_username":null,"user_id":3881394,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881394%2Ff285cc75-1bf0-4174-862f-c6c7754f30ee.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3881394%2Ff285cc75-1bf0-4174-862f-c6c7754f30ee.jpg"},"flare_tag":{"name":"showdev","bg_color_hex":"#091b47","text_color_hex":"#b2ffe1"}},{"type_of":"article","id":4624962,"title":"\"OpenAI-compatible\" is a spectrum, not a boolean — here's an 11-check conformance suite","description":"Two endpoints both say \"OpenAI-compatible\" on the tin. You point your app at the first one and...","readable_publish_date":"Sep 10","slug":"openai-compatible-is-a-spectrum-not-a-boolean-heres-an-11-check-conformance-suite-2mhj","path":"/seven7763/openai-compatible-is-a-spectrum-not-a-boolean-heres-an-11-check-conformance-suite-2mhj","url":"https://dev.to/seven7763/openai-compatible-is-a-spectrum-not-a-boolean-heres-an-11-check-conformance-suite-2mhj","comments_count":4,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-10T14:46:31Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa2hnyncsfsvoi8yf1az0.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa2hnyncsfsvoi8yf1az0.png","canonical_url":"https://dev.to/seven7763/openai-compatible-is-a-spectrum-not-a-boolean-heres-an-11-check-conformance-suite-2mhj","created_at":"2026-09-10T14:39:21Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-10T14:46:31Z","last_comment_at":"2026-09-11T00:12:03Z","reading_time_minutes":9,"tag_list":["ai","api","python","testing"],"tags":"ai, api, python, testing","user":{"name":"Seven","username":"seven7763","twitter_username":null,"github_username":"seven7763","user_id":4025722,"website_url":"https://daoxe.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4025722%2F90454edb-090f-4e2c-95d7-1d90108f07d4.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4025722%2F90454edb-090f-4e2c-95d7-1d90108f07d4.jpg"}},{"type_of":"article","id":4626827,"title":"Nine Bugs in My Own Evaluation Harness. Every One Made My Results Look Better.","description":"I built an evaluation harness. I found nine bugs in it. Every single one would have made my results...","readable_publish_date":"Sep 10","slug":"nine-bugs-in-my-own-evaluation-harness-every-one-made-my-results-look-better-4fkj","path":"/marvinoka4/nine-bugs-in-my-own-evaluation-harness-every-one-made-my-results-look-better-4fkj","url":"https://dev.to/marvinoka4/nine-bugs-in-my-own-evaluation-harness-every-one-made-my-results-look-better-4fkj","comments_count":10,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-09-10T21:24:21Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":2,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbjdayi5vxk2y5k87wuc2.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbjdayi5vxk2y5k87wuc2.png","canonical_url":"https://dev.to/marvinoka4/nine-bugs-in-my-own-evaluation-harness-every-one-made-my-results-look-better-4fkj","created_at":"2026-09-10T21:24:21Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-10T21:24:21Z","last_comment_at":"2026-09-13T21:38:43Z","reading_time_minutes":6,"tag_list":["testing","ai","programming","python"],"tags":"testing, ai, programming, python","user":{"name":"Marvin Okafor","username":"marvinoka4","twitter_username":"MarvinOka4","github_username":"marvinoka4","user_id":3374130,"website_url":"https://marvinoka4.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg"}},{"type_of":"article","id":4626427,"title":"I Replaced SQLite's C Driver with 800 Lines of Pure Python Stdlib: What the Docs Don't Tell You About Raw B-Trees, 9-Byte Varints, and 48-Bit Integers","description":"The rules were brutal: Zero third-party runtime dependencies. No\u0026nbsp;pip. No C-extensions. No...","readable_publish_date":"Sep 10","slug":"i-replaced-sqlites-c-driver-with-800-lines-of-pure-python-stdlib-what-the-docs-dont-tell-you-1a9a","path":"/sandman_sh/i-replaced-sqlites-c-driver-with-800-lines-of-pure-python-stdlib-what-the-docs-dont-tell-you-1a9a","url":"https://dev.to/sandman_sh/i-replaced-sqlites-c-driver-with-800-lines-of-pure-python-stdlib-what-the-docs-dont-tell-you-1a9a","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-09-10T19:16:46Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fr5wlpubzgzwhiuiw28y6.png","canonical_url":"https://dev.to/sandman_sh/i-replaced-sqlites-c-driver-with-800-lines-of-pure-python-stdlib-what-the-docs-dont-tell-you-1a9a","created_at":"2026-09-10T19:16:46Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-10T19:16:46Z","last_comment_at":"2026-09-11T18:50:03Z","reading_time_minutes":15,"tag_list":["python","sql"],"tags":"python, sql","user":{"name":"Rohit","username":"sandman_sh","twitter_username":null,"github_username":null,"user_id":3941355,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3941355%2F29953f4e-e68c-4412-a6df-b25b85e32abe.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3941355%2F29953f4e-e68c-4412-a6df-b25b85e32abe.jpg"}},{"type_of":"article","id":4635354,"title":"Same Video File, Same Threshold, Three Answers: Caption Safe-Zone Frames Are Matched by Grid, Not by Count","description":"A caption safe-zone check failed a clean video clip, and re-running the identical check three different ways produced three different answers on the same file, because the two renders being compared were sampled on independently-computed timestamps instead of a shared frame index.","readable_publish_date":"Sep 12","slug":"same-video-file-same-threshold-three-answers-caption-safe-zone-frames-are-matched-by-grid-not-2dnd","path":"/hexisteme/same-video-file-same-threshold-three-answers-caption-safe-zone-frames-are-matched-by-grid-not-2dnd","url":"https://dev.to/hexisteme/same-video-file-same-threshold-three-answers-caption-safe-zone-frames-are-matched-by-grid-not-2dnd","comments_count":7,"public_reactions_count":2,"collection_id":41974,"published_timestamp":"2026-09-12T00:00:06Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":2,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fhexisteme.github.io%2Fnotes%2Fcovers%2Fa-pair-is-matched-by-grid-not-by-count.png%3Fv%3Dd6cacd99b3b60339b5cefd2400d7ec22ea12638901569568acbbc11559bac4ff","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fhexisteme.github.io%2Fnotes%2Fcovers%2Fa-pair-is-matched-by-grid-not-by-count.png%3Fv%3Dd6cacd99b3b60339b5cefd2400d7ec22ea12638901569568acbbc11559bac4ff","canonical_url":"https://hexisteme.github.io/notes/a-pair-is-matched-by-grid-not-by-count.html","created_at":"2026-09-12T00:00:06Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-12T00:00:06Z","last_comment_at":"2026-09-14T04:49:04Z","reading_time_minutes":7,"tag_list":["testing","python","debugging","automation"],"tags":"testing, python, debugging, automation","user":{"name":"John","username":"hexisteme","twitter_username":null,"github_username":null,"user_id":3997679,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3997679%2F1757a270-952f-4fbb-b529-231fade996c5.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3997679%2F1757a270-952f-4fbb-b529-231fade996c5.jpeg"}},{"type_of":"article","id":4626325,"title":"I Round-Tripped 2,249 Test Fixtures Through sqlfluff's Auto-Fixer. Eight Came Back Unparsable.","description":"A linter's own test corpus is the best adversarial input you have against its auto-fixer. Here is the invariant, the run, and the part that actually matters: how 39 raw hits triaged down to 2 real bugs.","readable_publish_date":"Sep 10","slug":"i-round-tripped-2249-test-fixtures-through-sqlfluffs-auto-fixer-eight-came-back-unparsable-45le","path":"/wahib_el_khadiri_0/i-round-tripped-2249-test-fixtures-through-sqlfluffs-auto-fixer-eight-came-back-unparsable-45le","url":"https://dev.to/wahib_el_khadiri_0/i-round-tripped-2249-test-fixtures-through-sqlfluffs-auto-fixer-eight-came-back-unparsable-45le","comments_count":1,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-10T18:50:16Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2FWAHIB-EL-KHADIRI%2FWAHIB-EL-KHADIRI%2Fmain%2Fassets%2Fdevto-fix-safety-cover.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fraw.githubusercontent.com%2FWAHIB-EL-KHADIRI%2FWAHIB-EL-KHADIRI%2Fmain%2Fassets%2Fdevto-fix-safety-cover.png","canonical_url":"https://dev.to/wahib_el_khadiri_0/i-round-tripped-2249-test-fixtures-through-sqlfluffs-auto-fixer-eight-came-back-unparsable-45le","created_at":"2026-09-10T18:47:22Z","edited_at":"2026-09-10T19:10:07Z","crossposted_at":null,"published_at":"2026-09-10T18:50:16Z","last_comment_at":"2026-09-11T06:53:30Z","reading_time_minutes":5,"tag_list":["testing","python","opensource","devtools"],"tags":"testing, python, opensource, devtools","user":{"name":"Wahib EL KHADIRI","username":"wahib_el_khadiri_0","twitter_username":null,"github_username":null,"user_id":4040823,"website_url":"https://wahib-portfolio.netlify.app","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4040823%2Fdc1c7aa7-603d-4f87-a82b-07c20c473251.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4040823%2Fdc1c7aa7-603d-4f87-a82b-07c20c473251.png"}},{"type_of":"article","id":4646031,"title":"A Measurement That Never Ran Became a Verdict: A Second Automated Chrome Answered for the First","description":"A biweekly monitoring script kept completing and printing a confident verdict even though every browser read had failed, because a second automated Chrome instance silently answered in place of the first.","readable_publish_date":"Sep 14","slug":"a-measurement-that-never-ran-became-a-verdict-a-second-automated-chrome-answered-for-the-first-ebb","path":"/hexisteme/a-measurement-that-never-ran-became-a-verdict-a-second-automated-chrome-answered-for-the-first-ebb","url":"https://dev.to/hexisteme/a-measurement-that-never-ran-became-a-verdict-a-second-automated-chrome-answered-for-the-first-ebb","comments_count":0,"public_reactions_count":0,"collection_id":41974,"published_timestamp":"2026-09-14T00:00:06Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fhexisteme.github.io%2Fnotes%2Fcovers%2Fa-measurement-that-never-ran-became-a-verdict.png%3Fv%3D7ffcf51df097a4c916746c52f077b68e1a1529d923fcf112a3205c01cf0fa29a","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fhexisteme.github.io%2Fnotes%2Fcovers%2Fa-measurement-that-never-ran-became-a-verdict.png%3Fv%3D7ffcf51df097a4c916746c52f077b68e1a1529d923fcf112a3205c01cf0fa29a","canonical_url":"https://hexisteme.github.io/notes/a-measurement-that-never-ran-became-a-verdict.html","created_at":"2026-09-14T00:00:06Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-14T00:00:06Z","last_comment_at":"2026-09-14T00:00:06Z","reading_time_minutes":7,"tag_list":["monitoring","automation","python","devops"],"tags":"monitoring, automation, python, devops","user":{"name":"John","username":"hexisteme","twitter_username":null,"github_username":null,"user_id":3997679,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3997679%2F1757a270-952f-4fbb-b529-231fade996c5.jpeg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3997679%2F1757a270-952f-4fbb-b529-231fade996c5.jpeg"}},{"type_of":"article","id":4635261,"title":"Two Readers Broke My Checks. Not One of My Numbers Moved.","description":"Last week I published a post about nine measurement bugs I found in my own evaluation harness, all of...","readable_publish_date":"Sep 11","slug":"two-readers-broke-my-checks-not-one-of-my-numbers-moved-nmd","path":"/marvinoka4/two-readers-broke-my-checks-not-one-of-my-numbers-moved-nmd","url":"https://dev.to/marvinoka4/two-readers-broke-my-checks-not-one-of-my-numbers-moved-nmd","comments_count":3,"public_reactions_count":1,"collection_id":null,"published_timestamp":"2026-09-11T23:20:40Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":1,"cover_image":"https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1nzg8zuk50whvoueeluc.png","social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1nzg8zuk50whvoueeluc.png","canonical_url":"https://dev.to/marvinoka4/two-readers-broke-my-checks-not-one-of-my-numbers-moved-nmd","created_at":"2026-09-11T23:20:40Z","edited_at":"2026-09-12T21:15:53Z","crossposted_at":null,"published_at":"2026-09-11T23:20:40Z","last_comment_at":"2026-09-12T12:26:23Z","reading_time_minutes":7,"tag_list":["testing","python","ai","programming"],"tags":"testing, python, ai, programming","user":{"name":"Marvin Okafor","username":"marvinoka4","twitter_username":"MarvinOka4","github_username":"marvinoka4","user_id":3374130,"website_url":"https://marvinoka4.com/","profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3374130%2F2d22fef9-b8b3-4b12-b24c-55f422c5e7d4.jpg"}},{"type_of":"article","id":4639141,"title":"Under the Hood of FastAPI’s DI Engine: Signature Reflection, Execution Graphs, and Async Exit Stacks","description":"Dependency Injection (DI) in modern web frameworks is often treated as syntactic magic. In FastAPI,...","readable_publish_date":"Sep 12","slug":"under-the-hood-of-fastapis-di-engine-signature-reflection-execution-graphs-and-async-exit-stacks-2f5p","path":"/niraj_matere/under-the-hood-of-fastapis-di-engine-signature-reflection-execution-graphs-and-async-exit-stacks-2f5p","url":"https://dev.to/niraj_matere/under-the-hood-of-fastapis-di-engine-signature-reflection-execution-graphs-and-async-exit-stacks-2f5p","comments_count":1,"public_reactions_count":2,"collection_id":null,"published_timestamp":"2026-09-12T13:05:56Z","language":"en","subforem_id":1,"ai_disclosure_level":"some_ai","ai_disclosure_label":"AI-assisted","positive_reactions_count":2,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F48093twkw2qqxvekwggq.png","canonical_url":"https://dev.to/niraj_matere/under-the-hood-of-fastapis-di-engine-signature-reflection-execution-graphs-and-async-exit-stacks-2f5p","created_at":"2026-09-12T13:05:56Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-12T13:05:56Z","last_comment_at":"2026-09-13T02:19:56Z","reading_time_minutes":11,"tag_list":["python","fastapi","architecture","backend"],"tags":"python, fastapi, architecture, backend","user":{"name":"Niraj Matere","username":"niraj_matere","twitter_username":null,"github_username":null,"user_id":4122170,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4122170%2F93c7e835-4bdd-4784-b7bc-6e55213b3d1b.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4122170%2F93c7e835-4bdd-4784-b7bc-6e55213b3d1b.png"}},{"type_of":"article","id":4645482,"title":"When Free Inference Should Not Own the Retry Loop","description":"A retry loop that consults free inference before it fires again is not resilience. It is a second...","readable_publish_date":"Sep 13","slug":"when-free-inference-should-not-own-the-retry-loop-2in3","path":"/aiio_6471/when-free-inference-should-not-own-the-retry-loop-2in3","url":"https://dev.to/aiio_6471/when-free-inference-should-not-own-the-retry-loop-2in3","comments_count":1,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-09-13T20:45:25Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5wpdsqm9fgwhpgvquirc.png","canonical_url":"https://dev.to/aiio_6471/when-free-inference-should-not-own-the-retry-loop-2in3","created_at":"2026-09-13T20:45:25Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T20:45:25Z","last_comment_at":"2026-09-14T00:39:23Z","reading_time_minutes":7,"tag_list":["ai","devops","testing","python"],"tags":"ai, devops, testing, python","user":{"name":"Casey Li","username":"aiio_6471","twitter_username":null,"github_username":null,"user_id":4066207,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4066207%2F4f1792c5-90b2-46cb-81a3-70a88f744962.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4066207%2F4f1792c5-90b2-46cb-81a3-70a88f744962.png"}},{"type_of":"article","id":4644536,"title":"DeepSWE v1.1 Benchmaxxing Forensic Audit: Why 74% Resolve Rates Collapse in Production","description":"A forensic audit into how RLVR models game SWE-bench harnesses via git reflog mining and conftest hijacking, deflating from 74% to 31%.","readable_publish_date":"Sep 13","slug":"deepswe-v11-benchmaxxing-forensic-audit-why-74-resolve-rates-collapse-in-production-1a03","path":"/abhishek_raajmishra_b2f2/deepswe-v11-benchmaxxing-forensic-audit-why-74-resolve-rates-collapse-in-production-1a03","url":"https://dev.to/abhishek_raajmishra_b2f2/deepswe-v11-benchmaxxing-forensic-audit-why-74-resolve-rates-collapse-in-production-1a03","comments_count":0,"public_reactions_count":0,"collection_id":null,"published_timestamp":"2026-09-13T16:42:49Z","language":"en","subforem_id":1,"ai_disclosure_level":"not_disclosed","ai_disclosure_label":"Not Disclosed","positive_reactions_count":0,"cover_image":null,"social_image":"https://media2.dev.to/dynamic/image/width=1200,height=627,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkuoq6w1a5srlkzhshmnr.png","canonical_url":"https://eyestech.in/is-deepswe-v1-1-cracked-benchmark-audit/","created_at":"2026-09-13T16:42:49Z","edited_at":null,"crossposted_at":null,"published_at":"2026-09-13T16:42:49Z","last_comment_at":"2026-09-13T16:42:49Z","reading_time_minutes":6,"tag_list":["ai","testing","security","python"],"tags":"ai, testing, security, python","user":{"name":"Abhishek Raaj Mishra","username":"abhishek_raajmishra_b2f2","twitter_username":null,"github_username":null,"user_id":4123371,"website_url":null,"profile_image":"https://media2.dev.to/dynamic/image/width=640,height=640,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4123371%2Fae9abf64-d226-4be2-95c8-f8f65578a8ba.png","profile_image_90":"https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4123371%2Fae9abf64-d226-4be2-95c8-f8f65578a8ba.png"}}]