IRC Logs for #zfx


2023-12-23

08:22:29 Magister joined the channel
08:27:26 Essex20 joined the channel
08:27:47 Essex20: Guten Morgen... Ausgeschlafen nach 11h, tat so gut. Und Muskelkater, meh :D
08:28:12 xq: moin
09:41:05 Essex20 joined the channel
11:12:39 Hannes joined the channel
11:12:50 xq: ohai
11:13:13 Hannes: 😮 🦈
11:15:54 xq: na, zufrieden mit dem anstehenden umbau in discord?
11:16:30 Hannes: ja
11:16:48 Hannes: ist was los im discord
11:19:49 xq: geht so
11:21:29 Hannes: weihnachten wirds warscheinlich etwas ruhiger
11:24:13 Schrompf joined the channel
11:34:43 Schrompf: heyho, verehrte Loggerinnen und Logger
11:35:00 Schrompf: und alle anderen, die sich irgendwo auf oder neben dem Logger-Spektrum wiederfinden
11:36:16 Hannes: bin mal einkaufen
11:36:41 Hannes: Herzlich willkommen Schrompf.
11:38:40 Schrompf: hi
11:47:33 xq: Ich bin sehr locker, aber wenig logger. Dafür viel Nogger
11:47:44 Schrompf: und ein zogger
11:50:30 xq: sowieso.
11:51:02 xq: und ziguana. die sich reimende variante ist denn geächtet
11:57:45 Schrompf: hmpf. eigentlich will ich nur allein an meinem mist rumbasteln
11:58:01 Schrompf: jetzt hab ich schon mal wieder einen gewissen impuls aufgehäuft
11:58:09 Schrompf: und nun lässt man mich nicht
12:05:28 Essex20 joined the channel
12:38:46 Essex20: warum kann sich dieses ver*"§"()!( Windows nicht endlich mal merken, dass ich den Download-Ordner eben nicht gruppiert und nach Datum sortiert haben will. Jedesmal setzt dieses versch.... OS das zurück
12:39:03 xq: tja
12:39:09 xq: selber schuld, windows zu nehmen
12:39:15 Essex20: Und das geile ist, es merkt sich nicht die Einstellung explizit FÜR den Ordner, sondern wohl irgendwie auch von WO du hinnavigierwst..
12:39:57 Essex20: Das läuft nur so nebenbei auf ner Testkiste, aber das kotzt mich jedes mal an, dass es ständig "denkt" es besser zu wissen und meine einstellungen zurücksetzt
12:40:22 Essex20: das ganze System ist so verkorkst mittlerweile, das ist nicht mehr normal. ICh frag mich echt, wie die Leute heuzutage damit +überhaupt noch produktiv arbeiten können
12:40:48 xq: unter schmerzen
12:41:30 Essex20: Seit sie mit Windows 7 dieses beschissene "bag"ging eingeführt haben für die Ansichten geht mir das schon auf die Eier
12:41:42 Essex20: kann auch Vista schon gewesen sein, diesen Krüppel hab ich nicht mal angefasst
12:44:46 joeydee joined the channel
12:44:55 joeydee: sers
12:45:29 Hannes: :smile:
12:46:31 Essex20: huhu
12:47:01 Hannes: ich erledige mal meine Pflichten
14:21:11 Schrompf joined the channel
14:42:25 Schrompf: so, 20min kurz zwischendurch und ich hab meinen schrankschnitt solidifiziert
14:42:52 Schrompf: die exakt aufeinander sitzenden einzelteile haben beim ausschneiden das Innen-Außen durcheinander gebracht
14:42:57 Schrompf: hätte man vorher wissen können
14:43:28 Schrompf: aber egal. ich hab gerade keine idee, wie ich das zuverlässig fixen soll, daher hab ich den schrank einfach auf tesla-spaltmaße gestellt
14:43:51 Schrompf: sprich: überall 1cm platz zwischen z.b. schrankflügeltür und schrank-seitenwand
14:46:24 Schrompf: und nun zu etwas völlig anderem: spaßbad mit dem kinde. bis irgendwann heute abend
15:53:19 Hannes: -O-
19:38:29 Schrompf joined the channel
19:38:33 Essex20: Da isser ja
19:48:58 Schrompf: und jetzt sitzt er, da geht nix mehr
19:54:27 Essex20: :-)
19:55:09 Essex20: Hab vorhin die beiden Folgen Continental noch geschaut. Abgesehen von der vielen Musik, die mich teilweise gestört hat weils einfach Überhand genommen hat (ausser Mitte/Ende 3. Folge, war es viel passender) war es recht gut
19:55:29 Essex20: Hat auch einige subtile Dinge für die "kommenden" Filme erklärt, was ich niedlich fand
19:56:00 Schrompf: ahja, wollt ich ja auch noch
19:56:11 Schrompf: aber ich mach erstmal noch ein bissl csg
19:56:18 Schrompf: ist xq gerade mental anwesend?
19:56:52 Essex20: Nur wenn ich das Knöpfchen drück
19:56:58 Essex20: Und die Luke aufgeht
19:57:40 Schrompf: ich hat vorhin ne idee, die ich mal an nem mathetauglichen hirn bouncen wollte
19:58:05 Schrompf: ich will drastisch fix nachbarn von beliebigen dreiecken finden
19:58:36 Schrompf: und das durchackern von dreiecken und vergleichen von punktpositionen ist halt erstmal doof quadratisch
20:00:30 Essex20: like nougat
20:03:29 xq: xqda
20:03:56 Essex20: Wat? Haste dir schon wieder einen Schlüssel aus Hähnchenknochen gemacht?!?!?
20:04:12 xq: du hast den letzten gar nicht gefunden ^^
20:05:06 Schrompf: er ist halt crafty
20:05:12 Schrompf: im beastyboy-sinne
20:05:23 Schrompf: jedenfalls:
20:05:54 Schrompf: plump nachgedacht: der schnellste container für lookup nach "ungeordneten" daten ist ne hashmap
20:08:08 xq: soweit korrekt
20:08:26 xq: was meinst du mit "nachbar"? direkt anliegend oder nur so in der gegend
20:08:32 Schrompf: ich hab mal nen hash für nen vector3 geschrieben: XYZ jeweils von $RANGE zu +-32767.0f aufgeblasen
20:08:57 Schrompf: dann integer, bits mit XOR mehrfach übern 32bit-Integer verteilt und alles ver-XOR-t, bis es nicht mehr zu erkennen war
20:09:44 Schrompf: wahrscheinlich kann man da mittels Multiplikation mit irgendner freundlichen Prime noch was rausholen an Hashqualität, aber ging erstmal
20:10:10 Schrompf: und jetzt fiel mir auf: ich kann auf die Art ja nen Hash zu nem Dreieck bilden, indem ich die drei Pos-Hashes ver-XORe
20:10:40 Schrompf: und ein Nachbardreieck hat zwei Pos von dreien gemein. Dessen Hash xor mit dem Nachbardreieck müsste... ja, was eigentlich? kann ich das irgendwie ausnutzen?
20:11:28 Schrompf: kann ich die Hashes irgendwie verminen, so dass ich bei Hash1 ^ Hash2 irgendwie am Bitmuster erkenne, dass zwei von drei Pos-Hashes darin identisch sind?
20:13:10 Schrompf: oder anders: kann ich anhand des Hashes der Kante (Ecke1 ^ Ecke2) irgendwie einen Lookup machen und fix zu allen Hashes finden, die den Hash xor einen dritten PosHash haben?
20:13:25 Schrompf: ich hab das nagende Gefühl, dass da was geht, aber ich bin auch nicht der Matheprofi vor dem Herrn
20:13:36 Schrompf: Wo ist Krishty, wenn man ihn mal braucht
20:13:45 Schrompf: im Discord, wäre die plumpe Antwort
20:15:04 xq: im Discord.
20:15:17 xq: aber: warum eckpunkte hashen, wenn man auch kanten hashen kann?
20:15:24 xq: dir gehts ja um adjacency, oder?
20:15:28 xq: also eine gesharte kante
20:15:33 Schrompf: Jadjacency
20:15:38 xq: jo
20:15:43 Essex20: kandashian
20:15:53 xq: dann drei lookups statt einem?
20:15:55 Schrompf: hast du da ne andere Idee, die zu hashen, als die Hashes der beiden Punkte?
20:15:56 xq: einer pro kante
20:16:02 xq:
20:16:03 xq: aber
20:16:30 xq: bloom filter
20:16:32 xq: https://en.m.wikipedia.org/wiki/Cuckoo_filter
20:17:30 xq: cuckoo filter ist wohl nochmal ne nummer cooler
20:17:45 xq: was mir auch noch einfällt:
20:17:51 xq: wie gross ist deine dreieckssuppe?
20:18:06 xq: und wie speicherst du das grade?
20:18:17 Schrompf: so 30k vielleicht?
20:18:23 Schrompf: vielleicht auch nur 20. aber so in dem bereich
20:19:07 xq: ok
20:19:46 xq: kannst du beim aufbau der suppe schon vertex-positionen in indizes unwandeln?
20:20:07 xq: das ist ja dann trivial mit hashing zu lösen, sodass es schnell wird
20:20:28 xq: dann beim speichern der dreiecke die edges immer aufsteigend sortieren
20:20:38 xq: damit hast du nachher nen trivialen compare
20:21:10 Schrompf: ich hashe punkte, und damit kanten, und packe die in ein array, und sortiere das dann?
20:21:34 xq: und dann mit cuckoo filter edge lookups machen, und ne 1:n hashmap mit allen dreiecken welche die edge haben erzeugen
20:22:03 xq: ne, du musst halt deine edge als [ low -> high] speichern, damit die hash lookups deterministisch sind
20:22:15 xq: und keine edge [ high -> low ] existiert
20:22:54 Schrompf: ahso. ja, das ist eine lösung. ich dachte aber plump an H1 ^ H2, die Operation ist ... dingens... kommutativ? naja, jedenfalls ist die reihenfolge dann egal
20:23:17 xq: ja, würde auch gehen denke ich
20:23:30 xq: mussu mal gucken, aber so von der idee her müsste das klappen
20:23:38 xq: hab jetzt erst mal family time
20:23:41 xq: aber berichte er!
20:25:22 Schrompf: jau, mach ich
20:25:36 Schrompf: der cuckoo filter ist eigentlich recht schlicht. gefällt mir
20:25:43 Schrompf: hab das jetzt verstanden, glaube ich
20:26:15 Schrompf: du machst sagen wir xtausend kleine buckets auf, in die jeweils ne kleien anzahl objekte reinpasst. sagen wir 16
20:27:42 Schrompf: ok, cuckoo beantwortet nur die frage: gehört dieses objekt evtl. zu meiner auswahl: "möglicherweise" oder "definitiv nein"
20:28:00 Schrompf: das objekt selbst hast du nicht gespeichert. aber das lässt sich trivial dazubauen
20:31:47 Schrompf: willst du was darin aufnehmen, dann bildest du den hash des objekts
20:32:16 Schrompf: und zusätzlich nen hash, der diesen hash mit nem anders berechneten hash des objekts kombiniert
20:33:16 Schrompf: jetzt hast du zwei hashes zu jedem objekt. du ermittelst ein bucket zum hash, und packst das objekt in dieses bucket
20:33:56 Schrompf: und wenn das bucket voll ist, schmeißt du dort stattdessen ein anderes objekt raus. dadurch, dass diese objekt einen zweiten hashwert hat, hat's auch ein zweites bucket, in das es reingehören könnte
20:34:19 Schrompf: und damit kannst du solange sachen irgendwo anders hin umlagern, bis das rausgeschubste ding in einem bucket rauskommt, wo noch platz ist
20:34:37 Schrompf: und jedes objekt ist entweder im bucket zum primärhash oder im bucket zum zweit-hash
20:34:56 Schrompf: wenn du jetzt also wissen willst "ist dieses ding schon in meiner sammlung?"
20:35:06 Schrompf: dann bildest du den einen hash und den anderen hash
20:35:18 Hannes joined the channel
20:35:33 Schrompf: und wenn in beiden dazugehörigen buckets nix dergleichen zu finden ist, dann bist du sicher, dass es nicht in der sammlung ist
20:35:38 Schrompf: uultrafix
20:38:48 Hannes: obelix
21:03:06 xq: idefix
21:03:51 Hannes: ich versteh nix
21:08:30 Schrompf: der Cuckoo macht mir die Storage, aber zu den Verwandtschaften von Hashes kann er mir gar nix liefern, wenn ich das richtig verstanden habe?
21:09:09 xq: genau
21:09:56 xq: bin mir auch nicht mehr sicher ob man das wirklich braucht
21:11:18 Schrompf: dieser fingerprint-hash... wenn ich den als dritten punkt-hash nehme, wär das quasi ein "zwei hashes, plus ein unbekannter dritter"
21:11:46 Schrompf: aber das ist nur ne uminterpretation, es nützt mir ja nix. ich kann jetzt nicht mit dem kanten-hash losziehen und finde irgendwie fix alle dreieck-hashes dazu
21:12:18 xq: meine idee war halt, dass du pro kantenhash alle bekannten kanten dreiecke kennst
21:13:22 Schrompf: wie denn das?
21:13:31 Schrompf: einfach nur ne hashmap?
21:13:57 xq: jo
21:14:23 Schrompf: hmja, ich glaub, genau das tu ich auch
21:14:26 xq: und halt zum bilden der index-infos der triangles ne zweite hashmap[pos -> index]
21:14:42 xq: und die zweite ist dann
21:14:47 Schrompf: und kuckuck hin oder her, ich nehm erstmal ne standard unordered_map
21:14:57 xq: edge -> []triangle
21:16:28 Schrompf: jau. in nem welformed mesh sind das mx 2
21:16:55 Schrompf: indizes gibt's eh nicht, aktuell jedenfalls
21:17:36 xq: ja, das war ja aber meine idee, edges in eine eindeutige form [ hi lo ] zu bringgen
21:17:57 xq: da machste dann 64bit edge id aus 2 * 32 bit vertex index
21:18:06 xq: da ist dann die comparison trivial
21:19:47 Schrompf: bei perfekter indizierung (1 pos => 1 eintrag)
21:23:33 xq: jop
21:23:50 xq: ist aber eher unwahrscheinlich ^^
21:24:30 Schrompf: ne, an UV-seams sogar üblich :-)
21:24:53 Schrompf: aber wie gesagt aktuell irrelevant, weil bei mir alle vertizes einzeln sind. gar nix mit index
21:25:40 xq: ja, aber ich meine das soltest du ändern
21:25:51 xq: weil du damit die vertex size auf 1/3 schubsen kannsr
21:26:04 xq: oder halt bei <64k vertizes sogar auf 1/6
21:26:20 xq: damit: weniger cache misses, dafür mehr fasts
21:28:24 Schrompf: ja ne
21:28:37 Schrompf: also ich weiß nicht, ob ich dich richtig verstanden habe
21:29:02 Schrompf: ich dachte, du meinst: jede vertexpos taucht genau ein einziges mal auf
21:29:18 Schrompf: so dass ich anstatt nem dreier-vektor einfach nen index in ein array hashen kann
21:29:44 Schrompf: wie groß das array dann ist, daraus ergibt sich die größe des perfect hash auf zweier dieser indizes
21:29:45 Schrompf: ok, fein
21:29:54 Schrompf: aber ich habe kein perfektes array aus vertexpositionen
21:30:01 Schrompf: und das ist auch nicht üblich
21:30:21 Schrompf: schon bei echten meshes hast du viele vertexpositionen doppelt mit anderen vertex-attributen dazu
21:30:54 Schrompf: und bei mir gibt's gar keine wiederverwendung momentan: alle vertizes nehmen einen neuen array-eintrag
21:31:05 Schrompf: und damit kannst du auch aus deren array-index keinen hash bilden
21:31:38 xq: du machst doch hier csg, oder?
21:45:17 Essex20: Vilified. For your overwhelmingly monstrous behavior, you have become vilifies by the community.
21:45:26 Essex20: woohoo, i am recognized, wupp wupp :D
21:49:50 Schrompf: link, Essex20 ?
21:51:58 Schrompf: xq, verstehe die frag enicht
21:51:59 Schrompf: erneut
21:52:03 Schrompf: ja, ich mach hier CSG
21:52:10 Essex20: öhmm.. ich spiel gerade nebenbei fallout new vegas zum ersten mal, aber eigentlich nur zum rumblödeln und testen
21:52:42 Essex20: naja.. und da hatte ich mal die idee, einfach alle zu killen die ich sehe :D
21:52:55 Schrompf: aber jetzt bin ich nach dem Ende. Ich hab einen fertig zerschnippelten Mesh als Ergebnis, und ich habe beim Schneiden einige der neuen Dreiecke als "sicher auf der Innenseite" oder "sicher auf der Außenseite" gespeichert
21:53:27 Hannes: fallout 3 gibts heute bei epic
21:54:06 Schrompf: der nebeneffekt aber ist, dass ich ich mich halbwegs drauf verlassen kann, dass "Innen" und "Außen" immer zuverlässig auf zwei Seiten einer Kante liegen
21:54:13 Essex20: oh, ok
21:54:51 Schrompf: das heißt, ich kann jetzt bei Flächen, die so nebendran sind, einfach die NAchbarn checken, und ich werde immer einen "innen" und/oder einen "außen" finden, aber nie einen konflikt
21:55:13 Schrompf: und dazu brauch ich ein turbomärchen, wie ich nachbar-dreiecke anhand ihrer vertexpositionen finde
21:55:34 Essex20: mal wieder
21:55:40 Essex20: war schonmal freebie dort
21:55:55 Hannes: ich hatte es noch nicht
21:58:56 Schrompf: andere frage: nen 32bit-hash von nem float... kann ich da nicht einfach die bits des floats nehmen?
21:59:18 Schrompf: gibt vielleicht bissl hässliche hash-qualität, weil exponent und vorzeichen oben immer recht ähnlich sind
21:59:36 Schrompf: aber da könnte ich ja was von untenrum reinmischen, indem ich ne primzahl reinmultipliziere
21:59:39 Essex20: bissl bitrotation
21:59:48 Schrompf: hihihi... "untenrum"... hihihi
22:00:16 Schrompf: manchmal geh ich mir selbst auf die nerven, falls euch das beruhigt
22:00:22 Essex20: wat?
22:00:43 Schrompf: gedanke: bits vom float
22:01:54 Schrompf: und dann diese bits * 9109 (eine primzahl von der liste, bissl wenig stellen)
22:02:34 Schrompf: und du hast ein buntes potpourri von informationen
22:02:40 Schrompf: verteilt auf 32bit
22:03:17 Schrompf: hihi, xq hat sich ja nen IRC-mirror für Telegram installiert. dem vibriert jetzt die ganze zeit die hose, während er mit der schwangeren frau irgendnen film zu gucken versucht
22:03:40 Essex20: was denkst du von lsfr?
22:04:33 Essex20: vibrier, du sau
22:04:34 Essex20: brrr
22:04:35 Essex20: brrrrrrrrrr
22:04:37 Essex20: bsssssssss
22:04:40 Essex20: BSSSSSSSSS
22:07:05 Schrompf: spätestens nach meinem braindump vorhin wird er den kanal gemutet haben
22:09:29 Essex20: lfsr .. ich verdreh das immer
22:09:50 Schrompf: ah
22:09:53 Schrompf: naja
22:09:55 Schrompf: ja
22:09:57 Schrompf: sicher nett
22:09:59 Schrompf: schätze ich
22:10:55 Schrompf: ist glaube ich für echte hashes und so recht wichtig
22:11:29 Schrompf: aber ich hab mich an diesen plumpen trick gewöhnt, die bits bunt durchzumischen, indem ich sie mit ner zahl multipliziere
22:11:47 Essex20: :D
22:11:58 Schrompf: das ist ernst, essex. das geht gut
22:12:00 Essex20: naja, lfsr ist jetzt auch keine raketentechnik
22:12:06 Schrompf: ne, isses alles nich
22:12:08 Essex20: :D
22:12:22 Schrompf: sonst könnt ich das jetzt auch nicht mehr
22:14:03 Essex20: Wieso? Ich finde, jeder sollte in seinem Leben einen Baum gepflanzt, einen Bunker gebaut und eine Rakete gebaut und gezündet haben
22:14:22 Schrompf: Bunker pflanzen! *stirnpatsch*
22:14:29 Schrompf: daher fühle ich mich so hohl und leer in meinem leben
22:14:39 Essex20: oh boy... ja, solche gibt es leider auch
22:14:48 Essex20: ich hab den baum angezündet
22:14:57 Essex20: mit der rakete
22:14:59 Essex20: im bunker
22:15:07 Schrompf: absichtlich oder im rahmen normaler weihnachtsmaßnahmendurchführung?
22:15:54 Essex20: ...
22:15:54 Schrompf: bei dem shitpostgewitter hier wollt ich mal wieder bei bash.org reingucken, oder bei german-bash... aber beide tot
22:16:07 Essex20: ja, leider
22:19:33 Hannes: #german-bash.org
22:21:00 Schrompf: oh gibt's wirklich
22:21:59 Essex20: ich mach jetzt bubu. Ich bin erstaunt wie wenig ich heute geschafft hab, und das obwohl ich den Editor offen hatte.. bzw. 3 :D
22:22:55 Schrompf: guter anfang
22:23:09 Schrompf: wir lesen einander! nachti! und morgen oder irgendwann erzählst du mal, was du da gerade versuchst
22:27:40 xq: gn8!
22:27:44 xq: ich geh jetzt auch mal schnarchen
22:27:48 Hannes: n8
22:27:52 Hannes: ich noch nicht