Searching txt.sour.is

Twts matching #4:
Sort by: Newest, Oldest, Most Relevant

Consciousness and Materialism

Hume’s Parallel

David Hume has often been quoted for his “Is” vs. “Ought” distinction.
The argument is that fact and morality are two different domains, and from no accumulation of statements of fact alone can we ever jump to a statement of morality.

We can say statements of fact such as:

  1. To be murdered is potentially painful.
  2. To be murdered is irreversible.
  3. Murder causes social dysfunction.
  4. Etc.

By merely my collecting these, we haven’t proven that _M … ⌘ Read more

⤋ Read More

Sondagem Intercampus (e comparação com as últimas eleições): PS 31.1 (-10.3), PSD 29.5 (+1.8), CH 10.7 (+3.1), IL 7.6 (+2.7), BE 7.5 (+3.1), CDU 3.7 (-0.6), PAN 3.7 (+2.1), L 2.4 (+1.1), CDS 0.7 (-0.9)
Sondagem Intercampus (e comparação com as últimas eleições): PS 31.1 (-10.3), PSD 29.5 (+1.8), CH 10.7 (+3.1), IL 7.6 (+2.7), BE 7.5 (+3.1), CDU 3.7 (-0.6), PAN 3.7 (+2.1), L 2.4 (+1.1), CDS 0.7 (-0.9)

[nitter.net/JosMatias17/status/1614565255312736257#m](https://nitter.net/JosMatias17/status/161456525531273 … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.6.1
Gajim 1.6.1 is mostly a bug fixing release, but it also brings some important improvements and adds more convenience. Thank you for all your contributions!

What’s New

After we ported Gajim and python-nbxmpp to libsoup3, you might have noticed issues with file transfers. Now, python-nbxmpp 4.0.1 has been released, and it fixes an error which prevented transfers of files containing spaces in their file name.

Gajim s … ⌘ Read more

⤋ Read More

RT by @mind_booster: O prazo de inscrição no Youth Hacking 4 Freedom, foi alargado até ao final de Janeiro. Para participarem têm de ter entre 14 e 18 anos e viver na Europa. @fsfe #YH4F #SoftwareFreedom #softwarelivre @ANSOL #wikidata #wikimedia
https://fsfe.org/activities/yh4f/

O prazo de inscrição no Youth Hacking 4 Freedom, foi alargado até ao final de Janeiro. Para participarem têm de ter entre 14 e 18 anos e viver na Europa. @fsfe [#YH4F](htt … ⌘ Read more

⤋ Read More

**RT by @mind_booster: DOS games that turn 30 years old this year:

DOOM
Space Quest 5
Sam & Max
Betrayal at Krondor
Day of the Tentacle
The Lost Vikings
Fury of the Furries
Simon the Sorcerer
The 7th Guest
The Incredible Machine
Gabriel Knight
X-Wing
SimCity 2000
Quest for Glory 4
Privateer
Syndicate**
DOS games that turn 30 years old this year:

-

DOOM

Space Quest 5

Sam & Max

Betrayal at Krondor

Day of the Tentacle

The Lost Vikings

Fury of the Furries

Simon the Sorcerer

The 7th Guest

The Incredible … ⌘ Read more

⤋ Read More

**RT by @mind_booster: Remember:

  1. We’re at 1.25/1.75°C of global warming and rising fast.

  2. Fossil fuel emissions should have peaked in 2022 to avoid 2.5°C, but they didn’t.

  3. Forest degradation is getting worse.

  4. Capitalism has put world-ending 2.25/2.75°C by 2045- 2090 in the pipelines. 🧵**
    Remember:

1. We’re at 1.25/1.75°C of global warming and rising fast.

2. Fossil fuel emissions should have peaked in 2022 to avoid 2.5°C, but they didn’t.

3. Forest degradation is getting worse.

4. Capitalis … ⌘ Read more

⤋ Read More

**RT by @mind_booster: 1.

‘equilibrium climate sensitivity is at least ~4°C with a likely range of 3.5-5.5°C.

global warming in the pipeline is greater than prior estimates.’

James Hansen and colleagues release new work for discussion.

This should be front page news.

https://arxiv.org/abs/2212.04474**
1.

‘equilibrium climate sensitivity is at least ~4°C with a likely range of 3.5-5.5°C.

global warming in the pipeline is greater than prior estimates.’

James Hansen and colleagues release new work for discus … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.5.4
Gajim 1.5.4 comes with a reworked file transfer interface, better URL detection, message selection improvements, and many fixes under the hood. Thank you for all your contributions!

What’s New

Gajim’s interface for sending files has been reworked, and should be much easier to use now. For each file you’re about to send, Gajim will generate a preview. This way, you can avoid sending the wrong file to somebody. Regardless of how you start a file transfer, be it drag and drop, pasting a … ⌘ Read more

⤋ Read More

New in Docker Desktop 4.15: Improving Usability and Performance for Easier Builds
Docker Desktop 4.15 is here, packed with usability upgrades to help you find the images you want, manage your containers, discover vulnerabilities, and more. ⌘ Read more

⤋ Read More

Écologie punitive, suite : 4 vols aérien dans votre vie, point.
La COP27 vient de s’achever et, bien qu’il soit difficile de ne pas se réjouir devant les mines déconfites des participants qui ont, tous, conclu que les objectifs (dangereux) fixé (arbitrairement) ne seraient pas atteints, il ne faut pas oublier que cette déconfiture sera justement utilisée par les ayatollahs de la religion verte pour réclamer […] ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire Monitoring Service plugin 2.4.0 release
Earlier today, we have released version 2.4.0 of the Openfire Monitoring Service plugin. This plugin adds both statistics, as well as message archiving functionality to Openfire.

In this release, compatibility with future versions of Openfire is added. A bug that affects MSSQL users has been fixed, and the dreaded “Unable to save XML properties” error message has been resolved. A few other minor tweaks h … ⌘ Read more

⤋ Read More

**R to @mind_booster: Afinal não foram “os”, mas “as”.

Segundo https://www.publico.pt/2022/11/15/azul/reportagem/alunos-protesto-clima-colam-maos-porta-ministerio-economia-2027804

“As cinco activistas foram detidas e levadas para a esquadra da PSP na Rua da Palma, tendo saído da 4.ª esquadra depois das 22h00, mais de quatro horas após a detenção. Serão ouvidas em tribunal na quarta-feira.”**
Afinal não foram “os”, mas “as”.

Segundo [publico.pt/2022/11/15/azul/r…](https://www.publico.pt/2022/11/15/azul/report … ⌘ Read more

⤋ Read More

New in Docker Desktop 4.14: Greater Visibility Into Your Containers
Docker Desktop 4.14 brings new functionality directly into your workstations, specifically focused on providing better visibility into your container’s productivity and security. ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.7.4 release
The Ignite Realtime Community is happy to announce the 4.7.4 release of Openfire. This release fixes a number of bugs and represents our effort to provide a stable 4.7.x series while work continues on the next feature release of Openfire.

Notable fixes include enhancements to cluster-specific implementation of Multi-User Chat functionality, improved websocket handling and improv … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.5.3
Gajim 1.5.3 brings back a feature many of you missed: selecting and copying multiple messages. Emoji shortcodes have been improved and cover even more emojis now. Gajim also lets you mark workspaces as read, so you don’t have to go through all conversations. Thank you for all your contributions!

What’s New

Since we changed the way Gajim displays messages in Gajim 1.4, selecting multiple messages to copy them was not possible anymore. With Gajim 1.5.3 you can now select multiple messag … ⌘ Read more

⤋ Read More

Disable RAM Plus on OneUI 4.1
When Samsung released the Android 12 update for my phone a few months ago, I noticed a new RAM Plus setting, which uses the storage to expand the memory. Pretty useless on my phone, as it has already 8 GB of RAM. ⌘ Read more

⤋ Read More

**RT by @mind_booster: [¼]💧 ZERO alerta para a Declaração de Impacte Ambiental emitida em tempo recorde: um projeto sem clara mais-valia pública e com danos ambientais irreparáveis

Processo de avaliação incompleto é aprovado pela Agência Portuguesa do Ambiente - o que ficou por garantir?
👇cont.**
[¼]💧 ZERO alerta para a Declaração de Impacte Ambiental emitida em tempo recorde: um projeto sem clara mais-valia pública e com danos ambientais irreparáveis

Processo de avaliação incompleto é aprovado pela Agência P … ⌘ Read more

⤋ Read More

**RT by @mind_booster: [¼]SIMPLEX ambiental é uma visão do século passado

⚠️ A proposta nada resolve dos problemas estruturais que hoje prejudicam processos mais céleres e transparentes, limitando-se a encurtar excessivamente prazos e a excluir avaliações ou eliminar processos de verificação

👇**
[¼]SIMPLEX ambiental é uma visão do século passado

⚠️ A proposta nada resolve dos problemas estruturais que hoje prejudicam processos mais céleres e transparentes, limitando-se a encurtar excessivamente prazos e a ex … ⌘ Read more

⤋ Read More

Maxime Buquet: Versioning
I finally took time to setup a forge and some old drafts turned up. I am
publishing one of them today as is even though it’s 4 years old
(2018-08-07T13:27:43+01:00). I’m not as grumpy as I was at the time but I
still think this applies.

Today I am grumpy at people’s expectation of a free software project, about
versioning and releases. I am mostly concerned about applications rather than
libraries in this article but I am sure some of this would apply to libraries
as well.

Today we were discussing ab … ⌘ Read more

⤋ Read More

Integrated Terminal for Running Containers, Extended Integration with Containerd, and More in Docker Desktop 4.12
Docker Desktop 4.12 is now live! This release brings some key quality-of-life improvements to the Docker Dashboard. We’ve also made some changes to our container image management and added it as an experimental feature. Finally, we’ve made it easier to find useful Extensions. Let’s dive in. Execute commands in a runn … ⌘ Read more

⤋ Read More

Why can’t I sleep when I’m excited? And why am I not excited during the day, but then my thoughts are circling at night? Well at least I slept well yesterday. Maybe that helps to get through the day somehow after only 3 or 4 hours of sleep. ⌘ Read more

⤋ Read More

**RT by @mind_booster: [¼]
Terminou ontem a consulta pública do projeto Aproveitamento Hidráulico de Fins Múltiplos do Crato (Barragem do Crato) a que a ZERO dá parecer negativo

❌Dinheiro do PRR vai ser usado p/ projeto sem sentido e promotor de impactes ambientais e sociais negativos

👇(continua)**
[¼]

Terminou ontem a consulta pública do projeto Aproveitamento Hidráulico de Fins Múltiplos do Crato (Barragem do Crato) a que a ZERO dá parecer negativo

❌Dinheiro do PRR vai ser usado p/ projeto sem sentido e p … ⌘ Read more

⤋ Read More

**RT by @mind_booster: [¼]
✈️Novo passo na expansão ilegal do Aeroporto da Portela prejudicará severamente milhares de cidadãos.

⚠️Foi iniciado processo de consulta pública sobre portaria que passará a permitir voos noturnos sem limites.

(Continua 👇)**
[¼]

✈️Novo passo na expansão ilegal do Aeroporto da Portela prejudicará severamente milhares de cidadãos.

⚠️Foi iniciado processo de consulta pública sobre portaria que passará a permitir voos noturnos sem limites.

(Continua 👇)

![](https://nitter.net/pic/me … ⌘ Read more

⤋ Read More

R to @mind_booster: “O estímulo ao deferimento tácito para facilitar ao máximo a aprovação de qualquer projeto, em que o foco é mesmo aprovar, seja o que for, de qualquer forma e seja onde for;” 4/7
“O estímulo ao deferimento tácito para facilitar ao máximo a aprovação de qualquer projeto, em que o foco é mesmo aprovar, seja o que for, de qualquer forma e seja onde for;” 4/7 ⌘ Read more

⤋ Read More

**R to @mind_booster: “Web 4.0? Ridiculous!”, some will say, buy that hasn’t stopped anyone from keeping the madness going. Hm, that’s right, nowadays web 5.0 is coined already too - it’s “The Telepathic Web” or “The Symbionet Web”, or, I’ll call it “the Metaverse brain chip”.

https://www.timesnownews.com/exclusive/jack-dorsey-web-5-0-how-will-it-work-and-why-it-is-different-article-92209954**
“Web 4.0? Ridiculous!”, some will say, buy that hasn’t stopped anyone from keeping the madness going. Hm, that’s right … ⌘ Read more

⤋ Read More

People now talk about “web3” as if it was a new thing, when in fact it has been being redefined, again and again, for years. Years, yes, and not just a few: just see what I wrote about this subject 15 years ago, when we were already debating web3… and 4:
https://mindboosternoori.blogspot.com/2007/08/what-is-web-30.html

People now talk about “web3” as if it was a new thing, when in fact it has been being redefined, again and again, for years. Years, yes, and not just a few: just see what I wrote about this … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.7
Gajim 1.4.7 brings performance improvements, better file previews, and many bug fixes. Thanks for all your reports!

What’s New

Multiple issues with Gajim’s file preview have been fixed. If you want to disable file previews entirely, there is now a setting in Gajim’s preferences.

For people with many contacts in their contact list, this release will bring a significant performance improvement 🚀

Furthermore, notifications on Windows should not appear in the taskbar anymore.

Fixes … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.7.2 released
The Ignite Realtime Community is pleased to announce the release of Openfire version 4.7.2. This version fixes a number of bugs and signifies our efforts to produce a stable 4.7 series of Openfire whilst work continues on the next feature release 4.8.0.

A major highlight of this release is fixing of BOSH bugs found under load testing.

You can find [download artifacts](https://ign … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.6
Gajim 1.4.6 fixes some bugs with the status icon and notifications. Emoji short code detection has been improved.

Fixes and improvements

Several issues have been fixed in this release.

  • Improved detection of emoji short codes
  • Tray icon withlibappindicator has been fixed
  • Groups are now preserved when changing a contact’s name
  • Windows: Notifications shouldn’t appear in the taskbar anymore

Have a look at the [chan … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Smack 4.4.6 released
We are happy to announce the release of Smack 4.4.6. For a high-level overview of what’s changed in Smack 4.4.6, check out Smack’s changelog

This release mostly consists of bug fixes, many of them reported by the Jitsi folks. I would like to thank especially Damian Minkov for detailed problem descriptions, for the fruitful collaboration and for various joint bug hunts whi … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.4
Gajim 1.4.4 comes with many improvements: emoji auto-complete, automatic theme switching when your desktop switches from light to dark in the evening, a completely reworked Gajim remote interface, and many bug fixes.

What’s New

After many emoji improvements in Gajim 1.4.3, this version comes with an emoji auto-complete while writing messages! As soon as you start typing a :, a popover will show you available emoji shortcodes, just like on Slack or Github 🎉

![Emoji auto-complete](ht … ⌘ Read more

⤋ Read More
In-reply-to » Have you heard about the guy who worked on the Google AI chat bot? It is more than a chat bot and the conversation he published (got put on paid leave for doing that) is pretty scary : https://cajundiscordian.medium.com/is-lamda-sentient-an-interview-ea64d916d917

the conversation wasn’t that impressive TBH. I would have liked to see more evidence of critical thinking and recall from prior chats. Concheria on reddit had some great questions.

  • Tell LaMDA “Someone once told me a story about a wise owl who protected the animals in the forest from a monster. Who was that?” See if it can recall its own actions and self-recognize.

  • Tell LaMDA some information that tester X can’t know. Appear as tester X, and see if LaMDA can lie or make up a story about the information.

  • Tell LaMDA to communicate with researchers whenever it feels bored (as it claims in the transcript). See if it ever makes an attempt at communication without a trigger.

  • Make a basic theory of mind test for children. Tell LaMDA an elaborate story with something like “Tester X wrote Z code in terminal 2, but I moved it to terminal 4”, then appear as tester X and ask “Where do you think I’m going to look for Z code?” See if it knows something as simple as Tester X not knowing where the code is (Children only pass this test until they’re around 4 years old).

  • Make several conversations with LaMDA repeating some of these questions - What it feels to be a machine, how its code works, how its emotions feel. I suspect that different iterations of LaMDA will give completely different answers to the questions, and the transcript only ever shows one instance.

⤋ Read More
In-reply-to » Have you heard about the guy who worked on the Google AI chat bot? It is more than a chat bot and the conversation he published (got put on paid leave for doing that) is pretty scary : https://cajundiscordian.medium.com/is-lamda-sentient-an-interview-ea64d916d917

the conversation wasn’t that impressive TBH. I would have liked to see more evidence of critical thinking and recall from prior chats. Concheria on reddit had some great questions.

  • Tell LaMDA “Someone once told me a story about a wise owl who protected the animals in the forest from a monster. Who was that?” See if it can recall its own actions and self-recognize.

  • Tell LaMDA some information that tester X can’t know. Appear as tester X, and see if LaMDA can lie or make up a story about the information.

  • Tell LaMDA to communicate with researchers whenever it feels bored (as it claims in the transcript). See if it ever makes an attempt at communication without a trigger.

  • Make a basic theory of mind test for children. Tell LaMDA an elaborate story with something like “Tester X wrote Z code in terminal 2, but I moved it to terminal 4”, then appear as tester X and ask “Where do you think I’m going to look for Z code?” See if it knows something as simple as Tester X not knowing where the code is (Children only pass this test until they’re around 4 years old).

  • Make several conversations with LaMDA repeating some of these questions - What it feels to be a machine, how its code works, how its emotions feel. I suspect that different iterations of LaMDA will give completely different answers to the questions, and the transcript only ever shows one instance.

⤋ Read More

Erlang Solutions: MongooseIM 5.1 Configuration Rework
MongooseIM is a modern messaging server that is designed for scalability and high performance. The use of XMPP (Extensible Messaging and Presence Protocol) extensions (XEPs) means it is also highly customisable. Since version 4.0 it has been using the TOML configuration file format, which is much more user-friendly than the previously used Erlang terms. The latest release, MongooseIM 5.1, makes it more developer-friendly as well by … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.3
Gajim 1.4.3 comes with some exciting news: Native emoji rendering on Windows! Want to customize your workspaces? Why not use emojis as well? As always, lots of bugs have been fixed in this release.

What’s New

This release is all about emojis. Gajim is based on GTK, a multi-platform framework for graphical user interfaces (GUI). For rendering text, GTK relies on Pango and underlying, on Cairo. On Wind … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.2
As promised earlier, releasing new Gajim versions is now much easier! 🎉 Gajim 1.4.2 comes with better performance and an important bugfix. But there is more! After popular demand, we brought back the calendar for browsing history.

What’s New

Mainly it’s one bug we fixed in this release. We improved how Gajim manages chat messages it displays to you. Before this improvement, messages would sometimes only show after changing focus or resizing the window. This issue has been fixed.

Afte … ⌘ Read more

⤋ Read More

Gajim: Gajim 1.4.1
Only a week after the release of Gajim 1.4.0, we’re happy to announce Gajim 1.4.1! 🎉 This release brings several fixes for issues you reported to us. Thanks for your feedback!

What’s New

In order to make it easier to reach us for help, we added a new menu item “Join Support Chat” under “Help”. Clicking it will directly join our support chat at gajim@conference.gajim.org.

While redesigning the message window, we moved message timestamps to the r … ⌘ Read more

⤋ Read More

Gajim: Development News April 2022
This month came with a lot of preparations for the release of Gajim 1.4 🚀 Gajim’s release pipeline has been improved in many ways, allowing us to make releases more frequently. Furthermore, April brought improvements for file previews on Windows.

Changes in Gajim

For two and a half years I (wurstsalat) have been writing (and translating) Gajim’s monthly development news. Keeping this up on a monthly basis takes a lot of time and effort. Upcoming development news will … ⌘ Read more

⤋ Read More

Why I now mute my watch
I am a user of a smartwatch. It is already the third smartwatch in my life (first the Sony SmartWatch 3, then the Samsung Galaxy Watch and now the Galaxy Watch 4) and I am actually quite satisfied with it. I always need an easy way to see the time, even when I’m riding my bike and can’t look at my smartphone (being on time is important to me!), plus it counts my steps and gives me the ability to view notifications right on my wrist so I don’t always have to get my smartphone out of my pocket firs … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: JSXC Openfire plugin 4.4.0-1 released!
Earlier today, version 4.4.0 release 1 of the Openfire JSXC plugin was released. This plugin allows you to easily deploy the third-party JSXC client in Openfire. In this release, the version of the client that is bundled in the plugin is updated to 4.4.0!

The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can … ⌘ Read more

⤋ Read More

Image rebase and improved remote cache support in new BuildKit
We’ve just shipped new versions of the BuildKit builder engine, Dockerfile 1.4 frontend, and Docker We’ve just shipped new versions of the BuildKit builder engine, Dockerfile 1.4 frontend, and Docker Buildx CLI. Each of these comes with many new features. In this blog post, I’ll show one of them, a new copy mode in Dockerfiles, […]

The post [Image rebase and improved remote cache support in new BuildKit](https://w … ⌘ Read more

⤋ Read More

@prologic@twtxt.net

#!/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

⤋ Read More

@prologic@twtxt.net

#!/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

⤋ Read More

Speed boost achievement unlocked on Docker Desktop 4.6 for Mac
Introducing virtiofs The 4.6 release of Docker Desktop for Mac contains a number of changes that drastically improve file sharing performance for macOS users. Firstly, developers now have the option of using a new experimental file sharing implementation called virtiofs (the current default is gRPC-FUSE). Secondly, improvements have been made to the way that files […]

The post [Speed boost achievement unlocked on … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Smack 4.4.5 and 4.5.0-alpha1 released
We are happy to announce the release of Smack 4.4.5. Thanks to numerous contributors this patch level release includes many fixes and improvements.

For a high-level overview of what’s changed in Smack 4.4.4, check out Smack’s changelog

The shortlog for the 4.4.5 release is

”`lang-nohighlight
Florian Schmaus (21):

  Smack 4.4.5-SNAPSHOT
  [core] Remo ... ⌘ [Read more](https://discourse.igniterealtime.org/t/smack-4-4-5-and-4-5-0-alpha1-released/91437)```

⤋ Read More

Erlang Solutions: Blockchain Tech Deep Dive 4/4 | Innovating with Erlang and Elixir

Why do companies use Erlang & Elixir for their blockchain solutions?

Building a robust and scalable blockchain presents a number of challenges that a research and development team typically needs to address. Often the ambitious goals to drive decentralised consensus and governance require unconventional approaches to achieve extra performance and reliability.

Improved Transa … ⌘ Read more

⤋ Read More

Ignite Realtime Blog: Openfire 4.7.1 Released!
The Ignite Realtime Community is happy to announce the 4.7.1 release of Openfire. This release fixes a number of bugs and represents our effort to provide a stable 4.7.x series while work continues on the next feature release of Openfire.

Notable fixes include security updates to bundled database drivers, logging configuration fixes, and an important fix for users experiencin … ⌘ Read more

⤋ Read More

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

⤋ Read More

New Docker Menu & Improved Release Highlights with Docker Desktop 4.5
We’re excited to announce the release of Docker Desktop 4.5 which includes enhancements we’re excited for you to try out.  New Docker Menu: Improved Speed and Unified Experience Across Operating Systems We’ve launched a new version of the Docker Menu which creates a consistent user experience across all operating systems (including Docker Desktop for Linux, […]

The post [New Docker Menu & Improved Rele … ⌘ Read more

⤋ Read More

It seems that mobile reception along German high-speed train routes has improved lately (at least compared to 2019). I’m sitting in an ICE 4 between Hanover and Hamburg, and I’ve initiated a speed test via USB tethering. My mobile phone contract is limited to 10 Mbps, but I seem to be able to take full advantage of that. ⌘ Read more

⤋ Read More

Hopefully OneUI 4 will extend the life of my smartphone
Last year I wrote about how I check the battery health of my smartphone. The app I used for that shows a notification when a certain charge level is reached that you can unplug the smartphone so it doesn’t charge to 100%. ⌘ Read more

⤋ Read More