@falsifian@www.falsifian.org āI donāt really mind if the twt gets edited before I even fetch it.ā, right, thatās never the problem. Editing a twtxt before anyone fetches it isnāt even editing, right? :-P The problem we are trying to fix is the havoc is causes editing twtxts that have already been replied to, often ad nauseam. Thatās the real problem.
Thank you for adding the feature so fast, @prologic@twtxt.net! Look at how beautiful this one renders now. Oh my!
@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.
@bender@twtxt.net LOL normally things (in the vanilla template) render like <time class="dt-published" datetime="2024-09-17T15:05:19+01:00"> 2024-09-17 14:05:19 +0000 UTC+0000 </time>
the datetime=...
atribute is in my local time UTC+1 then the text within the tag is in UTC+0
The thing is, Iāve been poking at the template as well, but nothing changes. I literally whole portionsm added in lorem text just to see if it would do anything, then twtxt2html -T ./layout.html <link to twtxt file> | less
shows same thing as before! nothing changes. LOL Iām not sure Iām going at it the right way.
@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.
(#hash;#originalHash)
would also work.
Maybe Iām being a bit too purist/minimalistic here. As I said before (in one of the 1372739 posts on this topic ā or maybe I didnāt even send that twt, I donāt remember š ), I never really liked hashes to begin with. They arenāt super hard to implement but they are kind of against the beauty of the original twtxt ā because you need special client support for them. Itās not something that you could write manually in your
twtxt.txt
file. With @sorenpeter@darch.dkās proposal, though, that would be possible.
Tangentially related, I was a bit disappointed to learn that the twt subject extension is now never used except with hashes. Manually-written subjects sounded so beautifully ad-hoc and organic as a way to disambiguate replies. Maybe Iāll try it some time just for fun.
@aelaraji@aelaraji.com I just added support for passing a custom template file via -T/--template
in case you need a custom template š
prologic@JamessMacStudio
Wed Sep 18 01:27:29
~/Projects/yarnsocial/twtxt2html
(main) 130
$ ./twtxt2html --help
Usage: twtxt2html [options] FILE|URL
twtxt2html converts a twtxt feed to a static HTML page
-d, --debug enable debug logging
-l, --limit int limit number ot twts (default all) (default -1)
-n, --noreldate do now show twt relative dates
-r, --reverse reverse the order of twts (oldest first)
-T, --template string path to template file
-t, --title string title of generated page (default "Twtxt Feed")
-v, --version display version information
pflag: help requested
@prologic@twtxt.net 𤯠HOLLY! ⦠Iām definitely adding this to my Jennyās publish_command
script!! THANK YOU! Now my website has TWO pages instead of just a boring one š
you can just have a web address.. i added mine.. though i think they have changed up the protocol so my key doesnāt seem to work anymore. https://key.sour.is/id/me@sour.is
Bluesky Adds 2 Million New Users After Brazilās X Ban
In the days following Brazilās shutdown of X, the decentralized social networking startup Bluesky added over 2 million new users, up from just half a million as of Friday. āThis rapid growth led some users to encounter the occasional error that would state there were āNot Enough Resourcesā to handle requests, as Bluesky engineers scrambled to keep the servers stable un ⦠ā Read more
@cuaxolotl@sunshinegardens.org Ah, thanks for reporting back! Okay, so youāre basically manually ācrawlingā feeds right now. š¤ What do you think about the idea of adding something like # follow_notify = gemini://foo/bar
to your feedās metadata, so that clients who follow you can ping that URL every now and then? How would you even notice that, do you regularly read your gemini logs? š¤
mutt
/neomutt
users out here, what's the trick to highlight threads with new messages? No user interaction, just upon opening, or while opened, have threads with new, unread messages in it highlighted. Thanks!
@movq@www.uninformativ.de I think I have got it, but need to test upon receiving further posts. I added:
set uncollapse_new = yes # open threads when new mail
set uncollapse_jump = yes # jump to unread message when uncollapse
set collapse_unread = no # don't collapse threads with unread mails
Letās see how it goes.
@movq@www.uninformativ.de, maybe you can help me with this. I want to place the vim
cursor at the end of the first line on replies, and forks. I have tried adding to this to jenny
ās configuration:
"editor": "vim \"+normal $\"",
But that doesnāt work. How would you go about it?
@movq@www.uninformativ.de, that would be a nice addition. :-) I would also love the ability to hide/not show the hash when reading twtxts (after all, thatās on the header on each āemailā). Could that be added as a user configurable toggle?
@movq@www.uninformativ.de I donāt know if Iād want to discard the twts. I think what Iām looking for is a command ājenny -g https://host.org/twtxt.txtā to fetch just that one feed, even if itās not in my follow list. I could wrap that in a shell script so that when I see a twt in reply to a feed I donāt follow, I can just tap a key and the feed will get added to my maildir. I guess the script would look for a mention at the start of a selected twt and call jenny -g on the feed.
@movq@www.uninformativ.de Is there a good way to get jenny to do a one-off fetch of a feed, for when you want to fill in missing parts of a thread? I just added @slashdot@feeds.twtxt.net to my private follow file just because @prologic@twtxt.net keeps responding to the feed :-P and I want to know what heās commenting on even though I donāt want to see every new slashdot twt.
@prologic@twtxt.net Yeah, Iāve noticed that as well when I hacked around. Thatās a very good addition, ta! :-)
Getting to this view felt suprisingly difficult, though. I always expected my feeds I follow in the āFeedsā tab. You wonāt believe how many times I clicked on āFeedsā yesterday evening. :-D Adding at least a link to my following list on the āFeedsā page would help my learning resistence. But thatās something different.
Also, turns out that āMy Feedsā is the list of feeds that I author myself, not the ones I have subscribed to. The naming is alright, I can see that it makes sense. It just was an initial surprise that came up.
@prologic@twtxt.net Fair enough! I just added some metadata.
@movq@www.uninformativ.de A good slogan for an ad: āWwwwwwwwwwwwwwwwwwww! a hell of a bang for your buck!ā š
@prologic@twtxt.net The old options are still valid, so āShow latest post per feedā should just be added as a 3th.
Radio advertisements slapping away sustained thought on the coffeeshop stereo. Iād like a real-life ad blocker.
@bender@twtxt.net Yeah Iāve been having this problem for quite sometime now. It boils down to Vi/Vim/NeoVim inserting those line breaks automatically when editing an .eml file (if I can remember the file extension correctly) ⦠I think Jenny makes use of those. I had to delete them manually until I was told that the problem was fixed after I added the charset utf-8; to my nginx config file. Iāll try and fix this nextā¦
# follow = dbucklin@www.davebucklin.com https://www.davebucklin.com/twtxt.txt?nick=dbucklin
I fixed it by adding (?<!\S)
to the regex filter. But what is going on with the ?nick=dbucklin
anyhow?
The wording can be more subtle like āThis feed have not seen much activity within the last yearā and maybe adding a UI like I did in timeline showing time ago for all feeds
I agree that it good to clean up the Mastodon re-feeds, but it should also be okay for anyone to spin up a twtxt.txt just for syndicating they stuff from blog or what ever.
The ānot receiving repliesā could partly be fixed by implementing a working webmentions for twtxt.txt
@prologic@twtxt.net Thank
you! and hereās a twt with the said random characters, since Iāve been
cleaning them up manually, earlier before scp-ing my twtxt.txt file. And
maybe a screenshot of how things look in my editor?
Those new lines are added automatically as I type (except for the ones
after the screenshot.
Anyone else look at YT and see ad where a scumbag comes out of the toiet and sprays frebreze all over his repulsive home
And now added #filter for replies too:
Added support for #tag clouds and #search to timeline. Based on code from @dfaria.eu@dfaria.euš
Live at: http://darch.dk/timeline/?profile=https://darch.dk/twtxt.txt
@lyse@lyse.isobeef.org its a hierarchy key value format. I designed it for the network peering tools i use.. I can grant access to different parts of the tree to other users.. kinda like directory permissions. a basic example of the format is:
@namespace
# multi
# line
# comment
root :value
# example space comment
@namespace.name space-tag
# attribute comments
attribute attr-tag :value for attribute
# attribute with multiple
# lines of values
foo :bar
:bin
:baz
repeated :value1
repeated :value2
each @
starts the definition of a namespace kinda like [name]
in ini format. It can have comments that show up before. then each attribute is key :value
and can have their own #
comment lines.
Values can be multi line.. and also repeated..
the namespaces and values can also have little meta data tags added to them.
the service can define webhooks/mqtt topics to be notified when the configs are updated. That way it can deploy the changes out when they are updated.
@lyse@lyse.isobeef.org i made my own :D
I do prefer toml for the old school ini style with added support for object lists.
my second would be hjson or any other json with comments style.
Twtxt spec enhancement proposal thread š§µ
Adding attributes to individual twts similar to adding feed attributes in the heading comments.
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
The basic use case would be for multilingual feeds where there is a default language and some twts will be written a different language.
As seen in the wild: https://eapl.mx/twtxt.txt
The attributes are formatted as [key=value]
They can show up in the twt anywhere it is not enclosed by another element such as codeblock
or part of a markdown link.
Google Chrome Gains AI Features Including a Writing Helper
Google is adding new AI features to Chrome, including tools to organize browser tabs, customize themes, and assist users with writing online content such as reviews and forum posts.
The writing helper is similar to an AI-powered feature already offered in Googleās experimental search experience, SGE, which helps users draft emails in various tones and lengths. W ⦠ā Read more
Feels like my days of browsing YouTube for content are numbered. Itās only a matter of time before YouTube refuses to load for any browser with an ad blocker.
Bug Thread
ā Read more
Iāve added myself to the registries at registry.twtxt.org and twtxt.tilde.institute. I wonder if thereās a list of registries. #meta
Lo que aprendĆ mientras estaba en burn out. (Contado por un Software Engineer)
https://medium.com/@erikalmaraz_/lo-que-aprend%C3%AD-mientras-estaba-en-burn-out-contado-por-un-software-engineer-78b2eb4deda5
Typical Seating Chart
ā Read more
I have added a webmention endpoint to https://darch.dk using https://webmention.io - let see if it work from neotxt.dk to @sorenpeter@darch.dk
youtube ads, back button and forwards quickly seems to help (use keyboard shortcuts)
@lyse@lyse.isobeef.org Iām also on the e-mail wagon here. On http://darch.dk/timeline/conv/oe3howa I have added a āComment via emailā botten if uses are not logged in. This feature could be extend to other places in the various UIs. Like we already got the āDoes not follow yourā / āFollow youā on the profile page in yarnd, so this detection could be used to sugget the user to email that person, when mentioning them.
@prologic@twtxt.net Any of these work? https://gadgetstouse.com/blog/2023/05/15/bypass-ad-blockers-not-allowed-on-youtube/
So Youtube rea really cracking down on Ad-blockers. The new popup is a warning saying you can watch 3 videos before you can watch no more. Not sure for how long. I guess my options are a) wait for the ad-blockers to catch-up b) pay for Youtube c) Stop using Youtube.
I think Iām going with c) Stop using Youtube.
@prologic@twtxt.net Iāve even added the twthash message hash to my Twtxt bash CLI script so I can properly answer here.
@lyse@lyse.isobeef.org I wish more standardization around distributed issues and PRs within the repo ala git-bug was around for this. I see it has added some bridge tooling now.
This is some cool development for the go 1.22 standard http mux. Its adding the ability to have path vars and define methods for handlers. Also the errors are quite helpful if you have conflicting paths!
https://eli.thegreenplace.net/2023/better-http-server-routing-in-go-122/
@prologic@twtxt.net I have seen these screen shots. But have not yet seen them in actuality. I use ublockOrigin. Maybe it gets these too unlike adblock.
For android I have revanced.. The only place I get ads is on TV. I havenāt found a replacement there.
Oh okay, so Youtube is cracking down on āAd Blockersā.
Rightio. š¤ And paying for Youtube Premium costs $14/month?! 𤯠Get fucked 𤣠I guess I wonāt be using Youtube anymore. #Youtube #Ads #Premium #SuckUgh, ffsāthe datasette project just added #ChatGPT garbage. Another seemingly nice piece of software and project that I need to stop using.
I guess I can be thankful they self-identify.
@prologic@twtxt.net @jmjl@tilde.green
It looks like thereās a podman
issue for adding the context
subcommand that docker
has. Currently podman
does not have this subcommand, although this comment has a translation to podman
commands that are similar-ish.
It looks like thatās all you need to do to support podman
right now! Though Iām not 100% sure the containers I tried really are running remotely. Details below.
I manually edited the shell script that cas.run add
returns, changing all the docker
commands to podman
commands. Specifically, I put alias docker=podman
at the top so the check for docker
would pass, and then I replaced the last two lines of the script with these:
podman system connection add cas "host=tcp://cas.run..."
podman system connection default cas
(that ⦠after cas.run
is a bunch of connection-specific stuff)
I ran the script and it exited with no output. It did create a connection named ācasā, and made that the default. Iām not super steeped in how podman
works but I believe thatās what you need to do to get podman
to run containers remotely.
I ran some containers using podman
and I think they are running remotely but I donāt know the right juju to verify. It looks right though!
This means you could probably make minor modifications to the generated shell script to support podman
. Maybe when the check for docker
fails, check for podman
, and then later in the script use the podman
equivalents to the docker context
commands.
@prologic@twtxt.net aha, thank you, that got me unjammed.
Turns out I thought I had an SSH key set up in github, but github didnāt agree with me. So, I re-added the key.
I also had to modify the command slightly to:
ssh -p 2222 -i PRIVATE_GITHUB_KEY GITHUB_USERNAME@cas.run help
since I generate app-specific keypairs and need to specify that for ssh
and I havenāt configured it to magically choose the key so I have to specify it in the command line.
Anyhow, that did it. Thanks!