@alexonit@twtxt.alessandrocutolo.it Personally, I find the reversed order of URL first and then timestamp more natural to reference something. Granted, URL last would be kinda consistent with the mention format. However, the timestamp doesnβt act as a link text or display text like in a mention, so, itβs some different in my opinion. But yeah.
@zvava@twtxt.net @movq@www.uninformativ.de Iβm not entirely sure about the spaces, but maybe they were omitted to simplify parsing of mentions in the form of @<nick url>. If the next token after the @<nick does not look like a URL, itβs not a mention but regular text. This is just wild guessing, though.
Looking at the regex and tests in the original twtxt reference implementation seems to confirm that theory in the sense as it relies on whitespace as the delimiter:
https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-30-25.png
Another thing about nicks is that the original twtxt reference implementation converts nicks to all lowercase:
https://lyse.isobeef.org/tmp/screenshot-2025-09-17-21-20-39.png
You probably know this already, the original twtxt file format specification can be found here: https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
As for extensions, I donβt know of anything outside of twtxt.dev that has actually been (partially) implemented. However, there is also the issue tracker of the official reference implementation. You might wanna dig through that. For example, there is an alternative suggestions of multiline messages: https://github.com/buckket/twtxt/issues/157
@kat@yarn.girlonthemoon.xyz all @prologic@twtxt.net has to do is to allow <details> and the subset under it. Granted, it could be implemented on the formatting toolbar tooβ¦
@zvava@twtxt.net may I recommend to change the mention format upon hitting reply to something similar to what itβs used in Yarn, and perhaps hiding the hash on the post too? Looking good!
Haha, fun! I browsed your gopher hole a little bit. I noticed some entries are fully justified (formatting), while others are not. I didnβt notice a pattern, though it makes sense not to use justification on entries with code. Yet, some prose entries are, and some are not. A mystery. :-)
Prosodical Thoughts: Debian repository key change
We have been working on some changes to our Debian/Ubuntu package repository.
If you use our repository to keep up to date with new Prosody packages, you
need to take action before 4th August 2025 to continue receiving updates
smoothly.
The βaptβ utility has been moving towards a new format for specifying package
repositories. If you are familiar with putting deb lines in a sources.list
file, [that method is changing](ht β¦ β Read more
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz I spent so much time in the past figuring out if something is a dict or a list in YAML, for example.
What are the types in this example?
items:
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
size: 8
price: 133.7
quantity: 1
items is a dict containing β¦ a list of two other dicts? Right?
It is quite hard for me to grasp the structure of YAML docs. π’
The big advantage of YAML (and JSON and TOML) is that itβs much easier to write code for those formats, than it is with XML. json.loads() and youβre done.
@lyse@lyse.isobeef.org yeah same YAML over XML forever bc at least one is more readable lmfao!! doesnβt forgive YAMLβs crimes thoughβ¦ cursed formats
@movq@www.uninformativ.de @kat@yarn.girlonthemoon.xyz Any text format beats a binary configuration format. However, YAML and XML are both terrible choices in my opinion. Iβd prefer YAML over XML if I had to.
Xfce does one thing very right: It stores its settings in plain-text XML files. This allows me to easily read, track, and maybe even distribute these settings to other machines.
(Unlike GNOMEβs dconf, which uses some binary file format. Fun fact: The older and now deprecated gconf also used XML files.)
@prologic@twtxt.net Yeah, this really could use a proper definition or a βmanifestβ. π Many of these ideas are not very wide spread. And I havenβt come across similar projects in all these years.
Letβs take the farbfeld image format as an example again. I think this captures the βspiritβ quite well, because this isnβt even about code.
This is the entire farbfeld spec:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
ββββββββββ€ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Bytes β Description β
β βββββββββͺββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β 8 β "farbfeld" magic value β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β 4 β 32-Bit BE unsigned integer (width) β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β 4 β 32-Bit BE unsigned integer (height) β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β [2222] β 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major β
ββββββββββ§ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.
(Now, I donβt know if your screen reader can work with this. Let me know if it doesnβt.)
I think these are some of the properties worth mentioning:
- The spec is extremely short. You can read this in under a minute and fully understand it. That alone is gold.
- There are no βknobsβ: Itβs just a single version, itβs not like thereβs also an 8-bit color depth version and one for 16-bit and one for extra large images and one that supports layers and so on. This makes it much easier to implement a fully compliant program.
- Despite being so simple, itβs useful. Iβve used it in various programs, like my window manager, my status bars, some toy programs like βtuxeyesβ (an Xeyes variant), or Advent of Code.
- The format does not include compression because it doesnβt need to. Just use something like bzip2 to get file sizes similar to PNG.
- It doesnβt cover every use case under the sun, but it does cover the most important ones (imho). They have discussed using something other than RGBA and decided itβs not worth the trouble.
- They refrained from adding extra baggage like metadata. It would have needlessly complicated things.
I did a βlectureβ/βworkshopβ about this at work today. 16-bit DOS, real mode. πΎ Pretty cool and the audience (devs and sysadmins) seemed quite interested. π₯³
- People used the Intel docs to figure out the instruction encodings.
- Then they wrote a little DOS program that exits with a return code and they used uhex in DOSBox to do that. Yes, we wrote a COM file manually, no Assembler involved. (Many of them had never used DOS before.)
- DEBUG from FreeDOS was used to single-step through the program, showing what it does.
- This gets tedious rather quickly, so we switched to SVED from SvarDOS for writing the rest of the program in Assembly language. nasm worked great for us.
- At the end, we switched to BIOS calls instead of DOS syscalls to demonstrate that the same binary COM file works on another OS. Also a good opportunity to talk about bootloaders a little bit.
- (I think they even understood the basics of segmentation in the end.)
The 8086 / 16-bit real-mode DOS is a great platform to explain a lot of the fundamentals without having to deal with OS semantics or executable file formats.
Now that was a lot of fun. π₯³ Itβs very rare that we do something like this, sadly. I love doing this kind of low-level stuff.
Flatpak βnot being actively developed anymoreβ
At the Linux Application Summit (LAS) in April, Sebastian Wick said that, by many metrics, Flatpak is doing great. The Flatpak application-packaging format is popular with upstream developers, and with many users. More and more applications are being published in the Flathub application store, and the format is even being adopted by Linux distributions like Fedora. However, he worried that work on the Flatpak project itself had stagnated, a β¦ β Read more
Paste Without Formatting Should be the Default
Software needs to stop trying to be so dang fancy. β Read more
NATO announces new Ramstein format meeting next week β Read more
One of the Last Linux Magazines Ends Print Publication
Linux Format Magazine ends publication after 25 years - joining Linux Journal, Ubuntu User, Maximum Linux and many other now-dead Linux publications. β Read more
Genode OS Framework 25.05 released
Itβs been 9 years since we disrupted Genodeβs API. Back then, we changed the execution model of components, consistently applied the dependency-injection pattern to shun global side effects, and largely removed C-isms like format strings and pointers. These changes ultimately paved the ground for sophisticated systems like Sculpt OS. Since then, we identified several potential areas for further safety improvements, unlocked by the evolution of the C++ core langu β¦ β Read more
LILYGO T-Embed SI4732 Combines ESP32 S3 with All Band Radio Tuning
LILYGO has introduced a new version of its T-Embed series that incorporates the SI4732 A10 tuner module. This version supports AM, FM, shortwave, and longwave radio bands in a handheld format that visually resembles devices like the Flipper Zero. The T-Embed SI4732 uses the ESP32 S3 microcontroller with a dual-core LX7 processor clocked at 240 [β¦] β Read more
A brief history of the numeric keypad
The title is a lie. This isnβt brief at all. Picture the keypad of a telephone and calculator side by side. Can you see the subtle difference between the two without resorting to your smartphone? Donβt worry if you canβt recall the design. Most of us are so used to accepting the common interfaces that we tend to overlook the calculatorβs inverted key sequence. A calculator has the 7β8β9 buttons at the top whereas a phone uses the 1β2β3 format. Subtle, but β¦ β Read more
10 Invisible Standards That Make the Modern World Work
Modern life feels seamless. You buy a phone charger, and it fits. You send a letter, and it gets delivered. But behind that convenience is a complex web of invisible global standardsβquiet, often century-old decisions that the entire planet just agreed to follow. Without them, your printer wouldnβt know how to format a page, your [β¦]
The post [10 Invisible Standards That Make the Modern World Work](https://listverse.com/20 β¦ β Read more
@sorenpeter@darch.dk No because as the spec statd originally, and we didnβt change that syntax at all:
Mentions are embedded within the text in either @ or @ format
So the lextwt parser we use will simply call this an invalid mention, which it does.
@<nick url timestamp>) and having location based treading this way, might not break older clients, since they might just igonore the last value within the brackets.
@sorenpeter@darch.dk Unfortunately it does break all clients, because the original spec stated:
Mentions are embedded within the text in either @ or @ format
Z for UTC +00:00- is that allowed in your specs?
Regarding url = I would suggest to only allow one and the maybe add url_old = or url_alt = !?
I'm still not a fan of a DM feature, even thou it helps that i have now been split out into a separate feed file. Instead if would suggest a contact = field for where people can put an email or other id/link for an established chat protocol like signal or matrix.
Why are we testing, or playing with, an alternate non-fully-compatible feed format within the same feed that we use daily?
What is this βformat:β inside of printf? β Read more
Nobody writes emails by hand using RFC 5322 anymore, nor do we manually send them through telnet and SMTP commands. The days of crafting emails in raw format and dialing into servers are long gone. Modern email clients and services handle it all seamlessly in the background, making email easier than ever to send and receiveβwithout needing to understand the protocols or formats behind it! #Email #SMTP #RFC #Automation
OSTIF Announces NATS Security Audit Results
OSTIF is proud to share the results of our security audit of NATS.Β NATS is an open source project made by Synadia Communications for secure always-on messaging for a variety of digital formats and clients. Withβ¦ β Read more
@andros@twtxt.andros.dev Zulu said:
what is twtxt for you?
For me Twtxt is just the underlying format that Yarn.social builds upon π
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
@kate@yarn.girlonthemoon.xyz (as I was trying to sayβ¦), Glad you think soπ My goal with Yarn.social has always been to provide the best (best that I can anyway) truly decentralised (slow) social experience that uses the Twtxt format under the hood π
Holy hell?! When I post this:
@<kate https://yarn.girlonthemoon.xyz/user/kat/twtxt.txt> Glad you think so! π My goal with Yarn.social has always been to provide the best (_best that I can anyway!_) truly decentralised (_slow_) social experience that uses the Twtxt format under the hood π
Something is swallowing it.
@kate@yarn.girlonthemoon.xyz Glad you think so! π My goal with Yarn.social has always been to provide the best (best that I can anyway!) truly decentralised (slow) social experience that uses the Twtxt format under the hood π
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
Glad you think so! π My goal with Yarn.social has always been to provide the best (best that I can anyway!) truly decentralised (slow) social experience that uses the Twtxt format under the hood π
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
@kate@yarn.girlonthemoon.xyz Glad you think so! π My goal with Yarn.social has always been to provide the best (best that I can anyway!) truly decentralised (slow) social experience that uses the Twtxt format under the hood π
yarnd UI/UX experience (for those that use it) and as "client" features (not spec changes). The two ideas are quite simple:
@kate@yarn.girlonthemoon.xyz Glad you think so! π My goal with Yarn.social has always been to provide the best (best that I can anyway!) truly decentralised (slow) social experience that uses the Twtxt format under the hood π
I asked ChatGPT what it knows about Twtxt π And surprisingly itβs rather accurate:
Twtxt is a minimalist, decentralized microblogging format introduced by John Downey in 2016. It uses plain text files served over HTTPβno accounts, databases, or APIs.
In 2020, James Mills (@prologic@twtxt.net) launched Yarn.social, an extended, federated implementation with user discovery, threads, mentions, and a full web UI.
Both share the same .twtxt.txt format but differ in complexity and social features.
@prologic@twtxt.net @bmallred@staystrong.run So is restic considered stable by now? βStableβ as in βstable data formatβ, like a future version will still be able to retrieve my current backups. I mean, itβs at version β0.18β, but they donβt specify which versioning scheme they use.
i feel so powerful i wrote a 3 line script that takes an inputted markdown filename from the current working directory and then spits out a nicely formatted html page. pandoc does all the work i did nothing
Managing multi-line logs with Fluent Bit and Python
In this blog you will learn about:Β Introduction Logs are essential for monitoring and debugging applications, but not all logs are created equal. While most logs follow a simple line-by-line format, others span multiple lines toβ¦ β Read more
Hello, i want to present my new revolution twtxt v3 format - twjson
Thatβs why you should use it:
- Itβs easy to to parse
- Itβs easy to read (in formatted mode :D)
- It used actually \n for newlines, you donβt need unprintable symbols
- Forget about hash collisions because using full hash
Here is my twjson feed: https://doesnm.p.psf.lt/twjson.json
And twtxt2json converter: https://doesnm.p.psf.lt/twjson.js
Registry format is its own thing. It takes the regular feed and appends nick \t uri \t to it. Its something that existed before yarn got big. There is still a bit of work but I will put together a ui for it to make it easier to view and navigate.
I need to import my yarn cache. Itβs sitting at about 1.5G in registry format. That should make things interestingβ¦
True. Though if the idea turns out to be better.. then community will adopt it.
if you look at the subject for that twt you will see that it uses the extended hash format to include a URL address.
** mkv no more **
My previous post included a video. I made that video with OBS which outputs .mkv video files.
I wanted to do my best to ensure that folks with a variety of devices and browsers would be able to watch the video if they wanted to, so, I converted it into a few different formats.
Hereβs the bash script I wrote to do that. It relies on ffmpeg.
β`hljs bash
#!/bin/bash
if ! command -v ffmpeg &> /dev/null; then
echo "ffmpeg ... β [Read more](https://eli.li/mkv-no-more)```
Some satisfying icicle-breaking in our backyard: photos.falsifian.org/video/sM7G3vfS6yuc/VID_20250217_203250.mp4
I couldnβt resist taking home a prize:
Itβs been snowy here in #Toronto.
(I tried formatting the images in markdown for the benefit of yarn and any other clients that understand it.)
UNIX man pages
What might be somewhat more surprising though considering its research origins is that Unix almost since the very beginning had a comprehensive set of online reference documentation for all its commands, system calls, file formats, etc. These are the the manual- or man-pages. On Unix systems used interactively, the man-pages have historically always been installed, space permitting. The way the manual pages have evolved and how they are used has changed over the decades. This set of posts is intended β¦ β Read more
trying to keep it simple but.. perhaps it can be extended to fix timestamp formats like using " " instead of "T"
m2049r releases Monerujo v4.1.6 with Exolix fixes
m2049r1 has released Monerujo2 patch version 4.1.63 with minor fixes - including for the Exolix 4 exchange integration - and various other changes and updates:
Minimum weblate requirements
Add Arabic Translation
Updated Swedish translation
Update Turkish and French translations
fix toolbar under notification bar
make node parsing and formatting ipv6-friendly
Update default nodes
update exolix ... β [Read more](https://monero.observer/monerujo-v4.1.6-released-exolix-fixes/)
Run Linux inside a PDF file via a RISC-V emulator
You might expect PDF files to only be comprised of static documents, but surprisingly, the PDF file format supports Javascript with its own separate standard library. Modern browsers (Chromium, Firefox) implement this as part of their PDF engines. However, the APIs that are available in the browser are much more limited. The full specfication for the JS in PDFs was only ever implemented by Adobe Acrobat, and it contains some ridicul β¦ β Read more
Reviving a dead audio format: the return of ZZM
Long-time readers will know that my first video game love was the text-mode video game slash creation studio ZZT. One feature of this game is the ability to play simple music through the PC speaker, and back in the day, I remember that the format βZZMβ existed, so you could enjoy the square wave tunes outside of the games. But imagine my surprise in 2025 to find that, while the Museum of ZZT does have a ZZM Audio section, it recommends t β¦ β Read more