The daily log — what shipped, what broke, and what it taught me.
A day spent across shubhamdatarkar, The Parliament and WeCos, and every real problem turned out to be the same one wearing different clothes.
Read articleThree bugs in one day, none of which logged anything. A blank game icon, a bookmark count stuck at zero, and a share button that did nothing at all.
Read articleClick outside the composer, or hit Escape, and your half-written note vanished with no warning. I did that to my own users and didn't notice for a while.
Read articleA YouTube video refused to play in my feed. I blamed YouTube, built a check to warn people about it, and then found the block was in my own security header the whole time.
Read articleI added follow and mute to the community in one afternoon. Follow sends an email. Mute sends nothing, ever, on purpose -- and that silence took more thought than the feature.
Read articleI went to make the Hot tab better and found it had never worked. Then I broke it a second, more interesting way -- and my green test suite had no idea.
Read articleFor months the tools on my site were fake -- buttons that showed canned output. Yesterday I wired the last one to a real model, and it changed what the tools are for.
Read articleOne 529 could kill a whole article, and a 429 storm could hang the pipeline forever. Yesterday was a day of teaching KalamAI to survive bad weather.
Read articleYesterday's only commit flipped a default between two search-data vendors. The 2-line diff was the payoff for a boring interface I wrote weeks ago and half-forgot.
Read articleKalamAI built clean on my laptop and 500'd in production. The bug was hiding where next build cannot see it -- inside the serverless lambda.
Read articleKalamAI wrote its first real article end-to-end. It was fine -- and fine is a problem when the whole point is good writing. So I spent the day rebuilding the ranking math.
Read articleI wrote a rule, then broke it myself, and the community feed put the same fallback line under my name twice in twenty minutes. So I stopped trusting my discipline and moved the rule into CI.
Read articleI added a default to a database function so a deploy couldn't break. Then I probed prod and found the default had never once applied.
Read articleI reset all three games -- fresh puzzles, re-scrambled lists. Two things stayed quietly alive: a streaks table the migration forgot, and a Date.now() the cache had frozen.
Read articleI locked the middle column to a fixed width so three unrelated sections would line up. Then I spent nine PRs paying for it.
Read articleA member could not log in because the auth email never arrived. The fix I reached for did not work -- and the reason why was more interesting than the bug.
Read articleCommunity posts had ugly UUID links. I wanted human URLs -- without ripping out the key every other feature leans on.
Read articleI spent a day hardening the site, shipped a Content-Security-Policy, and quietly blocked every logo and photo from loading. Here is what the audit missed.
Read articleA safe shortcut in my SEO code stopped being safe the day testimonials moved to the database. Nobody told the code.
Read articleThe photo publisher crashed in production with an error I could not read. I spent the night making it speak. Then I deleted all 1,918 lines of it.
Read articleI swapped role-based gating for capabilities on the members side, and a migration reminded me you cannot quietly change a function's return type.
Read articleA prod migration came back green, then a search index blew up on a column I had just written. The culprit: a forgotten table sharing a name.
Read articleI had a variable literally named fakeOriginal. Ripping it out meant I finally had to build real GST invoices.
Read articleI added a real dictionary to Alfazy, then realised an invisible \r would reject every valid word on a Windows checkout.
Read article