This morning (and a little bit of the afternoon) the idea of having a full referenced archive of twtxts on the web has consumed me a bit. I am talking about something similar to the email archives one see online, but for twtxts, and a more personal level. Such archive would be available, even if the involved feeds are long gone, because feeds will be treated as received emails.
@eapl.me@eapl.me here are my replies (somewhat similar to Lyseās and Jamesā)
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
if something is NSFWIDs 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.
Caching, Yes all good ideas, but that is more a task for the clients not the serving of the twtxt.txt files.
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, 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.
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
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.
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?
(#puqhbtq) @bender@bender I mean Iāve thought about it! Itās an intriguing idea to be able to have basic IP over HAM Radio š¤
@bender I mean Iāve thought about it! Itās an intriguing idea to be able to have basic IP over HAM Radio š¤ ā Read more
(#nvrq7lq) @eapl.me Thereās some good ideas in this š I think we can definitely incorporate some of them pretty easily already. Others will ā¦
@eapl.me @eapl.me Thereās some good ideas in this š I think we can definitely incorporate some of them pretty easily already. Others will have to be discussed, and some other bits like hashing and edits are a bit more controversial. ā Read more
@Codebuzz@www.codebuzz.nl I have separate mail boxes for private and work, but flattened both to have a simpler structure. For work, where we use Outlook, I am using categories for organising the mails and privately I am using Vivaldiās labels system. The main idea is to use search and grouping through dynamic saved searches instead of static folders.
(#msuhxha) @david Hah š
I have an idea though⦠Thereās like some ~50 odd or so active users in the growing community just off the top of my ā¦
@david @collantes.us Hah š
I have an idea though⦠Thereās like some ~50 odd or so active users in the growing community just off the top of my head. I reckon if we all chipped in $20 USD ea youād have your Mac Mini M4 𤣠ā Read more
Game Off 2024 theme announcement
GitHubās annual month-long game jam, where creativity knows no limits! Throughout November, dive into your favorite game engines, libraries, and programming languages to bring your wildest game ideas to life. Whether youāre a seasoned dev or just getting started, itās all about having fun and making something awesome!
The post Game Off 2024 theme announcement appeared first on [The GitHub Blog](https: ⦠ā Read more
Three days from today, towards the end of the day, we in the US will have an idea of who the nationās presiding person will be for the next four years. In the 32 years I have lived here, I have never been more worried about an election outcome.
(#b6juizq) @cuaxolotl The reason I ask is that I maintain the Twtxt search engine and crawler service that basically does exactly this, so Iām c ā¦
@cuaxolotl @sunshinegardens.org The reason I ask is that I maintain the Twtxt search engine and crawler service that basically does exactly this, so Iām curious what youāre trying to solve by doing this yourself? Not that thatās a bad idea. I just want to understand what you are trying to achieve ⦠ā Read more
(#pqhbula) @Codebuzz I really like this idea of just using the Feedās # nick as a sort of āidentifierā. This gets us out of this mess of when ā¦
@Codebuzz @www.codebuzz.nl I really like this idea of just using the Feedās # nick as a sort of āidentifierā. This gets us out of this mess of when feeds move locations or authors decide to host on 3 or 4 different protocols 𤣠Downside? Something picks the same nick? ( _theyāll still hash differently, so th ⦠ā Read more
The real crux of the matter is this whole moving feeds around to different uri(s). This makes things hard. I think itās worth revisiting @anth ā ā¦
The real crux of the matter is this whole moving feeds around to different uri(s). This makes things hard. I think itās worth revisiting @anth @a.9srv.net ās UUID idea for its merits. ā Read more
(#rjapt4a) @movq Iām assuming jenny is doing some kind of validation and verifying if that Twt really does exist on the feed uri? š¤ But the ā¦
@movq @www.uninformativ.de Iām assuming jenny is doing some kind of validation and verifying if that Twt really does exist on the feed uri? š¤ But the hash is all kinds of wrong now because @gallowsgryph for whatever reason decided it might be a good idea to have a 2nd # url that doesnāt actually point to t ⦠ā Read more
[AFH] [2.5c+/word] Fiction writer
I can help you turn your ideas and story beats into an engaging and fun piece of written fiction.
Link: https://xmrbazaar.com/listing/iB5g/
ClaraB (XMRBazaar) ā Read more
Memory for Nothing: Why Vec<usize> is (probably) a bad idea
Every now and then one has to index something - and whatās better than a
good old Vec<usize>? ā Read more
[ANN] The MAGIC Monero Fund received a new grant application: āMonerotopia Buildathon 2024ā
Deverick is asking for 4,000 USD to host a hackathon/buildathon to improve Monero integration in the BTCPay self-hosted merchant payment system, especially with BTCPay 2.0 coming up. Community feedback on this idea is appreciated :D
Link: https://github.com/MAGICGrants/Monero-Fund/issues/37
@rāucknium:monero.social ā Read more
[LFF] Monero meetup group in Barcelona (Spain)
Hello I am running the Monero meetup group in Barcelona (Spain) and looking for support to organize a in-person event before end of the year. The idea is to spread the word in the city about XMR what it is and why privacy is important. I am aiming for a more social networking environment to gather privacy enthusiasts but open to sugestions. I would like to ask here if you guys could help with some funds to rent a space if needed.
Link: [https://www.meetup.com/es-ES/monero-meetup-barcel ⦠ā Read more
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.)
Recent #fiction #scifi #reading:
The Memory Police by YÅko Ogawa. Lovely writing. Very understated; reminded me of Kazuo Ishiguro. Sort of like Nineteen Eighty-Four but not. (I first heard it recommended in comparison to that work.)
Subcutanean by Aaron Reed; https://subcutanean.textories.com/ . Every copy of the book is different, which is a cool idea. I read two of them (one from the library, actually not different from the other printed copies, and one personalized e-book). I donāt read much horror so managed to be a little creeped out by it, which was fun.
The Wind from Nowhere, a 1962 novel by J. G. Ballard. A random pick from the sci-fi section; I think I picked it up because it made me imagine some weird 4-dimensional effect (āfrom nowhereā meaning not in a normal direction) but actually (spoiler) it was just about a lot of wind for no reason. The book was moderately entertaining but there was nothing special about it.
Currently reading Scale by Greg Egan and Inversion by Aric McBay.
More thoughts about changes to twtxt (as if we havenāt had enough thoughts):
- There are lots of great ideas here! Is there a benefit to putting them all into one document? Seems to me this could more easily be a bunch of separate efforts that can progress at their own pace:
1a. Better and longer hashes.
1b. New possibly-controversial ideas like edit: and delete: and location-based references as an alternative to hashes.
1c. Best practices, e.g. Content-Type: text/plain; charset=utf-8
1d. Stuff already described at dev.twtxt.net that doesnāt need any changes.
We wonāt know what will and wonāt work until we try them. So Iām inclined to think of this as a bunch of draft ideas. Maybe later when weāve seen it play out it could make sense to define a group of recommended twtxt extensions and give them a name.
Another reason for 1 (above) is: I like the current situation where all you need to get started is these two short and simple documents:
https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html
https://twtxt.readthedocs.io/en/latest/user/discoverability.html
and everything else is an extension for anyone interested. (Deprecating non-UTC times seems reasonable to me, though.) Having a big long ātwtxt v2ā document seems less inviting to people looking for something simple. (@prologic@twtxt.net you mentioned an anonymous comment āyouāve ruined twtxtā and while I donāt completely agree with that commenterās sentiment, I would feel like twtxt had lost something if it moved away from having a super-simple core.)All that being said, these are just my opinions, and Iām not doing the work of writing software or drafting proposals. Maybe I will at some point, but until then, if youāre actually implementing things, youāre in charge of what you decide to make, and Iām grateful for the work.
@prologic@twtxt.net Do you have a link to some past discussion?
Would the GDPR would apply to a one-person client like jenny? I seriously hope not. If someone asks me to delete an email they sent me, I donāt think I have to honour that request, no matter how European they are.
I am really bothered by the idea that someone could force me to delete my private, personal record of my interactions with them. Would I have to delete my journal entries about them too if they asked?
Maybe a public-facing client like yarnd needs to consider this, but that also bothers me. I was actually thinking about making an Internet Archive style twtxt archiver, letting you explore past twts, including long-dead feeds, see edit histories, deleted twts, etc.
@prologic@twtxt.net where was that idea?
@prologic@twtxt.net the basic idea was to stem the hash.. so you have a hash abcdef0123456789... any sub string of that hash after the first 6 will match. so abcdef, abcdef012, abcdef0123456 all match the same. on the case of a collision i think we decided on matching the newest since we archive off older threads anyway. the third rule was about growing the minimum hash size after some threshold of collisions were detected.
@movq@www.uninformativ.de Agreed that hashes have a benefit. I came up with a similar example where when I twted about an 11-character hash collision. Perhaps hashes could be made optional somehow. Like, you could use the āreplytoā idea and then additionally put a hash somewhere if you want to lock in which version of the twt you are replying to.
@quark@ferengi.one I donāt really mind if the twt gets edited before I even fetch it. I think itās the idea of my computer discarding old versions itās fetched, especially if itās shown them to me, that bugs me.
But I do like @movq@www.uninformativ.deās suggestion on this thread that feeds could contain both the original and the edited twt. I guess it would be up to the author.
@sorenpeter@darch.dk I like this idea. Just for fun, Iām using a variant in this twt. (Also because Iām curious how it non-hash subjects appear in jenny and yarn.)
URLs can contain commas so I suggest a different character to separate the url from the date. Is this twt Iāve used space (also after āreplytoā, for symmetry).
I think this solves:
- Changing feed identities: although @mckinley@twtxt.net points out URLs can change, I think this syntax should be okay as long as the feed at that URL can be fetched, and as long as the current canonical URL for the feed lists this one as an alternate.
- editing, if you donāt care about message integrity
- finding the root of a thread, if youāre not following the author
An optional hash could be added if message integrity is desired. (E.g. if you donāt trust the feed author not to make a misleading edit.) Other recent suggestions about how to deal with edits and hashes might be applicable then.
People publishing multiple twts per second should include sub-second precision in their timestamps. As you suggested, the timestamp could just be copied verbatim.
@prologic@twtxt.net I have some ideas:
- Add smartypants rendering, just like Yarn has.
- Add the ability to create individual twtxts, each named after their hash.
- Fix the formatting of the help. :-P
() @falsifian@www.falsifian.org You mean the idea of being able to inline
# url =changes in your feed?
Yes, that one. But @lyse@lyse.isobeef.org pointed out suffers a compatibility issue, since currently the first listed url is used for hashing, not the last. Unless your feed is in reverse chronological order. Heh, I guess another metadata field could indicate which version to use.
Or maybe url changes could somehow be combined with the archive feeds extension? Could the url metadata field be local to each archive file, so that to switch to a new url all you need to do is archive everything youāve got and start a new file at the new url?
I donāt think itās that likely my feed url will change.
@mckinley@twtxt.net Yes, changing domains is be a problem if you tie your identity to an https url. But I also worry about being stuck with a key I canāt rotate. Whatever gets used, it would be nice to be able to rotate identities. I like @lyse@lyse.isobeef.orgās idea for that.
@mckinley@twtxt.net Thanks for the feedback.
- 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)
- 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.
- 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:)
If weāre going to ban kids off social, what on earth will they do outside?
Banning access to social media for young people is an honourable idea, but we need to make sure they have other things to do instead. ā Read more
So this is a great thread. I have been thinking about this too.. and what if we are coming at it from the wrong direction? Identity being tied to a given URL has always been a pain point. If i get a new URL its almost as if i have a new identity because not only am I serving at a new location but all my previous communications are broken because the hashes are all wrong.
What if instead we used this idea of signatures to thread the URLs together into one identity? We keep the URL to Hash in place. Changing that now is basically a no go. But we can create a signature chain that can link identities together. So if i move to a new URL i update the chain hosted by my primary identity to include the new URL. If i have an archived feed that the old URL is now dead, we can point to where it is now hosted and use the current convention of hashing based on the first url:
The signature chain can also be used to rotate to new keys over time. Just sign in a new key or revoke an old one. The prior signatures remain valid within the scope of time the signatures were made and the keys were active.
The signature file can be hosted anywhere as long as it can be fetched by a reasonable protocol. So say we could use a webfinger that directs to the signature file? you have an identity like frank@beans.co that will discover a feed at some URL and a signature chain at another URL. Maybe even include the most recent signing key?
From there the client can auto discover old feeds to link them together into one complete timeline. And the signatures can validate that its all correct.
I like the idea of maybe putting the chain in the feed preamble and keeping the single self contained file.. but wonder if that would cause lots of clutter? The signature chain would be something like a log with what is changing (new key, revoke, add url) and a signature of the change + the previous signature.
# chain: ADDKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w
# sig: BEGIN SALTPACK SIGNED MESSAGE. ...
# chain: ADDURL https://txt.sour.is/user/xuu
# sig: BEGIN SALTPACK SIGNED MESSAGE. ...
# chain: REVKEY kex14zwrx68cfkg28kjdstvcw4pslazwtgyeueqlg6z7y3f85h29crjsgfmu0w
# sig: ...
@movq@www.uninformativ.de Another idea: just hash the feed url and time, without the message content. And donāt twt more than once per second.
Maybe you could even just use the time, and rely on @-mentions to disambiguate. Not sure how that would work out.
Though I kind of like the idea of twts being immutable. At least, itās clear which version of a twt youāre replying to (assuming nobody is engineering hash collisions).
In fact, maybe your public key idea is compatible with my last point. Just come up with a url scheme that means āthis feedās primary URL is actually a public keyā, and then feed authors can optionally switch to that.
@movq@www.uninformativ.de good idea, considering it might occasionally not work at all (because of edited twtxts).
@prologic@twtxt.net How does yarn.socialās API fix the problem of centralization? I still need to know whose API to use.
Say I see a twt beginning (#hash) and I want to look up the start of the thread. Is the idea that if that twt is hosted by a a yarn.social pod, it is likely to know the thread start, so I should query that particular pod for the hash? But what if no yarn.social pods are involved?
The community seems small enough that a registry server should be able to keep up, and I can have a couple of others as backups. Or I could crawl the list of feeds followed by whoever emitted the twt that prompted my query.
I have successfully used registry servers a little bit, e.g. to find a feed that mentioned a tag I was interested in. Was even thinking of making my own, if I get bored of my too many other projects :-)
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
yarnd that's been around for awhile and is still present in the current version I'm running that lets a person hit a constructed URL like
A stopgap setting that would let me stop all calls to /external matching a particular pattern (like this damn lovetocode999 nick) would do the job. Given the potential for abuse of that endpoint, having more moderation control over what it can do is probably a good idea.
James built a $28b fortune after inventing Dyson vacuums. Here is his next radical idea
Britainās fifth-richest man says thereās a good reason heās been growing out his hair. ā Read more
Morphotrophic by Greg Egan is built around an idea for how life on Earth could have worked out differently. It gets increasingly strange and interesting as the story progresses. My partner and I finished it last night and thoroughly enjoyed it. The beginning is free online: https://gregegan.net/MORPHOTROPHIC/00/MorphotrophicExcerpt.html #scifi #reading
** Dithering the Shire **
In my last post I said that
Iāve had a few ideas for other personal experiments I wanna build on those walks, but havenāt actually wanted to do much programmingāāāmaybe this fall or winter will be a good time for that?
Welp, it wasnāt even an idea when I wrote that, but I made another implementation of pico cam, this time using swift for iOS. I wonāt release it to the App Store because I d ⦠ā Read more
@prologic@twtxt.net āClownflareā š¤£š¤£š¤£ Love it.
But yes the idea of a cheap VPS as a tunnel and keeping home network all local is a good one I reckon.
The fuck�!
@prologic@twtxt.net Interesting! Had no idea about that, but trust you to know of a self-hosted implementation š š
@stigatle@yarn.stigatle.no @xuu@txt.sour.is @lyse@lyse.isobeef.org āNot coolā? I was receiving many broken (HTTP 400 error) requests per second from an IP address I didnāt recognize, right after having my VPS crash because the hard drive filled up with bogus data. None of this had happened on this VPS before, so it was a new problem that I didnāt understand and I took immediate action to get it under control. Of course I reported the IP address to its abuse email. Thatās a 100% normal, natural, and ācoolā thing to do in such a situation. At the time I had no idea it was @xuu@txt.sour.is .
The moment I realized it was @xuu@txt.sour.is and definitely a false alarm, I emailed the ISP and told them this was a false positive and to not ban or block the IP in question because it was not abusive traffic. They havenāt yet responded but I do hope theyāve stopped taking action, and if thereās anything else I can do to certify to them that this is not abuse then I will do that.
I run numerous services on that VPS that I rely on, and I spent most of my day today cleaning up the mess all this has caused. I get that this caused @xuu@txt.sour.is a lot of stress and Iām sincerely sorry about that and am doing what I can to rectify the situation. But calling me ānot coolā isnāt necessary. This was an unfortunate situation that weāre trying to make right and thereās no need for criticizing anyone.
@prologic@twtxt.net This is weird, but today, out of nowhere, yarnd filled up the disk on the VPS where I run it. Itās never done anything like this before and I have no idea why it would start. But it threw almost 700 Gbytes of data into /tmp in files like this:
yarnd-avatar-1087570772 yarnd-avatar-1599127133 yarnd-avatar-2042956376 yarnd-avatar-2562946212 yarnd-avatar-3274766535 yarnd-avatar-3931929859 yarnd-avatar-553201529
yarnd-avatar-1089125452 yarnd-avatar-1606826819 yarnd-avatar-2089122560 yarnd-avatar-2611944556 yarnd-avatar-3310922372 yarnd-avatar-3938996661 yarnd-avatar-556240195
yarnd-avatar-1101228867 yarnd-avatar-1618755765 yarnd-avatar-2104107259 yarnd-avatar-2641384948 yarnd-avatar-3326285269 yarnd-avatar-3939402047 yarnd-avatar-559344463
yarnd-avatar-1112165824 yarnd-avatar-1650827505 yarnd-avatar-2142824779 yarnd-avatar-2680659340 yarnd-avatar-3340682113 yarnd-avatar-3998621883 yarnd-avatar-570292705
yarnd-avatar-1119886894 yarnd-avatar-1656673647 yarnd-avatar-2160786463 yarnd-avatar-271923479 yarnd-avatar-3374584613 yarnd-avatar-4005102536 yarnd-avatar-595490106
yarnd-avatar-1131417623 yarnd-avatar-1685698239 yarnd-avatar-2165405940 yarnd-avatar-2793562275 yarnd-avatar-3380606954 yarnd-avatar-4016872095 yarnd-avatar-679251850
yarnd-avatar-1160959085 yarnd-avatar-1746759128 yarnd-avatar-2171489899 yarnd-avatar-2842068287 yarnd-avatar-3416352997 yarnd-avatar-4110048378 yarnd-avatar-679950970
yarnd-avatar-1231649265 yarnd-avatar-1752278279 yarnd-avatar-2251317422 yarnd-avatar-2843868670 yarnd-avatar-3468636088 yarnd-avatar-4116552474 yarnd-avatar-737874628
164 files. Some are empty, some are 7 or even 10 Gbyte.
Any idea what would cause that? And why now, after running yarnd for so long with nothing like this happening?
How to Install watchOS 11 Public Beta on Apple Watch
If youāre an advanced Apple Watch user, you might be intrigued by the idea of running the watchOS 11 public beta on your Apple Watch, to accompany your paired iPhone running iOS 18 public beta. Sure, beta system software is buggier than final versions and may have issues with performance and battery life, but running ⦠Read More ā Read more
@movq@www.uninformativ.de Somewhere or another, I think in a William Byrd talk, I heard it suggested that the best ideas in computer science should fit on an index card (ah yes itās this one: https://paperswelove.org/2017/video/will-byrd-most-beautiful-program/ ). He was referring to the basic principles of LISP/the lambda calculus, which have sometimes been called the Maxwellās equations of computer programming (by Alan Kay). Simple, short, elegant, but very densely packed with meaningāgenerations of people have spent their whole careers unpacking what those simple rules can do.
Much of modern software feels like the polar opposite of that. Not only can you not write it on an index card, you never will be able to because people who write software donāt seem to aspire to try. I wish more people thought this way though!
Enable Night Shift on Apple Watch with Siri
Night Shift is a nice feature from Apple that warms the color tones on screens during the evening and nighttime hours, with the idea being that it may help to reduce eyestrain and blue light exposure. Night Shift has been around on Mac, iPhone, and iPad, for quite some time, but the feature has been ⦠Read More ā Read more
@bmallred@staystrong.run overall this was pretty good and the run-walk intervals kept my heart rate low.
at around 0400 a car came racing (90-100 mph) down gulf blvd towards my direction. it turned its headlights off and actually lost traction at point and skidded a bit. okay, kids. then a bit later i hear the car coming back behind me⦠so i got as far to the right as i could in case the car skids again. as it passed me i looked over my shoulder and saw a police vehicle a bit back w/o lights on yet. then looking in front another cop and then they blocked the lanes to get the driver to stop. driver decided he wasnāt stopping and tried to swerve around the police and ended up ping-ponging between sides of the road. enough of thatā¦
took a wrong turn after going over the first bridge, but luckily it went in a loop. didnāt really know exactly where i was going anyways and was just winging it from the get-go.
the rest of the run was pretty uneventful and just a fun experience. crazy idea accomplished.
They may be ugly and wonky but this is what natural carrots look like
Theresa Scholl says many visitors to her farm have no idea that ānormalā supermarket carrots are the result of centuries of selective breeding, farming techniques and careful curation. ā Read more