# __ __ __ # / /__ __/ /__ __/ /_ # / __/ | /| / / __/ |/_/ __/ # / /_ | |/ |/ / /__> 2021-01-19T23:18:33Z Woohoo, #phpub2twtxt - my php interface for publishing to my selfhosted twtxt.txt is now online at [GitHub](https://github.com/sorenpeter/phpub2twtxt/) 2021-01-20T21:01:56Z [Rafa & Timo - "Hello, off-world!"](https://youtu.be/BbOz1XBu8f8) #livecoding #music 2021-01-21T08:44:59Z @prologic (#63ldz2a) @darch Thank you for making twt.social etc:) I don't think I have been this involed in a open source project before. 2021-01-21T08:46:52Z @prologic (#qvykv7a) it seem to work just fine for the most part. http://darch.dk/twtxt.txt for refernce 2021-03-07T19:35:13Z Live coding #improviz ![grid](http://darch.dk/twtxt/improviz-2021-03-03-22.22.29.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.24.07.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.26.16.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.28.13.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.29.12.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.29.28.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.30.36.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.31.37.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.33.31.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.35.08.png) ![](http://darch.dk/twtxt/improviz-2021-03-03-22.36.49.png) 2021-03-15T20:36:37Z Playing around with #GLSL #shaders and webcam in #KodeLife ![grid](http://darch.dk/twtxt/kodelife-2021-03-13-18.30.11.png) ![](http://darch.dk/twtxt/kodelife-2021-03-13-18.30.21.png) ![](http://darch.dk/twtxt/kodelife-2021-03-13-18.30.30.png) 2021-06-06T10:16:38Z SunLollyVortex #shaders #GLSL #shadertoy - https://www.shadertoy.com/view/fts3Wf ![grid](https://darch.dk/twtxt/2022-04-10_sunlolly.jpg) ![](https://darch.dk/twtxt/2022-04-10_sunlolly_code.png) 2021-06-26T17:19:40Z ![http://darch.dk/twtxt/improviz-2021-06-14.png](http://darch.dk/twtxt/improviz-2021-06-14.png) ![http://darch.dk/twtxt/improviz-2021-06-14.png](http://darch.dk/twtxt/improviz-2021-06-14.png) and the some text and a #tag 2021-07-15T13:00:00Z #event Upcoming Workshop / [algolab: Visuals and Live Coding @ CPH Music Maker Space](http://algorave.dk/musicmakerspace/) / [facebook event](https://www.facebook.com/events/319557353174855) 2021-07-29T15:00:00Z #event Upcoming Workshop / [algolab: Music and Live Coding @ CPH Music Maker Space](http://algorave.dk/musicmakerspace) / [facebook event](https://www.facebook.com/events/543980796625853) 2021-08-19T09:35:00Z #processing #moire #RGB #midi #creativecoding #videoart ![grid](http://darch.dk/twtxt/RGBanan_20210818_204654.jpg) ![](http://darch.dk/twtxt/RGBanan_20210818_212000.jpg) ![](http://darch.dk/twtxt/RGBanan_20210818_212006.jpg) ![](http://darch.dk/twtxt/RGBanan_20210818_212028.jpg) 2021-10-01T07:38:52Z #event Tomorrow, Saturday October 2nd, I'm gonna be hosting a workshop at Processing Community Day CPH about Live Coding Visuals in Improviz. Only 5 spots left, so sign up now at: [https://pcdcph.com](https://pcdcph.com) 2021-12-03T09:44:56Z Hej AAU CPH 2021-12-03T15:53:49Z Thanks to @ and @ for havning me today at AAU CPH🙏 Presentation notes can be found at: http://darch.dk/aau-tool-talk/ 2021-12-23T00:12:05Z #improviz #paintOver #randomColors ![grid](http://darch.dk/twtxt/2021-12-23_paintover_green.png)![](http://darch.dk/twtxt/2021-12-23_paintover_mix.png)![](http://darch.dk/twtxt/2021-12-23_paintover_orange.png)![](http://darch.dk/twtxt/2021-12-23_paintover_pink.png)![](http://darch.dk/twtxt/2021-12-23_paintover_red.png)![](http://darch.dk/twtxt/2021-12-23_paintover_yellow.png) 2021-12-23T10:14:00Z (#5iafjwa) Thank you @ - yeah they are kinda crazy color wheels 2022-01-21T22:26:24Z #pixelblog is slowly coming together with support for posting images and simple theming ![grid](https://darch.dk/twtxt/2022-01-21_screenshot-2022-01-21-at-23.19.41.png)![](https://darch.dk/twtxt/2022-01-21_screenshot-2022-01-21-at-23.16.33.png) ![](https://darch.dk/twtxt/2022-01-21_screenshot-2022-01-21-at-23.15.59.png) 2022-01-22T12:14:40Z More #pixelblog'ing - today wotking on fixing all the semi-hardcoded paths an moving them to config.php ![](https://darch.dk/twtxt/2022-01-22_screenshot-2022-01-22-at-13.14.04.png) 2022-01-22T12:48:04Z testing public path copy/pasted from code: ![](https://darch.dk/twtxt/2022-01-22_screenshot-2022-01-22-at-12.43.05.png) 2022-01-22T13:25:33Z New darchness coloursceme ![](https://darch.dk/twtxt/2022-01-22_screenshot-2022-01-22-at-14.24.09.png) 2022-01-25T17:17:16Z ![](https://darch.dk/twtxt/2022-01-25_screenshot-2022-01-21-at-15.33.45.png) 2022-01-27T21:37:25Z One year ago __to the date__ I made the lastest update for #phpub2twtxt to [github](https://github.com/sorenpeter/phpub2twtxt) and now 365 days later I have published #pixelblog as its successor - lets see where things are going for trip around the sun ![](https://darch.dk/twtxt/2022-01-27_screenshot-2022-01-27-at-22.33.34.png) 2022-02-26T16:34:42Z #makeartnotwar #GLSL #shaders code at https://www.shadertoy.com/view/fs2fRm if you want to use it ![](https://darch.dk/twtxt/2022-02-26_shadertoy-ua.jpg) ![](https://darch.dk/twtxt/2022-02-26_sp-ua.jpg) 2022-04-05T15:00:00Z #event Upcomming Meetup in Copennhagen: [algolab(the_art_of_live_coding) @ Støberiet / Computer Klub](https://gath.io/uVA3cAckHXsRppB0sf551) ![](https://darch.dk/twtxt/2022-04-02_algolab_2022-04-05.jpg) 2022-04-25T16:52:03Z drops+ring #shaders #GLSL #shadertoy - https://www.shadertoy.com/view/NlsBD4 ![grid](https://darch.dk/twtxt/2022-04-25_drops-ring-shader.jpg) ![](https://darch.dk/twtxt/2022-04-25_drops-ring-code.jpg) 2023-06-29T15:43:33Z Preparing visuals for #Kune2023 by coding some new #shaders in #GLSL ![](https://darch.dk/twtxt/2023-06-29_kune-shader-3.png) ![](https://darch.dk/twtxt/2023-06-29_kune-shader-5.png) ![grid](https://darch.dk/twtxt/2023-06-29_kune-shader-2.png) ![](https://darch.dk/twtxt/2023-06-29_kune-shader-4.png) ![](https://darch.dk/twtxt/2023-06-29_kune-shader-6.png) ![](https://darch.dk/twtxt/2023-06-29_kune-shader-7.png)![](https://darch.dk/twtxt/2023-06-29_kune-shader-8.png) ![](https://darch.dk/twtxt/2023-06-29_kune-shader-1.png) 2023-11-13T20:02:00+01:00 Testing posting for my new http://darch.dk/timeline/ 2023-11-13T21:32:35+01:00 (#urautqa) Gracias. Also the [git repo](https://github.com/sorenpeter/timeline) now contain code that should actually work 2023-11-14T10:26:57+01:00 (#ressqqa) I think is part of the code by @ that I have based my project on. So try to ask him. 2023-11-15T22:30:14+01:00 @ (#ieox7kq) Sounds interesting. It is only for reading or also posting? 2023-12-27T00:52:32+01:00 (#fh4u7va) danke schøn, yes the idea was that it should work for all feeds 2024-02-01T07:09:05+01:00 (#fytbg6a) What about using the blockquote format with `>` ?

> Snippet from someone else's post
> by: @

Would it not also make sense to have the repost be a reply to the original post using the `(#twthash)`, and maybe using a tag like #repost so it eaier to filter them out? 2024-02-02T10:33:16+01:00 (#tjevvyq) I'm also more in favor of #reposts being human readable and writable. A client might implement a bottom that posts something simple like: `#repost Look at this cool stuff, because bla bla [alt](url)`

This will then make it possible to also "repost" stuff from other platforms/protocols.

The reader part of a client, can then render a preview of the link, which we talked about would be a nice (optional) feature to have in yarnd. 2024-02-02T20:31:28+01:00 (#bfkzeva) I like this one the most 2024-02-19T12:31:01+01:00 (#mnpnvda) It already works: https://webfinger.net/lookup/?resource=xuu%40txt.sour.is
but it not very well described afak 2024-02-20T22:44:34+01:00 Cool news from: https://signal.org/blog/phone-number-privacy-usernames/ 2024-02-28T10:45:01+01:00 (#k2gqfxq) yeah, where and how can we sign up? 2024-03-01T13:29:36+01:00 (#7uxy6nq) 

@ 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 2024-03-04T17:11:38+01:00 (#7uxy6nq) So where do we start wring down the specs/protocol for twtxt2/yarn? 2024-03-10T19:57:19+01:00 I've gathers my ideas about mentions for twtxt/yarn here: [Webmentions vs. custom mentions spec for twtxt/yarn - HedgeDoc](https://docs.mills.io/s/s-b2CG020#)
You are welcome to edit and comment in the doc, so our ideas are not fragment into a bunch of treads 2024-03-11T16:03:31+01:00 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](https://docs.mills.io/rRpmdWHRT7Kg7nTYnXleSg?view) 2024-03-11T19:20:40+01:00 (#i4nt3ma) Just hacked together this small webfinger endpoint to be used as a companion with timeline: [.well-known/webfinger/index.php at main · sorenpeter/timeline](https://github.com/sorenpeter/timeline/blob/main/__webfinger_companion__/.well-known/webfinger/index.php) 2024-03-13T15:13:00+01:00 (#i4nt3ma) Also made a webfinger lookup resolver that works with my own webfinger endpoint as well as yarnd servers:
http://darch.dk/wf-lookup.php ![](http://darch.dk/twtxt/wf_lookup_01.png) ![](http://darch.dk/twtxt/wf_lookup_02.png) 2024-03-16T16:28:25+01:00 (#qfge7za) @ For syncing notes between computers and phones I've been very happy with [Simple Text - w Dropbox sync](https://play.google.com/store/apps/details?id=simple.text.dropbox&hl=en&gl=US) for some year, but transitioned to [Joplin](https://joplinapp.org/) 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](https://syncthing.net/) 2024-03-16T20:09:34Z @ Take a look at http://darch.dk/timeline/conv/i4nt3ma 2024-03-17T00:07:32Z (#dzobbnq) Thanks @, 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](https://docs.mills.io/NEOwhHmqTfOejKWiaOw9rw#) and [User Lookup for Twtxt/Yarn - Webfinger or Decentralized Identifiers (DIDs) - HedgeDoc](https://docs.mills.io/rRpmdWHRT7Kg7nTYnXleSg#) for how it sorta works 2024-03-17T18:50:17Z (#e4q7sgq) It not that easy @ 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](https://github.com/sorenpeter/timeline/blob/main/views/webmention_endpoint.php) and [new\_twt.php at main · sorenpeter/timeline](https://github.com/sorenpeter/timeline/blob/main/views/new_twt.php) 2024-03-27T08:25:03Z (#6bi3lga) Same, got one more day at the office, but most folks are already away and the city have shifted from locals to tourists 🌞 2024-03-27T18:48:52Z (#geladtq) What? was? that? Music videos in the 90s was just something else. Especially like the guy in the straitjacket on a pogostick 2024-03-28T19:12:59Z (#pssl4pa) @ I'm over here now. And yes I can send a PR to repo or your are welcome to add it. Credits also to @ for making a working yarn compatible parser. 2024-03-28T19:16:14Z (#bhslreq) you need to send an email @ 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. 2024-04-01T15:24:56Z (#vw3qicq) Hi @, 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. 2024-04-01T17:20:11Z [Ben Grosser on Degrowth Aesthetics - Aarhus University, Nov 2023 - YouTube](https://www.youtube.com/watch?v=a3UJTceKKdk) 2024-04-05T20:58:39Z Added support for #tag clouds and #search to [timeline](https://github.com/sorenpeter/timeline). Based on code from @🙏
![](https://darch.dk/twtxt/tagcloud.png)
Live at: http://darch.dk/timeline/?profile=https://darch.dk/twtxt.txt 2024-04-07T20:36:00Z (#sivtcba) And now added #filter for replies too: ![](https://darch.dk/twtxt/reply-filter.png) 2024-04-07T20:42:49Z (#tcrlrgq) I like the self-shot in the mud: https://lyse.isobeef.org/waldspaziergang-2024-04-07/43.jpg 2024-04-07T22:18:42Z (#ba3xbfa) Thanks for your feedback @. 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` 2024-04-08T12:16:05Z (#ba3xbfa) @ you can over at http://darch.dk/timeline/conv/ba3xbfa or by looking at the raw txt https://lyse.isobeef.org/twtxt.txt 
I can't help it that twtxt.net only have temporary caching ¯\_(ツ)_/¯ 2024-04-08T13:28:40Z (#hn4hnma) yes i know @, it's on my to-do 2024-04-08T13:30:03Z (#hn4hnma) yes i know @, it's on my to-do 2024-04-10T07:41:06Z (#twnno2a) @ You need to include the full URL for the audio file for this to work across servers/pods ;) 2024-04-14T16:53:29Z Just fleshed out the README for timeline at https://github.com/sorenpeter/timeline - Comments/corrections and PRs are welcome:) 2024-04-21T07:43:39Z (#7ef2sea) The wording can be more subtle like "This feed have not seen much activity within the last year" and maybe adding a UI like I did in timeline showing time ago for all feeds ![](https://darch.dk/twtxt/following-time-ago.png)

I agree that it good to clean up the Mastodon re-feeds, but it should also be okay for anyone to spin up a twtxt.txt just for syndicating they stuff from blog or what ever.

The "not receiving replies" could partly be fixed by implementing a working webmentions for twtxt.txt 2024-04-26T19:46:38Z I just "published" a #draft on my blog about "How I've implemented #webmentions for twtxt" (http://darch.dk/mentions-twtxt), so I wanted to know from you guys if you see yourself doing a similar thing with `yarnd` @ or others with custom setups? 2024-04-27T05:57:12Z (#lhfziyq) @ and @ for a start a [single user twtxt/yarn pod](https://github.com/sorenpeter/timeline) could look like this 😉 ![](https://darch.dk/timeline/media/timeline_conv.png) ![](https://darch.dk/timeline/media/timeline_gallery.jpg) 2024-04-27T06:06:59Z (#nypdk5a) @ the difference is that these other servers does not post several times a day with content that are not informative/interesting to people outside your academic context, which can be perceived as noise.

What @ have done is what I would call curation of the service he offers to the world for free (as in beer). It's no one right to have their posts syndicated to the frontpage of twtxt.net, it's simply a gift he gives to the world and he is free (as in speak) to wrap is anyway he sees fit.

@ I hope you stay around 🌞 2024-04-29T09:03:33Z (#jleb2hq) @ Haha, that sh!t is pure (net)art! 2024-05-01T12:12:43Z (#7ovrseq) @ Maybe something for you: [7.css - A CSS framework for recreating Windows 7 UI](https://khang-nd.github.io/7.css/) 2024-05-03T18:52:03Z @ can you pleas fix this line in your twtxt.txt:
```# follow = dbucklin@www.davebucklin.com https://www.davebucklin.com/twtxt.txt?nick=dbucklin```

It is cause this weird effect on my timeline, where you are now called `dbucklin`
http://darch.dk/timeline/?profile=https://twtxt.net/user/prologic/twtxt.txt 2024-05-03T19:03:54Z (#txhfmdq) I fixed it by adding `(? The old options are still valid, so "Show latest post per feed" should just be added as a 3th. 2024-06-07T11:34:28Z (#omu7e4q) It looks okay on my timeline: http://darch.dk/timeline/conv/omu7e4q 2024-06-07T18:26:42Z (#mtsmieq) `ok != perfect` 2024-06-29T18:14:52Z (#5phr3la) Have not tried any of them, but some of these seem to fit the bill:
- https://chromewebstore.google.com/search/Redirector
- https://libredirect.github.io/
- https://requestly.com/products/web-debugger/ 2024-07-15T17:07:58Z (#ebsmpza) This reminds me of this video: [The Biggest Gap in Science: Complexity](https://www.youtube.com/watch?v=KPUZiWMNe-g)
However you might end up with more questions (complexity?) than answers (simplicity?) 2024-09-01T13:31:06Z (#yqke7sq) For following notifications I would say use webmetion refering to the the line in your twtxt.txt as per: https://darch.dk/mentions-twtxt
Or send them an email, so it would be an idea to add a `# contact = mailto:me@domain.net` to ones twtxt.txt 2024-09-09T11:25:57Z (#n4omfvq) how little data is needed for generating the hashes? Instead of the full URL, can we makedo with just the domain (example.net) so we avoid the conflicts with `gemini://`, `https://` and only `http://` (like in my own twtxt.txt) or construct something like like a webfinger id `nick@domain` (also used by mastodon etc.) from the domain and nick if there, else use domain as nick as well 2024-09-10T08:00:40Z (#rh6gtwq) @ do that mean that for every new post (not replies) the client will have to generate a UUID or similar when posting and add that to to the twt? 2024-09-11T17:58:41Z (#n4omfvq) I was not suggesting to that everyone need to setup a working webfinger endpoint, but that we take the format of nick+(sub)domain as base for generating the hashed together with the message date and content.

If we omit the protocol prefix from the way we do things now will that not solve most of the problems? In the case of `gemini://gemini.ctrl-c.club/~nristen/twtxt.txt` they also have a working twtxt.txt at `https://ctrl-c.club/~nristen/twtxt.txt` ... damn I just notice the `gemini.` subdomain.

Okay what about defining a prefers protocol as part of the hash schema? so 1: https , 2: http 3: gemini 4: gopher ? 2024-09-15T12:06:27Z (#6shod5q) Thank you @, I'm glad you like it. I use PHP because it's everywhere on cheap hosting and no need for the user to log into a terminal to setup it up. Timeline is not mean to be use locally. For that I think something like twtxt2html is a better fit. (and happy to see you using simple.css on you new log page;) 2024-09-15T12:50:17Z (#pvju5cq) The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick?

Instead of using `tag:` as the prefix/protocol, it would more it clear what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:`

1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)`
2. `(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)`
3. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)`

I know it's longer that 7-11 characters, but it's self-explaining when looking at the twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:`

Is this something that would work? 2024-09-15T16:51:34Z (#weadxga) @ Thanks for the feedback.

1. Yeah I agrees that nick sound not be part of syntax. Any valid URL to a twtxt.txt-file should be enough and is more clear, so it is not confused with a email (one of the the issues with webfinger and fedivese handles)
2. I think any valid URL would work, since we are not bound to look for exact matches. Accepting both http and https as well as a gemni and gophe could all work as long as the path to the twtxt.txt is the same.
3. My idea is that you quote the timestamp as it is in the original twtxt.txt that you are referring to, so you can do it by simply copy/pasting. Also what are the change that the same _human_ will make two different posts within the same second?!

Regarding the whole cryptographic keys for identity, to me it seems like an unnecessary layer of complexity. If you move to a new house or city you tell people that you moved - you can do the same in a twtxt.txt. Just post something like "I move to this new URL, please follow me there!" I did that with my feeds at least twice, and you guys still seem to read my posts:) 2024-09-17T08:39:18Z (#wnq5qva) @ I'm glad you like it. A mention (`@ `) is also long, but we live with it anyway. In a way a `replyto:` is just a mention of a twt instead of a feed/person. Maybe we chould even model the syntax for replies on mentions: `(#<2024-09-17T08:39:18Z https://www.eksempel.dk/twtxt.txt>)` ?! 2024-09-17T08:43:19Z (#v3lkjca) no my fault your client can't handle a little editing ;) 2024-09-17T09:10:21Z (#uqfouda) @ you will always be replying to OP - that is what the twthash is a shorthand for, it it not?! 2024-09-19T08:57:02Z (#xghlsva) @ It does not. That is why I'm advocating for not using hashes for treads, but a simpler link-back scheme. 2024-09-20T12:03:00Z (#zoktkgq) @ what time in UTC? 2024-09-21T20:07:29Z (#crmwgxq) Been thinking about it for the last couple of days and I would say we can make do with the shorter `(#)`since it mirrors the twt-mention syntax and simply points to the OP as the topic identified by the time of posting it. Do we really need and `(edit:...)`and `(delete:...)` also? 2024-09-21T20:14:09Z (#s2dhlvq) @ I cases of these kind of "abuse" of social trust. Then I think people should just delete their replies, unfollow the troll and leave them to shouting in the void. This is a inter-social issue, not a technical issue. Anything can be spoofed. We are not building a banking app, we are just having conversation and if trust are broken then communication breaks down. These edge-cases are all very hypothetical and not something I think we need to solve with technology. 2024-09-24T12:26:41Z Some more arguments for a local-based treading model over a content-based one:

1. The format: `(#)` or `(@)` both makes sense: # as prefix is for a hashtag like we allredy got with the `(#twthash)` and @ as prefix denotes that this is mention of a specific post in a feed, and not just the feed in general. Using either can make implementation easier, since most clients already got this kind of filtering.

2. Having something like `(#)` will also make mentions via [webmetions for twtxt](https://darch.dk/mentions-twtxt) easier to implement, since there is no need for looking up the `#twthash`. This will also make it possible to make 3th part twt-mentions services.

3. Supporting twt/webmentions will also increase discoverability as a way to know about both replies and feed mentions from feeds that you don't follow. 2024-09-24T18:33:45Z (#bz2mpca) (#<2024-09-24T12:34:31Z https://twtxt.net/user/prologic/twtxt.txt>) WebMentions does would work if we agreed to implement it correctly. I never figured out how yarnd's WebMentions work, so I decide to make my own, which I'm the only one using...

I had a look at WebSub, witch looks way more complex than WebMentions, and seem to need a lot more overhead. We don't need near realtime. We just need a way to notify someone that someone they don't know about mentioned or replied to their post. 2024-09-24T18:42:02Z (#rksyfja) (#<2024-09-24T12:39:32Z https://twtxt.net/user/prologic/twtxt.txt>) @ It might be simple for you to run `echo -e "\t\t" | sha256sum | base64`, but for people who are not comfortable in a terminal and got their dev env set up, then that is magic, compared to the simplicity of just copy/pasting what you see in a textfile into another textfile -- Basically what @ also said. I'm also on team extreme minimalism, otherwise we could just use mastodon etc. Replacing line-breaks with a tab would also make it easier to handwrite your twtxt. You don't have to hardwrite it, but at least you should have the option to. Just as i do with all my HTML and CSS. 2024-09-24T18:47:24Z (#a73p7ma) (#<2024-09-24T12:44:35Z https://twtxt.net/user/prologic/twtxt.txt>) There is a increase in space/memory for sure. But calculating the hashes also takes up CPU. I'm not good with that kind of math, but it's a tradeoff either way. 2024-09-24T18:51:19Z (#j63urka) (#<2024-09-24T12:45:54Z https://twtxt.net/user/prologic/twtxt.txt>) @ I'm not really buying this one about readability. It's easy to recognize that this is a URL and a date, so you skim over it like you would we mentions and markdown links and images. If you are not suppose to read the raw file, then we might a well jam everything into JSON like mastodon 2024-09-24T18:52:40Z (#2bsh7vq) (#<2024-09-24T12:53:35Z https://twtxt.net/user/prologic/twtxt.txt>) What does this screenshot show? The resolution it too low for reading the text... 2024-09-24T19:29:51Z (#r7ee4ya) yes that works 2024-09-25T04:05:31Z (#rksyfja) why can we both have a format that you can write by hand and better clients? 2024-09-28T09:35:19Z (#tukxcsq) @ YES James, it should be up to the client to deal with changes like edits and deletions. And putting this load on the clients, location-addressing with make this a lot easier since what is says it: Look in this file at this timestamp, did anything change or went missing? (And then threading will not break;) 2024-09-30T07:52:30Z (#zd4utgq) @ Regarding the new way of generating twt-hashes, to me it makes more sense to use tabs as separator instead of spaces, since the you can just copy/past a line directly from a twtxt-file that already go a tab between timestamp and message. But tabs might be hard to "type" when you are in a terminal, since it will activate autocomplete...🤔

Another thing, it seems that you sugget we only use the domain in the hash-creation and not the full path to the twtxt.txt

`$ echo -e "https://example.com 2024-09-29T13:30:00Z Hello World!" | sha256sum - | awk '{ print $1 }' | base64 | head -c 12` 2024-09-30T18:58:12Z (#zd4utgq) Thanks @, good to know, but we need to agree on what character we use, otherwise the hashes will not be the same:) 2024-10-09T07:52:55Z (#jsj23rq) @<2024-10-08T19:36:38-07:00 http://a.9srv.net/tw.txt> Thanks for the followup. I agrees with most of it - especially:
> Please nobody suggest sticking the content type in more metadata. 🙄

Yes, URL can be considered ugly, but they work and are understandable by both humans and machines. And its trivial for any client to hide the URLs used as reference in replies/treading.

Webfinger can be an add-on to help lookup people, and it can be made independent of the nick by just serving the same json regardless of the nick as [people do with static sites](https://garrido.io/notes/adding-webfinger) and a as I implemented it on darch.dk ([wf endpoint](https://github.com/sorenpeter/timeline/tree/main/_webfinger-endpoint/.well-known/webfinger)). Try `RANDOMSTRING@darch.dk` on http://darch.dk/wf-lookup.php ([wf lookup](https://github.com/sorenpeter/timeline/blob/main/partials/webfinger_lookup.php)) or `RANDOMSTRING@garrido.io` on https://webfinger.net 2024-10-09T08:16:26Z (#chlfccq) @<2024-10-09T08:11:00Z https://twtxt.net/user/prologic/twtxt.txt> It an easy way of twt-adressing by using the timestamp instead of a nick, which is arbitrary anyhow. Just my suggestion for a new reply-model ;) 2024-10-09T09:11:33Z (#chlfccq) I know no client support it (yet) - but it could be the future 😅 2024-10-09T12:41:26Z Video of my latest #livecoding show using #punctual for #visuals 
https://www.youtube.com/watch?v=CsM39SpRik8 2024-10-24T15:19:50Z (#5f4vw7q) @ Thank you, and yes I got more on my websites https://darch.dk/vj/ and https://algorave.dk/videos/ 2024-10-24T15:21:24Z (#pqhbula) @ finally someone read my blogpost ;) 2024-10-24T16:31:18Z @ Welcome to the twt'verse 👋 2024-10-24T17:01:17Z @ Why does twtxt.net still show my old avatar? 2024-10-24T17:33:24Z **Simplified twtxt** - I want to suggest some dogmas or commandments for twtxt, from where we can work our way back to how to implement different feature like replies/treads:

0. It's a text file, so you must be able to write it by hand (ie. no app logic) and read by eye. If you edit a post you change the content not the timestamp. Otherwise it will be considered a new post.

2. The order of lines in a twtxt.txt must not hold any significant. The file is a container and each line an atomic piece of information. You should be able to run `sort` on a twtxt.txt and it should still work.

1. Transport protocol should not matter, as long as the file served is the same. Http and https are preferred, so it is suggested that feed served via Gopher or Gemini also provide http(s).

3. Do we need more commandments? 2024-10-25T17:48:31Z (#lnlbnsq) @ Speed is an issue for the client software, not the format itself, but yes I agree that it makes the most sense to append post to the end of the file. I'm referring to the definition that it's the first `url =` in the file that is the one that has to be used for the twthash computation, which is a too arbitrary way of defining something that breaks treading time and time again. And this is the case for not using url+date+message = twthash. 2024-10-25T17:52:49Z (#lnlbnsq) @ How hard would it be to implement something like `(#<2024-10-25T17:15:50Z https://www.uninformativ.de/twtxt.txt>)`in jenny as a replacement for `(#twthash)` and have it not care about if is http(s) or a g-protocol? 2024-10-25T20:44:54Z (#j4bbkpq) I'm planning to be there tomorrow (message from yesterday, since we can not all live in the future;) 2024-10-28T19:19:09Z What are peoples #IRC setup? Do you have your own bouncer server or just have a you computer always on? And do you IRC on mobile? 2024-11-02T12:32:27Z Would it make sense for twtxt v.2 to do something similar to bluesky, where you use a domain as you handle by creating a specific DNS record as explained by: https://matthiasott.com/notes/how-to-set-your-domain-as-your-bluesky-handle 2024-11-08T15:20:17Z (#w7qc4ra) @ here are my replies (somewhat similar to Lyse's and James')

1. Metadata in twts: Key=value is too complicated for non-hackers and hard to write by hand. So if there is a need then we should just use #NSFS or the alt-text file in markdown image syntax `![NSFW](url.to/image.jpg)` if something is NSFW

2. IDs besides datetime. When you edit a twt then you should preserve the datetime if location-based addressing should have any advantages over content-based addressing. If you change the timestamp the its a new post. Just like any other blog cms.

3. Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.

4. Discovery: User-agent for discovery can become better. I'm working on a wrapper script in PHP, so you don't need to go to Apaches log-files to see who fetches your feed. But for other Gemini and gopher you need to relay on something else. That could be using [my webmentions for twtxt suggestion](http://darch.dk/mentions-twtxt), or simply defining an email metadata field for letting a person know you follow their feed. Interesting read about why WebMetions might be a bad idea. Twtxt being much simple that a full featured IndieWeb sites, then a lot of the concerns does not apply here. But that's the issue with any open inbox. This is hard to solve without some form of (centralized or community) spam moderation.

5. Support more protocols besides http/s. Yes why not, if we can make clients that merge or diffident between the same feed server by multiples URLs

6. Languages: If the need is big then make a separate feed. I don't mind seeing stuff in other langues as it is low. You got translating tool if you need to know whats going on. And again when there is a need for easier switching between posting to several feeds, then it's about building clients with a UI that makes it easy. No something that should takes up space in the format/protocol.

7. Emojis: I'm not sure what this is about. Do you want to use emojis as avatar in CLI clients or it just about rendering emojis? 2024-11-18T18:07:53Z [Seven Bit Encoding by Dylan Beattie](https://www.youtube.com/watch?v=gVeYtlk7IXc) #music 2024-11-18T18:37:41Z (#zgnmmga) @ I knew you would like it;) 2024-11-20T10:24:35Z (#gjhq2xq) Hey @ I'm running PHP 8.2 on my server 2024-11-20T10:29:22Z (#mxlxjna) Great to see another user @ - And I can confirm that my #webmentions works from your server ![](http://darch.dk/twtxt/aelaraji-mention.png) (I know, the formatting is messed up;) 2024-11-21T14:45:38Z (#f4sdmbq) @ The tagline of Timeline is "a single user twtxt/yarn pod" not just a yarn pod. Similar to GNU/Linux. When we came up with the concept of Yarn Social it was a way to rebrand twtxt with the extensions that makes conversations like this possible. 2024-11-22T22:35:17Z (#sidxyoa) I'm giving a shot talk about twtxt/yarn/timeline tommow around noon CET at Piksel Festival in Norway. More info and link for live stream at: https://24.piksel.no
(So I will most likely not be joining the call) 2024-11-23T10:05:37Z (#gwkqnda) Live from Piksel Festival in about an hour via: https://www.twitch.tv/pikselfest - Also other presentations stating momentary 2024-11-26T08:53:28Z (#tmvyd5a) I'm gonna upload my part of the video to youtube and the slides to my website within a day or two. Then you can add it to yarn.social etc. 2024-11-26T09:17:10Z (#tmvyd5a) Because I don't have capacity on my server to host and stream video and I want others to be able to find the video. 2024-11-27T12:24:01Z "A minimalist social network powered by plain text files" - my talk about #twtxt from #Piksel24 Festival is now on [YouTube](https://www.youtube.com/watch?v=1RVFxNPzRDg) and slides can be found at http://darch.dk/twtxtalk-piksel 2024-11-30T10:48:52Z (#pw5moua) @ Thanks, I'm glad you like it.

@ There was no time for discussion just after the presentation, but I had a chat with some folks later. 2024-11-30T10:53:50Z (#toqz3vq) @ Super to see you got webmentions working too :)

__EDIT:__ `A webmention was send to: https://eapl.mx/timeline/webmention (Status: 202)` 2024-11-30T14:03:14Z (#pw5moua) @ Just that people thought twtxt sounded cool and maybe want to set it up themself #####2024-11-30T14:11:00Z (TEST_POST) Markdown parsing missing in Timeline:
> block quote

- list
1. too

~~fdfdsfdsf~~

__bold__

*italic*

`code`
```
code
block
```
more text 2024-11-30T14:12:39Z (#pw5moua) @ One person had came access it before, but no tried it 2024-12-01T09:28:45Z (#6xuvs6a) @ Yes, the idea is to add User Agent support to #Timeline.
Right now it just adds every request to a growing log file, but I have also been working on a way to analyse it, so it only saves the time of the latest request.
I'm not sure how to make it part of timeline itself, since it requeses that you redirect/rewrite from `twtAgent.php` to the acctual `twtxt.txt`
Help with making Timeline send proper User Agents to others would be much appreciated:) 2024-12-01T11:51:36Z (#kwxr5aq) What was it suppose to look like? a ``-tag maybe? 2024-12-01T16:41:53Z (#6xuvs6a) My `twtAgent.php` was turned off, so try again now. I have uploaded the code to: https://github.com/sorenpeter/twtAgent 2024-12-01T19:56:33Z (#6xuvs6a) Yes it work: `2024-12-01T19:38:35Z twtxt/1.2.3 (+https://eapl.mx/twtxt.txt; @eapl)` :D

The .log is just a simple append each request. The idea with the .cvs is to have it tally up how many request there have been from each client as a way to avoid having the log file grow too big. And that you can open the .cvs as a spreadsheet and have an easy overview and filtering options.

Access to those files are closed to the public. 2024-12-06T16:46:04Z (#6xuvs6a) test post EDIT 2024-12-06T19:21:09Z (#ngibdfq) or timeline.txt ;) 2024-12-06T20:11:17Z (#ngibdfq) good luck with the doughnut on a stick in a URL 2024-12-08T10:38:15Z Wow, it seem my #Webmentions implementation works from Mastodon via [brid.gy](https://brid.gy/)
![](https://darch.dk/twtxt/webmentions_via_brid.gy.png) 2024-12-08T10:47:08Z (#tetpxhq) @ I will take that as a compliment 2024-12-08T20:58:54Z (#pbs27pq) @ https://github.com/sorenpeter/timeline/commit/555baefcd0e75e6a281472994e8eb7ae9b5d2a1c