# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 103
# self = https://watcher.sour.is?uri=https://uplegger.eu/twtxt.txt&offset=103
# prev = https://watcher.sour.is?uri=https://uplegger.eu/twtxt.txt&offset=3
@xuu Nice one! 👍
Markdown and the Slow Fade of the Formatting Fetish - a nice article about Markdown VS proprietary formatting. With quotes like "Microsoft Office works in an office where you pretend to work until you can finally go home." 😄
@lyse I'm allways on the frontline! 🙃
@arne "Keep Behind This Line"
Puh, eine Woche Städteurlaub in Dublin. Das schafft - vor allem die Leber! 🍻🥃
Viele Eindrücke, Gegensätze und wunderbare Menschen.
Jetzt heißt es wieder: Im Alltag ankommen.
@arne I AM THE KING OF AGE OF EMPIRES!@1elf 👑
Heute ist wieder mal eine kleine Netzwerkveranstaltung (LAN-Party). Mit Bier und Pizza und netten Menschen.
"A Gamut Of Games" von Sid Sackson ist ein Buch über "andere" Spiele. Ich konnte die Tage einige davon ausprobieren: "Lines of Action" (LoA), "Three Musketeers" und "Network". Alle haben, für mich, wunderbar frische Spielmechaniken.
Beim Lesen meine ich, bei einigen anderen Spielbeschreibungen, Vorlagen für das Spiel "Tak - ein schönes Spiel" entdeckt zu haben. Live is Remix!
Heute ging es einmal wieder ins Kino. Zu "Mickey 17". Ein SciFi Comedy Drama über einen armen Retorten-Teufel, mit einem kritischen Blick auf die Gegenwart. Der Film hat mir viel Spaß gemacht.
https://m.youtube.com/watch?v=osYpGSz_0i4
Heute auf dem Heimweg roch es leicht güllig vom Stadtrand her. Is denn all wedder Gülletied? 🐄🐖💩🚜🤢
https://m.youtube.com/watch?v=STPvOxUDekU
@lyse Nein nein, nichts plattdeutsches. "Eberhardt Eichhörnchen" ist eine nette Alliteration und kommt aus einem Urlaub von vor ein paar Jahren. Auf dem Campingplatz gab es ein Eichhörnchen und der Eberhardt war durch eine Handwerkerwerbung präsent.
@lyse Bei mir heißen Eichhörnchen immer "Eberhardt" (unisex). Den Tierchen könnte ich stundenlang zuschauen.
Trotz "Zoomschwäche": Tolle Bilder.
Das Gemälde eines Waldgasthofes vor einer holzvertäfelten Wand Das mitteldeutsche Twin Peaks.
@lyse Das war ein sehr glatter Ritt mit der Bahn. Ebenso heute auf der Autobahn.
(gesendet aus Thüringen)
Ich fahre gleich zwei Stunden mit dem Zug durch das sonnige Mecklenburg-Vorpommern, um morgen PÜNKTLICH 🐓 mit den Schwiegereltern zur Familienfeier nach Thüringen aufbrechen zu können.
Ein Wochenende auf Achse wird das. 🚞🚐😞
@thecanine I like the clipboard function of HeliBoard very much.
I was on the hunt for new twts and found what I was looking for. Welcome to my timeline:
@javivf @lafe @melyanna @nff @shreyan
@movq I could show you some places here, in MeckPomm.
You may also want to renovate an old abandoned manor!?
I have the feeling, that I have come to a dead end with my first version of the TwtxtReader. That's why I'm stopping the project and starting again.
But of course, everyone is welcome to take a look at https://github.com/upputter/TwtxtReaderMK1
@movq Dem Ramelow platzt da ja fast die Hutschnur - verständlicher Weise.
uebermedien schreibt:
> Den Linken-Politiker Bodo Ramelow traktierte Moderator Dirk Müller mit plumpen Provokationen. Der AfD-Politikerin Beatrix von Storch rollte er einen Verständnis-Flokati aus.
>Es war eine verstörende Demonstration politischer Schieflage.

Der Interviewer (Dirk Müller) scheint mir auch nicht ganz koscher. Meine Filterblase wirft zu Ihm Lobhudeleien aus dem versprengten Sektor.
@movq Dem Ramelow platzt da ja fast die Hutschnur - verständlicher Weise.
uebermedien schreibt:
> Den Linken-Politiker Bodo Ramelow traktierte Moderator Dirk Müller mit plumpen Provokationen. Der AfD-Politikerin Beatrix von Storch rollte er einen Verständnis-Flokati aus.
>Es war eine verstörende Demonstration politischer Schieflage.
Der Interviewer (Dirk Müller) scheint mir auch nicht ganz koscher. Meine Filterblase wirft zu Ihm Lobhudeleien aus dem versprengten Sektor.
@bender And if that rock won't hit us, there still is a chance in 2038, to get everything shut down. 🤓
@movq You are right. Like I said in my (german only post) to the election results: "It saddens me and makes me think." ...
@arne
Gestern war Bundestagswahl. In Mecklenburg-Vorpommern haben die Ewiggestrigen die meisten Stimmen erhalten. Das betrübt mich und macht mich nachdenklich.
Heute waren das Ziehkind und ich zwei Stunden lang auf drei Spielplätzen und quer durch die Stadt unterwegs. Ein riesiger Spaß!
Vorab habe ich im hiesigen Spielzeugladen ein Konvolut von Klemmbausteinen erstanden, welche wohl zu einer Polizeistation gehörten!?
@bender Don't panic. I've just been testing my implementation. The great advantage of Twtxt is it's openness, I think. So DM spamming would contradict to this feature I like. ❤
@andros U2FsdGVkX1/RU/NkTLRBrZGuZMaeIOoVkh7mBigVC/58DW80tKrwx1L3UCj0qWj8dvRU5/uwVh32ujJUr+O8ug==
@lyse The best part is: "I found four skyrocket sticks in premium quality." 🎇 One can never has enough skyroket sticks!
@andros Here is everything written down I know to this stuff: https://github.com/upputter/testing-twtxt-dm/blob/main/README.md
@eapl.me @andros **Eureka!** It works! https://github.com/upputter/testing-twtxt-dm
PBKDF2_KEY_SIZE = 48 was the turning point! My dirty little crypt.class.php can en- and decrypt, accoridng to the OpenSSL standard and options used in https://twtxt.dev/exts/direct-message.html
@eapl.me Nope, I switched to the openssl library in PHP. But our rubberducking 🦆 seems to be working. Your find https://crypto.stackexchange.com/a/79855 for the IV generation may be the breakthrough ...
@arne Here are the results of the german jury:

Known salt (B64): Tb9oj07UhwU= (8)
Known key (B64): MII0yj+MC0mHNx254Voar80bi9P7jmocs0+x+inaxBE=
Known iv (B64): l/PvkDjOKMFZe73KptrvWw== (16)
Shared Key (B64): ql8zvN03p6kroSwNrcKbxk4zSBQFkgQZEumvqVIDMAE=
** DECRYPT **
Encrypted Message: ...
Decoded Salt (B64): Tb9oj07UhwU= (8)
PBKDF2 KEY (B64): MII0yj+MC0mHNx254Voar80bi9P7jmocs0+x+inaxBE=
iv (B64): JanbU1jI30lb6yfjq/adjA== (16)
Decrypted Message: 


😭
@eapl.me Here is what I've got so far: https://github.com/upputter/testing-twtxt-dm

There is a "00_well_known_message.enc" file, which I have the encryption paremters for (https://github.com/upputter/testing-twtxt-dm/blob/9fdf3be6aa8fe810a4cb275375dbb3d4a2a958ee/wellknown_test.php#L28).

According to my finding, I assume, that the saltsize in openssl is "8" and the PBKDF2 algo is "sha256".
@arne With the OpenSSL option -p one can get an output of salt, key and iv. My stupid PHP-code can get everything right from the encrypted data (from OpenSSL) - except the iv! Damn "evpKDF" 😔
@prologic I've been there yesterday w/o success.
@arne Well, just for my understanding. The command:
echo "Lorem ipsum" | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -out message.enc -pass file:shared_key.bin
will take the input string from echo to openssl. It then will

1. use the content of shared_key.bin as password
2. use PBKDF2 with an iteration of 100000 to generate a encryption key from the given password (shared_key.bin)
3. use the PBKDF2 generated key for an aes-256-cbc encryption

The final result is encrypted data with the prepended salt (which was generated by runtime), e.g.: Salted__q�;��-�T���"h%��5�� ....

With a dummy script I now can generate a valide shared key within PHP 'openssl_pkey_derive()' - identical to OpenSSL.
I also can en-/decrypt salted data within my script, but not with OpenSSL. There are several parameters of PBKDF2 unknown to me.

Question:
1. Is the salt, used by aes-256-cbc and PBKDF2 the same, prepended in the encrypted data?
2. Witch algorithm/cipher is used within PBKDF2: sha1, sha256, ...?
3. What is the desired key length of PBKDF2 (https://www.php.net/manual/en/function.openssl-pbkdf2.php)?

To be continued ...
@arne current progress If I keep the "nonce", I can decrypt a message with the shared key, like in the direct message specs.
But that is not how it should work. 😒
@andros I have really tried to get behind it. For an implementation for my TwtxtReader (PHP) I simply lack the knowledge of the standard-openssl parameters.
All my solution approaches require “nonce” or “initialization vector” on one or the other side. In addition, the “magic numbers” (“Salted__”) were not consistent in my tests.
@bender @prologic the markdown list in #jr6ywrq is a "loose" list, e.g. https://github.com/erusev/parsedown/issues/474#issuecomment-280874843
My markdown parser (parsedown PHP) renders the list with p-tags also.
@movq Schön mal noch eine Querreferenz zu haben. Danke!
Beide O-Maten haben ähnlich Ergebnisse für mich. Das bestätig mich in meiner bereits getroffenen Wahlentscheidung für den 23. Februar.
Der Wahl-O-Mat zur Bundestagswahl 2025 ist da!
@johanbove Ours also inlcudes the streaming portal https://www.filmfriend.de
It's nice to watch some arthaus and off main stream movies.
@movq That is a good one! It took me 15 minutes to get it. 🤓
@prologic In the EU there are Laws, Rules and Regulations for many things. I'm not an expert, but your case may sound like it could match to the EU Digital Services Act.
> [...] for example, the obligation to establish points of contact for authorities and citizens [...]
@prologic In the EU there are Laws, Rules and Regulations for many things. I'm not an expert, but your case may sound like it could match to the EU Digital Services Act.
> \n for example, the obligation to establish points of contact for authorities and citizens \n
Es ist Freitagnachmittag, vor den Winterferien. Was kommt da gelegener als ein teilweiser Ausfall der dienstlichen Netzwerkinfrastruktur? 🕺
@lyse Es ist immer noch so ähnlich. Da kommen so viele verschiedene Ebenen innerhalb und außerhalb der TYPO3-Umgebung zusammen, dass man sich wundert.

Und die TYPO3-Core-Entwickler nehmen gefühlt jeden fancy Shice mit, den sie gerade finden. Das reißt dann immer wieder Prozesse ein oder es muss ein gigantischer Aufwand betrieben werden, damit "grundlegende" Funktionen wieder hergestellt werden.
In den Kommentaren ist dann immer nur zu lesen "Tja, Pech. Gibt's nicht mehr. Sei froh, dass wir 'ne undokumentierte Schnittstelle dazu im Code versteckt haben. Bau's dir selbst."
Und der OpenSource-Gedanke ist bei einigen Erweiterungen (die als Quasi-Standard gelten) auch nur noch zu erahnen. Da müssen teilweise Abos abgeschlossen werden, damit einige Funktionen genutzt werden können.

Es wird auf jeden Fall nie langweilig.
Heute in der Playlist: https://youtu.be/yup8gIXxWDU
@skinshafi ❓📞🚫👻🔫
@arne Manchmal **HASSE** ich TYPO3! 💩
@arne Operation geglückt, Patient tot - oder so. Die nächsten Tage dann die Aufräumarbeiten. 😒
@arne Und los geht die wilde Fahrt!
Bildschirmfoto einer Wartungsseite
Heute fahren wir auffe Arbeit ein großen Update für das CMS der zentralen Webseiten. Hoffentlich geht das alles gut. 😱
@lyse "Sommer ist der schönste Tag im Norden". :D
Heute war ich mit dem Ziehkind in der Stadt unterwegs.
Mitten beim Eisschlecken fährt die Polizei in einem zivilen Wagen quer durch die Fußgängerzone. An der Bank am Markt dann weitere Uniformierte und kein Einlass für Kunden.
Da mussten wir uns in der Stadtbibliothek erst einmal Material zu dem Thema besorgen.
Cover vom Kinderbuch: Wie fängt die Polizei den Dieb?
@arne Whoop! Whoop! Es klappt!
TwtxtReader Icon Dies ist ein Test zum Verfassen eines Beitrags im TwtxtReader - inklusive Upload-Funktion für Bilder.
@lukas Willkommen bei Twtxt! 😘
Heute wurde im Ramschladen fast alles zum Thema "Dinosaurier" gekauft, denn morgen geht es zum Geburtstag vom Ziehkind und die Kleine steht da voll drauf! 🦖
Wir leben im Jahr 2025. Da kann ich auch endlich einmal htmx großflächig in einem Projekt einsetzten, wa?
@lyse Ein schönes Tier. Seit dem ich den Film "Der Junge und der Reiher" gesehen habe, muss ich immer an die Geschichte denken, wenn ich einen Reiher sehe.
Die Gardinenstange hängt.
Heute musste ich meiner Frau nachgeben und habe die "blockierende Aufgabe" erledigt, die mich fast zwei Jahre vor handwerklichen Tätigkeiten im Gästezimmer geschützt hat. 🤪
@prologic I may give it a try and join the call. 📞
@doesnm.p.psf.lt Thank you for the bug. It is a remnant of my desperate attempt to get a nice looking jump-link scrolling within the conversations. So I just removed scroll-snap-stop: always;.
Der [TwtxtReader (Dummy)](https://twtxt.uplegger.eu/reader2/) hat ein leichtes Re-Design bekommen. Die Devise lautet "**mobile first**"!
Eine Mehrsprachigkeitsunterstützung ist nun per YAML-Dateien drin.
Besonders stolz bin ich auf die Zeitangabe der Beiträge, mit Singular-Plural-Unterscheidung in unterschiedlichen Sprachen. Dafür gibt es extra einen eigenen Fluid-ViewHelper zur Übersetzungsschnittstelle.
Fortsetzung folgt ...
@movq Vielleicht auch ein "MegaPixel"? Hauptsache: Irgendwas mit KI.
@andros How about putting the whole encrypted conversation into a sperate twtxt-file. Just like the archive feature (?). That way, the general clients don't have to cope with the decrytption stuff and it won't break the general public conversations.
Für heute reicht es dann auch mal. Neue Funktionen:
- Login-Bereich
- Wechsler zwischen Zeitachse und Unterhaltung
- Paginierung nur noch, wenn benötigt
- Twtxt-Parsing optimiert (Parser-Plugins für: Youtube, iFrames, Bilder, Erwähnungen, kaputtes HTML, ...)
- unter der Haube aufgeräumt

Die bisher verwendeten ext. Bibliotheken sind:
- josantonius/session - Sessionverwaltung
- typo3fluid/fluid - Templating
- phpfastcache/phpfastcache - Caching
- erusev/parsedown - Markdown
@dfaria.eu Farewell! 👋
@lyse Danke! Ja, es gibt noch unzählige Stellschrauben an dem Ding. Deine Anmerkungen werde ich einarbeiten. Eine mobile Ansicht wär auch noch schön. Derzeit sitzt es auf dem Smartphone doch noch recht stramm.

@Unterhaltungen: Die von gestern zu verschlüsselten Nachrichten war ausschlaggebend für die Umsetzung. In "Timeline" und "Yarn" haben mich die Lösungsansätze bisher nicht überzeugt. Aber wir können ja alle etwas von einander lernen.
@lyse Du kannst selbst gern mal im TwtxtReader-Dummy herumklicken. Da ist natürlich alles auf meinen Feed eingestellt.
Bildschirmfotos wirken irgendwie nicht.
Die Bastelei am TxtwtReader geht gut voran. Neben diversen Filtern und Ansichten werden Unterhaltungen nun schön strukturiert angezeigt. Jetzt müsste ich mich auch mal um das Verfassen von Einträgen kümmern. Wenn ich mit dem Projekt zufrieden bin, lasse ich es vielleicht auch auf die Welt los. #OpenSource
Sagem - My Dual Radio 700 - hat wieder Sender Einfach, weil es so schön ist.
@lyse Die meisten Hersteller von Internetradios (Sony, Denon, Marantz, ...) binden einen externen Dienstleister (vTuner) fest(!) in ihre Geräte ein, damit die Nutzer sich durch eine große große Liste von weltweiten Internetradio-Stationen hören können.
Nun hat vTuner seit ca. 2020 sein Geschäftsmodell geändert. Man darf da nun für jedes Gerät (MAC-Adresse) bezahlen. Die Kosten steigen auch von $3 auf $7 pro Jahr. Die Hersteller zucken einfach mit den Schultern. Im schlimmsten Fall schaltet vTuner einfach die Domain ab und dann steht man da - wie bei mir: http://sagem.vtuner.com
Der XML-Parser von der alten Sagem-Huddel verlangt zeilenweise Einträge ohne Einzüge. Vielleicht standest Du mit Deinem Parser ja Pate!? 😉
LECK MICH FETT!
Das Küchenradio (Sagem - My Dual Radio 700) gibt wieder Töne von sich! Der XML-Parser von dem Ding ist sowas von hinüber. Die "Fertiglösungen" YCast und YTuner haben ein zu ordentliches XML erstellt. Per Trial and Error habe ich dann die Formatierung gefunden, die die olle Kiste braucht. 🥳
Tolle Wurst: vTuner hat den Support für das Küchenradio (Sagem - My Dual Radio 700) eingestellt. Die Subdomain sagem.vtuner.com ist nicht mehr.
Mal gucken, wie ich mit einer DNS-Umleitung und YCast wieder Klang in die Kiste kriege. Es wäre schade um das Gerät, welches einwandfrei funktioniert.
@movq Schöne Bilder. Mein Teleskop muss ich auch einmal wieder aktivieren.
Auf arte läuft heute Abend "The Cure". Erst eine Doku über die Band und jetzt das Jubiläumskonzert von 2018. https://www.arte.tv/de/videos/120866-000-A/the-cure-anniversary-1978-2018/
Nosferatu - Der Untote ist eine 75% Umsetzung der Murnau-Vorlage von 1922. Die Stimmung des Originals wird sehr schön transportiert. Mir hat der Film viel Spaß gebracht.
FunFact: Einige Drehorte von Murnaus Nosferatu liegen hier oben im schönen Norden. Wismar, Rostock und Lübeck.
Heute geht es ins Kino zu Nosferatu. Die Murnau-Adaption von Bram Stoker's Dracula scheint, laut Trailer, hier Pate gestanden zu haben. Ich lasse mich überraschen. 🦇
@prologic IMHO: Most people like it the easy way: "Don't make me think!". If you do not pay money for a service, your data/content is the price to pay. Some handy mobile apps for the fediverse and the ongoing debate on social media services may get the people and their content out of the walled gardens of the 21st century.
@aelaraji It's mybe because of their (pixelfed) app release, a few days ago!? https://techcrunch.com/2025/01/14/decentralized-instagram-alternative-pixelfed-launches-mobile-apps/
Thx @sorenpeter. Yepp, Yellow CMS is great! I stumbled across your extension and became aware of Twtxt and Timeline. Now I'm onto building my own little TwtxtReader.
Thank you @prologic , I'm pleased to be a little "thread" in the ball of yarn (Twtxt).
TwtxtReader Screenshot Nun habe ich mir einen eigenen webbasierten TwtxtReader erstellt. PHP-basiert mit Phpfastcache, Fluid Template Engine und asynchronen cUrl-Requests für die abonierten Feeds. Inspiriert durch Timeline von @sorenpeter
Komischer Tag heute. Hier in Greifswald hat sich der Lindner eine Schaumtorte gefangen und in der Tagesschau wird über ein Telefonat zwischen Elon Musk und Alice Weidel berichtet. Ein Zirkus das alles.
@movq An ähnliche Aktionen, von vor 20 Jahren, kann ich mich auch noch erinnern. Viel aktueller als damals™ waren unsere Spiele gestern auch nicht. BF1942, CoD, Flatout, CnC, AoE2, Unreal und Quake3, um nur einige zu nennen.
Heute gab es mal wieder eine Netzwerkveranstaltung / LAN-Party. Mit feinen Leuten einfach nur daddeln, Pizza essen und Bier trinken. Toll!
Der Weg führte mich heute am Gebäude des soChill Green Cannabis Club Greifswald e.V. vorbei und ich ich meine einen gewissen "Hopfengeruch" wahrgenommen zu haben. #420
@lyse Ein Prachtstück hast du dir da gebaut! Bei mir werden aus den Stöckern Rankhilfen, Nivellierunterlagen, Insektenhotels, Untersetzer und und und. Im Baumarkt zahlt man dafür bis zu 2€, pah! :)
Für mich, als leidenschaftlicher Raketenstocksammler, ist die Ausbreitung von Feuerwerksbatterien ein trauriger Fortschritt. Frohes Neues.
Es hört sich an wie Frühling und fühlt sich an wie Herbst: Es muss wohl Winter sein.
Die W'Nachtspost muss noch bis morgen Mittag ausgetragen werden. :( Die Leute wohnen aber auch alle sehr weit auseinander in dieser kleinen Stadt. Dieses Jahr gibt's ein "Zine", inspiriert durch https://zines.cool/
@movq Opps! My bad, I had a BotFilter activated which lead you to a 403. Fixed!
Wir waren heute mit Freunden in der Nachbarstadt und haben Klamotten, Kunst und Kleinzeug gekauft. Mein Treffer ist das Spiel Rum und Rollmops.
Jetzt ist das Gröbste für vor Weihnachten bereitet. Gleich geht hier die Medienstrecke an und dann lassen wir uns berieseln.
Ich habe mir einen twtxt-Log-Parser geschrieben, der mich per Mail informiert, wenn jemand "neues" auf meinen Feed zugreift. Mal gucken, wie es läuft.
Moin. Interessant, wie das hier alles funktioniert. Viel Spaß beim spielen.