madhadron

Programming

I have collected some advice on learning to program if you’re starting out, and some basics explaining disk partitions, the stack and heap

Perspectives: The seven programming ur-languages; is software engineering really a thing?; our conventions are not inevitable; algebras (including monads) are molds for programming; a criticism of Ruby; there are astonishing things in computing; a rubric for software engineering

Career advice: How to write a good resume; set up your workstation to protect your hands; allocate your time realistically; deliberately tend your social network at work

or, career related musings: seize serendipity; a Q&A I did with The Programmer’s Hangout; your mental health can benefit from innocent topics; focus on concrete, technical material.

Software testing: tactics for testable code and writing tests easier and faster.

Infrastructure and operations: get unstuck on infrastructure choices; what makes good backups; serializing data the right way; zero downtime deployments; how to monitor systems; notes on build systems; how to approach cloud providers; where is the database; advice on tuning JVMs

Databases: storing images in databases

Organizing software development: you can’t gate your way to reliability; direct translation of processes from other fields rarely works; create effective pull requests; design programs via types; writing programs via translating models; parser combinators for HTML