@kingdomcome@yarn.girlonthemoon.xyz Yeah, itâs all about simplicity. Thatâs what got me hooked. In its original form without the extensions, you can even read the raw feed and it doesnât feel all that bad.
@movq@www.uninformativ.de This is a really good example of âsimplicityâ but achieves the intent and goals đ
(Now, I donât know if your screen reader can work with this. Let me know if it doesnât.)
I donât use a screen reader fortunately (actually theyâre pretty garbage). So all good đ (I juse use full-screen zoom).
@movq@www.uninformativ.de yes, I think:
<!--[if !IE]><!-->
<link rel="stylesheet" href="../simplicity.cssâ>
<!--<![endif]-->
Should work, but I havenât tested it.
i switched my bookmarks site from espial (unmaintained project) to linkding, and while iâll miss espialâs simplicity, i do appreciate linkdingâs power and the provided API.
at first i got auth working with my SSO (authelia) and was happy, but i want my public bookmarks available without login⌠and i couldnât configure my proxy to make that work, because of issues with sub paths, which sucks. so i switched to linkdingâs built-in auth. inconvenient, but worth it to share my bookmarks.
@lyse@lyse.isobeef.org thatâs alright haha! i donât expect anyone to listen/watch in full or with full attention bc itâs so long lmao
the thing with PHP for me is that i⌠feel like it hits a kind of simplicity that i can understand? itâs so plain but can be very powerful. i quite like that. as much as i can learn something infinitely more powerful, PHP hits a comfortable thing where i can handle things like backend sqlite DBs AND how a page is rendered, without requiring a complex frontend with its own quirks (like ruby on rails, which as much as i know and love it, can be heavy).
but i totally get you! PHP security is very scary. iâm always worried that iâm messing something up. itâs why the PHP application iâm working on i have dockerized by default for a small but extra layer of protection
iâll try to not get discouraged tysm for your advice
@prologic@twtxt.net genuinely the sickest shit iâve ever seen webdev is saved
dm-only.txt
feeds. đ
by commenting out DMs are you giving up on simplicity? See the Metadata extension holding the data inside comments, as the client doesnât need to show it inside the timeline.
I donât think that commenting out DMs as we are doing for metadata is giving up on simplicity (itâs a feature already), and it helps to hide unwanted DMs to clients that will take months to add itâs support to something named⌠an extension.
For some other extensions in https://twtxt.dev/extensions.html (for example the reply-to hash #abcdfeg
or the mention @ < example http://example.org/twtxt.txt >
) is not a big deal. The twt is still understandable in plain text.
For DM, itâs only interesting for you if you are the recipient, otherwise you see an scrambled message like 1234567890abcdef=
. Even if you see it, youâll need some decryption to read it. Iâve said before that DMs shouldnât be in the same section that the timeline as itâs confusing.
So my point stands, and as Iâve said before, we are discussing it as a community, so letâs see what other maintainers add to the convo.
dm-only.txt
feeds. đ
After reading you, @eapl.me@eapl.me, Iâll tell you my point of view.
In my opinion, a feed does not have to be equivalent to a timeline. A timeline is a representation of the feed adapted to a user. You may not be interested in seeing other peopleâs threads or DMs. But perhaps they are interested in seeing mentions or DMs directed at them. It is important not to fall into the trap. With that clarificationâŚ
I insist, this is my point of view, it is not an absolute truth: I donât think extensions should be respectful of customers who are no longer maintained.
We cannot have a system that is simple, backwards compatible and extensible all at the same time. We have to give up some of the 3 points. I would not like to give up simplicity because it will then make it harder to maintain the customers who do stay. Therefore, I think it is better to give up backwards compatibility and play with new formulas in the extensions. I donât think itâs a good idea to make a hash keep so much load: a hashtag, a thread and also a DM.
@nff@www.noizhardware.com Nice! Yeah, itâs all about having fun. :-) The simplicity got me hooked. Happy hacking!
Righto, @eapl.me@eapl.me, ta for the writeup. Here we go. :-)
Metadata on individual twts are too much for me. I do like the simplicity of the current spec. But I understand where youâre coming from.
Numbering twts in a feed is basically the attempt of generating message IDs. Itâs an interesting idea, but I reckon it is not even needed. Iâd simply use location based addressing (feed URL + â#â + timestamp) instead of content addressing. If one really wanted to, one could hash the feed URL and timestamp, but the raw form would actually improve disoverability and would not even require a richer client. But the majority of twtxt users in the last poll wanted to stick with content addressing.
yarnd actually sends If-Modified-Since
request headers. Not only can I observe heaps of 304 responses for yarnds in my access log, but in Cache.FetchFeeds(âŚ)
we can actually see If-Modified-Since
being deployed when the feed has been retrieved with a Last-Modified
response header before: https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/cache.go#L1278
Turns out etags with If-None-Match
are only supported when yarnd serves avatars (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/handlers.go#L158) and media uploads (https://git.mills.io/yarnsocial/yarn/src/commit/98eee5124ae425deb825fb5f8788a0773ec5bdd0/internal/media_handlers.go#L71). However, it ignores possible etags when fetching feeds.
I donât understand how the discovery URLs should work to replace the User-Agent
header in HTTP(S) requests. Do you mind to elaborate?
Different protocols are basically just a client thing.
I reckon itâs best to just avoid mixing several languages in one feed in the first place. Personally, I find it okay to occasionally write messages in other languages, but if that happens on a more regularly basis, Iâd definitely create a different feed for other languages.
Isnât the emoji thing âjustâ a client feature? So, feed do not even have to state any emojis. As a user Iâd configure my client to use a certain symbol for feed ABC. Currently, I can do a similar thing in tt
where I assign colors to feeds. On the other hand, what if a user wants to control what symbol should be displayed, similar to the feedâs nick? Hmm. But still, my terminal font doesnât even render most of emojis. So, Unicode boxes everywhere. This makes me think it should actually be a only client feature.
Yes, that is exactly what I meant. I like that collection and âtwtxt v2â feels like a departure.
Maybe thereâs an advantage to grouping it into one spec, but IMO that shouldnât be done at the same time as introducing new untested ideas.
See https://yarn.social (especially this section: https://yarn.social/#self-host) â It really doesnât get much simpler than this đ¤Ł
Again, I like this existing simplicity. (I would even argue you donât need the metadata.)
That page says âFor the best experience your client should also support some of the Twtxt ExtensionsâŚâ but it is clear you donât need to. I would like it to stay that way, and publishing a big long spec and calling it âtwtxt v2â feels like a departure from that. (I think the content of the document is valuable; Iâm just carping about how itâs being presented.)
âEverything should be made as simple as possible, but not simpler.â
â Albert EinsteinThe beauty of simplicity lies in not losing the essence.
No, json is overhead. I love twtxt for simplicity where blog is just text file and not several json files where fields are repeatedâŚ
(#2024-09-24T12:39:32Z) @prologic@twtxt.net 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 @movq@www.uninformativ.de 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.
So really your argument is just that switching to a location-based addressing âjust makes senseâ. Why? Without concrete pros/cons of each approach this isnât really a strong argument Iâm afraid. In fact I probably need to just sit down and detail the properties of both approaches and the pros/cons of both.
I also donât really buy the argument of simplicity either personally, because I donât technically see it much more difficult to take a echo -e "<url>\t<timestamp>\t<content>" | sha256sum | base64
as the Twt Subject or concatenating the <url> <timestamp>
â The âeffortâ is the same. If weâre going to argue that SHA256 or cryptographic hashes are âtoo complicatedâ then Iâm not really sure how to support that argument.
@prologic@twtxt.net Some criticisms and a possible alternative direction:
Key rotation. Iâm not a security person, but my understanding is that itâs good to be able to give keys an expiry date and replace them with new ones periodically.
It makes maintaining a feed more complicated. Now instead of just needing to put a file on a web server (and scan the logs for user agents) I also need to do this. What brought me to twtxt was its radical simplicity.
Instead, maybe we should think about a way to allow old urls to be rotated out? Like, my metadata could somehow say that X used to be my primary URL, but going forward from date D onward my primary url is Y. (Or, if you really want to use public key cryptography, maybe something similar could be used for key rotation there.)
Itâs nice that your scheme would add a way to verify the twts you download, but https is supposed to do that anyway. If you donât trust https to do that (maybe you donât like relying on root CAs?) then maybe your preferred solution should be reflected by your primary feed url. E.g. if you prefer the security offered by IPFS, then maybe an IPNS url would do the trick. The fact that feed locations are URLs gives some flexibility. (But then rotation is still an issue, if I understand ipns right.)
This reminds me of this video: The Biggest Gap in Science: Complexity
However you might end up with more questions (complexity?) than answers (simplicity?)
@prologic@twtxt.net On the one hand, twtxt has become more popular thanks to Yarn.social. On the other hand, subject and hashtag extensions took away the simplicity of the protocol. For example, it is impossible to understand which conversation (#base32hash) a tweet refers to or to reply to a tweet without going to a yarn.social pod. Compare with re: in this tweet which can be written without using any client at all
@prologic@twtxt.net: 1. I use classic twtxt client written in Python from console, I like simplicity; 2. Thanks for the feedback about my website! Itâs better viewed with old 800x600 monitors, haha
@lyse@lyse.isobeef.org Yes, I often read the raw messages. But more to the point, the simplicity of the format is the bulk of the appeal.
[Questions About] versus [Moral Arguments From] Coherent Ethical Simplicity
@prologic@twtxt.net Yep! installed it yesterday. I like the simplicity of twt. I am quite happy with how little memory the pod seems to use. Mastodon and the âlightweightâ Pleroma donât work well in small VMs.
dotGo 2015 - Rob Pike - Simplicity is Complicated - YouTube https://www.youtube.com/watch?v=rFejpH_tAHM
Jehanne Operating System http://jehanne.io/2018/11/15/simplicity-awakes.html
Simplicity or style: what makes a sentence a masterpiece? | Aeon Ideas https://aeon.co/ideas/simplicity-or-style-what-makes-a-sentence-a-masterpiece