\(\newcommand{\ess}{\epsilon} \newcommand{\concat}{\mbox{ concat }}\) (Download pdf version) State maps Maps from finite sequences of events to “outputs” offer an alternative representation of Moore machines \cite{Hopcroft} with some advantages particularly for constructing automata products which can be used to describe
undefined behavior and the purpose of C

The C programming language, by design, permits programmers to work at both low and high level. In particular, for applications like operating system development, cryptography, numerical methods, and network processing, programmers can go back and forth between treating data as
An informal method

Download
Paxos demystified
Download
State maps for designs of computer software and hardware systems
\( \newcommand{\ess}{\epsilon} \newcommand{\RX}{\mathit{RX}} \newcommand{\TX}{\mathit{TX}} \newcommand{\rx}{\mathit{recv}} \newcommand{\tick}{\mathit{tick}}\) Operating systems and distributed consensus algorithms are a good example of systems that are difficult to describe clearly except in a lot of code. We use pseudo-code, block diagrams, and explanations in natural languages
aperiodic and cyclic state maps
Some rough notes on modularity, composite state maps, cascades and aperiodics. The larger question is how to factor discrete systems into modules. Suppose \(f:E^*\to X\) where \(E^*\) is the set of finite sequences over \(E\). This question is then about
The halting problem has nothing to do with computers
“Turing’s work was of course a great contribution to the world of mathematics, but there is a question of exactly how it is related to the world of computing. – Wilkes The undecidability of the halting problem for Turing machines
Jordan Peterson
“Without Christianity, and its emphasis on truth at all costs, science would never have come about.” Questions For 3 Looneys: Was Aristotle Christian? For a nickel: What culture came up with “arabic numerals”? For a toy in a cereal
Semiotics of functional programming
In contrast to the usual imperative languages (e.g., C, Fortran, and Ada), in which variables represent cells in memory that can be modified using the assignment operator = (or :=), functional languages view the use of the = operator as
Von Neumann’s critique of automata theory and logic in computer science
These remarks from “THE GENERAL AND LOGICAL THEORY OF AUTOMATA” 1947 are, not surprisingly, enormously insightful. Von Neumann essentially predicts the emergence of the field of analysis of algorithms and algorithmic complexity. Not only does he point out the importance
State functions 2019 draft

(minor updates March 26 2019) Download
