gegen Null kalkuliert

Klick auf Video/Bild/Link bringt euch zur Quelle.

Vorschläge, Kommentare, Beschwerden: Als Traum formuliert an ggn0@krishty.com

Frase des Tages: (erfordert JavaScript)

< neuere Beiträge

Atlas Gets a Grip

Deutsch-Französische Freundschaft

Die Tagesschau hat einen netten Artikel darüber – in dem man auch lesen kann, wie brüchig das Ganze ist.

Corona zeigte, wie wackelig die viel beschworene Freundschaft zwischen Deutschen und Franzosen auch schnell werden kann. Kamen Franzosen zum Einkaufen, wurden sie manchmal regelrecht beschimpft, weil sie doch die "Seuche" mitbrächten. Alte Wunden brachen wieder auf und sorgen bis heute gelegentlich für Misstrauen im Miteinander.

Half Life: Source-Betamaterial

Während der Entwicklung von Half Life: Source haben die Entwickler eine stark verkürzte Version des Spiels zum Testen benutzt. Diese Testsammlung ist nun geleakt.

Cyborg

Eine Elektronikplatine aus Pilzmyzelien des Glänzenden Lackporling, den man vereinzelt an Bäumen wachsen sieht.

Die Myzelien eignen sich außerdem für Roboterhaut und Batterien. Sie sind komplett biologisch abbaubar und können nachwachsen, falls sie beschädigt werden.

The Arnold Waltz

Bevor Hey Arnold! eine Zeichentrickserie wurde, tauchte Arnold in drei Knet-Animationsfilmen auf. Einer davon lief in der Sesamstraße.

Am interessantesten fand ich aber den Abspann der Filme!

Musik von … Homer Groening? Ausführender Produzent … Lisa Groening?

Es ist wirklich eine kleine Branche …

Friday Night

59 KB JPG
>friday night >shower >shave beard >hair product >new jacket >new shoes >apply fragrance >say goodnight to parents >hide in the woods until 2am

Mainstream Commercial Nihilism

Calvin and Hobbes March 18, 1992

Moooment. Das war aber vor Burzum, oder?!

(Danke, Tombo!)

Ach, Valve

Ich kam nicht dazu, es zu posten, aber: In der Valve-Community geht gerade richtig was ab.

Offensichtlich ist ein 2016er Backup von Valves Versionsverwaltungssystem geleakt. Es ist eine Perforce-Datenbank mit einigen Hundert GiB Größe.

Und darin sind fast alle Levels, Modelle und Texturen, die Valve je gemacht hat – auch die nicht veröffentlichten!

Uns erwartet eine Lawine aus Alpha- und Beta-Artefakten aus Half Life, Half Life: Source, Half Life 2, Portal, …

Tyler McVicker geht es langsam an und beginnt mit seinem Lieblingsspiel Team Fortress 2.

tl;dr:

Endless Eight

captainsnoop

all you young anime fans with your attack on titans and your maid dragons will never know the sheer hell of the time The Melancholy of Haruhi Suzumiya went in to a time loop story arc and made the same episode 8 times and broadcast that same episode 8 weeks in a row

they didn’t just air the same episode eight times

they made the same episode 8 times in slightly different ways

different camera angles, different shots, different outfits

eight times

eight weeks

the same episode

Der Kalkurator: John Carpenter

Das neue Format steht Kalki echt gut! Er macht jetzt Werbung für Maxdome und erzählt dafür noch und nöcher über alte Filme und ihre Hintergründe.

Falls ihr das Drama dahinter nicht mitbekommen hattet: Tele5 hat sich geweigert, Kalkofes Mattscheibe über 2022 hinaus zu verlängern. Darum macht er nun neue Formate.

Für einen Euro kriegt ihr den Film nicht selbst gedreht. Nicht mal, wenn ihr John Carpenter seid!

Redditor-Nachbar

Lined up all my hot sauce collection on the staircase in my building

>Be me >Get home from a long day at work >The Redditor in my walkup decides to display his hot sauce collection for the fifth time in three months I hate it

Best of the Worst: Wheel of the Worst #24

OMG ist die Folge gut … ich habe mich fast bepisst vor Lachen als Mike die kranken alten Leute ausgelacht hat. Die Tapes sind klasse (ein Scam nach dem anderen); der Schnitt ist super (*plönk* *plönk* *plönk*); die Trivia und Referenzen hauen um (Wo war J.J. Bittenbinder an dem Abend?).

AESTHETIC

Von allen Flugsimulatoren hat Flight Action die mit Abstand schönsten Farben!



Muppets Take Fallujah




Da soll nochmal einer sagen, KI könne keine Kunst!

1988 McLaren MP4/4

Die Ingenieure zeigen ihr Schätzchen – und erzählen alte Geschichten von der Formel-1-Front. Beispielsweise, dass sie fast alles Aluminium-Beryllium (sehr leicht) aufgekauft haben, um als einzige die leichtesten Teile bauen zu können, zugleich aber auch jede Menge Wolfram (sehr schwer), um den Schwerpunkt nach unten zu verlagern. Den Schwerpunkt einen Zentimeter absenken macht die Rundenzeit 0,3 Sekunden schneller – genau wie 10 kg Gewichtsreduktion. Das haben sie via Computersimulation kalkuliert.

Der Bolide im Video gehört einem Millionär und ist voll fahrtüchtig.

Ach, RWE

Die Räumung Lützeraths war ja Popcorn pur. Höhepunkt war, als sich der Boden Lüzeraths höchstselbst an den Bullen gerächt hat:

Da hilft nur Wasserwerfereinsatz!!! Oink Oink

Auch sonst war das ein Spektakel für Postillon, TITANIC & Co.:

Jeff Bezos will auf Garzweiler II landen

TITANIC Sonntagscartoon von Teresa Habild: Von wegen nicht nachhaltig. Sobald ausgeschürft ist, entsteht hier ein Speicherbecken. Für die Wintersportbeschneiung.

Patch Day

Jeden zweiten Dienstag im Monat ist Patch Day bei Microsoft. Dann muss man sowieso neu starten, also sollte man die Gelegenheit wahrnehmen und neben Windows auch andere Treiber und Programme aktualisieren.

Windows
Patchen, patchen, patchen.
Nvidia-Treiber
Gemäß Verlautbarung wurden diesen Monat keine wichtigen Sicherheitslücken korrigiert. Aktualisiert, falls ihr bessere Leistung in neuen Spielen braucht.
Chrome
Wie immer … Sicherheitslücken, aktiv ausgenutzt, dringend patchen. About Chrome.
Chromium Ungoogled
Noch immer auf Version 108, aber in zweiter Iteration. Unbedingt patchen, um von Chromes Sicherheits-Korrekturen zu profitieren!
Thunderbird
… gibt’s nun in Version 102.6.1. Es wurde bloß eine kleine Sicherheitslücke im Drag & Drop korrigiert. HelpAbout Thunderbird sucht nach Updates.
VeraCrypt
Diesen Monat wieder nichts Neues.
Notepad++
Gibt’s nun in Version 8.4.8.
Media Player Classic Home Cinema
Nun in der sagenhaften Version 2.0.0.
VLC Media Player
Diesen Monat nichts Neues.
7-Zip
Nichts Neues.

The man who tried to fake an element

Hervorragende Dokumentation über die Entdeckung der schwersten Elemente des Periodensystems!

Im Kern geht es darum, wie jemand den Nachweis von neu entdeckten Elementen gefälscht hat. Aber eingebettet ist die Geschichte in wunderbare Erklärungen zu Physik, Technik, und Politik der Jagd nach immer schwereren Elementen.

Durch die Isotopenkarte habe ich richtig was gelernt, aber am heftigsten fand ich die Aufklärung am Ende. Betrüger sind eben immer Gewohnheitstäter, und rückblickend hätte jeder was merken müssen.

C/C++ Reserved Identifiers

Raymond Chen hat einen Artikel über die Regeln für reservierte Bezeichner in C/C++.

Die sicherlich heftigste Überraschung ist, dass man diese Name nicht mit External Linkage in eigenem Code verwenden darf:

Funktionen wie totalStuff() oder island() sind also verboten. Man kann das umgehen, indem sie in einem Namespace liegen oder komplett lokal (static) sind – aber trotzdem ist C++ echt ein Witz.

// Including this header may result in the definition
// of a function-like macro named "strategy".
#include <string.h>

// Must enclose in parentheses to prevent misinterpretation
// as function-like macro.
static void (strategy)();

BWAHAHA

Exponential Parental Childcare Responsibilities

Saturday Morning Breakfast Cereal – Ideal (2)

Wodka-Bomber

Kann man sich nicht ausdenken: Die Tupolev-22 war von den schlechten sovietischen Bomber-Entwürfen einer der allerschlechtesten. Und die Klimaanlage wurde mit Wodka betrieben. Kein Witz!

Wenn euch Technik und Hintergrund nicht interessieren, springt zumindest zum Wodka-Kapitel bei 15:48!

Soyuz-Leck

Seit einem Monat verliert die Soyuz-Kapsel an der ISS Kühlflüssigkeit; offenbar nach Kollision mit einem Mikrometeorit (<1 mm Größe). Deshalb wird nun Ersatz starten. Falls ihr so ein Leck im Weltraum schon immer mal sehen wolltet:

Ach, Smart Meter

Das Bundeskabinett hat Smart Meter gebilligt. Damit kriegen wir jetzt schönen Software-Überwachungs-Schrott in die Häuser installiert.

Zudem gibt es Zweifel, ob der Einbau von intelligenten Stromzählern bis zum kleinsten Haushalt sinnvoll ist. Für die Bedürfnisse der Netzbetreiber [Angebot und Nachfrage über dynamische Verträge besser zu organisieren] reiche es eigentlich aus, wenn zum Beispiel ein Schaltkasten am Transformator im Ortsnetz intelligent gesteuert wird, sagte Detlef Fischer vom Verband der bayerischen Energiewirtschaft.

Nein!!!

Außerdem ist die Lebensdauer der Elektronik begrenzt. Das UBA geht von durchschnittlich zwölf Jahren aus. Schweden, Finnland und Italien, die schon früh alle Haushalte mit intelligenten Stromzählern ausgestattet hatten, wechseln sie bereits ein erstes Mal komplett aus.

Planned Obsolescence im Stromnetz! Genau das brauchten wir jetzt!

Fire Youngman

Namco hat eine Live-Aufführung meines Lieblings-Songs aus Ace Combat arrangiert. (Aufnahme aus dem Spiel zum Vergleich.) Schade, dass der Bass nicht auch live gespielt wird – trotzdem bombastisch!

Wir keimen

TITANIC Postkarte „Ein frühes Weihnachtswunder“

Und, Ulrike?

Frankreich veröffentlicht einen Bericht, wonach am äthiopischen 737-MAX-Absturz nicht nur das Flugsteuersystem schuld war, sondern auch die Piloten.

Aber ich kann mich nicht drauf konzentrieren, weil mein Hirn es in dieser Stimme vorliest:

(Ganze Folge)

Und, Ulrike? Bist du auch schon mal abgestürzt?
Jedes Wochenende, Peter!

Über Technik

Zwei kurze Kommentare zu den laaangen Artikeln über Quantencomputer und KI, die ich heute geschrieben habe:

Mit Quantencomputern gehe ich immer hart ins Gericht, weil dort viel Bullshit versprochen wird. Wo aber nicht gerade Investoren um ihr Geld gebracht werden, halte ich die Forschung für äußerst wichtig – sowohl für die Grundlagen der Physik als auch für Datensicherheit in unserer Gesellschaft. Wir können gar nicht zu viel von solchen Papern haben!

Bei KI fällt mir immer ein, dass das Ego der Menschheit in den letzten Jahrhunderten viele Kränkungen ertragen musste: Kopernikus und Galilei zeigten, dass sich nicht alles um die Erde dreht. Die Entdeckung der Evolution zeigte, dass der Mensch eben doch nur ein Tier ist. Hubble zeigte, dass selbst unsere Galaxie nur eine unter Milliarden anderen ist, und die Erfindung des Klonens bewies, dass wir nicht so einmalig sind, wie wir vorher dachten.

Ich bin mir recht sicher – über 85 % – dass KI die nächste Kränkung sein wird. Die kommenden Jahrzehnte werden zeigen, dass Maschinen die gleichen Fähigkeiten entwickeln können wie Menschen. Sätze wie … aber Maschinen können nicht wirklich kreativ sein! werden genau so dämlich klingen wie Luthers so hieß Josua die Sonne still stehen, und nicht das Erdreich.

Selbst, wenn man nicht dran glaubt, sollte man sich zunehmend intensiver mit der Möglichkeit auseinandersetzen.

Wow, ChatGPT

KI hat mein Hobby wegoptimiert: Reverse Engineering.

Hier ist eine Assembler-Routine aus einem proprietären Produkt. Normalerweise brauche ich IDA (kostet mehrere Tausend Euro) oder Ghidra (wird von der NSA gepflegt) um das zu C rückzukompilieren. Auftritt ChatGPT:

Can you translate this x86 assembly to C?

CalcChecksum:
xor ebx,ebx

shr ecx,1
sbb edx,edx

@@chunk:
lodsw
add bl,al ;chk1 += byte
add bh,bl ;chk2 += chk1

add bl,ah ;chk1 += byte
add bh,bl ;chk2 += chk1
loop @@chunk

shr edx,1
jnc @@even ;do remaining odd byte

lodsb
add bl,al ;chk1 += byte
add bh,bl ;chk2 += chk1

@@even:
mov eax,ebx
ret

Here is a possible translation of the x86 assembly code into C:

unsigned int CalcChecksum(unsigned char *p, unsigned int len) {
    unsigned char chk1 = 0, chk2 = 0;
    unsigned int i;

    for (i = 0; i < len / 4; i++) {
        chk1 += *p++;
        chk2 += chk1;
        chk1 += *p++;
        chk2 += chk1;
        chk1 += *p++;
        chk2 += chk1;
        chk1 += *p++;
        chk2 += chk1;
    }

    for (i = 0; i < len % 4; i++) {
        chk1 += *p++;
        chk2 += chk1;
    }

    return (chk2 << 8) | chk1;
}

This C function should have the same behavior as the original assembly code. It calculates a checksum of a block of memory by iterating through the block in 4-byte increments and adding the individual bytes to a running total. If the length of the block is not a multiple of 4, the remaining bytes are processed one at a time. The final checksum is calculated as the sum of the two running totals.

(Drückt Strg+F5, falls ihr kein Syntax-Highlighting habt!)

Die Übersetzung ist bereits besser als bei IDA oder Ghidra, weil ich ordentliche Variablennamen bekomme. Aber dass mir erklärt wird, wie das Programm funktioniert und was es tut, ist der Hammer!

Können wir das direkt im Quelltext festhalten?

Can you improve the variable names and add comments?

Certainly. Here is a revised version of the function with more descriptive variable names and comments:

unsigned int CalcChecksum(unsigned char *data, unsigned int length) {
    // Initialize the checksum values
    unsigned char chk1 = 0, chk2 = 0;

    // Process 4-byte blocks
    unsigned int i;
    for (i = 0; i < length / 4; i++) {
        chk1 += *data++; // Add first byte to chk1
        chk2 += chk1;    // Add chk1 to chk2
        chk1 += *data++; // Add second byte to chk1
        chk2 += chk1;    // Add chk1 to chk2
        chk1 += *data++; // Add third byte to chk1
        chk2 += chk1;    // Add chk1 to chk2
        chk1 += *data++; // Add fourth byte to chk1
        chk2 += chk1;    // Add chk1 to chk2
    }

    // Process remaining bytes
    for (i = 0; i < length % 4; i++) {
        chk1 += *data++; // Add next byte to chk1
        chk2 += chk1;    // Add chk1 to chk2
    }

    // Return the combined checksum
    return (chk2 << 8) | chk1;
}

Man kann darüber streiten, ob chk1 ein guter Variablenname ist und ob die Additionen wirklich kommentiert werden müssen. Das kann man ChatGPT aber recht einfach sagen, und dann korrigiert es den Code entsprechend. Details.

Der nächste Hammer ist:

Can you generate unit tests for that?

Die Ergebnisse waren durchwachsen – GPT hat nicht verstanden, dass assert(x == y | z) aufgrund Operator-Vorrang etwas anderes ist als assert(x == (y | z)) – aber das Beste, was ich herauskitzeln konnte, war:

// Test that the checksum function returns the correct value for
// a range of different input lengths
void test_lengths() {
    unsigned char input1[] = {1, 2, 3, 4, 5};
    unsigned int expected1 = 557;
    assert(CalcChecksum(input1, 5) == expected1);

    unsigned char input2[] = {1, 2, 3, 4};
    unsigned int expected2 = 506;
    assert(CalcChecksum(input2, 4) == expected2);

    unsigned char input3[] = {1, 2, 3};
    unsigned int expected3 = 456;
    assert(CalcChecksum(input3, 3) == expected3);

    unsigned char input4[] = {1, 2};
    unsigned int expected4 = 306;
    assert(CalcChecksum(input4, 2) == expected4);

    unsigned char input5[] = {1};
    unsigned int expected5 = 256;
    assert(CalcChecksum(input5, 1) == expected5);

    assert(CalcChecksum(nullptr, 0) == 0);
}

Die erwarteten Ergebnisse sind allesamt falsch (mit Ausnahme des Tests auf leere Daten). Das war abzusehen, da Hash-Funktionen absichtlich möglichst schwierig vorhersagbar sein sollen. Tendenziell geht es aber in die richtige Richtung, und für andere Funktionen waren die Ergebnisse viel besser – selbst mit Nachkorrektur oft schneller, als sie selber zu schreiben.

Nun zur Königsdisziplin – Optimierung. Können wir das vektorisieren? Ich kenne überhaupt nur zwei Programmierer persönlich, denen das zuzutrauen wäre! (Kommentare der Kürze halber weggelassen)

Can you vectorize this using compiler intrinsics?

Certainly, here is a vectorized version of the function using compiler intrinsics:

#include <immintrin.h>

unsigned int CalcChecksum(unsigned char *p, unsigned int len) {
    __m256i vchk1 = _mm256_setzero_si256();
    __m256i vchk2 = _mm256_setzero_si256();
    __m256i vone = _mm256_set1_epi8(1);
    __m256i vp;
    unsigned int i;

    for (i = 0; i < len / 32; i++) {
        vp = _mm256_loadu_si256((__m256i *)p);
        vchk1 = _mm256_add_epi8(vchk1, vp);
        vchk2 = _mm256_add_epi8(vchk2, vchk1);
        for (int j = 0; j < 31; j++) {
            vchk1 = _mm256_permute2x128_si256(vchk1, vchk1, 0x81);
            vchk2 = _mm256_add_epi8(vchk2, vchk1);
        }
        p += 32;
    }

    unsigned char chk1 = 0, chk2 = 0;
    unsigned char temp[32];

    _mm256_storeu_si256((__m256i *)temp, vchk1);
    for (i = 0; i < 32; i++) {
        chk1 += temp[i];
        chk2 += chk1;
    }

    for (i = 0; i < len % 32; i++) {
        chk1 += *p++;
        chk2 += chk1;
    }

    return (chk2 << 8) | chk1;
}

This function processes 32 bytes at a time using AVX2 intrinsics, and produces results equivalent to the original version. Let me know if you have any questions!

Nein, das ist nicht korrekt. Aber es ist verdammt nah dran. Wahrscheinlich ist es so gut wie mein eigener erster Versuch wäre – aber es hat nur eine Sekunde gedauert statt zehn Minuten. Eine unbekannte Hash-Funktion aus Assembler nach C zu übersetzen und auf diesem Niveau mit AVX2 zu vektorisieren – das beeindruckt mich mächtig!

Nach ein paar Tagen Rumspielerei kann ich kaum genug betonen, wie viel Potential das hat. Es ist nur noch krasser wenn wir bedenken, dass diese Modelle vor einigen Jahren noch völligen Unsinn ausspuckten. Ich bin auf die Entwicklung wirklich, wirklich gespannt. Vielleicht blicken wir einmal darauf zurück wie auf die Erfindung des Internets – und ich rate den meisten Programmierern, sich schonmal zu überlegen, wie ihr Job in zehn Jahren aussehen soll.

Jung

Wette über Matrix 4

Warum steht da fünf Mal das Datum

(Danke, Eric! Nein, hätten nicht wir sein können. Ich hätte nie so viele Rechtschreibfehler unterschrieben!)

Wow, Quantencomputer

Neues zur Faktorisierung großer Zahlen (warum ich die für den einzigen echten Beweis von Quanten-Überlegenheit halte, hatte ich hier und hier erklärt):

Up to now, the largest integer factorized by Shor’s algorithm in current quantum systems is 21 [16–18]. Alternatively, integer factorization can be transformed into an optimization problem, which can be solved by adiabatic quantum computation (AQC) [19–22] or QAOA [23].

[…]

Using this [our new] algorithm, we have successfully factorized the integers 1961 (11-bit), 48567227 (26-bit) and 261980999226229 (48-bit), with 3, 5 and 10 qubits in a superconducting quantum processor, respectively. The 48-bit integer, 261980999226229, also refreshes the largest integer factored by a general method in a real quantum device.

Die größte faktorisierte Zahl auf einem echten Quantencomputer ist also nicht mehr 21, sondern 261.980.999.226.229!

Das ist noch keine Quantum Supremacy, aber wir nähern uns dem Bereich, in dem es wirklich interessant wird! Der Computer hatte 10 Qubits; für das Knacken von echter Verschlüsselung (das ich als Quanten-Überlegenheit anerkennen würde) prognostiziert das Paper, dass man mindestens 372 Qubits brauchen wird.

Fefes Update klingt nicht sehr optimistisch:

It should be noted that the paper does not claim that the proposed method is faster than classical factoring methods. When the paper talks about "resources," it omits "running time"; what is merely claimed is that the quantum circuit is very small.

The "sublinearity" means that it can be smaller in qubits than the number being factored. This is a hybrid classical+quantum method; the number N must be held on a classical computer. Based on very rough heuristics, it appears to have an exponential running time in this setting.

Demnach haben sie lediglich asymptotischen Quantenspeicherverbrauch gegen exponentielle(!) Laufzeit getauscht. Für Quanten-Überlegenheit wäre das … belanglos.

Spicy Victorian Ankle Pics

Eine professionelle Kostümschneiderin hat als Scherz ein OnlyFans eingerichtet, auf dem sie eine Woche lang pikante viktorianische Knöchel-Fotos veröffentlichte. Hier zeigt sie, wie viel Arbeit in das Projekt floss. (So viel Hingabe findet man sonst nur hinter den Kulissen von ggn0!)

Muss muss muss

(Danke, Tombo!)

Sonnenstand

Skiing schickt mir diesen Artikel, dass der kürzeste Tag zwar zur Wintersonnenwende am 21.12. ist, dass der dunkelste Morgen aber erst am 01.01. folgt.

Da finde ich dieses Foto aus der Tagesschau anschaulicher:

Analemma

Diesen scheinbaren Bahnverlauf nennt man Analemma. (Hihihihi)

Du jetzt also auch

Stuttmann Karikatur 8249

Ach, VHS

Sie haben es getan. Die Jungs von RLM haben endlich Nukie geschaut, einen der schlechtesten Filme aller Zeiten.

Aber sie haben eigentlich etwas viel Besseres gemacht: Eine Doku darüber, wie gerade der Spekulationsmarkt mit VHS-Kassetten boomt, und wie sowohl Auktionsplattformen als auch Grading-Dienstleister daran verdienen. Mega sehenswert!

Die Kassette ist nun übrigens bei 80.000 $. Save the Dodo!

Rätsel gelöst

avatar
Fighterman_FFRC

In case you don't already know, the A-Wing Starfighter from Star Wars was created by basically kitbashing two F-14 Tomcat upper fuselage together

image image image image
3:08 AM · Jan 4, 2023

Jetzt weiß ich endlich, warum mir das Ding immer so bekannt vorkam. Das erklärt auch perfekt die Schlitze! Für die, die es immernoch nicht sehen, hat es hier jemand zusammengesetzt. Und die Rückseite nutzt übrigens F-16-Teile.

Kindergeld

TITANIC Postkarte „Prost Neujahr“

Mal Joystick bauen

… Fully Functional ist leicht übertrieben, weil die Maus als Sensor fungiert und man den Spielen das beibringen muss (Axis Mapping). Nichtsdestotrotz geil!

What you’re doing

Poorly Drawn Lines – What you’re doing

ältere Beiträge >