#complexity

z428@loma.ml

Reading DHHs musings on technology and running services always is a good way to start a day. This one is no different:

https://world.hey.com/dhh/keeping-the-lights-on-while-leaving-the-cloud-be7c2d67

The magic of Basecamp 2’s incredible two-year 100% uptime, as well as all the other applications hitting 99.99%, come in part from picking boring, basic technologies. We run on F5s, Linux, KVM, Docker, MySQL, Redis, Elastic Search, and of course Ruby on Rails. There’s nothing fancy about our stack, and very little complexity either. We don’t need people with PhDs in Kubernetes or specialists in exotic data stores. And neither do you, most likely.But programmers are attracted to complexity like moths to a flame. The more convoluted the systems diagram, the greater the intellectual masturbation. Our commitment to resisting that is the key ingredient in this uptime success.

Quite a strong wording in this conclusion but generally it's hard to disagree here. Just too many people throw in too much external and third-party complexity for the sake of it, stuff they don't completely know or understand, because that's "how you do it these days". In the end, still, reliability, stability, security of a system in day-to-day operations to quite some degree depends on whether (or not) people know how to handle their environment in as much detail as possible.

#tech #complexity #software_development

#software development

johnehummel@diasp.org

Numbers so large [footnote] you can barely express them and not possibly fathom them.

The Busy Beaver function

FTA: … the busy beaver game consists of designing a halting Turing machine with alphabet {0,1} which writes the most 1s on the tape, using only a given set of states. The rules for the 2-state game are as follows:
1 the machine must have at least two states in addition to the halting state, and
2 the tape initially contains 0s only.

A player should conceive a transition table aiming for the longest output of 1s on the tape while making sure the machine will halt eventually.

An nth busy beaver, BB-n or simply "busy beaver" is a Turing machine that wins the n-state busy beaver game. That is, it attains the largest number of 1s among all other possible n-state competing Turing machines. The BB-2 Turing machine, for instance, achieves four 1s in six steps.

Determining whether an arbitrary Turing machine is a busy beaver is undecidable. This has implications in computability theory, the halting problem, and complexity theory. The concept was first introduced by Tibor Radó in his 1962 paper, "On Non-Computable Functions". [emphasis mine. I have a particular fondness for undecidable/uncomputable functions.]

... The n-state busy beaver (BB-n) game is a contest to find such an n-state Turing machine having the largest possible score — the largest number of 1s on its tape after halting. A machine that attains the largest possible score among all n-state Turing machines is called an n-state busy beaver, and a machine whose score is merely the highest so far attained (perhaps not the largest possible) is called a champion n-state machine.

[This all sounds kinda sweet, innocent, and nerdy so far, doesn't it? But get this:]

The busy beaver function quantifies the maximum score attainable by a busy beaver on a given measure. This is a noncomputable function. Also, a busy beaver function can be shown to grow faster asymptotically than any computable function.

[Holy. Fucking. Shit. Let's say that again: ... grow faster asymptotically than any computable function. That is, in the limit, this function grows so fast that mathematics cannot even express how fast it grows. Yikes! You gotta love this. Mathematics is the best tool we have for understanding the universe. The best tool we have for understanding reality. But as Gödel famously proved, it cannot tell us all truths. [Footnote 2]]

#Math #Wonder #Complexity #BusyBeaver

Footnote: It is a mistake to refer to any integer as “large”. Let us define a number, x, as “large” if there are more numbers smaller than x than there are larger than x. For example, we can reasonably define a person, p, as “large” if there are more more people smaller than p than there are larger than p. By this criterion, I am a small person.

Consider any integer, x. If x is an integer, then x is necessarily finite. [Picture me at a kiosk with a sign reading, “Infinities are not numbers. Prove me wrong.” ;-)]

For any integer x, there is an infinity of integers larger than x, but only a finite number of integers smaller than x. (The argument becomes more complex with real numbers.) Therefore, by definition, every integer is small. QED

Footnote 2: Republicans would seize on this fact and exploit it to lie to people except that they and their base are far too fucking stupid to understand what it means.

https://en.wikipedia.org/wiki/Busy_beaver

danieleg@diaspora-fr.org

It’s not just pluralism for us as humans dividing the world into disciplines each with its own vocabularies and conceptual frameworks and explanatory objects. I think, as I said before, the nervous system from the inside develops different objects for control as you go up the neuro axis. So I think that there's pluralism in how the nervous system sees the control problem and the representations it uses, and that is the ontological truth of pluralism. And then it has a kind of mapping onto the epistemological pluralism we have, and it may well be the reason why we have psychology and neuroscience, and we have psychiatry and we have neurology, is that those are as valid and separable as economics and philosophy are, or economics and sociology.
We don't believe that those disciplines anytime soon are gonna collapse onto the more basic one. So it may just be that we are beginning to discover that our disciplines in their divisions are actually picking up on true ontological differences. I think pluralism is a deep metaphysical truth. I don't think it's just our limitations as humans having to divide the world up into these disciplines. But an alien species could just see them all as a kind of particle physics. I just don't think that's true.

John Krakauer

[Italian]

Non si tratta solo del pluralismo per noi umani che dividiamo il mondo in discipline, ciascuna con i propri vocabolari e quadri concettuali e oggetti esplicativi. Penso che, come ho detto prima, il sistema nervoso dall'interno sviluppi diversi oggetti di controllo man mano che si sale lungo l'asse neurologico. Penso quindi che ci sia pluralismo nel modo in cui il sistema nervoso vede il problema del controllo e le rappresentazioni che utilizza, e questa è la verità ontologica del pluralismo. E poi c’è una sorta di mappatura sul nostro pluralismo epistemologico: forse la ragione per cui abbiamo la psicologia e le neuroscienze, la psichiatria e la neurologia, è che queste sono valide e si possono mantenere separate proprio come lo sono l'economia e la filosofia, o l'economia e la sociologia. Certo non crediamo che queste discipline collasseranno presto su quelle di livello più basilare. Quindi può darsi che stiamo iniziando a scoprire che le nostre discipline, con le loro divisioni, stiano in realtà cogliendo delle vere differenze ontologiche. Penso che il pluralismo sia una profonda verità metafisica. Non credo che siano solo i nostri limiti di esseri umani a fare in modo che dobbiamo dividere il mondo in queste discipline e che una specie aliena potrebbe vederle tutte come un tipo particolare di fisica delle particelle. Non credo che sia vero.

https://complexity.simplecast.com/episodes/95

#complexity #science #scienza #Italian #translation #italiano #neuroscience #pluralism #disciplines #podcast #Krakauer #SFI

wist@diasp.org

A quotation by Schattschneider, E. E.

Democracy has no place for the kind of justice implied in an eye for an eye and a tooth for a tooth. Democracy is a system for the resolution of conflict, not for vengeance. Simple black-white notions of right and wrong do not fit into democratic politics. Political controversies result from the fact that the issues are complex, and men may properly have differences of opinion about them. The most terrible of all over-simplifications is the notion that politics is a contest between good people and bad people.

E. E. Schattschneider (1892-1971) American political scientist [Elmer Eric Schattschneider]
Two Hundred Million Americans in Search of a Government (1969)

#quote #quotation #binary #complexity #conflict-resolution #democracy #good-and-evil #politics
Sourcing and notes: https://wist.info/schattschneider-e-e/55497/

canoodle@nerdpol.ch

Rant: PHP & DokuWiki update upgrade problems - too much complexity: fixing one thing, while breaking another - why updates are hated

Nobody likes rants… just as Updates are (sometimes) hated, but (sometimes) necessary.

This is how (probably) the slogan: “never touch a running/working system” originated.

Once a system was fully tested (all used cases worked), an update came along a old functionality was not functioning anymore.

For security reasons: all machines/systems directly or indirectly exchanging messages with the wild west internet need to stay as up to date as possible.

the pros:

(+) First of DokuWiki is a nice software, it’s cool that it can do a lot of fancy stuff such as LDAP (?) if the user needs it.

(-) What is not cool, to have a lot of plugins installed per default, instead of starting with a bare minimum of software needed (software minimalism) and let the user add the software the user absolutely needs, because “too much software” pre-installed tend to make systems fail.

This time it happened in a “complex grown over years software” “tripple” upgrade situation:

  • php8 is out
  • DokuWiki “upgrade plugin” needs updating
  • DokuWiki itself needs updating

… things fell apart at the 1st step already, resulting in a still readable, but pretty ugly (missing CSS) version of what it was before.

culprit: with a stylesheed was not being properly generated:

url: http://localhost/projects/lib/exe/css.php?t=dokuwiki&tseed=djf83jhdfuz38odhfzho3z80ehilf

<br />
<b><span style="color: #ff9900;">Warning</span></b>: Undefined array key "speech" in <b>/path/to/dokuwiki/lib/exe/css.php</b> on line <b>83</b><br />
<br />
<b><span style="color: #ff0000;">Fatal error</span></b>: Array and string offset access syntax with curly braces is no longer supported in <b>/path/to/dokuwiki/vendor/marcusschwarz/lesserphp/lessc.inc.php</b> on line <b>761</b><br />

DokuWiki authors added the work of this author (https://www.maswaba.de/lesserphpdocs/) for whatever reason and { curly brackets } (now deprecated) were not updated in time to [ square brackets ].

As simple as that.

In the beginning: all the user wants is an easy editable file based wiki (it’s even there in the Dokuwiki slogan “it’s better when it is simple”)

Why exactly is this CSS compiler needed/active per default in the first place?

Has DokuWiki grown into unnecessary complex “bloatware” of over 5000 files?

<span style="color: #00ffff;">wget https://download.dokuwiki.org/out/dokuwiki-8186df5bcf8bba07ff8638254a75b094.tgz
tar fxvz dokuwiki-8186df5bcf8bba07ff8638254a75b094.tgz</span>
<span style="color: #00ffff;">find ./dokuwiki |wc -l</span>
<span style="color: #ff6600;">5579 files</span>

(much less than some PHP frameworks… but still a lot of files… with a lot of moving parts… all potential points of failure…)

violating UNIX K.I.S.S and leading to software failures

More complexity = more errors = less maintainability.

DokuWiki has gained functionalities of questionable qualities, such as the very faulty and thus pretty useless and annoying SPAM detection mechanism.

(every Wiki should be login & .htaccess protected, how to activate the DokuWiki (per default disabled) login screen, is the #1 most visited page of this blog X-D, already enough SPAM protection… so completely unnecessary to add such faulty functionality)

Even worse: @the-official-DokuWiki-forum, the forum software triggers admins (that are unable to read and blindly trust this faulty SPAM detection mechanism, that basically detects EVERY URL as spam) to block the user’s (maybe useful) contributions aka “overblocking”.

Be Brave New Web World.

Only solution: write your own tools that respect UNIX K.I.S.S principle and are therefore easy to fix and maintain and actually work, fast 🙂 (using minimal resources)

DokuWiki updates-upgrades: how it is supposed to look and work like:

how to fix this mess:

==== howto fix ====
<b>Warning</b>: Undefined array key "speech" in <b>/path/to/dokuwiki/lib/exe/css.php</b> on line <b>83</b>
(usually php-warnings are disabled, but if warnings are enabled, it will mess up the css's format)

=== in file: /lib/exe/css.php

== in line: 82 to 87

= change, from:
        // load user styles
        if(is_array($config_cascade['userstyle'][$mediatype])) {
            foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
                $files[$userstyle] = DOKU_BASE;
            }
        }
= change, to:
        // load user styles
        if(array_key_exists($mediatype, $config_cascade['userstyle']))
        {
            if(is_array($config_cascade['userstyle'][$mediatype])) {
                foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
                    $files[$userstyle] = DOKU_BASE;
                }
            }
        }

==== howto fix ====

<b>Fatal error</b>: Array and string offset access syntax with curly braces is no longer supported in <b>/path/to/dokuwiki/vendor/marcusschwarz/lesserphp/lessc.inc.php</b> on line <b>761</b>

=== in file:
/vendor/marcusschwarz/lesserphp/lessc.inc.php

== line: 761
= change, from:
   $subProp[1]{0} != $this->vPrefix)
= change, to:
   $subProp[1][0] != $this->vPrefix)

== line: 2762
= change, from:
   if (!is_string($tag) || $tag{0} != $this->lessc->mPrefix)
= change, to:
   if (!is_string($tag) || $tag[0] != $this->lessc->mPrefix)

== line: 2816
= change, from:
   if ($tag{0} == $this->lessc->vPrefix)
= change, to:
   if ($tag[0] == $this->lessc->vPrefix)

#linux #gnu #gnulinux #opensource #administration #sysops #dokuwiki #when #upgrades #fail #upgrade #complexity #unix #kiss

Originally posted at: https://dwaves.de/2022/06/30/rant-php-dokuwiki-update-upgrade-problems-too-much-complexity-fixing-one-thing-while-breaking-another-why-updates-are-hated/

canoodle@nerdpol.ch

PHP & DokuWiki update upgrade problems - too much complexity: fixing one thing, while breaking another - why updates are hated

Updates are hated, but sometimes necessary.

This is how (probably) the slogan: “never touch a running/working system” originated.

Once a system was fully tested (all used cases worked), an update came along a old functionality was not functioning anymore.

For security reasons: all machines/systems directly or indirectly exchanging messages with the wild west internet need to stay as up to date as possible.

the pros:

(+) First of DokuWiki is a nice software, it’s cool that it can do a lot of fancy stuff such as LDAP (?) if the user needs it.

(-) What is not cool, to have a lot of plugins installed per default, instead of starting with a bare minimum of software needed (software minimalism) and let the user add the software the user absolutely needs, because “too much software” pre-installed tend to make systems fail.

This time it happened in a “complex grown over years software” “tripple” upgrade situation:

  • php8 is out
  • DokuWiki “upgrade plugin” needs updating
  • DokuWiki itself needs updating

… things fell apart at the 1st step already, resulting in a still readable, but pretty ugly (missing CSS) version of what it was before.

culprit: with a stylesheed was not being properly generated:

url: http://localhost/projects/lib/exe/css.php?t=dokuwiki&tseed=djf83jhdfuz38odhfzho3z80ehilf

<br />
<b><span style="color: #ff9900;">Warning</span></b>: Undefined array key "speech" in <b>/path/to/dokuwiki/lib/exe/css.php</b> on line <b>83</b><br />
<br />
<b><span style="color: #ff0000;">Fatal error</span></b>: Array and string offset access syntax with curly braces is no longer supported in <b>/path/to/dokuwiki/vendor/marcusschwarz/lesserphp/lessc.inc.php</b> on line <b>761</b><br />

DokuWiki authors added the work of this author (https://www.maswaba.de/lesserphpdocs/) for whatever reason and { curly brackets } (now deprecated) were not updated in time to [ square brackets ].

As simple as that.

In the beginning: all the user wants is an easy editable file based wiki (it’s even there in the Dokuwiki slogan “it’s better when it is simple”)

Why exactly is this CSS compiler needed/active per default in the first place?

Has DokuWiki grown into unnecessary complex “bloatware” of over 5000 files?

<span style="color: #00ffff;">wget https://download.dokuwiki.org/out/dokuwiki-8186df5bcf8bba07ff8638254a75b094.tgz
tar fxvz dokuwiki-8186df5bcf8bba07ff8638254a75b094.tgz</span>
<span style="color: #00ffff;">find ./dokuwiki |wc -l</span>
<span style="color: #ff6600;">5579 files</span>

(much less than some PHP frameworks… but still a lot of files… with a lot of moving parts… all potential points of failure…)

violating UNIX K.I.S.S and leading to software failures

More complexity = more errors = less maintainability.

DokuWiki has gained functionalities of questionable qualities, such as the very faulty and thus SPAM detection mechanism.

(every Wiki should be login & .htaccess protected, how to activate the DokuWiki (per default disabled) login screen, is the #1 most visited page of this blog X-D, already enough SPAM protection… so completely unnecessary to add such faulty functionality)

Even worse: @the-official-DokuWiki-forum, the forum software triggers admins (that are unable to read and blindly trust this faulty SPAM detection mechanism, that basically detects EVERY URL as spam) to block the user’s (maybe useful) contributions aka “overblocking”.

Be Brave New Web World.

Only solution: write your own tools that respect UNIX K.I.S.S principle and are therefore easy to fix and maintain and actually work, fast 🙂 (using minimal resources)

how to fix this mess:

==== howto fix ====
<b>Warning</b>: Undefined array key "speech" in <b>/path/to/dokuwiki/lib/exe/css.php</b> on line <b>83</b>
(usually php-warnings are disabled, but if warnings are enabled, it will mess up the css's format)

=== in file: /lib/exe/css.php

== in line: 82 to 87

= change, from:
        // load user styles
        if(is_array($config_cascade['userstyle'][$mediatype])) {
            foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
                $files[$userstyle] = DOKU_BASE;
            }
        }
= change, to:
        // load user styles
        if(array_key_exists($mediatype, $config_cascade['userstyle']))
        {
            if(is_array($config_cascade['userstyle'][$mediatype])) {
                foreach($config_cascade['userstyle'][$mediatype] as $userstyle) {
                    $files[$userstyle] = DOKU_BASE;
                }
            }
        }

==== howto fix ====

<b>Fatal error</b>: Array and string offset access syntax with curly braces is no longer supported in <b>/path/to/dokuwiki/vendor/marcusschwarz/lesserphp/lessc.inc.php</b> on line <b>761</b>

=== in file:
/vendor/marcusschwarz/lesserphp/lessc.inc.php

== line: 761
= change, from:
   $subProp[1]{0} != $this->vPrefix)
= change, to:
   $subProp[1][0] != $this->vPrefix)

== line: 2762
= change, from:
   if (!is_string($tag) || $tag{0} != $this->lessc->mPrefix)
= change, to:
   if (!is_string($tag) || $tag[0] != $this->lessc->mPrefix)

== line: 2816
= change, from:
   if ($tag{0} == $this->lessc->vPrefix)
= change, to:
   if ($tag[0] == $this->lessc->vPrefix)

#linux #gnu #gnulinux #opensource #administration #sysops #dokuwiki #when #upgrades #fail #upgrade #complexity #unix #kiss

Originally posted at: https://dwaves.de/2022/06/30/php-dokuwiki-update-upgrade-problems-too-much-complexity-fixing-one-thing-while-breaking-another-why-updates-are-hated/

dredmorbius@diaspora.glasswings.com

David Krakauer on Emergent Political Economies and A Science of Possibility

In this episode, we talk with SFI President David Krakauer about the goals of this research theme and what SFI brings to the table. We discuss the legacy of long-standing challenges to quantitative history and mathematical economics, how SFI thinks differently about these topics, and a brief outline of the major angles we’ll explore in this sub-series over the next year-plus — including the roles of dimension, causality, algorithms, scaling, innovation, emergence, and more.

Subscribe to Complexity Podcast for upcoming episodes with an acclaimed line-up of scholars including Diane Coyle, Eric Beinhocker, Ricardo Hausmann, Doyne Farmer, Steven Teles, Rajiv Sethi, Jenna Bednar, Tom Ginsburg, Niall Ferguson, Neal Stephenson, Paul Smaldino, C. Thi Nguyen, John Kay, John Geneakoplos, and many more to be announced…

Transcript: https://complexity.simplecast.com/episodes/82/transcript

Media (audio/MP3)

SFI's Complexity is among my favourite podcasts. This episode, and the series it fronts, are a look into a revising of theories of political economy --- a domain which to date has been frustrating and problematic.

Strongly recommended.

https://complexity.simplecast.com/episodes/82

#Complexity #DavidKrakauer #SantaFeInstitute #SFI #PoliticalEconomy #Podcasts

wist@diasp.org

A quotation by Dostoyevsky, Fyodor

We must never forget that human motives are generally far more complicated than we are apt to suppose, and that we can very rarely accurately describe the motives of another.

Fyodor Dostoyevsky (1821-1881) Russian novelist

The Idiot, Part 3, ch. 3 (1869) [tr. Martin (1915)]

#quotation #quote #complexity #drives #motivation #motive #psyche

More notes and sourcing on WIST: https://wist.info/dostoyevsky-fyodor/49127/

wist@diasp.org

A quotation by Richardson, James

Our lives get complicated because complexity is so much simpler than simplicity.

James Richardson (b. 1950) American poet

“Vectors: 56 Aphorisms and Ten-second Essays,” Michigan Quarterly Review, # 7 (Spring 1999)

#quotation #quote #complexity #disorganization #life #simplicity

More notes and sourcing on WIST: https://wist.info/richardson-james/48710/

anonymiss@despora.de

#Anatomy of an #AI #System

source: https://anatomyof.ai
Chinese source: https://anatomyof.ai/index-cn.html

This is an #interaction with #Amazon’s #Echo device. A brief command and a response is the most common form of engagement with this #consumer voice-enabled AI device. But in this fleeting moment of interaction, a vast #matrix of capacities is invoked: interlaced chains of #resource extraction, human labor and algorithmic processing across networks of mining, logistics, distribution, prediction and optimization. The scale of this system is almost beyond #human imagining. How can we begin to see it, to grasp its immensity and #complexity as a connected form?


#knowledge #technology #science #computer #software #algorithm #future #economy

wist@diasp.org

A quotation by Von Neumann, John

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.

John von Neumann (1903-1957) Hungarian-American mathematician, physicist, inventor, polymath [János “Johann” Lajos Neumann]

Speech, Association for Computing Machinery inaugural conference, Columbia University, New York (15 Sep 1947)

#quotation #quote #complexity #life #math #mathematics #simplicity

More notes and sourcing on WIST: https://wist.info/von-neumann-john/47339/