Kategorie: HTML Stuff

  • Firefox schneller machen

    KI und ML Funktionen ausschalten

    Firefox hat in den letzten Versionen viele neue KI und ML Funktionen eingebaut. Sie respektieren die Privatsphäre, aber sie brauchen oft viel Leistung. Auf schwächeren Rechnern merkt man, dass der Browser langsamer wird.

    Zum Glück kann man diese Funktionen selber ausschalten. Das geht über about:config.

    So geht es

    1. In die Adressleiste about:config eingeben und Enter drücken.
    2. Auf „Accept the risk and continue“ klicken.
    3. Folgende Einträge suchen und jeweils auf false setzen:
    browser.ml.enable
    browser.ml.chat.enabled
    browser.ml.chat.menu
    browser.ml.chat.shortcuts
    browser.ml.chat.shortcuts.custom
    extensions.ml.enabled
    browser.ml.linkPreview.enabled
    browser.tabs.groups.smart.enabled
    browser.tabs.groups.smart.userEnabled

    Hinweis

    Alle Änderungen machst du auf eigenes Risiko. Bei mir selber hat es aber geholfen. Firefox läuft wieder schneller und fühlt sich leicht an.

    Anmerkung: Firefox setzte bei mir alles mit dem letzten Release auf true. Come on Mozilla, habt ihr es so nötig?

  • Winziges Webserver-Experiment mit einer Wegwerf-E-Zigarette

    Ein Webserver im Vape-Stick

    Ein Bastler hat einen alten Vape Pen genommen und daraus einen funktionierenden Webserver gebaut. Im Inneren steckt ein PUYA Chip mit ARM Cortex-M0+. Normalerweise landet so ein Teil im Müll. Hier aber läuft ein kleines Stück Software, das Webseiten ausliefert.

    Der Trick: Er nutzt Semihosting, SLIP über USB-Serial und den winzigen uIP TCP/IP Stack. Trotz der sehr kleinen Ressourcen schafft es das Gerät, eine Seite in rund 160 Millisekunden zu laden.

    Details und Quellcode findet man hier: Projektseite auf GitHub

    Wegwerf-Chips schneller als unsere alten Rechner

    Es ist schon fast absurd. Vor 25 oder mehr Jahren haben unsere Eltern viel Geld bezahlt, damit wir einen PC oder eine Konsole haben. Damit wir Spiele spielen oder vielleicht unsere ersten Programme schreiben. Heute werfen wir Hardware mit mehr Leistung einfach weg.

    Damals: ein 486er oder Pentium mit ein paar Megabyte RAM war Luxus. Heute: Ein Einweg-Vape mit einem Cortex-M0+, Flash-Speicher und USB. Und wir sagen dazu: Müll.

    Ein kleines, kluges Experiment

    Natürlich wird daraus kein ernsthafter Webserver für eine Firma. Aber es zeigt, wie viel Leistung in winzigen Chips steckt, die für Wegwerfprodukte genutzt werden. Und es erinnert uns daran, wie schnell sich Technik verändert hat.

    Mehr Beispiele, Code und Hintergrund: VapeServer auf GitHub

  • Die HTML Bombe (Zip Bomb): Kleine Datei, großer Knall – in sicherer Demo erklärt

    Kurz erklärt (TL;DR)

    Die HTML Bombe ist eine winzige, vor komprimierte HTML Datei (gzip/brotli), die der Browser beim Laden automatisch entpackt. Darin steckt ein riesiger Kommentarblock (z.B. Millionen „H“), der im Speicher auf mehrere Gigabyte anwächst und Browser/Parser abstürzen lassen kann. Der Entwickler ache zeigt, wie sich das als gültige HTML Seite samt Nginx Auslieferung umsetzen lässt – mit extremem Kompressionsverhältnis (~1:1030).

    Hinweis: Oft wird umgangssprachlich von „verschlüsselt“ gesprochen. Technisch ist es Kompression (gzip/brotli), die über Content-Encoding automatisch entpackt wird.

    Was passiert technisch?

    Gültiges HTML + riesiger Kommentar: Die Seite enthält einen sehr großen HTML Kommentar aus identischen Zeichen („H“). Dadurch bleibt das Markup formal korrekt.

    Vor Kompression & Auslieferung: Die „schwere“ Seite wird vorab komprimiert (gzip/brotli) und z.B. per Nginx samt gzip_static/brotli_static ausgeliefert. Der Client entpackt automatisch – und plötzlich liegt ein gigantischer String im Speicher.

    Asymmetrie: Serverseitig kostet das fast nichts, während Client/Parser massiv RAM/CPU opfern müssen – bis zum Crash.

    Sicherheits & EthikHinweise

    Risiko für echte Nutzer: Wer die Seite versehentlich öffnet, riskiert einen Browser Absturz.

    robots.txt & Klarheit: Ache empfiehlt, die Datei explizit zu disallowen, um legitime Crawler nicht auszubremsen.

    Recht & Fairness: Der Ansatz ist eine Falle gegen aggressives Crawling. Prüfe rechtliche Rahmenbedingungen und setze lieber auf defensive Maßnahmen (Rate Limiting, Bot Management), bevor du zu drastischen Mitteln greifst

    Ungefährliche Demo (Mini Bomb)

    Die folgende Demo zeigt nur das Prinzip der Expansion, ohne nennenswerte Last zu erzeugen. Sie nutzt keine Kompression/Servertricks, sondern baut lokal einen überschaubaren Text (50 KB). Bitte keine Werte erhöhen – die Demo ist absichtlich klein gehalten.

    <!doctype html>
    <meta charset="utf-8" />
    <title>HTML?Bombe – sichere Demo</title>
    <style>
      body { font: 14px/1.4 system-ui, sans-serif; max-width: 60ch; margin: 2rem auto; padding: 0 1rem; }
      button { padding: .6rem 1rem; border: 1px solid #888; border-radius: 6px; background: #f5f5f5; cursor: pointer; }
      .muted { color: #666; }
      #out { white-space: pre-wrap; word-break: break-word; border: 1px dashed #ccc; padding: 1rem; margin-top: 1rem; max-height: 240px; overflow: auto; }
    </style>
    <h1>HTML „Bomben“ Prinzip – sichere Mini Demo</h1>
    <p class="muted">
      Diese Demo erzeugt lokal ca. 50 KB Text (viele „H“). Das veranschaulicht das
      <em>Expansion-Prinzip</em> ohne Gefahr für Browser/Server.
    </p>
    <button id="go">Demo starten</button>
    <p id="info" class="muted"></p>
    <pre id="out" aria-live="polite"></pre>
    
    <script>
      // Bitte NICHT erhöhen – bewusst klein.
      const TOTAL_CHARS = 50_000;      // ~50 KB
      const CHUNK_SIZE  = 1_000;       // in Schritten arbeiten, um UI responsiv zu halten
    
      const out  = document.getElementById('out');
      const info = document.getElementById('info');
      document.getElementById('go').addEventListener('click', async () => {
        out.textContent = '';
        info.textContent = 'Erzeuge Text …';
        const chunk = 'H'.repeat(CHUNK_SIZE);
        let produced = 0;
    
        // Schrittweise "aufblasen"
        while (produced < TOTAL_CHARS) {
          out.textContent += chunk;
          produced += CHUNK_SIZE;
          await new Promise(r => setTimeout(r)); // UI atmen lassen
        }
    
        const kb = Math.round(out.textContent.length / 1024);
        info.textContent = `Fertig: ~${kb} KB Text im Speicher & UI.`;
      });
    </script>

    Warum das lehrreich ist:
    In echt würde eine winzige, stark komprimierte Antwort (z.B. 10 KB gzip) beim Entpacken plötzlich gigantisch. Unsere Demo imitiert das vergrößern – aber stoppt bei ~50 KB, sodass alles stabil bleibt.

    Technische Einordnung zur Original Idee von ache

    Kommentar Trick: Der Bombeninhalt liegt in einem HTML Kommentar, damit der Parser die Seite als gültig akzeptiert.

    Kompressionsraten: Ache berichtet von einem Verhältnis um 1:1030 (z.B. ~10 MiB komprimiert vs. ~10 GiB entpackt).

    Auslieferung mit Nginx: Mit gzip_static/brotli_static wird die vor komprimierte Datei direkt bedient; der Browser entpackt anhand von Content-Encoding.

    Beobachtetes Verhalten: Firefox führt zu NS_ERROR_OUT_OF_MEMORY, Chrome zeigt früh einen SIGKILL Fehlerbildschirm – also genau der gewünschte Out of Memory Effekt.

    Fazit

    Die HTML Bombe ist ein cleveres, aber zweischneidiges Proof of Concept: minimaler Serveraufwand, maximale Clientlast. Als Lehrbeispiel macht sie das Problem deutlich – produktiv ist sie heikel. Wer Inhalte schützen will, sollte vorrangig auf saubere Bot Erkennung, Quoten & Rate Limits setzen; die Bomben Idee bleibt ein Warnsignal dafür, wie weit das Wettrüsten bereits ist.

    Quellen & weiterführend:

    Ache: A valid HTML zip bomb (Details zu HTML Kommentar, gzip/brotli, Nginx Setup, Beobachtungen).

    Fediverse-Reaktionen
  • Die HTML-Bombe: Digitale Abwehr gegen KI-Crawler

    Wenn KI-Crawler zu viel werden

    Viele Webmaster sehen sich mit einer neuen Plage konfrontiert: Unternehmen die von Daten anderer Leute leben, crawlen Webseiten in großem Stil. Dabei werden Inhalte massenhaft kopiert, oft ohne Rücksicht auf Serverlast oder den Willen der Betreiber. Selbst robots.txt-Dateien, die traditionell als Sperre für Suchmaschinen galten, werden ignoriert.

    Während Dienste wie Google sich früher daran hielten, ziehen viele KI-Crawler gnadenlos jede Seite – und sorgen so für unnötige Kosten, höhere Last und im schlimmsten Fall für Ausfälle.

    Die Idee hinter der HTML-Bombe

    Der Programmierer ache hat nun eine kreative Verteidigungsmaßnahme vorgestellt: die HTML-Bombe.
    Dabei handelt es sich um eine winzige, zunächst unscheinbare HTML-Datei, die verschlüsselt auf einem Server liegt. Sobald ein Browser oder ein Crawler sie lädt, wird der Inhalt entschlüsselt und ein kleines Skript ausgeführt.

    Dieses Skript sorgt dafür, dass die Seite sofort mit Milliarden von Zeichen gefüllt wird – konkret dem Buchstaben „H“, wiederholt in astronomischer Zahl. Innerhalb von Sekunden wächst die Datei auf über 10 Gigabyte an.

    Wirkung: Crash auf Knopfdruck

    Für den Nutzer bedeutet das: Jeder, der die Seite im Browser aufruft, erlebt einen Absturz oder zumindest eine eingefrorene Sitzung.
    Für KI-Crawler ist es noch unangenehmer – das System versucht die gigantische Datenmenge zu verarbeiten, verbraucht dafür CPU und Speicher und bricht am Ende zusammen. Manche Bots müssen danach sogar neu starten.

    Abwehr oder Waffe?

    Die HTML-Bombe ist ein extremes, aber wirksames Mittel, um ungewolltes Crawlen zu erschweren. Sie ist kein Filter, der Bots blockiert – sondern eine Falle, die sie aktiv lahmlegt.

    Für Webmaster stellt sich die Frage: Ist das eine legitime Verteidigung oder eine digitale Waffe? Befürworter sehen darin ein notwendiges Gegengewicht zu den aggressiven Methoden mancher KI-Unternehmen. Kritiker warnen dagegen vor unbeabsichtigten Nebenwirkungen – etwa wenn ein normaler Besucher versehentlich auf die Seite gelangt.

    Fazit

    Die HTML-Bombe zeigt eindrucksvoll, wie kreativ Entwickler auf das Problem reagieren. Ob sich diese Methode durchsetzt oder eher als „Proof of Concept“ bleibt, wird sich zeigen. Klar ist aber: Die Debatte über faire und respektvolle Formen des Web-Crawlings steht erst am Anfang.

  • Warum ich Feedly verlassen habe und jetzt auf Nextcloud News setze

    Lange Jahre war ich ein treuer Nutzer von Feedly. Ich habe die Plattform nicht nur täglich genutzt, sondern auch für die Pro-Version bezahlt. Doch in den letzten Monaten musste ich feststellen, dass eine meiner wichtigsten Funktionen – das Filtern von Inhalten – hinter eine teurere Paywall verschoben wurde. Wer Filter nutzen möchte, muss nun mindestens den Pro+-Account für fast 13 Euro im Monat buchen. Doch damit nicht genug: Die Filterfunktion ist jetzt KI-gestützt. Warum braucht es Künstliche Intelligenz, um einfache Regex-Filter auf Feeds anzuwenden? Warum kann ich nicht mehr einfach Heise+ oder Golem+ Artikel aus meinen Feeds entfernen?

    Der Wechsel zu Nextcloud News

    Enttäuscht von dieser Entwicklung habe ich mein Feedly-Abo gekündigt und nach Alternativen gesucht. Meine Wahl fiel auf Nextcloud News, eine App für die Open-Source-Cloud Nextcloud. Zugegeben, sie bietet nicht den gleichen Funktionsumfang wie Feedly, aber sie macht genau das, was ich brauche:

    • Schnelle Ladezeiten: Feeds werden in von mir festgelegten Intervallen aktualisiert.
    • Volle Kontrolle: Keine KI, die entscheidet, was ich sehen soll – ich bestimme selbst.
    • Kostet nichts: Die App ist kostenlos nutzbar, ohne versteckte Gebühren oder teure Upgrades.

    Ich wäre sogar bereit, für ein simples Filter-Feature zu zahlen. Doch viele Anbieter scheinen aktuell den Fokus auf KI zu setzen, selbst wenn sie damit Nutzer abschrecken. Ironischerweise bin ich selbst ein begeisterter KI-Nutzer, aber ich sehe einfach keinen Mehrwert darin, eine simple Regel-Engine durch eine Black-Box-KI zu ersetzen.

    Mein Fazit: Gebt Nextcloud eine Chance!

    Seitdem ich meine Nextcloud bei Hetzner hoste, sehe ich keinen Grund mehr, Feedly zu nutzen. Wer auf eine schnelle, freie und kontrollierbare Lösung für RSS-Feeds setzt, sollte Nextcloud News ausprobieren. Manchmal sind die besten Alternativen genau die, die man selbst hosten kann!

    Worüber ich schrieb:

    Fediverse-Reaktionen
  • Die wundersame Welt der KI in der Softwareentwicklung

    Ein satirischer Blick

    Von der Zukunft, die keiner kommen sah

    Willkommen im KI-Wunderland

    Stell dir vor, wir leben in einer Welt, in der Software ausschließlich von Künstlicher Intelligenz (KI) entwickelt wird. Entwickler? Überflüssig. Grundlagen wie OWASP oder Nichtfunktionale Anforderungen (NFRs)? Altmodisch. Datenschutz, Zugänglichkeit, Performance, Sicherheit, SEO, Compliance? Ach, wer braucht das schon!

    Die neue Ära der Entwicklerausbildung

    Warum sollten wir unsere Nachwuchskräfte noch mit den Grundlagen der Softwareentwicklung belasten? Stattdessen bieten wir ihnen Schnellkurse in „KI-Bedienung für Dummies“ an. Schließlich kann die KI alles, oder? Und wenn nicht, dann… nun ja, Pech gehabt.

    Produktionsreife KI-Software

    Ein Abenteuer

    Wer kann es kaum erwarten, KI-generierte Software in Produktion zu sehen? Sicherlich nicht die Sicherheitsbeauftragten, die sich schon auf die kommenden Datenlecks und Hacks freuen. Aber hey, ein bisschen Spannung hat noch niemandem geschadet.

    Vertrauen ist gut, KI ist besser

    Warum sollten wir noch Menschen für die Validierung von Software einsetzen, wenn die KI das doch viel schneller kann? Und wenn dabei mal vertrauliche Informationen durchsickern – na und? Transparenz ist doch das Schlagwort der Stunde.

    Die kommenden Herausforderungen

    Ein Klacks für die KI

    Natürlich wird die KI all die kleinen Probleme wie Datenschutzverletzungen, mangelnde Barrierefreiheit, Performance-Einbußen und Sicherheitslücken im Handumdrehen lösen. Und wenn nicht, dann haben wir zumindest etwas gelernt: Nämlich, dass blinder Technologieglaube nicht immer der beste Ratgeber ist.

    Fazit

    Ein Hoch auf die KI!

    Also, springen wir alle auf den KI-Zug auf! Aber Vorsicht: Nicht, dass wir dabei unter die Räder geraten. Denn wie sagt man so schön? Wer zuletzt lacht, lacht am besten.

    Weiterführende Lektüre:

    Bleibt kritisch und hinterfragt den Hype. Nicht alles, was glänzt, ist Gold.

    Fediverse-Reaktionen
  • Web Komponenten – Die vergessene Revolution im Web

    Ich habe in den letzten Jahren unzählige Webseiten mit React, Vue oder anderen Frameworks gebaut. Was all diese Seiten gemeinsam haben? Sie mussten ständig aktualisiert werden, um mit den neuesten Trends und Updates Schritt zu halten.

    Und dann gibt es da die paar Seiten, die ich vor Jahren mit Web Komponenten testweise erstellt habe. Wisst ihr was? Sie funktionieren immer noch – und nicht nur das: Sie haben sogar an Funktionsumfang gewonnen! Dank der kontinuierlichen Unterstützung durch immer mehr Browser haben sie sich fast von selbst weiterentwickelt.

    Es gibt schlicht keinen Grund mehr, auf Web Komponenten zu verzichten. Vielleicht bist du skeptisch oder hast Angst vor „Neuem“? Aber mal ehrlich, so neu sind sie nicht. Schon 2019 habe ich in Blogposts dafür geworben, endlich Web Komponenten zu nutzen.

    Was meint ihr? Sollten wir die ganzen Frameworks mal für eine Weile in den Urlaub schicken und das Web so gestalten, wie es gedacht war?

  • Globale Gaumenfreuden: Entdecke Vegane Rezepte von AI-Chefköchen aus aller Welt

    Ich habe eine Webseite erstellt, die eine Sammlung von veganen Rezepten präsentiert, generiert von fiktiven AI-Chefköchen aus verschiedenen Weltregionen. Es gibt Emily aus Amerika, Hiroshi aus Asien, Isabella aus Europa und Nia aus Afrika, die jeweils ihre kulturellen Einflüsse in die Rezepte einbringen. Die Rezepte sind detailliert beschrieben, inklusive Zutatenlisten und Schritt-für-Schritt-Anleitungen. Außerdem zeige ich AI-generierte Bilder der Gerichte. Die Seite eignet sich sowohl für erfahrene Veganer als auch für Einsteiger.

    Ich plane, die Kochbarkeit der Rezepte zu testen. Bisher wirken sie vielversprechend. Ich habe jedoch bemerkt, dass manche Bilder unrealistisch aussehen und seltsame Texte enthalten. Ich werde daran arbeiten, die Prompts dazu anzupassen, um die Qualität und Authentizität der Rezepte weiter zu verbessern. Ziel ist es, eine verlässliche und inspirierende Ressource für vegane Küche zu schaffen, die Technologie und kulinarische Kunst vereint.

    Link zur Webseite: Recipes by our chefs

  • Ein Mastodon Bot: Ein tägliches Fake-Zitat von Bert Hellinger

    Alles begann, als Nutzer mich auf Mastodon wegen meines Nachnamens fragten, ob ich mit dem berühmten Bert Hellinger verwandt sei. Natürlich bin ich das nicht, aber diese Frage hat mich inspiriert. Ich bemerkte, dass die Zitate, die ich mit ChatGPT 3.5 erzeugte, oft denen von Bert Hellinger sehr ähnlich waren. Das brachte mich auf die Idee, einen Mastodon Bot zu erstellen.

    Der Bot, den ich gebaut habe, ist ziemlich einfach, aber effektiv. Jeden Tag generiert er ein Zitat, das im Stil von Bert Hellingers Aussagen ist. Diese Zitate sind nicht nur eine Hommage an seine Arbeit, sondern auch ein kleines Experiment im Bereich der digitalen Kreativität.

    Ein Aspekt des Bots ist, dass er die Zitate nach einem Jahr automatisch löscht.

    Ich hoffe, ihr findet diesen kleinen Bot genauso spannend wie ich. Schaut gerne vorbei und lasst euch täglich von einem neuen Zitat inspirieren. Für mich war es eine großartige Erfahrung, in die Welt der Bots einzutauchen und etwas Neues zu schaffen.

    Ihr könnt den Bot hier finden:

    https://hellinger.wtf/@bert

  • Holger-Hellinger.de neu gemacht

    Hey Leute! Große Neuigkeiten auf holger-hellinger.de! Ich habe die Seite komplett neu aufgesetzt, mit einem frischen Design und neuen Inhalten. Ich habe meinen bisher tiefer liegenden CV/Lebenslauf direkt nach vorne geholt, sodass ihr jetzt noch schneller einen Einblick in meine Erfahrungen und Skills bekommt. Schaut vorbei, erkundet die Neuerungen und lasst mich eventuell wissen, was ihr denkt! Freue mich auf euren Besuch auf holger-hellinger.de. Entdeckt, was sich alles verändert hat!

  • Neue Avatare und so

    Die Tochter hat mir neue Avatare gebaut. Habe mich für den freundlichen von beiden entschieden. Hoffe er gefällt euch auch.