Blog
Writing on GPUs, LLMs, MLOps, Kubernetes — and mindset · 3525 posts
#2026-03 765#english 592#culture 264#deep-dive 254#kubernetes 249#career 229#ai 219#llm 209#devops 196#2026-04 146#security 143#database 114#observability 113#communication 109#history 107#architecture 100#productivity 96#finance 88#economy 84#mindset 81#psychology 80#ai-papers 79#food 78#it 78#travel 78#deep-learning 77#japanese 77#networking 77#performance 72#business-travel 70#linux 70#gpu 69#ai-agent 66#cs-fundamentals 63#postgresql 61#rag 58#self-improvement 55#learning 53#mlops 53#python 52
Diagnosing and Preventing Deadlocks — How to Pin Down the Two Queries from the Log
A step-by-step guide to what you should look at when you hit a deadlock detected error. How to interpret the PostgreSQL deadlock report and the SHOW ENGINE INNODB STATUS output of MySQL line by line so you can pin down w
2026-07-26 · 16 min read #database#postgresql#deadlock#locking#mysqlMistakes That Keep Repeating in Dockerfiles — Running as root, PID 1, and Secrets Left in the Image
Works through the Dockerfile problems that pass the build and only blow up in production, starting from their causes. Containers running as root because no USER was set, the latest tag and reproducibility, why ADD should
2026-07-26 · 12 min read #docker#dockerfile#container-security#pid1#devopsWhy the Index You Created Is Not Being Used — The Cases Where the Optimizer Is Right and You Are Wrong
A cause-by-cause breakdown of why a Seq Scan stays in the query plan even after you create an index. Low selectivity making the optimizer ignore it on purpose, a function or arithmetic on the column making the condition
2026-07-26 · 14 min read #database#postgresql#index#query-optimization#mysqlWhy the Docker Build Cache Keeps Breaking — Layer Cache Keys, ARG, and BuildKit Cache Mounts
Explains, at the level of cache keys, why npm ci runs for five minutes again after you changed a single line of code. It covers the difference between a RUN cache key being the command string and a COPY cache key being a
2026-07-26 · 11 min read #docker#buildkit#build-cache#ci-cd#devopsHow to Read EXPLAIN ANALYZE — Finding the Real Bottleneck in a Query Plan
A walkthrough of how to read EXPLAIN ANALYZE output from beginning to end. Which order to read the nodes in, why cost is not a unit of time, what the gap between estimated and actual row counts tells you, and how to avoi
2026-07-26 · 13 min read #database#postgresql#explain#query-optimization#performanceWhy a Big Connection Pool Costs You — Deciding Where to Put the Queue
An explanation of the mechanism behind the phenomenon where enlarging a connection pool actually makes things slower. Why a connection is expensive under the process model of PostgreSQL, why it is better to put the queue
2026-07-26 · 15 min read #database#postgresql#connection-pool#pgbouncer#performanceWhy Being Scared Feels Good — The Psychology and Grammar of Horror
People pay money to be frightened. This piece starts with three accounts of that paradox — the excitation transfer described by Dolf Zillmann, threat simulation inside a safe environment, and a study that measured real h
2026-07-26 · 13 min read #storytelling#horror#psychology#film#cultureThe Dunning-Kruger Effect — That Famous Graph Is Not in the Original Paper
The Peak of Mount Stupid graph that circulates online appears nowhere in the 1999 paper by Dunning and Kruger. The original was four studies that gave Cornell undergraduates tasks in humor, logic and grammar and compared
2026-07-26 · 9 min read #psychology#paper-review#metacognition#self-assessment#statisticsHow to Stop Evaluating LLMs on Vibes — Sample Size, Judge Bias, and CI Regression Tests
A team that edits a prompt and ships on "it seems better now" has no way to see the regressions quietly piling up. This post splits evaluation into four layers — assertions, golden datasets, LLM-as-judge, and human revie
2026-07-26 · 12 min read #llm#evaluation#llm-as-judge#statistics#regression-testingKubernetes OOMKilled(137) Memory Troubleshooting — What to Check Before You Raise the Limit
This post covers the situation where a container dies with Exit Code 137 while the application log leaves behind no exception at all. It starts from the fact that 137 tells you only one thing, 128 plus 9, that is SIGKILL
2026-07-26 · 14 min read #kubernetes#oomkilled#memory#jvm#cgroupThe Bauhaus: Fourteen Years That Changed a Hundred — How to Read the Shape of Things
The Bauhaus opened in Weimar in 1919 and closed in 1933 under Nazi pressure, so it existed for exactly fourteen years. It never held more than a few hundred students, the architecture department did not appear until eigh
2026-07-26 · 15 min read #humanities#design#architecture#design-history#modernismgit merge vs rebase — what to use when, and why a shared branch is never rebased
The difference between merge and rebase is best read in commit hashes, not in diagrams. Rebase is not a command that moves commits, it is a command that builds new commits with a different parent, and that single fact ab
2026-07-26 · 12 min read #git#rebase#merge#version-control#workflowHow Not to Waste a One-on-One — Make It Your Meeting, Not a Status Report
Thirty minutes a week comes to twenty-six hours a year, and most of it drains into status updates that three lines of Slack could carry. This post covers the principle Andy Grove set out in High Output Management in 1983
2026-07-26 · 11 min read #career#management#one-on-one#feedback#communicationTurning a Side Project Into a Career Asset — A Definition of Done, a Ship Date, and a Retro
Most side projects die not from a shortage of talent but from having no definition of done, no ship date, and no retrospective. Projects that turn into assets meet three conditions: other people can see them, your judgme
2026-07-26 · 12 min read #career#side-project#portfolio#growth#productivityCode Review That Teaches, Code Review That Wounds — What Makes the Same Note Land Differently
Code review does three jobs at once — finding defects, spreading knowledge, and sharing ownership of the code — and most teams do only the first and lose the other two. This post covers the Google approval bar, where a r
2026-07-26 · 11 min read #career#code-review#engineering#feedback#teamworkHow to Judge the Timing of a Job Change — The Question That Separates Running Away From Levelling Up
When you are torn about leaving, what you need is not courage but a standard. One sentence — would I stay if the problem vanished — separates the escape move from the growth move; a learning curve gone flat is a signal w
2026-07-26 · 12 min read #career#job-change#decision-making#growth#job-searchHow to Prepare for a System Design Interview — 45 Minutes Graded on How You Narrow Down, Not on the Answer
A system design interview has no right answer, so what gets graded is not what you drew but how you narrowed it down. A time budget that splits 45 minutes into 5, 10, 15, 10 and 5, the latency ladder worth memorizing by
2026-07-26 · 11 min read #career#interview#system-design#engineering#job-searchJWT or Sessions, and When — Settling the Authentication Choice by Asking Where the State Lives
The difference between JWT and sessions is not encryption or performance. It is one question: does authentication state live on the server or on the client? From that choice follows the fundamental weakness of JWT, the i
2026-07-26 · 13 min read #web#jwt#session#authentication#securityWebSocket, SSE, and Polling — Choosing a Realtime Transport, and Why Most Cases Do Not Need WebSocket
Most requirements labelled realtime turn out to be one-directional delivery from server to client, and in that case SSE is far simpler than WebSocket while running on the HTTP infrastructure you already have. Automatic r
2026-07-26 · 13 min read #web#websocket#server-sent-events#realtime#scalabilityCORS Errors and Why You Fix the Server — How the Browser Policy Actually Works, and the Wrong Ways Around It
CORS is not a security device that protects your server. It is a policy that decides whether the browser will hand a response to a script. That is why curl succeeds while only the browser is blocked, and why the place to
2026-07-26 · 14 min read #web#cors#http#browser-security#api