permacomputing

Source repository for the main permacomputing wiki site
git clone http://git.permacomputing.net/repos/permacomputing.git # read-only access
Log | Files | Refs

commit 3ff0d57f8fcc1698640a1ad8e557fae8b6eb496b
parent 1f8107ff3bac7520a84bb2784914cc0e6f4dcbad
Author: ugrnm <ugrnm@web>
Date:   Fri,  6 Jun 2025 10:39:31 +0200

empty web commit

Diffstat:
Abuild_on_solid_ground.mdwn | 13+++++++++++++
1 file changed, 13 insertions(+), 0 deletions(-)

diff --git a/build_on_solid_ground.mdwn b/build_on_solid_ground.mdwn @@ -0,0 +1,13 @@ +Consider when to build on solid ground and when to design for disappearance. If longetivity is required some considerations are needed. + +Many computing systems are based on platforms, frameworks or even languages that change very rapidly, may become obsolete at any time, and are too complex to be easily reimplemented. This principle exists to minimize obsolescence and superfluous maintenance work in systems intended to last. + +It is good to experiment with new ideas, concepts and languages, but forming hard dependencies on them is usually a bad idea. Appreciate mature technologies, clear ideas and well-understood theories when building something that is intended to last. Software that uses open, well-documented standards will be more useful in communicating with the wider technological world. It also means that data can survive and still be readable even if the software is no longer functioning. + +What can YOU do + +With or without a computer: * Consider using software that runs locally, is open-sourced, and has a thriving user community or is well-documented * Try to pick software that favours slow release cycles and thorough testing over rolling updates. * try to use smaller, more general-purpose tools instead of complex, prescriptive all-in-one solutions * You may also read this as "grow roots to a solid ground". Learn things that last. Learn the history of the technology you use. + +When creating and maintaining software, digital tools or infrastructure * Avoid unreliable dependencies, especially as hard (non-optional) dependencies. If you can't avoid them (in case of software), put them in the same place where you have your program available. * It is possible to support several target platforms. In case of lasting programs, one of these should be a bedrock platform, or instruction set, that does not change too much and therefore increase accessibility, portability and fallback scenarios. * Imagine some of your users will never be able to get an update or find support - think about how they might solve their problems. * Try to use standard file and data exchange formats, ideally formats that are human-readable. * Don't take anything for granted. Especially don't expect the infrastructure such as the power grid and global networking to continue working indefinitely. + +Principle in action: * UXN - https://wiki.xxiivv.com/site/uxn.html * DuskOS - https://duskos.org/ * Actually Portable Executable - https://justine.lol/ape.html * Static HTML Site Generators - https://permacomputing.net/static_site_generator