Recent Writings
This is how event-driven GUI flow-model applications work. It starts with a simple example and describes in detail the four-layer structure of a wired component. Class and sequence diagrams are included.
This brief paper enumerates the twelve principles of humane design of application building.
This five-page paper presents a simple application behavior model distinct from Model-View-Controller. It shows that a user-interface component receiving a user event is a simple four-state machine, and that the behavior of the entire wired application can be described from the vantage point of this user-interface component.
Toward Simplifying Application Development, in a Dozen Lessons. This is a brief memoir describing my early history of thinking aobut software simplicity.
The original "Conway's Law" paper. As it appeared in Datamation in 1968 (the downloaded pdf looks better than in the browser). My personal web page on this.
Two 1963 papers that introduced multiple innovations in compiler design, including: the coroutine, a one-pass COBOL compiler design that was adobpted by several computer manufacturers, the use of transition diagrams for syntax analysis, and the use of matrices for developing COBOL data-division semantics.
This working paper is about "self-revealing APIs", which are designed to make it easier for developers to use each other's work.
This working paper is about the promise of widespread adoption of an API standard.