characteristics.mdwn (2571B)
1 Computational systems today 2 --------------------------- 3 4 If the information and communications technology (ICT) industry was purposefully 5 following a harmful agenda, these would probably be their design principles: 6 7 * disregard for life 8 * disregard for the chips 9 * more is better 10 * assume limitless resources 11 * keep it controlled 12 * outsource the problem 13 * amplify ignorance 14 * obfuscate everything 15 * destroy communities 16 * achieve monopoly 17 18 While the industry is rarely discussed in this way, there are countless 19 well-documented proofs that the dominant computational cultural paradigm greatly accelerates harm. 20 21 The characteristics of such systems are: 22 23 * **inaccessible:** [[greenwashing]], [[Californian ideology]], [[otherness]], 24 [[pseudosimplicity]] 25 * **incompatible:** vendor lock-in, proprietary 26 * **inefficient:** [[bloat]], [[maximalism]], [[cryptocurrency]], 27 [[calculation factory]], [[cornucopianism]] 28 * **rigid:** [[monoculture]], [[siliconization]] 29 * **failing:** [[silver bullet]], [[planned obsolescence]], [[wishcycling]], 30 [[software rot]] 31 * **extractivist:** attention economy, capitalism, [[Big Tech]], neoliberalism 32 33 34 Permacomputing systems 35 ---------------------- 36 37 The design [[principles]] of permacomputing systems are: 38 39 * Hope for the Best, Prepare for the Worst 40 * Care for All Hardware — Especially the Chips 41 * Observe First 42 * Not Doing 43 * Expose the Seams 44 * Consider Carefully the Interaction Between Simplicity, Complexity and Scale 45 * Keep It Flexible 46 * Build on Solid Ground 47 * (Almost) Everything has a place 48 * Integrate Biological and Renewable Resources 49 50 The characteristics of such systems are: 51 52 * **accessible**: well documented and adaptable to an individual's needs. 53 * **compatible**: works on a variety of architectures. 54 * **efficient**: uses as little resources (power, memory, etc) as possible ([[minimization]]). 55 * **flexible**: modular, portable, adapts to various use-cases. 56 * **resilient**: repairable, [[offline-first|offline first]], low-maintenance, designed for disassembly, [[planned for longevity|planned longevity]], [[maximized lifespan|lifespan maximization]], descent-friendly or [[designed for descent|design for descent]] 57 58 Some additional concerns are of indirect interest because they impose costs on the entire end-to-end process of software creation: 59 60 * it's [[bootstrapped|bootstrapping]] from machine code without circular reasoning (bootstrappable builds) 61 * it's obvious what source code went into it (reproducible builds) 62 * it's easy to audit its source code, including all dependencies 63