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 1de29178dc8f3f92ca625345da4119604a77246a
parent 6758abd1d90ab933baa9fd6bd43436ac418dcad5
Author: Ville-Matias Heikkila <viznut@low.fi>
Date:   Wed,  8 Jun 2022 13:04:54 +0300

Merge branch 'master' of bleu255.com:/var/www/git.bleu255.com/repos/permacomputing

Diffstat:
AC.mdwn | 35+++++++++++++++++++++++++++++++++++
AFLOSS.mdwn | 10++++++++++
AForth.mdwn | 14++++++++++++++
ATODO.mdwn | 19+++++++++++++++++++
RPermacomputing_wiki.mdwn -> about.mdwn | 0
Abedrock_platform.mdwn | 25+++++++++++++++++++++++++
Radministrators.mdwn -> contact.mdwn | 0
Mediting.mdwn | 39+++++++++++++++++++++++++++++++++++----
Aediting/discussion.mdwn | 1+
Ahardware.mdwn | 28++++++++++++++++++++++++++++
Mindex.mdwn | 9++++++---
Minstalling.mdwn | 38+++++++++++++++++++++++++++++++++++++-
Mlicense.mdwn | 45+++++++++++++++++++++++++--------------------
Alocal.css | 7+++++++
Asoftware.mdwn | 16++++++++++++++++
Asoftware_rot.mdwn | 7+++++++
Mtemplates/page.tmpl | 4++--
Mterms.mdwn | 2+-
Mugrnm.mdwn | 4+++-
19 files changed, 271 insertions(+), 32 deletions(-)

diff --git a/C.mdwn b/C.mdwn @@ -0,0 +1,35 @@ +**C** is a general-purpose programming language created in the 1970s for the system programming needs of the [[Unix]] operating system. + +The main benefit of C is that it is ubiquitous and quite mature. There are C compilers for nearly any imaginable processor architecture, and relatively old code often compiles quite well. + +Compiled C code is generally quite resource-efficient. The speeds of compiled languages are often compared to C. + +There are also languages whose compilers can produce C code to be compiled by a C compiler. These languages thus benefit from the optimization features and platform support of the C compilers: + + * [[Nim]] + * [[V]] + +Interpreted languages implemented in C: + + * [[Lua]] + * [[Perl]] + * [[Ruby]] + * [[Python]] + +As a language, C has many problems that subsequent languages have tried to fix with varying degrees of success. Examples of such languages: + + * [[C++]] + * [[Objective-C]] + * [[D]] + * [[Go]] + * [[Rust]] + * [[Nim]] + +Compilers: + + * GCC + * Clang + * [[Zig]] has a C/C++ compiler that produces much smaller binaries (even static ones) than the mainstream GCC and Clang toolchains. + * [Open Watcom](http://www.openwatcom.org/) is a C/C++/Fortran compiler usable for targeting legacy x86 operating systems such as [[DOS]]. + * [Tiny C Compiler](https://bellard.org/tcc/) is a small (100+ KB) standalone C compiler for "modern" x86 and ARM targets (i.e. [[Linux]] but not [[DOS]]). + * [vbcc](http://www.compilers.de/vbcc.html) is an optimizing C99 compiler particularly suitable for some legacy targets such as [[68000]] and [[6502]]. diff --git a/FLOSS.mdwn b/FLOSS.mdwn @@ -0,0 +1,10 @@ +# FLOSS + +Free Libre and Open Source Software (FLOSS) is an umbrella acronym used to refer to software development practices in which the circulation of software source code is enabled by licensing strategies that promote and simplify the re-use of the code that would otherwise be limited by the author driven doctrine of copyright laws. + +The two major definitions of FLOSS are free software and open source software. They almost entirely overlap and follow the same principle of providing a definition and a set of approved licenses that match this definition. Some of these licenses can be compatible or not between, making composite projects either very simple, or very complicated. Both free software and open source software proponents support the idea of permitting the (re)use of FLOSS source code for *any* purpose. FLOSS licenses however can be split into two large families: + +* (strong, weak) copyleft licenses. Such licenses impose the person making modification to copyleft material to share their modification under the same condition/license than the code they modified. The idea is to promote circulation and virality; +* permissive or copyfree/copycentre licenses. Such licenses have much more simple conditions for reuse, if any, making possible to use such source for closed source software and proprietary systems. + +While a popular method for software production and distribution, FLOSS has been increasingly scrutinised for its underlying liberal, possibly ultra-liberal ideology that has been more useful to the for-profit software industry, than it has been useful to foster the much anticipated digital commons of public interest, as envisioned in the late 90s and 00s. As a result a growing number of [[post-free culture]] licenses have started to emerge in the late 10s and early 20s to address issues of ethics and exploitation found in the *for any purpose* take of FLOSS. diff --git a/Forth.mdwn b/Forth.mdwn @@ -0,0 +1,14 @@ +**Forth** is a [[stack-based]] programming language created in the 1970s by Chuck Moore. + +The main benefit of Forth is that it is very small. A classical Forth system takes the roles of the compiler, the editor and the operating system while completely fitting in a memory space of less than 20 kilobytes. The smallness also makes it possible to implement a Forth system from scratch in a weekend. + +Forth is usually run with a two-stack [[virtual machine]], so it is much slower than compiled code. However, classical Forth system typically also include an [[assembler]] that can be used to implement speed-critical parts of the program. + +Most programmers see Forth as quite esoteric in comparison to other languages. Forth also doesn't "protect" the programmer from its inner peculiarities – even though it is possible to create abstractions, it is not advisable to forget what lies under those abstractions. + +Forth has been standardized, but Moore himself hasn't cared so much about standardization. The "[[Redo from scratch]]" ideal is quite strong in the Forth culture and exemplified by Moore's own quest for an optimal set of language elements. + +See also: + +* [Thinking Forth (the classical Forth book](http://thinking-forth.sourceforge.net/) +* [Forth - the Early Years (by Chuck Moore)](https://colorforth.github.io/HOPL.html) diff --git a/TODO.mdwn b/TODO.mdwn @@ -0,0 +1,19 @@ +To keep track of things [[TODO]] before launching the wiki: + +* cloning/local reading instructions +* footnotes how +* <s>better bottom links: About, LICENSE, Contact</s> +* no italic for bottom links +* weird scrollbar on code +* section on community +* <s>layout CC0</s> +* <s>disable email login</s> +* add httpd auth to CGI +* easy to give port 80 access? need to see if compat with current nginx config on bleu +* <s>remove underlines to links</s> +* not as wide? +* section for curriculum postdoc thing +* look into the file upload plugin for images and stuff +* decide on policy for images (ditherpunk?) +* stagit URLs for page changes/history? +* <s>make a default comment for empty web commits to improve stagit browsing</s> diff --git a/Permacomputing_wiki.mdwn b/about.mdwn diff --git a/bedrock_platform.mdwn b/bedrock_platform.mdwn @@ -0,0 +1,25 @@ +A **bedrock platform** is a [[hardware]] platform or a simple [[virtual machine]] that can be expected to remain compatible with any [[software]] that has ever been written for it. Bedrock platforms can be used to prevent [[software rot]]. + +Some possible criteria for bedrock hardware: + +* The hardware has been popular and commonly available at some point of history (and preferrably remains that way). +* Every detail of the hardware is well-known and fully documented. (Having a 100% compatible open-source emulator can be considered full documentation) +* There have been several independent manufacturers for each component. +* Multiple emulators for the platform are commonly available for many different environments. +* There are no copyright issues in regards to the hardware design, firmware IP, etc. +* It is possible to pinpoint a "standard configuration" that is supposed to run all the programs and can be used for testing software compatibility (usually this means the original version of the hardware or the de-facto most popular variant). + +Candidates for bedrock hardware: + +* [[IBM PC]]: Widely cloned, remains ubiquitous, every type of common component has had multiple manufacturers in different parts of the world (with the exception of OPL2/OPL3 common in classical soundcards). Can be emulated by open-source software such as [[QEMU]], Dosbox or Bochs. There are also several different [[DOS]]-compatible operating systems, including FreeDOS. Standard configurations may be difficult to pinpoint. +* [[NES]]/Famicom: Widely cloned especially in China/Taiwan without any of the original Japanese components. Huge amount of available emulators, and running a ROM file with one is very straightforward. No software dependencies (as there's no internal firmware ROM). +* [[ZX Spectrum]]: Simple design that was easy enough to duplicate in Eastern-block countries even with 100% non-Western components. Clones are still manufactured, emulators are widely available. +* [[MSX]]: Standardized platform, every chip used in MSX-1 computers has had both U.S.American and Japanese manufacturers. (MSX-2 on the other hand depends on specific Yamaha chips). Emulators widely available. The firmware ROMs may pose issues as long as Microsoft exists. Also, there's no obvious standard configuration. + +[[Raspberry Pi]] is an example of a platform that fails the criteria. It depends on a single-manufacturer SoC chip (Broadcom BCM2835) that doesn't have full documentation available. QEMU emulates some versions of the platform to some extent but this emulation does not cover the undocumented parts of the chip (e.g. running the GPU firmware code). + +For virtual bedrock hardware, the main criterion is that the specification is simple enough that it can be implemented in a small effort for commonly available computers, and that the specification is unambiguous and frozen. + +Candidates for virtual machine bedrocks: + +* [[Uxn]] diff --git a/administrators.mdwn b/contact.mdwn diff --git a/editing.mdwn b/editing.mdwn @@ -2,24 +2,55 @@ You are very welcome to contribute to this wiki! -You can ask for editing privileges by sending an email to the [[administrators]]. Please: +You can [[contact]] us by email for an account. Please: * Present yourself briefly * Explain your interest in permacomputing * Include URLs to work/project/socials/etc * Tell us what/why/how you would like to contribute +* Confirm that you have read and understood this page :) -## What belongs here? +## What belongs on this wiki? Basically any topic is allowed as long as it can be discussed from a permacomputing-relevant point of view. For an outline of the kind of topics we are particularly interested in, see the front page. ## Style -Permacomputing wiki is not [[Wikipedia]], so being neutral or encyclopedic is not among our goals, and original research is encouraged. However, it is a collaborative project, so if you want to express an opinion the other editors may not agree about, please mark it as such. +Permacomputing wiki is not [[Wikipedia]], so being neutral or encyclopedic is not among our goals, and original research is encouraged. However, it is a collaborative project, so if you want to express an opinion the other editors may not agree with, please use the relevant Discussion page, and make sure to sign your comment with your handle. Go to the Discussion page, in the top menu of this page for an example. At the current stage of maturity of PW, it is often not advisable to write a comprehensive articles about a topic if someone else has already done it elsewhere. Put in a link to that external resource instead. (In the future, we will perhaps want to host copies of all these "dependencies" in the local repository as well, but not yet.) -At the start of a new page, please include a proper and non-biased definition of the topic before proceeding to the permacomputing-specific points of view. You can use [[Wikipedia]] for this. +When introducing a new term, please try to include a proper and non-biased definition of the topic before proceeding to the permacomputing-specific points of view. You can use [[Wikipedia]] or other sources for this, just make sure you properly attribute and quote. See below. + +## Attribution and quotes + +If you rely on other sources for the writing of a section, do not be lazy or mindlessly copypaste from other sources. You must properly attribute your source. You have 4 options: + +### Hyperlinks + +Sometimes it's enough to point to external reference to [[technology]](https://en.wikipedia.org/wiki/Technology) if there is not much to discuss. + +### Footnotes + +TODO needs to read how to do it properly with ikiwiki + +### Inline quotes + +Sometimes ... need to solve footnot first + +### Block quotes + +Sometimes you just need to fully quote a text from someone and it can as simple as: + +> Technology is the active human interface with the material world. +> But the word is consistently misused to mean only the enormously complex and specialised technologies of the past few decades, supported by massive exploitation both of natural and human resources. +> This is not an acceptable use of the word. +> +> Usula Leguin, 2004, [A Rant About "Technology"](http://www.ursulakleguinarchive.com/Note-Technology.html) + +### Please + +In general, **do not invisibilize people from which you took inspiration and/or learned something from**. Take the opportunity of contributing to this wiki to also point to their work and research. ## Acceptable content diff --git a/editing/discussion.mdwn b/editing/discussion.mdwn @@ -0,0 +1 @@ +I think I agree with most of the things put so far on this page :) -- [[ugrnm]] diff --git a/hardware.mdwn b/hardware.mdwn @@ -0,0 +1,28 @@ +The world is full of abandoned computer hardware, so buying new hardware is not very recommendable. Therefore, we shouldn't be too picky with even the lousiest pieces of hardware but rather try to approach their problems as something to be fixed with hacking, reverse-engineering and activism. + +Possible problems with hardware: + +* Insufficient documentation (preventing repair, reuse and/or reprogramming) +* Insufficient hacking/repair culture +* Difficulty of [[repairing|Right to repair]] +* Difficulty of component reuse (no [[Design for disassembly]]) +* Unavailability of replacement components +* High energy consumption (even when running idle) +* High design complexity (often leading to a dependence on closed driver/firmware blobs, especially when combined with lack of documentation) +* [[DRM]] locks preventing the running of third-party code +* [[Software]] issues from all the code that can't be replaced + +Efforts to create new hardware components in biosphere-compatible and/or local ways may be worth supporting, although that goal is still very far away. + +Types of hardware components: + +* [[Processors]] (including [[SoC]]s) +* [[Displays]] +* [[Batteries]] +* [[Input devices]] +* [[Storage devices]] +* [[Radio devices]] + +See also: + +* [[Bedrock platform]] diff --git a/index.mdwn b/index.mdwn @@ -1,16 +1,19 @@ Welcome to the Permacomputing wiki! -[[Permacomputing wiki]] is a [[wiki]] about [[permacomputing]], a radically sustainable approach to [[computing]] inspired by [[permaculture]]. The wiki was started in May 2022, so it's still at a very early stage of development. If you want to contribute, please ask the [[administrators]] for [[editing]] privileges. +The [[permacomputing wiki|about]] is a [[wiki]] about [[permacomputing]], a radically sustainable approach to [[computing]] inspired by [[permaculture]]. The wiki was started in May 2022, so it's still at a very early stage of development. If you want to contribute, please [[contact]] us for [[editing]] privileges. This main page of the wiki is an index to the various topics covered. See [[Permacomputing wiki]] for a more detailed discussion about the wiki itself. Outline of topics we will want to cover: - + +* Concrete [[practice]] instructions: [[Principles]], [[guides]], [[project ideas]], ... * [[Concepts]] for discussing the topic: [[dependency]], [[sustainability]], [[bootstrapping]], [[design for disassembly]], ... * [[Ideas]] overlapping or somehow related to permacomputing: [[appropriate technology]], [[permaculture]], [[computing]], [[heirloom computing]], [[benign computing]], [[salvage computing]], [[frugal computing]], [[small technology]], [[low-tech]], [[degrowth]], [[degrowth computing]], [[media archeology]], [[unconventional computing]], [[regenerative computing]], ... -* [[Movements]] that (may) have compatible goals and interests: [[smallnet]], [[Computing within Limits]], [[right to repair]], [[solarpunk]], [[demoscene]], [[FOSS]], ... +* [[Movements]] that (may) have compatible goals and interests: [[smallnet]], [[Computing within Limits]], [[right to repair]], [[solarpunk]], [[demoscene]], [[FLOSS]], ... * [[Projects]] that (may) have some permacomputing relevance: [[Collapse OS]], [[Gemini]], [[Uxn]], [[Solar Protocol]], [[Branch]], [[Civboot]], [[Small File Media Festival]], ... * [[Assessments]] of existing and established pieces of technology ([[hardware]], [[software]], [[programming languages]], [[protocols]], ...) as well as [[ideas]] (...) * Even highly permacomputing-incompatible technologies and ideas (such as [[cryptocurrency]], [[software as service]], [[planned obsolescence]], [[Eclipse]], ...) may be covered. In these cases, the assessments will of course be very critical. * [[Hardware]] information with emphasis on [[lifespan maximization]], [[hacking]], reprogramming and [[DIY]] practices (including e.g. classic hardware platforms, ICs, artificially obsoleted modern devices and components thereof, etc.) * [[Resources]] (such as texts) about various permacomputing-relevant topics. + +[[TODO]] diff --git a/installing.mdwn b/installing.mdwn @@ -104,6 +104,42 @@ Useful to reset passwords, etc. # ~/ikiwiki-cfg/damaged.setup password_cost: 16 -## Disable OpenID +## Disable OpenID and emailauth ikiwiki --setup ikiwiki-cfg/damaged.setup --disable-plugin openid + ikiwiki --setup ikiwiki-cfg/damaged.setup --disable-plugin emailauth + +## Default git commit message when none provided + +Ikiwiki and a recent enough version of git allow for empty git messages (the "Optional description of this change" while editing on the web), that's nice but it makes stagit history impossible to browse because it uses such messages as links. To make ikiwiki provide a default commit message when non given, you can do this: + + diff --git a/git.pm.old b/git.pm + index 2bc2500..2198207 100644 + --- a/git.pm.old + +++ b/git.pm + @@ -680,21 +680,8 @@ sub rcs_commit_helper (@) { + $params{message} = IkiWiki::possibly_foolish_untaint($params{message}); + my @opts; + if ($params{message} !~ /\S/) { + - # Force git to allow empty commit messages. + - # (If this version of git supports it.) + - my ($version)=`git --version` =~ /git version (.*)/; + - if ($version ge "1.7.8") { + - push @opts, "--allow-empty-message", "--no-edit"; + - } + - if ($version ge "1.7.2") { + - push @opts, "--allow-empty-message"; + - } + - elsif ($version ge "1.5.4") { + - push @opts, '--cleanup=verbatim'; + - } + - else { + - $params{message}.="."; + - } + + # Force a message to commit if none given. + + $params{message}.="empty web commit"; + } + if (exists $params{file}) { + push @opts, '--', $params{file}; + + diff --git a/license.mdwn b/license.mdwn @@ -1,10 +1,9 @@ -Creative Commons Legal Code -CC0 1.0 Universal -Official translations of this legal tool are available +The content of this wiki, unless specified otherwise is published under the CC0 waiver. - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. +# CC0 1.0 Universal -Statement of Purpose + +## Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). @@ -12,23 +11,29 @@ Certain owners wish to permanently relinquish those rights to a Work for the pur For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. -1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: +## 1. Copyright and Related Rights. + +A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: + +* the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; +* moral rights retained by the original author(s) and/or performer(s); +* publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; +* rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; +* rights protecting the extraction, dissemination, use and reuse of data in a Work; +* database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and +* other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. + +## 2. Waiver. - the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; - moral rights retained by the original author(s) and/or performer(s); - publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; - rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; - rights protecting the extraction, dissemination, use and reuse of data in a Work; - database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and - other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. +To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. -2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. +## 3. Public License Fallback. -3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. +Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. -4. Limitations and Disclaimers. +## 4. Limitations and Disclaimers. - No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. - Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. - Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. - Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. +* No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. +* Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. +* Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. +* Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. diff --git a/local.css b/local.css @@ -0,0 +1,7 @@ +code { + font-size: 16px; +} + +a { + text-decoration: none; +} diff --git a/software.mdwn b/software.mdwn @@ -0,0 +1,16 @@ +Questions to ask about a software program: + +* Is it free from blackbox dependencies such as arbitrary external servers when running, compiling or installing it? Does it tolerate a lack of network connectivity? +* Is it legally possible to copy, modify and fork the software? (i.e. is it [[FLOSS]]?) +* What kind of libraries, programming languages and other software components does it depend on? How mature are these components (i.e. how much [[software rot]] can be expected due to changing interfaces etc.)? How large is the dependency network? +* How much resources does it require to 1) run the software, 2) modify the software (including recompilation from scratch) and 3) [[bootstrap]] the smallest possible environment (including the [[operating system]]) that can be used to run and develop the software? +* Are there other software that do the same job? How easy would it be to transition to one of them? +* How simple and clearly-defined is the core functionality of the software? How long would it take to write an equivalent software from scratch? + +Types of software: + +* [[operating systems]] +* editors (for [[media formats]]) +* compilers/interpreters (for [[programming languages]]) +* networking clients/servers (for [[protocols]]) +* ... diff --git a/software_rot.mdwn b/software_rot.mdwn @@ -0,0 +1,7 @@ +**Software rot** is generally thought of as degradation of the software due to a changing environment. For example, a program written a decade ago may no longer work with new versions of the libraries it depends on because some of them have changed without retaining backwards compatibility. This kind of thinking encourages a culture where software becomes [[obsolete|obsolescence]] unless it is constantly maintained. + +A better approach might be to talk about the reliability of the environment the software depends on. Would you build a house on a bog? + +It is often necessary to build on "bogs" (i.e. "actively developed" platforms), but it might be a good idea to also be compatible with a [[bedrock platform]] whose specifications are static and solid. + +Software rot is a big issue for cultures that constantly produce new programs (such as [[games]] or [[demos|demoscene]]) that are not supposed to be constantly maintained after release. Programs written for classical platforms (such as [[DOS]] or [[NES]]) usually need no post-release maintentance at all, while those written for e.g. [[Linux]] will likely cease working in a decade or two. Sometimes, serious [[media archeology]] work (such as finding specific versions of old libraries) is needed to get a program to run again. diff --git a/templates/page.tmpl b/templates/page.tmpl @@ -191,8 +191,8 @@ Links: <TMPL_IF HTML5></nav><TMPL_ELSE></div></TMPL_IF> </TMPL_IF> -<div class="pagedate"> -<a href="/license/">CC0</a> | Last edited <TMPL_VAR MTIME> +<div class="bottom_menu"> +<a href="/about/">About</a> | <a href="/contact/">Contact</a> |<a href="/license/">LICENSE</a> | <span class="pagedate">Last edit <TMPL_VAR MTIME></span> <!-- Created <TMPL_VAR CTIME> --> </div> diff --git a/terms.mdwn b/terms.mdwn @@ -24,7 +24,7 @@ By interactive with the permacomputing community you agree to the following: ### Moderation -If you have trouble with someone violating these rules, contact the [[administrators]]. Do not hesitate to reach out, and do not feel feel like you're being a nuisance when you do, on the contrary! +If you have trouble with someone violating these rules, [[contact]] us. Do not hesitate to reach out, and do not feel feel like you're being a nuisance when you do, on the contrary! ### Privacy diff --git a/ugrnm.mdwn b/ugrnm.mdwn @@ -1 +1,3 @@ -hello +hello, I'm one of the admin. + +more info + contact: <https://bleu255.com/~aymeric>