Searching txt.sour.is

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

I’ve always found that “living at my means” has paid dividends. To many folks, ‘round these parts, they’d consider it “living below my means,” but that’s mostly because they “live beyond their means.” Ask HN: How can I prepare for hard economic times? | Hacker News

⤋ Read More

Sam Whited: Joanna
”`
Sipping my tea, I think back and remember Joanna:
Quietness isn’t the same for me now.

You came to America, wondering what you’d find:
Atlanta in a forest of broken dreams,
A people in turmoil, and no one seems to know why.
Communities falter before they’ve begun.

A lawnmower hums and I wake from my reverie.
I’d forgotten, about your America.

Driving to the North, far away from the city.
You looked for meaning in every farm passing by.
I bought you peanuts and gave you a tour of the mountains.

We d … ⌘ 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

Vulnerability Alert: Avoiding “Dirty Pipe” CVE-2022-0847 on Docker Engine and Docker Desktop
You might have heard about a new Linux vulnerability that was released last week, CVE-2022-0847, aka “Dirty Pipe”. This vulnerability overwrites supposedly read-only files in the Linux kernel host, which could enable attackers to modify files inside the host images from the container instance. If you use Docker Engine natively, we recommend you should update … ⌘ Read more

⤋ Read More
↳ In-reply-to » For instance I normally use the same RSA key/pair on all my workstations for my 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 :)

⤋ Read More
↳ In-reply-to » For instance I normally use the same RSA key/pair on all my workstations for my 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 :)

⤋ Read More

Everything related to compensation becomes much less confusing once you accept that hiring is a market. Like any market, supply and demand drives the prices. Nothing else matters much. Ask HN: Is your company considering inflation in this year’s comp review cycle? | Hacker News

⤋ Read More
↳ In-reply-to » @prologic 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.

I would HIGHLY recommend reading up on the keybase architecture. They designed device key system for real time chat that is e2e secure. https://book.keybase.io/security

A property of ec keys is deriving new keys that can be determined to be “on curve.” bitcoin has some BIPs that derive single use keys for every transaction connected to a wallet. And be derived as either public or private chains. https://qvault.io/security/bip-32-watch-only-wallets/

⤋ Read More
↳ In-reply-to » @prologic 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.

I would HIGHLY recommend reading up on the keybase architecture. They designed device key system for real time chat that is e2e secure. https://book.keybase.io/security

A property of ec keys is deriving new keys that can be determined to be “on curve.” bitcoin has some BIPs that derive single use keys for every transaction connected to a wallet. And be derived as either public or private chains. https://qvault.io/security/bip-32-watch-only-wallets/

⤋ Read More
↳ In-reply-to » @prologic 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.

For instance I normally use the same RSA key/pair on all my workstations for my 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.

⤋ Read More

INTERFERENCE: Freeland’s office “pressured” legacy media to change critical stories

Image

Today on the Candice Malcolm Show, Candice is joined by Rachel Emmanuel, who recounts the story and talks about the fundamental problems facing the media and why trust in journalists is at an all time low. ⌘ Read more

⤋ Read More

Why everyone should be concerned about Ontario’s critical race theory bill

Image

A new bill likely to be passed by Ontario’s legislature is seeking to enshrine critical race theory and its associated beliefs and practices in law. Bill 67, otherwise known as the Racial Equity in the Education System Act, was first proposed by NDP MPP Laura Mae Lindo in 2021. ⌘ Read more

⤋ Read More

First Nations chief warns MPs as Emergencies Act inquiry begins

Image

Parliamentarians convened a first-of-its-kind inquiry into Prime Minister Justin Trudeau’s use of the Emergencies Act on Monday, the same day the Assembly of First Nations national chief expressed concerns over the act’s ability to label activists as criminals. ⌘ Read more

⤋ Read More

Conservative leadership race turns nasty between Poilievre and Brown

Image

As the leadership race for the Conservative Party of Canada (CPC) deepens, candidates Pierre Poilievre and Patrick Brown have started butting heads hard. The furor seems to have started when political adviser Jenni Byrne, who is currently working on Poilievre’s campaign, released an attack ad against Brown on Sunday. The two-minute ad … ⌘ Read more

⤋ Read More

Docker: Nine Years YOUNG
Nine years ago today, March 15, 2013, Solomon Hykes, the founder of Docker, first demoed Docker publicly to the world at PyCon. On stage Solomon noted that, for developers, “shipping to the server is hard,” and thus he and the early team designed Docker to help developers more easily build, share, and run any app, […]

The post Docker: Nine Years YOUNG appeared first on Docker Blog. ⌘ Read more

⤋ Read More

Docker Business now available for purchase on the Amazon Web Services Marketplace
Today, Docker and Amazon are happy to announce the availability of Docker Business on the Amazon Web Services (AWS) Marketplace. This is a huge step in providing more choice and flexibility to Docker and AWS customers, so you can procure the Docker Application Development Platform – including leading tools, services, integrations, and content – through […]

The post [Docker Bus … ⌘ Read more

⤋ Read More

Nix 2.7.0 released
We’re pleased to announce the availability of Nix 2.7.0. It will be
available from
NixOS - Getting Nix / NixOS.

Here are the release notes:

  • Nix will now make some helpful suggestions when you mistype something
    on the command line. For instance, if you type nix build
    nixpkgs#thunderbrd, it will suggest
    thunderbird.

  • A number of “default” flake output attributes have been renamed.
    These are:

    • defaultPackage.<system></system> → packag ... ⌘ [Read more](https://nixos.org/blog/announcements.html#nix-2.7.0)

⤋ Read More

Hello! 👋 I haven’t lost the desire to blog, nor have I decided on Digital Detox, it’s just that I’m currently busy moving. Instead of continuing to program my own stuff after work and pouring my thoughts into blog articles, I had to pack boxes. Today was my last workday in the home office in the old apartment, Monday is the first workday in the home office in my new apartment. Then my blogging frequency will probably remain rather low, because I still have to clear out the old apartment, but I may have a little more … ⌘ Read more

⤋ Read More

Docker’s Response to the Invasion of Ukraine
Docker is closely following the events surrounding the Russian invasion of Ukraine. The community of Docker employees, Docker Captains, developers, customers, and partners is committed to creating an open, collaborative environment that fosters the free and peaceful exchange of ideas. The tragedy unfolding in Ukraine is in opposition to what our community stands for and […]

The post [Docker’s Response to the Invasion of Ukraine](https://www.docker.co … ⌘ Read more

⤋ Read More

PEP 685: Comparison of extra names for optional distribution dependencies
This PEP specifies how to normalize distribution _extra_
names when performing comparisons.
This prevents tools from either failing to find an extra name or
accidentally matching against an unexpected name. ⌘ Read more

⤋ Read More

How to Build a Bike Generator with Control Panel
We built a pedal-powered generator and controller, which is practical to use as an energy source and exercise machine in a household — and which you can integrate into a solar PV system. We provide detailed plans to build your own, using basic skills and common hand tools. ⌘ Read more

⤋ Read More

Video: C Programming on System 6 - Talking to the Modem
Starting work on adding a serial module to join the console and telnet inputs, to allow calls through a modem. I got stuck for a while trying to figure out why writes to the serial port would hang the machine. ⌘ Read more

⤋ Read More

The XMPP Standards Foundation: The XMPP Newsletter February 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of February 2022.

Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more a … ⌘ Read more

⤋ Read More

whether cryptocurrencies are more or less likely to be stable during a multipolar ai takeoff depends on whether our current cryptography is “endgame” or not, i.e. whether it’s in practice basically uncrackable by any advanced actor

⤋ 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: Is Elixir the Right Choice for Hypergrowth Startups
We always love to see and share stories that so perfectly capture the benefits of using Elixir. Today, we’ll be taking a look at an example that captures why Elixir is the perfect technology for startups that are anticipating fast growth, including how choosing Elixir allows your development team to focus on improving the product.

![](https://www.erlang-solutions.com/wp-content/uploads/2022/02/walnut-logo.pn … ⌘ Read more

⤋ Read More

Our response to the war in Ukraine
As the global response to the tragedies in Ukraine and other impacted regions continues to evolve, I wanted to share with our community an expansion of the message that I shared earlier this week with our Hubbers. ⌘ Read more

⤋ Read More

What you need to know about macOS X 10.14 Deprecation
Docker supports Docker Desktop on the most recent versions of macOS. That is, the current release of macOS and the previous two releases. As new major versions of macOS are made generally available, Docker stops supporting the oldest version and supports the newest version of macOS (in addition to the previous two releases). Keeping with […]

The post [What you need to know about macOS X 10.14 Deprecation](https://www.docker.com/blo … ⌘ Read more

⤋ Read More

to do: go nuclear on a date and explain that im just performing an act, that i studied this in detail and trained myself to do it, that this is a deliberate effort to escape my patheticness

⤋ Read More

NixOS Community Survey 2022
The NixOS Marketing Team is pleased to announce the first offical
NixOS Community Survey.
Please take 5-10 minutes to complete it.

Since the Nix community has been growing faster and larger every month, it’s gotten harder to
understand who makes up the community and what everyone cares about. So we’re conducting this survey
to improve our understanding of those questions. We hope to use your responses to devel … ⌘ Read more

⤋ Read More

Monal IM: Insights into Monal Development

TLDR:

_Info: Monal will stop support for iOS 12, iOS 13 and macOS Catalina!

We are searching for a SwiftUI developer.

We need a new simplified website.

With better continuous funding, our push servers will move from the US to Europe.

We have a new support mail: info@monal-im.org_

Two years ago we decided to rewrite the Monal app almost entirely and improve it gradually in the process, instead of creating another XMPP Client for iOS and macOS. We suc … ⌘ Read more

⤋ Read More

To quite the article Минулого тижня, 15 лютого, на систему доменних імен домену gov.ua була здійснена DDOS-атака потужністю понад 150 Gbps.

⤋ Read More

I guess you already know, and you’re asking exactly because you know.. But programming does not create value, it creates programs, which may create value.. Ask HN: What’s the best way to monetize actual programming? | Hacker News

⤋ Read More

You can’t tell people; here is a dial, you can pick ‘fast and you’re screwed later’ or ‘slow and careful now’. You’re setting yourself up for failure; they cannot pick ‘slow and careful’, because that’s not their job; their job is to quickly deliver value/outcomes/whatever. We sound like idiots when we talk about technical debt | Hacker News

⤋ Read More

If a completely context-free self-tracking app exists, I am not aware of it. Every tracking app seems to apply only to a certain narrow topic - often sport or food. And then all the apps send the data to a central server, which makes me uncomfortable. A Syntax for Self-Tracking

⤋ Read More

MikaelStenstrand/my-outfit-app

Image

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

⤋ Read More

janetanne/outfitless

Image

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

⤋ Read More

** 2022-02-24 feature/6.0 Android test plan **

Overview

Will test the upgrade path from a known state to new version to ensure that settings and app state are maintained during upgrade process.

V. 6.0 of libro.fm android app introduces an entirely new local database. This testing is focused on ensuring that local data remains intact between versions.

Notes

This evening I was mostly focused on setting up a successful build of feature/6.0 on my test device or the emulator. So far, no dice. My next … ⌘ Read more

⤋ Read More

AppDev Challenges and Trends to Watch in 2022
Over the last few years, development teams have been pushed to do a lot more with less. The global supply chain disruptions caused by the pandemic and the chip manufacturing shortage in particular impacted the tech industry. These factors have moved developer workloads toward the cloud, created a more asynchronous and remote workforce, and increased […]

The post [AppDev Challenges and Trends to Watch in 2022](https://www.docker.com/blog/appdev-cha … ⌘ Read more

⤋ Read More

JMP: Why Bidirectional Gateways Matter
A big part of the vision of Sopranica, and Cheogram in particular, is bidirectional gateways.  A bidirectional gateway is one that allows (at a minimum) any user of either protocol to contact any user of the other protocol without creating an account.  This is not possible with all protocols, but works well when both sides are federated.

Simple Example

Take for instance sip.cheogram.com, which is a bidirectional gateway between XMPP and SIP.  Any … ⌘ Read more

⤋ Read More

Black Innovators That Paved the Way
While diverse experiences and perspectives should be sought after and celebrated every day, Black History Month is a wonderful opportunity to reflect on and celebrate the many contributions of Black Americans. Recognizing the ingenuity of Black people in technology is incredibly important –  especially when a large diversity gap of historically overrepresented groups is so […]

The post [Black Innovators That Paved the Way](https://www.docker.com/blog/black-innovators … ⌘ Read more

⤋ 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