Skip to content

Write down what I learn,
and learn again by writing

From concepts I studied to problems I ran into, what I learn as a developer

How DNS works

why one name lookup sent 8 queries in Kubernetes

When code calls http.Get, the name has to become an IP address before any request goes out. That's DNS's job. With the same setup as a Kubernetes pod, one name lookup sent 8 queries to a tiny DNS server I wrote to count them.

NewCS · Fundamentals

Read

Browse by topicStart wherever you like

All categories

Go13 posts

What slices, interfaces, and context really hold, plus timeouts and optimizations met in production

AI7 posts

Notes from using and building with AI tools like Claude Code and Codex, and thoughts on learning with AI

Database5 posts

Transactions, locks, and normalization as concepts, then indexes and multi-pod concurrency in practice

Infra2 posts

Problems from Kubernetes resource settings and on-premise installs, traced back to the cause

CS1 post

CS fundamentals revisited along the path of a single request, checked against how Go and Kubernetes actually behave

Recent posts

See all posts
Infra · Kubernetes

Kubernetes on‑premises ErrImagePullpulling an image that's already there

When customers called because an installed service wouldn't start, the pod was usually in ErrImagePull, sometimes ImagePullBackOff. At first that puzzled me.

Infra · Kubernetes

Kubernetes requests and limitswho killed it, OOMKilled or Evicted?

Writing the GOMEMLIMIT post, I mentioned container memory limits often, but on the Kubernetes side I only knew requests as a floor and limits as a ceiling.

AI · AI Tools

AI job search and tailored resumesjobhunt, a Claude Code and Codex skill

While preparing to change jobs, I repeated the same chores every week. I searched job sites, read each posting to judge the fit, and reworked my resume.

Go · Concepts

Go goroutine leaks and pprofchannels, mutexes, and exit paths

Starting a goroutine is easy. The hard part was deciding who changes the data, who finishes the work, and when a function may return.

Go · Concepts

Go sync.Pool and buffer reuseafter Put, Bytes() isn't yours

In the previous post, total allocations stayed at 256MiB however I set GOGC and GOMEMLIMIT. Reusing short-lived buffers with sync.Pool is one way to shrink it.

AI · Essays

LLM prompting vs RAG vs fine‑tuningweights or input?

I spend a good part of every day working with AI, for code and for writing. Yet I couldn't explain how the model was built, or in what order it computes an answer to what I send it.

esc

Recent posts

↑↓ move↵ openOpen search page ›