~/forbannet/blog~publications
now compiling: io_uring branch, --releaselatest push: e8af13c → main · 12 min agoreading: "What Every Programmer Should Know About Memory" — Drepper, 2007currently playing with: ftrace + perf for syscall latencyopen PRs: 3 · issues triaged today: 14now compiling: io_uring branch, --releaselatest push: e8af13c → main · 12 min agoreading: "What Every Programmer Should Know About Memory" — Drepper, 2007currently playing with: ftrace + perf for syscall latencyopen PRs: 3 · issues triaged today: 14
Techie#5782
Techie#5782guest
/publications

papers, talks, preprints

selected published works and currently-cooking drafts. cite freely, send corrections to root@kernelriot.com.

02 entries
2021

SOLID Considered Harmful: A Structural Critique of the Class-Oriented Catechism

D. M. Leatti / The Meridian Journal of Technology

The principles abbreviated as SOLID, the class-oriented object-oriented prescription on which they depend, and the enterprise-framework stack built around both are taught and enforced across the industrial software workforce as the contemporary definition of professional engineering practice. This paper assembles the structural and empirical record on that status. The case for it is not present in the record. We trace each SOLID principle to its rigorous antecedent (Parnas, Meyer, Liskov and Wing) and document the conditions compression discarded. We survey the empirical record on object-oriented design metrics and code quality and observe that the community's own design metrics correlate positively with defect density, that the largest-scale language-versus-quality study fails to support a paradigm effect after methodological correction, and that performance measurements on the catechism's own canonical examples report an order-of-magnitude cost. We document the empirical language and paradigm preferences of the safety-critical software industries (avionics, space, weapons, medical devices), where the codified standards restrict the constructs the catechism endorses. We examine the Linux kernel at approximately thirty million lines of procedural C as a counter-example to the team-scaling claim, and observe that its polymorphism mechanism is what C++ virtual dispatch compiles to with the vtable made visible. We argue, on Dijkstra's 1968 criterion of static-text-to-dynamic-execution legibility, that the contemporary enterprise framework stack reconstructs the structural failure mode Dijkstra named as the cost of the goto statement. The mechanism is different; the structural failure is the same. We document the function the catechism does perform, in the form of a legitimation apparatus for credentialed authority in software teams, and we describe constructive alternatives drawn from the bodies of work the catechism compressed. The paper does not establish a counterfactual. It documents the available record. The record does not support what the catechism claims about itself.

architectureclass-orienteddijkstralinux-kernelobject-orientedooppatternsprogrammingsoftware-engineeringsolid
0 citations
2012

BOLT: A UDP-Based Bulk File Transfer Protocol with Application-Aware Rate Control

D. M. Leatti / Quest University Canada · Master's Submission

BOLT is a UDP-based file transfer protocol designed for single-flow bulk transfer between authenticated peers over high-latency, lossy links. The motivating problem is the well-known underperformance of single-flow TCP under exogenous packet loss: on a 50 Mbps, 227 ms, 11%-loss satellite link, an 89 GB transfer over single-flow TCP requires more than forty days; BOLT completes the same transfer in 4.5 hours. The contributions are a state-machine rate controller ("Hose") with explicit memory of the last loss cliff, eliminating a sawtooth pathology that loss-blind probing produces under exogenous loss; per-packet authenticated encryption with derived non-transmitted nonces, saving twelve bytes per encrypted packet versus DTLS-style record protection; a nine-byte data header; lock-free bitmap-based deduplication and resume; and platform-aware send paths exploiting Linux UDP segmentation offload where available and a Windows spin pacer where it is not. The protocol is evaluated against three TCP regimes (classic, modern with BBR and RACK-TLP, and PEP-accelerated) on the operating conditions of a deployed Patagonian meteorological station and recovers throughput comparable to PEP-accelerated TCP without requiring operator infrastructure or terminating end-to-end semantics. The reference implementation is in production use.

controlencryptionfilenetworkingprotocolratesatellitetcptransferudp
82 citations