‹Programming› 2020
Mon 23 - Thu 26 March 2020 Porto, Portugal
Thu 7 May 2020 20:00 - 21:00 - Thu May 7, 4-9 pm London

This paper describes ongoing research on building software to be comprehensible to its users so that they can tailor it to their needs in the field. Our test-bed is a computing stack called Mu that deemphasizes a clean interface in favor of a few global implementation properties: small implementation size, few distinct notations, parsimonious dependencies, a simple dependency graph that avoids cycles, and early warning on breaking changes. Assuming a 32-bit x86 processor and (for now) a basic third-party Unix-like kernel, Mu builds up from raw machine code to a memory-safe but less expressive language than C.

Our approach to keeping software comprehensible is to reduce information hiding and abstraction, and instead encourage curiosity about internals. Our hypothesis is that abstractions help insiders who understand a project but hinder newcomers who understand only that project’s domain. Where recent efforts to create ``bicycles for the mind'' have tended to focus on reducing learning time and effort, we explore organizing the curriculum to be incrementally useful, providing an hour of actionable value for an hour (or three) of study. The hope is that rewarding curiosity will stimulate curiosity in a virtuous cycle, so that more people are motivated to study and reflect on the difference between good vs bad design and good vs bad architecture, even as the study takes place over a lifetime of specialization in other domains. Spreading expertise in design is essential to the creation of a better society of more empowered citizens. Software tools have a role to play in this process, both by exemplifying good design and by providing visceral illustrations of the consequences of design choices.

Thu 7 May

Displayed time zone: Belfast change

16:00 - 21:00
Thu May 7, 4-9 pm LondonConvivial Computing Salon
16:00
60m
Talk
Escaping the Prison of Style
Convivial Computing Salon
Antranig Basman Raising the Floor - International, Philip Tchernavskij Inclusive Design Research Centre / OCAD University
17:00
60m
Talk
Convivial design heuristics for software systems
Convivial Computing Salon
Stephen Kell University of Kent
18:00
60m
Break
Session Break
Convivial Computing Salon

19:00
60m
Break
Session Break
Convivial Computing Salon

20:00
60m
Talk
Bicycles for the mind have to be see-through
Convivial Computing Salon
Kartik Agaram akkartik.name
Pre-print