I was working on a profiling system at work and became jealous of Go. The Go runtime has CPU and heap profilers built into the language. You can attach to a running production service, pull a profile over HTTP, and explore it with go tool pprof — flame graphs, call trees, diffs between two snapshots — without restarting anything or deciding in advance that today was the day you would need a profile.
in Games on Games, Game-theory, Go, Machine-learning
Over the holidays I played Exploding Kittens with my family for the first time.The player who draws the “exploding cat” card loses unless they can defuse it; cards can skip turns, draw from the bottom of the deck, reveal the next few cards, shuffle the deck, or force a card to change hands. There are expansion decks with additional cards and unique mechanics. It is a fun game and can be played with almost any number of players. I lost, and in typical fashion, set out to solve it. The result is AlphaCats.
On Friday my laptop stopped turning on normally, leaving me stuck with a black screen. The machine was still booting up (I could hear the chimes and the keyboard backlight worked), but no screen image or backlight whatsoever.
It seems that the default settings in Docker for Mac do not enforce any log rotation for services running on the integrated Kubernetes. This led to a seeming memory leak that would eventually crash my computer for long-running services. While this is somewhat understandable, given that Docker for Mac is clearly targeted for development, it still seems like an unfortunate default.