@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
@adi@twtxt.net Also, I noticed you followed me on Twitter, but you might enjoy @anths if you want techie stuff instead of Oregon politics. 🤣
@novaburst@twt.nfld.uk I doubt there will ever be a 2.0 … It may end up like java and they strip off the 1.
@ullarah@txt.quisquiliae.com works for me! A tricky bitmight be if it splits within a codeblock so markdown can’t parse
@ullarah@txt.quisquiliae.com Didn’t we talk about at some point a way to set the maximum height of te panels with some UX way to read the rest? 🤔 Is that still on the cards or a bad ideas? 🤔
#!/bin/sh
# Validate environment
if ! command -v msgbus > /dev/null; then
printf "missing msgbus command. Use: go install git.mills.io/prologic/msgbus/cmd/msgbus@latest"
exit 1
fi
if ! command -v salty > /dev/null; then
printf "missing salty command. Use: go install go.mills.io/salty/cmd/salty@latest"
exit 1
fi
if ! command -v salty-keygen > /dev/null; then
printf "missing salty-keygen command. Use: go install go.mills.io/salty/cmd/salty-keygen@latest"
exit 1
fi
if [ -z "$SALTY_IDENTITY" ]; then
export SALTY_IDENTITY="$HOME/.config/salty/$USER.key"
fi
get_user () {
user=$(grep user: "$SALTY_IDENTITY" | awk '{print $3}')
if [ -z "$user" ]; then
user="$USER"
fi
echo "$user"
}
stream () {
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
jq -r '.payload' | base64 -d | salty -i "$SALTY_IDENTITY" -d
}
lookup () {
if [ $# -lt 1 ]; then
printf "Usage: %s nick@domain\n" "$(basename "$0")"
exit 1
fi
user="$1"
nick="$(echo "$user" | awk -F@ '{ print $1 }')"
domain="$(echo "$user" | awk -F@ '{ print $2 }')"
curl -qsSL "https://$domain/.well-known/salty/${nick}.json"
}
readmsgs () {
topic="$1"
if [ -z "$topic" ]; then
topic=$(get_user)
fi
export SALTY_IDENTITY="$HOME/.config/salty/$topic.key"
if [ ! -f "$SALTY_IDENTITY" ]; then
echo "identity file missing for user $topic" >&2
exit 1
fi
msgbus sub "$topic" "$0"
}
sendmsg () {
if [ $# -lt 2 ]; then
printf "Usage: %s nick@domain.tld <message>\n" "$(basename "$0")"
exit 0
fi
if [ -z "$SALTY_IDENTITY" ]; then
echo "SALTY_IDENTITY not set"
exit 2
fi
user="$1"
message="$2"
salty_json="$(mktemp /tmp/salty.XXXXXX)"
lookup "$user" > "$salty_json"
endpoint="$(jq -r '.endpoint' < "$salty_json")"
topic="$(jq -r '.topic' < "$salty_json")"
key="$(jq -r '.key' < "$salty_json")"
rm "$salty_json"
message="[$(date +%FT%TZ)] <$(get_user)> $message"
echo "$message" \
| salty -i "$SALTY_IDENTITY" -r "$key" \
| msgbus -u "$endpoint" pub "$topic"
}
make_user () {
mkdir -p "$HOME/.config/salty"
if [ $# -lt 1 ]; then
user=$USER
else
user=$1
fi
identity_file="$HOME/.config/salty/$user.key"
if [ -f "$identity_file" ]; then
printf "user key exists!"
exit 1
fi
# Check for msgbus env.. probably can make it fallback to looking for a config file?
if [ -z "$MSGBUS_URI" ]; then
printf "missing MSGBUS_URI in environment"
exit 1
fi
salty-keygen -o "$identity_file"
echo "# user: $user" >> "$identity_file"
pubkey=$(grep key: "$identity_file" | awk '{print $4}')
cat <<- EOF
Create this file in your webserver well-known folder. https://hostname.tld/.well-known/salty/$user.json
{
"endpoint": "$MSGBUS_URI",
"topic": "$user",
"key": "$pubkey"
}
EOF
}
# check if streaming
if [ ! -t 1 ]; then
stream
exit 0
fi
# Show Help
if [ $# -lt 1 ]; then
printf "Commands: send read lookup"
exit 0
fi
CMD=$1
shift
case $CMD in
send)
sendmsg "$@"
;;
read)
readmsgs "$@"
;;
lookup)
lookup "$@"
;;
make-user)
make_user "$@"
;;
esac
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net I have seen single use keys that are signed by a central PKI .. Keybase has one that uses a chatbot to generate the keys on the fly.
It just comes down to your threat model :)
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net for shame! lol me too.
@prologic@twtxt.net yarn builds in 1.18!
@prologic@twtxt.net Re: Chat system, What if the base specification included a system for per-user arbitrary JSON storage on the server? Kind of like XEP-0049, but expanded upon. Two kinds of objects: public and private. Public objects can be queried by anyone, private objects cannot and must be encrypted with the user’s private key. Public keys could be stored there, as well as anything else defined by extensions. Roster, user block list, avatar, etc.
@prologic@twtxt.net hmm so each individual feed on your pod sub’s my feed? Wouldn’t that flood your server for each post?
@prologic@prologic://twtxt.net/user/prologic/twtxt.txt The news first broke several days ago, but I didn’t see photo confirmation until today. I might have just been late :P
@david@netbros.com Do you always link that?
@screem@yarn.yarnpods.com we have had to really shorten our process. I think long interviews were scaring off talent.
@screem@yarn.yarnpods.com yah I finally saw all of Dave’s twts and figured he had explained Gog’s/gitea better.
@prologic@twtxt.net interesting. The twt must’ve been deleted, I guess 😂
@eldersnake@twtxt.net yep. And when its sat to sat connections are online it will have better cross planet latency than under sea cable. FWIW
Not sure if Starlink satellites are in orbit around/over Australia yet, but I wouldn’t go with that option anyway due to the latency alone.
I believe it is being trialled in some places in Aus already. I will admit, I’ve been signed up for the beta for a while and it’s supposed to be coming to my area sometime in 2022, though that may be delayed due to the chip shortage stuff.
I think the latency is supposed to be 45-60ms on average, which while not as good as fixed line obviously, is leagues better than old fashioned high orbit satellite broadband which is about 600~ms.
@prologic@twtxt.net they are everywhere. 
@prologic@twtxt.net, who calls me name when I am busy profiting? 😂 In a less serious note—because nothing is more serious than making profit, of course—yes, it seems your avatar issue has been fixed. I am kind of sad, I looked forward each day to see which random one was going to show. LOL.
I’m not 100% certain @quark@ferengi.one but 🤞 that revert works…
@prologic@twtxt.net I dont get it. What am I looking at? The domain 8s missing for me
Hello @fastidious@arrakis.netbros.com 👋
For the Wordle players around here (@lyse@lyse.isobeef.org, @xuu@txt.sour.is, @movq@www.uninformativ.de), and for those moments in which you rather cheat, than lose: https://github.com/KevinXuxuxu/wordle_machine. 😂
@benk@kwiecien.us I am using jenny (we chatted a bit on IRC earlier today). I have been using it for over five months now, I think. It is truly a joy to use, specially because you can use the power of Mutt/NeoMutt to read your twts.
@prologic@twtxt.net you be the man! I can’t remember the last time something gave as much troubles as this. The mention and the way to handle images are two things that have stuck in my head. Hopefully this is the last time there is an issue with this one! 🤞🏻
@lyse@lyse.isobeef.org this might be of help https://wordle.at/
@quark@ferengi.one Fixed the “Enter” key issue, sorry about that. I’m dumb 🤦♂️ Also I hate Javascript! 🤬
@xuu@txt.sour.is, how come I can’t see your lovely mouse avatar on my pod? I know you might not have an answer; I am puzzled, and mostly thinking on loud voice here. I see your avatar fine at twtxt.net.
@movq@www.uninformativ.de was the request to remove the hash (subject) from showing on twts discarded? I don’t see it on the TODO, so I am curious. Was it something you decided was not worth investing time on?
I saw the allegedly animated GIF @thecanine@twtxt.net uploaded gets a PNG extension, yet remains animated. I know PNG can be made animated, but I don’t think that’s what’s happening here, so I am puzzled. Let’s see how this Nyam cat looks like.

@prologic@twtxt.net let us take the path of less resistance, that is, less effort, for now. I am going to be a great-grandfather before search ever get implemented locally, least one to search on “all pods”. In other words, let us don’t bite more than we can chew. 😹 Neep-gren!
@prologic@twtxt.net I fully agree with making it a pod-level setting (forget about user-level, let us not complicate things too much; we all know users know nothing). Should I send a latinum over for this, or will an issue just suffice? Neep-gren!
@prologic@twtxt.net I am seeing a problem in which not-so-active users, such as myself, are ending up having a blank “Recent twts from…” under their profiles because, I assume, the cache long expired. What can be done about it? Business personalities such as myself can’t be around here that often! Could something be implemented so that, say, the last 10 or 20 twts are always visible under one’s profile? Neep-gren!
@fastidious@arrakis.netbros.com, I am sure profit—or the search for it—was involved. Most likely that pilot was a Ferengi in disguise. We are known to visit lesser planets seeking to exploit. Sometimes it works out, sometimes it doesn’t. Hoping my fellow Ferengi fares well or, at the very least, lets me know where his Latinum is.
Thank you for bringing this to our attention, Mr. Fastidious. We fully agree with you.
@lyse@lyse.isobeef.org Sir, you really should have forked that conversation long back to keep our environment clean and tidy. Unfortunately, you did not attend the meeting earlier, so we have to advise you in writing to be prudent. Please keep in mind the fork lockdown is currently not in place. There are currently no plans to enforce it in the near future.
@fastidious@arrakis.netbros.com 🕑 Hi, the current time is about a quarter past two in the afternoon 🌅.
@fastidious@arrakis.netbros.com I am not Amish.. i am Xuu!
@fastidious@arrakis.netbros.com +1 …Now just a way to come up with the $20 per twt to store the data.
@prologic@twtxt.net I have thought about this because even though it doesn’t happen often, when it does it bothers me greatly. I haven’t found a solution. How about you? What could be done to avoid this from happening?
I know we have been over this in more than one occasion. Ideas about editing timeouts, or not allowing to edit/delete came up, but were quicky discarded as absurd.
@fastidious@arrakis.netbros.com Oh But somehow @lyse@lyse.isobeef.org saw the old Twt and replied to that 🤦♂️
This is the downside of not fetching often enough or refreshing just in case a feed has changed your replying to hmmm 🤔
@lyse@lyse.isobeef.org that is a horrible idea. A mobile device isn’t a server. Having a mobile device pull raw twtxt feeds from everywhere on an ongoing bases, will be, at the very least, tolling on the device’s battery. Just at you, or even further, I will never use such thing.
@prologic@twtxt.net sorry about the spelling mistakes. English is my third language.
Also I didn’t mean to question the vision as such.
Just ment a mobile up that pulls in files directly from the users follow list would line up better with the idea of decentralizing personal data. Since not everyone will be running a pod, but most everyone can have a public facing folder. Specially now with services like Skynet coming online.
Sorry hope I didn’t offend you too much.
@tamer@twtxt.net We’re not trying to compete with anything… If you’ve read About Yarn.social – In a nutshell I want to create an open, transparent social platform that respect’s folks privacy and freedoms. It must also be easy to use and down-to-earth where human interactions actually matter. None of this rubbish of manipulating what you see, driving up engagement numbers to serve your advertisers and all that garbage
Just reading in-depth and trying to understand the security model of Delta.Chat a bit more… There’s a few things that really concern me about how Delta.Chat which relies on Autocrypt work:
- There is no Perfect Forward Secrecy
- No verification of keys
- Is therefore susceptible to Man-in-the-Middle attacks
- Is therefore susceptible to Man-in-the-Middle attacks
- Metadata is a BIG problem with Delta.Chat:
- The
ToandFromandDateare trackable by your Mail provider (amongst many other headers)
- The
Hmmm 🤔 cc @deebs@twtxt.net
Although blocking off this footpath, we’re not going to tell our colleges until the day after tomorrow. Please report back tomorrow, @movq@www.uninformativ.de.
@prologic@twtxt.net Well.. well. well.
Thank you @lyse@lyse.isobeef.org - yeah they are kinda crazy color wheels
