Writing
Notes on agentic coding, distributed systems, and running engineering teams.
02 / page 2 of 2
2024
-
· pycharm · 5 min
How to Roll Back PyCharm or Any JetBrains IDE Settings
Roll back PyCharm or any JetBrains IDE settings after a bad cloud sync: find the settingsSync Git history and restore your settings to a specific date.
-
· python · 9 min
Python Threading, Semaphores, and Barriers
Python threading, semaphores, and barriers explained with runnable code: limit concurrent workers, sync threads at a checkpoint, and avoid common pitfalls.
-
· databases · 12 min
CAP Theorem for Developers: What It Says and Why PACELC Matters More
CAP theorem for developers: what a network partition forces you to choose, why CA isn't an option, how Spanner, DynamoDB, and Cassandra behave, and PACELC.
-
· solidity · 6 min
Understanding Variable Types in Solidity
Solidity variable types explained: value vs reference types, storage, memory, and calldata, constant vs immutable, slot packing, and pragma versions.
-
· solidity · 13 min
Solidity Gas Optimization: What Saves Gas and What's Folklore
Solidity gas optimization measured on solc 0.8.37: storage caching, calldata, custom errors, immutable, transient storage, optimizer settings, and the myths.
-
· solidity · 5 min
Pull Over Push Pattern in Solidity: Safe ETH Withdrawals
Pull over push in Solidity: why paying users in a loop breaks, and how to let them withdraw with call, checks-effects-interactions, and ReentrancyGuard.
-
· python · 2 min
Python Deadlocks: Causes, Examples and How to Avoid Them
Python deadlocks explained with examples: circular wait, self-deadlock, and starvation, plus 7 ways to avoid them, from lock ordering to timeouts.