SHSohag Hasaninnotes.sohag.pro·Jul 22 · 8 min readBig Problem With Your List: You Ain't on ItLast Thursday I spent an hour and forty minutes stuck on the road from Banani to Mirpur, and I used every minute of it to build a case. The traffic was exhibit one. Then the dollar rate. Then a client00
SHSohag Hasaninnotes.sohag.pro·Jul 14 · 11 min readI Built a Production Go Payment Ledger in 14 Weeks. Here's What I'd Do Differently.Near the end of this build I did something I'd recommend to anyone who has just finished a big project and feels good about it: I handed the whole thing to a reviewer who had no stake in my feelings a00
SHSohag Hasaninnotes.sohag.pro·Jul 13 · 11 min readApproval Workflows and an Outbox Event Stream in Go: Eventing Without KafkaThe first time a bank made me wait, I was annoyed. I was trying to send a fairly large transfer, tapped confirm, and instead of the usual "done" the app said the payment was "under review." Nothing mo00
SHSohag Hasaninnotes.sohag.pro·Jul 12 · 7 min readNested Accounts in a Go Ledger: Rolling Up Balances Without Storing OneOpen any budgeting app and look at the summary screen. It says you spent 620 on "Food" this month. But you never made a payment to something called Food. You bought groceries, you got coffee four time00
SHSohag Hasaninnotes.sohag.pro·Jul 12 · 9 min readThe Exchange Rate Was Hiding in an Environment VariableLast week I sent a little money across a border. The app showed me a rate, I tapped confirm, and the euros landed a moment later. Out of habit I checked the rate against a search engine, and the app's00