how to be a better programmer
If you want to become a better programmer then stop thinking in code. Programming is ultimately about solving problems with a predetermined set of abstractions. How these abstractions are expressed...
View Articlefixing hiring problems
As long as I’m figuring things out here’s another one for you. The Silicon Valley technology worker crunch is a self-inflicted wound. Looking for programmers with X years of experience makes no sense...
View Articlesimple monitoring with xinetd
Whenever you are running servers behind load balancers you need to perform health checks for marking servers up and down. If you are lucky then those health checks are built into the application code...
View Articlerefactor by partial evaluation
Some time ago I read an article on proggit that made an analogy between compression and clean design. Basically if you see a lot of repetition then you factor out that structure and re-use it the same...
View Articleoptimizing spot instance allocation
There is surprisingly little information on how to optimize costs using the AWS spot instance market. There are several services that provide management on top of the spot market if you have an...
View Articleoptimizing spot instance allocation (part deux)
See part 1 for context. This post explains the control/planner strategy I settled on to minimize the cost and make things as stable as possible to mitigate disruptions caused by VMs being re-allocated....
View Articlefinger exercises: pipes, bytes, and fibers
In which I try to figure out how to pack and unpack bytes over an in-process pipe so that I can use it in some future message framing protocol for a worker pool. There will be a guest appearance by...
View ArticleLearning exercise wrap-up: hash table in D
I’ve spent the last few weekends playing around with D and implementing a hash table by transcribing the code from jamesroutley/write-a-hash-table. D has templates and several other facilities for...
View Article