Zipline Drohnen

In den letzten Tagen verfolgt mich dieses Video. Und eigentlich wollte ich es nicht anschauen, obwohl ich ja einen Faible für Drohnen habe. Nur das Thema "Auslieferung per Drohne" fand ich immer umständlich und unflexibel.

In diesem Video wird von der Drohnenauslieferung von Medikamenten und Blutkonserven in Ruanda berichtet. Und das ist super beeindruckend. Deswegen ist das Video auch sehr sehenswert.

Was den zweiten Teil betrifft. Also der Innerstädtischen Auslieferung, die man auch im Thumbnail sieht, bin ich aber immer noch skeptisch. Aber hey, den Propeller, den die erfunden haben ist auch schon alleine beeindruckend.

Star Wars Jedi: Survivor

Was für eine Überraschung. Gerade wurde der Story Trailer von Star Wars Jedi: Survivor veröffentlicht. Und ich bin hin und weg.

Es soll Ende April erscheinen. Da freu ich mich schon drauf.

Trailer – Dungeons and Dragons

D&D, das Nerd und Geek Spiel. Viele Geschichten und Erwähnungen auch in der Popkultur. Und was soll ich sagen, ich als Geek habe es noch nie gespielt. In meiner Jugend habe ich Das schwarze Auge gezockt, jedoch hatte ich nie die Möglichkeit mal bei D&D reinzuschauen.
Und so habe ich auch sehr spät von der neuen Verfilmung gehört. Und als ich davon gehört habe, war mein Interesse auch nicht gerade hoch.
Jetzt ist der zweite Trailer erschienen. Und was soll ich sagen? Er gefällt mir sehr gut. Das wird doch wohl ein Kino Besuch.

https://youtu.be/f_KHhvEFVec

 

Hoch Valyrisch und Duolingo

Schon bei Game of Thrones war ich fasziniert von der erfundenen Sprache Valyrisch. Neulich haben wir dann House of the Dragon angeschaut und dort wurde sogar mehr Valyrisch gesprochen. Und nach einer kurzen Recherche habe ich erfahren, dass die Sprache ausgebaut wurde und jetzt wie Klingonisch oder Elbisch ein erlernbare Sprache ist. Und schon kam der Geek in mir durch. Warum nicht lernen? Und so habe ich mich bei Duolingo gefunden. Den Kurs gibt es aber nur mit Englisch als Basissprache. Und da ich vor langer Zeit mal gelesen habe, dass das sogar eine bessere Art ist eine neue Sprache zu lernen habe ich mich angemeldet.
Es ist echt klasse gemacht und überraschend wie weit man mit der kostenlosen Version kommt. Auch wenn man manchmal auf Punkte stößt, die meiner Meinung nach so programmiert sind, um in das Abo gezwungen zu werden. Ich akzeptiere es aber, denn die Firma muss ja Geld verdienen.
Und so werde ich jetzt mal üben und schauen wie weit ich komme.

Wer auch Interesse hat kann mich gerne als "Freund" hinzufügen.

https://www.duolingo.com/profile/Kobaltauge?via=share_profile

Jedi Tricks – Public IP per bash und Telegram

Am Wochenende war ich unterwegs und wollte kurz zuhause etwas nachschauen. Jedoch konnte ich mich nicht per VPN an meine FritzBox anmelden. Grund dafür ist die geändert Public IP Adresse. Diese ändert sich bei mir nicht sehr oft, aber meistens, wenn man sie braucht, ist sie eine andere als im Smartphone gespeichert.
Und so habe ich eine Möglichkeit gesucht, wie ich immer die Adresse parat habe. Und ja, ich kenne das ganze DynDNS gedöns und über MyFritzBox gibt es sicherlich auch eine Möglichkeit. Aber a) ist mir echt zu nervig zu konfigurieren und b) wird sicherlich bei beiden Diensten ein Account benötigt. Beides also nervig.
Also dachte ich mir, ich schreibe ein kleines Python Skript, dass mit die IP Adresse als Text irgendwo speichert, damit ich sie jederzeit erreichen kann. Doch die einfachste Methode die Public IP zu bekommen ist ein Bash Befehl:

dig +short myip.opendns.com @resolver1.opendns.com

Des Ergebnis in einer Variable/Textfile zu packen und dann mit Python noch einen Schritt durchzuführen, dass was mir auch zu komplex. Und dann kam mir die Idee, warum nicht einfach die Adresse an mein Telegram Chat, den ich auch für andere Überwachungen benutze, schicken. Telegram ist, was Bots betrifft, ein genialer Messenger. Denn eine Nachricht kann man auch mit einem einfachen curl Befehl absetzten. Und das wiederum ist perfekt für die Bash. Und so haben ich diese Fingerübung runtergehackt und lasse sie per Cron Job jede Nacht laufen.
Damit finde ich dann auch heraus wie oft sich meine IP ändert.


#!/bin/bash
GROUP_ID=
BOT_TOKEN=
# URL = "https://api.telegram.org/bot{}/".format(TOKEN)
myip="$(dig +short myip.opendns.com @resolver1.opendns.com)"
curl -s --data "text=$myip" --data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null

PS: Wie du die ChatId herausfinden und dir einen eigenen Bot Token erstellen kannst, werde ich demnächst erklären.

Pi-hole YouTube ad blocker #2

Gestern habe ich berichtet, dass ich die Blacklist per regex optimiere. Leider hat das nicht lange angehalten.
Nach dem Post, dem Abendessen und der neuen Folge "House of the Dragon" wollte ich mir noch ein paar YouTube Videos reinziehen. Jedoch hat die App auf dem FireTV komplett gestreikt. Es wurde zwar keine Werbung angezeigt, aber sie hat auch nicht einfach weiter zum Video gesprungen.
Ich weiß nicht, ob das an der App liegt oder ob der Timeout einfach zu lange für meine Geduld war. Gestern Abend habe ich dann die Regel deaktiviert um noch etwas zu schauen.
Weitere Experimente verlege ich dann wohl ins Wochenende, wenn etwas mehr Zeit ist.

Pi-hole YouTube ad blocker

Neulich hat jemand auf Mastodon gefragt, ob man mit dem Pi-hole auch YouTube Werbung blocken kann. Als Antwort darauf gab es einen Link in ein GitHub Repository mit einer scheinbaren Lösung.

Auf der einen Seite bin ich eine Person, die Werbung auf YouTube laufen lässt, weil ich mir damit einbilde, dass ich den Creator damit auch unterstütze. Und wenn ich schon seinen Content kostenlos serviert bekomme, dann kann ich auch mal eine 20 Sekunden Werbung anschauen (ja, auf TikTok sind 20 Sekunden fast 2 Beiträge, aber was soll's).
Andererseits sind die 20 Sekunden meine oberste Schmerzgrenze. Wenn eine Werbung länger ist, dann ist der Klick auf den "Werbung überspringen" Button schnell erledigt.

Ich bin aber ein Geek und ich liebe außergewöhnliche Lösungen. Was genau macht denn diese Lösung von kboghdady?
Er selbst pflegt eine Liste mit all den DNS Einträgen der Google Werbeserver. Mit dem bereitgestellten Skript lädt er diese Liste auf den Raspi und schießt diese dann direkt in die SQlite Datenbank des Pi-holes als neue Blackliste. Dabei überprüft er auch doppelte Einträge und bereinigt sie. Ein echt cleveres Skript, dass nur einen Cronjob braucht.

Und funktioniert es? Leider nein. Denn schon an der Beschreibung, dass man das Update Skript stündlich ausführen soll, sieht man, dass es ein Kampf gegen Windmühlen ist. Denn die Ressourcen von Google neue DNS Ad-Server zur Verfügung zu stellen ist unbegrenzt. Und so sehe ich auf meinem FireTV immer noch Werbung. Im Logfile des Pi-hole sehe ich zwar ab und zu geblockte Abfragen, aber dann auch gleich wieder zig neue "grüne" Einträge.

Jedoch ist mir etwas aufgefallen, dass die DNS Namen ein bestimmtes Muster haben. Sie fangen immer mit 2 oder 3 Zeichen, meistens "r", an, dann folgen drei Minuszeichen, bis dann der Rest in einer "googlevideo.com", einer ".c.youtube.com" oder einer "gvt1.com" Domain endet.
Also habe ich Folgendes jetzt mal bei mir eingebaut. Klar blocke ich nicht die Domains, denn dann wird YouTube sicherlich nicht mehr funktionieren. Aber im Pi-hole kann man mit Regex arbeiten. Diese zwei Regeln sind jetzt in meiner Blacklist.

^..---.*
^...---.*

Kurze Erläuterung. Das "^" steht für den Beginn. Der "." für ein beliebiges Zeichen. ".*" dann für alle Zeichen in unbestimmter Anzahl. Damit ergibt sich folgender Suchbegriff:
Es fängt mit 2 beliebigen Zeichen an, gefolgt von 3 Minuszeichen und nach den Minuszeichen kommen beliebige Zeichen in beliebiger Anzahl hinterher.
Der zweite Eintrag ist dann für die Domains, die 3 Zeichen vor den Minuszeichen haben.

Ich werde diese Einstellung mal die nächsten Tage laufen lassen und hier berichten. Es muss doch einen Grund geben, warum kboghdady den cleveren, aber so gesehen umständlichen Weg über die festen Einträge geht.

Jedi Tricks – S-Verweis in VIM

Ich bin immer wieder erstaunt, was mit vim alles möglich ist. Auch wenn es mir unter Windows nicht ganz so fluffig von der Hand läuft wie Notepad++, so gibt es einfach Aufgaben, die einfach nicht anders machbar sind. Heute war wieder so ein AHA-Moment.
Folgenden Situation. Die erste Datei ist eine XML Datei die mittendrin mehreren Dutzend Datenzeilen hat, mit folgender Struktur (nur mir noch mehr "Feldern").

<id="00001" name="Viserys" alter="100">
<id="00002" name="Daemon" alter="100">
<id="00003" name="Rhaenyra" alter="100">
<id="00004" name="Alicent" alter="100">

Wie man sehen kann haben alle das Alter von 100.
Die zweite Datei kam aus einer Datenbank schön als CSV. Nach dem Löschen von unnötigen Spalten hatte ich folgendes:

26,0003
40,0002
26,0004
60,0001

Wie bekommt man jetzt das richtige Alter in das Feld in die XML ohne die Struktur der Datenzeilen und der gesamten XML zu zerstören?
Früher hätte ich alles irgendwie ins Excel gebracht, mit S-Verweis herumgedoktort, dann in Notepad++ die, dann Tab getrennten Einträge aus Excel, bereinigt und am Ende alle anderen Daten vor und nach den Einträgen per Copy&Paste wieder rangetackert.

Ein Python Skript zu schreiben war mir zu aufwändig, denn es waren insgesamt keine hundert Einträge. Da einen kompletten Parser zu bauen... Nein.

Mir kam die Idee das mit vim Makros zu lösen aber es sind ja zwei Dateien. Und dann kam mir die Idee, was ist wenn das Makro auch mehrer Tabs in vim steuern kann? Und nach einem kurzen Test hatte ich die Bestätigung, es geht. Also beide Dateien in vim in separaten Tabs öffnen und folgendes als Makro gespeichert.

- Sprung an den Anfang der Zeile
0
- Suche Eintrag id
[ESC]:/id[Return]
- Zwei Worte vorwärts und alles in den Anführungszeichen in den Zwischenspeicher lesen
2wvi"y
- In den Tab wechseln zu der Datei (das kann unterschiedlich bei jedem sein wegen der Reihenfolger der Tabs)
[STRG]+h
- Suche nach Eintrag aus dem Zwischenspeicher
[ESC]/[STRG]+r"[Return]
Damit ist man in der entsprechenden Zeile. Das ist der S-Verweis =)
- An den Anfang springen und das Alter in den Zwischenspeicher kopieren
[ESC]0yw
- Zurück in die XML Datei
[STRG]+l
- Den Eintrag "alter" suchen
[ESC]/alter[Return]
- Zwei Wörter vorwärts alles in Anführungszeichen markieren und durch den Inhalt des Zwischenspeicher ersetzen
2wvi"p
- Und damit man mit der nächsten Zeile weitermachen kann enden die Makros eigentlich fast immer mit "runter" und an den Anfang der Zeile
[ESC]j0

Und das war's. An drei Zeilen getestet und als gut befunden. Und dann mit
100@a[Return]
der Magie zugeschaut wie es blitzt und blinkt und alles wie gewünscht aufgeräumt wird. Klar muss man aufpassen das nicht weitere "id" Einträge irgendwo sind (mein Feldnamen war eindeutiger).
Man kann es aber auch Zeile für Zeile ausführen und trotzdem einen haufen Zeit sparen.

Vim Makros sind das Beste.

DRL – Drone Racing League umsonst im Epic Store

Drohnen sind auch so ein technisches Gadget, die schon soooo lange auf meinem Wunschzettel stehen. Aber nicht nur die Fotodrohnen wie diverse Bekannte von mir haben, sondern die FPV-Drohnen. Ich habe deswegen noch nie "zugeschlagen" weil mir einfach die Zeit fehlt, das als zusätzliches Hobby durchzuführen. Kurzzeitig habe ich meine Leidenschaft mit der Drone Racing League im Fernsehn befriedigt. Aber diese wird scheinbar nicht mehr gesendet. Zumindest taucht es nicht mehr in meinem Radar auf.
Was aber aufgetaucht ist, ist das aktuelle Angebot von Epic Games in deren Store. Ich habe es mir geschnappt und konnte heute ne lockere Stunde ein wenig herumfliegen. Zuschlagen, denn Mitte Oktober ist das Angebot vorbei.

https://store.epicgames.com/en-US/p/the-drone-racing-league-simulator

Star Wars: Andor (Folge 1-3)

Zur Zeit verfolge ich viele Serien parallel. Das was auch der Grund warum ich, obwohl ich ein sehr großer Star Wars Fan bin, nicht mit Andor anfangen wollte. Jedoch kann man sich der Serie kaum entziehen. Zuerst die Veröffentlichung der ersten drei Folgen und dann das überwältigende positive Feedback von allen Seiten. Und nach dieser harten Woche habe ich beschlossen mir etwas Gutes zu tun.

Die Serie hat echt einen sehr guten Look. Sowas dreckiges, hartes, reelles. Genau das, was mir an.... Oh ha, ich wiederhole mich. Jedoch war ich ein wenig überrascht als die erste Folge zu Ende war. Irgendwie zu früh, sie ist nicht in Fahrt gekommen. Da ahnte ich, warum man drei Folgen auf einmal auf den Markt geworfen hat. Zum Glück hatte ich mir auch genug Zeit genommen. Gleich weiter zu Folge Zwei. Und da genau das Selbe. Zu schnell vorbei und immer noch nicht in der Spur. Dafür schloss Folge 3 das Paket ab. Eine großartige Folge und die Klammer um alle Drei. Besonders die Schlussbilder sind ganz ganz großes Kino.

Ich bin gefesselt und werde die nächsten Mittwoche doch kaum abwarten.