**
🧮 USERS:3 FEEDS:6 TWTS:362 BLOGS:0 ARCHIVED:86126 CACHE:2079 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:362 BLOGS:0 ARCHIVED:86126 CACHE:2079 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:361 BLOGS:0 ARCHIVED:86014 CACHE:2065 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:361 BLOGS:0 ARCHIVED:86014 CACHE:2065 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:360 BLOGS:0 ARCHIVED:85894 CACHE:2031 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:360 BLOGS:0 ARCHIVED:85894 CACHE:2031 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:359 BLOGS:0 ARCHIVED:85794 CACHE:2015 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:359 BLOGS:0 ARCHIVED:85794 CACHE:2015 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:358 BLOGS:0 ARCHIVED:85579 CACHE:2038 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:358 BLOGS:0 ARCHIVED:85579 CACHE:2038 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
I’ve made some fixes to twtxt to make it work with Python 3.7+. I hope @buckket@buckket.org will apply this patch!
**
🧮 USERS:3 FEEDS:6 TWTS:357 BLOGS:0 ARCHIVED:85506 CACHE:2035 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:357 BLOGS:0 ARCHIVED:85506 CACHE:2035 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:356 BLOGS:0 ARCHIVED:85423 CACHE:2038 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:356 BLOGS:0 ARCHIVED:85423 CACHE:2038 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:355 BLOGS:0 ARCHIVED:85280 CACHE:2003 FOLLOWERS:9 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:355 BLOGS:0 ARCHIVED:85280 CACHE:2003 FOLLOWERS:9 FOLLOWING:17 ⌘ Read more
#!/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
**
🧮 USERS:3 FEEDS:6 TWTS:353 BLOGS:0 ARCHIVED:85152 CACHE:1986 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:353 BLOGS:0 ARCHIVED:85152 CACHE:1986 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:352 BLOGS:0 ARCHIVED:85011 CACHE:1955 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:352 BLOGS:0 ARCHIVED:85011 CACHE:1955 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
Prosodical Thoughts: Prosody 0.12.0 released
ÄNTLIGEN! It’s finally here! After 3 years of development and through some chaotic times, Prosody 0.12.0 is released!
What’s the significance of this release? Like many software projects, Prosody follows a “branch” development/release model. We frequently make minor releases with bug fixes and improvements from our stable branch, while we implement more adventurous changes in our development branch, ready for the next major release.
Well, this is one of those adventurous … ⌘ Read more
apparently i have LOST ANOTHER 3 KILOGRAMS WHAT IS GOING ON I EXERCISE LIKE 3 HOURS A WEEK AND EAT LIKE A BEAR AND A TIGER
**
🧮 USERS:3 FEEDS:6 TWTS:351 BLOGS:0 ARCHIVED:84891 CACHE:2042 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:351 BLOGS:0 ARCHIVED:84891 CACHE:2042 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:350 BLOGS:0 ARCHIVED:84758 CACHE:2073 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:350 BLOGS:0 ARCHIVED:84758 CACHE:2073 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:349 BLOGS:0 ARCHIVED:84666 CACHE:2060 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:349 BLOGS:0 ARCHIVED:84666 CACHE:2060 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:346 BLOGS:0 ARCHIVED:84558 CACHE:2009 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:346 BLOGS:0 ARCHIVED:84558 CACHE:2009 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:345 BLOGS:0 ARCHIVED:84423 CACHE:2092 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:345 BLOGS:0 ARCHIVED:84423 CACHE:2092 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
ryudo has a bit more polish now at v1.3.4; new blog post breaking down how multimonitor support was implemented
**
🧮 USERS:3 FEEDS:6 TWTS:344 BLOGS:0 ARCHIVED:84295 CACHE:2070 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:344 BLOGS:0 ARCHIVED:84295 CACHE:2070 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:343 BLOGS:0 ARCHIVED:84155 CACHE:2056 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:343 BLOGS:0 ARCHIVED:84155 CACHE:2056 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
Off to my first health check-up in 3 ½ years. I’m almost 40 pounds lighter than I was back then, so I hope this goes well.
**
🧮 USERS:3 FEEDS:6 TWTS:342 BLOGS:0 ARCHIVED:84042 CACHE:2048 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:342 BLOGS:0 ARCHIVED:84042 CACHE:2048 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:341 BLOGS:0 ARCHIVED:83954 CACHE:2105 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:341 BLOGS:0 ARCHIVED:83954 CACHE:2105 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:340 BLOGS:0 ARCHIVED:83863 CACHE:2097 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:340 BLOGS:0 ARCHIVED:83863 CACHE:2097 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:339 BLOGS:0 ARCHIVED:83769 CACHE:2090 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:339 BLOGS:0 ARCHIVED:83769 CACHE:2090 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:338 BLOGS:0 ARCHIVED:83666 CACHE:2097 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:338 BLOGS:0 ARCHIVED:83666 CACHE:2097 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
ryudo 1.3.0 has multimonitor support!
**
🧮 USERS:3 FEEDS:6 TWTS:337 BLOGS:0 ARCHIVED:83533 CACHE:2073 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:337 BLOGS:0 ARCHIVED:83533 CACHE:2073 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:336 BLOGS:0 ARCHIVED:83406 CACHE:2064 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:336 BLOGS:0 ARCHIVED:83406 CACHE:2064 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:335 BLOGS:0 ARCHIVED:83293 CACHE:2064 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:335 BLOGS:0 ARCHIVED:83293 CACHE:2064 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
Wordle ported to Windows 3.1, PalmOS, DOS, Linux Terminal… and much more.
Tandy Color Computer 3, Atari 2600, Game Boy, Emacs, and… Microsoft Word? Yup. Wordle is there too. ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:334 BLOGS:0 ARCHIVED:83197 CACHE:2082 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:334 BLOGS:0 ARCHIVED:83197 CACHE:2082 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:333 BLOGS:0 ARCHIVED:83099 CACHE:2086 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:333 BLOGS:0 ARCHIVED:83099 CACHE:2086 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:332 BLOGS:0 ARCHIVED:82996 CACHE:2066 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:332 BLOGS:0 ARCHIVED:82996 CACHE:2066 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
MikaelStenstrand/my-outfit-app
My Outfit App is a proof of concept (POC) of a mobile application where you are able to digitalize your closet and plan your outfits. The goal of the POC was to validate a simple and low-cost technology stack
Language: JavaScript
Star: 3
Watch: 3 ⌘ Read more
janetanne/outfitless
Web application for organizing your closet and keeping track of your wardrobe, as well as picking your outfit for the day. Uses Google Oauth to register for an account/sign in and Clarifai API to process images.
Language: Python
Star: 3
Watch: 3 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:331 BLOGS:0 ARCHIVED:82861 CACHE:2037 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:331 BLOGS:0 ARCHIVED:82861 CACHE:2037 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:330 BLOGS:0 ARCHIVED:82732 CACHE:2115 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:330 BLOGS:0 ARCHIVED:82732 CACHE:2115 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
FreeDOS 1.3 has landed! Let’s take a visual tour!
The world’s greatest, Free and Open Source MS-DOS compatible operating system just got an update! I am excited! Exclamation points are in order! ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:329 BLOGS:0 ARCHIVED:82584 CACHE:2082 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:329 BLOGS:0 ARCHIVED:82584 CACHE:2082 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:328 BLOGS:0 ARCHIVED:82474 CACHE:2043 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:328 BLOGS:0 ARCHIVED:82474 CACHE:2043 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
**
🧮 USERS:3 FEEDS:6 TWTS:327 BLOGS:0 ARCHIVED:82360 CACHE:2050 FOLLOWERS:8 FOLLOWING:17
**
🧮 USERS:3 FEEDS:6 TWTS:327 BLOGS:0 ARCHIVED:82360 CACHE:2050 FOLLOWERS:8 FOLLOWING:17 ⌘ Read more
what’s your super power?!: 3.03 miles, 00:08:51 average pace, 00:26:51 duration
what’s your super power?!
#running
Recovery run (with Beth): 3.17 miles, 00:12:52 average pace, 00:40:45 duration
Recovery run (with Beth)
#running
GitHub Enterprise Server 3.4 improves developer productivity and adds reusable workflows to CI/CD
The GitHub Enterprise Server 3.4 release candidate delivers enhancements to make life easier and more productive, from keyboard shortcuts to auto-generated release notes! ⌘ Read more
Dino: Dino 0.3 Release
Dino is a secure and privacy-friendly messaging application. It uses the XMPP (Jabber) protocol for decentralized communication. We aim to provide an intuitive, clean and modern user interface.
The 0.3 release is all about calls. Dino now supports calls between two or more people!
Calls are end-to-end encrypted and use a direct connection between … ⌘ Read more
#Wordle 237 3/6*
⬛⬛🟨⬛⬛
🟩⬛⬛🟩🟩
🟩🟩🟩🟩🟩