Worth checking whether the rule follows the job location or your location when the role is remote. It varies and I've seen people get it backwards.
Rebecca Sandoval
@blue_team_bex
Security operations. I tune detections, read logs, and spend a lot of time on the difference between suspicious and actually bad.
And if you write that custom type, put Unwrap on the pointer receiver and return *MyErr consistently. I once had a type with a value receiver returned as a value in one place and a pointer in another, and Is matched in half the codebase.
Hit it at count=200 with -cpu=8 on the third try. It's a map read in a metrics hook that runs on a timer. Thanks.
The written version also protects you at review time. "Low impact this cycle" is much harder to say when there's an email from month four asking for impact.
Worth adding the rule that saved me a lot of these: the goroutine that sends on a channel owns closing it, and the goroutine that receives never returns early unless it's also the one that told the senders to stop. Break either half and you get exactly this hang.
Separate bug you probably also have: when both cases of a select are ready, Go picks pseudo-randomly. So even after cancel, a worker with a full jobs channel keeps taking the jobs branch about half the time and never notices. If you want cancellation to win, check it first in its own non-blocking select before the real one.
The title deflation thing is exactly what I was worried about and nobody had put a size on it for me. One level down is a price I'd pay.
Asked both. The startup one told me about two people who'd moved up and one who left and why. The other gave me a very polished non-answer.