I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
I played around with parsers. This time I experimented with parser combinators for twt message text tokenization. Basically, extract mentions, subjects, URLs, media and regular text. It’s kinda nice, although my solution is not completely elegant, I have to say. Especially my communication protocol between different steps for intermediate results is really ugly. Not sure about performance, I reckon a hand-written state machine parser would be quite a bit faster. I need to write a second parser and then benchmark them.
lexer.go and newparser.go resemble the parser combinators: https://git.isobeef.org/lyse/tt2/-/commit/4d481acad0213771fe5804917576388f51c340c0 It’s far from finished yet.
The first attempt in parser.go doesn’t work as my backtracking is not accounted for, I noticed only later, that I have to do that. With twt message texts there is no real error in parsing. Just regular text as a “fallback”. So it works a bit differently than parsing a real language. No error reporting required, except maybe for debugging. My goal was to port my Python code as closely as possible. But then the runes in the string gave me a bit of a headache, so I thought I just build myself a nice reader abstraction. When I noticed the missing backtracking, I then decided to give parser combinators a try instead of improving on my look ahead reader. It only later occurred to me, that I could have just used a rune slice instead of a string. With that, porting the Python code should have been straightforward.
Yeah, all this doesn’t probably make sense, unless you look at the code. And even then, you have to learn the ropes a bit. Sorry for the noise. :-)
Cada vez que utilizo los 2FA/TOTP recuerdo que este twt se alimenta con la página que fue una prueba para WebAuthn. Me sorprende que sigue sin usarse como una forma masiva de password-less auth.
Si quieres probar la implementación acá: https://eapl.mx/twtxt
it could have been some with running out of disk space for my twt cache.
Y llegó mi perrita a interrumpir el twt anterior. Bueno, mi esposa quiere tapar unas cosas que se quedaron expuestas a la lluvia.
@mckinley@twtxt.net very weird things going on for me.. i can see your twt but its not showing up as a reply or fork?
i am curious why I only get 5 twts in yarn when they have several more on the feed. so something isnt parsing right.
i am curious why we only get 5 twts in yarn when they have several more on the feed. so something isnt parsing right.
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
I am offended that you did not post your snarky twt.
@prologic@twtxt.net I started to write a snarky twt about Kafka and then deleted it because I didn’t want to be too negative 😆
@maya@maya.land should twt again
Tenía un rato sin escribir en el twt (twtxt.txt)
Ha sido un fin de semana de bastante descanso, antes de cerrar la semana final de clases y preparación de las clases de Enero.
He encontrado gusto de ofrecer clases para jóvenes, y me ando preparando para cursos más avanzados, y ¿Por qué no? Abrir una escuela o centro de capacitación especializado en tecnología.
@prologic@twtxt.net Alright, there’s some erroneous markdown parsing going on, I reckon. In my original twt I have a code block surrounded by three backticks. The code block itself contains a single backtick. However, at least for rendering, yarnd shows three backticks instead (not sure if my markdown is invalid, though):
@marado@twtxt.net I call it twittertext and twt is pronounced tweet
@jlj@twt.nfld.uk @xuu@txt.sour.is hello! @prologic@twtxt.net and I were chatting about the question of globally deleting twts from the yarn.social network. @prologic@twtxt.net noted that he could build the tools and endpoints to delete twts, but some amount of cooperation from pod operators would be necessary to make it all work together. He asked me to spawn a discussion of the subject here, so here we are!
I don’t have enough technical knowledge of yarn.social to say with any credibility how it all should work, but I can say that I think it ought to be possible and it’d be good to do for those rare times when it’s needed.
I was inclined to let this go so as not to stir anything up, but after some additional thought I’ve decided to call it out. This twt:
is exactly the kind of ad hominem garbage I came to expect from Twitter™, and I’m disappointed to see it replicated here. Rummaging through someone’s background trying to find a “gotcha” argument to take credibility away from what a person is saying, instead of engaging the ideas directly, is what trolls and bad faith actors do. That’s what the twt above does (falsely, I might add–what’s being claimed is untrue).
If you take issue with something I’ve said, you can mute me, unfollow me, ignore me, use TamperMonkey to turn all my twts into gibberish, engage the ideas directly, etc etc etc. There are plenty of options to make what I said go away. Reading through my links, reading about my organization’s CEO’s background, and trying to use that against me somehow (after misinterpreting it no less)? Besides being unacceptable in a rational discussion, and besides being completely ineffective in stopping me from expressing whatever it is you didn’t like, it’s creepy. Don’t do that.
Probando poner los Twts al inicio
Hello to my english speaking friends! I’m trying to reply to a previous twt from the .txt file.
for some reason its showing the twt from 2 days ago instead of the current value
@novaburst@twt.nfld.uk Ah.. that is probably the XMPP verify code.. it doesnt really work that well. I aught to take it out.
@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
I think i would like a display mode that sorts yarns by last twt in yarn and displays only the last twt with the first in the heading if its more than one in length.
@novaburst@twt.nfld.uk I doubt there will ever be a 2.0 … It may end up like java and they strip off the 1.
@screem@yarn.yarnpods.com yah I finally saw all of Dave’s twts and figured he had explained Gog’s/gitea better.
@prologic@twtxt.net interesting. The twt must’ve been deleted, I guess 😂
@benk@kwiecien.us I am using jenny (we chatted a bit on IRC earlier today). I have been using it for over five months now, I think. It is truly a joy to use, specially because you can use the power of Mutt/NeoMutt to read your twts.
@movq@www.uninformativ.de was the request to remove the hash (subject) from showing on twts discarded? I don’t see it on the TODO, so I am curious. Was it something you decided was not worth investing time on?
@prologic@twtxt.net I am seeing a problem in which not-so-active users, such as myself, are ending up having a blank “Recent twts from…” under their profiles because, I assume, the cache long expired. What can be done about it? Business personalities such as myself can’t be around here that often! Could something be implemented so that, say, the last 10 or 20 twts are always visible under one’s profile? Neep-gren!
@fastidious@arrakis.netbros.com +1 …Now just a way to come up with the $20 per twt to store the data.
@fastidious@arrakis.netbros.com Oh But somehow @lyse@lyse.isobeef.org saw the old Twt and replied to that 🤦♂️
This is the downside of not fetching often enough or refreshing just in case a feed has changed your replying to hmmm 🤔
An ageing rose cries. My first graphical media twt!
@movq@www.uninformativ.de, is removing the hash from the body of the twt on the TODO? I read it, but I am unsure if it is there already, or not. 🙈 Sorry if it is, and I failed to spot it!
Hmmm so… We seem to have a few pods offline in the network 😂 Also 😢
- @jlj@twt.nfld.uk’s twt.nfld.uk => 504 Gateway Time-out
- @adi@f.adi.onl’s f.adi.onl => 200 OK but doens’t appear to be a pod anymore?! 🤔
- @eldersnake@yarn.andrewjvpowell.com’s personal pod => offline due to lack of Solar/Battery power? 😅
- @lohn@tw.lohn.in’s personal pod => 503 Service Unavailable
It’s a bad day for Yarn.social 🤣
Good thing it’s all decentralised 😉
yarnd
, the mobile app nor API support this anyway...
@movq@www.uninformativ.de i believe the delete of any twt was a tech limitation with retwt parser not knowing where in the file a twt came from. lextwt tracks the bytes in file where a twt was read from. which could be used to delete a twt from file.. in theory.
yarnd
, the mobile app nor API support this anyway...
I am in the camp of wishing i could delete arbitrary twts.
👋 Q&A: Let’s discuss the removal of Editing and Deleting your last Twt. This is something @fastidious@twtxt.net has raised to me on IRC and something I find quite a valid approach to this. Over time I believe the utility and value of “Editing” and “Deleting” one’s last Twt isn’t as valuable as we’d like and increased complexity and introduces all kinds of side-effects that are hard to manage correctly. I vote for the removal of this feature from yarnd
, the mobile app nor API support this anyway…
@darch@twtxt.net
Getting this when trying to use it:
error executing template timeline: template: timeline:131:43: executing "twt" at <formatForDateTime>: wrong number of args for formatForDateTime: want 2 got 1
I think something has caused my feed to be in a bad state and is now unpardable😥
I can read this on jenny, but the twt isn’t making it to my own pod. Something has gone really wrong, me thinks.
@prologic@twtxt.net Its not FormatText
stripping out the lines. That formats with \n
newlines so when unmarshalling it tries to parse the text and sees that as the end of twt. LiteralText
keeps the newlines as \u2028
@prologic@twtxt.net make the text field twt.LiteralText()
instead of twt.FormatText()
and you should be good. https://i.imgur.com/FIpSnkj.png
multi.
line.
twt..
multi
line
twt
@fastidious@arrakis.netbros.com will reply to this twt, quoting something in it. I will do that same afterwards on his reply.
D~d>1m
and then fetched by !jenny -f
. This brings back all deleted twts. Isn't lastmods
used to skip older twts?
@movq@www.uninformativ.de
Yes, I did ask whether or not it was possible to move twts to an “archive” folder, but it will be the same at @stackeffect@twtxt.stackeffect.de experienced (which I have, too), that is, twts will “come back”.
There is no clear solution, I am afraid, right? It is the nature of the beast.
@movq@www.uninformativ.de How is deletion supposed to work? In mutt I deleted by D~d>1m
and then fetched by !jenny -f
. This brings back all deleted twts. Isn’t lastmods
used to skip older twts?
@movq@www.uninformativ.de
Aha! Cool! Not just deleting, but proceeding as if the twt is going to be send. If I :q!
on vi it will add an empty line. If, instead, I go :x
like I normally do, it works as you said—and as I wanted it. Thanks!