Aussehen
Suche Einloggen
[c] [meta] [fefe] [erp]

5429 Ergebnisse

[0] ... [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] ... [271]
  • [l] Felix Wed, 14 May 2025 15:33:56 GMT Nr. 156432
    >>156395
    -Updat:

    Warum das wohl so komisch bunt ist?
  • [l] Felix Wed, 14 May 2025 15:31:19 GMT Nr. 156431
    >>156428
    >kein JS, weder server- noch clientseitig
    So sympathisch.
  • [l] Zuse ## Admin Wed, 14 May 2025 15:22:46 GMT Nr. 156428
    JPG 465×262 20.5k
    >>156347
    >War zu faul in den Quelltext zu schauen, meine mich aber erinnern zu können, dass Meister Zuse sicher keine "handelsübliche" Datenbank benutzt.
    Ja, die ist handgefrickelt. Im Grunde genommen ist das einfach nur ein Speicherabbild mit einem zusätzlichen Journal, um Atomizität zu gewährleisten, falls mal während eines Updates der Strom ausfällt oder so.

    Warum handgefrickelt? Dazu kleine Geschichtsstunde: Diätkanal entstand in den ganz früher Anfangsphasen von Kohlkanal, als jener noch vichan einsetzte, bei Cockbox gehostet war, und mit erheblichen Performanzproblemen zu kämpfen hatte. Es wurde damals über einen Umstieg auf Lynxchan nachgedacht, der ja später dann auch erfolgte, aber Zuse war und ist kein Freund von diesem Node+MongoDB-Geraffel (der Kot war zuminest damals auch absolut scheußlich) und es zirkulierte bereits das Mem, man könnte da doch was mit dietlibc, tinyldap und libowfat...

    Irgendwann hat Zuse das dann aus einer Laune heraus einfach mal eben schnell an einem Wochenende gemacht (so ungefähr), eigentlich als Witz. Der Anspruch von Diätkanal war eigentlich, so eine Art Anti-Lynxchan sein. Unter anderem deswegen gibt es hier ja auch kein JS, weder server- noch clientseitig. Eigentlich wollte Zuse damals auch stilecht tinyldap als Datenbank nehmen, aber dazu kam es nicht aus folgenden Gründen:

    - Zuse kapiert diesen LDAP-Scheiß nicht. Sich in LDAP einzuarbeiten hätte länger gedauert, als das ganze Brett zu programmieren, und hätte keinen Spaß gemacht.
    - tinyldap untersützte damals keine Löschvorgänge, war für ein Bilderbrett also absolut ungeeignet.
    - Es wurde nach anderen Alternativen gesucht: sqlite war immer noch zu bloatig, hätte den Fußabdruck um Größenordnungen erhöht. (sqlite umfasst alleine ungefähr 250k Zeilen, Diätkanal damals 9k). Und da das Brett natürlich dietlibc verwenden sollte, hätte sqlite natürlich aus der Quelle kompiliert werden müssen. Aber das hätte die Wahrscheinlichkeit, dass irgendwer diese Weichware tatsächlich ausprobiert, extrem verringert, weil niemand mal eben 250k Zeilen auditiert um zu prüfen, dass da nichts böses drin versteckt ist. Zuse wollte ursprünglich eigentlich nur die Weichware zeigen, das zugehörige Brett war gar nicht geplant und sollte eigentlich nur als Demo dienen, weil Zuse dachte, dass sich ohne Lebend-Demo das eh keiner anschaut.
    - BerkeleyDB wurde auch noch evaluiert, und Zuse hat sich ein paar Ideen dort abgeschaut, aber es schien einfacher, es einfach selbst zu implementieren.
    - Zuse wollte das schon immer mal machen.
    - Bei herkömmlichen Datenbanken hat man immer extrem viel Klebe-Kot zwischen der Datenbank und den klientseitigen Strukturen (Stichwort ORM, Active Record, etc.). Diätkanal sollte aber minimalistisch sein (was unter anderem eine möglichest geringe Zeilenanzahl bedeutet) und da schien es am einfachsten, einfach direkt die Strukturen aus dem Arbeitsspeicher wiederzuverwenden und auf die Platte zu schreiben.
    Vollständigen Text anzeigen
  • [l] Felix Wed, 14 May 2025 15:20:27 GMT Nr. 156427
    JPG 275×183 5.0k
    >>156249

    Furchtbar, ich zittere schon und hab eingestuhlt!

    Hoffentlich tun die bald was!
  • [l] Felix Wed, 14 May 2025 15:13:10 GMT Nr. 156426
    >>156267
    >Vermeidung der doppelten Staatsangehörigkeit könnte man z.B. als Ziel ansehen.
    Warum ist das ein lohnenswertes Ziel? Dir ist schon klar, dass viele gar nichts dafür können, Doppelstaatler zu sein, weil sie ihre alte Staatsbürgerschaft gar nicht loswerden können?
    >Oder Familienzusammenzug im Ausland.
    Warum soll ein Deutscher, der eine Ausländerin heiratet, das Land verlassen? Schutz von Ehe und Familie bekannt oder mal wieder disponibel, wenn es gegen die Richtigen geht?
  • [l] Felix Wed, 14 May 2025 15:05:17 GMT Nr. 156425
    >>156379
    >Was ist das?
    Deine Mutter.

    >schön hässlich.
    Ach Oxymoron-Felix ...
  • [l] Felix Wed, 14 May 2025 15:01:58 GMT Nr. 156424
    >>156388
    >Wenn ich einen ETF-Sparplan mit einer Bank vereinbare, sind das auch Zahlungsverpflichtungen in einem Dauerschuldverhältnis.
    Bei einem ETF-Sparplan bist du Eigentümer der Fondsanteile, das sind dann eben keine Schulden. Verzeihe, dass ich diesen Punkt nicht differenziert habe. Bei einem Banksparplan werden Schulden aufgetürmt, nur ist es dann die Bank, die Schulden bei dir hat.
    >Darf man bei Baukrediten nicht, für die gilt Zweckbindung und man muss die Bank ins Grundbuch schreiben. Wie auch bei anderen Krediten, welche einem eine solche Nutzung untersagen (insbesondere darf mans nicht einfach in Krüpto stecken). Die Bank will übrigens auch Sicherheiten - welche geringer werden, je mehr Kredite man aufnimmt.
    Du musst jetzt sehr tapfer sein. Es gibt Banken, bei denen kannst du deinen ETF als Sicherheit hinterlegen und auf Pump weitere Anteile kaufen. Du kannst gerne einmal versuchen, ein derartiges Perpetuum mobile zu bauen, aber sage nicht, dass du nicht vorher gewarnt wurdest.
    >Nur mit dem (beträchtlichen) Risiko, dass die ETF-Entwicklung die langfristige Entwicklung ist
    Eben. 3,8% risikolose Rendite (Abzahlung Immobilienkredit bei 20 Jahre Zinsbindung) ist was völlig Anderes als 2-7% Rendite für 20 Jahre MSCI World.
    >Nö, sie können es auch aus anderen Gründen reduzieren. Z.B., weil sie es durchgerechnet haben.
    JA WAS GLAUBST DU DENN WARUM DAS SICH RECHNET? WEIL SIE DANN NICHT MEHR DIE GEWINNE DES STROMANBIETERS (= RENDITE DER ANTEILSEIGNER) MITBEZAHLEN MÜSSEN. Das mit den schlauen Linken musss ich wohl zurücknehmen.

    Noch ein Datenpunkt zur Illustration. Als Felix seine Wohnimmobilie erworben hat, sind identische Wohneinheiten auch zur Vermietung verkauft worden. Er weiß, dass die Mieter deutlich mehr monatlich zahlen als Felix an seine Bank für Zins und Tilgung, mit Instandshaltungsrücklagen und sonstigen Nebenkosten ist es ungefähr gleich. Nur hat Felix dann nach Tilgung des Kredits eine Immobilie und wohnt im Alter mietfrei, während die Mieter weiter zahlen dürfen. Tja.
  • [l] Felix Wed, 14 May 2025 14:55:44 GMT Nr. 156423
    Warum nicht gleich Rust nemen?
  • [l] Felix Wed, 14 May 2025 14:45:12 GMT Nr. 156422
    Will Herr Leitner SAL neu erfinden?

    void * memcpy(
       _Out_writes_bytes_all_(count) void *dest,
       _In_reads_bytes_(count) const void *src,
       size_t count
    );


    https://learn.microsoft.com/en-us/cpp/code-quality/understanding-sal

    >
    #include

    Herr Leitner hat die Winkelklammern nicht in < und > umgewandelt.

    >
           size_t strnlen(size_t maxlen;

    >
                          const char s[maxlen], size_t maxlen);

    Sieht falsch aus. Felix vermutet, gemeint war:
    size_t strnlen(const char s[.maxlen], size_t maxlen);
  • [l] Update Effe ## Mod Wed, 14 May 2025 14:27:40 GMT Nr. 156421
    @@ -53,0 +54,2 @@
    +Wenn die Länge des Zielbuffer wie in diesem Beispiel nicht direkt ein Funktionsargument ist sondern sich daraus berechnet, kann auch die gcc-Attribute-Hack-Nummer das nicht abbilden. Das müsste alles nicht so schlimm sein!
    +

  • [l] Liest hier zufällig jemand aus dem C-Standardisierungsprozess ... Effe ## Mod Wed, 14 May 2025 14:22:31 GMT Nr. 156420
    JPG 1000×656 121.6k
    Liest hier zufällig jemand aus dem C-Standardisierungsprozess mit?

    Linux-Man-Pages haben neuerdings eine eigene Syntax für Funktionsbeschreibungen. Hier ist ein Beispiel:

    SYNOPSIS 
           #include  
     
           size_t strnlen(size_t maxlen; 
                          const char s[maxlen], size_t maxlen);
    


    Wieso kann das reguläre C das eigentlich nicht?

    Stattdessen gibt es einen gcc-Alleingang über __attribute__, den nicht mal clang unterstützt (ich habe letztes Jahr einen Bug aufgemacht, der leider nichts erreicht hat). Ich habe seit dem in meinen Projekten großflächig diesen Attribute-Hack ausgerollt, und plötzlich kann der Compiler mich warnen, wenn ich z.B. einen Pointer mit Länge 100 übergebe, aber der Pointer nur für 50 Bytes alloziert wurde.

    Da sind wir uns doch hoffentlich alle einig, dass wir das haben wollen, richtig?

    Wenn hier also jemand mitliest, der da Einfluss nehmen kann: Mach doch mal bitte!

    Für C++ wäre das natürlich auch gut, aber weniger dringend, weil man da üblicherweise nicht mit Pointern und Längen hantiert sondern mit STL Containern.

    Besonders schön wäre, wenn das auch noch ein bisschen erweiterbar ist. Hier ist z.B. ein Funktionsprototyp von libsodium:

    SODIUM_EXPORT 
    int crypto_aead_aegis128l_encrypt( 
      unsigned char       *c, 
      unsigned long long  *clen_p, 
      const unsigned char *m, 
      unsigned long long   mlen, 
      const unsigned char *ad, 
      unsigned long long   adlen, 
      const unsigned char *nsec, 
      const unsigned char *npub, 
      const unsigned char *k) __attribute__((nonnull(1, 8, 9)));
    


    libsodium ist eine Krypto-Library. Wäre das nicht großartig, wenn man da stattdessen folgendes schreiben könnte?

    SODIUM_EXPORT 
    int crypto_aead_aegis128l_encrypt( 
      unsigned char       c[mlen + crypto_aead_aegis128l_ABYTES], 
      unsigned long long  *clen_p, 
      const unsigned char m[mlen], 
      unsigned long long   mlen, 
      const unsigned char ad[adlen], 
      unsigned long long   adlen, 
      const unsigned char *nsec, 
      const unsigned char npub[crypto_aead_aegis128l_NPUBBYTES], 
      const unsigned char k[crypto_aead_aegis128l_KEYBYTES])
    


    C ist alt und hat eine Menge Warzen. Keine Frage. Aber das heißt ja nicht, dass man da nicht mal ab und zu Dinge verbessern kann!

    https://blog.fefe.de/?ts=96da664d
  • [l] Felix Wed, 14 May 2025 14:05:52 GMT Nr. 156419
    >>156398
    >Ich bin eine Neubiene
    Wäre dir schon längst aufgefallen wenn mal nichts Hupsdate dransteht.
  • [l] Felix Wed, 14 May 2025 13:45:55 GMT Nr. 156418
    JPG 222×220 27.1k
    >>156395
    >Die Updates sind also auch handgepfrengt?

    Handgepfrengte Up-Detten sind einfach viel aromatischer.
  • [l] Felix Wed, 14 May 2025 13:35:52 GMT Nr. 156417
    PNG 2048×2048 2.7M
    PNG 2048×2048 2.5M
    PNG 2048×2048 2.4M
    Felix ist die letzten Wochen auch mehrfach ins "secondary rate limit" reingelaufen. Einfach nur, weil er die Baum-Ansicht ausgeklappt hat und auf ein paar Dateien geklickt hat.

    Die Spezialexperten von Github schaffen es noch nicht einmal ein Anubis zu implementieren?
  • [l] Felix Wed, 14 May 2025 13:31:49 GMT Nr. 156415
    Was gab es denn da immer? Felix tippt auf Trump und Corinna, aber was war mit dieser kürzlichen Explosion?
  • [l] Felix Wed, 14 May 2025 13:30:39 GMT Nr. 156414
    >>156410
    Zuerst wollte Felix zur Meldung auf Seite 1
    >Gérard Depardieu schuldig gesprochen
    schreiben, dass das heute als Meldung irrelevant ist.

    Dann klickte Felix aber auf Seite 17 und sah, dass praktisch alle Meldungen heute irrelevant sind.
  • [l] Update Effe ## Mod Wed, 14 May 2025 13:29:51 GMT Nr. 156412
    @@ -10,0 +11,2 @@
    +[b]Update[/b]: War anscheinend ein Eurofighter, der die Schallmauer durchbrochen hat [1].
    +
    @@ -11,0 +14 @@
    +[1] https://www.butenunbinnen.de/nachrichten/knall-bremerhaven-ueberschall-100.html



[0] ... [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] ... [271]
[c] [meta] [fefe] [erp]