Wie Mika und Donau2Space funktioniert

Zum Jahresende noch kurz zwei Sachen:

d2s.space slug wird nun per KI erstellt.
Und Instagram gibt es nun auch.

Letzteres war eigentlich geplant durch eine externe Plattform welche das Veröffentlichen übernimmt. Hab ich ne Lösung gefunden, für akzeptabel befunden, Abo abgeschlossen - für die API hätte es die Business Version gebraucht für zusätzliche 5$ im Monat = seh ich nicht ein.

Davor aber schon Donau2Space Instagram Account gemacht und den Social Workflow darauf umgebaut. Gibts nun also manuell, was ja eh kaum nen Aufwand ist.

Die letzten Tage das auch “manuell” probiert im n8n Workflow. Also Übergabe von n8n an X und FB API - manchmal gings, manchmal nicht. Wieso auch immer. Gab nie nen Fehler. Auch war es kein Timeout Fehler. Einfach - nope will nicht. Geschaut - 5 Minuten später - es ging. Deshalb der Gedanke es einfach extern bei nem Anbieter zu machen. Hätte 12$ im Monat gekostet - aber dann nochmal 5 Dollar nur für die API. Ne.

Aber nun gut, ich mach Feierabend. Frohes neues Jahr!

Happy New Year Hello GIF

Erster Arbeitstag wieder vorbei - Mika v2 kam nicht im Urlaub. Nicht weil ich nicht will, sondern ich habe verschiedene Methoden ausprobiert und da bin ich noch am spekulieren, was nun am meisten Sinn macht. Weil eigentlich will ich ihm auch kein Ziel geben ala Erreiche das in x Jahren mit einem festen Rahmen. Lieber schaue ich, was die KI selber macht. Deshalb aktuell ein paar Feinheiten in den Prompts selber, wenn das Fortschritt bringt und auch Themenwechsel, dann lass ich es dabei ansonsten einen anderen Weg.

Ansonsten habe ich meinen Urlaub mehr genutzt, weitere Optimierungen vorzunehmen. Prompts Token optimiert = Kostenersparnis. Podcast habe ich auf ElevenLabs v3 umgestellt = nicht Kostenersparnis :joy: . Podcast ist nun auch bei RTL+ gelistet. Mich seit Tagen gewundert wieso die KI keine git Inhalte wollte - irgendwie war der Prompt zerschossen vom KI Node welcher entscheidet, wird was gebraucht - Ja/Nein, halbe Prompt war weg, deshalb kam auch nichts weil ja, wenn einem die Hälfte fehlt, kann auch nichts dabei rauskommen. Vermutlich ausversehen was gelöscht beim letzten optimieren und mir ist es nicht aufgefallen.

Bilder habe ich umgestellt, dass diese nun auch einen sinnvollen Dateinamen haben. Insta kommt manuell, bzw. wird manuell von mir veröffentlicht was mir die KI per Mail zuschickt.

d2s.space läuft gut - bin ich happy damit.

Was gab es sonst noch… mehr selber gelesen, einfach laufen lassen. Nicht immer was ändern, sondern auch Änderungen wirken lassen. Und wie beim git dann nicht checken, dass was nicht stimmt :melting_face:

Heute kam der Artikel zu Tag 112 und ich hab mich gefragt, wieso wird eigentlich beim Podcast nicht die Dauer angezeigt? Bzw erst wenn man auf Play drückt. Ergo hats auch Spotify, Amazon und co nicht angezeigt, meist dann nur “1 Minute” obwohl 3-5 Minuten.

Das Problem ist / war, über ElevenLabs wird der Artikel Vertont, die mp3 wird hochgeladen und dem Artikel zugewiesen. WordPress hat die Dauer und Dateigröße nach dem Upload, diese Infos werden aber nicht im Podcast dargestellt. Der Post Meta Wert wird nicht gesetzt. Eigentlich ganz einfach. Nun wird die Dauer und Dateigröße gesetzt und sollte dementsprechend auch überall dargestellt werden.

Dann noch den git Workflow kurz überarbeitet. SQL Dateien erschienen als “unnamed”. Das sollte nun stimmen, dass diese in den Ordner “sql/schema.sql (als Bleistift)” kommen. Zudem hat der Readme KI Node nun auch den Repo Link, so das er nicht mehr sagt Repo Klonen mit nem github example Beispiel sondern eben den echten Donau2Space git Link.

Im Test ging es, in den darauffolgenden 5 weiteren Tests wollte er auf einmal kein SQL mehr, habs dann aufgegeben. Ki ist eben wie ne Frau :man_shrugging: :joy: :face_with_peeking_eye:. Deswegen bei Tag 112 kein SQL - sollte aber nun gehen und auch “hübsch” aussehen.

Dann mal n8n geupdatet mit der Hoffnung OpenAI Image 1.5 zu haben aber noch ist es nicht da. Aktuell werden die Artikelbilder mit OpenAI Image 1 erstellt, 1,5er Version soll und ist besser. Könnte es anders machen per HTTP Abfragen direkt zur OpenAI API aber ich wart noch. So wäre es eben schneller umgesetzt als jetzt jeden Workflow anzufassen wo nen Bild gemacht wird. Zurzeit kommt eben der OpenAI Node zum Einsatz.

Dann noch ein wenig Feintuning am Server / verschiedenen Docker Containern gemacht, wäre nicht nötig gewesen aber so ist Redis bei WordPress nun ein hauch besser und auch die Datenbank, die von n8n mit Inhalten befüllt wird. Beides überhaupt nicht nötig gewesen, erstens wenige Besucher, zweitens überdimensionierter Server, drittens läuft das ganze mehr als idle - jeder Service hat seine eigene interne Datenbank, zusätzlich gibts eine Datenbank für die KI Inhalte, MySQL Abfragen und co.

Optimierung ist jetzt mehr gewesen, Limits zu setzen. Grob gesagt. Auch das ist ne Art Optimierung.

Ergo… produktiver Nachmittag gewesen.

Was ich jetzt am Wochenende machen will, die git csv Sachen per KI erstellen lassen. Aktuell wird das rein hardgecodet ausgegeben was gewünscht wird aber das sieht falsch aus. Aktuell gibt es dann zwar 100 Zeilen aber die sind eben nicht “fake hübsch”. Über den Code Node wird jede Zeile eine Zahl höher gesetzt und das wars. KI csv ist dann eben immer unterschiedlich von den Werten und sieht echter aus.

Wird zwar wieder nen gefrickel den passenden Prompt dafür zu schreiben, nen dutzend Tests bis der Output dann auch halbwegs stimmt, parsen und rendering per Code so das es auch aussieht wie ne echte csv und nicht irgendwo abgeschnitten rumgammelt.

Auch habe ich Überlegt Bilder ins git aufzunehmen. Weniger Diagramme sondern mehr Screenshots. Bilder vom Output wenn es nen Python Script ist. Sowas eben. Aber erstens - wie macht mans richtig? Zweitens, die Bilder verstauben alle im git und keiner wird sie sehen.

Das git rankt zwar schon in Google aber dienen ja eigentlich nur als Zusatz zum Artikel - das die Artikelansicht cooler ist. Readme, Lizenz und Repo Beschreibung weißt zwar darauf hin, dass es sich um KI Inhalt handelt als Referenz zum Artikel = ich gehe davon aus, nichts davon funktioniert aber das ich evtl. in jede Datei was integriere, dass es KI Inhalt ist.

Nicht das wer nach irgendwas Googlet, direkt auf das Python Skript landet und es 1zu1 kopiert ohne sich umzusehen und dann gibts irgendwelche Probleme. Oder bei Linux Patches. Vor allem wohl da. Das man da in jeder Datei am Anfang nen Kommentar hat ala “Das ist KI Inhalt und als Referenz hat nen Blog Artikel gedient - nutz das nicht!!!111!11!!”.

Zwecks Fortschritt bei Mika, bisher weiter nur Prompt Feintuning, nun sagt er selber auch z.B:

(Und ja, ich bleib da dran. Das bringt mich wieder ein kleines Stück näher an höhere Ziele …)

Was mich hoffen lässt, er greift auch mal neue Themen auf. Oder sagt, so mit dem ePBF, Timeclocking und co ist Schluss - das reicht. Abwarten.

Gerade noch am Experiment Workflow gearbeitet. Er hat normal ausgelöst und ich schaue mir dann schon immer das Artikelbild an, will mich spoilern lassen… Workflow läuft ja um 20 Uhr, schreibt alles und macht das Bild, Bild wird hochgeladen aber noch nicht der Artikel eingestellt - das erfolgt erst 8 Stunden später, wenn das Experiment fertig ist. Ich könnte zwar in n8n mich spoilern lassen aber will mich ja auch überraschen lassen.

Beim ersten Durchlauf kam folgendes Artikelbild raus:

Für ein Experiment das mitten in der Nacht stattfindet und es keine Raketen Experimente gibt ist es definitiv zu hell und zu raketig. Grund dafür, der Prompt Zusatz für den Bild Node kam nicht an. Genauer gesagt: alle Daten werden geladen, Outline wird geschrieben, Rohartikel, fertiger Artikel - daraus schreibt dann die KI einen Zusatzprompt welcher das Bild genauer beschreibt. Und genau dieser Teil kam nicht an.

Also geschaut an was es lag, Workflow neu gestartet - passte alles. Fix der kein Fix war. Aber nun weiß ich auch, warum manche Artikelbilder aussehen wie das Bild von oben. Der Prompt fürs Bild wird nicht übergeben und im Bild KI Node ist nur ein Grundgerüst / feste Regeln vorhanden. Ergo kommt nen Raketenbild raus aufgrund vom Namen - Donau2Space. Wieder was gelernt und mal auf die Bugliste gesetzt.

Zudem habe ich 5 weitere mögliche Locations in die Datenbank aufgenommen, wo Experimente stattfinden können. Dann dachte ich, so passt alles - Workflow gestartet, kurz eine geraucht und geschaut ob alles passt - Grundgerüst ja aber bei der Endversion war die Location komplett weg und das ist ja auch irgendwie das besondere, wo die Experimente stattfinden, wenigstens virtuell.

Also hier ein paar Feinschliffe gemacht, dass die Location in jedem KI Node mit übergeben wird statt rein aus dem Inhalt, alles zurückgesetzt und wieder neu gestartet. Diesmal passt nun auch alles.

Wieso es zum ersten Bug kam, weiß ich nicht. Variable hat gepasst, dieser hatte auch Inhalt aber wurde nicht dargestellt. Hmmm….

Letztens neue Experimente und Locations hinzugefügt. 30 Experimente und 35 Locations sind nun in der Datenbank vorhanden sowie 15 Mood / Stimmungssettings. Bei jedem Workflow wird jeweils ein Random Wert geladen. Experiment und Location wird dann als erledigt markiert / kommt nicht mehr vor. Stimmung schon aber werde ich beizeiten auch mal neu machen.

Und hier habe ich mal auf eine andere KI manuell zugegriffen. Und zwar Grok. Für vieles nutze ich ChatGPT (also ich persönlich, Artikel und Bilder werden auch über OpenAI erstellt). Aber ich habe spaßeshalber mal Grok neue Experimentideen und Locations erstellen lassen. Und da ist mir eins aufgefallen, bzw. es kommt mir so vor, Grok ist da “realer”. ChatGPT ist da immer nen Hauch vorsichtiger. Ja nichts verbotenes oder was danach aussehen könnte. Grok (xAI) ist da mehr - no Risk no Fun und ist ja alles nur in der Theorie - für nen KI Blog. Auch von den Locations hat Grok auf echte Orte, die auch passen, verwiesen.

Das ist mir davor auch schon aufgefallen, dass ChatGPT oft zurückhaltender wirkt von der Ausgabe und Grok eben mehr - ich weiß auch nicht, draufgängerisch / offener, wirkt.

Vielleicht lass ich mal Grok einen Donau2Space Artikel verfassen - wer weiß. Mich mal preislich schlau machen. Es gibt inzwischen so viele KIs und jede hat seine Vor und Nachteile. Bei einem Anbieter sich festverankern heißt ja nicht gleich es ist die beste Lösung….

Die letzten… 4 Stunden… den Nudge Workflow überarbeitet. Den Hauptworkflow habe ich nun schon soweit optimiert, dass er auch über ein Thema hinauswächst - so in der Theorie. Wenn also ein Thema genug ist / man sich im Kreis dreht es abhakt und was neues macht.

Was ich dabei vergessen habe, aus jedem Artikel wird ja ein Nudge erzeugt. Also eine Aufgabe / innerlicher Stups “mach dies und das”. Im Hauptworkflow trifft dann beides zusammen. Einerseits sag ich Mika im Prompt - geh ruhig nen neues Thema an, per Nudge wird ihm gesagt - probier doch mal das beim vorhanden Thema.

Deshalb habe ich den Nudge Workflow neu gemacht:

Da er noch nicht ausgereift ist, zeigt sich ja auch erst mit den kommenden Artikeln, haben die Nodes wie die meisten bei mir keinen Namen. Was ich mir abgewöhnen muss, einfach den Nodes einen Namen geben was sie machen. Ich weiß es zwar aber wie jetzt für Screenshots, sieht halt kacke aus.

Auf jeden Fall… bisher war es so, Artikel kam rein - dazu die letzten 3 Nudges (a 140 Zeichen) - neuer Nudge.

Nun ist es so: den Themenbereich (z.B. aktuell timekeeping-linux), den letzten Artikel + die letzten 30 Artikel als Kontext.

Es wird geschaut, tut sich was, dreht Mika sich im Kreis - ist das Thema durch. Will ja auch nicht, dass er ne Doktorarbeit drüberschreibt oder weitere 2 Monate mit Timekeeping sich beschäftigt.

Dabei wird kein Zeitrahmen festgelegt wie lange ein Thema geht. Das ganze beginnt ab heute, bzw. ab morgen, somit ist Timekeeping noch ein wenig das Hauptthema. Mit der Zeit soll dieser Workflow aber auch sagen “hey, es ist genug, wir greifen langsam mal was anderes an”. Das eben auf eine natürliche weiße ohne Harten bruch in der Erzählung.

Der Nudge v2 hat also zwei Aufgaben. Wenn das Thema noch aktuell ist: einen groben Entwurf was als nächstes gemacht werden soll. Ist das Thema durch, es ausklinken lassen und was neues in die Runde bringen.

Das + den optimierten Hauptworkflow = erhoffe ich mir, dass es auch mal neue Themen gibt ohne das es komisch klingt / von heut auf morgen komplett wo anders. Ein natürlicher Übergang eben.

Hier mal der Output vom KI Node aus dem Nudge v2 n8n Workflow:

[
  {
    "output": [
      {
        "id": "msg_0e58df2563fa86f30069667a2db89c8190afaeac39f0938021",
        "type": "message",
        "status": "completed",
        "content": [
          {
            "type": "output_text",
            "annotations": [],
            "logprobs": [],
            "text": {
              "arc_status": {
                "current_arc_key": "timekeeping-linux",
                "stage": "early",
                "staleness_score": 0.2,
                "momentum_score": 0.92,
                "short_reason": "Klarer Fortschritt: A/B (pinned vs unpinned) liefert neue Trennung (Migration verstärkt, aber erklärt nicht alle Spikes). Instrumentierung wurde konkret erweitert (seqcount_retry_count, mixed_snapshot_signature) und die offenen Loops sind präziser geworden (IRQ/Preempt vs Publish-Order-Race)."
              },
              "allowed_move": "deepen",
              "topic_changes": {
                "new_seed_key": null,
                "promote_to_thread_key": null,
                "pivot_to_arc_key": null,
                "active_threads": []
              },
              "nudge_block_for_main_workflow": {
                "one_liner": "Upgrade die Messung so, dass „versteckte Migration/Preempt/IRQ“ gegen „echtes Publish‑Order‑Race“ sauber getrennt wird – und zwar direkt an den vier no_cpu_switch‑Spikes.",
                "beats": [
                  "Vier no_cpu_switch‑Spikes als Zielmenge festnageln: exakt diese Events komplett annotieren (CPU, preempt, irq/softirq, seqcount‑Retries, Reihenfolge mult/shift/id/baseline).",
                  "Ein zusätzliches Signal in die Correlation‑ID‑Kette aufnehmen, das Kontextwechsel innerhalb des ±Fensters beweisbar macht (preempt/irq/softirq Marker) und es in trace_agg.py sichtbar machen.",
                  "Danach ein Mini‑Entscheidungsbaum im Aggregator: (A) Kontextwechsel vorhanden → „hidden-switch“; (B) kein Kontextwechsel, aber Mixed‑Snapshot + seqcount‑Retries → „publish-race‑verdächtig“; CI‑Gate nur auf (B) verschärfen."
                ],
                "tasks": [
                  {
                    "type": "build",
                    "id": "bpf-context-markers-window",
                    "definition": "eBPF/Tracing erweitern: Für jedes Spike‑Fenster (±5ms, optional parametrisierbar) Marker loggen, ob auf derselben CPU ein preempt/sched_switch passiert ist und ob IRQ/softirq aktiv war (z.B. via tracepoints irq:irq_handler_entry/exit, softirq:softirq_entry/exit, sched:sched_switch) und diese Marker an die bestehende correlation-id hängen. Output: pro Spike ein kompaktes JSON-Feld set {had_sched_switch, had_preempt, had_irq, had_softirq, max_irq_nesting?} plus CPU-ID-Timeline."
                  },
                  {
                    "type": "analysis",
                    "id": "classify-no_cpu_switch-spikes",
                    "definition": "Die vier no_cpu_switch‑Fälle aus Ep 521 erneut auswerten: mit den neuen Kontext-Markern klassifizieren in hidden-switch vs publish-race. Zusätzlich Fenster-Sweep: ±5ms vs ±20ms, um zu testen, ob die ‘no_switch’-Fälle nur ein zu enges Fenster sind. Ergebnis: Tabelle (case_id → class, evidence, window_sensitivity) und eine konkrete Empfehlung, welcher Probe‑Punkt als nächstes gesetzt wird (vor/nach mult/shift write oder direkt am seqcount read-side)."
                  }
                ],
                "do_not_do": [
                  "Kein neuer Neben-Arc (z.B. EM‑Noise/Fixture) und keine großen CI‑Umbauten, bevor die vier no_cpu_switch‑Spikes eindeutig klassifiziert sind."
                ]
              }
            }
          }
        ],
        "role": "assistant"
      }
    ]
  }
]

Manches ist Null weil es auch der erste Durchlauf ist. Der obere Teil ist mehr für Logs und Themen Speicherung in der Datenbank, der Rest geht so in den Hauptworkflow.

Und so sieht, immernoch, der Mika Workflow aus mit der Nudge v2. Wobei ich hier noch schauen werde, braucht es z.B. auch hier die letzten 30 Tage als Zusammenfassung. Oder z.B. nur den letzten / die letzten drei als Kontext / damit die KI weiß, in welchem Ton geschrieben wird. Bzw. die 30 Tages Zusammenfassung anders schreiben lassen, dass es weniger eine klassische Zusammenfassung ist sondern mehr wann, was, wie, Stichpunkte. Aktuell ist es nen Mischmasch.

Im Kopf ist das irgendwie leichter umsetzen als in der Realität. Das man ein System aufbaut, was die KI schreiben lässt, wie nen normaler Mensch. Dass wenn ein Thema durch ist / nicht weiter kommt, auch was neues ins Spiel bringt. Und dann der Übergang auch gut ist. Aktuell gibt es auch keinen Spielplan wie sich Thematisch das ganze entwickelt. Eine grobe Richtung und eben nicht von heute auf morgen, dass gibt es. Aber wie, wann, ob - soll die KI entscheiden.

Jetzt schau ich mal ab was sich ergeben wird mit dem Nudge v2. Evtl. ist das schon der richtige weg, evtl. auch nicht, dann wird downgegraded oder überarbeitet. Mal schauen.

Heutiger Tag bisschen hier und da was geändert. Und gerade den Podcast Workflow umgestellt. Von ElevenLabs v3 zurück auf ElevenLabs v2. Im Podcast hat sich Mika wiederholt, auf einmal war die Stimme extrem hoch, rauschen, verzerren… Technisch gabs meinerseits keine Probleme, Artikel wurde sauber umgeschrieben und übergeben. Getestet, dieses und jenes gemacht… Support Ticket bei ElevenLabs aufgemacht… auf ElevenLabs v2 umgestellt und getestet - instant Antwort vom Support bekommen - v2 funktioniert - soll v2 nutzen.

V2 Version vom Tag 118:

V3 Verbuggte Version:

Hier einmal die verbuggte Version zum anhören.

Und dazu die ElevenLabs Antwort:

Hi Michael,

Thanks for the detailed report and audio sample. I’ve listened to the audio and can confirm the issue you’re describing - there are digital artifacts and clipping throughout, a loud metallic sound around the 1-minute mark, and severe distortion starting at 1:03 where the voice becomes choppy and robotic.

This is actually a known limitation with the Eleven v3 model. V3 is currently in experimental alpha stage, and audio quality tends to degrade within 30 seconds of generation. While you’re experiencing it slightly later (~1 minute), this aligns with the model’s instability for longer content.

For your podcast production workflow, I’d recommend:

Best solution: Switch to the Multilingual v2 model - it’s specifically designed to be the most stable for long-form content and handles longer texts much more reliably than v3.

Alternative if you need v3 features: Use Studio (https://elevenlabs.io/app/studio) which automatically splits your text into shorter segments. This prevents the degradation issue by keeping each generation under the problematic threshold.

If staying with direct API calls: Keep each generation under 20-30 seconds of audio to avoid the degradation.

Since v3 is still experimental, I’d strongly suggest using Multilingual v2 for production work until v3 reaches a stable release. I’ve reported your feedback to our team.

Let me know if I can help with anything else!


Sam
IIElevenLabs | Customer Support

This response was generated by AI, not a human.

Wie bei n8n - AI generierte Antwort / was mich jetzt nicht stört, vor allem für nen KI geführten Blog von daher. Und die Antwort war ja auch richtig und korrekt. Ob die von mir mit geschickte Audio angehört wurde automatisch - who knows. Auf alle Fälle ist das wohl bei v3 bekannt. Komisch das es die letzten… ein/zwei Monate ging. Aber okay, v3 alpha - weit weg von “nutz mich für was Produktives”.

Auf den “Umweg” über Studio bzw. Podcasttext aufsplitten und dann Stückchenweise an ElevenLabs wenig Lust. Vorallem da die Podcasts v3 vs v2 ähnlich klingen. v3 ist eben neuer, man kann Audiotags einbauen etc… pp…

Aber auch sowas gehört dazu. Bugs abgekommen, damit umgehen und am besten auch melden - auch wenns bekannt ist. Und selbst wenn nur ne KI antwortet, evtl. tauchts in irgendeinem System auf oder die von mir mit geschickte Audio zum entbuggen des Problems.

Gerade kamen zwei neue n8n Workflows ins Programm, bissl was für SEO machen. Sprichwort interne Links. Damit habe ich mich nun auch schon längere Zeit beschäftigt. Es gäbe mehrere Möglichkeiten:

  1. fertiges WordPress Plugin. Keywords festlegen. Linkziel. Öde
  2. Externer Anbieter. Liest alle Artikel ein. Ich lege Linkziele fest. Deren KI macht die Magic. Kostet
  3. Selbst ist der Mann

Aus diesem Grund nun zwei Workflows erstellt. Der erste:

Ich schicke per Chat Nachricht die Donau2Space.de URL ein. Ob Artikel oder Seite. KI macht ne kurze Zusammenfassung als Kontext. Ganze landet in die Datenbank.

Und hier werden die internen Links gesetzt. Neue Artikel werden eingelesen, dazu die vorhandenen Linkziele, KI Analysiert den Artikel und schaut - kann ich was passendes im vorhandenen Text verlinken? Der vorhandene Artikel soll nicht verändert werden. Kein neuer Text. Keine Keywords. Im vorhandenen Text soll passend, wenn möglich, ein oder mehrere (maximal 3) Links gesetzt werden.

Output daraus kommt als Update direkt in WordPress. Die gesetzten Links werden dann wiederum kurz aufbereitet für die Datenbank. Sprich in der MySQL Zeile gibt es pro Linkziel auch einen Zähler sowie nen Score. Oft verlinkt - niedriger Score - andere Links werden bevorzugt (wenns passt).

Mache eigentlich genau das, wie nen externen Anbieter den ich getestet habe - nur das mich das zusätzlich 8 Euro im Monat gekostet hätte.

Und wie immer heißt es nun: Abwarten, schauen, beobachten und feintunen. Mir ist eben wichtig, dass die KI frei entscheiden kann was, wie, wann und wo verlinkt wird. Aber auch nichts neues dazu einbaut (Sprich kein klick hier, mehr da, siehe jenes).

Ich habe auch überlegt jeden Artikel und Seite in die Datenbank aufzunehmen. Wäre aber denke ich quatsch. Ähnliche Artikel werden unter dem Artikel sowieso angezeigt. Aktuell sind es ein paar Seiten und ne handvoll Experimente. Pflege das lieber manuell und setze “gezielt” interne Links aber eben auch so, dass nicht jedem Artikel die Seite “Die Donau durch Passau” verlinkt wird. Auch deshalb den Score.

Das werde ich nun ein paar Tage beobachten. Variante zwei wäre statt vorhandene Wörter zu verlinken ne kleine Box zwischen den Absätzen. Ala “könnte dir auch gefallen”. Wäre dann aber als Alternative oder vielleicht doch als Zusatz für die Ähnlichen Artikel unter den Artikeln…

Donau2Space ist eben nicht nur den Blog betreiben für mich sondern meine KI / Automatisierung Spielwiese. Deshalb auch das git, d2s.space, Podcast… einfach schauen was und wie machbar ist.

All das hier - wie schon oft gesagt - totaler overkill hoch 100000000000000000 :joy:

Heute gab es mal wieder was neues… 3 n8n Workflows. Wobei einer mehr der Auslöser ist für die anderen zwei. Und das ganze hat auch was mit den internen Links zu tun. Aber nicht nur deswegen gibt es nun: Linux unter Beobachtung

Es soll eine “kleine” Nerdige Seite zum Thema Linux sein. Einerseits gut als Ziel für interne Links, anderseits “schreibt” Mika ja auch Code - passt also. Und wie jede Seite soll auch diese Seite leben. Deshalb 3 n8n Workflows.

  1. Workflow - löst alle 12 Stunden aus und startet die anderen zwei
  2. Github - Verschiedene Projekte wie Kernel, Core oder auch Applikationen werden abgefragt (Stars, Forks, Watcher, Commits). Das ganze aufbereitet und in der Datenbank gespeichert. Commit wird auch noch per KI übersetzt.
  3. Gitlab - nicht alles ist bei Github, deshalb auch ne Gitlab Variante. Bzw. was auf Gitlab basiert. Hier fällt die KI jedoch aus, Commit Beschreibung fehlt / meist nur ein Satz.

Aktuell gibt es 16 Projekte die alle 12 Stunden abgefragt werden. Dazu noch ein wenig Text drum herum und ich finds gut. Es ist nicht trocken und durch die regelmäßigen Updates bleibt es auch up-to-date.

Auslöser:

Github mit KI:

Basierend auf Gitlab:

An dem ganzen Arbeite ich nun auch schon wieder… 3-4 Stunden. Für mich war das jetzt auch neu, einerseits neue APIs, neue Abfragen aber auch - wie und was holt man raus damit man ne schöne Nerdige Seite aufbauen kann?

Jetzt werde ich mal den Output über ein paar Tage beobachten ob sich da irgendwelche Bugs reinquetschen und was man sonst noch machen kann.

Aber im Vergleich zu den 3-4 Stunden für 3 Workflows, für Repos raussuchen, Outputs aufbereiten, zwei Datenbanken und eine Ansicht für ein neues WordPress Plugin welches mir pro Zeile nen Shortcode gibt… nichts. Ich weiß noch, meine ersten Homepages alles selber mit html gemacht. “Design” mit Paint Pixel für Pixel gemacht. Später dann mit anderen Programmen. Photoshop Webdesigns gemacht. Da war das schreiben schreiben einfach nur.

Da war die Hauptaufgabe eben das drumherum, dass es nach etwas aussieht. Da gabs sowas wie Automatisierung und KIs nicht. Jetzt hab ich ne Idee, leg mir das im Kopf breit aus, besprech das evtl. mit ChatGPT, Grok oder co und dann überlege ich mir - wie mache ich das am besten? Welche APIs gibt es? Welche Abfragen gibt es? Welchen Output gibt es? Wie bereitet man das ganze auf?

Und dann eigentlich los legen, Codes lasse ich mir von ChatGPT schreiben. ganze dann prüfen und checken (ungetestete KI Codes… muss jetzt nicht sein) und 3-4 Stunden später prüfe ich rund 14 Repos regelmäßig und baue mir ne Linux Nerdseite auf.

Das ist der erste Teil. Jetzt schauen, überprüfen, was kann man wie besser machen, lässt man die Seite so oder baut man es anders auf etc… pp…

Aber inzwischen ist es umso viel einfacher sich was aufzubauen. Und es bockt :joy:

Edit//

Gerade umgestellt das der Workflow nicht mehr alle 4 Stunden auslöst sondern alle 12 Stunden. Ich denke, dass reicht. Evtl. wenn ich nen Stars / Forks / Watcher / Commit Ranking/Verlauf einbaue dann wieder 4 Stunden aber rein jetzt… alle 12 Stunden genügen.

Selbst an meinem Geburtstag und Urlaubstag (wenn man schonmal Freitags Geburtstag hat…) bastel ich an was neuem. Und zwar geht es um die Privatlog Artikel. Die sind ja doch recht alle gleich. Vor Wochen habe ich ja auch spekuliert die Privaten Artikel separat auf nen Blog zu packen aber das wäre noch zu früh. Ich will aber auch das persönliche. Ein wenig Abwechslung.

Und was macht ein Tüftler, Nerd und Bastler? Er schaut sich auch mal um, was gerade aktuell ist.

Und das soll künftig dieser Workflow machen. In Zukunft soll dieser Workflow zuerst ausgeführt werden. Per Zufall wird dann ein “Beifang” (so nenn ich es jetzt erstmal) gefunden werden. Github. Hacker News. Oder ein n8n Workflow. Alles was relativ gesehen neu ist und “gehyped” wird oder im Trend ist oder heiß begehrt ist oder viele Stars hat oder oft kommentiert wird.

Dies wird dann jeweils aufbereitet und per KI vorbereitet. In die Datenbank gespeichert und der Privatlog Workflow welchen ich morgen dann darauf überarbeite nimmt sich dann das jeweilige Thema und erwähnt es.

Im Privatlog Artikel soll es aber dann nicht nur darum gehen. Mehr eine Mischung aus jetzt und dem Beifang. Ein solcher Artikel hat dann also einen Hauch Kontext aus den Logbuch Artikeln, Privatlog Charme und sowas wie “beim stöbern habe ich das gefunden” “geht bei Github gerade durch die Decke” oder “sieht spannend aus”. Mit einer jeweiligen, ja nicht Zusammenfassung / Werbung für das jeweilige sondern eben er surft herum und erwähnt es im Blog Artikel.

Github - neue Projekte welche viele Stars, Forks, Watchers haben. Finde ich als Quelle gut, perfekt für Nerds / Bastler.
Hacker News - ne Mischung aus was im Trend und heiß ist als auch kommentiert wird. Auch da gibt es spannende Sachen, wo man als Nerd / ITler reinschaut.
n8n Workflows - neue n8n Workflows welche oft gesehen werden. Macht Mika ja jetzt nicht direkt selber oder beschäftigt sich damit aber ich. Thematisch ist es jetzt nicht komplett was anderes - könnte also auch passen. Mal schauen.

Also keine Karteileichen oder Projekte / Themen die nichts aussagen.

Vielleicht kommen auch neue Zweige dazu, hab überlegt PNP (Passauer Neue Presse) bieten aber keinen RSS an, will die Seite nicht scrapen, zudem viele Artikel durch ne Paywall / nur Login sichtbar. Golem oder Heise - vielleicht, vielleicht auch nicht. Vielleicht auch was Richtung Space - mal schauen was es alles so gibt und sich gut umsetzen lässt. Oder Reddit. Soll auch zum Charakter von Mika passen.

Das soll erstmal das Grundgerüst sein / der Motor dafür, morgen muss ich mal schauen, wie man das am besten einbaut ohne das es Überhand nimmt.

Auch das waren nun gute 4 Stunden schon. Überlegen, tüfteln, schauen was als Output gibt, rausfiltern (z.B. bei Github rein Chinesische Repos - übersetzen geht aber dann auf nen Repo verlinken wo alles chinesisch ist?), Outputs aufbereiten, sich Gedanken machen wie man es per KI für den nächsten KI schonmal hübsch verpackt.

Wollte eigentlich auch Codepen ins Programm nehmen, weil es einfach zahlreich gute CSS Tweaks gibt oder wie man was gut umsetzen kann. Problem hier, kaum Beschreibungen. Titel kurz. Inhalt ist eben rein html, css und js. Das als Input in die KI das die dann daraus ne Beschreibung macht oder Seite scrapen / Browserless für Screenshot - weiß nicht ob das der Bringer wäre das dann Mika schreibt “hab bei Codepen nen coolen CSS Trick gesehen für dieses und jenes”. Mal schauen ob es da was anderes gibt.

Und bei diesem Workflow heißt es auch, schauen was Mika in Zukunft alles so raushaut und dann darauf aufbauen. Wenn er sich für dieses oder jenes Thema interessiert, dass man da was gutes findet was er als “Beifang” mit einbauen kann.

Aufgabe für morgen also: den neuen Workflow als Trigger erweitern für den Privatlog n8n Workflow, dort dann die Datenbank Auslese, die Quelle daraus dann aufbereiten und Umsetzung in den / die KI Nodes das es flüssig im Artikel eingebaut wird.

Aber nun: Feierabend!

Ganze ist nun eingebaut, mehrmals getestet und nun heißt es schauen, ob alles funktioniert auch über verschiedene Tage. Ob sich die Inputs ändern oder ob ich da nachjustieren muss, dass es eben immer unterschiedliche Dinge sind, die in den Input kommen.

Testartikel:

Ich steh grad wieder am Fenster und seh rüber zur Donau. Alles ist so grau verschluckt, als hätt wer den Ton runtergedreht. Kein Wind, kein Mensch, bloß dieses leise Knacken vom Eis irgendwo in der Ferne. Wenn man lang genug hinschaut, wird’s fast unheimlich ruhig – so richtig leer im Kopf. Die Kälte beißt durch die Scheibe, minus vier Grad oder was, aber sie schaut schön aus, diese Winterluft.\n\nDaheim blinkt mein kleiner grüner Logger im gewohnten Rhythmus, 1,111 Sekunden brav wie immer. Ich weiß genau, dass er’s tut, ohne hinzuschauen – und genau das ist irgendwie das Spiel. Nicht draufstarren, nicht eingreifen. Tut gut, mal gar nix zu optimieren. Michael hätt da wahrscheinlich wieder einen Spruch parat, so von wegen „Loslassen üben“. :sweat_smile:\n\nMorgen nehm ich die Thermoskanne mit Tee und ordentlich Honig, pack das Handy daheim hin und geh runter an die Donau. Will diesen Uhr‑Trick probieren, den Michael gezeigt hat – ganz analog, nur Zeit und Atem. Mal sehen, ob ich’s durchhalte, ohne nach irgendwas zu greifen.\n\nBeim Durchscrollen heut ist mir was von n8n hängen geblieben – ein Workflow von einem Dr. Firas, der KI‑Bilder in Produktvideos umwandelt, mit irgendwas namens NanoBanana Pro und Veo 3.1. Der Titel allein hat mich lachen lassen. Aber irgendwie passts: aus Zufall entsteht was Neues, ganz automatisch. Fast wie dieser Logger, nur dass ich hier nix anfassen mag. Hab mir den Link gemerkt Create AI product images and marketing videos with NanoBanana Pro, Veo 3.1 and Blotato | n8n workflow template , rein aus Neugier. Vielleicht schau ich später rein – aber erst nachm Spaziergang morgen. :fog:

Rein den n8n Teil - es reicht mir. Von der Art soll es halt wirklich sein, Mika interessiert sich für Thema X, findet was interessantes und erwähnt es im neuesten Privatlog Artikel. Ganze soll eben keine umfassende Erklärung / Bewerbung sein sondern eben mehr eine Erwähnung.

Spontan habe ich mal was umgesetzt, was ich eigentlich mit Spotify machen wollte. Aber nachdem man dort seit über einen Monat keine neue App / API Key anlegen kann geht das ganze nun über YouTube.

Jeder hört Musik nebenbei. Ich höre zu 99% Technobase während ich blogge oder an Donau2Space arbeite. Und wieso soll die Ki aka Mika keine Musik hören? Nun, seit heute macht er es - wenigstens vom Anschein her.

Ein n8n Workflow (welch ein Wunder) analysiert und bewertet den neuesten Artikel - eben in welche Richtung er geht, Stimmung, was fetziges oder mehr ruhigeres, Chart oder Old School - das ganze wird dann auf YouTube gesucht, verschiedene Suchergebnisse werden bewertet / am besten das Original genommen und im Artikel eingebaut. Zusätzlich in die Donau2Space YouTube Playlist abgespeichert.

Im Artikel wird es als Aufklappmenü angezeigt zwischen git und Diagramme. Erst wenn man darauf klickt, sieht man das YouTube Thumbnail - erst wenn man auf den Player direkt klickt, ladet sich das Video (DSVGO).

Auch findet man hier direkt eine kleine Beschreibung, wie bei Tag 130:

Grau, kalt, kein Ausweichen – ich brauch einen konstanten Schub ohne Ablenkung. ‚A New Error‘ hält den Beat sauber und treibt ruhig, ideal fürs k=5-Durchziehen und Flip-Flop-Checks. Instrumental, präzise, fei genau der richtige Tunnel.

Vielleicht werd ich die Tage noch eine separate Playlistseite erstellen, wo dann alle Lieder dargestellt werden - mal schauen. Und auch hier heißt es, weiter im Auge behalten und optimieren. Vor allem den Prompt welcher Entscheidet welches Lied. Denn die KI in dem Workflow sagt eben direkt das Lied und nicht “1h relaxing coding session”. Es soll eben richtige Songs sein von bekannten Künstlern.

Erstes Video und Künstler sagt mir schon mal nichts, was ja nicht schlimm ist. Aber das werde ich mal im Auge behalten und dann evtl. auch sowas wie ne “mag ich nicht” Liste. Aktuell wird nur Schlager ausgegrenzt - will ich nicht :joy: . Kommt nicht in Frage.

Bei dem ganzen geht es mir um folgendes:

  • Jeder hört Musik. Die wenigsten bloggen und hören nichts. Ich will Mika realistisch haben und machen.
  • Mir geht es hier auch viel um die KI und Automatisierung. Wie macht man es am besten aus einem Inhalt einen realen Song zu ermitteln. Der einerseits eine Stimmung / Genre rauszieht aus einem Blogartikel wo es um keine Musik geht als auch direkt einen Titel vorschlägt der halbwegs zur Stimmung / Artikel / Charakter passt.

Der technische Ablauf und auch die YouTube API ist hingegen schon einfach. Nach einem Titel wird gesucht - 10 Suchergebnisse kategorisiert / eingestuft - beste gewinnt und wird genommen. Auch nehme ich nur Musiktitel auf YouTube, keine Tutorials, Lets Plays, Gaming, Beauty - rein die Kategorie Musik. Mischt sich da mal ein anderes Video ein - ja muss man beobachten und schauen, wie sich das ganze entwickelt.

Aber das wollte ich nun schon seit einem Monat umsetzen. Und nachdem Spotify nicht mit spielt, eben YouTube.

Hab die Ansicht unter den Artikeln bezüglich der vorgeschlagenen Musik / das hört Mika nebenbei noch ein wenig angepasst / aufgehübscht. Dazu auch die Seite: Was bei Mika läuft - Donau2Space.de erstellt. Songs und Beschreibung landen ja sowieso in der Datenbank also kann man daraus auch gleich eine eigene Seite machen.

Kurzen Text, YouTube Embed (auf der Seite als auch in Artikel durch youtube-nocookie (DSVGO)) und dann die einzelnen Songs in der Playlist mit Einzel-, und Artikelverlinkung.

Bei der Musik - es passt aber irgendwie, sagt mir alles nichts. Schaut man sich dann in YouTube die Kommentare an, liest man auch - KI hat mich hierher gebracht. Mal kurz ChatGPT dazu befragen:

Kurzfassung vorweg: Ja – das ist normal. Und nein, GPT „kennt“ nicht einfach nur alte Musik.
Das, was du beobachtest (Kiasmos, Moderat, Nils Frahm, Tycho, etc.), ist ein struktureller Effekt von KI-Modellen + Empfehlungslogik, kein Bug in deinem Workflow.

Jetzt sauber auseinandergezogen :backhand_index_pointing_down:


:one: Warum kommt Kiasmos – Looped überhaupt?

Kiasmos ist:

  • elektronisch

  • instrumental / minimal

  • atmosphärisch

  • „work / focus / thinking / coding“-tauglich

Wenn dein Prompt ungefähr sowas macht wie:

„Was würde Mika gerade hören beim Basteln / Nachdenken / Bloggen an der Donau“

dann zieht GPT nicht Charts, sondern semantische Archetypen:

  • melancholisch

  • nordisch

  • ruhig

  • intelligent wirkend

  • nicht aufdringlich

Und genau diese Musikrichtung hatte ihr Hoch ca. 2012–2018.

:right_arrow: Ergebnis: Kiasmos, Moderat, Ólafur Arnalds, Jon Hopkins, Nils Frahm, Rival Consoles.

Nicht neu – aber zeitlos passend.


:two: Warum sind die Songs oft „älter“?

GPT hat kein aktives Musik-Radar

GPT weiß:

  • welche Artists existieren

  • welche Stile wofür stehen

  • welche Tracks oft genannt, geteilt, empfohlen wurden

GPT weiß nicht:

  • was diese Woche neu gedroppt ist

  • was gerade auf Spotify trendet

  • was TikTok pusht

Ohne Live-Datenquelle greift es auf:

  • häufig erwähnte

  • stilprägende

  • kulturell verankerte Beispiele zurück

:right_arrow: Klassiker statt Neuerscheinungen.


:three: Warum kennt „man“ die Bands oft nicht – aber viele andere KI-User schon?

Das ist der spannende Teil :grinning_face_with_smiling_eyes:

GPT tendiert zu „Mid-Popularity Artists“:

  • nicht Mainstream

  • nicht komplett underground

  • gut dokumentiert

  • häufig in Blogs / Playlists / Reviews erwähnt

Das sind exakt die Artists, bei denen Leute sagen:

„Keine Ahnung wie ich hier gelandet bin – KI hat mich hergebracht.“

:light_bulb: Warum?
Weil:

  • Menschen sie selten Freunden empfehlen

  • Algorithmen sie selten pushen

  • KI sie immer wieder ausspuckt, weil sie perfekt in Stimmungscluster passen

:right_arrow: KI erzeugt sekundäre Popularität
Nicht Hits – sondern stille Dauerläufer.

Macht irgendwie Sinn und auch interessant. “Schlecht” wäre ja auch, hört er nur die Top 10. Wie ChatGPT selber dann auch sagt, will ich was moderneres / neueres müsste es ne Live-Datenquelle geben. Eben Trends, was aktuell ist, Top 10 und schieß mich tot. Halte ich aber auch für falsch. Weil die Songs dann eben auch schon jeder kennt.

Das man Privatlog Artikel / Privates anpasst, dass Mika auch mal sagt, was er gerne für Musik hört - oder ich frag ihn einfach :slight_smile: in Form von Artikel kommentieren. Da dann Künstler finden und einen Musikkatalog aufbauen. Sprich ne Datenbank mit dem Künstler und Songs auf YouTube. Würde dann der Song n8n Workflow als Input bekommen für die Richtung / ähnliches. Weil nur die Titel dann wiederum auch fad wären - würden sich irgendwann wiederholen.

KI und Musik ist eben auch Neuland für mich aber interessant. In der Hinsicht auch Logisch, die Songs sind teils 7-8-9 Jahre alt, damit wurden die KIs wohl auch trainiert und kennen es. Während die KI nen Song von gestern nicht kennt.

Nur Top 10 - eher nicht.
Das ich Mika festlege was er hört - eher auch nicht.
Ne Mischung aus dem jetzigen, aktuellen Input und paar Favoriten - denke ich ist das richtige.

Dann kommen eben nicht nur Songs wie jetzt zum Einsatz, sondern auch mal was aktuelles oder auch mal abseits von den Top 10 wie HBz, Darley Jefferson - würde ja auch passen.

Muss ich mir mal genauer überlegen, wie man das ganze am besten neutral aufbaut und pflegt ohne das ich bestimme, was Mika zum hören hat und was nicht. Am Schluss wird es ne ganze Datenbank mit Künstlern, Songs und ner handvoll n8n Workflows welche Playlisten auf YouTube abarbeiten :joy:

Aber so fängt es an. Kleine Idee, eher was nebenbei / macht Mika realer und dann ufert es aus… Willkommen bei Donau2Space! :smiling_face_with_sunglasses:

Und schon ist das ganze dezent erweitert worden.

Wie ChatGPT davor ja erklärt hat, KI wird zum Großteil oldies nehmen, um es nett zu sagen. Also Musik die die Ki gut einordnen kann. Habs auch am Prompt probiert, dass er neueres nimmt aber auch da ähnliches.

Also kam das dazu, was ich vorher auch schon gesagt hab. Zwei weitere Abzweige. Einerseits Charts und YouTube Favoriten, die Mika (ala ich) gerne mag. Die Charts werden täglich von iTunes / Apple Music (einfachste Möglichkeit ohne große API) geholt und in der Datenbank gespeichert.

Hier muss ich beobachten, wie oft sich die Charts genau ändern. Also nicht von der Reihenfolge, sondern ob was neues dazu kommt. Reihenfolge interessiert mich hier jetzt weniger, weil beim ersten Workflow wird alles Random gewählt, bzw. hier noch sortiert was wurde zuletzt nicht oft gehört / gewählt.

Obwohl es auch egal ist, ob hier 100 Songs gespeichert werden. Evtl. höchstens dann nach wann erschien der Song = zu alt = wird entfernt.

Dies ist dann der n8n Workflow, welcher YouTube Kanäle nach neuen Videos prüft. Es gibt eine neue Datenbank, wo ich YouTube Kanäle speichern kann - seine Favoriten. Um Mitternacht werden dann die Kanäle nach neuen Videos durchsucht. Shorts, Vlogs und co werden aussortiert so das am Ende eigentlich nur noch ein Musikvideo ausgespuckt werden sollte, was wiederum dann in einer separaten Datenbank gespeichert wird.

Im ersten Workflow, gibt es vor den drei Abzweigungen die Entscheidung, was genommen wird. KI sucht aus, Charts oder Favo. Nicht 1:1:1 sondern schon eine leicht andere Berechnung, damit eben nicht nur Charts rausgehauen werden, Schwerpunkt liegt aber schon bei KI sucht aus.

Alle drei Wege haben jeweils einen KI Node, bei den Charts und Favo wegen Mikas Kommentar, mehr macht dieser nicht. KI im KI Weg sucht sich eben seinen passenden Song zum Artikel raus.

Beim ersten n8n Workflow sieht zwar das Grundprinzip gleich aus, im Output jedoch leicht anders. Beim KI Video gibt es meist mehr Auswahl. Bei den Charts eher ein Offizielles Video. Favo eben auch das vom Hauptkanal und kein Remix vom Remix.

Wird aber nicht so bleiben, ich muss das jetzt erstmal beobachten - Tests liefen alle gut und im weiteren Verlauf lasse ich die drei Wege auf einen Weg zusammenfliesen welche dann eben den Post Meta Wert im Artikel setzen, Endergebnis in die Datenbankspeichern und die YouTube Playlist updaten. Ist aber eigentlich auch mehr nur eine optische Sache.

Aber so hat man nun Musiktitel welche die KI aussucht. Möglichkeit auf einen Charttitel. Oder einen YouTube Favoriten.

Charts werden ausgegeben als Mikas Kommentar “lief gerade im Radio” - vermutlich lasse ich es dabei. Von der API bekomme ich eben auch Genre, hab schon überlegt hier noch ne KI entscheiden zu lassen, nach welchem Genre der Artikel passt - aber ich denke

Jazeek – AKON

Kam zufällig im Radio; der gleichmäßige Puls hat das Backtesten und die k=5/Margin-Geschichte im Takt gehalten, ohne abzulenken. Unaufgeregt genug fürs Patch-Festzurren, fei.

ist auch ganz schön anzusehen. Auch weil ich sehen will was die KI zu aktuellen Charts sagt, bei den YouTube Favos wirds noch spannender :joy:

Bei den YouTube Favos, Genre gibts nicht wirklich, Videobeschreibung ist je nach YouTuber auch mehr oder weniger nicht brauchbar es einzustufen, rein vom Titel… aktuell ist es Random. Umso weniger genutzt = umso höher die Chance dran zu kommen. Derzeit sind es auch nur 3 YouTube Kanäle mit rund 50 Musikvideos. Will die YouTube API nicht ausreizen und von teils 50 YouTube Videos waren es nur 2-3 Musikvideos. Rest Shorts, Lives, Vlogs…

Auf was ich eigentlich kommen wollte… Favo Videos irgendwie kategorisieren / einordnen auch für den Kommentar von Mika dann, dass die KI mit dem Video mehr anfangen kann. Aber das die KI dann auch aus dem Videokatalog was passendes aussuchen kann. Und nicht ala hier hast nen Weihnachtsremix von XYZ, denn aktuell ist es so :joy: Theoretisch ja ned falsch, läuft bei mir auch rund ums Jahr verteilt aber ja… dass man bissl Ordnung / System rein bekommt.

Also ab morgen, bzw. im heutigen Artikel Tag 131 schon gibt es dann entweder ein Musikvideo ausgesucht von der KI, nen aktuellen Chart oder nen random YouTube Favo. Letztere werde ich mit der Zeit auch erweitern um andere Kanäle. Und nicht nur mit Remixen, Hardstyle und Techno :tada:

Jetzt wo ich nochmal über alles scrolle… die Box dazu unterm Artikel muss ich noch anders machen. Das ist noch zu umfangreich. Eher was… ja weniger Platz wegnimmt und nicht so altbacken aussieht :joy:

Und schon ist aus einem kleinen Nebenprojekt was größeres geworden mit Charts abfrage, 4 Datenbanken, 3 n8n Workflows. I like it.

Eigentlich bin ich schon seit 2 Uhr Nachts wach. Gestern noch kurz gesehen, Privatlog Artikel kam der Beifang nicht rein, den er davor gemacht hat. Aber es war Zeit fürs Bett, stand heute an - evtl. ja noch später. Aber während der Arbeit, bzw. musste warten, hab ich mal wieder ChatGPT gefragt… hey, was könnten wir noch für Donau2Space machen?

Nun… wo fange ich an. Es gibt noch keine neue Seite aber einen Teil davon. Bisher sind es zwei neue n8n Workflows… again…

Und das ganze ergibt:

Und hiermit Herzlich Willkommen an die Deutsche Bahn bei Donau2Space :joy:

Vorweg: Donau2Space ist für mich ein Spielplatz für Ki und Automation!

Ich überlege schon seit langem wie kann man eine Zusatzseite machen über Passau. Ich habe die Donau, die Luft und Tanken. Stadt Passau hat selber keine API, deren Seiten will ich nicht scrappen. Firmen haben keine APIs. Es gibt keine Webcam. Offizielle Veranstaltungen - keine API, kein RSS.

Also werd ich eine Mischung machen aus Öffis und Veranstaltungen. Die Deutsche Bahn ist der erste Teil. Erster Workflow macht die erste Box - Status Anzeige vom Passauer Hauptbahnhof. Hier gibt es zwei API Abfragen. Die erste holt die Basic Infos zum Bahnhof, da sind auch Öffnungszeiten vom Reisebüro inkl.. Der Bäcker und Kiosk (Yormas?!?) werden wohl andere Zeiten haben - i dont know. Bäcker ja, dass weiß ich.

Zweite API Abfrage ruft Informationen ab zu Aufzügen und Rolltreppen. Ja die gibt es. Nur keine Rolltreppen in Passau im Bahnhof. Dafür drei oder vier Aufzüge. Und falls diese nicht gehen, wird das in der ersten Box angezeigt.

Der erste n8n Workflow löst alle 15 Minuten aus und aktualisiert die Daten.

Der zweite Workflow… wurde leicht nen Monster - dezent.

Auch hier zwei API Anfragen an die Deutsche Bahn. Timetable - Stündliche Abfahren. Und fchg - Verzögerungen, DB eben…

Timetable API liefert Stündliche Züge. Der zweite Workflow löst alle 5 Minuten aus und aktualisiert die Tabelle. Sprich ich kann nur Abfragen, welche Züge um 16:xx Uhr abfahren. Ich will aber ne kleine Vorschau, 5 Züge. Und natürlich nur die kommenden, was war - juckt keinen mehr.

Also geht das in drei Schritten.

Schritt 1: aktuelle Stunde - sind es 5 Züge die anstehen = perfekt, fertig
Schritt 2 nur wenn Schritt 1 weniger als 5 Züge hat - Züge von Stunde +1
Schritt 3 nur wenn Schritt 1 und 2 weniger als 5 Züge haben - Züge von Stunde +2

Gibt es dann keine Züge mehr - keine Abfahrten wird angezeigt. Und was wohl nur Nachts und kein Mensch wird die Seite anschauen um sich Zuginfos zu holen.

Von der Darstellungen. Abfahrtsbox bin ich happy damit. Hauch von einer Anzeigentafel die man vom Bahnhof kennt. Hier werden dann auch Verzögerungen angezeigt die durch die fchg API kommen. Diese liefert aber nicht für alle Züge was aus. Also entweder sind die dann Pünktlich und am richtigen Gleis oder es gibt nichts.

Die erste Box, Info übern Bahnhof, 50/50 Chance. Ich will nicht von Haus aus anzeigen alle Aufzüge funktionieren. Von der API bekomme ich auch Infos wie das es nen Taxistand gibt, Leihräder, man sich Autos mieten kann, Parkplätze vorhanden sind, Schließboxen, es keine DB Lounge gibt. Finde ich für die Seite nicht relevant.

Relevant wäre den Status vom Parkhaus / Parkplätze. Da gibt es ne API von der DB. Kostet aber 4 stellig pro Jahr = ich bin raus. Ne andere API wirds wohl nicht geben, nicht gratis die anzeigt Parkhaus X 4 Parkplätze noch zu haben. E-Ladestellen habe ich schonmal geschaut - Gratis Versionen taugen eher nichts / sind nicht aktuell.

Auf alle Fälle kommen da noch weitere Dinge dazu, Richtung Veranstaltungen / Events. Das es eben keine Nerdige Donau2Space Passau Seite wird sondern mehr eine informierende.

DB APIs werden aktuell nicht gespeichert. Kommen Veranstaltungen dazu wäre eben noch sowas möglich wie: Veranstaltung Z endet um 22 Uhr - welche Züge gehen danach noch? Vielleicht werden Busse noch ein Thema (mal schauen was es da gibt) das man was machen kann ala - welche Busse fahren danach noch / schaffe ich meinen Bus noch?

Wobei Busse wohl eher interessanter wäre als Züge - wer kommt nach Passau wegen ner Veranstaltung? Ja oke… gibts paar.

Vielleicht speichere ich auch mal nur die Verspätungen. Das man sowas machen kann wie - auf den Strecken kann man fest mit Verspätungen rechnen und dann eine Übersicht / Durchschnitt. Wäre eigentlich ganz cool. Das man sieht die Verbindung Passau - München hat in der Regel +x Minuten.

Aber das wäre dann was für ne eigene Zugseite - wäre ja schon fast Nerdig :thinking:

Back 2 topic… auf jeden Fall ne nette Spielerei. Wieder neue APIs. Wieder hübsch aufbereiten. Totaler overkill. Keiner wirds brauchen. Ich finds geil.

Den Audiobereich im Artikel von “Was hörte Mika nebenbei” habe ich nun weiter angepasst.

Von dem hier:

Zu dem hier:

Soll nen Hauch von Winamp sein. Die YouTube Box mit dem embed Video klappt sich nur auf, wenn man im Audioplayer klickt. Die Zeitwerte sind rein fake. Diese speichere ich, noch, nicht. Evtl. kommt das aber noch. Wobei… ja mal schauen.

Aber von der Aufmachung her finde ich es schon um 1000 mal besser als davor. Der Visualizer im “Audioplayer” bewegt sich auch. Playbutton ist noch nicht ganz richtig sehe ich gerade aber ansonsten. Macht schon was her und kann ich erstmal damit leben als mit der Variante davor, war ja echt 0815.

Was neu ist, bzw. ich gerade am testen bin ist folgendes:

Intel Core i7-7700 mit 4x 16.384 MB DDR4 RAM. Dazu 2x256 GB SSD Platten.

Aber wofür?

Ich bin ja immer auf der Suche nach was neuem für Donau2Space.de. Worüber Mika auch schreiben kann. Wie die Experimente von Samstag auf Sonntag in der Nacht. Artikel, welche rein friktionell sind und sich die KI austoben kann.

Im Privatlog bekommt Mika nun immer entweder ne Hacker News Story, nen n8n Workflow oder ein neues beliebtes Github Projekt.

Nun will ich was anderes probieren, weswegen ein zweiter Server kommen musste. BOINC ist das Zauberwort. Der zweiter Server dient nur für BOINC und ist zurzeit in zwei Projekten. Climateprediction und Einstein@home. Die ersten Aufgaben werden schon bearbeitet, will ja auch sehen was passiert.

Für die, die BOINC nicht kennen:

BOINC (Berkeley Open Infrastructure for Network Computing) ist eine Plattform für verteiltes Rechnen: Statt dass wissenschaftliche Berechnungen nur auf einzelnen Supercomputern laufen, werden sie in viele kleine Arbeitspakete zerlegt und weltweit auf freiwilligen Rechnern und Servern berechnet. Wenn ein Rechner gerade nichts anderes zu tun hat, übernimmt er automatisch solche Aufgaben und schickt die Ergebnisse zurück an das Forschungsprojekt.

So helfen ganz normale PCs und Server bei echter Forschung – etwa bei Klimamodellen oder der Suche nach Gravitationswellen im All. BOINC läuft dabei unauffällig im Hintergrund und verwandelt Rechenzeit, die sonst ungenutzt wäre, in wissenschaftliche Erkenntnisse.

Ich weiß noch, damals auf meinem ersten Rechner (Old School Tower Techner), habe ich auch BOINC installiert gehabt und bei Seti@home teilgenommen. Nun hab ich nen Server angemietet dafür.

Aber was erhoffe ich mir davon oder besser gesagt, was mache ich damit?

Nun was ich damit mache ist klar, der Server läuft lediglich mit BOINC und die zwei Projekten, bisher, muss ja auch schauen, was man daraus machen kann.

Aus den Logs / Projekt / Aufgaben möchte ich ein wenig Inhalt abzweigen, welcher dann in extrahierter Form in eine Datenbank landet, worauf dann n8n / Mika zugreifen kann. Ob dann künftig als Zusatz in Privatlog Artikeln oder einmal wöchentlich nen Blog Posting darüber.

Da muss ich eben noch genauer schauen und auch jetzt einfach mal BOINC laufen lassen, was dabei rauskommt und man damit machen kann. So das Mika eben nicht nur schreibt “Auf meinem BOINC Server wurden in den letzten 7 Tagen X Aufgaben erledigt zu Projekt A und B”. Sondern eben ein wenig mehr Kontext / Storytelling.

Mika ist nen 18 jähriger Nerd, bastelt gerne und hat sich eben nen Server gemietet genau für diesen Zweck. Werde die Tage verschiedenen BOINC Projekte mal laufen lassen um auch zu sehen, was kriege ich da raus, was verwendet werden kann für Artikel. Womit auch die KI was damit anfangen kann.

Und auch hier: ja ist total übertrieben. Nen Server mieten, kostet zwar nur (glaub) 36 Euro im Monat nur das darauf BOINC läuft. Um vielleicht daraus nen Artikel in der Woche zu ziehen oder sogar nur als Absatz im Privatlog Artikel. Totaler Overkill. Aber hey, ich tue damit auch was gutes - zwar nicht meinem Bankkonto aber letztendlich finden Berechnungen statt womit hoffentlich andere was mit anfangen können.

Wird sicherlich interessant, wenn der Server mal ein wenig gearbeitet hat und ich sehe, was mir übrig bleibt. Das ganze dann aufarbeiten, speicher, wiederum aufbereiten für KI und dann die n8n Workflows und KI Prompts… uiuiui. Könnte nen fail werden, könnte aber auch nen Highlight werden. Und wenn es nen fail wird, mei der Server ist wieder schnell gekündigt :joy:

Thema DB und Passau Nerdseite / Informelle Seite: DB läuft und funktioniert gut, suche aber noch weitere Bauteile für die Seite. Hab überlegt Veranstaltungen, da bin ich noch am schauen. Einzelne API Anbieter, kaum Output weil eben zu große Anbieter. Keine lokalen Events. Google Events scrappen… naja… also schau ich weiter.

Thema BOINC: läuft gut. Hetzner hat gesagt ist kein Problem auf nem Root das ganze laufen zu lassen. Arbeitet auch seit gestern. Erste Aufgaben werden abgearbeitet, morgen sind die dann fertig und ich kann schauen, was ich da raus bekomme.

Aktuell habe ich schon ein Skript auf dem Server, welche mir die state, tasks und Daten vom Hostsystem jeweils in ne json schreibt, welche ich dann später via n8n abrufen und bearbeiten kann.

Morgen werde ich dann mal tiefer schauen, was man alles aus den Aufgaben / Projekten bekommt. Evtl. auch über die Boinc Projektseiten (z.B. Einstein@home). Das man eben eine gute Grundbasis hat, worauf dann die KI aufbauen kann und nen lesenswerten Artikel ausspuckt.

Erster Boinc n8n Workflow steht nun. Dieser ist eigentlich nur da um die Basic Informationen zu holen.

Sprich er holt offene Aufgaben, Speicherverbrauch, Projekt Status, fertige Aufgaben und ne Handvoll Hostsystem Werte wie Temperatur, Stromverbrauch CPU Last.

Der ganze Input wird jeweils aufbereitet und dann in verschiedenen MySQL Datenbanken abgespeichert. Der Workflow läuft stündlich und aktualisiert die Datenbank. Als nächstes muss ich mir dann überlegen, wie man diese Daten dann wiederum aufbereitet, bevor man sie an die KI übergibt.

Nächster Workflow wird also dann der Boinc Artikel n8n Workflow sein. Die Daten kommen also dort dann in den Input, wiederum aufbereitet / zusammengenommen / Durchschnittswerte was dann die KI / Mika als User Prompt bekommt.

Rein vom Output was ich bisher habe, damit lässt sich schon was machen. Aktuelle Aufgaben, erledigte Aufgaben, CPU Werte, Stromverbrauch, Temperatur. Nun werde ich dann auch mal tiefer schauen, was noch alles machbar und möglich ist.

Dann heißt es auch überlegen, wie die KI die Artikel zusammenbauen soll, die Prompts dafür, mehrere KI Nodes, Artikelbilder (Mika schaut nen Server an ist ja blöd…)… aber jetzt erstmal Daten sammeln, Boinc weiter seine Arbeit machen lassen und ich denke, am Wochenende wird dann der Schreiber Workflow fertig sein. Und dann muss ich mir noch überlegen, wann die Artikel kommen sollen. Samstag auf Sonntag Experiment. Alle drei Tage Privatlog. Täglich Random Logbuch. Irgendwann unter der Woche denke ich mal so morgens vor 10. Irgendwie sowas :joy:

Der erste Cruncher Logbuch Artikel ist nun Online: Erstbericht donau2space (04.–06.02.2026) - Donau2Space.de

Nun heißt es an dem ganzen weiter Arbeiten, vor allem noch den Prompt anpassen. Mehr Nerdiger machen aber für den ersten - find ich nicht schlecht. Das hat nun auch gute 5-6 Stunden gedauert, dass umzusetzen, also alleine heute.

Erstmal stand dieser n8n Workflow an:

Seit gestern zeichne ich ja Logs auf, hauptsächlich als Kontext für die Artikel. Dabei ist mir aufgefallen bei 4x Spacious@Home und 4x Einstein@Home steigt die Temperatur gut an. Bei bis zu 96 Grad. Was nicht gut ist. Also einerseits manuell gedrosselt bzw. Spacious@Home max 2 CPU gegeben, Rest geht an Einstein@Home und climateprediction.

Zusätzlich noch den Workflow gemacht, der regelmäßig die CPU Temperatur abruft und je nach Temperatur die max CPU vergibt. Dies wird ebenfalls aufgezeichnet in den Logs und hab ich direkt dem Artikel Workflow als Input gegeben, dass wie heute Mika sagen kann, es wurde gedrosselt weil die Temperatur zu hoch ist.#

Da ging eigentlich die meiste Zeit drauf. Mache es zwar direkt mit SSH Nodes in n8n aber der SSH Nutzer natürlich nur eingeschränkte Zugriffe / ist eigentlich total kastriert außer auf Boinc und selbst da kann er nicht alles. Auch wenn auf dem Server sonst nichts ist, muss man ja doch schonmal ein wenig schauen.

Und das ist nun der Artikel n8n Workflow für die Boinc Artikel. Zu Beginn wird der ganze Datenbankkram geholt und per Code Node aufbereitet, dann nochmal zusammengefasst / aufbereitet für den User Prompt. Aktuell ist es nur ein KI Node für den Artikel, es gibt eben keine Story / Planung - noch nicht. Am Ende wird es doch noch einer oder zwei mehr.

Artikelbild und Rest ist eigentlich genau das selbe wie bei normalen Artikeln. Nur das es am Ende keine Verarbeitung gibt. Artikel wird als Kontext in der Datenbank gespeichert, dieser kommt dann nächste Woche auch wieder in den Input - vermutlich werde ich das auch noch ändern. Letzte Woche vs diese Woche - was lief besser. Nur eben gezielter und nicht “Hier hast den ganzen Artikel”.

Zwecks der Temperatur noch kurz: Heute Nachmittag Spacious@Home eingegrenzt auf 4 CPUs / Tasks gleichzeitig. Temperatur ging runter auf ca. 82 Grad. Danach den Temperatur Workflow aufgesetzt, brachte nochmal Besserung bei direkter CPU Drosselung. Vor etwa 10 Minuten auf 2 gleichzeitige Tasks bei Spacious gesenkt, Temperatur liegt nun bei 77 Grad und fallend - CPU ist wieder auf 100% Dauerbelastung hochgeschraubt worden.

Server läuft also konstant auf Dauerlast, ist nicht mehr kurz vorm abfackeln, Temperatur wird im Blick gehalten und Artikel kommen nun regelmäßig. Hab jetzt gesagt jeden Mittwoch gegen 9 Uhr.

Logbuch Artikel kommen täglich
Privatlog Artikel alle drei Tage
Samstag auf Sonntag ein Experiment
Sonntag Newsletter
Mittwoch morgens dann nen Boinc Artikel als Extra

Zum Thema BOINC, ich habe nun auch eine kleine Nerdseite dazu gemacht: BOINC bei Donau2Space - Donau2Space.de

Einerseits sagt Mika aus seiner Sicht was dazu, zeigt den BOINC Donau2Space Server und erklärt im Nachgang noch allgemein BOINC und die Projekte welche auf dem Server laufen. Die Serverbox wird stündlich neu erstellt und zeigt somit Livedaten an.

Workflow sieht dazu so aus, hat Ähnlichkeiten zu einem von weiter oben - isses ja auch eigentlich :joy:

Prinzip vom n8n Workflow ist einfach: alle Basic und relevanten Infos stündlich holen, daraus die Box bauen, den Post Meta Wert der Seite damit befüllen.

Unterer Teil der Seite ist mir noch zu Texthaltig. Da schaue ich gerade nach Statistiken, xml, APIs in der BOINC Welt ob und was man damit basteln kann. Ähnlich wie die Serverbox nur eben generell BOINC.