Star Trek meets Mord ist ihr Hobby

direct link to list

Motivation

Wie bekomme ich möglichst schnell heraus, welche Personen sowohl bei allen Star Trek-Serien als auch bei Murder She Wrote mitgemacht haben? Mir war aufgefallen, dass mir viele Gesichter in den X-Trillionen Folgen Murder She Wrote bekannt vorkamen. Meiner Vermutung war: von Star Trek.

Nur, wie finde ich ohne allzu viel Aufwand heraus, wer sowohl im Star Trek Franchise als auch bei Murder She Wrote mitmachte?

Copilot

KI is your Friend, klar. Also fix Copilot angeworfen und die Aufgabe gestellt. Das Ergebnis war eine Liste von ca. 40 Personen. Schnell wurde klar, dass die Daten des ersten Wurfes Schrott sind. Schauspieler und Rollen wurden vertauscht. Folgennamen waren vertauscht. Die Figur Q trat angeblich bei Murder She Wrote auf. Also nochmal. Ich erklärte copilot schrittweise, was zu tun ist:

  • 1.) Liste aller Darsteller aller StarTrek-Serien und Filme erstellen
  • 2.) Liste aller Darsteller aller Murder She Wrote-Folgen erstellen
  • 3.) Überprüfen, welche Personen in beiden Listen zu finden sind

Ich habe Copilot angewiesen, sehr genau zu sein. Copilot sollte nur die IMDB verwenden. Auch nach sicherlich 30 Zyklen u.a. mit der Bitte um Korrektur und einer anderen Vorgehensweise, der Angabe der fehlerhaften Daten usw. waren die Daten fehlerhaft. M.M.n. hatte ich alles getan, um die KI auf die richtige Bahn zu führen.

Das Ergebnis blieb also massiv fehlerhaft: zuviele Einträge, zuwenige Einträge, falsche Einträge.

Ein anderer Weg musste her.

IMDB Database

Glücklicherweise stellt die IMDB neben einer kostenpflichtigen API auch eine Offline-DB zum Download zur Verfügung ( https://developer.imdb.com/non-commercial-datasets/ ). Sie umfasst 7 tsv-Dateien mit insgesamt 8 GB. Das sind tab separated Value-Dateien. Unter https://sqlitebrowser.org findet man den SQLite-Browser, mit dem man einfach SQL-Datenbanken anlegen kann. Also los: Datenbank angelegt und TSV-Dateien importiert. Beim Import kam es zu Fehlern. Grund dafür sind Anführungszeichen in den tsv-Dateien. Das Problem ließ sich mit einem Powershell-Script umgehen:

param (
    [string]$original,  # Das Zeichen oder der String, der ersetzt werden soll
    [string]$replacement  # Das Zeichen oder der String, der als Ersatz verwendet werden soll
)

# Verzeichnis des Skripts
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Definition
Set-Location -Path $scriptDir

# Durchsuchen aller .tsv-Dateien im aktuellen Verzeichnis
Get-ChildItem -Path $scriptDir -Filter *.tsv | ForEach-Object {
    $file = $_.FullName
    $content = Get-Content -Path $file

    # Ersetzen der Zeichen bzw. Strings im Inhalt der Datei
    $updatedContent = $content -replace [regex]::Escape($original), $replacement

    # Speichern der aktualisierten Inhalte in die Datei
    Set-Content -Path $file -Value $updatedContent
}

Write-Output "Zeichen bzw. Strings wurden in allen .tsv-Dateien erfolgreich ersetzt!"

Das Powershell-Script unterteilt die großen Dateien in mehrere kleinere. Sollte es hier bei euch Probleme geben, bitte mit dem Wert $lineLimit herumspielen.

Die erstellte Datenbank stelle ich nicht zur Verfügung, da ich nicht weiß, wie hier der rechtliche Rahmen ist.

Mit folgendem Select werden die entsprechenden Daten ermittelt:

select distinct nconst from (
select tp.nconst, te.tconst Folgen_ID, te.parenttconst Serien_ID, tb2.primaryTitle Folgentitel, tb.primaryTitle Serienname, 'S'||printf('%02d',seasonNumber)||'E'||printf('%02d',episodeNumber) episode
from title_basics tb,
     title_episode te,
	 title_basics tb2,
	 title_principals tp
-- selected series because there is much more than the known series:
where upper( tb.primarytitle ) in ('STAR TREK', 'STAR TREK: DEEP SPACE NINE', 'STAR TREK: DISCOVERY', 'STAR TREK: LOWER DECKS', 'STAR TREK: PICARD', 'STAR TREK: PRODIGY', 'STAR TREK: STRANGE NEW WORLDS', 'STAR TREK: THE NEXT GENERATION', 'STAR TREK: VOYAGER', 'STAR TREK: ENTERPRISE')
and tb.tconst = te.parentTconst
and te.tconst = tb2.tconst
and tb2.tconst = tp.tconst
and tb.titleType ='tvSeries'
and episodeNumber > 0)
union
select distinct nconst
from title_basics tb,
     title_principals tp
where upper( primarytitle) like '%STAR TREK%' -- movies with star trek in title
and tb.tconst = tp.tconst
and genres != 'Documentary'
and titletype = 'movie'
intersect 
select distinct nconst from (
select tp.nconst, te.tconst Folgen_ID, te.parenttconst Serien_ID, tb2.primaryTitle Folgentitel, tb.primaryTitle Serienname, 'S'||printf('%02d',seasonNumber)||'E'||printf('%02d',episodeNumber) episode
from title_basics tb,
     title_episode te,
	 title_basics tb2,
	 title_principals tp
where upper( tb.primarytitle ) in ('MURDER, SHE WROTE')
and tb.tconst = te.parentTconst
and te.tconst = tb2.tconst
and tb2.tconst = tp.tconst
and tb.titleType ='tvSeries'
and episodeNumber > 0)
order by tp.nconst;

Mit diesem Select werden alle Beteiligten in Form der IMDB-ID der Beteiligten zurückgegeben. Die ID (nconst) ist in den Tabellen der Datenbank als Key hinterlegt. Mit dem Key konnte ich das Ergebnis um zusätzlichen Daten mit weiteren Selects anreichern, um zum unten aufgeführten Ergebnis zu kommen.

Und was ist nun das Ergebnis? 202 Personen (Schauspieler und Regisseure, Schreiber etc.) sind bei beiden beteiligt gewesen.

Mit diesem Ansatz ist es sehr leicht, Star Trek auch mit anderen Serien abzugleichen. Alternativ könnte man natürlich auch das Star Trek Franchise durch andere Franchises ersetzen (zB. Marvel, Star Wars usw.).

Ergebnis

Generated by wpDataTables

Viel Spaß beim Ausprobieren. Und hinterlasst gerne einen Kommentar, wenn euch das gefallen hat.

Veröffentlicht am
Kategorisiert in Kurzinfos

Meine Abenteuer mit dem DHL-Support

Alles fing mit dieser Mail an:

Diese Mail kam am Freitag, den 26.11. Das ist soweit kein Problem. Dass die Packstation voll oder manchmal defekt ist, ist ja durchaus verständlich. Also bin ich am Samstag in die DHL-Filiale, um die Sendung abzuholen. Leider war die Sendung nicht da. Auch kein Problem, kann ja mal passieren. Also rief ich die DHL-Sendungsverfolgungsapp auf. Offenbar wird kein Treffer gefunden und es wird auf die DHL-Express-Seite umgeleitet. Dort wird gemeldet, dass die Sendung unbekannt ist.

Die Mail von DHL ist meine einzige Info zur Sendung. Ich weiß nicht, wer der Absender ist.

Was würdet ihr tun? Ich rief den DHL-Support an. Eine freundliche Frau hörte sich geduldig an, was ich zu sagen hatte. Dann sagte sie: bitte wenden Sie sich an den Absender. Ich kann die Sendungsnummer nicht bei uns finden. Nun erklärte ich ihr nochmal die oben geschilderte Situation: die Mail mit der Sendungsnummer kommt von DHL. Ich kenne den Absender nicht. Sie gibt mir den Tipp: Wenden Sie sich an den Absender. Ich wiederholte mich. Sie wiederholte sich. Ich versuchte, meine Aussagen zu variieren. Sie reagierte immer mit demselben Satz „Wenden Sie sich an den Absender“. Langsam wurde ich ungehalten und fragte nach einem Second Level Support. Nö, das gibts bei uns nicht. Wenden Sie sich bitte an den Absender. Dann sagte sie: „Bitte warten Sie einen Augenblick“ und legte einfach auf.

Zugegeben, ich war schon ganz schön angefressen. Aber, vielleicht hatte ich einfach Pech mit der Kollegin. Da die Sendungsverfolgung mich auf die DHL-Express-Seite verwies, rief ich als nächstes den Support von DHL-Express an. Dort schilderte ich die Situation wieder. Die Kollegin war sehr freundlich und hilfsbereit, recherchierte selbst und konnte mir letztendlich aber auch nicht weiterhelfen. Sie gab mir aber dafür eine Mailadresse: inkofo.express.de@dhl.com. Und dann fing das Elend erst wirklich an.

Meine Mail:

Da keine Antwort kam, die erneute Anfrage…
nun eine Antwort von einer anderen Mailadresse: kundenservice.de@dhl.com
Meine Antwort auf die Anfrage

Auf diese Antwort kam dann wieder nichts.

Da keine Antwort kam, schrieb ich eine flehende Mail über das Kontaktformular: Hallo, ich hoffe, Sie können mir helfen. Ich habe es bereits per Telefon bei dhl, per telefon bei dhl express und per mail mit dhl express versucht. Leider konnte/wollte mir keiner helfen. Ich habe eine offizielle Mail von dhl bekommen (ich weiß, wie man das checkt), dass eine Sendung nicht in die Packstation eingestellt werden konnte und an eine Filiale weitergeleitet wurde. Die entsprechende Filiale wurde angegeben, allerdings mit der Filialnummer 0. Entsprechend der Empfehlung war ich am nächsten Tag in der Filiale, aber es war keine Sendung da. Merkwürdig ist, dass die Sendungsnummer XXXXXXXXXXXXXXXXXXXXX weder auf der dhl- noch auf der dhl-express-Seite Informationen bietet. Können Sie mir hier weiterhelfen? Die DHL-Express-Kollegin am Telefon meinte, es würde sich um keine richtige DHL-Nummer handeln. Sie versuchte, mir weiterzuhelfen. Letztlich gab sie mir eine Mailadresse (inkofo), um dort mein Problem zu schildern. Dort wiederum kam nur die Antwort zurück, dass es sich nicht um eine dhl-express-Nummer handelt. Jetzt bitte und flehe ich Sie an, Bitte helfen sie mir ! In der Mail steht nicht, von wem die Sendung kommt. Ich weiß also auch nicht, vom WEM die Sendung ist. Ihre DHL-Telefon-Kollegin meinte immer wieder, ich solle doch den Absender fragen. Offenbar war sie nicht in der Lage, die geschilderte Situation zu erfassen und wiederholte immer wieder ihre Empfehlung. Mittlerweile habe ich sicherlich 3-4 Stunden meines Lebens damit verbracht, Hilfe bei DHL zu finden. Wenn ich eine Mail-Adresse von Ihnen bekomme, kann ich die von Ihnen versendete Mail mit der Umleitungsinfo auch gerne weiterleiten. Eine weitere Info möchte ich ergänzen: ich erwarte gleichzeitig eine Sendung aus den USA. Die Sendung wurde laut FedEx zugestellt. In Frankfurt. Mit Unterschrift. Ich wohne aber in Dortmund. Wurde die Sendung dort eventuell an DHL übergeben? Handelt es sich vielleicht um diese Sendung? Laut FexEd ist DHL evtl. der deutsche Partner. Mit freundlichen Grüßen, André Versümer

Dann eine Beschwerde über das Beschwerdeformular. Dabei habe ich das Ticket aus den oberen Mailaustauschen verknüpft. Es stehen DHL also alle bisherigen Informationen zur Vefügung.
Die erste Antwort. Warum schreibe ich eigentlich so viel? Alles nochmal von vorne?
So, und täglich grüßt das Murmeltier. Lest euch bitte mal diese Mail durch. Und die darauf folgende Antwort:
Alter…ich raste aus!

Weil niemand dort in der Lage oder Willens ist, mir zu helfen, sind nun mittlerweile mindestens drei Tickets bei DHL dazu offen. Bei DHL, DHL-Express und Packstation.

Was mich unfassbar nervt, ist die Tatsache, dass offensichtlich einfach mit Textbausteinen geantwortet wird und NIEMAND dort sich die Mühe macht, auch wirklich das zu lesen, was in den Tickets hinterlegt ist. Gibt es denn wirklich keinen DHL-Support, der sich um solche Fälle kümmert? Und wie selbstverständlich wird auch nicht auf meine Fragen geantwortet. Liebe DHL, gebt mir doch was an die Hand, womit ich arbeiten kann.

Mein Frust kommt vielleicht auch daher, dass ich als Softwareentwickler selbst ab und an in problematische Ermittlungen einbezogen werde, wenn unser First und Second Level Support nicht weiterkommt. Und wir alle hängen uns da immer rein. Bei DHL scheint es diese Abstufung überhaupt nicht zu geben. Hier werden nur Textbausteine via Telefon oder Mail im First Level Support verteilt, vermutlich unterstützt von einer Software, die die entspechenden Bausteine auswählt. Weitere Support-Level scheint es nicht zu geben.

Ach ja, das Thema ist nach einer Woche natürlich noch immer nicht erledigt. Ich werde hier weiter darüber berichten, wie es weiter geht.

Zum Thema Support Level könnt ihr auch hier weiterlesen.

Veröffentlicht am
Kategorisiert in Kurzinfos