Linux und Technik aus Worms
  • Stefans Blog
  • Inhalt
  • Mediathek
  • Git
    • Meine Favoriten aus dem Git
  • Wolust Termine
  • Mastodon Blog
    • Zettelkasten für Aphorismen 2023-26
  1. Aktuelle Seite:  
  2. Startseite
  3. Inhalt

Inhalt

Hier blogge ich zum Thema Linux, Bash, Raspberry Pi, Mikrocontroller und Stadt Worms

Rote Mausspuren KDE/Plasma

Rote Mausspuren auf dem Bildschirm. Und die gehen auch nicht mehr weg.

Das kann schon mal passieren, dass man mit der flachen Hand die vordere linke Ecke der Tastatur drückt und gleichzeitig die Maus schubst.
So  löscht man die Linien wieder …

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 20. Oktober 2025

Weiterlesen: Rote Mausspuren KDE/Plasma

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhn.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }

Online ! Browsertest auf Trackbarkeit

Diese Parameter verrät der Browser.

IP, Cookie, Sprache, Bildschirmgröße und vieles mehr. Bösartige Tracker speichern das. 
Die Daten werden mit PHP und Javascript ausgelesen. Sie können diese mit Ajax und anderen Techniken auf dem Server abgespeichert werden. Mach ich aber nicht. Probiers gleich aus !

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 19. Oktober 2025
  • Sicherheit

Weiterlesen: Online ! Browsertest auf Trackbarkeit

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhm.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }
phantomJS macht Screenshots

PhantomJS

Screenshot machen, ein Beispiele für PhantomJS

PhantomJS wird seit Jahren nicht mehr maintained. Ea gibt aber viele Anwendungsbeispiele. Deshalb hab ich das mal probiert. Es werden mehrere Screenshots in verschiedenen Auflösungen gemacht. Im Bild hab ich die Screenshots von https://wolust.de als Layer übernander gelegt.

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 01. Oktober 2025

Weiterlesen: PhantomJS

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhm.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }
Radarplatinchen und Aruino Mega

Bewegungsradar von einer Lichtsteuerung am Arduino

Steinel SIR13 Radarbewebungssensorplatinchen an einen Arduino Mega

Ist beim Ausschlachten aus einem Gerät gefallen. 5 Volt Und es tut sich was.

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 01. Oktober 2025
  • Arduino

Weiterlesen: Bewegungsradar von einer Lichtsteuerung am Arduino

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhm.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }
Multimeter  mit USB Anschluss gebastelt

Lidl Multimeter bekommt USB-Anschluss

Das Multimeter vom Lidl ist ein schönes Bastelobjekt.

 Nach dem Basteln sind alle Zertifikate für das das Gerät erloschen. Nur noch für Kleinspannung und niedere Ströme verwenden ! Draht an RX und Masse (-) anlöten. Die andere Seite der Drähte hab ich auf einen UART-USB-Wandler

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 24. September 2025

Weiterlesen: Lidl Multimeter bekommt USB-Anschluss

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhm.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }

Wormser Fahrradachsen Stadtplanung

Natürliche Fahrradachsen für Worms

Worms braucht dringend funktionierende Fahrradstraßen

Mein Vorschlag ist, die Achse Herrnsheim - Hauptbahnhof- Rhein als Fahrradstrasse auszubauen. Von-Steubenstr., Siegfriedstr. und Berliner Ring. Die Vororte *Hochheim*, *Herrnsheim*, *Neuhausen* bekommen so einen direkten

Details
Geschrieben von: Stefan Höhn a.k,a @dewomser
Veröffentlicht: 24. September 2025
  • Worms

Weiterlesen: Wormser Fahrradachsen Stadtplanung

  • Stefan Höhn : Benutzt seit ca. 2000 Linux. Ist ein dilettierenter Autodidakt, ist der Webmaster und einziger Autor von untergang.de. Mehr Info : https://stefan-höhm.de
  • Teilen auf Mastodon:     // I got the key, I got the secret… let key = 'mastodon-instance'; let instance = localStorage.getItem(key); // get the link from the DOM const button = document.querySelector('.mastodon-share'); // refresh the link with the instance name const refreshlink = (instance) => { button.href = `https://${instance}/share?text=${encodeURIComponent(document.title)}%0A${encodeURIComponent(location.href)}`; } // got it? Let's go! if (button) { // labels and texts from the link let prompt = button.dataset.prompt || 'Please tell me your Mastodon instance'; let editlabel = button.dataset.editlabel || 'Edit your Mastodon instance'; let edittext = button.dataset.edittext || '✏️'; // Ask the user for the instance name and set it… const setinstance = _ => { instance = window.prompt(prompt, instance); if(instance) { localStorage.setItem(key, instance); createeditbutton(); refreshlink(instance); button.click(); } } // create and insert the edit link const createeditbutton = _ => { if (document.querySelector('button.mastodon-edit')) return; let editlink = document.createElement('button'); editlink.innerText = edittext; editlink.classList.add('mastodon-edit'); editlink.title = editlabel; editlink.ariaLabel = editlabel; editlink.addEventListener('click', (e) => { e.preventDefault(); localStorage.removeItem(key); setinstance(); }); button.insertAdjacentElement('afterend', editlink); } // if there is a value in localstorage, create the edit link if(localStorage.getItem(key)) { createeditbutton(); } // When a user clicks the link button.addEventListener('click', (e) => { // If the user has already entered their instance // and it is in localstorage write out the link href // with the instance and the current page title and URL if(localStorage.getItem(key)) { refreshlink(localStorage.getItem(key)); // otherwise, prompt the user for their instance and save it to localstorage } else { e.preventDefault(); setinstance(); } }); }
  1. test1
  2. Wie war der Linux Erlebnis-Tag | Linux Presentation Day 2025.2 an der Hochschule Worms
  3. Mein Beitrag zum LPD25/1 in Worms / Tracking beim Einkauf
  4. Blumenkasten am Küchenfenster mit Feuchtefühler

Seite 4 von 5

  • 1
  • 2
  • 3
  • 4
  • 5

Ältere Beiträge

  • Aus meinem Zettelkasten für Aphorismen 2026
  • mastodon Link test
  • Podcast Die Wormser Homepages
  • Ich höre gerade und tröte - Eine App für Linux
    • Bash
  • Siemens Step5 AG und PG
  • Ein sehr alter Pentium 166 bootet Linux
RSS-Feed Untergang,de
  • Einloggen
  • Stefan Höhn
Mach mit bei Wolust !
-=== kostenlose Werbung ===