did it work? I tried loading the file from /twtxt.txt, /twtAgent.php and /twtAgent2.php
Also reading the code, I see it creates two files, but Iām not sure which you are using now:
http://darch.dk/twtAgent.log <- 403 Forbidden
and
http://darch.dk/twtAgent.csv <- Not found here
Iāve been using Mastodon too much lately. The constant notifications are becoming too stressful. I really do prefer slow communication, like twtxt. āļø
Btw about social: found very interesting thing about twitter:
The legal basis that X asserts in the filing is not terribly interesting. But what is interesting is that X has decided to involve itself at all, and it highlights that you do not own your followers or your account or anything at all on corporate social media, and it also highlights the fact that Elon Muskās X is primarily a political project he is using to boost, or stifle, specific viewpoints and help his friends. In the filing, Xās lawyers essentially sayālike many other software companies, and, increasingly, device manufacturers as wellāthat the companyās terms of service grant Xās users a ālicenseā to use the platform but that, ultimately, X owns all accounts on the social network and can do anything that it wants with them.
Forcing social media to open their algorithms: hostile to corporations
Forcing young people to not use social media: hostile to young people, helps prevent them from organizing
You think they did this for the benefit of the young people?
Also this āļø
all of the software sucks, but i have a solution! weāll write even more software! get more people involved, make it the Ideal Career, then we can write AL̵LĢ“ O̵F THĢØE ̧CĶODEĢ·S. mountains of shitty garbage that kind-of does the thing. software will still suck, but TĶHEĢN oh then we can write compilers that let us run the old shitty code inside of our mountain of new shitty code. now all of the code is in a giant pile and weāre using it to control space ships that definitely never crash. the more code the better! we can represent NaN
easily in undefined
systems! developers arenāt particularly bright, so the language is simple and easy for them to understand. we know this, thatās why it was made this way. theĶ” mounĶ¢tain Ķ m̵usĶt Ķ nȩverĢ¢ Ģ“waĢ”veĢ“r̵. the more code the better. so instead of writing the code manually we cĢ“oĶmpileĢØ tĶorĢøtĢuĶred soĢ·uĶls ĶiĶnĶtoĶ Ķnice Ķ¢bĶlĢ·oxeĢ”ls ĢøofĶ Ģøt̶anĢ”gĶlĶed ĶnĢ¢euĶraĢ”lĶ ĢneĢ¢tĶwĶorksĶ.Ģø wĢØe dĶ onātĶ know how i̵t Ģ·wĶorkĢ”s, Ģ“but Ģ·tĢ“he modelĢ¢ ̶isĢ 5Ģ0GiB Ķs̶o ĶiĶt sĶeĶrveĶs Ģ“tḩeĢ purposĶe. WEĢ MĶ USĢ“T BĶ¢UĢ¢ILD ĶTĶHE MOĶUN̶TĢØA̵IN.
Australia To Ban Under-16s From Social Media After Passing Landmark Law
Australia will ban children under 16 from using social media after its senate approved what will become a world-first law. From a report: Children will be blocked from using platforms including TikTok, Instagram, Snapchat and Facebook, a move the Australian government argue is necessary to protect their mental health and wellbeing.
⦠ā Read more
getting ready to mourn tomorrow https://www.cnn.com/2021/11/25/us/national-day-of-mourning-race-deconstructed-newsletter/index.html
@prologic@twtxt.net to interact with locally running LLM, which software are you using? LM Studio, or Ollama, or�
This is so neat.
https://emilyliu.me/blog/open-network
When yarn used to have blogs I thought something like this would be a great feature. Having the blog comments tied to a twtxt subject for the blog post.
Whatās made you unlock twitch.tv?
A couple of events where my only choices for watching them are: Twitch, Youtube or Fartbook.
What are you doing differently?
TL;DR: I stopped going there unless I have to for the reason above.
I used to spend Waaaaay too much time on the platform. I had a whole setup using Streamlink, MPV and Chatterino where sometimes, Iād have up to 10 concurrent open streams all day long on a secondary monitor (thanks to tiling window managersā magic), some I was interested in watching, some I moderated for a couple of friends and some Iāve had open just for support (helping new streamers in the community with their numbers till they take off and such). Theeen something happened to one of my loved ones, so I had to stop all the nonsense and spend that time and attention with the person who deserves it the most. I blocked the platform at first since I had a habit to type twit...
as soon as I opened a browser š
(addiction is real) and now I donāt. (That reflex got replaced with typing twtxt...
instead š)
We had 5cm snow at our scout yard at 10 oāclock. But it was nearly fully gone when we called it quits after sunset.
In May we charred cloth to be used as tinder. A fire steel and some wood shavings lit the fire in under a minute. Maybe half. That was good fun. I reckon I have to replenish the charred cloth soon, though. Itās crazy how great that works. Iām absolutely amazed.
We cut back the thorny brushes for hours and eventually winched out some heavy fallen trees. That was really cool to see this powerful winch in action. Absolutely effortless. It was also a complete one man show. We couldnāt do anything and just watch. There is no chance that we could have moved the tree trunks up the steep hill with just man power. Well, a few dozen people might have made it with great struggle.
Next time we have to cut them into smaller pieces and split them into firewood or keep some for contruction. I will see whether I can safe some to cut some boards from. A sawmill would be really cool to have. :-)
Starting the call: https://meet.mills.io/call/Yarn.social
Come join us!
Wow! Just Wow! š®
Discovered this whilst trying to debug why my Youtube frontend no longer works:$ youtube-dl 'https://www.youtube.com/watch?v=YpiK1FMy2Mg'
[youtube] YpiK1FMy2Mg: Downloading webpage
WARNING: unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: unable to download video data: HTTP Error 403: Forbidden
@bender@twtxt.net Glad you could find it useful ⦠as for like
Iām glad theyāre not a thing here xD otherwise we wouldnāt be having as much conversations going on in here. but I get it, and do appreciate it. š
@aelaraji@aelaraji.com You could use https://lyse.isobeef.org/tmp/twthash.py to generate twt hashes. I cobbled that together in order to generate test data for my client.
@bender@twtxt.net Gave it a try on Termux
same thing @doesnm@doesnm.p.psf.lt uses and it worked š
@doesnm@doesnm.p.psf.lt I tried to go install github.com/plomlompom/htwtxt@1.0.7
as well as
# this is snippet from what I used for the Dockerfile but I guess it should work just fine.
cd ~/go/pkg && wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/1.0.7.tar.gz
tar xf htwtxt.tar.gz && cd htwtxt-1.0.7 && go mod init htwtxt && go mod tidy && go install htwtxt
both worked just fineā¦
@bender@twtxt.net highly probably, unless I learn go and implement it myself (or someone else more capable does) ⦠but Iām so lazy Iād just copy them from twtxt.net and call it a day xD and yeah, itās kinda rough the way things areā¦
- I donāt see a way to follow others, all I can do is go to the /feeds URI for a list of the serverās users/feeds.
- I still couldnāt figure out how to get a direct link to a userās twtxt file, curling /feeds/usernick spits out a list of the user usernick twts, so I guess you could use that to follow them.
- no way to add in your
# nick = usernick
/# url = proto://domain.ltd/path/to/twtxt.txt
ā¦etc. Probably because that wasnāt part of the spec back then?
So yeah, it would make for a nice project while learning Go. :P
D Combinatorics
ā Read more
@bender@twtxt.net š Would calling it a Single user Twtxt "Yarn Pod **Like**" software
help you sleep better at night? And just in case things are not clear here, Iām being sarcastic (well, kindaā¦) and not trying to gaslight anyone. Think of my comment as Bromance or something like that LOL.
But seriously, Just like any UNIX-Like system to Unixā¢, as in non of them are UNIXā¢, but each of them is providing more or less similar experience and re-implementing what once was parts of āUNIX⢠softwareā their own (more or less better) ways. Timeline is Yarn⢠Pod like, (my personal take on the word pod is: āan instance of XYZ software acting an escape POD from X-BS for⦠ABC reasons.ā) providing more or less of a similar experience, implementing some of Yarn.social Extensions, trying to add in some more ā¦etc.
Otherwise, I donāt see the Yarn pod
mention as some kind of malicious manoeuvre, but more of a tribute to what (might have) sparked inspiration for creating Timeline? Also, our friend @sorenpeter@darch.dk here has got a valid reason for using PHP (#tms7aka) so letās letās put our unease towards the language itself aside and maybe just help however/as much as we can in order to make internet (the World?) a better place.
but for real, i really want that sword and Iām perfectly content running my daily dev stuff using an rpi. i actually used to do client work on an old rpi laptop kit, i only stopped using that baby because the battery controller let the battery go flat.
@aelaraji@aelaraji.com icons at the top are badly organised while on mobile. About the speed, thatās using a shoddy PHP code, it would be slow even when running in a quantum computer. :ā-D
My bad! My editor was set to use 4 spaces instead of a tab⦠Making twts by hand is hard =P
@eapl.me@eapl.me Yeah, thatās exactly why Iām asking. Iāve been having a couple of errors here and there even though Iām using PHP 8.2 ⦠Mostly somethings about undefined array keys
and creation of dynamic properties being deprecated
(CC: @sorenpeter@darch.dk )
its important to see clearly: the rejection of mastodon for bluesky is not a rejection of the desire to be free of our corporate overlords; its a rejection of white bros controlling digital spaces. sit with that
eugen and his interlocutors have had immense power with which to challenge twitter but their racial and cultural and ideological insularity prevented them from using it https://alaskan.social/@seachanger/113500023546622076
for example, ejabberd, redka, and litefs. all using sqlite+litefs for their database needs allows agents to communicate over xmpp, matrix, mqtt, and sip. other applications can use sqlite for storage or speak the redis protocol to redka. ejabberd can also handle file uploads, static file publishing, identity, and various other web application services. when scaling, litefs integrates with consul to manage replication which grants the network access to service disco, encrypted mesh networking, and various other features that can be used to build secure service grids. ejabberd and redka can be scaled to multiple nodes that coordinate over the litefs replication protocol without any changes to the db storage config. other components can be configured to plug into this framework fairly easily as well. we keep the network config fairly simple by linking nodes together with yggdrasil to flatten the address space and then linking app nodes together using consul to provide secure routing for the local grid service. yggdrasil also offers utility for buliding federated networks in a similarly flat address space, for more secure communications i2p is also available in yggdrasil mode. minibase is wonderful, and we have not even started to talk about secure IoT.
i am working on very smol deployments, where a server may use two or so replicated sqlite databases instead of a db server like postgres to seamlessly move from single to multi-node arrangements as needed. there is a clear performance limit here, but the goal is not to serve a huge number of clients. just to do as much as possible with a small number of useful components that can be upgraded to handle up to medium size workloads, without difficult data conversions or migrations. scaling beyond that point should be done via federation.
Wanted to share that weāre so proud of our six year old son; after taking skating lessons himself, he taught me and my wife how to stop on skates today. He was so proud about that he could teach us something good. Enjoyed also playing table tennis with him in the park, even-though it got windy, we had fun and didnāt give up trying to have a decent game. And at the guided tour at the old hot-metal plant in Duisburg yesterday, he asked the best questions and could be the guideās assistant - holding the flashlight.
@bender@twtxt.net ROFLMAO! š¤£
⦠but using the service itself is considered enough compensation.
š„ ATTENTION: I have really bad news folks š¢
Today, (just this morning in AEST) I accidentally nuke my pod (twtxt.net
). I keep backups, but unfortunately the recovery point objective (RTP) is at worst a month! š¤¦āāļø š± (the recovery time objective is around ~30m or so, restoring can take a while due to the size of the archive and index) ā For those that are unfamiliar with these terms, they essentially relate to āhow much data loss can occurā (RPO) and āhow quickly you can restore the systemā (RTO).
This pod (twtxt.net
) is back up and online. However weāve last the last ~5 days worth of posts yāall may have made on your feeds (for those that use this pod).
Iām so sorry š
Portion of the modified Twitter TOS that goes into effect today (itās on right now), as summarised (ironically) by Googleās Gemini:
āIn simpler terms, this means that when you share your content (like text, images, or videos) on the service, youāre giving the company permission to use it in various ways. They can copy, modify, distribute, and even use it to train their AI models. This includes sharing your content with others and using it on other platforms. You wonāt be paid for this, but using the service itself is considered enough compensation.ā
@prologic@twtxt.net Same here⦠Twtxt and Mastodon are more than enough for me. I used to have a BSky account with my own domain name as a handle (which I ended up deleting after a while) and even taught about running my own PDS and the whole nine yards but, it didnāt feel like it was worth the hassle.
334.90
as 33490,00
. š¬ This is germany, so it wants a comma, not a dot ā¦
@movq@www.uninformativ.de Yeah, the Swiss and C++ programmers use apostrophes. :-) My grandpa had an electronic desk calculator that also used some kind of apostrophes as the thousands separator on its cool display. Maybe it consisted of Nixie tubes, canāt remember anymore.
I think non-breaking spaces are preferred nowadays to avoid the confusion.
Major polluters absent from climate summit + 3 more stories
Scientists warn of the potential collapse of the Atlantic current; major polluters skip UN climate talks amidst climate finance discussions; ADB boosts climate finance to $7.2 billion with US and Japan support; Israel fails to meet US deadline for increased humanitarian aid to Gaza. ā Read more
Oof, is it any wonder some of us donāt want to just give out our info online willy-nilly.
Also that credit card āencryptionā will likely land that company in very hot water, no doubt far away from PCI DSS requirements.
Iāve been testing our new APRS digipeater, that allows us to report our geographic position via radio.
@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?
making my own browser framework that can use something like librewolf as a web renderer and other graphical components and runtimes for other protocols. though I think that means that iāll be retiring tomo-el-fuego in favor of a different runtime architecture. thereās a lot that I like about inferno, but modernizing it enough to actually use anywhere is another story. I doubt this is the end of my infernal experiments, but I can only do so much at a time innit.
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.
i do kinda like htmx, but i might end up going my own way with my own similar library that matches better with my use patterns which are really not compatible with any extra scripting. so less flexible, but possible more powerful in the end.
I wonder how many hamradio operators use twtxt.net
Let it sink in how the richest person on the planet was EXTREMELY directly involved in getting his preferred candidate in the US presidency seat.
Iāve been thinking of a few improvements for the next generation of twtxt spec, let me know if these are useful or interesting :) https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version
Iāve been thinking of a few improvements for the next generation of twtxt spec, let me know if these are useful or interesting :) https://text.eapl.mx/a-few-ideas-for-a-next-twtxt-version
So letās recap⦠Weāve got Putin waging war against Ukraine. Netanyahu waging war against Palestine. Iran getting involved. Kim Jong Un helping Russia and sending soldiers as resources for Putinās war. And now Trump has won a 2nd term in the US where weāll see him scrap EU sanctions and fines against US companies violating EU laws and what else? š¤
What dafuq is wrong with this world?! š
@falsifian@www.falsifian.org Thanks mate! It just occurred to me the other night that my alt
choices are not the best. I should probably fix them.
This also reminds me of a JS snippet my mate wrote for navigation in browsers that donāt support incrementing numbers in the URLs. Iām using Tridactyl in Firefox and can Ctrl+A
/Ctrl+X
myself through albums with properly named files.
Nearly 20,000 displaced in Paris for Olympics + 1 more story
Nearly 20,000 people displaced in Paris as Olympics approach, with eviction rates rising; US voters decide on abortion rights measures in nine states for the 2024 elections. ā Read more
if i had to make an app today, i would probably pick like phoenix, elm, and postgresql. i would want to use sqlite+litefs, but i need more experience with it.
@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.