from W nieskończoności skryta...
róża
moi bliscy usłali mi życie różami stąpam więc teraz boso po drogach usłanych kolcami
Read the latest public posts from Publish.MinistryOfInternet.eu.
from W nieskończoności skryta...
moi bliscy usłali mi życie różami stąpam więc teraz boso po drogach usłanych kolcami
from W nieskończoności skryta...
Moim nieodłącznym towarzyszem życia zawsze był chaos. Czasami mniejszy, czasami większy, ale zawsze był. I choćbym nie wiem jak bardzo się starała, to nigdy nie potrafiłam sobie odpowiednio zaplanować i poukładać ani dnia ani tygodnia. W zasadzie jedyny czas kiedy moje życie było w jakiś sposób regularne to czas szkoły, studiów i te kilka lat pracy. Jak widać, była to regularność narzucona z zewnątrz, do której potrafiłam się jakoś dostosować. Nie zawsze perfekcyjnie, ale w jakimś stopniu mi się udawało, przynajmniej jeśli chodzi o obecność. Sama z siebie jednak nie potrafiłam nigdy wprowadzić żadnej rutyny. I nie chodzi tu o brak umiejętności zaplanowania sobie dnia czy tygodnia pracy. O nie, plany to ja potrafię robić. Problem zaczyna się z ich realizacją.
Dzieje się tak, gdyż nie potrafię w żaden sposób odnaleźć się w czasie. Nie wiem dlaczego, ale nie potrafię odpowiednio zgrać czynności z czasem. Np. jak mam gdzieś być o konkretnej godzinie to albo jestem dużo za wcześnie, albo biegnę na ostatnią chwilę. Nie trudno zauważyć, że marnuję sporo czasu wiecznie gdzieś na coś czekając. Drugą rzeczą, która utrudnia mi realizację planów jest jakieś wewnętrzne coś, nie wiadomo co, które siedzi sobie we mnie i jak tylko sobie postanowię, że zrobię jakąś rzecz, to automatycznie to coś sprawia, że nie jestem w stanie zrealizować zaplanowanej rzeczy. Nie wiem co to jest i z czego wynika. Najbardziej oczywiście owo coś przeszkadzało mi przed wszelkiego rodzaju egzaminami, kiedy ważne było zaplanowanie sobie nauki.
Jak tak sobie patrzę z perspektywy czasu i analizuję swoje życie, to okazuje się, że nigdy tak naprawdę nie uczyłam się do egzaminów. Ani do matury, ani na studiach. Akurat jeśli chodzi o egzaminy typu matura i sesje na studiach, to oprócz braku umiejętności zrealizowania planu nauki/powtórek, czynnikiem utrudniającym był stres i presja czasu. Im bliżej egzaminu tym większa niemoc zrobienia czegokolwiek. Dlatego mój sukces na egzaminach nieodzownie związany był z regularnym uczęszczaniem na zajęcia i samodzielną pracą w ich trakcie a także samodzielnym wykonywaniem tzw. prac domowych czy robieniem po prostu w domu dodatkowych zadań, bo najzwyczajniej w świecie sprawiało mi to przyjemność. Jak się można domyślić, jeśli czegoś nie lubiłam to miałam problem.
Z powodu tego wewnętrznego czegoś, czasami łatwiej zrobić mi coś spontanicznego, niż zrealizować plan. Czyli wypisz, wymaluj chaos.
Pomijam już rzeczy typu, zaczynam robić jedną rzecz, a kończę zupełnie z czymś innym, bo akurat coś zobaczyłam, usłyszałam itp... Kolejny temat rzeka a raczej łańcuszek czynności, nie do końca powiązanych ze sobą.
Ale ten chaos to nie tylko trudności w takim, codziennym funkcjonowaniu. To także trudności na mojej drodze do odnalezienia siebie. Bo ten wszechobecny w moim życiu chaos sprawiał, że przez długi czas nijak nie potrafiłam odnaleźć w sobie spektrum autyzmu, o którym wcześniej wielokrotnie słyszałam i próbowałam nawet czegoś o spektrum szukać ale odbijałam się za każdym razem od rutyny, której u mnie nie mogłam po prostu dostrzec w żaden sposób.
Gdy odkryłam o sobie prawdę, chaos stał się powodem do niepokoju. Bo jak już odkryłam, to szukałam osób podobnych do mnie, między innymi w tych moich socjalmediach. Od dawna miałam jedną koleżankę, dzięki której w zasadzie powoli zaczęłam ruszać temat. Później kolejna osoba z sieci. Co mnie zaczęło niepokoić, to właśnie ich bardzo poukładane życie. Ja takiego nie mam. U mnie rutyna jest, ale na opak. Dotyczy tylko konkretnych rzeczy. A więc jak mam biegać to muszę odstawić w domu cały rytuał przygotowawczy, a jak biegnę, to stałą trasą, z telefonem w ręku, żeby widzieć jakie mam tempo i jaki puls. Gdy tylko GPS przestaje działać, to zaczynam panikować i najczęściej nie jestem w stanie biec. Ale to tylko bieg. Natomiast nie potrafię biegać regularnie np. 3-4 razy w tygodniu. Tego już za wiele. Taka rutyna jest poza moim zasięgiem. I takich przykładów jest pełno. Dana czynność wykonywana wręcz rytualnie, ale bez zachowania regularności w czasie.
Odpowiedź na to jest tylko jedna. Jestem bardziej neuronietypowa, niż mi się wydawało. Spektrum autyzmu to tylko jeden składnik. Jest jeszcze drugi, który zaburza ten pierwszy. W zasadzie one wzajemnie na siebie oddziałują, a raczej na mnie, wprowadzając niemałe zamieszanie, przez które trudno dostrzec i jedno i drugie...
Odkrycie drugiego składnika dało mi chyba upragniony spokój. Taki wewnętrzny. Bo w końcu wszystko pasuje, układa się w jakąś jedną, spójną całość. I nawet gdy nie ułożyłam swojej układanki całkowicie, to i tak jest lepiej. Bo nie czuję już, że mam jakby dwa niepasujące do siebie zestawy puzzli.
Poza tym, już sama świadomość tej całości sprawiła, że w pewnym sensie trochę łatwiej mi w takim codziennym życiu. Bo już nie kopię się sama z sobą, nie próbuję na siłę robić rzeczy wbrew sobie, bo wiem, że to i tak jest bez sensu. I najważniejsze, nie mam już tego uczucia, że zupełnie nigdzie nie pasuję.
Tutaj tym bardziej nie będę robić niczego wbrew sobie. A zatem, w zgodzie ze sobą, wbrew temu co kiedyś pisałam, nie będzie żadnego planu tego miejsca, nie będzie regularnego pisania...
Witam w moim chaosie który tu był, jest i zawsze będzie...
from Ábrete mundo.
A pesar de que la rudeza es una pieza fundamental para la construcción de roles y esquemas de relación en nuestras culturas, me parece que se habla poco de este elefante en medio del salón cuando se habla de psicología o cuando se analiza el funcionamiento de la sociedad.
La rudeza es uno de los ingredientes que suelen utilizarse en la receta de la masculinidad. Cada hombre usará de este ingrediente en mayor o menor medida pero parece difícil prescindir de él, como del ajo en las cocinas mediterráneas. El niño varón suele asumir que tiene que desarrollar su capacidad de rudeza para ser reconocido como plenamente masculino, el varón debe aprender a reprimir sus emociones, la única emoción cuya manifestación no cuestiona la masculinidad tradicional es la ira.
La rudeza es también una defensa frente a la conflictividad de las relaciones interpersonales en todos los ámbitos, una advertencia de respuesta violenta (física o verbal) ante eventuales agresiones.
La rudeza también funciona una estrategia para proteger la autoestima de la humillaciones de la convivencia y una manera de hacer algo más llevaderas las situaciones de dominación soportadas, muy especialmente en el ámbito laboral y militar, porque se supone que la rudeza revaloriza al individuo, compensando la desvalorización derivada de soportar y verse obligado a asumir situaciones de dominación. Frente a la dominación se reacciona con obediencia, que desvaloriza, y con una pose de rudeza, a la que se le atribuye un efecto valorizador, sobre todo en los machos.
El servicio militar obligatorio era una escuela de rudeza que enseñaba que el desarrollo de cierto nivel de rudeza era necesario para lograr la validación del grupo y de la autoridad. La supresión del servicio militar obligatorio ha reducido la valoración social de la rudeza, sin embargo las abundantes fantasías militares de la cultura del entretenimiento, siguen enalteciendo la rudeza, sobre todo como elemento de la construcción de la identidad masculina, pero también como elemento a valorar en ciertas identidades femeninas, de ruptura con la niña o con comportamientos de mujer tradicional.
¿La rudeza es un elemento que la empresa valora positivamente al seleccionar personal? Podría ser percibida por el seleccionador de personal como un indicador de aguante a la presión del dominio jerárquico (el trabajador rudo podría pensarse que no es tan propicio a coger una baja por ansiedad) y como un indicador de que el candidato a trabajador no cultiva otras habilidades sociales más trasversales que pueden perjudicar el control de la plantilla por el superior jerárquico al establecer lazos entre los trabajadores o al poner en entredicho, por comparación, las habilidades del mando.
El hombre de mediana edad, normalmente enfrentado a la realidad de una actividad laboral insatisfactoria, a una proyección social insuficiente y a la frustración de no haber alcanzado las promesas vitales que ofrece a los jóvenes nuestra sociedad de mercado, suele trabajar una coraza de cierta rudeza para compensar esos pequeños (muchas veces inevitables e incluso naturales) fracasos que dañan su identidad y autoestima. La rudeza puede ser un sustitutivo del estatus no logrado, pero incluso puede acompañar a la ostentación de estatus, como un adorno más. El rock viejuno, con toda una colección de grupos que lo cultivan, hace abundante uso de una imagen de rudeza de mediana edad.
Cerveza y tatuajes se han convertido en elemento de identidad de una buena parte de la población, demostración no solo de estar en la cultura contemporánea si no también de rudeza.
Siendo la rudeza un complemento importante para las personas de clase trabajadora y clase media, se entiende el potencial de la ideología rojiparda. La izquierda con origen en el 68, la izquierda más postmoderna, no se relaciona bien con esa demanda de identidad ruda. En cambio el rojipardismo si puede cultivar la imagen ruda o al menos, aceptarla.
Quizás la rudeza debería ser un elemento tenido mucho más en cuenta por la psicología y la crítica cultural, teniendo en cuenta el papel tan importante que juega al configurar el carácter y la cultura.
from James Garrett
Some thoughts on statistical modeling and data science James Garrett
Some years ago, in a large pharmaceutical company, an academic paper circulated among some of the members of the statistical staff (of which I was one). It addressed the question of how logistic regression compared to machine learning (ML) methods in predictive accuracy with clinical trial data. The authors of the paper applied logistic regression models and found equal or better predictive performance than had been reported earlier with ML methods.
The paper was greeted by the statisticians with an uncomfortably tribal quality—I think someone may have literally written, “Hooray for our side!” If that wasn't the literal statement, the discourse within the group certainly ran along that line, such was the feeling of siege that prevailed.
(Unfortunately, I cannot find that paper now. A search on this topic uncovers many papers on the relative predictive accuracy of logistic regression on clinical data. It's been a topic of some concern, apparently.)
I had been studying statistical modeling methods advocated by Dr. Frank Harrell, Jr., whom I like to call “The most respected ignored statistician in America.” He's an elected fellow of the American Statistical Association, which is as close to a Nobel Prize as the statistics world comes. He specializes in exploratory modeling of clinical data. He mined decades' worth of statistical thinking to synthesize an exploratory modeling workflow that is purported to be thorough, efficient, and likely to yield replicable results.
The funny thing about this methodology is that at any single given point in its process, it is utterly familiar to statisticians. Logistic regression here; sure, feeling right at home. Model selection criteria there; got it. Assessment of correlations among predictor variables; of course. However, when you put all the pieces together and take it from A to Z, the whole is not familiar at all. On two occasions, with two large corporations, sat with large statistics groups and heard Dr. Harrell walk through his process. I've left the room watching audience members nodding their heads and saying the good Doctor had made a lot of convincing points. But would they incorporate these ideas in their own work? “No, my clients would never let me.” That's why I say Harrell is highly respected yet mostly ignored.
One aspect that figures prominently in Harrell's workflow is inclusion of spline expansions to enable simple non-linearity for continuous predictors. In over ten years of work within the large statistical group, I had seen lots of logistic regression models, but not one included a spline expansion.
So it was interesting indeed when I looked more closely at the paper which “scored one for our side.” It didn't give a lot of detail about how the logistic regression models were fitted, but they contained spline expansions. It seemed extremely likely that the creators of the models were aware of Harrell's process. At any rate, by using splines they were out of step with typical practice.
In fact, this paper wasn't a win for “our side,” if “our side” refers to statisticians who fit models in the typical manner. It was a win for something completely different, neither ML nor typical statistical practice. It was a win for what statistical modeling could be, but rarely is. I believe my colleagues were a little quick to accept this paper as representing their practice. It suggested a middle way between traditional statistical modeling and ML, a way which can predict as well as ML, can be as flexible in many respects, and can be more informative to boot. If the data is appropriate.
I intend to write a follow-up essay soon suggesting why I think Harrell's approach works well for most clinical data sets, so stay tuned. I'll also offer some thoughts on a way to categorize statistical and ML modeling methods according to their behavioral properties, to aid in picking the right method for the data set at hand. We really shouldn't be organized in tribes at all; there is no best modeling method, there is only a method that is best at exploiting the features of a particular data set. What are those features? I'll offer my suggestions soon.
from bvideo
2024 覺行寺新春萬燈供佛祈福法會
from bvideo
2024年9月 舊金山華藏寺 南無地藏王菩薩聖誕法會
from bvideo
2024年9月27日【華語電視】聖蹟寺舉行恭迎燃燈古佛佛誕法會 為世界帶來光明與吉祥
from bvideo
2024年9月27日【華語電視】聖蹟寺舉行恭迎燃燈古佛佛誕法會 為世界帶來光明與吉祥
from W nieskończoności skryta...
wygląda na to że chyba wróciłam z zaświatów obłędu do świata Nic jeszcze nie w pełni sprawna jeszcze nie w pełni sił wciąż przyczajona czekam na ten właściwy moment by wreszcie zacząć normalnie żyć
from Ábrete mundo.
Hace poco acabé la novela “Elantris”, de Brandon Sanderson y ya pude escuchar el podcast https://www.ivoox.com/elantris-brandon-sanderson-audios-mp3_rf_30156272_1.html sobre la novela, que tenía reservado para escuchar cuando me acabara el libro.
El relato me gustó mucho. Es de fantasía, pero el tipo de magia que describe me hacía pensar en que podía haber un sistema tecnológico detrás, que los aones eran una interface holográfica para para manejar un sistema informatizado oculto que manejaba algún tipo de infraestructura tecnológica planetaria. Incluso me pareció que el dios Jaddeth, en su misterioso trono subterraneo esperando para salir a a superficie, podía ser una inteligencia artificial disputando el control del sistema. Los seones también tenían pinta de ser una inteligencia artificial con un cuerpo energético o con una presencia proyectada en el mundo físico.
En el podcast se compara los aones con runas, pero creo que, tal y como los describían en la novela, se parecerían más a ideogramas chinos (cuyo origen se piensa que estuvo asociado a prácticas mágicas). En cambio, la escritura de Fjordell, que usan en la religión Shu-Dereth, me parece que recordarían más a las runas.
Las tramas políticas de la novela me parecen un mecanismo de relojería muy impresionante.
Durante la lectura, el personaje de Galladón me lo imaginaba con la cara de Morgan Freeman.
La traca final con que acaba la novela me parece quizás un poco exagerada, todo muy al filo, un poco como en una película de acción de Hollywood.
Quizás a los personajes les falte un poco de textura, seguramente porque “Elantris” fue la primera novela publicada de Sanderson, pero el autor no llega a caer en una dinámica de personajes (diálogos, comportamientos...) propia del cine comercial, un pecadillo muy frecuente en autores de ciencia ficción estadounidense.
from W nieskończoności skryta...
Nie ufam nikomu Nie wierzę już w nic Nie umiem marzyć Nie potrafię śnić Nie znam radości Nie wiem jak żyć Nie chcę już kochać Ni kochaną być...
from bvideo
走近画坛巨圣——玉花寿之王教授
from Aus Hypergrid und Umgebung
Der Singularity Viewer hat vor allem in OpenSim noch viele treue Anhänger. Was diese aber zumeist nicht wahrhaben wollen: Der Viewer ist eigentlich mausetot. Oder vielleicht eher untot. Seit 2020 sind keine neuen Binaries mehr herausgekommen. Und es werden auch keine mehr kommen. Der ganze Viewer wird nicht mehr weiterentwickelt werden.
Warum das so ist und warum das so kam, möchte ich hier erzählen.
Singularity ist eigentlich ein uralter Viewer. Vor etwa zehn Jahren wurde er von Ascent geforkt, was seinerseits ein Fork von Inertia war mit dem Ziel, den vor 14 Jahren gestarteten, aber nur kurze Zeit entwickelten Inertia in Second Life zugelassen zu bekommen.
So alt der Viewer ist, so alt ist zu erheblichen Teilen natürlich auch der Code. Und wenn man aus der Software-Entwicklung eins gelernt hat, dann ist das: Wenn Bibliotheken oder andere Abhängigkeiten, gegen die etwas entwickelt ist, aktualisiert werden, wird der Code, der gegen sie entwickelt wurde, nicht mitaktualisiert. Jedenfalls nicht, wenn es nicht unbedingt notwendig ist.
Niemand eröffnet einen Issue, weil irgendeine Abhängigkeit aktualisiert wurde, um den Code entsprechend zu modernisieren, wenn der Code auf dem Stand von vor sieben Jahren immer noch wunderbar kompiliert. Und selbst wenn, wird der Issue nicht etwa gefixt, sondern ignoriert oder mit Won't Fix geschlossen. Den Aufwand, etwas zu „reparieren“, was funktioniert, ohne daß sich sichtlich irgendetwas verbessert, macht sich kein Entwickler. Selbst wenn jemand einen Pull Request einreichen würde mit einer gründlichen Code-Modernisierung, dürften viele Kernentwickler keine Lust haben, den zu überprüfen, wenn er nichts wirklich repariert oder verbessert.
Natürlich fängt der Compiler irgendwann an, „Deprecated“-Meldungen auszugeben. Und die werden mit der Zeit immer mehr. Die werden aber geflissentlich ignoriert. Kompiliert ja und läuft hinterher auch. Also alles in Ordnung. „Deprecated“ wird von vielen Entwicklern als „stilistisch veraltet“ angesehen. Tatsächlich aber bedeutet es: „Wird demnächst nicht mehr unterstützt, also kommt in die Puschen und bringt euren Code auf Stand!“
Die ganz schlimmen Finger copy-pasten sogar Code, der deprecated ist, oder schreiben ganz neuen Code, der gleich deprecated ist, weil sie das schon immer so gemacht haben. Außerdem: Wer achtet denn beim Kompilieren darauf, was genau deprecated ist?
Eines schönen Tages dann bekommt man auf seinen Rechner per Systemupdate neue Versionen der Bibliotheken und des anderen Zeugs, gegen die man baut. Auf einmal kompiliert der eigene Code nicht mehr. Was bis gerade eben noch deprecated war, wird jetzt endgültig gar nicht mehr unterstützt.
Dann hat man als Entwickler ein Riesenproblem. Einige Entwickler erinnern sich an die „Deprecated“-Meldungen und sagen: „Hätte ich mal …“ Andere reden sich ein, daß das doch niemand hätte ahnen können, daß das mal passieren würde – nur daß eben die „Deprecated“-Meldungen genau das eben angekündigt hatten.
Gewissenhafte Entwickler würden nun eine sofortige Modernisierung ihres ganzen Code in Angriff nehmen, und zwar mit höchster Priorität. Wenn man allerdings zigtausende oder hunderttausende Codezeilen hat, ist das ein Riesenaufwand, auch ein zeitlicher.
Um trotzdem irgendwas kompilieren zu können, versuchen einige daher, auf irgendeinem Wege alte Versionen ihrer Abhängigkeiten zu installieren. Noch viel mehr Entwickler tun das aber, um die Code-Modernisierung entweder möglichst lange aufzuschieben oder ganz vermeiden zu können. Natürlich bringt auch das nur etwas bei statischen Builds, die die Abhängigkeiten nur zum Kompilieren brauchen und hinterher ohne diese Abhängigkeiten laufen. Ansonsten wäre das Ganze nämlich allmählich auch bei den Nutzern nicht mehr lauffähig.
Irgendwann kommt man dann aber an einen Punkt, an dem die alten Versionen der Abhängigkeiten des eigenen Code auf der eigenen Maschine nicht mehr installierbar sind, weil ihre eigenen Abhängigkeiten nicht mehr da sind bzw. per Update auf eine zu neue Version gebracht werden. Selbst dann gibt’s Entwickler, die schlicht und ergreifend ihre Maschine, auf der sie entwickeln, einfach nicht mehr updaten. Nicht, daß sie sich dann endlich mal dran machen würden, ihren Code auf Stand zu bringen. Natürlich nicht, denn seit aus „deprecated“ „nicht mehr unterstützt“ wurde, hat sich die Menge an eigentlich nicht mehr unterstütztem Code nicht verringert, sondern vermehrt, weil auch der Entwickler sich nicht aufgeschlaut hat, wie man’s denn heute macht.
Singularity ging letztlich vermutlich an zwei Abhängigkeiten zugrunde. Die eine ist die GNU Compiler Collection, kurz gcc, die andere Python. Der Python-Anteil im Singularity-Code macht zwar nur 0,6% aus, aber auch die können sich quer stellen.
Schon das ganze Jahrzehnt über gibt es Riesenärger mit uraltem Python-2-Code, von dem irgendetwas abhängt, den auf Python 3 zu bringen aber wie ein unmögliches Unterfangen wirkt. Eigentlich wäre das Migrieren von relativ aktuellem Python-2-Code, also auf dem Stand von Python 2.7, nach Python 3 nicht so überwältigend schwierig. Aber wenn etwas bis heute auf Python 2 basiert, dann basiert es wahrscheinlich auf einer ziemlich alten Version von Python 2, also Python 2.5 oder älter, das noch keine Python-3-Bestandteile hat. Und wieder hat sich niemand je die Mühe gemacht, den Code zu modernisieren, weil er ja auch unter Python 2.7 wunderbar lief. Allen „Deprecated“-Meldungen zum Trotze.
Calibre zum Beispiel, eine E-Book-Verwaltung, ist von 2006, also aus der Zeit von Python 2.5 und somit der Zeit vor Python 3. Python 3.0 war im Dezember 2008 erschienen; zeitgleich kam Python 2.6 raus, das schon Elemente von Python 3 enthielt. Schon im Juni 2009 kamen Python 3.1 und Python 2.7 hinterher. Seitdem wurde aber höchstwahrscheinlich am Bestandscode von Calibre genau gar nichts modernisiert, nicht nach Python 3.1, nicht mal nach Python 2.7.
Auch noch 2008 kündigte die Python Foundation an, die Unterstützung von Python 2 im Jahr 2015 einzustellen. Python-Entwickler hatten sechs Jahre Zeit, ihre Projekte auf Stand zu bringen. Sehr viele haben genau gar nichts gemacht. Anfangs hatten sie keine Eile, dann vergaßen sie es ganz einfach und entwickelten mitunter lustig auf dem vollkommen veralteten Stand von Python 2.5 oder älter weiter, und als der Termin vor der Tür stand, hätte die Zeit nicht mehr gereicht. Das betraf durchaus wichtige, kritische Sachen, auf die nicht verzichtet werden konnte. Also wurde der Support von Python 2 bis 2020 verlängert. Dann sollte aber Ende sein.
Einige drückten nun auf die Tube. Spätestens ab 2018 saßen ihnen einige Linux-Distributionen im Nacken, die sagten, wenn sie nicht auf Python 3 gehen, fliegen ihre Projekte raus.
Schließlich fingen 2020 Linux-Distributionen an, das ab Jahreswechsel 2019/2020 offiziell nicht mehr unterstützte Python 2 aus ihren Softwarequellen zu entfernen. Damit mußten natürlich auch diejenigen Pakete aus den Quellen geworfen werden, die von Python 2 abhingen. Die Entwickler wurden angeschrieben; sie sollten entweder ihre Sachen schleunigst auf Python 3 bringen, oder die werden aus den Quellen entfernt. Einige reagierten wieder erst, als große Distributionen ankündigten, ihre Kreationen aus Versionen mit Langzeitunterstützung (Debian stable, Ubuntu LTS etc.) zu entfernen.
Das betraf letztlich nur noch sehr wenige Projekte. Aber Calibre betraf es sehr wohl. Der einzige Entwickler fing daraufhin an zu jammern, daß Calibre über eine halbe Million Codezeilen auf Python-2-Stand hatte, die könne er nie und nimmer auf Python 3 bringen. Das klang schon sehr danach, als wenn das ganze Ding tatsächlich immer noch praktisch komplett auf Python-2.5-Stand war, also genau überhaupt nichts aus Python 3 eingebaut hatte. Und der Entwickler schlug vor, er könne statt dessen die Weiterentwicklung von Python 2 übernehmen, dann könnten die Distributionen das weiter in ihren Quellen behalten, und er bräuchte Calibre nicht aufwendig zu sanieren. Das schien ihm wirklich der geringere Aufwand zu sein. Allerdings lehnten die Distributionen das ab.
Letztlich konnte Calibre nur weiter bestehen, indem es bis September 2020 doch noch auf Python 3 aktualisiert wurde. Daran wirkten wohl einige Freiwillige mit. Außerdem wurden in diesem Zuge den Entwicklern von Plugins, die immer noch auf Python 2 aufbauten, Pistolen auf die Brüste gesetzt: Wenn die nicht auch auf Python 3 aktualisieren, fliegen ihre Plugins raus. Einige Plugins, die schon längst nicht mehr weiterentwickelt wurden, sind wohl tatsächlich geflogen.
Auch wenn bei Singularity nun der gesamte Python-Anteil auf dem Stand von Python 2.5 sein, also keinerlei Spuren von Python 3 enthalten sollte, ist Python längst nicht das größte Hindernis. Das ist vielmehr gcc, denn Singularity ist größtenteils in C++ geschrieben.
Auch C++ ist nicht TeX, wo 46 Jahre alter Dokumentencode heute noch kompiliert und das daraus resultierende Dokument haargenau so aussieht, wie wenn es vor 46 Jahren kompiliert worden wäre. Es ist auch nicht LaTeX, wo das mit einer Zeitdifferenz von 40 Jahren noch funktioniert. C++ entwickelt sich nicht nur weiter, es baut auch mal Sachen um und schmeißt alte Sachen raus.
Das heißt: Knapp vier Jahrzehnte alter C++-Code kompiliert heutzutage nicht mehr unbedingt. Und schon zehn Jahre alter Code kompiliert heute nicht mehr, wenn er nur ausgefuchst genug ist.
Genau deshalb gibt es ja „Deprecated“-Meldungen. Kaum ein Entwickler folgt irgendeiner Mailinglist, die Änderungen in Compilern ankündigt. Aber was beim Kompilieren passiert, das sehen die meisten. Also wird genau da darauf hingewiesen, daß Teile des Code so veraltet sind, daß das schon kritisch wird und schleunigst behoben werden sollte. Blöderweise ignorieren Entwickler meistens kleinere Mengen an „Deprecated“-Meldungen als harmlos und zu vernachlässigen. Und wenn die Meldungen sich häufen, wird es ihnen zuviel Arbeit, endlich was dagegen zu machen.
Durch sein Inertia-Erbe ist der Code von Singularity zu erheblichen Teilen auf dem Stand von Mitte der 2000er, also bestenfalls dem von C++03. Auch dieser Code wurde nie auf einen neueren Stand gebracht.
Der C++-Compiler in der Collection heißt g++. Mit g++ 4 war der Code noch kompilierbar, wobei wahrscheinlich neuere Versionen jede Menge „Deprecated“-Meldungen ausgaben. Aber schon der g++ 5 konnte den Code nicht mehr in etwas Ausführbares umsetzen.
gcc 5 kam schon im April 2015 raus, aber Singularity wurde auf einem Ubuntu-LTS-Rechner kompiliert. Ubuntu 14.04 LTS „Trusty Tahr“ kam noch mit gcc 4.8.2. Mit dem Upgrade auf Ubuntu 16.04 LTS „Xenial Xerus“ wurde das aber ersetzt durch gcc 5.3.1. Und schon war Singularity nicht mehr kompilierbar. Das war schon vor gut neun Jahren.
Statt jetzt aber den veralteten Code auf Vordermann zu bringen, ging man einen einfacheren Weg – und bastelte irgendwie wieder gcc 4 auf die Maschine drauf. Aber nicht, um sich für die Code-Modernisierung die nötige Zeit zu verschaffen, sondern wohl eher in der Hoffnung, damit den Code überhaupt nie modernisieren zu müssen. Dahinter stand auch die Hoffnung, daß es bis in alle Ewigkeit möglich sein würde, gcc 4 unter Ubuntu zu installieren.
Ziemlich genau vier Jahre später wurde Singularity das letzte Mal erfolgreich kompiliert, und zwar immer noch unter demselben alten Ubuntu „Xenial“. Das war im Frühjahr 2020. Inzwischen waren Ubuntu 18.04 LTS „Bionic Beaver“ und Ubuntu 20.04 LTS „Focal Fossa“ erschienen. Es dürfte klar sein, warum der Rechner, auf dem Singularity kompiliert wurde, nicht auf eine der beiden Versionen upgegradet wurde. Vielleicht hatte man festgestellt, daß die alten gcc-4-Pakete schon unter „Bionic“ nicht mehr installierbar waren.
Normalerweise hätte spätestens 2018 die Aussicht, daß gcc 4 irgendwann nicht mal mehr nachinstalliert werden kann, auch nicht aus losen Paketdateien, der Tritt in den Hintern sein müssen, der dazu hätte führen müssen, den Code von Singularity endlich auf einen Stand zu bringen, der nicht schon seit mindestens drei Jahren völlig veraltet war. Passiert ist aber wieder genau gar nichts. Man hatte ja Ubuntu „Xenial“, das lief, da war gcc 4 installiert, Singularity kompilierte, alles war gut.
Wie gesagt, bis Frühjahr 2020. Da wurde noch einmal eine neue Release-Versionen kompiliert, 1.8.9, die erstmals Bakes-on-Mesh neue Beta-Versionen kompiliert. Etwas später folgten ein paar neue Beta-Versionen. Wahrscheinlich ist dann irgendwas mit dem Rechner passiert, auf dem kompiliert wurde. Zu diesem Zeitpunkt dürfte das der einzige noch verfügbare Rechner mit Ubuntu „Xenial“ gewesen sein, auf dem also gcc 4 installierbar war.
Aktuell war damals ja Ubuntu „Focal“, das gcc 9.3.0 mitbrachte und als erstes Ubuntu LTS kein Python 2 mehr. Der Support für Ubuntu „Xenial“ lief noch bis April 2021, aber ich glaube nicht, daß Ubuntu für diese alte Version noch Images zum Installieren zur Verfügung stellte. Hätte also der Rechner, auf dem Singularity kompiliert wurde, neu aufgesetzt oder durch eine andere Maschine ersetzt werden müssen, hätte kein Ubuntu mehr installiert werden können, mit dem Singularity hätte kompiliert werden können.
Ein mögliches Szenario ist also, daß irgendetwas mit dem Entwicklungsrechner bzw. dem Rechner, auf dem kompiliert wurde, passierte. Irgendetwas, das die Weiterverwendung der alten Ubuntu-Installation unmöglich machte, z. B., daß die Festplatte ihren Geist aufgab.
Wie auch immer: Der Rechner stand so, wie er war, nicht mehr zur Verfügung. Es brauchte Ersatz. Dieser Ersatz hätte aber Ubuntu „Xenial“ von 2016 als System gebraucht. Schon 2020 hätte man das Problem gehabt, daß man „Xenial“ nicht mehr hätte installieren können, sofern man kein entsprechend altes Installationsmedium mehr hatte und auch kein ISO-Image, um eins zu bauen. Und wer bewahrt so etwas auf? Schlimmstenfalls hatte man auch die gcc-4-Pakete verloren oder verschlampt und konnte die auch nirgendwo mehr herunterladen, weil Ubuntu „Trusty“, von dem sie kamen, seit 2019 nicht mehr unterstützt wurde.
So hatte man keinen Rechner mehr, auf dem Singularity hätte kompiliert werden können. Man hatte auch keine Möglichkeit mehr, einen Rechner aufzusetzen, mit dem man Singularity hätte kompilieren können. Schon die eh notwendige Weiterentwicklung, um mit Neuerungen in und neuen Anforderungen von Second Life Schritt zu halten, schaffte man 2020 gerade noch so mit Ach und Krach. Selbst die Website war damals schon in Teilen veraltet; das Versprechen, die Singularity-Erklärseite auf den damals aktuellen Stand von Version 1.8.9 zu bringen, wurde nie eingelöst; sie ist bis heute auf dem Stand von Singularity 1.7.0. Da war also auch nicht daran zu denken, den Code von Singularity so aufzufrischen, daß er wieder kompilierbar wäre.
Inzwischen ist 2024. Die letzte Ubuntu-Version, auf der Singularity hätte kompiliert werden können, kam vor zehn Jahren heraus und wird seit fünf Jahren nicht mehr unterstützt. Auch andere Linux-Distributionen unterstützen gcc 4 schon lange nicht mehr. Und selbst die aktuellsten Singularity-Binaries starten, obwohl sie weitgehend statische Builds ohne großartige Abhängigkeiten sind, unter mehr und mehr Linux-Distributionen inzwischen überhaupt nicht mehr.
Vielleicht hätte man noch eine Chance, Singularity unter Arch Linux oder einem seiner Derivate zu kompilieren, ohne den Code anfassen zu müssen. Im Arch User Repository gibt es sehr viele Sachen auch noch in wirklich uralten Versionen, so auch gcc 4.9 und Python 2.7.18. Aber das wäre wirklich für sehr weit Fortgeschrittene – und der Sprung von Ubuntu nach Arch wäre heftig – und würde auf eigene Gefahr laufen, weil beides von den jeweiligen Anbietern schon ewig nicht mehr unterstützt wird.
An eine Weiterentwicklung von Singularity wäre aber selbst dann nicht zu denken. Inzwischen ist sehr viel passiert. Singularity unterstützt noch Windlight, das inzwischen nicht nur in Second Life, sondern auch fast im gesamten Hypergrid durch EEP ersetzt wurde; das wiederum unterstützt Singularity noch nicht. Von Physically-Based Rendering will ich gar nicht erst anfangen.
Es wäre allerdings reiner Wahnsinn, das in den Singularity einbauen zu wollen, wie er jetzt ist. Schon vor acht Jahren ging der Code von Singularity nur noch mit Tricks und unter Verwendung eines veralteten Compilers zu kompilieren. Wenn überhaupt, muß der ganze Code als allererstes um mehr als ein Jahrzehnt modernisiert werden. Ansonsten wäre der Einbau neuer Features wie ein nagelneuer Anbau an einem Gebäude, das seit acht Jahren wegen Baufälligkeit gesperrt ist.
#OpenSim #SecondLife #FürFortgeschrittene #Software
from Ábrete mundo.
Es un engorro que cada administración tenga una sede electrónica con sus propios requerimientos, en unas puedes entrar con dificultad y en otras no porque tienen sus propios requerimientos técnicos. En unas comunidades autónomas los operadores jurídicos pueden relacionarse con los juzgados por la plataforma Lexnet y en otras tienen su propia plataforma, que exige una inscripción independiente del profesional. Dificultades que generan un reflejo centralista. Pero también es razonable que cada administración quiera controlar su presencia en red y sus datos. Todo un dilema.
¿No sería lógico aplicar un sistema de federación a las plataformas públicas, al estilo #Fediverso? Un software de la UE, más o menos abierto, federable e interconectable, que pudieran utilizar para crear su sede electrónica la Comisión Europea, los estados centrales, los estados federados, las regiones, las comunidades autónomas, los landers, los cabildos, las diputaciones, los ayuntamientos, los poderes judiciales, los sistemas de Seguridad Social, etc. Así se podría hacer compatible una mayor accesibilidad de las plataformas públicas y sedes electrónicas, a la vez que las administraciones tendrían el control de su ciberespacio.
from Aus Hypergrid und Umgebung
Sowohl Second Life als auch OpenSimulator bereiten sich auf die Einführung von PBR vor. Ebenso tun es Third-Party-Viewer wie der Firestorm. PBR steht für Physically-Based Rendering, überarbeitet das Rendering komplett, macht ganz neue Dinge möglich – und sorgt gleichzeitig für jede Menge Drama und Boykottankündigungen.
Die grundlegendste Frage, die sich hier stellt, ist: Was ist PBR eigentlich, und was macht es?
PBR ist der Nachfolger des Erweiterten Beleuchtungsmodells (Advanced Lighting Model, kurz ALM). Das gibt es an sich schon viele Jahre. Es ändert nicht nur das Verhalten des Lichts, sondern es macht auch Schattenwurf, Ambient Occlusion und andere Tricks möglich.
Zwei andere Features, die vom ALM verbessert werden, bemerkt man in OpenSim nur selten, weil sie gerade bei den riesigen Mengen an aus Second Life geklautem Content beim Wiederzusammenbauen nicht wieder eingebaut wurden. Das eine sind Normal Maps, etwas ähnliches wie Bump Maps, die Oberflächenunebenheiten generieren können, ohne das 3D-Modell darunter komplexer zu machen. Das andere sind Specular Maps, die bestimmen, wo eine Oberfläche wie stark glänzen kann. Ich glaube, vielen ist gar nicht bewußt, daß Oberflächen in OpenSim überhaupt glänzen können, zumeist auch, weil sie nie an glänzenden Oberflächen vorbeikommen.
Das klingt zunächst einmal ganz toll. In der Praxis ist das ALM aber hoffnungslos veraltet. Es wird eh nur von wenig Content unterstützt. Und seien wir mal ehrlich: Wenn beim ALM der Glanz einer Oberfläche auf „gering“ gestellt ist, dann ist das nicht seidenmatt, sondern Plastikglanz. Früher war das mal spektakulär; heute gibt es nur noch wenige wie Luna Lunaria, die das gut aussehen lassen können, weil es einfach nicht mehr zeitgemäß ist.
PBR ist, was aktuelle Videospiele anwenden. Es ist auch Bestandteil des glTF-Standards, der sich generell in neuen virtuellen 3D-Welten mehr und mehr durchsetzt. Zu dem soll Second Life kompatibel werden, was bedeutet, daß auch OpenSim nachziehen wird.
PBR ist eine Abkehr von solchen generischen Tricks wie oben erklärt. PBR ist keine grobe Emulation, sondern Simulation. PBR hat als Ziel, reale Materialien und reale Oberflächen virtuell sehr viel realistischer darzustellen. Metall soll wie Metall wirken, Holz wie Holz und nicht mehr wie unrealistisches Plastik mit Aufdruck.
Im Second-Life-Wiki gibt es ein schönes Vergleichsbild: Links sieht man das ALM, rechts PBR. Auf einmal wirkt Metall wirklich wie Metall, Glas wie Glas und der seidenmatte Lack der Lampe wie seidenmatter Lack. Und wenn man mal bei den Metallbügeln genau hinguckt, sieht man: Die reflektieren tatsächlich die Umgebung, also die Bodentextur, das Wasser und den Himmel. Und wenn man ganz genau hinguckt, sieht man: Die reflektieren sogar die anderen Teile der Lampe! Die glänzen nicht mehr irgendwie. Das ist ein Look, den einige vielleicht noch von früher von PoV-Ray kennen oder vielleicht noch von den Renderingfunktionen in professionellen 3D-CAD-Systemen. Nur mußte damals noch die Einkern-CPU minutenlang unter Vollast laufen, um ein einzelnes Bild mit einer Auflösung von 800×600 Pixeln zu rendern, auch weil man das noch nicht auf der GPU konnte. Ganz so superdetailliert wie damals ist PBR nicht, dafür aber läuft es in Echtzeit.
Das Ganze funktioniert unter anderem mit einem komplett neuen Beleuchtungsmodell. Die Art und Weise, wie sich Licht in-world verhält und mit Oberflächen interagiert, wird nun detailliert berechnet. Es geht z. B. nicht mehr darum, daß etwas glänzt, sondern wie es glänzt. Es gibt keinen generischen Irgendwie-Ganz mehr, sondern Reflexionen. Im Zusammenhang mit PBR wird auch gern genannt, daß damit sogar Spiegel möglich sein werden. Das heißt, superrealistische Spiegel, in denen ein Avatar sich detailliert selbst sehen kann, gehen auch mit PBR nicht, aber Spiegel können Avatare in PBR reflektieren.
Um PBR wirklich zur Geltung zu bringen, braucht es allerdings auch entsprechenden Content. PBR kann nicht auf vorhandene Sachen seine realistischen Materialeffekte anwenden, nicht auf Objekte, die die alten Specular Maps und Normal Maps haben – das System wird jetzt als „Blinn-Phong“ bezeichnet –, und schon gar nicht auf Objekte, die nicht einmal das haben.
Bisheriger Content wird natürlich auch mit PBR weiterhin angezeigt, und der Glanzeffekt, so vorhanden, verbessert sich im Vergleich zu heute, weil auch ältere glänzende Objekte mit Reflexionen arbeiten.
Um PBR wirklich zur Geltung zu bringen, braucht es allerdings zusätzliche Texturen, und zwar vier davon, von denen drei die Oberflächenbeschaffenheit beeinflussen. Neu ist dabei auch, daß die Glanztextur, also die bisherige Specular Map, jetzt nicht mehr nur schwarz-weiß kann, wobei heller gleich mehr Glanz ist, sondern mittels Farben auch die Art des Glanzes beeinflußt.
PBR hat seinen eigenen Satz an Texturen. Das heißt, die eine Textur, die man von den meisten Objekten kennt, die braucht es für PBR noch einmal separat plus die drei Materialtexturen.
Eine und dieselbe Oberfläche kann in Zukunft bis zu sieben Texturen haben. Zum einen sind das der eigentliche „Aufdruck“ plus die beiden Blinn-Phong-Texturen, also Normal Map und Specular Map. Die werden nur gerendert, wenn es kein PBR gibt, und von PBR-Viewern im PBR-Modus ignoriert. Und das Rendern der Normal Map und der Specular Map läßt sich im Viewer ja heute schon abschalten, was auch in Zukunft möglich sein wird. Dazu kommt noch einmal der eigentliche „Aufdruck“ plus die drei Materialtexturen für PBR. Die werden umgekehrt von PBR-Viewern im PBR-Modus gerendert und ansonsten ignoriert, zumal Nicht-PBR-Viewer mit diesen Texturen eh nichts anfangen können.
Zu keinem Zeitpunkt muß der Viewer also sieben Texturen wuppen. Und PBR-Content bremst Nicht-PBR-Viewer bzw. PBR-Viewer mit abgeschaltetem PBR nicht mehr aus als gleichartiger Nicht-PBR-Content.
Allerdings wird Nicht-PBR-Content mit PBR nicht mehr haargenau so aussehen wie heute. Zum einen liegt das daran, daß PBR mit mehr Farbdynamik arbeitet. Es wird also am Ende alles etwas farbenfroher aussehen, wobei das auch vom Bildschirm abhängen kann.
Zum anderen, wie schon erwähnt, reflektiert PBR nicht mehr irgendwas, sondern die tatsächliche Umgebung. Draußen wird höchstwahrscheinlich vieles blaustichig wirken. Das liegt schlicht und ergreifend daran, daß es das Blau des Himmels reflektiert. Das muß man wissen. Dann sollte man aber auch nicht versucht sein, den vermeintlichen Blaustich in den Texturen wieder zu korrigieren. Das ist dasselbe wie extrem langbeinige Avatare, bei denen die perspektivische Verzerrung durch die hoch liegende Kamera ausgeglichen wurde.
Umgekehrt ist PBR-Content nicht automatisch voll mit Nicht-PBR, also mit Nicht-PBR-Viewern und PBR-Viewern mit abgeschaltetem PBR, kompatibel. Dafür müssen die Contentschöpfer selbst sorgen, indem sie auch die ein bis drei Texturen für ohne PBR einbauen. Fehlen diese, wird PBR-Content ohne PBR einfach grau dargestellt.
Content | ohne PBR | mit PBR |
---|---|---|
Nicht-PBR-Content | ✅ | ✅ |
PBR-Content mit zusätzlichen Nicht-PBR-Texturen | ✅ | ✅ |
PBR-Content ohne zusätzliche Nicht-PBR-Texturen | grau | ✅ |
Tabelle 1: Was ohne bzw. mit PBR korrekt dargestellt wird
Übrigens wird PBR auf praktisch allen Oberflächen funktionieren – bis hin zur Bodentextur. Mit PBR wird die nicht mehr wie aufgemalt oder, salopper formuliert, „hingekotzt“ aussehen. Weil zeitgleich mit PBR auch Texturen mit einer Auflösung von 2048×2048 Pixeln eingeführt werden, werden Bodentexturen in entsprechend geeigneten Viewern auch ohne PBR besser aussehen, mit PBR erst recht. Allerdings bin ich mir nicht sicher, ob es auch für Bodentexturen Nicht-PBR-Fallbacks geben wird. Es kann also sein, daß auf Sims, die auf PBR optimiert sind, der Sim-Untergrund grau bleibt, wenn man kein PBR nutzt.
Wer aber seine Sim für PBR optimieren will, muß sich generell mehr anstrengen und einige alte Gewohnheiten ablegen. Eine davon, die die weit überwiegende Mehrheit der Simbauer an den Tag zu legen scheint, ist, Licht komplett zu vernachlässigen. Viele Simbauer haben ihre Viewer ja permanent auf Mittag geschaltet, weil der Tag-und-Nacht-Wechsel beim Bauen stört, und die Einstellung dann vergessen. Die wissen überhaupt nicht, wie ihre Sim bei anderem Licht aussieht. Das erkennt man auch daran, daß Sachen bei Nacht hell leuchten, die eigentlich gar nicht leuchten sollten, z. B. Straßen, Pflanzen oder Häuser. Etliche scheinen generell die Grafikeinstellungen ihrer Viewer dauerhaft heruntergeschraubt zu haben; vielleicht haben sie sogar die Atmosphären-Shader aus.
Wenn man dann doch die eigene Sim im Dunklen sieht, entscheidet man entweder, daß das in Ordnung geht, weil man ja noch etwas sieht, weil es im Standard-Tageszyklus nie richtig realistisch finster wird. Aber selbst wenn es doch zu dunkel wird, installiert fast niemand Beleuchtung. Statt dessen wird alles, was zu dunkel ist, auf „ganz hell“ geschaltet, also das Shading komplett abgeschaltet, so daß es dauerhaft hell leuchtet.
Ich glaube, gerade auch viele OpenSim-Nutzer wissen gar nicht, daß es in OpenSim Lichtquellen geben kann, die ihre Umgebung tatsächlich ausleuchten können – also, von der Sonne und eventuell noch dem Mond abgesehen. Das liegt nicht unbedingt nur daran, daß sie im Viewer alle Lichtquellen abgeschaltet haben, die abzuschalten gehen. Vielmehr liegt es daran, daß sie auch auf anderer Leute Sims selten bis nie Lichtquellen sehen, weil da ganz einfach gar keine installiert sind.
Straßenlaternen beispielsweise sind weit überwiegend reine Deko. Wenn man ganz viel Glück hat, glühen die Lichtquellen. Meistens sind sie komplett funktionslos, und nichts leuchtet, als wären sie kaputt. Nur in ganz seltenen Fällen erhellen sie tatsächlich ihre Umgebung. Dazu haben über 99% der Gebäude in OpenSim keinerlei wie auch immer geartete Innenbeleuchtung.
Das liegt allerdings alles auch daran, daß Beleuchtung fast immer Eigeninitiative erfordert. Leuchten gibt es viele. Aber nur die wenigsten davon geben auch Licht ab. Von denen, die in jüngster Zeit aus Second Life geklaut worden sind und auf den brandheißen Freebie-Sims angeboten werden, die nur den neuesten heißesten Scheiß anbieten, dürfte das gar keine tun – wenn es da überhaupt welche gibt. Die Kundschaft legt keinen Wert drauf, und es ist Mehraufwand, weil es nicht mit aus Second Life exportiert werden kann und per Hand eingebaut werden muß. Also baut man es nicht ein.
Noch dazu gibt es für drinnen jede Menge Tischlampen, auch einiges an Stehlampen. Deckenlampen sind aber schwer zu finden, wohl auch, weil die allermeisten Gebäude viel zu hohe Decken haben, als daß Deckenlampen noch zu sehen wären. Da ist also langes Suchen oder Eigenbau angesagt. Und je neuer „Leuchtelemente“ sind, vor allem, wenn sie aus Second Life kommen, desto geringer ist die Chance, daß sie auch tatsächlich leuchten können.
Sehr viele Gebäude aus Second Life haben ja fest installierte Deckenleuchten. Die funktionieren aber erst recht nicht. Erstens hätte die Beleuchtung wie gesagt nach dem Import händisch eingebaut werden müssen. Zweitens wirkt sich jede Lichtquelle ein bißchen auf die Performance aus. Und drittens sind genau deshalb die allermeisten fest eingebauten Deckenbeleuchtungen auch in Second Life funktionslose Dummys. Das ist besonders dann offenkundig, wenn auf Boden- oder gar Wandtexturen das Licht-und-Schattenspiel der Sonneneinstrahlung von draußen aufgemalt ist. Wo allerdings schon funktionslose Deckenlampen hängen, baut beinahe kein Simbauer jemals tatsächlich nachträglich Lichtquellen ein.
Nicht nur allerdings sieht heute schon jede Sim im Dunklen viel besser aus, wenn sie beleuchtet ist. Nicht nur werden gerade Gebäude im Dunklen benutzbarer, wenn sie beleuchtet sind. Nicht nur sieht das sehr viel besser aus als ein Gebäude, das mitsamt Inneneinrichtung auf „ganz hell“ geschaltet ist. Sondern gerade PBR steht und fällt mit Beleuchtung.
Bei PBR geht es ja um Licht und dessen Verhalten. Ohne Lichtquellen gibt es aber nur das Ambient-Umgebungslicht, das standardmäßig immer und überall da ist, je nach Tageszeit mal mehr, mal weniger. Allerdings kann PBR damit wenig anfangen, und die Auswirkung von Ambient-Licht wird in PBR auch reduziert. Was mit PBR draußen also spektakulär aussieht, sieht in Gebäuden grau und stumpf aus, weil mit PBR im Gegensatz zu heute mit und ohne ALM das Sonnenlicht nicht mehr durch Gebäudewände und -decken dringt und in der Hütte sonst keine Lichtquelle installiert ist.
Höchstwahrscheinlich – hoffentlich – wird PBR mit einer häßlichen Nebenwirkung des ALM aufräumen. Und das sind Oberflächen, zumal völlig undurchsichtige, undurchscheinende Oberflächen wie Ziegelmauern, die von einer Lichtquelle von hinten beleuchtet werden. Das führt dann dazu, daß bei einem Gebäude, das von innen beleuchtet ist, auch die Außenmauern stellenweise leuchten.
Irgendwo habe ich mal gelesen, daß, wenn, dann ganze Sims tutto kompletto mit allem drauf auf PBR ausgelegt werden müssen, weil es sonst kacke aussieht, weil selbst das Aufeinandertreffen von PBR und Blinn-Phong zu inkonsistent wirkt. Mal ehrlich – selbst heute gibt es schon Sims, auf denen aufwendig gestaltete Objekte mit dem vollen Blinn-Phong-Programm auf Gebäude mit aufgemalten Schlagschatten treffen. Und in OpenSim kann daneben durchaus ein Prim-Gebäude auf dem Stand von 2007 mit gekachelten Meterwaretexturen stehen. Da jammert niemand, weil man es gar nicht anders kennt.
Im Zuge der Einführung von PBR haben Linden Lab und das Firestorm-Team sich darauf geeinigt, mit Version 7 des offiziellen Second-Life-Viewers und des Firestorm das ganz alte Beleuchtungsmodell abzuschaffen und ALM permanent zu aktivieren. Das hat nicht so sehr den Hintergrund, daß dann nicht drei Beleuchtungsmodelle gepflegt werden müssen.
Viewer-Version | ohne ALM | mit ALM | PBR |
---|---|---|---|
SL/Firestorm 6 | ✅ | ✅ | ❌ |
SL/Firestorm 7 | ❌ | ✅ | ✅ |
Tabelle 2: Verfügbare Beleuchtungs- und Renderingmodelle je nach Viewer-Version
Vielmehr geht es darum, Contentschöpfer davon abzubringen, ihre Kreationen vermeintlich auf absolute Kartoffelrechner auszulegen, auf denen mit ALM und Bumpmapping keine vernünftigen Frameraten möglich sind, wo das also alles abgeschaltet ist. Die Sache ist nur die: Die Produkte sollen natürlich trotzdem toll aussehen, und zwar auf jeder Hardware. Dazu gehören auch Oberflächendetails, denn die Konkurrenz hat die ja auch. Und die sollen bitteschön auch noch auf der letzten Kartoffel zur Geltung kommen.
Wenn man aber keine Normal Maps verwenden will, weil zuviele potentielle Kunden zu schwache Maschinen haben, um sie darstellen zu lassen, gibt es dafür nur eine Lösung. Und die ist, die Oberfläche selbst detaillierter zu modellieren, also, die ganzen Unebenheiten und Details tatsächlich ins Mesh einzuarbeiten. Allerdings werden dadurch die Modelle sehr viel komplexer, was sich letztlich negativ auf die Performance auf allen Maschinen auswirkt – bis hin zu Assetserver und Regionserver.
Um diese Unsitte zu bekämpfen, soll sowohl im offiziellen Second-Life-Viewer als auch im Firestorm Viewer das unterste Ende der Grafikeinstellungen abgeschafft werden. Damit soll Bumpmapping attraktiver werden als z. B. das Ausmodellieren zahlloser Schraubenköpfe mitsamt Schlitz. Das ist letztlich eine der Maßnahmen, die Linden Lab ergreift, um Second Life wieder wegzubekommen von den immer detaillierteren, immer komplexeren Meshes.
Eins ist ganz klar: PBR wird deutlich mehr Leistung brauchen als das ALM.
Aber: PBR-fähige Viewer, zumindest der offizielle Second-Life-Viewer und der Firestorm, werden gleichzeitig auch in die Lage kommen, mehr Leistung abzurufen als heute.
Machen wir uns nichts vor: Das ALM ist nicht unbedingt sehr performant. Gerade Windows-Nutzer, die nicht so etwas wie Rainmeter im Blick haben, sehen allerdings nicht, wie ihr Viewer ihre Maschine auslastet. Und ein halbwegs leistungsfähiger Rechner mit ein paar mehr CPU-Threads und einigermaßen Grafikpower wird tatsächlich vom Viewer kaum in Beschlag genommen.
Das liegt schlicht und ergreifend daran, daß die Viewer heutzutage in einem Punkt immer noch in den 2000er Jahren feststecken: Sie können kein Multithreading. Sie nutzen immer nur einen einzigen CPU-Thread und packen da dann alles auf einmal drauf. Und unterm Strich hängt in einem Second-Life-/OpenSim-Viewer immer noch viel von der CPU ab, und die GPU kümmert sich allenfalls um die grafische Umsetzung des Ganzen. Letztlich hat die GPU häufig schon deshalb wenig zu tun, weil der eine völlig überlastete CPU-Thread nicht damit hinterherkommt, ihr zu sagen, was sie tun soll.
Deswegen wundern sich immer wieder Leute, wenn der Einbau einer stärkeren GPU in Second Life oder OpenSim nichts brachte, weil der tatsächliche Flaschenhals das Single-Threading ist, also im Grunde die CPU-Taktfrequenz, und schon die alte GPU kaum ausgelastet war.
Die PBR-fähigen Versionen des offiziellen Second-Life-Viewers und des Firestorm werden aber multithreadingfähig. Die werden sich auf Mehrkern-CPUs über die Kerne und Threads verteilen können. Neben PBR ist ein Grund dafür, daß man sich nicht mehr auf weiter steigende Taktfrequenzen verlassen kann, die ja schon seit Jahren stagnieren. CPU-Mehrleistung kommt heutzutage nur noch aus mehr Kernen. Davon hat aber Software nichts, die eh nur mit einem Thread auf einem Kern läuft.
Die Einführung von Multithreading ist als Schritt nicht nur konsequent, sondern eigentlich längst überfällig. Für die Performance wird das ein Quantensprung sein: Schon wenn man eine AMD-Mittelklasse-CPU mit vier Kernen, also acht Threads hat, steht dem Viewer in Zukunft die achtfache CPU-Leistung im Vergleich zu heute zur Verfügung.
Wohl schon im unteren Midrange-Bereich wird der zusätzliche Berechungsaufwand durch das Multithreading aufgefangen. Wer von ALM auf PBR umsteigen will, dürfte selbst in einer PBR-lastigen Umgebung keine nennenswerten Performance-Einbußen spüren. Wer vorher kein ALM nutzte, es aber aufgezwungen bekommt, für den sollte sich performancemäßig auch nicht viel ändern, derweil aber alles schicker aussieht. Wer vorher schon das ALM aktiv hatte und dabei bleiben will, für den wird der Viewer definitiv sogar schneller. Partys werden nicht mehr so schnell zu Diashows, und gerade auf Partys gibt es wenig Anlaß, PBR zu aktivieren, so, wie heute kaum jemand auf Partys Schatten an hat. Und wenn keine Party ist, kann man vielleicht eher mal Schatten dauerhaft eingeschaltet lassen.
Ein bißchen oberhalb, und da reden wir noch nicht von High-End, kann es sogar durchaus passieren, daß der Viewer mit PBR sogar schneller wird als vorher mit ALM oder mit ALM schneller als vorher ohne. Tatsächliche High-End-Gaming-Maschinen werden von den PBR-Versionen definitiv profitieren – nicht nur optisch, sondern auch in der Performance, weil der Viewer endlich so schnell wird, wie er gemäß verbauter Hardware eigentlich schon immer hätte sein müssen.
Das bedeutet natürlich auch, daß andere Alternativviewer gegenüber dem Firestorm ins Hintertreffen geraten, wenn sie nicht auch Multithreading einführen oder schon unterstützen.
Für die Zukunft sind weitergehende Einstellungen für PBR geplant, mit denen der Leistungsbedarf detaillierter geregelt werden kann.
Nun kann man sich fragen: Wenn sich das alles so toll liest, dann sollte doch binnen kürzester Zeit alles und jeder auf PBR upgraden, oder? Wo ist das Problem?
Das Problem fängt damit an, daß PBR eben sehr viel mehr Rechenaufwand bedeutet. Und längst nicht jeder hat einen Rechner, der das auffangen kann.
Zunächst einmal gibt es Leute, die virtuelle 3D-Welten mit Uralt-Hardware nutzen. Eine Statistik vom August 2023 ergab, daß unter den Firestorm-Nutzern mit Laptops einer von 40 eine CPU von vor 2012 nutzte. Und wer so eine alte Maschine nutzt, der tut das nicht aus Gründen der Nachhaltigkeit, sondern der kann sich selbst einen auch nur ein bißchen neueren Gebrauchtrechner nicht leisten. Häufig sind die betreffenden Rechner schon damals keine Gamingmaschinen oder Workstations gewesen, sondern billige Lowend-Consumer-Maschinen, die schon neu kaum für virtuelle 3D-Welten geeignet waren. Deren Nutzer haben wahrscheinlich schon geflucht, als der Schalter für die Darstellung von Mesh entfernt wurde.
Ich kann mich noch daran erinnern, wie das Firestorm-Team die Unterstützung von 32-Bit-Windows abkündigte. Es war damals tatsächlich einiges an Gejammer zu hören von Leuten, die sagten, daß sie dann bald Second Life nicht mehr nutzen können werden, weil sie noch eine uralte 32-Bit-Kiste haben und sich seitdem nie auch nur einen gebrauchten Ersatzrechner für ca. 200 € leisten konnten. Und auf solchen absoluten Kartoffelrechnern nutzen sie dann Second Life und/oder OpenSim, und zwar nicht etwa mit dem Radegast-Textviewer, sondern mit dem offiziellen Second-Life-Viewer oder dem Firestorm.
Generell sieht es so aus, daß mindestens jeder zehnte Second-Life-Nutzer einen vergleichsweise alten Rechner nutzt, der von vornherein nur als Büro- oder Surfmaschine gebaut worden war. Die Geräte haben dann mitunter nur zwei CPU-Kerne, höchstens 4 GB RAM und einfache Intel-GMA-Onboardgrafik. In den allermeisten Fällen sind es Laptops, eine Geräteklasse, die spätestens seit den frühen 2010ern im PC-Bereich die untersten Preiskategorien belegt. Aber selbst wer einen neuen Rechner braucht, greift so manches Mal zu einem Billig-Lowend-Notebook – immer noch mit der Intention, darauf Second Life zu nutzen. Wohlgemerkt, mitunter käme man zum selben Preis an eine gebrauchte Mobilworkstation als massenhaft verfügbarer Leasingrückläufer mit massivem Preisverfall, die hier immer noch leistungsfähiger wäre.
Und weil OpenSim inzwischen längst zu Second Life für Leute, die sich Second Life nicht leisten können, geworden ist, ist der Anteil untermotorisierter Rechner in OpenSim höchstwahrscheinlich noch höher als in Second Life.
Hier hat sich längst eine laute Front gegen PBR gebildet. PBR wird mit „Peanut Butter Rendering“ übersetzt und als vollkommen unnötiger Schnickschnack bezeichnet, den kein Mensch braucht, der aber die Viewer unbenutzbar macht – und zwar auch, wenn es gar nicht eingeschaltet ist. Second Life läßt ja immer nur die drei neuesten Versionen von Drittviewern zu. Das heißt, die Zeit, die man noch hat, um Second Life mit Viewern ohne PBR zu nutzen, in denen das ALM noch abschaltbar ist, geht allmählich zu Ende. Wenn die dritte Firestorm-Version mit PBR raus ist, ist sie vorbei, und man hat nur noch die Wahl zwischen ALM und PBR. So manch ein User sieht keine Chance, bis dahin auch noch an einen leistungsfähigeren Gebrauchtrechner zu kommen. Und überhaupt ist angeblich jede neue Firestorm-Version nachweislich immer deutlich langsamer geworden als die vorige.
Dazu kommt allerdings die Annahme, daß man für Second Life und OpenSim in naher Zukunft absolute High-End-Maschinen in weit vierstelligen Preisbereichen brauchen wird, weil PBR soviel Rechenpower brauchen wird. Das hat zwei Gründe. Der eine ist, daß das Firestorm-Team selbst von „High-End-Rechnern“ schreibt, damit aber nicht dieselben Leistungsklassen meint wie die meisten anderen Leute. Und überhaupt hat die Aussage, daß auch Cyberpunk 2077 PBR verwendet, zur Implikation geführt, daß auch Second Life und OpenSim in naher Zukunft dieselben aberwitzigen Hardwareanforderungen wie Cyberpunk 2077 haben werden.
Der andere ist, daß völlig unbekannt ist, daß PBR-fähige Viewer auch mehr Hardwareleistung abrufen können werden. Viele Nutzer wissen nicht einmal, daß ihr Viewer die ganze Zeit nur auf einem einzigen CPU-Thread läuft und trotz womöglich vernehmlich fönenden CPU-Kühlerlüfters ihre Maschine nur zu einem Bruchteil ausgelastet ist. Wenn irgendwas am Anschlag läuft, ist das nur der eine Thread. Aber das weiß kaum jemand. Entsprechend weiß auch kaum jemand, daß sich die PBR-Versionen von Second-Life-Viewer und Firestorm über die CPU verteilen und ihren Leistungsbedarf aus mehreren Threads holen können werden.
Meine Prognose gerade für OpenSim ist, daß die Einführung von PBR ganz ähnlich sein wird wie die von Bakes-on-Mesh.
Schon eine ganze Weile vorher wird in Second Life darüber geredet. BoM wurde 2018 zum Thema, PBR 2022. Im Jahr darauf kam die allmähliche Einführung in Second Life und, weitestgehend unbemerkt und eher experimentell, in OpenSim. Tatsächlich gab es in OpenSim schon 2019 die ersten ein, zwei geforkten Meshbodys aus der Ruth-2.0-Familie mit BoM, während in Second Life schon die offizielle Umstellung der etablierten Bodys auf BoM angelaufen war. In OpenSim kam im Mai 2022 Roth2 v2 von den offiziellen Maintainern des RuthAndRoth-Projekts und im Juli, leider für viele der erste BoM-Body in OpenSim überhaupt, Athena 6.
Derweil ist PBR auf beiden Seiten immer noch sehr experimentell und noch kein Content zum Mitnehmen verfügbar, zumal zumindest vom Firestorm nur Entwicklerversionen PBR unterstützen. Meines Wissens ist der Cool VL Viewer der einzige, der PBR schon in einem stabilen Release implementiert hat.
Im Frühjahr und Sommer 2020 waren Firestorm 6.3.9 und Singularity 1.8.9 die einzigen Drittviewer und die einzigen OpenSim-Viewer, die BoM unterstützten. Zumindest der Firestorm war ein stabiler Release, aber leider so verbuggt, daß vor allem Simbauer beim Firestorm 6.0.2 blieben, der aber kein BoM konnte. Auch mit dem Aufkommen von Athena 6 und, einen Monat später, Adonis 4 setzte also noch nicht der BoM-Boom ein.
OpenSim selbst hatte im stabilen Release 0.8.2.1 erstmals grundlegende BoM-Features eingebaut. Die Skript-Unterstützung für BoM gab es aber erst seit der damals aktuellen Version 0.9.1.1, die immer eine Entwicklerversion blieb.
Zum damaligen Zeitpunkt wußten die meisten Second-Life-Nutzer und die allermeisten OpenSim-Nutzer noch gar nicht, daß BoM existiert, geschweige denn, was es kann und was es soll. Mit dem Windlight-Ersatz EEP war es ja ähnlich. Dasselbe trifft heute auch bei PBR zu, nur daß PBR hitziger diskutiert wird. In allen drei Fällen hieß bzw. heißt es häufig: „Das braucht sowieso keiner, und wie es jetzt ist, ist es sowieso besser.“ Und in allen drei Fällen wurde bzw. wird ein Umdenken nötig.
Ein wesentlicher Unterschied zwischen BoM und PBR ist, daß PBR heutzutage auf einige wenige Experimentalsims beschränkt ist und kaum von Viewern unterstützt wird. BoM betraf damals aber nicht Sims und statischen Content, sondern Avatare, die sich durch die Grids bewegten, also überall auftauchen konnten. Und während BoM-fähige Viewer verfügbar waren, war der populärste davon so verbuggt, daß er für viele unbenutzbar war und sich deshalb Viewer ohne BoM-Unterstützung noch wacker hielten.
Mit BoM ging es in OpenSim erst ab Herbst 2020 richtig los, als nach einer Pause von etwa einem halben Jahr endlich der Firestorm 6.4.13 erschien, der BoM konnte und den häßlichen Bug des 6.3.9 nicht mehr hatte. Für den Herbst 2024 wird auch mit dem Firestorm 7 gerechnet, der PBR einführen soll.
Was BoM anschob, waren vor allem die Werbekampagnen für Athena 6, Adonis 4 und Zubehör mit dem türkisen „Free Bakes on Mesh“-Logo. Einige, die sich beim Umzug in neue Grids neue Avatare bauen mußten und keinen Wert darauf lagen, daß ihre Avatare in allen Grids gleich aussahen, schwenkten gleich auf die neuen BoM-Bodys um. Frische Second-Life-Umsteiger nutzten die sowieso, weil sie meistens eh schon an BoM gewöhnt waren und nicht wieder zurück wollten. Außerdem hängten sich immer mehr Freebie-Shops Athena 6, Adonis 4 und das ganze Drumherum auf, um auf dem neuesten Stand zu bleiben.
Ähnliches könnte sich in diesem Herbst mit dem Erscheinen des Firestorm 7 wiederholen: Sobald PBR-Content in Second Life um sich greift, wird er von da umgehend geklaut und nach OpenSim geholt werden. Das wird höchstwahrscheinlich geschehen über zwei der aktuell populärsten Freebie-Sims, die sich damit weiter behaupten werden. Es wird einhergehen mit einer Werbekampagne für PBR, mit der es EvoX – eigentlich eine Marke, deren Eigentümer in OpenSim gar nicht vertreten ist – als Buzzword für den heißesten neuen Content ablösen soll. Dabei sehe ich bei zumindest einer das Risiko, daß die Sachen ohne Fallback-Texturen zusammengebaut werden, zum einen, um Zeit zu sparen und mehr Content in derselben Zeit zusammenbauen zu können, zum anderen, weil nicht bekannt ist, daß ohne PBR Fallback-Texturen gebraucht werden. Wenn der Zusammenbau selbst allerdings ohne aktives PBR im Viewer erfolgt, wird sofort auffallen, daß die Fallback-Texturen fehlen, weil die Objekte grau bleiben.
2021 gab es in Sachen BoM fast Stagnation. Mesh-Klamotten paßten ja gleichermaßen auf BoM- und Nicht-BoM-Versionen von Athena. Layer-Klamotten, die BoM benötigt hätten, hat seit ein bißchen Lingerie im Sommer 2020 fast niemand mehr geklaut. Höchstens gab es mal ein paar neue Köpfe, ein paar neue Skins und ein bißchen neues Make-up. Nach Bodys und Köpfen ohne BoM schien allmählich kein Hahn mehr zu krähen, aber die Vorteile von BoM wurden kaum richtig ausgereizt, zumal weder Athena 6 noch Adonis 4 out-of-the-box Alphamasken unterstützt.
Mit PBR wird es 2025 wahrscheinlich ähnlich aussehen wie mit BoM 2021 oder mit EvoX dieses Jahr: Auch wenn immer noch kaum einer weiß, was das eigentlich ist, wird es auf allem relevanten Content stehen und als Buzzword und Synonym für „der aktuell heiße Scheiß, den man einfach haben muß, weil man ohne komplett altmodisch ist“ gepusht werden bis zum Gehtnichtmehr. Allerdings werden die großen Anbieter jeweils ihr eigenes PBR-Logo machen.
Natürlich wird das alles stehen und fallen mit der Verfügbarkeit von PBR-Content in Second Life. In OpenSim selbst werden nur sehr wenige eigenen Content mit PBR-Unterstützung machen und ihn dann nur selbst vertreiben. Wahrscheinlich werden das die paar wenigen sein, die heute schon Blinn-Phong unterstützen, etwa Luna Lunaria im Payware-Bereich und Aaack Aardvark (Arcadia Shop) bei den Freebies.
Die Zweifler und Gegner wird es natürlich weiterhin geben. Bei BoM bestand der Widerstand eigentlich nur darin, nicht über den Firestorm 6.0.2 hinaus upzugraden. Zur Verwendung von BoM am eigenen Avatar ist ja niemand gezwungen. Das Gemoser über BoM-Avatare, die „komisch“ aussahen, weil BoM kein vollwertiges Fallback hat, ist verstummt, weil eh niemand für diejenigen, die keinen neueren Viewer installieren wollten, sich den Aufwand machen wollte, BoM wieder aufzugeben. Die wenigen, die heute noch den Firestorm 6.0.2 oder älter verwenden, dürften BoM-Avatare statt dessen händisch derendern, auch wenn sie dann auf Partys ziemlich einsam sein werden.
Bei PBR wird es anders gelagert sein. PBR wird wahrscheinlich sowohl Avatarausstattung als auch ortsfesten Content betreffen bis hin zu Bodentexturen. Bis eventuell auf die Bodentexturen ist nahezu vollwertiges Fallback möglich. Wo es kein Fallback gibt, sei es, weil technisch nicht möglich, sei es, weil jemand keine Lust auf das bißchen Mehraufwand hatte, werden die PBR-Verweigerer über den angeblich kaputten Content, die angeblich kaputte Sim oder gar das angeblich kaputte Grid mosern. Erst wenn sie nach ein paar Monaten begriffen haben, daß das mit PBR zusammenhängt, werden sie PBR noch blöder finden und noch mehr darüber meckern, um so mehr, je mehr PBR-Content ohne Fallback sich auf allen möglichen Sims und an allen möglichen Avataren ausbreitet.
Andererseits allerdings glaube ich, PBR-Content ohne Fallback wird kaum Verwendung finden. Das liegt ganz einfach daran, daß viele Simbauer selbst keine so leistungsfähigen Rechner haben, daß sie dauerhaft PBR einschalten würden. Wenn dann irgendetwas keine Fallback-Texturen hat, sehen auch sie es als untexturiert grau, und dann werden sie es definitiv nicht verwenden. PBR-Content ohne Fallback wird es nur auf Sims von Erbauern geben, die selbst einen High-End-Rechner haben und den Viewer auch beim Bauen immer auf Luxuseinstellungen fahren. Das sind dann nämlich die einzigen, die die fehlenden Fallback-Texturen gar nicht bemerken werden.
#OpenSim #SecondLife #FürFortgeschrittene #ContentDesign #Drama
from Marc's Blog
Geht wählen! Das ist unsere Chance Europa mitzugestalten. Und gerade in Zeiten wie diesen ist es wichtig, seine Stimme abzugeben.
🗳️ Warum wählen? → https://elections.europa.eu/de/why-vote 🗳️ Wie wählen? → https://elections.europa.eu/de/how-to-vote/de 🗳️ Wen wählen? → Wahl-O-Mat / WahlSwiper 🗳️ Wahlergebnisse → https://results.elections.europa.eu/de