#kiss

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/

anonymiss@despora.de

#Pixar’s ‘Lightyear’ banned over same sex #kiss in #SaudiArabia, #UAE

source: https://aljazeera.co.in/politics/pixars-lightyear-banned-over-same-sex-kiss-in-saudi-arabia-uae/

This movie has now become the latest in a growing list of major #Disney features including ‘Doctor Strange in the Multiverse of Madness’ and ‘Eternals’, that have been faced issues in Gulf countries due to scenes involving #LGBTQ references or issues, which often fall foul of censors for theatrical releases due to #homosexuality being officially illegal across the region, as per The #Hollywood Reporter.

The kiss scene: https://www.youtube.com/shorts/p2psoNuStZI

#censorship #movie #entertainment #law #politics #HumanRights #equality #news #Lightyear

canoodle@nerdpol.ch

rant: system philosophy: IT that ignore UNIX K.I.S.S will die - in Germany there are only one man teams

https://www.youtube.com/watch?v=pGFGD5pj03M

https://www.youtube.com/watch?v=pGFGD5pj03M

team, team, team team…

In Germany, everyone is his/her own team, there are only one-man, one-woman teams.

teams not necessarily help each other

the best “help” you can get from another “team” is “it is somewhere in the (incomplete, outdated, no body cares) dokuwiki”

often they also work against each other

so actually there are no teams

without social skills and development as human being

the only interface that still exists is text and money

“give me that, here the money”

a “helpful” “community” isn’t it?

which reminds me of:

have no problem with that, just please do not raise any expectations that it might be otherwise.

“we are a hip, cool and fun company” (no)

just say it out loud: “we are a boring company, our systems are a grown mess and we are about to lose control, want to fix it?”

well if you read & understood K.I.S.S (simplify, simplify, simplify, standardize, automate) it could be fixed over the course of several years, if not: no.

to ignore K.I.S.S means: leaving behind an badly documented mess, either for others to fix or to die (delete & restart).

Any newcomer’s motivation will die fast, when being stuck without help and with outdated documentation.

Aka: the company is doomed to die in a self made mess. (Don’t tell me i did not warn ya)

Some will ride the rainbow, until it dies.

You just killed your own company and your job, but not in the way McIlroy envisioned it:

“As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow.”

Doug McIlroy

(probably quoting JFKennedy)

PS: those guys at ubuntu surely also never have heard of K.I.S.S

the only reason ubuntu is still a thing, is that it is based on K.I.S.S respecting Debian

also: systemd has become “creepware” (it used to do startup, now it also does network config, WHY? WHY? (because it want’s to rule them all)

#linux #gnu #gnulinux #opensource #administration #sysops #team #teams #it #crowd #company #germany #error #mistake #unix #kiss #simplify #simplicity #rant

Originally posted at: https://dwaves.de/2021/11/10/rant-system-philosophy-it-that-ignore-unix-k-i-s-s-will-die-in-germany-there-are-only-one-man-teams/

canoodle@nerdpol.ch

system philosophy: IT that ignore UNIX K.I.S.S will die - in Germany there are only one man teams

https://www.youtube.com/watch?v=pGFGD5pj03M

https://www.youtube.com/watch?v=pGFGD5pj03M

team, team, team team…

In Germany, everyone is his/her own team, there are only one-man, one-woman teams.

teams not necessarily help each other

the best “help” you can get from another “team” is “it is somewhere in the (incomplete, outdated, no body cares) dokuwiki”

often they also work against each other

so actually there are no teams

without social skills and development as human being

the only interface that still exists is text and money

“give me that, here the money”

a “helpful” “community” isn’t it?

which reminds me of:

have no problem with that, just please do not raise any expectations that it might be otherwise.

“we are a hip, cool and fun company” (no)

just say it out loud: “we are a boring company, our systems are a grown mess and we are about to lose control, want to fix it?”

well if you read & understood K.I.S.S (simplify, simplify, simplify, standardize, automate) it could be fixed over the course of several years, if not: no.

to ignore K.I.S.S means: leaving behind an badly documented mess, either for others to fix or to die (delete & restart).

Any newcomer’s motivation will die fast, when being stuck without help and with outdated documentation.

Aka: the company is doomed to die in a self made mess. (Don’t tell me i did not warn ya)

Some will ride the rainbow, until it dies.

You just killed your own company and your job, but not in the way McIlroy envisioned it:

“As a programmer, it is your job to put yourself out of business. What you do today can be automated tomorrow.”

Doug McIlroy

(probably quoting JFKennedy)

#linux #gnu #gnulinux #opensource #administration #sysops #team #teams #it #crowd #company #germany #error #mistake #unix #kiss #simplify #simplicity

Originally posted at: https://dwaves.de/2021/11/10/system-philosophy-it-that-ignore-unix-k-i-s-s-will-die-in-germany-there-are-only-one-man-teams/

chaospunk@pod.geraspora.de

Irgendwer hatte sich letzthin in meinem Stream furchtbar über DoooAp Mucke aufgeregt, und gefunden, wer sich keinen Text einfallen lassen kann, soll es bleiben lassen. Ich glaube, das warst Du, @birne@diaspora.psyco.fr oder vielleicht war es auch @miller@nerdpol.ch...ich weiss es nicht mehr, und grundsätzlich habt ihr ja recht..ABER was machen wir in dem Fall mit KISS https://www.youtube.com/watch?v=ZhIsAZO5gl0 . Ich meine, ist ja auch Mucke, die die Welt nicht braucht, aber immerhin hatten sie einen gewissen Unterhaltungswert. Ich hab mal n halben Tag lang so ein Poster aufgehängt, aber meine Eltern haben sich so aufgeregt, ab den schwarz-weissen Gesichtern und den weit herausgerissenen Zungen, und den doofen Gitarren, da finde ich, haben sie sich ihre Legitimation schwer erarbeitet....
#kiss #doodoodooodoododododododododododododooooooooooooo