TwtAttrs
https://git.mills.io/yarnsocial/go-lextwt/pulls/17
Actually it was your old feed on eapl.mx
@prologic@twtxt.net sure thing!
What about discussing it in https://git.mills.io/yarnsocial/twtxt.dev ?
The only con I see is that everyone would need to create an account there to participate.
@andros@twtxt.andros.dev I’ve commented on the ticket: https://git.mills.io/yarnsocial/twtxt.dev/issues/14#issuecomment-19142
In all reality, though, I don’t see that our community will come to an agreement. Some folks just don’t want to give up on the content-based addressing scheme.
@lyse@lyse.isobeef.org What do you think about this? https://git.mills.io/yarnsocial/twtxt.dev/issues/14
@andros@twtxt.andros.dev I don’t see a burst of new twtxt clients popping up. Yeah, the most recent ones are TwtxtReader and twtxt-el. Did I miss one? I agree with @david@collantes.us, looks normal to me. :-)
I’m also working on my rewrite at the moment, but that started… *looking at the git history*… oh wow! O_o Over two years ago! I just implemented jumping to the next/previous unread message.
I just learned about a few to me unknown git settings: https://blog.gitbutler.com/how-git-core-devs-configure-git/ Let’s see how quickly I can’t live without them anymore. ;-)
Edit #issuecomment-18968
@eapl.me@eapl.me @andros@twtxt.andros.dev here’s another variant as per eapl’s suggestion (#issuecomment-18968)[https://git.mills.io/yarnsocial/twtxt.dev/issues/9#issuecomment-18968]
What would you like the new twtxt logo to be?
Comments: https://git.mills.io/yarnsocial/twtxt.dev/issues/9#issuecomment-18960

I\’m learning #Django at paid offline course. My diplom project: https://git.0ut0f.space/doesnm/cms (frontend not included in repo but exists on my usb drive because it’s too worse)
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? 💭
i made a little twtxt feed fixer for when a feed uses other whitespace instead of tabs.
@prologic@twtxt.net we need to remove: https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/ast.go#L776-L784
apparently i can’t make the edit via gitea.. i am guessing its hitting one of your firewall rules.
@<url>. Submitting this writes @<domain url> instead of @<nick url> in the feed.
While I now have a somewhat working fix for it in yarnd (https://git.mills.io/yarnsocial/yarn/pulls/1232), I also have the feeling that I should fix literal formatting in lextwt as well. This also uncovered more bugs I believe: https://git.mills.io/yarnsocial/go-lextwt/pulls/28
But then there is also the question why the textarea is populated with @<url> in the first place rather than @<nick url> or yarnd’s own @nick@domain/@nick syntax. It indeed has to do something with whether I follow the mentioned feed or not.
Anyway, something to investigate for future Lyse or maybe @prologic@twtxt.net and/or @xuu@txt.sour.is. G’night!
cli/q: 🌱 A simple programming language. - q - Projects I really like this little q lang that Ed has created ❤️ Really nice and simpler, great design and implementation and really lovely cross-platform compiler supporting DOS, Windows, Darwin and Linux on AMD64 and ARM64 💪
@prologic@twtxt.net I believe @andros@twtxt.andros.dev is referring to the one on the original twtxt docs . I’ve been meaning to contribute to the discussion on the git but I’m just lazy 😅 amma throw in a little something in a minute Poke a bee hive and run away style 😆
Done, I finally finished my cli renamer, something like Thunar file renamer, unsing regex. Need to write a manpage and explain how it works now. If you’re curious: https://git.sr.ht/~prx/ralf
I would like to make another proposal to the community, to discuss it calmly: https://git.mills.io/yarnsocial/twtxt.dev/issues/9 #twtxt
Amazing! My response: https://git.mills.io/yarnsocial/twtxt.dev/pulls/8#issuecomment-18500
Thanks, @andros@twtxt.andros.dev! I commented and replied here: https://git.mills.io/yarnsocial/twtxt.dev/pulls/8#issuecomment-18490
I share a simple API template with Clean Architecture using #flask and #fastapi
https://git.andros.dev/andros/api-template-with-clean-architecture
#cleancode #cleanarchitecture
@xuu@txt.sour.is I added some logging when a “dead” peer is removed as I suspect this to be a hot candidate for all the trouble. https://git.mills.io/yarnsocial/yarn/commit/21538951f9dc71b9366db6dbb784a8078096a4c8 Does this yield anything?
@prologic@twtxt.net Just in case… the git link is missing a c in prologic
i self hosted the soft serve git server cuz i felt like it. it’s sooo cute i love everything charm CLI does
ssh -p 24010 soft.git.girlonthemoon.xyz
code { white-space: pre } in their CSS themes to render things as they're supposed to look like.
Well, I stand corrected, pre-wrap even! https://git.mills.io/yarnsocial/yarn/pulls/1186
@kat@yarn.girlonthemoon.xyz both scripts are here under the names ‘getlyr’ and ‘now playing’ if you wanna try them out yourself, just make sure you have gum installed (also curl and jq but most people have those i think) https://git.sr.ht/~chasinglightning/dotfiles/tree/main/item/home/.local/bin
"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?
I cobbled that together yesterday, @aelaraji@aelaraji.com. Since I was too lazy to write some tests, I simply hit your feed as I knew it contains two invalid lines right now. Sorry mate! :-( Next thing is to actually write some proper tests, improve the messages, etc.
Here’s the code: https://git.mills.io/yarnsocial/validator
Looking forward to that, @prologic@twtxt.net. :-)
messing with gemini again, this time a static site generator called gssg - https://git.sr.ht/~gsthnz/gssg
my capsule is linked in my profile but just in case it’s over at gemini://lazuli.sayitditto.net
been having fun updating my dotfiles repo as if i have anything notable to put in there
wanna play with CLI stuff or host something new… maybe play with that charmbracelet git server but i don’t need that lol
Is https://git.mills.io/yarnsocial dead?
I’ve started a draft over at: https://git.mills.io/yarnsocial/twtxt.dev/src/branch/main/exts/webfinger.md
although the only #Go things I’m running in there are a WriteFreely blog and the Saltyd #SaltyIM broker … each running in separate #FreeBSD #jail, those are still running the 14.1-Release (at the moment) anyways.
a new emmanation of my trusty old vim config, now available as a home-manager nix module. now i can track my dependencies with nix instead of using git subtree and it makes installing backend programs like language servers and such way easier. https://src.ix.cyb.red/pe-vim/
BTW, researching on that I found that @prologic was working on the following https://git.mills.io/yarnsocial/useragent#supported-user-agent-formats
I wasn’t aware of a few User-Agent Formats.
And I’m checking that timeline is not sending those headers. I should push a change on that soon.
Termux same thing @doesnm uses and it worked 👍 Media
@doesnm@doesnm.p.psf.lt No it’s all good… I’ve just rebuilt it from master and it doesn’t look like anything is broken:
~/GitRepos> git clone https://github.com/plomlompom/htwtxt.git
Cloning into 'htwtxt'...
remote: Enumerating objects: 411, done.
remote: Total 411 (delta 0), reused 0 (delta 0), pack-reused 411 (from 1)
Receiving objects: 100% (411/411), 87.89 KiB | 430.00 KiB/s, done.
Resolving deltas: 100% (238/238), done.
~/GitRepos> cd htwtxt
master ~/GitRepos/htwtxt> go mod init htwtxt
go: creating new go.mod: module htwtxt
go: to add module requirements and sums:
go mod tidy
master ~/GitRepos/htwtxt> go mod tidy
go: finding module for package github.com/gorilla/mux
go: finding module for package golang.org/x/crypto/bcrypt
go: finding module for package gopkg.in/gomail.v2
go: finding module for package golang.org/x/crypto/ssh/terminal
go: found github.com/gorilla/mux in github.com/gorilla/mux v1.8.1
go: found golang.org/x/crypto/bcrypt in golang.org/x/crypto v0.29.0
go: found golang.org/x/crypto/ssh/terminal in golang.org/x/crypto v0.29.0
go: found gopkg.in/gomail.v2 in gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
go: finding module for package gopkg.in/alexcesaro/quotedprintable.v3
go: found gopkg.in/alexcesaro/quotedprintable.v3 in gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc
master ~/GitRepos/htwtxt> go build
master ~/GitRepos/htwtxt> ll
.rw-r--r-- aelaraji aelaraji 330 B Fri Nov 22 20:25:52 2024 go.mod
.rw-r--r-- aelaraji aelaraji 1.1 KB Fri Nov 22 20:25:52 2024 go.sum
.rw-r--r-- aelaraji aelaraji 8.9 KB Fri Nov 22 20:25:06 2024 handlers.go
.rwxr-xr-x aelaraji aelaraji 12 MB Fri Nov 22 20:26:18 2024 htwtxt <-------- There's the binary ;)
.rw-r--r-- aelaraji aelaraji 4.2 KB Fri Nov 22 20:25:06 2024 io.go
.rw-r--r-- aelaraji aelaraji 34 KB Fri Nov 22 20:25:06 2024 LICENSE
.rw-r--r-- aelaraji aelaraji 8.5 KB Fri Nov 22 20:25:06 2024 main.go
.rw-r--r-- aelaraji aelaraji 5.5 KB Fri Nov 22 20:25:06 2024 README.md
drwxr-xr-x aelaraji aelaraji 4.0 KB Fri Nov 22 20:25:06 2024 templates
@prologic@twtxt.net just rebuild my image.. though git says i am already at latest
@eapl.me@eapl.me Neat.
So for twt metadata the lextwt parser currently supports values in the form [key=value]
https://git.mills.io/yarnsocial/go-lextwt/src/branch/main/parser_test.go#L692-L698
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.
👋 PR to propose Feed Format Extension – Request for comment 🙏
TODO corpus documentaire smsi sur Git ?
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
Publicado no site Vaporhole tutorial gopher e git.
How, this is some funny easter egg: https://git.savannah.nongnu.org/cgit/man-db.git/commit/src/man.c?id=002a6339b1fe8f83f4808022a17e1aa379756d99
I share I did write up an algorithm for it at some point I think it is lost in a git comment someplace. I’ll put together a pseudo/go code this week.
Super simple:
Making a reply:
- If yarn has one use that. (Maybe do collision check?)
- Make hash of twt raw no truncation.
- Check local cache for shortest without collision
- in SQL:
select len(subject) where head_full_hash like subject || '%'
- in SQL:
Threading:
- Get full hash of head twt
- Search for twts
- in SQL:
head_full_hash like subject || '%' and created_on > head_timestamp
- in SQL:
The assumption being replies will be for the most recent head. If replying to an older one it will use a longer hash.
twtxt via dmenu | https://git.sr.ht/~fredg/mybin/tree/master/item/twt
I believe I’d missed an f:
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser(f'~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
@doesnm@doesnm.p.psf.lt I’ve just given it a try on android/termux and got it to work, I can’t promise it won’t break something else (because i definitely don’t know what I’m doing) but here’s what I broke 😅:
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser('~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
and of course make sure you mkdir ~/tmp