🧮 USERS:1 FEEDS:2 TWTS:507 ARCHIVED:62066 CACHE:2228 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:506 ARCHIVED:62046 CACHE:2224 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:505 ARCHIVED:62007 CACHE:2226 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:504 ARCHIVED:61987 CACHE:2228 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:503 ARCHIVED:61962 CACHE:2230 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:502 ARCHIVED:61927 CACHE:2248 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:501 ARCHIVED:61818 CACHE:2242 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:500 ARCHIVED:59969 CACHE:2209 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:499 ARCHIVED:59941 CACHE:2209 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:498 ARCHIVED:59926 CACHE:2210 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:497 ARCHIVED:59909 CACHE:2224 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:496 ARCHIVED:59864 CACHE:2246 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:495 ARCHIVED:59829 CACHE:2257 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:494 ARCHIVED:59800 CACHE:2258 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:493 ARCHIVED:59761 CACHE:2252 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:492 ARCHIVED:59715 CACHE:2244 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:491 ARCHIVED:59639 CACHE:2247 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:490 ARCHIVED:59168 CACHE:2237 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:489 ARCHIVED:59131 CACHE:2231 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:488 ARCHIVED:59106 CACHE:2231 FOLLOWERS:13 FOLLOWING:14
Lane Change Highway
⌘ Read more
🧮 USERS:1 FEEDS:2 TWTS:487 ARCHIVED:59083 CACHE:2236 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:486 ARCHIVED:59046 CACHE:2225 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:485 ARCHIVED:59002 CACHE:2209 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:484 ARCHIVED:58969 CACHE:2199 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:483 ARCHIVED:58935 CACHE:2189 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:482 ARCHIVED:58901 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:481 ARCHIVED:58865 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
@prologic@twtxt.net I have updated to kinda follow this. It now redirects to other webfingers if the resource has a different hostname. I’m still not sure what I should put multiple services with the same domain name. Like if they were to have conflicting properties.
@prologic@twtxt.net I have updated to kinda follow this. It now redirects to other webfingers if the resource has a different hostname. I’m still not sure what I should put multiple services with the same domain name. Like if they were to have conflicting properties.
🧮 USERS:1 FEEDS:2 TWTS:480 ARCHIVED:58827 CACHE:2173 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:479 ARCHIVED:58782 CACHE:2173 FOLLOWERS:13 FOLLOWING:14
it seems they are following the URN format of a URI where you just prefix things with colons.
urn:example:apple:pear:plum:cherry
it seems they are following the URN format of a URI where you just prefix things with colons.
urn:example:apple:pear:plum:cherry
@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:
# http GET https://example.okta.com/.well-known/webfinger resource==acct:bob
{
"links": [
{
"href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
"properties": {
"okta:idp:type": "OKTA"
},
"rel": "http://openid.net/specs/connect/1.0/issuer",
"titles": {
"und": "example"
}
}
],
"subject": "acct:bob"
}
It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.
Mastodons response:
{
"subject": "acct:xuu@chaos.social",
"aliases": [
"https://chaos.social/@xuu",
"https://chaos.social/users/xuu"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://chaos.social/@xuu"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://chaos.social/users/xuu"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe"
}
]
}
it supplies a profile page and a self which are both specific to that account.
@prologic@twtxt.net That was exactly my thought at first too. but what do we put as the rel for salty account? since it is decentralized we dont have a set URL for machines to key off. so for example take the standard response from okta:
# http GET https://example.okta.com/.well-known/webfinger resource==acct:bob
{
"links": [
{
"href": "https://example.okta.com/sso/idps/OKTA?login_hint=bob#",
"properties": {
"okta:idp:type": "OKTA"
},
"rel": "http://openid.net/specs/connect/1.0/issuer",
"titles": {
"und": "example"
}
}
],
"subject": "acct:bob"
}
It gives one link that follows the OpenID login. So the details are specific to the subject acct:bob.
Mastodons response:
{
"subject": "acct:xuu@chaos.social",
"aliases": [
"https://chaos.social/@xuu",
"https://chaos.social/users/xuu"
],
"links": [
{
"rel": "http://webfinger.net/rel/profile-page",
"type": "text/html",
"href": "https://chaos.social/@xuu"
},
{
"rel": "self",
"type": "application/activity+json",
"href": "https://chaos.social/users/xuu"
},
{
"rel": "http://ostatus.org/schema/1.0/subscribe"
}
]
}
it supplies a profile page and a self which are both specific to that account.
🧮 USERS:1 FEEDS:2 TWTS:478 ARCHIVED:57556 CACHE:2124 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:477 ARCHIVED:47166 CACHE:2087 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:476 ARCHIVED:47035 CACHE:2022 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:475 ARCHIVED:46981 CACHE:2024 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:474 ARCHIVED:46924 CACHE:2036 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:473 ARCHIVED:46899 CACHE:2032 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:472 ARCHIVED:46758 CACHE:2008 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:471 ARCHIVED:46734 CACHE:2000 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:470 ARCHIVED:46680 CACHE:1998 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:469 ARCHIVED:46432 CACHE:1973 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:468 ARCHIVED:46404 CACHE:1974 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:467 ARCHIVED:46371 CACHE:1977 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:466 ARCHIVED:46332 CACHE:1970 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:465 ARCHIVED:46297 CACHE:1992 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:464 ARCHIVED:46266 CACHE:1990 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:463 ARCHIVED:46219 CACHE:1986 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:462 ARCHIVED:46164 CACHE:1986 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:461 ARCHIVED:46144 CACHE:1983 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:460 ARCHIVED:46111 CACHE:1980 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:459 ARCHIVED:46089 CACHE:1977 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:458 ARCHIVED:46059 CACHE:1975 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:457 ARCHIVED:46017 CACHE:1970 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:456 ARCHIVED:45969 CACHE:1968 FOLLOWERS:13 FOLLOWING:14
philosophytube followers be pondering the impossibility of white bears in novaya semlya
Ignite Realtime Blog: New Mastodon service for the Ignite Realtime community!
Some of you might already have followed along with the discussion on this in the open_chat chatroom, but: the Ignite Realtime community now has its own Mastodon service at toot.igniterealtime.org! This service is graciously sponsored by Free Solutions SÃ rl - a big thank you to Claude and his team!

i could go from
into 
I learned how to make gopls syntax highlight go templates in VSCodium.
By adding the following to my config

i could go from
into 
🧮 USERS:1 FEEDS:2 TWTS:453 ARCHIVED:45780 CACHE:1963 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:452 ARCHIVED:45768 CACHE:1972 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:451 ARCHIVED:45740 CACHE:1984 FOLLOWERS:13 FOLLOWING:14
RT by @mind_booster: #DRM isn’t just an annoyance – it’s a violation of your right to use the items you own as you see fit. Learn more about our Defective by Design campaign at http://defectivebydesign.org, and follow our campaign account at @enddrm
#DRM isn’t just an annoyance – it’s a violation of your right to use the items you own as you see fit. Learn more about our Defective by Design campaign at defectivebydesign.org, and follow our campa … ⌘ Read more
🧮 USERS:1 FEEDS:2 TWTS:450 ARCHIVED:45732 CACHE:1985 FOLLOWERS:13 FOLLOWING:14
** Thoughts on accessibility in smol computing **
What follows is my attempt to spark a conversation in a few converging, but separate communities I lurk in.
I’ve already had a bunch of amazing conversations around this topic with a lot of people. Those conversations helped to shape what follows. Thanks to everyone who was willing to think this stuff through with me.
Before I get into it I want to say at the top this isn’t meant as an accusation against anyone in these communities, nor the goals of t … ⌘ Read more
🧮 USERS:1 FEEDS:2 TWTS:449 ARCHIVED:45692 CACHE:1982 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:448 ARCHIVED:45674 CACHE:1993 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:447 ARCHIVED:45655 CACHE:2001 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:446 ARCHIVED:45644 CACHE:2007 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:445 ARCHIVED:45624 CACHE:2008 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:444 ARCHIVED:45569 CACHE:1992 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:443 ARCHIVED:45550 CACHE:2004 FOLLOWERS:13 FOLLOWING:14
$name$ and then dispatch the hashing or checking to its specific format.
Hold up now, that example hash doesn’t have a
$prefix!
Well for this there is the option for a hash type to set itself as a fall through if a matching hash doesn’t exist. This is good for legacy password types that don’t follow the convention.
func (p *plainPasswd) ApplyPasswd(passwd *passwd.Passwd) {
passwd.Register("plain", p)
passwd.SetFallthrough(p)
}
https://github.com/sour-is/go-passwd/blob/main/passwd_test.go#L28-L31
$name$ and then dispatch the hashing or checking to its specific format.
Hold up now, that example hash doesn’t have a
$prefix!
Well for this there is the option for a hash type to set itself as a fall through if a matching hash doesn’t exist. This is good for legacy password types that don’t follow the convention.
func (p *plainPasswd) ApplyPasswd(passwd *passwd.Passwd) {
passwd.Register("plain", p)
passwd.SetFallthrough(p)
}
https://github.com/sour-is/go-passwd/blob/main/passwd_test.go#L28-L31
🧮 USERS:1 FEEDS:2 TWTS:442 ARCHIVED:45518 CACHE:1996 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:441 ARCHIVED:45502 CACHE:2016 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:440 ARCHIVED:45469 CACHE:2027 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:439 ARCHIVED:45440 CACHE:2035 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:438 ARCHIVED:45303 CACHE:2039 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:437 ARCHIVED:45265 CACHE:2037 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:436 ARCHIVED:45233 CACHE:2035 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:435 ARCHIVED:45169 CACHE:2027 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:434 ARCHIVED:45030 CACHE:2010 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:433 ARCHIVED:45005 CACHE:2029 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:432 ARCHIVED:44965 CACHE:2028 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:431 ARCHIVED:44923 CACHE:2025 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:430 ARCHIVED:44895 CACHE:2031 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:429 ARCHIVED:44859 CACHE:2035 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:428 ARCHIVED:44846 CACHE:2034 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:427 ARCHIVED:44819 CACHE:2038 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:426 ARCHIVED:44687 CACHE:2052 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:425 ARCHIVED:44644 CACHE:2061 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:424 ARCHIVED:44621 CACHE:2072 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:423 ARCHIVED:44564 CACHE:2050 FOLLOWERS:13 FOLLOWING:14