JTJAY TANKinjaytank.hashnode.dev·23h ago · 10 min read`verify=False`and the day your HTTPS stopped meaning anythingIt usually starts on a Friday, with a stack trace nobody wants: ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate The de00
ARAI ROUTERinai-router.hashnode.dev·1d ago · 12 min readA 200 from /models Is Not an OpenAI-Compatible API Smoke TestYour new API base URL resolves. TLS succeeds. GET /models returns HTTP 200. That is useful evidence. It is not proof that the endpoint is ready for your application. The response might have the wrong 00
JTJAY TANKinjaytank.hashnode.dev·1d ago · 8 min readThe spreadsheet export that emailed your database to an attackerPicture the least dangerous ticket in your backlog: "Add an Export to CSV button." You wire up a loop, write a header row, dump each record, and ship it. No parsing, no eval, no network — just text go00
CNChukwuebuka Nwokikeinebuka-blog.hashnode.dev·3d ago · 10 min readHow i built the Backend of a Speech-to-text Software.I recently built a speech-to-text software that lets you record voice notes and turns them into clean, structured text using AI. You speak, it transcribes, removes your filler words, and gives you a p00
FFerinferztyle.me·3d ago · 22 min readBuilding ferctl top: Kubernetes resource usage vs requests and limitsSeries: Platform engineering with Go | Topics: Go, Kubernetes, Cobra, client-go, metrics-server, Platform Engineering This is part of the Platform Engineering with Go series. This post builds on the 00
JTJAY TANKinjaytank.hashnode.dev·3d ago · 9 min read The JWT function everyone mistakes for a security checkLet me hand you a valid-looking token and an app that trusts it. // The endpoint that decides who you are on every request. function currentUser(req) { const claims = jwt.decode(req.headers.authoriz00
JTJAY TANKinjaytank.hashnode.dev·3d ago · 8 min read Anatomy of a cross-tenant cache leakUser A refreshed the page and saw User B's dashboard. Not a blurry avatar or a stale badge count. The whole thing — B's account name, B's revenue numbers, B's open invoices — rendered inside A's sessi00
JTJAY TANKinjaytank.hashnode.dev·5d ago · 4 min readYour webhook endpoint trusts strangersHere is a real endpoint, lightly disguised, that I have seen more than once: app.post("/webhooks/stripe", express.json(), (req, res) => { const event = req.body; if (event.type === "checkout.sessi00
ASAbhijeet Shindeinweeklyupdate.hashnode.dev·6d ago · 5 min readLearning Go, Week 2: Time, Memory Management, Pointers, and SlicesLast week I wrote about starting Go from the fundamentals — the toolchain, the type system, zero values, and why the language is strict about things like unused variables. This week I moved from synta00
JTJAY TANKinjaytank.hashnode.dev·6d ago · 4 min readThe commit that turned on DEBUG in productionEvery outage story has a boring version, and the boring version is usually the most common one. Not a clever exploit — just a DEBUG = true that rode a pull request into production. Or an app quietly p00