Call of Cthulhu / Pulp Cthulhu Don’t forget to like and subscribe! It’s the modern day, and you are all paranormal investigation / conspiracy theorist youtubers. You uncover the truth that the man doesn’t want people to know! Sure, many of your “ghost” tips turn out to be teens doing drugs in an abandoned building at night, or similar mundane explanations, but a little video editing can solve that…
The Domain Name System is a huge distributed eventually-consistent database 1 mapping names, like memo.barrucadu.co.uk , to numbers, like 116.203.34.201 . It’s federated, with trusted entities (you may have heard of the “DNS root servers”) delegating control of segments of the DNS namespace to others. It holds hundreds of millions of records, and updates to this database are typically visible in…
I’ve spent the last week or so implementing a recursive DNS resolver in Rust. I’m not very good at either of those things, so this has been a bit of a learning experience. This memo is about how I ended up implementing the caching layer. You don’t need to know much about DNS to follow this memo, just some basics: DNS is a distributed eventually-consistent database, and timeouts are how it achieves…
User effectfully on reddit wrote an article It’s not a no-op to unmask an interruptible operation ( reddit discussion ) about a small gotcha with interruptible operations and asynchronous exceptions. The gist of it is that this snippet of code: mask $ \restore -> do putMVar var x ... behaves differently to this snippet of code: mask $ \restore -> do restore $ putMVar var x ... in the presence of…
Once upon a time I used a self-hosted instance of Jenkins and the free-for-open-source Travis CI for continuous integration (CI) and continuous deployment (CD). It worked , but had some undesirable traits: There wasn’t any rhyme or reason over what ended up where. Travis often took a long time to run jobs. Jenkins was almost all hand-configured, with little config in version control. I’m a big fan…
The 19th of March, 2020 was the last time I visited the office , and there were only a couple of other people in. Lockdowns have come and gone, restrictions have changed frequently and unexpectedly, and so I’ve lived the last 12 months as a hermit. Since that final day in the office, one year ago today, I’ve only left my flat once or twice a week, and that only to go shopping. There is a vaccine…
I’m good at remembering facts and details, but not so good at remembering tasks and experiences. I’d forget to do the laundry every weekend if I didn’t have it written down: so I wrote it down. I’ve developed a system to organise myself and make sure I get around to doing the things I need to do. Like my personal finance system, this system has evolved over the years based on what’s made…
I care a lot about my finances, and I put a lot of effort into tracking things, making goals, and improving my financial health. Once upon a time, I didn’t: within a few years of university, I managed to blow through all my savings, loans, grants, parental support, and overdraft. There were times where I couldn’t withdraw money from a cash machine because I had less than £5 to my name (well, less…