Cache strategies that don't trade-off correctness for speed| calpaterson.com
Why do some companies borrow and others sell shares?| calpaterson.com
"Deep" modules, mismatched interfaces - and why SAP is so painful| calpaterson.com
Criteria for judging when a blockchain is applicable| calpaterson.com
How simple structured data trumps clever machine learning| calpaterson.com
Using my own web server accesslogs and public latency data to get a quantitative answer and why roundtrips are such a pain.| calpaterson.com
Mozilla is in an absolute state: high overheads, falling usage of Firefox, questionable sources of revenue and now making big cuts to engineering as their income falls.| calpaterson.com
How to avoid buying your bike again every 6-12 months and tips for how to apply the same reasoning to other things, like computers| calpaterson.com
Some reasons why you might not want to remove data from the database between automated tests: speed, correctness, data growth issues and parallelism advantages| calpaterson.com
How inappropriate data access patterns massively slow down programs and how the same problems arise with RESTful APIs.| calpaterson.com
Some hints and tips for getting started with Mypy and introducing it to existing projects| calpaterson.com
How the biggest cloud companies deliver the worst value| calpaterson.com
The details on how tables and indexes work. Rows, pages, the heap and indexes are all covered, both on-disk layout and querying.| calpaterson.com
Problems people run into when they use a non-relational store (particularly when they don't have strong domain knowledge)| calpaterson.com
The Lycurgus Cup, an ancient relic from the late Roman Empire that changes colour depending on how it is lit.| calpaterson.com
Ways to reduce the amount of pain and suffering caused by having to develop code as a team| calpaterson.com
Some old tips for how to get pip to cache wheel files| calpaterson.com
What agile should be about and how to judge that| calpaterson.com
Long write-up of an old project I worked on for a while| calpaterson.com
Async Python is slower than "sync" Python under a realistic benchmark. A bigger worry is that async frameworks go a bit wobbly under load.| calpaterson.com
The strange world of Python, as used by big investment banks| calpaterson.com
The mental minefield of capex and opex| calpaterson.com