WordPress: onclick

Es gibt eine neue Unterseite: tools. Darin ist noch fast nichts, nur ein Link, der mir ein “breitenloses Leerzeichen” in die Zwischenablage kopiert. Gut zu gebrauchen auf Mastodon, um bspw. das Plural-S von #hashtags abzutrennen. Aber das ist nicht der Grund, warum ich das poste.

Der Grund, warum ich das poste, ist dass es nicht offensichtlich ist, wie man WordPress einen JS-Link beibringt. onclick wird (offenbar?!) rausgefiltert, das altmodische href="javascript:" ebenfalls. Wie folgt geht es:

Das macht sich Gutenberg-Syntax zunutze, was aber auch im Classic-Editor erhalten bleibt.

Gradle: Gezippte Dependency verwenden

via, und/bzw.

Darauf zugreifen kann man dann bspw. in anderen Tasks mittels

PS: Mir ist bewusst, dass ${buildDir} deprecated ist, aber ${layout.buildDirectory} ging aus irgendeinem Grund nicht.

Gradle: Task mit bestimmtem JRE ausführen

Edit zur Erklärung: Gradle benötigt Java, und bspw. ein installiertes JDK 17 kann natürlich Language Level 8 kompilieren. Aber es ist trotzdem ein JDK 17 und enthält bspw. kein JAXB mehr. Die Aufgabe ist hier, einen Gradle-Task unabhängig von meiner Java Version mit einem 8er JRE auszuführen. Das verwendete Plugin lädt alles dafür benötigte herunter.

Original Post below:

settings.gradle:

build.gradle:

via, und, Danke Nils!

Mastodon in WordPress Menü

Whoop whoop! Nachdem Elmo Twitter kaputt gemacht hatte, war ich letzten November endgültig zu Mastodon gewechselt. Das Widget im Menü hier hatte ich gelöscht. Nun habe ich in neues gefunden, das analog für Mastodon funktioniert: include-mastodon-feed.

Folgender Shortcode kommt zum Einsatz (might change):

include-mastodon-feed instance=”troet.cafe” account=”109371466136964927″ limit=”1″ excludeBoosts=”true” excludeReplies=”true” excludeConversationStarters=”true” linkTarget=”_blank” showPreviewCards=”false” text-permalinkPre=”am” date-locale=”de-DE” date-options=”{year:undefined, month:’long’, day:’numeric’, hour:’numeric’, minute:’numeric’}” text-permalinkPost=”:”

Ergänzt um etwas css:

Slow Movie Player: PHP controlled

Um meinen Slow Movie Player via PHP zu “steuern” (aka den Service ein- und auszuschalten erst mal nur), bedurfte es eigentlich nur einer Änderung: Ich musste dem entsprechenden User (hier: www-data) das Recht geben, den Service per systemctl zu starten und zu stoppen: $ sudo visudo, dann

Achtung: Die Zeile muss an das Ende der Datei!

Dann ist das ziemlich einfach:

Achtung: systemctl ist hier in /usr/bin, nicht in /bin!

Zwischendurch habe ich zum Debuggen

  • den User www-data zu sudo hinzugefügt: sudo usermod -aG sudo www-data (und dann aber wieder entfernt: sudo gpasswd --delete www-data sudo)
  • dem User www-data eine Shell (und ein Home-Verzeichnis und ein Passwort) zugewiesen, damit er sich einloggen kann (und dann wieder entfernt)

PS, zum Einsatz kommt PHP 8.2, mittels Umweg über sury.org.

Slow Movie Player: Casablanca

(Vorab: Anders als sonst linken dieses mal alle Bilder zu einer größeren Version)

Über diese News auf raspberrypi.com (und den zugehörigen Medium-Post) bin ich auf dieses Repo gestoßen (Fork). Was ich so cool fand, dass ich es nachgebaut habe, und just während ich diesen Eintrag tippe, steht meine Version vor mir und spielt Casablanca – in 1-Sek/24-Frames-Sprüngen alle 5 Minuten 🙂

Und eigentlich gibt es dazu nicht so viel zu zu sagen, das ist alles ziemlich straight forward. Ein paar Details wollte ich aber festhalten:

  • der Pi wird von hinten, das Display von vorn mit Heißkleber an die Rückwand des Rahmens geklebt
  • ergänzt wird der Rahmen um ein Passepartout und “Museumsglas” von arsvendo.de. Das Ikea-Passepartout habe ich genutzt, um das Display einzufassen (mit Aussparungen für den Heißkleber):

  • Casablanca ist natürlich eigentlich 4:3. Um mir die schwarzen Balken zu ersparen, habe ich ihn mit HandBrake und folgenden Settings gecroppt (tatsächlich habe ich auch Intro/Outro abgeschnitten, Ton/Subtitles/Kapitel weggeworfen, etc. Hier geht es nur ums Cropping, zum Rest siehe Wiki):

Und das funktioniert bildausschnittstechnisch meistens ziemlich gut:

Default value for bash script parameter

Die Verbindung von How can I pass a command line argument into a shell script? und Assigning default values to shell variables with a single command in bash sieht wie folgt aus:

Aufzurufen dann wahlweise mit oder ohne Parameter:

– klar.

Aras Felder in MS Office

Wer – wie ich – nicht so oft das Vergnügen hat, Officedokumente aus Aras heraus zu editieren, der sucht vielleicht – wie ich – etwas länger danach, Aras-Attribute in Office zu referenzieren. Spoiler: Das tut man natürlich nicht im Aras-Connector-Ribbon:

Insert > Quick Parts > Field

Field name “DocProperty” > [entsprechendes Feld auswählen]

VS Media mit eigenem CI+-Modul

Also.

Ich habe ja einen neuen Fernseher. Der alte war zum Zeitpunkt des Umstiegs knapp 12 Jahre alt und riss halt nix mehr. Aber er war (und ist) auch nicht kaputt, und zum Tagesschau gucken oder für die Youtube-Yoga-Sessions der Frau noch allemal ok. Gucken wir doch also mal, was man bei VS Media benötigt, um auf nun zwei Fernsehern TV zu gucken:

Unter “Geräte & Zubehör” heißt es unter der Überschrift “CI+ Modul für media.TV+”, Stand heute:

Dann benötigen Sie zum Empfang von media.TV+ lediglich eine freigeschaltete Smartcard und das zertifizierte CI+-Modul der VS Media.

Das Modul erhalten Sie nur bei der VS Media.

Kaufpreis 49,00 €

Hm. Das’ teuer. Was ist denn das für ein tolles Modul, dass das schon leer 50€ kostet? In den FAQ (Stand heute) heißt es:

Für die Freischaltung der Pakete von MediaTV+ benötigen Sie ein CI+-Modul mit Conax-Verschlüsselung und Chipset Pairing.

Alles klar. “Ein” Modul, nicht mehr “das” Modul. Warum sollte es sowas auch “nur bei der VS Media” für 50€ geben? Bei Ebay Kleinanzeigen gibt es sowas für’n Zehner plus Versand. Auf Nachfrage bestätigt mir technik@stadtwerke-media.de denn auch die gute Nachricht (es gibt auch eine schlechte!): Man kann sein eigenes Modul verwenden Wenn:

  • die Karte die o.g. Anforderungen hinsichtlich Verschlüsselung und Pairing erfüllt, klar
  • die Karte “auf Kompatibilität geprüft” wurde, dafür schicke man einfach die Chipset ID (steht auf der Karte) an die obige Emailadresse, die prüfen das dann
  • man eine Smartcard hat, das Modul “mit der Smartcard verknüpft” und die Smartcard freigeschaltet ist.

Letzteres deckt sich auch mit meinen Vertragsunterlagen:

Ich habe “BasisHD” mit einem Modul und einer Smartcard, und selbstverständlich brauche ich dann ein weiteres Modul und eine weitere Smartcard pro weiterem TV ‍♂️ Das Modul habe ich von Ebay, Tech-Support sagt GO, Vertrag sagt ich brauche eine Karte, also schickt mir bitte eine!

Jetzt die schlechte Nachricht: Tun sie aber nicht.

Denn was Vertrag (und auch Tech-Support, btw) galant verschweigen: Man bekommt pro Vertrag aus­schließlich das, was man angekreuzt hat. Im Fall von “BasisHD” also “1 Smartcard”. Punkt. Das Modul kann man selber haben oder nicht, aber die Karte und (in meinem Fall) “BasisHD” bilden eine un­­trenn­­bare Einheit. Der im Screenshot markierte Teil ist also nicht der technische Hinweis für Laien, als der er formuliert ist, sondern eine einschränkende Klausel! Sie müsste eigentlich lauten:

Pro TV-Gerät benötigen Sie ein CI + Modul oder einen Receiver. Bei Nutzung eines eigenen Receivers oder CI + Moduls wird eine Conaxverschlüsselung/ein Chipset-Pairing benötigt. Außerdem brauchen Sie eine Smartcard, die Sie ausschließlich bei Vertragsabschluss über eines der oben genannten Pakete bekommen. Die Smartcard bleibt Eigentum der Vereinigte Stadtwerke Media GmbH (VS Media).

Und natürlich greift dann auch alles weitere, also “Aktivierungspauschale”, Mindestvertragslaufzeit, etc. Tja. Ich hätte mir bei einem Anbieter aus dem Nachbardorf ein weniger irreführendes Gebahren gewünscht, aber offenbar kann man auch einfach bei Vodafone bleiben.

Aber: Ja, man kann (wohl) sein eigenes CI+-Modul verwenden.