-
Cutting and pasting about Kodak’s demise
This graph from Peter Diamandis about how Kodak entered the sinkhole is kind of amazing. Diamandis explains Kodak’s failure to swerve in what is I think the orthodox Silicon Valley analysis: [in 1996] Kodak had a $28 billion market cap and 140,000 employees. In 1976, 20 years earlier, Kodak had invented the digital camera. They owned…
-
RTLinux
-
Synchronous processors
Imagine a processor with no interrupts. We can do a lot better and get rid of most exceptions (e.g. system calls, page faults etc.), most peripheral devices/buses, and even cache misses, but let’s start with interrupts. Modern micro-processors are bloated with circuitry that is designed to allow the precious CPU to switch back and forth…
-
IEEE 1588 PTP is a mess
IEEE 1588 was not designed for modern enterprise computer networks and contains many hacks to make it sort of work. The standard also suffers from being overly explicit on some things and overly unspecific on others. One marker of the flawed process is that IEEE 1588 transparent clocks don’t really comply with Ethernet standards because…
-
MiFID II Clock Sync – talk at Bank of England April 12 2016
-
Operations and maps on finite sequences
-
The difference between unspecified, undefined, and non-deterministic
There is too much confusion in the “formal methods” computer science literature between these three different terms. Let me start with what this means for a state machine and then move on to engineering objects such as threads. Suppose we have a map α: X → Y where X is the set of finite sequences over X.…
-
Software quality at toyota
-
A mathematical basis for understanding software modularity
-
one way queues
Here’s some code for lock free queues for a single producer and single consumer. The code is designed for Intel multiprocessors with strong memory model. I don’t know what ARM offers these days. But the strong memory model for x86 means that the program doesn’t need any special synchronizing operations at all. All it needs…