(Particular code and algorithmsParticular languages)
Ephemeral Hardware for software
Timesharing History
Defining Behavior: styles of definition
Terminology: Does sloppy terminology impair learning?
Paean for Constants
Names and Pointers;
Global File Names
Data Abstraction, Synergy
Relational Data Base as abstraction
Abstraction Nexus
Layered Abstractions
Imperfect Abstractions
The plist is an imperfect abstraction.
Mac Time Machine Problems new
Griping about XML
Difficulty in learning software platforms.
Hard and Soft programs
Shape of Programs
Speciation of System Design
Super Specs & Sub Specs
A module system
Knowing vs. Doing
Interrupt Processors, not Processes
Ordering Calculations in a Computer, Coroutines
Cheap Test
Exploiting traps in High level languages
Initialization of Apps
Adaptive Formats
Taxonomy of Data Formats
Continuously Evaluated Functions
Mag Tape Logic and Tail Recursion
Stream Complex theory
Stacks and Continuations.
Space Allocation
Virtual Zero
Waiting; sleeping and waking
Returning Arrays
MidPointer, observations on a buddy system
Parameter packs and Marshaling
Large Stack Frames
My notes on Ivan Sutherland’s Reincarnation Wheel parable.
Middleware and Compatibility
  • Some history and some philosophy on protection requirements
  • Protection in popular systems
  • Capabilities may be said to be largely about protection.
  • Saltzer & Schroeder’s The Protection of Information in Computer Systems
    McCarthy Dijkstra etc.
    RamPlan, a theory of types
    Incipient intro to Linking and Loading
    Affine Subscripts, Dope Vectors
    The Mind Meld Pattern
    Unix Threads, applied
    Installing software: How to vs. What is
    Short note on Invariants
    A Pattern for explaining Contexts
    Programs as graphs, or trees?
    Augment and Hierarchies, Nexus
    Computer proofs about programs: Some Notes and a Rant.
    An early program checking program
    IBM’s Virtual Machine Software, VM/370
    The security of IBM’s VM370
    Some virtual offerings
    Theory of Virtualization
    A Bone Simple ISA; Simple Now
    The Java Muffin Saga
    Java Locks
    A trivial JNI demo
    How to Document
    Reliability Tradeoffs
    Organizing Disaster
    A RAID like idea
    Floating Precision
    Notes and proposals on JavaScript
    A Question of Fluid Variables
    Sloppy terminology, Pedantic or Clear?
    Ruminations on backing store over radio link.
    Unicode characters in web pages using utf-8
    Apache on OS X
    Kernel Styles
    Reference Counting vs. GC
    A ‘Quine’ in C
    Being vulnerable to what you read
    Monads, sort of.
    Dependent Compilation
    Sorting as an Early and Modern(?) Software Paradigm
    Parallel Processing
    Rationale for Object Orientation
    Redundant Formats
    Installing Lion and Xcode 4
    Early experience with Mavericks 10.9.4
    Pixel Quest
    Compiling a Functional Language (Lexical scope)
    Persisting functions
    Scope of Floating Modes
    Throwing an Exception in Assembler
    Miscellaneous bugs
    Kernel Debug Plan
    The Lambda Calculus as foundation of computing.
    Apple iOS Security
    Trusting Trust
    Chrome browser security

    See some notes on connections between computer languages and capabilities.
    On the basis of two security bug descriptions I record this link because I could actually understand the nature of the bugs. This is very rare for security bug reports, even those designed for programmers.

    Late 20th century notes on ‘Distributed Development’

    A really small executable
    Software History
    A promising computer course; intro
    Apple’a KeyNote lore
    McCarthy’s Reminiscences on Timesharing
    My Firefox bug
    On AI
    Lamport’s writings
    Dijkstra’s On the cruelty of really teaching computing science
    Google Browser Security Handbook
    Google’s Chrome Security Architecture
    What could possiblt go wrong?
    Great Hackers
    Opaque systems? (x)
    Zalewski (tools & notes)
    Technology of Regular Expressions
    Mac OS 10 sandbox
    Mac OS 10 rootless