.

  • Spanner in the works

    The developers of Google’s Spanner database built an interesting system but chose to build their own clock synchronization technology instead of getting a more precise off the shelf solution and chose to make extensive use of the notoriously complex Paxos distributed consensus algorithm even though they were incorporating clock sync into their system. Whatever the…

  • Comrades Cheyne and Stokes and mathematics

    There is a great book of stories by Soviet era radio astronomer Iosef Shklovsky called 5 Billion Vodka Bottles to the Moon which has a this story (which I tell from memory, no guarantees) In 1953 a young Jewish math student found himself in jail. This was during the “Doctors Plot” purge where it was…

  • Flat address spaces: another crank idea for computer architecture

    Flat address spaces: another crank idea for computer architecture

    The poor C programming language is ridiculously out of fashion.  Critics like to explain how, Dennis Ritchie didn’t know any math, or that the type system of C fails to invoke any category theoretical concepts and that, unlike in the antique days of the PDP-11, modern processors do not have “flat memory” but feature these…

  • Practical uses of synchronized clocks -Liskov

    Practical uses of synchronized clocks -Liskov

    From 1991, Barbara Liskov looked at the implications for distributed computing when synchronized clocks are available.

  • Three modest proposals for the C standard WG14

    Three modest proposals for the C standard WG14

    Note: these were sent to WG14 as official proposals. See also a longer paper,  something on alias  and Torvalds remarks and Regehr’s paper.  6.12 Proposal to clarify undefined behavior range for implementations [N 2278] 6.13 Proposal to make aliasing consistent [N 2279] 6.14 Proposal to limit optimization to C semantics [N 2280] I’m going to write…

  • Vector optimization with C aliasing

    One of the common defenses of the abuse of “undefined behavior” by C compilers, and the stupid aliasing rules in the standard is that those things are necessary for optimizations, like using vector operations.  Here’s an example of where gcc ignores the standard and does what the C language semantics require while taking advantage of…

  • Torvalds on aliasing

    Torvalds on aliasing

    See also   Dennis Ritchie on aliasing, PLOS article,  pointer alias in C and remarks on the purpose of C.  From: LKML From Linus Torvalds <> Date Tue, 5 Jun 2018 10:30:21 -0700 Subject Re: [GIT PULL] Device properties framework update for v4.18-rc1 On Mon, Jun 4, 2018 at 4:31 AM Rafael J. Wysocki <rafael@kernel.org> wrote: >…

  • Pointer alias analysis in C

    Pointer alias analysis in C

    Perhaps there is some reason to provide a mechanism for asserting, in a particular patch of code, that the compiler is free to make optimistic assumptions about the kinds of aliasing that can occur. I don’t know any acceptable way of changing the language specification to express the possibility of this kind of optimization, and I…

  • Judea Pearl’s mysterious claim

    Pearl: Of course, but you cannot see this noble aspiration in scientific equations. The language of algebra is symmetric: If x tells us about y, then y tells us about x. I’m talking about deterministic relationships. There’s no way to write in mathematics a simple fact—for example, that the upcoming storm causes the barometer to go down, and not the other way…

  • Depressing and faintly terrifying days for the C standard

    Depressing and faintly terrifying days for the C standard

    C STANDARD UNDEFINED BEHAVIOR VERSUS WITTGENSTEIN 1. DEPRESSING AND FAINTLY TERRIFYING Chris Lattner, the architect of the Clang/LLVM C compiler explained the effects of the C standard’s “undefined behavior”(UB): UB is an inseperable part of C programming, […] this is a depressing and faintly terrifying thing. The tooling built around the C family of languages…