small pixel drawing of a pufferfish j3s.sh

lil updoots
Jes Olson j3s@c3f.net
Wed, 14 Aug 2024 18:26:06 -0400
commit

f7146ecb04613024b67d0090bd047dba50d6f496

parent

ba4822863f1af7362a04d1adf372432c6ef637b2

1 files changed, 92 insertions(+), 73 deletions(-)

jump to
M thought/trainwreck-design.htmlthought/trainwreck-design.html

@@ -10,11 +10,7 @@

df -h the year is 2024. instead of sensible output, -i get... this. - - - - +i get... this: Filesystem Size Used Avail Use% Mounted on

@@ -78,23 +74,27 @@

jesus christ. -if you think that the above output is ugly, let +and if you think that the above output is ugly, let me assure you, it's even worse in a terminal. each 150+ character line wraps around my buffer like a boa constrictor, completely suffocating any sense of meaning. + ,=e + `-. + _,-' + my journey to know how much disk space i had left has left me confused. annoyed. -but even worse, i feel disrespected in my own ~home. +i feel disrespected in my own ~home. and i don't like being disrespected. especially -by WORDS and LETTERS and UTF-8??? +by command line applications. -after all, this is MY terminal. +after all, this is MY terminal. MY userspace. a program just waltzes in and spews shitty output all over MY tty?

@@ -102,7 +102,7 @@

HELL NO oh, but tmpfs's are so very useful? fuck you. -oh, efivars are important becau- FUCK you. +oh, efivars are important becau- FUCK YOU. I AM A REGULAR LINUX USER

@@ -131,39 +131,42 @@

as open ecosystems grow, they tend to experience what i like to call "trainwreck design" -basically: when many things are independently designed -and developed, then smashed together, the user -experience suffers. things feel "wrong" because -users aren't stupid - they can sense that there was -no coherent vision. +basically: when many programs are independently designed +and developed & then smashed together, user +experience suffers. + +things feel wrong because users can sense the lack of +coherent vision. tiny papercuts. -take the GNU/Linux ecosystem for example. -"trainwreck design" happens here all of the time. -programs are designed independently, smashed together, +take the GNU/Linux ecosystem: +"trainwreck design" happens there all of the time. +programs are designed independently & smashed together, everyone spritzes holy water on their keyboards, -and things mostly sort of keep moving forward. +adds 2,000 more lines of lua to their emacs config, +and things mostly sort of keep stumbling forward. + +but this results in programs like df. or mount. -but this results in programs like df. they grow weird -appendages, have millions of esoteric flags, and worst -of all, they just feel obviously wrong. +they grow weird appendages, have millions of +esoteric flags, and worst of all, +they just FEEL obviously wrong. "trainwreck design" is not intentional design. -in "open source" communities, these problems are -often worsened - if design disagreements get too -intense, forks arise and kill momentum. +people have tried using consensus-based design, +but consensus doesn't really work in the design realm. + -people have tried using consensus - but consensus -doesn't really work in the design realm. + BAZAAR DESIGN THEORY when an open, bazaar-like[0] community grows too large, it becomes impossible to insist on a coherent design -philosophy, people fork around you. rifts develop. -alternatives appear. electing a "design leader" is -not possible because there are simply too many points -of control. +philosophy, because getting that many people to agree +on vision leads to slowdowns, disagreements, forks, +etc. -in other words... +in other words, bazaar-like communities result +in bazaar-like design. ____ | | .----------------------------------------------.| |

@@ -175,27 +178,31 @@ |:_/ |

// \ \ (| [4] | ) +i actually think the above is completely false. + i have my own theory: bazaar-style development does not necessitate committee-style design. -a bazaar can in fact have a unified vision without -relying on outright authoritarianism. +a bazaar can in fact have a unified vision. -in fact, this is already happening - many projects -that are very much bazaar-like in nature have a strong -visionary + designer (or several), who typically hold -leadership positions. +but it must be intentional from the beginning. -but it's rare. +this is already happening - many projects that are +very much bazaar-like in nature have a strong visionary ++ designer (or several), who typically hold leadership +positions. + +but it's rare, and the territory is pretty new. -typically, this position is affectionately called the +historically, this position has affectionately been +called the~ ██████ ██████ ███████ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ █████ ██ ██ ██ ██ ██ ██ ██ ██████ ██████ ██ ███████ - or "benevolent dictator for life" + "benevolent dictator for life" for a good example, see the hare[1] project's BDFL page.

@@ -209,30 +216,29 @@ - Drew has "the vision"

- ... - Drew is the designer. -if you disagree that hare is designed, try reading -the style[2] guide and this[3] post on hare's design -philosophy. +try reading hare's style[2] guide and this[3] post +on hare's design philosophy. hare is clearly a designed +project. "Hare Is Boring" is an assertion made by someone with a strong innate sense of design. -a contributor can immediately read, digest, and align -with Hare's vision. they can contribute code in +a new contributor can immediately read, digest, and +align with Hare's vision. they can contribute code in an expected style with very little oversight. they can get excited about hare, because when design -is this up-front, it's exciting to be a part of. +is this up-front, it's compelling. exciting. design requires vision. direction. involvement. -but design does not require the designer to do -all of the work, or be a gate through which -all work flows. +design does _not_ require the designer to do all of +the work, or be a gate through which all work flows. the designer does _not_ have to be a dictator. -this is neither a bazaar nor a cathedral - it's -somewhere in between. +this sort of setup is neither a bazaar nor a +cathedral - i believe it's somewhere in between.

@@ -257,41 +263,54 @@

i'm calling it "the hive", and it's a bazaar/cathedral hybrid. -hives one or more leaders who influence direction +hives have one or more leaders who influence direction and vision, but who do _not_ act as dictators. +in other words, hive leaders inspire design +through vision - not by telling people what to do. + hive leaders: - - talk about vision, meaning, direction - - let people own their own decisions - - provide context and warnings - - try their hardest to not act like dictators + - think and talk about vision, meaning, direction + - let people operate independently + - provide context + - assert control rarely, if ever. -people in hives make decisions autonomously, but -with shared understanding and context. the role -of the hive leader is to keep track of what's -happening, try to keep everyone aligned, get -people excited about a vision, but let people -make their own technical decisions along that -path. +people in hive projects make decisions autonomously, +but with shared understanding and vision. + +being a hive leader is not fun. they have stressful, +emotional responsibilities: + - help people understand the project's vision + - organize people into roles + - resolve interpersonal disputes + - provide guidance when people cannot agree + - watch all of the trains + +this setup role dramatically reduces the likelihood of +trainwreck design, and also keeps the communal +"vibe of the bazaar" alive. + +also, you get to call yourself the "queen bee" -this dramatically reduces the likelihood of trainwreck -design, and also keeps the communal "vibe of the bazaar" -alive. + .' '. __ + . . . (__\_ + . . . -{{_(|8) + ' . . ' ' . . ' (__/ -in other words, - if somebody watches all of the trains - maybe we can stop some of them + if somebody is watching all of the trains - from crashing. + maybe some of them + won't collide. -love, - jes + love, + + jes