Blame


1 aa513bf8 2023-01-22 jrmu version=pmwiki-2.2.130 ordered=1 urlencoded=1
2 aa513bf8 2023-01-22 jrmu agent=Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0
3 aa513bf8 2023-01-22 jrmu author=category_mirror
4 aa513bf8 2023-01-22 jrmu charset=UTF-8
5 aa513bf8 2023-01-22 jrmu csum=
6 aa513bf8 2023-01-22 jrmu ctime=1609706466
7 aa513bf8 2023-01-22 jrmu host=2600:1700:71b0:2420:aed5:64ff:fedd:25f
8 aa513bf8 2023-01-22 jrmu name=Debate.UnixPhilosophy
9 aa513bf8 2023-01-22 jrmu passwdedit=@nopass
10 aa513bf8 2023-01-22 jrmu rev=18
11 aa513bf8 2023-01-22 jrmu targets=Debate.Debate,Users.CategoryMirrory,Freedom.Unix,Freedom.Software
12 aa513bf8 2023-01-22 jrmu text=(:title Debate on the UNIX Philosophy:)%0a%0a(:toc:)%0a%0a[[debate | List of other debates.]]\\%0a[[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective to this debate.]]%0a%0a!Opinion: Suckless%0a[[http://suckless.org/philosophy/]]%0a%0a!Opinion: Small Technology%0a[[https://small-tech.org/about/#small-technology]]%0a%0a!Opinion: Trivial Technology%0a[[https://trivial.technology/]]%0a%0aDifferences from UNIX Philosophy:%0a* {-Use the original implementation and push any changes upstream-}%0a* {+Modify your copy of the original implementatoin for yourself without combining upstream+}%0a%0aDifferences from Small Technology:%0abut, I'd say the principal difference, from which all other differences come, is the attitude towards centralization%0aTT is public domain as much as possible, there is no master branch, there is no original author, because you don't have to send changes back, the original repo does not become a feature pinata%0a%0aDifferences from Suckless:%0athey use similar language, but the intent is opposite. when they say simple, they mean "that which I am habituated to", they pre-suppose familiarity with C (of all things), and use the "worse is better" approach to simplicity. TT, instead, focuses on the cognitive aspects of simplicity, and is not centric to any language or ecosystem, but rather the tools provided for people to understand what is going on, as well as a design philosophy that allows modifications to flow from that understanding naturally%0a%0aThings the reader must understand:%0a* the code itself%0a* the APIs the code calls (e.g deps), including the possible side-effects of the APIs%0a* the license (making CC0 significantly worse than, say, 0BSD)%0a* any meta-work required (such as how the build system works, the sources of the build stuff, etc)%0a%0aThings the reader does not need to understand:%0a* internal implementation details of the deps%0a* the platform upon which things run (e.g how linux works internally, otherwise we have a recursion problem)%0a%0a!Counterpoint: Trivial Technology%0a[[https://trivial.technology/]]%0a* project upstream is a source of trust, lack of that fosters malicious forks%0a* permissive licences fail to protect user-rights%0a* makes dependency management/dynamic linking next to impossible (mind a major proponent behind the current static linking trend is google)%0a* trivial interfaces often require complex implementaions (eg. secure crypto, fast databses, reliable networking, ... are by nature not trivial)%0a%0a!Opinion: Techs Should Factor: Programs should work well together; but the rest is extraneous%0a[[users.category_mirrory]]%0a* '''Agree''': Programs should work well together.%0a* '''Agree''': Try to design the output of one program to be the input of another %0a* '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a* '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a* '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a* '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%0a!Opinion: The "original" UNIX philosophy%0a[[freedom.unix]]%0a# All software must be [[freedom/software|free software]].%0a# Follow open standards that are in wide use%0a# Follow the UNIX philosophy:%0a # Do one thing and do it well%0a # Use text as an interface%0a # Avoid feature creep%0a # Try to design the output of one program to be the input of another%0a # Avoid interactive input when not needed%0a# Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a# Prefer languages native to OpenBSD: C, korn shell, perl%0a# Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a# Prefer [[https://learnbchs.org|BCHS]] web apps%0a# Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a# Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a# Avoid unnecessary, 3rd-party dependencies%0a# Prefer software that has a long history of being reliable and stable%0a# Prefer permissive, 2-clause BSD or MIT license over the GPL%0a# Prefer software with better documentation%0a# Prefer software that can be easily audited and forked
13 aa513bf8 2023-01-22 jrmu time=1610946315
14 aa513bf8 2023-01-22 jrmu title=Debate on the UNIX Philosophy
15 aa513bf8 2023-01-22 jrmu author:1610946315=category_mirror
16 aa513bf8 2023-01-22 jrmu diff:1610946315:1610945868:=16d15%0a%3c %0a
17 aa513bf8 2023-01-22 jrmu host:1610946315=2600:1700:71b0:2420:aed5:64ff:fedd:25f
18 aa513bf8 2023-01-22 jrmu author:1610945868=category_mirror
19 aa513bf8 2023-01-22 jrmu diff:1610945868:1610944716:=8,14c8,17%0a%3c !Opinion: Suckless%0a%3c [[http://suckless.org/philosophy/]]%0a%3c %0a%3c !Opinion: Small Technology%0a%3c [[https://small-tech.org/about/#small-technology]]%0a%3c %0a%3c !Opinion: Trivial Technology%0a---%0a> !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> !Opinion: Trivial Technology: Programs should work well together; but the rest is extraneous%0a16,45d18%0a%3c Differences from UNIX Philosophy:%0a%3c * {-Use the original implementation and push any changes upstream-}%0a%3c * {+Modify your copy of the original implementatoin for yourself without combining upstream+}%0a%3c %0a%3c Differences from Small Technology:%0a%3c but, I'd say the principal difference, from which all other differences come, is the attitude towards centralization%0a%3c TT is public domain as much as possible, there is no master branch, there is no original author, because you don't have to send changes back, the original repo does not become a feature pinata%0a%3c %0a%3c Differences from Suckless:%0a%3c they use similar language, but the intent is opposite. when they say simple, they mean "that which I am habituated to", they pre-suppose familiarity with C (of all things), and use the "worse is better" approach to simplicity. TT, instead, focuses on the cognitive aspects of simplicity, and is not centric to any language or ecosystem, but rather the tools provided for people to understand what is going on, as well as a design philosophy that allows modifications to flow from that understanding naturally%0a%3c %0a%3c Things the reader must understand:%0a%3c * the code itself%0a%3c * the APIs the code calls (e.g deps), including the possible side-effects of the APIs%0a%3c * the license (making CC0 significantly worse than, say, 0BSD)%0a%3c * any meta-work required (such as how the build system works, the sources of the build stuff, etc)%0a%3c %0a%3c Things the reader does not need to understand:%0a%3c * internal implementation details of the deps%0a%3c * the platform upon which things run (e.g how linux works internally, otherwise we have a recursion problem)%0a%3c %0a%3c !Counterpoint: Trivial Technology%0a%3c [[https://trivial.technology/]]%0a%3c * project upstream is a source of trust, lack of that fosters malicious forks%0a%3c * permissive licences fail to protect user-rights%0a%3c * makes dependency management/dynamic linking next to impossible (mind a major proponent behind the current static linking trend is google)%0a%3c * trivial interfaces often require complex implementaions (eg. secure crypto, fast databses, reliable networking, ... are by nature not trivial)%0a%3c %0a%3c !Opinion: Techs Should Factor: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a53c26,45%0a%3c !Opinion: The "original" UNIX philosophy%0a---%0a> !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> %0a> !Opinion: Programs should work well together; but the rest is extraneous%0a> [[users.category_mirrory]]%0a> * '''Agree''': Programs should work well together.%0a> * '''Agree''': Try to design the output of one program to be the input of another %0a> * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a> * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a> %0a> !Opinion: The whole UNIX philosophy%0a
20 aa513bf8 2023-01-22 jrmu host:1610945868=2600:1700:71b0:2420:aed5:64ff:fedd:25f
21 aa513bf8 2023-01-22 jrmu author:1610944716=category_mirror
22 aa513bf8 2023-01-22 jrmu diff:1610944716:1609725599:=8c8,30%0a%3c !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a---%0a> !Opinion: The whole UNIX philosophy%0a> [[freedom.unix]]%0a> # All software must be [[freedom/software|free software]].%0a> # Follow open standards that are in wide use%0a> # Follow the UNIX philosophy:%0a> # Do one thing and do it well%0a> # Use text as an interface%0a> # Avoid feature creep%0a> # Try to design the output of one program to be the input of another%0a> # Avoid interactive input when not needed%0a> # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a> # Prefer languages native to OpenBSD: C, korn shell, perl%0a> # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a> # Prefer [[https://learnbchs.org|BCHS]] web apps%0a> # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a> # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a> # Avoid unnecessary, 3rd-party dependencies%0a> # Prefer software that has a long history of being reliable and stable%0a> # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a> # Prefer software with better documentation%0a> # Prefer software that can be easily audited and forked%0a> %0a> !Opinion: Programs should work well together; but the rest is extraneous%0a15,65c37%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: Trivial Technology: Programs should work well together; but the rest is extraneous%0a%3c [[https://trivial.technology/]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: Suckless: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c %0a%3c !Opinion: Programs should work well together; but the rest is extraneous%0a%3c [[users.category_mirrory]]%0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a%3c %0a%3c !Opinion: The whole UNIX philosophy%0a%3c [[freedom.unix]]%0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a%3c # Prefer languages native to OpenBSD: C, korn shell, perl%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer [[https://learnbchs.org|BCHS]] web apps%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a\ No newline at end of file%0a
23 aa513bf8 2023-01-22 jrmu host:1610944716=2600:1700:71b0:2420:aed5:64ff:fedd:25f
24 aa513bf8 2023-01-22 jrmu author:1609722365=category_mirror
25 aa513bf8 2023-01-22 jrmu diff:1609722365:1609722327:=8c8%0a%3c !Opinion: The whole UNIX philosophy%0a---%0a> !The whole UNIX philosophy%0a30c30%0a%3c !Opinion: Programs should work well together; but the rest is extraneous%0a---%0a> !Programs should work well together; but the rest is extraneous%0a
26 aa513bf8 2023-01-22 jrmu host:1609722365=99.112.18.250
27 aa513bf8 2023-01-22 jrmu author:1609722327=category_mirror
28 aa513bf8 2023-01-22 jrmu diff:1609722327:1609707042:=8c8%0a%3c !The whole UNIX philosophy%0a---%0a> !user: jrmu%0a30c30%0a%3c !Programs should work well together; but the rest is extraneous%0a---%0a> !user: category_mirrory%0a
29 aa513bf8 2023-01-22 jrmu host:1609722327=99.112.18.250
30 aa513bf8 2023-01-22 jrmu author:1609707042=category_mirrory
31 aa513bf8 2023-01-22 jrmu diff:1609707042:1609706912:=1,2d0%0a%3c (:title Debate on the UNIX Philosophy:)%0a%3c %0a
32 aa513bf8 2023-01-22 jrmu host:1609707042=99.112.18.250
33 aa513bf8 2023-01-22 jrmu author:1609706912=category_mirrory
34 aa513bf8 2023-01-22 jrmu diff:1609706912:1609706868:=3c3%0a%3c [[debate | List of other debates.]]\\%0a---%0a> [[!debates | List of other debates.]]\\%0a
35 aa513bf8 2023-01-22 jrmu host:1609706912=99.112.18.250
36 aa513bf8 2023-01-22 jrmu author:1609706868=category_mirrory
37 aa513bf8 2023-01-22 jrmu diff:1609706868:1609706850:=3c3%0a%3c [[!debates | List of other debates.]]\\%0a---%0a> [[!debates | List of other debates.]]%0a
38 aa513bf8 2023-01-22 jrmu host:1609706868=99.112.18.250
39 aa513bf8 2023-01-22 jrmu author:1609706850=category_mirrory
40 aa513bf8 2023-01-22 jrmu diff:1609706850:1609706799:=3,4c3%0a%3c [[!debates | List of other debates.]]%0a%3c [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective to this debate.]]%0a---%0a> [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective.]]%0a
41 aa513bf8 2023-01-22 jrmu host:1609706850=99.112.18.250
42 aa513bf8 2023-01-22 jrmu author:1609706799=category_mirrory
43 aa513bf8 2023-01-22 jrmu diff:1609706799:1609706706:=33,34c33,34%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is '''domain-specific'''.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is '''domain-specific'''.+}%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a\ No newline at end of file%0a
44 aa513bf8 2023-01-22 jrmu host:1609706799=99.112.18.250
45 aa513bf8 2023-01-22 jrmu author:1609706706=category_mirrory
46 aa513bf8 2023-01-22 jrmu diff:1609706706:1609706655:=33,34c33,34%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" "well" is is **domain-specific**.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is **domain-specific**.+}%0a\ No newline at end of file%0a---%0a> * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a> * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a\ No newline at end of file%0a
47 aa513bf8 2023-01-22 jrmu host:1609706706=99.112.18.250
48 aa513bf8 2023-01-22 jrmu author:1609706655=category_mirrory
49 aa513bf8 2023-01-22 jrmu diff:1609706655:1609706568:=3,4c3,4%0a%3c [[https://wiki.ircnow.org/index.php?n=Debate.UnixPhilosophy?action=edit | Click to add your perspective.]]%0a%3c %0a---%0a> [[debate.unix_philosophy | Click to add your perspective.]]%0a> %0a7,25d6%0a%3c # All software must be [[freedom/software|free software]].%0a%3c # Follow open standards that are in wide use%0a%3c # Follow the UNIX philosophy:%0a%3c # Do one thing and do it well%0a%3c # Use text as an interface%0a%3c # Avoid feature creep%0a%3c # Try to design the output of one program to be the input of another%0a%3c # Avoid interactive input when not needed%0a%3c # Achieve tight integration with the [[https://openbsd.org|OpenBSD]] operating system%0a%3c # Prefer languages native to OpenBSD: C, korn shell, perl%0a%3c # Prefer software that ships with OpenBSD or are written by OpenBSD developers: opensmtpd, openhttpd, unbound, nsd, acme-client, tmux, etc.%0a%3c # Prefer [[https://learnbchs.org|BCHS]] web apps%0a%3c # Prefer software that is endorsed by the [[https://suckless.org|suckless]] project%0a%3c # Prefer [[https://man.openbsd.org/style|OpenBSD]] or [[https://suckless.org/coding_style/|suckless]] style guidelines%0a%3c # Avoid unnecessary, 3rd-party dependencies%0a%3c # Prefer software that has a long history of being reliable and stable%0a%3c # Prefer permissive, 2-clause BSD or MIT license over the GPL%0a%3c # Prefer software with better documentation%0a%3c # Prefer software that can be easily audited and forked%0a
50 aa513bf8 2023-01-22 jrmu host:1609706655=99.112.18.250
51 aa513bf8 2023-01-22 jrmu author:1609706568=category_mirrory
52 aa513bf8 2023-01-22 jrmu diff:1609706568:1609706478:=3,9c3,8%0a%3c [[debate.unix_philosophy | Click to add your perspective.]]%0a%3c %0a%3c !user: jrmu%0a%3c [[freedom.unix]]%0a%3c %0a%3c !user: category_mirrory%0a%3c [[users.category_mirrory]]%0a---%0a> [[users.category_mirrory | !!category_mirrory]]%0a> %0a> !category_mirrory%0a> !!category_mirrory%0a> !!!category_mirrory%0a> %0a
53 aa513bf8 2023-01-22 jrmu host:1609706568=99.112.18.250
54 aa513bf8 2023-01-22 jrmu author:1609706478=category_mirrory
55 aa513bf8 2023-01-22 jrmu diff:1609706478:1609706466:=5d4%0a%3c !category_mirrory%0a
56 aa513bf8 2023-01-22 jrmu host:1609706478=99.112.18.250
57 aa513bf8 2023-01-22 jrmu author:1609706466=category_mirrory
58 aa513bf8 2023-01-22 jrmu diff:1609706466:1609706466:=1,13d0%0a%3c (:toc:)%0a%3c %0a%3c [[users.category_mirrory | !!category_mirrory]]%0a%3c %0a%3c !!category_mirrory%0a%3c !!!category_mirrory%0a%3c %0a%3c * '''Agree''': Programs should work well together.%0a%3c * '''Agree''': Try to design the output of one program to be the input of another %0a%3c * '''Revise''': {-Avoid-} {+Factor+} interactive input.%0a%3c * '''Revise''': {-Avoid-} {+Factor+} feature creep.%0a%3c * '''Disagree''': {-Do one thing and do it well-} {+What "one" "thing" is is domain-specific.+}%0a%3c * '''Disagree''': {-Use text as an interface-} {+The choice of interfaces (types) is domain-specific.+}%0a\ No newline at end of file%0a
59 aa513bf8 2023-01-22 jrmu host:1609706466=99.112.18.250