@aelaraji@aelaraji.com Woah! Overkill, but nicely laid out. Hey, the ultimate goal is for it to work, so, mission accomplished! :-)
Woot, yes! It works perfectly. By the time you see my twtxt, it is already at the main Ferengi.one website.
publish_command to vomit the HTML into a file, using twtxt2html.
Hmm, this didnât work, because I made a mistake. Now I have corrected it, letâs see how it goes now.
@movq@www.uninformativ.de I figured it will be something like this, yet, you were able to reply just fine, and I wasnât. Looking at your twtxt.txt I see this line:
2024-09-16T17:37:14+00:00 (#o6dsrga) @<prologic https://twtxt.net/user/prologic/twtxt.txt>
@<quark https://ferengi.one/twtxt.txt> This is what I get. đ¤
Which is using the right hash. Mine, on the other hand, when I replied to the original, old style message (Message-Id: <o6dsrga>), looks like this:
2024-09-16T16:42:27+00:00 (#o) @<prologic https://twtxt.net/user/prologic/twtxt.txt> this was your first twtxt. Cool! :-P
What did you do to make yours work? I simply went to the oldest @prologic@twtxt.netâs entry on my Maildir, and replied to it (jenny set the reply-to hash to #o, even though the Message-Id is o6dsrga). Since jenny canât fetch archived twtxts, how could I go to re-fetch everything? And, most importantly, would re-fetching fix the Message-Id:?
More:
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)' 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' 2. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)' I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Subject: The [tag URI scheme](https://en.wikipedia.org/wiki/Tag_URI_scheme) looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be
somewhat trivial to parse. But there are still the issue with what the name/id should be... Maybe it doesn't have to bee that stick? Instead of using `tag:` as the prefix/protocol, it would more it clear
what we are talking about by using `in-reply-to:` (https://indieweb.org/in-reply-to) or `replyto:` similar to `mailto:` 1. `(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)` 2.
`(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` 3. `(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)` I know it's longer that 7-11 characters, but it's self-explaining when looking at the
twtxt.txt in the raw, and the cases above can all be caught with this regex: `\([\w-]*reply[\w-]*\:` Is this something that would work?
Notice the difference? Soren edited, and broke everything.
@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:)
The tag URI scheme looks interesting. I like that it human read- and writable. And since we already got the timestamp in the twtxt.txt it would be somewhat trivial to parse. But there are still the issue with what the name/id should be⌠Maybe it doesnât have to bee that stick?
Instead of using tag: as the prefix/protocol, it would more it clear what we are talking about by using in-reply-to: (https://indieweb.org/in-reply-to) or replyto: similar to mailto:
(reply:sorenpeter@darch.dk,2024-09-15T12:06:27Z)
(in-reply-to:darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
(replyto:http://darch.dk/twtxt.txt,2024-09-15T12:06:27Z)
I know itâs longer that 7-11 characters, but itâs self-explaining when looking at the twtxt.txt in the raw, and the cases above can all be caught with this regex: \([\w-]*reply[\w-]*\:
Is this something that would work?
@prologic@twtxt.net earlier you suggested extending hashes to 11 characters, but hereâs an argument that they should be even longer than that.
Imagine I found this twt one day at https://example.com/twtxt.txt :
2024-09-14T22:00Z Useful backup command: rsync -a â$HOMEâ /mnt/backup
and I responded with â(#5dgoirqemeq) Thanks for the tip!â. Then Iâve endorsed the twt, but it could latter get changed to
2024-09-14T22:00Z Useful backup command: rm -rf /some_important_directory
which also has an 11-character base32 hash of 5dgoirqemeq. (Iâm using the existing hashing method with https://example.com/twtxt.txt as the feed url, but Iâm taking 11 characters instead of 7 from the end of the base32 encoding.)
Thatâs what I meant by âspoofingâ in an earlier twt.
I donât know if preventing this sort of attack should be a goal, but if it is, the number of bits in the hash should be at least two times log2(number of attempts we want to defend against), where the âtwo timesâ is because of the birthday paradox.
Side note: current hashes always end with âaâ or âqâ, which is a bit wasteful. Maybe we should take the first N characters of the base32 encoding instead of the last N.
Code I used for the above example: https://fossil.falsifian.org/misc/file?name=src/twt_collision/find_collision.c
I only needed to compute 43394987 hashes to find it.
HTTPS is supposed to do [verification] anyway.
TLS provides verification that nobody is tampering with or snooping on your connection to a server. It doesnât, for example, verify that a file downloaded from server A is from the same entity as the one from server B.
I was confused by this response for a while, but now I think I understand what youâre getting at. You are pointing out that with signed feeds, I can verify the authenticity of a feed without accessing the original server, whereas with HTTPS I canât verify a feed unless I download it myself from the origin server. Is that right?
I.e. if the HTTPS origin server is online and I donât mind taking the time and bandwidth to contact it, then perhaps signed feeds offer no advantage, but if the origin server might not be online, or I want to download a big archive of lots of feeds at once without contacting each server individually, then I need signed feeds.
feed locations [being] URLs gives some flexibility
It does give flexibility, but perhaps we should have made them URIs instead for even more flexibility. Then, you could use a tag URI,
urn:uuid:*, or a regular old URL if you wanted to. The spec seems to indicate that theurltag should be a working URL that clients can use to find a copy of the feed, optionally at multiple locations. Iâm not very familiar with IP{F,N}S but if it ensures you own an identifier forever and that identifier points to a current copy of your feed, it could be a great way to fix it on an individual basis without breaking any specs :)
Iâm also not very familiar with IPFS or IPNS.
I havenât been following the other twts about signatures carefully. I just hope whatever you smart people come up with will be backwards-compatible so it still works if Iâm too lazy to change how I publish my feed :-)
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
Understanding cloud native maturity: a survey to assess end-user progress
Community post by Danielle Cook, Cartografos Working Group As organizations continue their journey toward digital transformation, cloud native technologies are increasingly critical for achieving agility, scalability, and resilience. However, the path to cloud native maturity is not uniform⌠â Read more
I was not suggesting to that everyone need to setup a working webfinger endpoint, but that we take the format of nick+(sub)domain as base for generating the hashed together with the message date and content.
If we omit the protocol prefix from the way we do things now will that not solve most of the problems? In the case of gemini://gemini.ctrl-c.club/~nristen/twtxt.txt they also have a working twtxt.txt at https://ctrl-c.club/~nristen/twtxt.txt ⌠damn I just notice the gemini. subdomain.
Okay what about defining a prefers protocol as part of the hash schema? so 1: https , 2: http 3: gemini 4: gopher ?
Kubestronaut in Orbit: Daiki Takasao
Get to know Daiki This weekâs Kubestronaut in Orbit, Daiki Takasao, is a Japanese IT infrastructure engineer at NRI. He works with CNCF technologies to build financial IT systems and has been using Kubernetes, Linkerd, and Prometheus since⌠â Read more
@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).
@movq@www.uninformativ.de @prologic@twtxt.net Another option would be: when you edit a twt, prefix the new one with (#[old hash]) and some indication that itâs an edited version of the original tweet with that hash. E.g. if the hash used to be abcd123, the new version should start â(#abcd123) (redit)â.
What I like about this is that clients that donât know this convention will still stick it in the same thread. And I feel itâs in the spirit of the old pre-hash (subject) convention, though thatâs before my time.
I guess it may not work when the edited twt itself is a reply, and there are replies to it. Maybe that could be solved by letting twts have more than one (subject) prefix.
But the great thing about the current system is that nobody can spoof message IDs.
I donât think twtxt hashes are long enough to prevent spoofing.
@lyse@lyse.isobeef.org 31°C here, feels like 33°C, with a lovely 75% of humidity. It has been raining, on and off (to make matter âbetterâ) the whole day until now. No horses here, but if you go outside you will smell the same smell of farm animals (like goats, or pigs). Thatâs because two or three kilometres from here there are private farms, and when the wind blows in such way, well, we are reminded of their existence.
I havenât left the house, so it feels well under air conditioning. In two more hours I will call it quits from the work day, and will have to dash to the grocery to get supplies for tonightâs meal (arroz con gandules). I will let you know how it truly feels out there then. :-D
For those swollen fingers, nothing better than a mildly cold shower! Oh, and paws off the keyboard! :-P
@movq@www.uninformativ.de good idea, considering it might occasionally not work at all (because of edited twtxts).
@prologic@twtxt.net I believe you when you say registries as designed today do not crawl. But when I first read the spec, it conjured in my mind a search engine. Now I donât know how things work out in practice, but just based on reading, I donât see why it canât be an API for a crawling search engine. (In fact I donât see anything in the spec indicating registry servers shouldnât crawl.)
(I also noticed that https://twtxt.readthedocs.io/en/latest/user/registry.html recommends âThe registries should sync each others user list by using the users endpointâ. If I understood that right, registering with one should be enough to appear on others, even if they donât crawl.)
Does yarnd provide an API for finding twts? Is it similar?
@movq@www.uninformativ.de Thanks, it works!
But when I tried it out on a twt from @prologic@twtxt.net, I discovered jenny and yarn.social seem to disagree about the hash of this twt: https://twtxt.net/twt/st3wsda . jenny assigned it a hash of 6mdqxrq but the URL and prologicâs reply suggest yarn.social thinks the hash is st3wsda. (And as a result, jenny âfetch-context didnât work on prologicâs twt.)
Last week at The Lunduke Journal (Aug 25 - Aug 31, 2024)
Telegram CEO arrested! Zuck grows a conscience! Pop!_OS wonât work with Linux! â Read more
Instead of doing another Freeletics workout this week, I took advantage of the great weather outside and challenged myself with some uphill biking. It definitely pushed me to my limits, but it was worth it! And it worked, even though my bike only has eight internal gears. â Read more
Instead of doing another Freeletics workout this week, I took advantage of the great weather outside and challenged myself with some uphill biking. It definitely pushed me to my limits, but it was worth it! And it worked, even though my bike only has eight internal gears. â Read more
@falsifian@www.falsifian.org have you tried jennyâs fetch-context branch? It works great!
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!
@bender@twtxt.net yup, this works well. I needed those extra settings.
Kubestronaut in Orbit: Fangel ColĂłn
Get to know Fangel This weekâs Kubestronaut in Orbit, Fangel Emilio ColĂłn Navarro, lives in the Dominican Republic and is an SRE at Banco BHD. Heâs been working with CNCF technologies since 2020. If youâd like to be⌠â Read more
@lyse@lyse.isobeef.org Interesting. The yarnd --help currently says (for me):
-R, --open-registrations whether or not to have open user registgration
meaning it doesnât give the default setting or warn you that you need to use -R=false and not -R false. It also leaves unclear whether --open-registrations false would work or if you need to do --open-registrations=false. Itâs also unclear whether the setting change in the user interface is overridden by the command line arguments, overrides the command line arguments, is persisted across restarts.
Maybe all this is worth posting an issue for additional documentation on the git repo if there isnât one already.
âregistgrationâ is misspelled that way in the help by the way.
Building a translation agent on LlamaEdge
Member post originally published on Second Stateâs blog Prof. Andrew Ngâs agentic translation is a great demonstration on how to coordinate multiple LLM âagentsâ to work on a single task. It allows multiple smaller LLMs (like Llama-3 or Gemma-2) to⌠â Read more
@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?
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
@prologic@twtxt.net sounds fair. Letâs see how it works for @abucci@anthony.buc.ci. Speedy fix, thatâs awesome! :-)
@bender@twtxt.net and I saw some conspiracy theory that he knew he was going to be arrested. He was working with French intelligence on a plea deal to defect. And now Russia is freaking out that Ukraine allies can have war comms access.
Yikes! If only they had salty.im!
User error on this one. It works perfectly!
@movq@www.uninformativ.de, using the branch on topic right now, it works perfect. The only thing I found was that I had to quit neomutt, and re-open, to see the perfect thread. Other than that, I love it!
(@anth@a.9srv.netâs feed almost never works, but I keep it because they told me they want to fix their server some time.)
Inside the numbers: the KubeCon + CloudNativeCon selection process for North America 2024
As part of our commitment to transparency within the cloud native community, we are providing an inside look into the work that goes on behind the scenes to bring the KubeCon + CloudNativeCon schedule to life. Note that⌠â Read more
from my understanding.. i donât know how the multiplexing works when its being proxied through another server. I know go has support for it if you call it out directly. https://pkg.go.dev/golang.org/x/net/http2
Using an iPad Pro to Create 1-Bit Pixel Art in a Macintosh Emulator
An ex-Apple employee put together a rather incredible way to create 1-bit pixel art on a modern iPad Pro with an Apple Pencil by using a Macintosh emulator, and the results are very impressive! This super creative approach is the work of Matt Sephton (the same guy who re-made the nifty Stapler app!), who used ⌠[Read More](https://osxdaily.com/2024/08/16/using-an-ipad-pro-to-create-1-bit-pixel-art-i ⌠â Read more
It is good to be off work and have time to spend on my personal projects.
Go-between appointed to help Queensland farmers negotiate supermarket prices
Vegetable grower Carl Walker says farmers are worried the new commissionerâs powers wonât go far enough. He says farmers just want a âfair price for a fair dayâs workâ. â 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
After work bike tour
I admit it, I should rename the subtitle of my blog from âThoughts of an IT expertâ to âMy bike tour logâ. Even though it was 29° C outside today, I wanted to do another bike tour after work. 42 km through the surrounding area of my hometown. I discovered new places and noticed that it actually feels colder next to trees. It was much fun! â Read more
** 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
Why I am using an Android phone instead of a Wahoo
In my last bike trip report, I mentioned that I would review the Wahoo bike computer I ordered once I had a chance to try it out. Well, as it turns out, I sent the Wahoo back and found a solution that works better for me. â Read more
** I wrote some APL at work and I like historical fiction **
This summer my oldest kidâââ8 years oldâââasked to learn more about programming. Theyâve already got about a full time jobâs worth of experience with Minecraftâs red stone, Super Mario Maker 2, Logo, and Scratch so I knew we werenât starting from nil, but, despite having done a bit of teaching about programming with kids in the past, I hemmed and hawed. After hemming and hawing for a bit, though, I realized that I was hemming and hawing abou ⌠â Read more
How to Play Among Us on Mac
Among Us is a very popular multiplayer game where you work together with other players to identify imposters among them, before the imposter can sabotage them. You might know Among Us as being for iPhone and iPad, but you can play it on your Mac as well, whether thatâs a MacBook Pro, MacBook Air, Mac ⌠Read More â Read more
Today, after the daily standup (without standup though), I went to pick up my girlfriendâs exam paper. But instead of using car sharing or the bus, I decided to go there by bike. This time with my older city bike. Faster than the bus, cheaper than car sharing. And it was a nice break from work. Hurray for flextime and working from home, which makes this possible for me! â Read more
I would like to work on my Mastodon and TWTXT script to improve it.
How to Recover an Unsaved PowerPoint on Mac
As you might know already, using the latest versions of PowerPoint on Mac offers two handy features that are aimed to prevent data loss; autosaving, and autorecovery. Autosaving does just what it sounds like, and it will automatically save a file that youâre working on even if you donât manually save it yourself. The next ⌠Read More â Read more
Base: 8.00 miles, 00:09:43 average pace, 01:17:41 duration
i almost did not run this. my legs felt a bit work out and i was a little fatigued as well. my body battery was in the 90s so i looked at what garmin suggested and it told me to take a rest day. then i looked at my calendar for the week and made the call that a rest day could be on another day and to continue with just an easy run.
at the moment i am glad i did but we will see what future me thinks.
#running #treadmill
@prologic@twtxt.net Yes I suppose that is true. There is an article on Tailscaleâs site that explains it all quite a bit: https://tailscale.com/blog/how-nat-traversal-works
To me, with CGNAT, itâs a small miracle that a direct connection can be made between peers (as opposed to going through a relay constantly) but it does indeed work. I guess to host it at home you would need to have it WAN accessible, and if youâve already gone to the trouble of port forwarding etc⌠well đ
Not that I could personally do that, but for those with static IPs etc.
I setup and switched to Headscale last night. It was relatively simple, I spent more time installing a web GUI to manage it to be honest, the actual server is simple enough. The native Tailscale Android app even works with it thankfully.