Author: vy

  • Computer Science as a scholarly discipline.

    Computer Science as a scholarly discipline.

    Google Scholar tells me that “Why Functional Programming Matters” was published in 1989 and has been cited over 1000 times. Here’s a quote.  Recall that a complete functional program is just a function from its input to its output. If f and g are such programs, then (g. f ) is a program that, when…

  • Current reading

    Wadler’s influential “monads” paper for Haskell. It seems like a classic case of making something simple sound profound and mysterious.  And companion paper by Hughes on “why functional programming matters” . See also some comments above. McCarthy’s original LISP paper.  Just terrible. He made a serious error picking Lambda calculus as a base notation. A problem…

  • Chang-Maxemchuk atomic broadcast

    The Chang-Maxemchuk algorithm (US Patent 4,725,834 ) solves atomic broadcast (and in-order broadcast) problems for distributed networks in a far simpler and more efficient way than some popular alternatives. In fact, the obscurity of this method is hard to understand given the current interest in distributed consensus. The basic idea is simple algebra. A source site or…

  • Time out of joint

    Financial trading venues and trading systems operate so quickly and rely on clocks so deeply that events like the one noted in this FINRA report are more common than many understand The findings stated that the firm transmitted to OATS New Order Reports and related subsequent reports where the timestamp for the related subsequent report…

  • Data base design criteria: ease of use

    Regarding ease-of-use, it’s often struck me when reviewing data systems papers that the evaluation sections are full of performance and correctness criteria, but only rarely is there any discussion of how well a system helps its target users achieve their goals: how easy is it to build, maintain, and debug applications?; how easy is it…

  • Distributed consensus and network reliability

    All of the distributed consensus algorithms I have been reviewing recently (Paxos, Raft, Zab, Chang Maxemchuck, Viewstamped, … ) are based on a number of assumptions about the network environment, including the assumption that messages may be lost but are not silently corrupted.  Is that a good assumption? Perhaps: Real data 1995 Checksums disagree 2000 …

  • The replicated state machine method of fault tolerance from 1980s

    The replicated state machine method of fault tolerance from 1980s

    The first time I saw this method was when I went to work for Parallel Computer Systems, , later called Auragen, in the famous tech startup center of Englewood Cliffs, New Jersey. I commuted there from the East Village*. The company built a parallel computer based on Motorola 68000s  with a replicated message bus. The bus guaranteed…

  • circularity problems in distributed consensus

    Distributed consensus involves organizing a collection of independent agents – processes or network sites – to agree on some value or sequence of values.  Many distributed consensus methods depend on a leader-follower scheme in which the leader is an agent that essentially tells the followers what the values are. The challenges in such methods are…

  • state equations in practice

      When people think of mathematical models of state for programs and other computer systems, it’s natural and conventional to consider state as a map from symbolic names of state variable to values. This is an error for a number of reasons including, most critically, the lack of any compositional structure. Let’s step back and…

  • State equations

    Download paper. Unable to display