Thanks for your feedback @lyse@lyse.isobeef.org. For some reason i missed it until now. For now I have implemented endpoint discovery for #webmentions as a metadata field in the twtxt.txt like this:
# webmention = http://darch.dk/timeline/webmention
And now added #filter for replies too:
@adi@twtxt.net No, thinking much bigger than that at the moment: http://a.9srv.net/b/us-osqi
Added support for #tag clouds and #search to timeline. Based on code from @dfaria.eu@dfaria.eu🙏
Live at: http://darch.dk/timeline/?profile=https://darch.dk/twtxt.txt
prev field in your feed’s headers is invalid. 😅
Hi @movq@www.uninformativ.de, is it better now?
I have put in a psudo twthash since I did not archive from a specific date/post, but just what I did not find relevant to keep in my main feed.
Hey @sorenpeter@darch.dk, I’m sorry to tell you, but the prev field in your feed’s headers is invalid. 😅
First, it doesn’t include the hash of the last twt in the archive. Second, and that’s probably more important, it forms an infinite loop: The prev field of your main feed specifies http://darch.dk/twtxt-archive.txt and that file then again specifies http://darch.dk/twtxt-archive.txt. Some clients might choke on this, mine for example. 😂 I’ll push a fix soon, though.
For reference, the prev field is described here: https://dev.twtxt.net/doc/archivefeedsextension.html
@sorenpeter@darch.dk a poem about me giving Odo a free bucket:
A glint in his eye, a sly, Ferengi grin,
Quark crossed the promenade, a curious thing within.
No jeweled trinket, no weapon so grand,
But a simple pail held tight in his hand.Odo, the Constable, with a brow raised high,
“A bucket, Quark? What trickery do you try?”
The Ferengi huckster, with a salesman’s flair,
“A gift, my friend, a constable’s rare!”“For those late-night spills, a morphing mishap,
This bucket, dear Odo, will catch every scrap.
And should a suspect turn to goop and flee,
This pail’s the answer, a guarantor, you see!”Odo’s lips twitched, a hint of a smile,
At Quark’s twisted logic, his mercantile style.
“Perhaps,” he conceded, the bucket held tight,
“A useful addition, in the pursuit of right.”So Quark made his sale, with a wink and a nod,
A bucket for Odo, a Ferengi oddity, odd.
But on Deep Space Nine, where chaos takes hold,
Even a pail can be worth more than gold.
About the account, thanks, but I already have way too many. :-D
you need to send an email @quark@ferengi.one if you want an account. I know that it might not be very profitable. Maybe Odo can disclose it if I give him a new bucket.
you need to send an email @quark@ferengi.one if you want an account. I know that might be very profitable. Maybe Odo can disclose it if I give him a new bucket.
@mckinley@twtxt.net I’m over here now. And yes I can send a PR to repo or your are welcome to add it. Credits also to @eapl.me@eapl.me for making a working yarn compatible parser.
@bender@twtxt.net ha! He goes his “poem”:
A string of letters, a forgotten name,
An email crafted, a message to claim.
We hit send with a click, a hopeful sigh,
But a bounce-back arrives, a tear in our eye.“Delivery failed,” the message reads cold,
The address it seems, is a story untold.
A ghost in the system, a memory’s trace,
Lost in the void of cyberspace.
:-D
its a notebook tool like evernote. @sorenpeter@darch.dk linked it above: https://joplinapp.org/
its a notebook tool like evernote. @sorenpeter@darch.dk linked it above: https://joplinapp.org/
It not that easy @xuu@txt.sour.is since I implemented webmentions in a different way that how it have been done in yarnd to work with txt-files. You can find the code in webmention_endpoint.php and new_twt.php at main · sorenpeter/timeline
Thanks @prologic@twtxt.net, I also just manage to get my own version of webmentions working. Please have a read at Webmentions vs. Custom Mentions Spec for Twtxt/Yarn - HedgeDoc and User Lookup for Twtxt/Yarn - Webfinger or Decentralized Identifiers (DIDs) - HedgeDoc for how it sorta works
@eapl.me@eapl.me Take a look at http://darch.dk/timeline/conv/i4nt3ma
@movq@www.uninformativ.de For syncing notes between computers and phones I’ve been very happy with Simple Text - w Dropbox sync for some year, but transitioned to Joplin around new year. Both sync via Dropbox and for Joplin there are also more free options. I guess you could even use something like Syncthing
@movq@www.uninformativ.de the last part is more like ‘in wild hell’.
The first part is like when you say fuck, or fucking hell or ‘shit’ if you know what I mean. :)
@mckinley@twtxt.net its hosted on the mini at home and ingress is handled through my MTR vm.
@mckinley@twtxt.net its hosted on the mini at home and ingress is handled through my MTR vm.
@xuu@txt.sour.is Wow. txt.sour.is has IPv6, so are you hosting it on one of those VMs or is it a reverse proxy back home?
@mckinley@twtxt.net for me:
- a wall mount 6U rack which has:
- 1U patch panel
- 1U switch
- 2U UPS
- 1U server, intel atom 4G ram, debian (used to be main. now just has prometheus)
- 1U patch panel
- a mini ryzon 16 core 64G ram, fedora (new main)
- multiple docker services hosted.
- multiple docker services hosted.
- synology nas with 4 2TB drives
- turris omnia WRT router -> fiber uplink
network is a mix of wireguard, zerotier.
- wireguard to my external vms hosted in various global regions.
- this allows me ingress since my ISP has me behind CG-NAT
- this allows me ingress since my ISP has me behind CG-NAT
- zerotier is more for devices for transparent vpn into my network
i use ssh and remote desktop to get in and about. typically via zerotier vpn. I have one of my VMs with ssh on a backup port for break glass to get back into the network if needed.
everything has ipv6 though my ISP does not provide it. I have to tunnel it in from my VMs.
@mckinley@twtxt.net for me:
- a wall mount 6U rack which has:
- 1U patch panel
- 1U switch
- 2U UPS
- 1U server, intel atom 4G ram, debian (used to be main. now just has prometheus)
- 1U patch panel
- a mini ryzon 16 core 64G ram, fedora (new main)
- multiple docker services hosted.
- multiple docker services hosted.
- synology nas with 4 2TB drives
- turris omnia WRT router -> fiber uplink
network is a mix of wireguard, zerotier.
- wireguard to my external vms hosted in various global regions.
- this allows me ingress since my ISP has me behind CG-NAT
- this allows me ingress since my ISP has me behind CG-NAT
- zerotier is more for devices for transparent vpn into my network
i use ssh and remote desktop to get in and about. typically via zerotier vpn. I have one of my VMs with ssh on a backup port for break glass to get back into the network if needed.
everything has ipv6 though my ISP does not provide it. I have to tunnel it in from my VMs.
@mckinley@twtxt.net, in your blog, I think a “line-heigh” of 1.5 (if I remember correctly you are setting it on the “body” on CSS) will make it more legible.
@mckinley@twtxt.net 500 GH\s
@bender@twtxt.net Yeah, I do not plan on retiring because of this device lol. But I let it solo mine until it breaks, no need for pennies if you can get the jackpot :p haha.
Gonna buy more of them later on as well.
It’s just a hobby for me, something to do, and I always enjoy getting various hardware related things. Especially open source stuff.
Also made a webfinger lookup resolver that works with my own webfinger endpoint as well as yarnd servers:
http://darch.dk/wf-lookup.php
@bender@twtxt.net I don’t mind the character limit. If I hit it and I still have more to say, it’s a good reminder that I should probably write a note instead. I like to POSSE anything that might have value outside of the current conversation.
Maybe increase the amount of text we can type on twtxts? I am running out of space! :-)
@bender@twtxt.net That’s what I also don’t understand. What is driving all this pierced hate and ignorance in the world lately?!
@mckinley@twtxt.net yeah, solo mining for sure.
Going to buy more of them later on as well.
Did another write up on #webfinger and DIDs for twtxt/yarn that you can read and edit/comment in: User lookup for twtxt/yarn - Webfinger or Decentralized Identifiers (DIDs) - HedgeDoc
I’ve gathers my ideas about mentions for twtxt/yarn here: Webmentions vs. custom mentions spec for twtxt/yarn - HedgeDoc
You are welcome to edit and comment in the doc, so our ideas are not fragment into a bunch of treads
@bender@twtxt.net It is the new “politically correct”. Something that was used to describe acting in a more civilized way with one another. Turned into a scapegoat for the other side to label, demonize, and attack.
@bender@twtxt.net It is the new “politically correct”. Something that was used to describe acting in a more civilized way with one another. Turned into a scapegoat for the other side to label, demonize, and attack.
@shreyan@twtxt.net What do you mean when you say federation protocol?
Either use webfinger for identity like mastodon etc. or use ATproto from Bluesky (or both?)
We can use webmentions or create our own twt-mentions for notifying someones feed (WIP code at: https://github.com/sorenpeter/timeline/tree/webmention/views)
I’m not sure we need much else. I would not even bother with encryption since other platforms does that better, and for me twtxt/yarn/timeline is for making things public
yarn should define its own federation protocol that extends the basic twtxt in ways that twtxt doesn’t allow. it’s time. and i’ve got ideas!
You can’t catch the kill signal. Should this be syscall.SIGTERM instead of os.Kill, xuu? https://git.sour.is/sour-is/go-paste/src/branch/main/main.go#L21
You are totally right.. i think i was going for SIGTERM and SIGQUIT
You can’t catch the kill signal. Should this be syscall.SIGTERM instead of os.Kill, xuu? https://git.sour.is/sour-is/go-paste/src/branch/main/main.go#L21
You are totally right.. i think i was going for SIGTERM and SIGQUIT
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @ starts the definition of a namespace kinda like [name] in ini format. It can have comments that show up before. then each attribute is key :value and can have their own # comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.

the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @ starts the definition of a namespace kinda like [name] in ini format. It can have comments that show up before. then each attribute is key :value and can have their own # comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.

the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
[foo] [foo.bar] [foo.baz]) and it just feels confusing to me, even with indentation. Simple INI files are okay.
@mckinley@twtxt.net Don’t forget the syntax for arrays of sets [[foo.bars]] [[foo.bars]] [[foo.bars]]
[foo] [foo.bar] [foo.baz]) and it just feels confusing to me, even with indentation. Simple INI files are okay.
@mckinley@twtxt.net Don’t forget the syntax for arrays of sets [[foo.bars]] [[foo.bars]] [[foo.bars]]
@lyse@lyse.isobeef.org Lack of comments are definitely a shortcoming of JSON. I don’t like TOML because it lets you have nested categories ([foo] [foo.bar] [foo.baz]) and it just feels confusing to me, even with indentation. Simple INI files are okay.
The Prosody XMPP server’s configuration file is just a Lua script because Prosody is written in Lua, and that’s excellent.
Yeah, the lack of comments makes regular JSON not a good configuration format in my view. Also, putting all keys in quotes and the use of commas is annoying. The big upside is that’s in lots of standard libraries.
I think the appeal with YAML is that is has comments, is kind of easy to write and read and also provides unlimited nesting levels. But it has all its drawbacks, no question. Forbidding tabs, thousands of different string flavors, having so many boolean options (poor Norwegians) etc. I use it, but I don’t particularly enjoy it.
Among simple key value pairs, I like INI files, but with # for comments, not ;. I never used TOML, read up on it yesteray before writing this question, but it looks a bit weird and has some strange rules. I guess I have to give it a try one day.
And yes, as mentioned by several of you, it always depends on the complexity of the configuration at hand.
I’m developing something for the scouts at the moment with rather simple requirements on the config. Currently, there are just four settings. Even INI would be overkill with its section. I selected JSON for now, because that’s readily available with Go’s std lib. But I do not like it.
Btw. what’s your own config format, @xuu@txt.sour.is?
@lyse@lyse.isobeef.org i made my own :D
I do prefer toml for the old school ini style with added support for object lists.
my second would be hjson or any other json with comments style.
@lyse@lyse.isobeef.org i made my own :D
I do prefer toml for the old school ini style with added support for object lists.
my second would be hjson or any other json with comments style.
I came across Google Summer of Code
This one looks interesting, I’ll apply soon, and perhaps is interesting for you as well
https://kiwix.org/en/google-summer-of-code/
Would ‘twtxt’ be a good project for the next one? 🤔
@reddit_world_news@feeds.twtxt.net and here in Norway they want to punish people more and more.
But the cost of alcohol on society is fine it seems.
@johanbove@johanbove.info dear lord! Can you still sleep at night?!
@movq@www.uninformativ.de Haha! yeah sounds about like my HS CS program. A math teacher taught visual basic and pascal. and over on the other end of the school we had “electronics” which was a room next to the auto body class where they had a bunch of random computer parts scavenged from the district decommissioned surplus storage.
The advanced class would piece together training kits for the basic class to put together.
@movq@www.uninformativ.de Haha! yeah sounds about like my HS CS program. A math teacher taught visual basic and pascal. and over on the other end of the school we had “electronics” which was a room next to the auto body class where they had a bunch of random computer parts scavenged from the district decommissioned surplus storage.
The advanced class would piece together training kits for the basic class to put together.
@lyse@lyse.isobeef.org not frozen, we have abou 5-6 degrees now. So snow is mostly gone etc :) today felt like spring, but tonight and throughout the weekend we will have rain..
@prologic@twtxt.net High five, I’m “generation Java” as well! 😂 There were some leftovers of C++, we used that in the computer graphics courses in Uni a lot. But pretty much anything else that involved programming was Java.
(There was nothing even remotely resembling CS in our “high school”. That school neither had the required teachers nor the equipment / PCs.)
I keep muting accounts here (twtxt.net), and they keep popping back on after some time. It is nuts. :-(
@quark@ferengi.one pascal was high school for me 10th grade. I remember making an over the top Yahtzee game with text windows and everything. My instructor got mad at me because it was a ton of pages printed out to review.
@quark@ferengi.one pascal was high school for me 10th grade. I remember making an over the top Yahtzee game with text windows and everything. My instructor got mad at me because it was a ton of pages printed out to review.
@xuu@txt.sour.is wow, I can tell I am older than you (I already knew this, but still). It was nothing but Pascal for me.
@movq@www.uninformativ.de before this century. Back when colleges taught C++ instead of Java for CS degrees.
@movq@www.uninformativ.de before this century. Back when colleges taught C++ instead of Java for CS degrees.
@lyse@lyse.isobeef.org Yeah the func in func threw me off.. The generic type iter.Seq[V] does make things a bit more clear though.
@lyse@lyse.isobeef.org Yeah the func in func threw me off.. The generic type iter.Seq[V] does make things a bit more clear though.
@xuu@txt.sour.is These are indeed iterators. Very weird syntax, though.
I would love to see a world where ones twtxt feed is defined by webfinger. So @xuu@txt.sour.is => https://text.sour.is/user/xuu/twtxt.txt
Then my identity can exist independent of the feed location. And I can host multiple protocol types for my feed. Ie. http/gopher/Gemini/irc DCC/etc
I would love to see a world where ones twtxt feed is defined by webfinger. So @xuu@txt.sour.is => https://text.sour.is/user/xuu/twtxt.txt
Then my identity can exist independent of the feed location. And I can host multiple protocol types for my feed. Ie. http/gopher/Gemini/irc DCC/etc
@movq@www.uninformativ.de NASM is great. I remember playing with it back in my HS days. It has lots of little helps to make assembly more approachable.
@movq@www.uninformativ.de NASM is great. I remember playing with it back in my HS days. It has lots of little helps to make assembly more approachable.
@prologic@twtxt.net Nice! That sounds great :) Kids have vacation next week - but I do not, so we’ll do stuff after work at least, bowling and other things. :)
@mckinley@twtxt.net full of crypto spam. Slow. Bad UI’s.
anthony.buc.ci account. I am assuming these kind of bugs were never addressed by @prologic. :-(
@quark@ferengi.one @mckinley@twtxt.net
i think you have to be following the person so it does it correctly.
anthony.buc.ci account. I am assuming these kind of bugs were never addressed by @prologic. :-(
@quark@ferengi.one @mckinley@twtxt.net
i think you have to be following the person so it does it correctly.
@mckinley@twtxt.net weird you mentioned my with the anthony.buc.ci account. I am assuming these kind of bugs were never addressed by @prologic@twtxt.net. :-(
@movq@www.uninformativ.de its always fun to look back on old projects. I talked to an old coworker about a codebase i made back in 2010 that still has lots of the same architecture i built into it back then and is still in heavy use.
@movq@www.uninformativ.de its always fun to look back on old projects. I talked to an old coworker about a codebase i made back in 2010 that still has lots of the same architecture i built into it back then and is still in heavy use.
@eapl.me@eapl.me the 24th of June 2002 was a pivotal year in my life.
@eapl.me@eapl.me the 24th of June 2002 was a pivotal year in my life.
@movq@www.uninformativ.de the location is real. A few in the ‘hood mentioned seeing this person directly. They live somewhere on the hillside in the background of the video.
@movq@www.uninformativ.de the location is real. A few in the ‘hood mentioned seeing this person directly. They live somewhere on the hillside in the background of the video.
@prologic@twtxt.net pretty nothing berger. The “blowout” was pretty tame coming from Linus kill yourself now. The world will be a better place” Torvold.
The issue was a dev making a “fix” that didn’t have a documented problem. They reused some specific low level functions they did not understand the reason they were made.
@prologic@twtxt.net pretty nothing berger. The “blowout” was pretty tame coming from Linus kill yourself now. The world will be a better place” Torvold.
The issue was a dev making a “fix” that didn’t have a documented problem. They reused some specific low level functions they did not understand the reason they were made.
@prologic@twtxt.net ahhh! Its the dark reader plugin breaking the page.
@prologic@twtxt.net ahhh! Its the dark reader plugin breaking the page.
@prologic@twtxt.net why am I getting this on your git? 
@prologic@twtxt.net why am I getting this on your git? 
Twtxt spec enhancement proposal thread 🧵
Adding attributes to individual twts similar to adding feed attributes in the heading comments.
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
The basic use case would be for multilingual feeds where there is a default language and some twts will be written a different language.
As seen in the wild: https://eapl.mx/twtxt.txt
The attributes are formatted as [key=value]
They can show up in the twt anywhere it is not enclosed by another element such as codeblock or part of a markdown link.
Twtxt spec enhancement proposal thread 🧵
Adding attributes to individual twts similar to adding feed attributes in the heading comments.
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
The basic use case would be for multilingual feeds where there is a default language and some twts will be written a different language.
As seen in the wild: https://eapl.mx/twtxt.txt
The attributes are formatted as [key=value]
They can show up in the twt anywhere it is not enclosed by another element such as codeblock or part of a markdown link.
@eapl.me@eapl.me: [boost]
@eapl.me@eapl.me: [boost]
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
Trying out a boost format. seems better with text after….
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
Trying out a boost format. seems better with text after….
@eapl.me@eapl.me trying out a boost format.
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
@eapl.me@eapl.me trying out a boost format.
Ha, this is cool. Has its flaws, although is easy to remember.
An RNG that runs in your brain
> ?
@sorenpeter@darch.dk this makes sense as a quote twt that references a direct URL. If we go back to how it developed on twitter originally it was RT @nick: original text because it contained the original text the twitter algorithm would boost that text into trending.
i like the format (#hash) @<nick url> > "Quoted text"\nThen a comment
as it preserves the human read able. and has the hash for linking to the yarn. The comment part could be optional for just boosting the twt.
The only issue i think i would have would be that that yarn could then become a mess of repeated quotes. Unless the client knows to interpret them as multiple users have reposted/boosted the thread.
The format is also how iphone does reactions to SMS messages with +number liked: original SMS
> ?
@sorenpeter@darch.dk this makes sense as a quote twt that references a direct URL. If we go back to how it developed on twitter originally it was RT @nick: original text because it contained the original text the twitter algorithm would boost that text into trending.
i like the format (#hash) @<nick url> > "Quoted text"\nThen a comment
as it preserves the human read able. and has the hash for linking to the yarn. The comment part could be optional for just boosting the twt.
The only issue i think i would have would be that that yarn could then become a mess of repeated quotes. Unless the client knows to interpret them as multiple users have reposted/boosted the thread.
The format is also how iphone does reactions to SMS messages with +number liked: original SMS