@andros@twtxt.andros.dev If something fits in a CSV file, it typically doesnāt require a database. I agree with that. Depending on the application, more complicated queries might benefit from a database, though. I donāt know awk very well, but I could imagine that grep, sed and cut reach their CSV processing limits rather quickly when you have to deal with escaped (multiline) fields.
I only very rarely have to deal with CSV files or databases in my day to day life. Maybe, these classic Unix tools offer some tricks Iām not aware of. When I have some more complicated CSV input, I generally reach for Python.
@eapl.me@eapl.me @arne@uplegger.eu @andros@twtxt.andros.dev Thanks mates!
Hmmm, Eberhardt. Ist das eine plattdeutsche Sache? Dass ich den flinken Nagern so lang zuschauen konnte, war ein seltener Glücksfall. Normalerweise sind die nach fünf oder spätestens zehn Minuten wieder aus dem Sichtfeld verschwunden.
-”Un humano!-
#catsoftwtxt
@kat@yarn.girlonthemoon.xyz @prologic@twtxt.net When I make dev on current master, I get a proper version. Same with make server. Assuming you cloned the repo, do you have any (uncommited) changes? What does git status tell you?
One of the biggest gripes of the community with the way the threading model currently works with Twtxt v1.2 (https://twtxt.dev) is this notion of:
What is this hash?
What does it refer to?
Idea: Why canāt we all agree to implement a simple URI scheme where we host our Twtxt feeds?
That is, if you host your feed at https://example.com/twtxt.txt ā Why canāt or could you not also host various JSON files (letās agree on the spec of course) at https://example.com/twt/<hash> ? š¤
That way we solve this problem in a truly decentralised way, rather than every relying on yarnd pods alone.
Hi everyone,
Iāve drafted a Request for Comments (RFC) to improve how threads work in twtxt:
https://git.mills.io/yarnsocial/twtxt.dev/issues/18
Iād love your feedback! Please share your thoughts on anything that could be better explained, check if the proposed dates work for everyone, and I invite you to join the discussionā¦
I have released new updates to the twtxt.el client.
- New feature: View and interact with threads.
- Optimisation of ordering for long feeds.
- Minor fixes.
In the next version you will be able to see all your mentions.
Enjoy!
@prologic@twtxt.net sure thing!
What about discussing it in https://git.mills.io/yarnsocial/twtxt.dev ?
The only con I see is that everyone would need to create an account there to participate.
@andros@twtxt.andros.dev Iāve commented on the ticket: https://git.mills.io/yarnsocial/twtxt.dev/issues/14#issuecomment-19142
In all reality, though, I donāt see that our community will come to an agreement. Some folks just donāt want to give up on the content-based addressing scheme.
@andros@twtxt.andros.dev Oh, this system has an edit button so I can just update the twt as needed. Itās a custom implementation so just kind of through it in when I was building it out.
@lyse@lyse.isobeef.org What do you think about this? https://git.mills.io/yarnsocial/twtxt.dev/issues/14
@bmallred@staystrong.run Any edit automatically changes the twt hash, because the hash is built over the hash URL, message timestamp and message text. https://twtxt.dev/exts/twt-hash.html So, it is only a problem, if somebody replied to your original message with the old hash. The original message suddenly doesnāt exist anymore and the reply becomes detached, orphaned, whatever you wanna call it. Threading doesnāt break, though, if nobody replied to your message.
@andros@twtxt.andros.dev Do edits cause problems? I sometimes make them and didnāt realize it may be an issue
@andros@twtxt.andros.dev I donāt see a burst of new twtxt clients popping up. Yeah, the most recent ones are TwtxtReader and twtxt-el. Did I miss one? I agree with @david@collantes.us, looks normal to me. :-)
Iām also working on my rewrite at the moment, but that started⦠*looking at the git history*⦠oh wow! O_o Over two years ago! I just implemented jumping to the next/previous unread message.
Alors oui, il y a https://ladigitale.dev mais je cherche juste une page web facile à auto-héberger (html, js) <@ladigitale>
- System Design Interview Vol. 1 and 2, Alex Xu and Sahn Lam
- Designing Data-Intensive Applications, Martin Kleppmann
I just learned about a few to me unknown git settings: https://blog.gitbutler.com/how-git-core-devs-configure-git/ Letās see how quickly I canāt live without them anymore. ;-)
@andros@twtxt.andros.dev, I am getting:
Feed was redirected: https://twtxt.andros.dev -> https://twtxt.andros.dev/
Each time my client fetches your feed. It just doesnāt make any sense to me. Wouldnāt be both, pretty much, be the same (I noticed the /, yes)?
@andros@twtxt.andros.dev I wouldnāt call it regular, but cyclical. Since, with the exception of Yarn (maybe?), clients are everything when it comes to twtxt, every now and then we see an increase of interest on new development. I have seeing them come and go, only few ābeside remainsā. :-)
@andros@twtxt.andros.dev Just before the pandemic, we watched Uncle Bob videos once a week in the lunch break. While almost all of my old teammates agreed with his views, I partially found them to be very odd and even counterproductive.
I didnāt come across John Ousterhout or any of his work before, at least not deliberately. So, this document is my first contact.
I only finished the chapter on comments and I totally agree with John so far. This document just manifests to me how weird Bobās view is on certain subjects.
I always disagreed with the concept of a maximum method length. Sure, generally, shorter functions are probably better, but it always depends. And Iāve certainly seen super short methods that just made the code flow even worse to follow. While āone function should only do one thingā is a nice general rule, Iām 100% in team John with the shown examples. There are cases, where this doesnāt help readability at all. Not even close.
To me, a function always has to justify its existence. Either by reusing it at least at another place or by coming up with dedicated tests for it. But if it is just called once and there are no tests, I almost always decide against it. Personally, I donāt mind longer methods. We just recently had a discussion about that and I lost against two other workmates who are more in Uncle Bobās camp, they refactored one medium sized method into three very short ones. Luckily, we agree on most other topics.
Lol, what!? The shorter the method, the longer the variables inside? I first thought I misread or the writeup mixed it up. Iāll always do it the other way around.
Iāve been also bitten badly by outdated comments in the past, but Bob must have worked on really terrible projects to end up with such an attitude to dislike comments. Oh well. No doubt, Iāve come across by several orders of magnitude more useless comments, in my experience (autogenerated) JavaDocs fall in the category more frequently than not. So, I know that there are different types of comments. A comment doesnāt automatically mean that it is good and justified.
But I also partially agree with Bob and John and think that a good name has a proper chance to save a comment. Though, when in doubt, I go Johnās route and use a shorter name with a comment rather than use a kilometer long identifier. Writing good comments typically takes some time, sometimes much longer than writing the code. It regularly takes me several minutes. Itās a hard art.
I perhaps should read up on Johnās work. He seems to be more reasonable and likeminded. :-) Let me continue to complete this document.
I have released new updates to the twtxt.el client.
- Markdown to Org mode (you need to install Pandoc).
- Centred column.
- Added new logo.
- Added text helper.
The new version I will try to finish the visual thread. You still canāt see the thread yet.
#emacs #twtxt #twtxtel
@aelaraji@aelaraji.com Same. It actually goes for anything AI-related. Itās best kept in /dev/null.
A Vim Guide for Advanced Users https://thevaluable.dev/vim-advanced/
@andros@twtxt.andros.dev Sweet! canāt wait to play with that. Good luck!
@andros@twtxt.andros.dev I believe you have just reproduced the bug⦠it looks like youāve replayed to a twt but the hash is wrong. I can see the hash here from Jenny, but it doesnāt look like it corresponds to any{twt,thing}. if you check it out on any yarn instance it wonāt look like a replay.
@prologic@twtxt.net Looks great with the new logo.

@aelaraji@aelaraji.com Next release will convert markdown to org syntax if you have Pandoc command installed š. Mentions are org links, for example.
@andros@twtxt.andros.dev yes, that usually happens when twts get edited and we just made a gentlemen agreement to avoid edits as much as possible (at least for the time being). But the thing is, That is not whatās happening with my broken twtsā hashes. Since Iāve bee mostly replaying to my own twts as a test and I know for sure that I havenāt edited any. (I usually fork-replay instead of edit a twt when needed)
@andros@twtxt.andros.dev yeah, sorry I couldnāt get back to you sooner. Iāve already made an account on codeberg in order to file in an issue but, I just canāt get myself to concentrate with everything going on with the family lately. Iāll do my best and get things done properly and soon
The people have spoken! š„³ twtxt.dev shall have a new logo of: 
@andros@twtxt.andros.dev Hereās that twtxt-el test replay to my last twt! letās see how it goes.
@andros@twtxt.andros.dev hmmm⦠pretty strange, isnāt it? replaying to threads worked perfectly, Iāve only had that problem trying to replay to a twt that was part of a thread.
As an example, this one is a Fork-Replay from Jenny. My next twt will be a replay to this exact twt but from twtxt-el as a test.
Then Iāwill file an issue if it doesnāt behave the way itās supposed to. Cheers!
@andros@twtxt.andros.dev Here is everything written down I know to this stuff: https://github.com/upputter/testing-twtxt-dm/blob/main/README.md
@eapl.me@eapl.me @andros@twtxt.andros.dev 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
@andros@twtxt.andros.dev is it me or twtxt-el generates a wrong twt hash when I use the [ ā³ Reply to twt ] button?
Edit #issuecomment-18968
@eapl.me@eapl.me @andros@twtxt.andros.dev hereās another variant as per eaplās suggestion (#issuecomment-18968)[https://git.mills.io/yarnsocial/twtxt.dev/issues/9#issuecomment-18968]
here is my progress so far: https://github.com/eapl-gemugami/twtxt-direct-message-php
The encryption part seems to work, if I decrypt it the message with OpenSSL.
I think it can help you for some key parts not well explained in OpenSSL documentation.
@andros@twtxt.andros.dev reading your spec I wrote a few notes here: https://github.com/eapl-gemugami/twtxt-direct-message-php/blob/main/direct_message_spec.md
@arne@uplegger.eu I havenāt check your repo yet, although you are using sodium, right?
@andros@twtxt.andros.dev Could you share (perhaps in the extension document) the private key for alice?
I want to compare that I can read the encrypted message both from OpenSSL CLI and from the PHP OpenSSL library, following the spec.
Siesta felina
#catsoftwtxt
Junta de vecinos: organizando los turnos para maullar por la noche.
#catsoftwtxt
@andros@twtxt.andros.dev 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.
Today is an important day. We have a new extension: Direct message šŖšØļøšš„³ā¤ļø
https://twtxt.dev/exts/direct-message.html
#twtxt
What would you like the new twtxt logo to be?
Comments: https://git.mills.io/yarnsocial/twtxt.dev/issues/9#issuecomment-18960

What would you like the new twtxt logo to be?

- Da igual lo que digan: siempre serƔs un black panther. -
#catsoftwtxt
@andros@twtxt.andros.dev Thank you :-)
@andros@twtxt.andros.dev screenshots plz :=!
Iām continuing my tt rewrite in Go and quickly implemented a stack widget for tview. The builtin Pages is similar but way too complicated for my use case. I would have to specify a mandatory name and some additional options for each page. Also, it allows me to randomly jump around between pages using names, but only gives me direct access the first, however, not the last page. Weird. I donāt wanna remember names. All I really need is a classic stack. You open a new fullscreen dialog and maybe another one on top of that. Closing the upper most brings you back to the previous one and so on.
The very first dialog I added is viewing the raw message text. Unlike in @arne@uplegger.euās TwtxtReader, Iām not able to include the original timestamp, though. I donāt have it in its original form in the database. :-/
Next up is a URL view.
@andros@twtxt.andros.dev it seems your GtS has issues:
Warning! It looks like trusted-proxies is not set correctly in this instanceās configuration. This may cause rate-limiting issues and, by extension, federation issues.
If you are the instance admin, you should fix this by adding 10.66.66.1/32 to your trusted-proxies.