lyse

lyse.isobeef.org

No description provided.

Recent twts from lyse
In-reply-to » LOl šŸ˜‚ Not only have a tried to write up a full Twtxt v2 specification, I've also written a Bash shell script that implements the new spec šŸ˜…

@prologic@twtxt.net The Content-Type should probably even include the charset=utf-8 as we learned recently. :-) Iff you want to keep the UTF-8 encoding mandatory. It doesnā€™t say anything about it in that document.

ā¤‹ Read More
In-reply-to » LOl šŸ˜‚ Not only have a tried to write up a full Twtxt v2 specification, I've also written a Bash shell script that implements the new spec šŸ˜…

@prologic@twtxt.net The reply-to can come anywhere in the message text? Most examples even put it at the very end. Why relax that? It currently has to be at the beginning, which I think makes parsing easier. I have to admit, at the end makes reading the raw feed nicer. But multi-line messages with U+2028 ruin the raw feed reading experience very quickly.

ā¤‹ Read More
In-reply-to » LOl šŸ˜‚ Not only have a tried to write up a full Twtxt v2 specification, I've also written a Bash shell script that implements the new spec šŸ˜…

@prologic@twtxt.net For hash calculation we could maybe rethink the newlines and use tabs instead. This is more in line with the twtxt file format itself. With tabs it also is much closer to the registry format (minus the nick).

What about the timestamp format? Just verbatim as it appears in the feed (what I would recommend) or any other shenanigans with normalization, like +00:00 ā†’ Z?

An append style is not required, btw. If one uses prepend style feeds, the new URL simply comes at the beginning of the file, where the old URL is further down.

Clients must use the full-length hash in their storages, but only use the first eleven digits when referencing? This differentiation is a bit odd.

ā¤‹ Read More
In-reply-to » @movq 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.

@sorenpeter@darch.dk Excellent point! I agree.

ā¤‹ Read More
In-reply-to » Another thing: At the moment, anyone could claim that some feed contained a certain message which was then removed again by just creating the hash over the fake message in said feed and invented timestamp themselves. Nobody can ever verify that this was never the case in the first place and completely made up. So, our twt hashes have to be taken with a grain of salt.

@prologic@twtxt.net Let me try:

Invent anything you want, say feed A writes message text B at timestamp C. You simply create the hash D for it and reply to precisely that D as subject in your own feed E with your message text F at timestamp G. This gets hashed to H.

Now then, some a client J fetches your feed E. It sees your response from time G with text F where in the subject you reference hash D. Since client J does not know about hash D, it simply asks some peers about it. If it happens to query your yarnd for it, you could happily serve it your invention: ā€œYou wanna know about hash D? Oh, thatā€™s easy, feed A wrote B at time C.ā€

The client J then verifies it and since everthing lines up, it looks legitimate and puts this record in its cache or displays it to the user or whatever. It does not even matter, if the client J follows feed A or not. The message text B at C with hash D could have just deleted or edited in the meantime.

Congrats, you successfully spread rumors. :-D

ā¤‹ Read More
In-reply-to » @david Thanks, that's good feedback to have. I wonder to what extent this already exists in registry servers and yarn pods. I haven't really tried digging into the past in either one.

@falsifian@www.falsifian.org Something similar exists over at https://search.twtxt.net/. But a usable search engine would be actually nice (to be fair, yarns improved a bit). :-) I donā€™t care about feed changes over time. In fact, it would even feel creepy to me. Of course, anyone could still surveil, but Iā€™m not looking forward to these stats.

ā¤‹ Read More
In-reply-to » Another thing: At the moment, anyone could claim that some feed contained a certain message which was then removed again by just creating the hash over the fake message in said feed and invented timestamp themselves. Nobody can ever verify that this was never the case in the first place and completely made up. So, our twt hashes have to be taken with a grain of salt.

@prologic@twtxt.net Just what @bender@twtxt.net did. :-D If heā€™d additionally serve the fake message from his yarnd twt endpoint, everybody querying that hash from him (or any other yarnd that synced it in the meantime) would believe, that I didnā€™t like Australians.

In fact, I really donā€™t. I loveā€™em! 8-)

We would need to sign each message in a feed, so others could verify that this was actually part of that feed and not made up. But then we end up in the crypto debate for identities again, which Iā€™m not a big fan of. :-)

I just want to highlight, one might get a false sense of message authenticity, if one just briefly looks at the hashes.

ā¤‹ Read More
In-reply-to » Trying to sum up the current proposal (keeping hashes):

It just occurs to me weā€™re now building some kind of control structures or commands with (edit:ā€¦) and (delete:ā€¦) into feeds. Itā€™s not just a simple ā€œadd this to your cacheā€ or ā€œreplace the cache with this set of messagesā€ anymore. Hmm. We might need to think about the consequences of that, can this be exploited somehow, etc.

ā¤‹ Read More
In-reply-to » Trying to sum up the current proposal (keeping hashes):

@movq@www.uninformativ.de Thanks for the summary!

So, what would happen if there is no original message anymore in the feed and you encounter an ā€œeditā€ subject? Since you cannot verify that the feed contained it in the first place, would you obey it?

Some feed could just make a client update something from a different feed. In the cache, the client would need to store in a flag that this message was updated, so that when it later encounters the message from the real feed, it has a chance of reverting that bogus edit. Hmm. The devil is in the detail.

Itā€™s much easier with a delete subject. When it finds the message in its cache and the feeds match, remove it. Otherwise, just ignore it.

ā¤‹ Read More
In-reply-to » @prologic how about hashing a combination of nick/timestamp, or url/timestamp only, and not the twtxt content? On edit those will not change, so no breaking of threads. I know, I know, just adding noise here. :-P

@movq@www.uninformativ.de Right. Thatā€™s why, Iā€™d bite the bullet and go for huge URLs. :-)

I haventā€™t looked at the code and Iā€™m too lazy right now, does jenny also verify the fetched result against the hash?

ā¤‹ Read More
In-reply-to » Location Addressing is fine in smaller or single systems. But when you're talking about large decentralised systems with no single point of control (kind of the point) things like independable variable integrity become quite important.

Another thing: At the moment, anyone could claim that some feed contained a certain message which was then removed again by just creating the hash over the fake message in said feed and invented timestamp themselves. Nobody can ever verify that this was never the case in the first place and completely made up. So, our twt hashes have to be taken with a grain of salt.

ā¤‹ Read More
In-reply-to » Location Addressing is fine in smaller or single systems. But when you're talking about large decentralised systems with no single point of control (kind of the point) things like independable variable integrity become quite important.

@prologic@twtxt.net I get where youā€™re coming from. But is it really that bad in practice? If you follow any link somewhere in the web, you also donā€™t know if its contents has been changed in the meantime. Is that a problem? Almost never in my experience.

Granted, itā€™s a nice property when one can tell that it was not messed with since the author referenced it.

ā¤‹ Read More
In-reply-to » Iā€™m not advocating in either direction, btw. I havenā€™t made up my mind yet. šŸ˜… Just braindumping here.

@movq@www.uninformativ.de The more I think about it, the more do I like the location-based addressing. That feels fairly in line with the spirit of twtxt, just like you stated somewhere else.

The big downside for me is that the subjects then become super long.

And if the feed relocates, we end up with broken conversation trees again. Just like nowadays. At least itā€™s not getting worse. :-)

Using the feed URL in there might become a little challenging for new folks, when the twt rotates away into archive feeds. But I reckon, we already have a similar situation with the hashes. So, probably not too bad.

ā¤‹ Read More

Yesterday, both temperature and wind picked up. There was even wind in the night, which is rare over here. Today, we also got a lot of sunshine, around 22Ā°C and heaps of wind. The leaves and twigs were blown at the house door, it reminded me of a snow drift, basically a leave bank. I should have taken a photo before I swept it, it looked quite bizarre.

But I photographed something else instead:

Possibly a large roof panel on a crane
Download

Possibly a large roof panel on a crane

My mate and I went out in the woods earlier and we came across 08 which broke off in roughly 6, 7Ā meters from 09. When it hit the ground, it made a 30Ā cm deep hole. Quite impressive. https://lyse.isobeef.org/waldspaziergang-2024-09-19/

ā¤‹ Read More
In-reply-to » Now WTF!? Suddenly, @falsifian's feed renders broken in my tt Python implementation. Exactly what I had with my Go rewrite. I haven't touched the Python stuff in ages, though. Also, tt and tt2 do not share any data at all.

@prologic@twtxt.net I wish that was true! But I reckon there is still heaps of old stuff out there, that was created on a Windows machine. :-D And I wouldnā€™t be surprised if even today in that environment a new file does not make use of UTF-8.

ā¤‹ Read More
In-reply-to » I have noticed that twtxt timestamps differ. For example:

@quark@ferengi.one @movq@www.uninformativ.de Yep, theyā€™re all RFC3339. Obviously, +02:00 and +01:00 are best, because I use them! :-P In all seriousness, Z might be the best timezone, as it is shortest. And regarding privacy, it leaks the least information about the userā€™s rough location. But of course, one can just look at the activity and narrow down plausible regions, so thatā€™s a weak argument.

ā¤‹ Read More
In-reply-to » Now WTF!? Suddenly, @falsifian's feed renders broken in my tt Python implementation. Exactly what I had with my Go rewrite. I haven't touched the Python stuff in ages, though. Also, tt and tt2 do not share any data at all.

@falsifian@www.falsifian.org I can confirm, itā€™s fixed. Thank you! Indeed, this is some wild quoting.

I still do not understand why the encoding suddenly broke, though. :-? Anyway. I concentrate on my rewrite and do things the rightā„¢ way. ;-) Still long ways to go.

ā¤‹ Read More
In-reply-to » @movq Non-ASCII characters were broken. Like U+2028, degrees (Ā°), etc.

Now WTF!? Suddenly, @falsifian@www.falsifian.orgā€™s feed renders broken in my tt Python implementation. Exactly what I had with my Go rewrite. I havenā€™t touched the Python stuff in ages, though. Also, tt and tt2 do not share any data at all.

By any chance, did you remove the ; charset=utf-8 from your Content-Type: text/plain header, falsifian?

interpreted in some crappy windows charset
Download

interpreted in some crappy windows charset

ā¤‹ Read More
In-reply-to » Hmmmm, I somehow run into an encoding problem where my inserted data end up mangled in the database. But, both SQLite and Go use UTF-8. What's happening here? :-?

@movq@www.uninformativ.de Non-ASCII characters were broken. Like U+2028, degrees (Ā°), etc.

Turns out I used a silly library to detect the encoding and transform to UTF-8 if needed. When there is no Content-Type header, like for local files, it looks at the first 1024 bytes. Since it only saw ASCII in that region, the damn thing assumed the data to be in Windows-1252 (which for web pages kinda makes sense):

// TODO: change default depending on user's locale?
return charmap.Windows1252, "windows-1252", false

https://cs.opensource.google/go/x/net/+/master:html/charset/charset.go;l=102

This default is hardcoded and cannot be changed.

Trying to be smart and adding automatic support for other encodings turned out to be a bad move on my end. At least I can reduce my dependency list again. :-)

I now just reject everything that explicitly specifies something different than text/plain and an optional charset other than utf-8 (ignoring casing). Otherwise I assume itā€™s in UTF-8 (just like the twtxt file format specification mandates) and hope for the best.

ā¤‹ Read More

Hmmmm, I somehow run into an encoding problem where my inserted data end up mangled in the database. But, both SQLite and Go use UTF-8. Whatā€™s happening here? :-?

ā¤‹ Read More
In-reply-to » @lyse and @movq and possibly @aelaraji and even @cuaxolotl -- I'm very curious to understand and hear thoughts, pros and cons or other feelings about introducing the notation of a feed's identify using cryptography? If we were to keep things simple, and use what's commonly available, for example SSH ED25519 keys? using the ssh-keygen -Y sign or ssh-keygen -Y verify tools already available? Maybe in combination with @xuu 's idea of generating a random unique ID for your feed, say # id = and signing it with your ED25519 key? šŸ”‘

@prologic@twtxt.net Iā€™m basically with @movq@www.uninformativ.de, but in contrast to him, Iā€™m not looking forward to implement something like that. :-)

A feed URL is plenty good enough for me. Since I only fetch feeds that I explicity follow, there is some basic trust in those feeds already. Spoofing, impersonation and what not are no issues for me. If I were to find out otherwise, I just unsubscribe from the evil feed. Done.

To retrieve public feeds, I just rely on TLS. Most are served via HTTPS. If a feed is down, Iā€™m not trying to fetch it from some other source, I just wait and try again later. So signed messages/feeds are not a use case Iā€™m particularly benefitting from.

To me, itā€™s just not worth at all adding this crypto complexity on top.

ā¤‹ Read More
In-reply-to » @sorenpeter There was or maybe still is a competing proposal for multiline twts that combines all twts with the same timestamp to one logical multiline twt. Not sure what happened to that, if it is used in the wild and whether anyone "here" follows a feed with that convention. "Our" solution for multiline twts is to use U+2028 Unicode LINE SEPARATOR as a newline: https://dev.twtxt.net/doc/multilineextension.html.

Found it: https://github.com/buckket/twtxt/issues/157

ā¤‹ Read More
In-reply-to » @mckinley Thanks for the feedback.

@sorenpeter@darch.dk There was or maybe still is a competing proposal for multiline twts that combines all twts with the same timestamp to one logical multiline twt. Not sure what happened to that, if it is used in the wild and whether anyone ā€œhereā€ follows a feed with that convention. ā€œOurā€ solution for multiline twts is to use U+2028 Unicode LINE SEPARATOR as a newline: https://dev.twtxt.net/doc/multilineextension.html.

ā¤‹ Read More
In-reply-to » @prologic Some criticisms and a possible alternative direction:

Keys for identity are too much for me. This steps up the complexity by a lot. Simplicity is what made me join twtxt with its extensions. A feed URL is all I need.

Eventually, twt hashes have to change (lengthen at least), no doubt about that. But Iā€™d like to keep it equally simple.

ā¤‹ Read More