Web page readability on the CLI https://xnāgckvb8fzb.com/reader-web-page-readability-on-the-cli/
Chromium Ozone/Wayland: the last mile stretch
Lets start with some context, the project consists of implementing, shipping and maintaining native Wayland support in the Chromium project. Our team at Igalia has been leading the effort since it was first merged upstream back in 2016. For more historical context, there are a few blog posts and this amazing talk, by my colleagues Antonio Gomes and Max Ihlenfeldt, presented at last yearās Web Engines Hackfest. Especially due to the Lacros pr ⦠ā Read more
On my hit list of assholes tech giants that break the rules and are bad web citizens:
Microsoft
Google
Alibaba
Open AI
more to comeā¦
Yesterday I was doing a lot of research on how #hyperdrive and the #holepunch project work. Would it be possible to use it to make #twtxt an easier gateway for new users? Could we stop using web servers?
My conclusion: We would end up being a #nostr. On the one hand it would become more complex to use, it would force the user to have software installed, and on the other hand the community would need a central proxy to make the routes accessible via HTTP. In other words, itās not a good idea.
However, itās an AMAZING technology. I want to start playing with it.
It would appear that Googleās web crawlers are ignoring the robots.txt that I have on https://git.mills.io/robots.txt with content:
User-agent: *
Disallow: /
Evidence attached (see screenshots):
ā I think its the the Small Web community band together and file a class action suit(s) against Microsoft.com Google.com and any other assholes out there (OpenAI?) that violate our rights and ignore requests to be āpoliteā on the web. Thoughts? š
Je crois avoir trouvƩ exactement ce que je cherchais pour archiver des pages web : https://archivebox.io
Je recherche un outil qui me permettrait dāobtenir des snapshots de page web, un peu comme le fait archive.org. Jāai le sentiment et lāenvie dāarchiver pour la postĆ©ritĆ©, avant la disparition inopinĆ©e de ressources de valeur. Vous auriez des conseils? script avec #curl? Truc en #auto-hĆ©bergement?
@sorenpeter@darch.dk It depends on your requirements. If you just want to put your code somewhere for yourself, simply push it over SSH on a server and call it good. Thatās what I do with lots of repos. If you want an additional web UI for read access for the public, cgit comes to mind (a mate uses that). Prologic runs Gitea, which offers heaps more functionality like merge requests.
Hey, I like this simple Web game:
https://wordswithrobots.isotropic.us
2 players Codenames vs (or along) gpt-4o-mini
⦠Still reverse proxying an Nginx web server tho š
Skill Issues of course, but thatās going away next as soon as I get my php-fpm shi_ together.
Okay, so the idea of the evening is to get a wallpaper with the current sky above my head with constellations, like https://stellarium-web.org/ can show⦠Need to script I guess ^^
What is clean architecture? Thatās a good question.
You think of a pattern for ordering code with good decisions isolating technologies (you can change the web framework or database without break the business logic), easy to test (you only test interfaces and use cases), sharing code between frameworks (entities and use cases), scalability, modulations and standardizing names. Clean architecture is not perfect, it has a learning curve and some abstraction in each technology. You can even find rejection with yours colleagues.
I have a good article on this topic.
https://programadorwebvalencia.com/implementando-arquitectura-limpia-en-python/
#python
@prologic@twtxt.net I know! I know! 𤣠and it feels like I wonāt be either, at least for a while ⦠On the bright #Go side, Iām trying to switch everything (static web stuff and reverse-proxy) to #Caddy
Google begins requiring JavaScript for Google Search
Google says it has begun requiring users to turn on JavaScript, the widely used programming language to make web pages interactive, in order to use Google Search. In an email to TechCrunch, a company spokesperson claimed that the change is intended to ābetter protectā Google Search against malicious activity, such as bots and spam, and to improve the overall Google Search experience for users. The spokesperson noted that, with ⦠ā Read more
Google Begins Requiring JavaScript For Google Search
Google says it has begun requiring users to turn on JavaScript, the widely-used programming language to make web pages interactive, in order to use Google Search. From a report: In an email to TechCrunch, a company spokesperson claimed that the change is intended to ābetter protectā Google Search against malicious activity, such as bots and spam, and to improve the over ⦠ā Read more
i missed web design but i did not miss coding
Iāve been using nile, my alternative WM for #plan9, for over a decade now. I just made some additional improvements and finally gave it a web page: http://a.9srv.net/src/nile/
Finally my (web/txt)mention sender ready. Receiver iām borrow from sorenpeterās timeline
@prologic@twtxt.net ah thatās good lol! i once pulled from main for a huge web app that i deployed and it haunts me because it will make upgrading so much harder lol
"twtxtfeevalidator/0.0.1" UA about? I thought I could ask before throwing a 1000GB file at it šŖ¤ could it be the same 'xt' thing @lyse was talking about the other day?
@aelaraji@aelaraji.com Thank you very much, glad you like it. :-) I always try to make web pages use as much semantic tags as possible and keep the HTML very simple, so that they also have a chance to look decent in terminal browsers. The logo took me a few hours to draw in all its three sizes.
GUYS HELP I LOCKED MYSELF OUT OF MY ACCOUNT ON WEB AND I COULDNāT GET EMAILS WORKING IāM STUCK POSTING FROM CLI LOLLLL
"twtxtfeevalidator/0.0.1" UA about? I thought I could ask before throwing a 1000GB file at it šŖ¤ could it be the same 'xt' thing @lyse was talking about the other day?
@aelaraji@aelaraji.com Ta! Itās just the millenia old tabs vs. spaces debate. ;-) Hereās a screenshot, that also kinda serves as a preview of the ugly ā yet functional ā web interface:

@andros@twtxt.andros.dev Sorry I missed your messages to #twtxt on IRC. There are people there, but it can take several hours to get a response. E.g. I check it every day or two. I recommend using an IRC bouncer. To answer your question about registries, I used a couple of registries when I first started out, to try to find feeds to follow, but havenāt since then. I donāt remember which ones, but they were easy to find with web searches.
Having a lot of fun with Coraza today. A Web Application Firewall library written in Go that also happens to have a Caddy module.
i recorded my first camcorder video!!!! itās just me practicing guitar after sooo long of not playing it. my acoustic, to be specific (well, itās an electric acoustic thing but i can play it without plugging it in lol, i do have a stratocaster though). itās capped at ~30 minutes because i used one mini DVD for it and decided i wasnāt gonna use another one to extend the run time. so yeah. it was super fun! i hope i can share it soon, iām ripping the disc with make MKV right now, then iāll re-encode to a web friendly format, and upload to my site and hope that works well
@prologic@twtxt.net totally understandable! i used the web app from my phone and it worked perfectly š«¶ i canāt imagine the headaches that maintaining apps bringsā¦
fair lol! i should give the web app a try, i donāt think iāll get much use out of it from my phone anyway because i suck at typing on a phone but i might as well log in!
@emmanuel@wald.ovh Btw I already figured out why accessing your web server is slow:
$ host wald.ovh
wald.ovh has address 86.243.228.45
wald.ovh has address 90.19.202.229
wald.ovh has 2 IPv4 addresses, one of which is dead and doesnāt respond.. Thatās why accessing your website is so slow as depending on client and browser behaviors one of two things may happen 1) a random IP is chosen and ½ the time the wrong one is picked or 2) both are tried in some random order and ½ the time its slow because the broken one is picked.
If you donāt know what 86.243.228.45 is, or itās a dead backup server or something, Iād suggest you remove this from the domain record.
T E X T F I L E S http://web.textfiles.com/ezines/ANTIDOTE/
One benefit with bluesky is your username is also a website. And not a clunky URL with slashes and such. I wish twtxt adopted that. I have advocated for webfinger to for twtxt to let us do something like it with usernames. Nostr has something like it
By default the bsky.social urls all redirect to their feeds like: hmpxvt.bsky.social
Many custom urls will redirect to some kind of linktree or just their feed cwebonline.com or la.bonne.petite.sour.is or if you are a major outlet just to your web presence like https://theonion.com⬠or https://netflix.com
Its just good SEO practice
Do all nostr addresses take you to the person if typed into a browser? That is the secret sauce.
No having to go to some random page first. no accounts. no apps to install. just direct to the person.
The web server in Calibre is pretty cool. Love how the UI was designed and made. Feels intuitive, yet powerful. Now i do need to organise the book collection a bit better.
@prologic@twtxt.net sure! I donāt know if this is what you need but, let me give it a try.
- I have Timeline installed, which has an endpoint to process #webmentions. Mine for example is
https://aelaraji.com/timeline/webmentionwhich you can find by queryinghttps://aelaraji.com/.well-known/webfinger.
- If you mention someone from #Timeline itself, it takes care of querying that and sending in the mention for you.
- Otherwise (what I personally do) you could just:
curl -i -d 'source=https://twtxt.net/user/prologic/twtxt.txt#:~:text=2024-12-09T01:22:37Z' -d 'target=https://aelaraji.com/twtxt.txt' https://aelaraji.com/timeline/webmention
basically what @sorenpeter@darch.dk mentioned in his article Here.
Afterwards, the mentions are stored in their own mentions.txt feed. The one from the example above looks like this on my Timeline :

Feel free to spam my endpoint if youād like to give things a try. š
[P.S: personally, I donāt seem to get the mentions if I add the Text fragment part to my target]
I was thinking of ātw.txtā to avoid a double T issue⦠Anyway Iād say the extension and MIME type are important to know what a file (could) contain
https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types
Reading the original spec, I understand why it should be a .txt file instead of, letās say twtxt or anything else. In any case it could be nick.twtxt to support multiple users in the same directory.
What is curious to me was the decision at that moment of twtxt [dot] txt. You have the text part twice š¤. Like mydb.db or eapl_todo.todo. Nothing really transcendental, just thinking out loud.
https://twtxt.readthedocs.io/en/latest/user/configuration.html
You can select some text from a web page and right/command click and select print⦠and select To PDF to quickly save snippets for save-keeping or further reading.
Getting my knowledge refreshed on web accessibility through a course on deque university.
@bender@twtxt.net Well, so far, Iām using the standard web client. Havenāt found a great client yet. 𫤠Mastodon/Fediverse is also very different from twtxt, there are way more images/videos that Iād like to see ā a TUI client like toot wouldnāt work for me.
Dunno, maybe Iāll make some changes in this area after christmas. Try self-hosting again or something like that ā¦
Tearing down my web server and starting all over ⦠thatās just way too many 502s itās been throwing in the last couple of days.
Behold ⦠āMarginaliaā ! My new favorite search engine!! And I have @mattof to thank for this find. Hereās their Blog post about it since I donāt think I could do a better job describing what it is. but, tl;dr: itās a #smallweb focused search engine.
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.
@prologic@twtxt.net yes, web content indeed is/has become. I will say a little bit of both. Trying my best not to lose faith in humanity. :ā-/
Always has been. Web spec is too hard to implement your own web browser from scratch (nothing can, even Google and Apple, they forked KHTML). So if we not count forks we have only three browsers: Google Chrome, Mozilla Firefox and Apple Safari
The web is such garbage these days š Or is it the garbage search engines? š¤
Thank you, @eapl.me@eapl.me! No need to apologize in the introduction, all good. :-)
Section 3: Iām a bit on the fence regarding documenting the HTTP caching headers. Itās a very general HTTP thing, so there is nothing special about them for twtxt. No need for the Twtxt Specification to actually redo it. But on the other hand, a short hint could certainly help client developers and feed authors. Maybe itās thanks to my distroās Ngninx maintainer, but I did not configure anything for the Last-Modified and ETag headers to be included in the response, the web server just already did it automatically.
The more that I think about it while typing this reply, the more I think your recommendation suggestion is actually really great. It will definitely beneficial for client developers. In almost all client implementation cases Iād say one has to actually do something specifically in the code to send the If-Modified-Since and/or If-None-Match request headers. There is no magic that will do it automatically, as one has to combine data from the last response with the new request.
But I also came across feeds that serve zero response headers that make caching possible at all. So, an explicit recommendation enables feed authors to check their server setups. Yeah, letās absolutely do this! :-)
Regarding section 4 about feed discovery: Yeah, non-HTTP transport protocols are an issue as they do not have User-Agent headers. How exactly do you envision the discovery_url to work, though? I wouldnāt limit the transports to HTTP(S) in the Twtxt Specification, though. Itās up to the client to decide which protocols it wants to support.
Since I currently rely on buckketās twtxt client to fetch the feeds, I can only follow http(s):// (and file://) feeds. But in tt2 I will certainly add some gopher:// and gemini:// at some point in time.
Some time ago, @movq@www.uninformativ.de found out that some Gopher/Gemini users prefer to just get an e-mail from people following them: https://twtxt.net/twt/dikni6q So, it might not even be something to be solved as there is no problem in the first place.
Section 5 on protocol support: Youāre right, announcing the different transports in the url metadata would certainly help. :-)
Section 7 on emojis: Your idea of TUI/CLI avatars is really intriguing I have to say. Maybe I will pick this up in tt2 some day. :-)
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.
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.
@Codebuzz@www.codebuzz.nl you replied to me, but the reply was just an @, nothing else (the whole handle was missing).
There are no web mentions here, and no notifications. It isnāt Mastodon; if you want to see if someone wrote something new, or replied to you, you need to open your client.
@Codebuzz@www.codebuzz.nl I use Jenny to add to a local copy of my twtxt.txt file, and then manually push it to my web servers. I prefer timestamps to end with āZā rather than ā+00:00ā so I modified Jenny to use that format. I mostly follow conversations using Jenny, but sometimes I check twtxt.net, which could catch twts I missed.
Huh. I had long forgotten about text fragment URLs. Seems relevant for linking to discussions around linking to individual twtxt posts. https://alfy.blog/2024/10/19/linking-directly-to-web-page-content.html
Thereās this rumor that you can create a WhatsApp account with a burner phone, then link the phone to a browser on your desktop PC (web.whatsapp.com) and never have to use the phone again. This just doesnāt work. Every ~2 weeks, the session in the browser will time out and you have to re-link again. š
Web interface is deleted in https://git.mills.io/saltyim/saltyim/commit/376de2702319686c902ec03b8ca1e17b020fc639 but seems incorrectly (in source i see git lfs metadata). Can be builded if you grab https://git.mills.io/saltyim/saltyim/src/commit/15a64de82829/internal/web/app.wasm and place it in source (go directory has cached source) and rebuild