"If luck wasn't involved, I would always be winning." -Michael Scott
Posts by Haseeb Raja
وَتُعِزُ مَن تَشَاء وَتُذِلُ مَن تَشَاء
Honor and humiliation are not fixed by current worldly power, lineage, or political strength. They are under Allah’s control.
When you draw from your own deeply personal experiences and vulnerabilities, you are guaranteed to create something that no one else could have made.
“Type Construction and Cycle Detection” by Mark Freeman — go.dev/blog/type-construction-a...
#golang
PentAGI is an innovative tool for automated security testing that leverages cutting-edge artificial intelligence technologies.
#redteaming
Eid Mubarak ✨
Saying “I knew it was wrong” doesn’t solve anything. Of course you knew.
Recognition is cognitive. Conduct is procedural. Recognition can happen in a flash. Conduct is built out of repetition, timing, friction, and often very boring constraints.
the beauty of being is the audacity to claim otherwise
dates are reminders that time moved on ✨
Verification is the method for determining if a proposition adheres to either correspondence (empirical) or coherence (analytical) standards.
2/2. This matches how most dev syncs naturally flow, and it encourages you to capture decisions, next steps, and the few notes that matter. It is not meant to fit every meeting. Adjust sections, rename them, or remove anything that does not help your team.
docs.google.com/document/d/1...
1/2. A meeting template that could serve as a backbone: Meeting Metadata -> Project Discussion -> Features and Updates -> Changes and Requests -> Notes -> Follow-ups -> Logs.
Vibes 😉
ZKPs enables proving the truthfulness of a mathematical statement, without revealing additional information that may have been useful in finding said truthfulness.
csrc.nist.gov/projects/pec...
Do not go gentle into that good night.
Rage, rage against the dying of the light.
~Dylan Thomas
Strong careers are often built in two stages. First, go very deep in one area and solve painful problems. Second, reuse that mental toolkit across domains. That mix of depth and transfer is hard to compete with.
#programmingtip
When you spend years mastering systems and the assigned ticket is "Fix Padding".
Backend architecture: 🛡️⚔️
Centering a button: 🤡
Me: *Attacks the enemy
Enemy: *z-index: 9999
#ProgrammerHumor #CodingMemes
Default and absolute privacy is a fundamental human right. Default privacy validates human dignity. It presumes that the individual owns their life, thoughts, and data, and that the state or corporation is a guest in that space.
#privacy
10/10 Practical checklist: Use channels or mutexes for most shared state, reach for atomics only in focused cases, always run go test -race, and remember, if goroutines share memory without synchronization, Go makes no visibility guarantees.
More on go memory model at skoredin.pro/blog/golang/...
9/ Lock free structures such as a stack built with compare and swap rely on the same rules. CAS acts as a full memory barrier, so once it succeeds, other goroutines see a consistent node state even though no mutex was involved.
8/ Classic trap, a data field plus a ready flag. If you write the data, then set ready with a plain write, the CPU may reorder them, and another goroutine can see ready set while data is still stale. Use atomic store and load on the flag.
7/ Atomic operations from the atomic package in the standard library provide strict memory barriers. A Store keeps earlier writes before it, and a later atomic Load will see them. This is how you safely implement counters, flags, and ready bits.
6/ Mutexes give simple ownership over a critical section. An Unlock in one goroutine happens before a later Lock on the same mutex, so all writes done while holding the lock become visible to the goroutine that acquires it next.
5/ Channels are one of the safest ways to publish data. A send on a channel happens before the matching receive, and closing a channel happens before a receive that observes the closed state, so the receiver sees all prior writes.
4/ To make updates visible, you need a happens before relationship. In practice, that comes from synchronization primitives, channels, mutexes, or atomic operations. Without that edge, the compiler and CPU may reorder reads and writes.
3/ Core rule. If two goroutines access the same memory at the same time and at least one of them writes and there is no synchronization, Go gives you no guarantees. Treat that as a bug, even if your tests look fine.
2/ Almost every serious concurrency bug is the same question, "I wrote a value, so why did the other goroutine not see it." Usually, because the data was written but not safely published, so the reader saw a stale copy.