I am really behind on my blog posts, but here is a random one that wasn’t actually on the backlog. I have been using the Seek app quite a bit while wandering the fields near where I live during lockdown. This is a project to visually identify all species through an app that is based on a large open data set and models. It does an amazingly good job, only very occasionally making mistakes…
The other day I got a message from Jenny “the Burce” saying that I had to get some equipment to upgrade my live streaming setup for the DockerCon dry run. Cameras and microphone and things, a list from Bret Fisher . Only problem, I soon discovered, was that nothing on the list was actually available. Somehow just after lockdown everything that people might need to live stream audio and…
Next weekend is Fosdem , the largest open source event in Europe. A lot of people will no doubt be coming for the first time, or thinking about coming another year, so I thought it might be helpful to explain what it is. Fosdem is not really like any other event, so Americans in particular find it confusing, thinking it might be like OSCON or something. It is not. Of US events I know, it is…
Illustration from Paul Klee, Pedagogical Sketchbook, 1925 I have been reading a lot of papers on linear types recently. Originally it was to understand better why Rust went down the path it did, but I found a lot more interesting stuff there. While some people now are familiar with linear typesas the basis for Rust’s memory management, they have been around for a long time and have lots of…
Go and read the excellent blog post from Cloudflare on their recent outage if you haven’t already. I am not going to talk about most of it, just a few small points that especially interest me right now, which are definitely not the most important things from the outage point of view. This post got a bit long so I split it up, so this is part one. Fuzz testing has been around for quite some…
There is now a rustyk8s mailing list to discuss implementations of the Kubernetes API in Rust. There was a lot of interest in my tweet a couple of months about writing an implementation of the Kubernetes API in Rust. I had a good conversation at Kubecon with some people about it, and thought I should explain more why it is interesting. So, it seems the competition is on. Most complete…
You might have noticed me tweeting a bunch about RISC-V in recent months. It is actually something I have been following for several years now, since the formation of LowRISC in Cambridge quite some time ago, but this year has suddenly seen a huge maturing of the ecosystem. In case you have been sitting under a rock hacking on something for some time, RISC-V is an open instruction set for CPUs. It…
I gave quite a few talks this year, and also organized several conference tracks. Config Mangement Camp It was an excellent Config Management Camp this year, and fun to speak at. Justin Cormack Making Immutable Infrastructure Simpler with LinuxKit QCon London 2018 I organized the Modern Computer Science in the Real World Track at this conference, it was a great set of talks. Heidi Howard…
A few weeks back Kubernetes had its first really severe security issue, CVE-2018-1002105 . For some background on this, and how it was discovered, I recommend Darren Shepherd’s blog post , he discovered it via some side effects and initially it did not appear to be a security issue just an error handling issue. Of course we know well that many error handling issues can be escalated, but why…
I had until recently mostly been ignoring QUIC. In case you had, QUIC is a new-ish protocol developed to Google, that will probably be HTTP version 3. The interesting pieces are that it runs over UDP not TCP, but supports reliable delivery by implementing retransmission itself, that it supports multiple streams without head of line blocking, and that it is designed to support encryption natively.…
This is a follow up to my previous capabilities post . As before, you probably want to read Capability Myths Demolished and the Noise Protocol specification first for full value extraction. This is a pretty rough draft, I was going to rewrite it but decided just to publish as is, work in progress, and write another post later, having left it for several weeks after writing it. This stuff needs a…
Having been on holiday there has been a bit of an outburst of discussion around new licenses for open source, or less open source code. But in many ways the more interesting piece, that puts it in context was Joseph Jacks’ seventh Open Consensus piece, “OSS Will Eat Cloud Computing” . The Redis arguments about changing some code from the anti cloud provider AGPL to a no…
From Filesystems to CRUD and Beyond In the beginning there was the filesystem. Well, in 1965 to be precise, when Multics introduced the first filesystem . The Multics filesystem was then implemented in Unix, and is pretty recognisable with a few tweaks with what we use as filesystems now. Files are byte addressed, with read , write and seek operations, and there are read, write and execute…
Config Management Camp I gave this talk at Config Management Camp 2018, in Gent. This is a great event, and I recommend you go if you are interested in systems and how to make them work. Did I mention that Gent is a lovely Belgian town? The slides can be downloaded here . Below is a brief summary. History Some history of the ideas behind immutability. “The self-modifying behavior of both manual…
Preamble In order to understand this blog you should know about capability-based security . Perhaps still the best introduction, especially if you are mainly familiar with role based access control is the Capability Myths Demolished paper. You will also need to be familiar with the Noise Protocol Framework . Noise is a fairly new crypto meta protocol, somewhat in the tradition of the NaCl…