Searching txt.sour.is

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

JMP: Computing International Call Rates with a Trie
A few months ago we launched International calling with JMP.  One of the big tasks leading up to this launch was computing the rate card: that is, how much calls to different destinations would cost per minute.  While there are many countries in the world, there are even more calling destinations.  Our main carrier partner for this feature lists no fewer than 59881 unique phone number prefixes in the rates they charge us.  This list is, quite frankly, incomprehen … ⌘ Read more

⤋ Read More

Erlang Solutions: Using Elixir and WhatsApp to Fight COVID19

Introduction:

Discover the inside story of how the World Health Organisation’s WhatsApp COVID-19 hotline service was launched in 5 days using Elixir. At the beginning of March 2020, Turn.io launched the world’s first WhatsApp-based COVID-19 response for the South African Ministry of Health. The service was designed, deployed, stress-tested, and launched.

In 5 days. It scaled, before any kind of public launch, to 450K unique … ⌘ Read more

⤋ Read More

Mastodon 3.5 finally supports the Update ActivityPub activity. GoBlog supports sending updates for quite a while already, but only Pleroma showed the updated posts and not Mastodon. That would have been useful recently, when I posted “Spaces!” but wanted to post “Tabs!” and updated my post. 😅 ⌘ Read more

⤋ Read More

How to secure your end-to-end supply chain on GitHub
Securing your projects is no easy task, but end-to-end supply chain security is more top of mind than ever. We’ve seen bad actors expand their focus to taking over user accounts, commonly used dependencies, and also build systems. Defending against these attacks is hard, because there’s no one thing you can do to protect your […] ⌘ Read more

⤋ Read More

Profanity: Profanity and OpenPGP for XMPP (OX)
We have been to implement OX in profanity. OX is
XEP-0374: OpenPGP for XMPP Instant Messaging which
may replace XEP-0027: Current Jabber OpenPGP Usage.

It is part of Profanity since version 0.10 but got some fixes since then.

Feel free to try and test the implementation. Let us know, if you have some
issues and support the development via testing and reporting bugs.

Ho … ⌘ Read more

⤋ Read More

Understanding Color Management
I worked on a project where I dived deep into understanding how modern
color management works, including things like color spaces, ICC profiles
and more. As I learnt here and there, I decided to write this post, both
for my future self, and others who may struggle with some of the
concepts as well.

What is color management?

Color management deals with translating between representations of
colors across a variety of devices. Throughout this post, we’ll use
natural language as … ⌘ Read more

⤋ Read More

use known inconsistencies of human preferences as value-learning trip-wires: if the value learning algorithm hasn’t learned them yet, it’s operating at the wrong level of abstraction.

⤋ Read More

Erlang Solutions: 5 Key Tech Priorities for Fintech Leaders in 2022
Issues caused by sub-optimal tech choices are commonplace in the industry, leading to companies failing under unexpected stress or being unable to adapt in time when their business requirements change.

While no two projects are the same, we’ve observed some common themes for using scalable futureproof technologies to build diverse fintech systems. Taking advantage of these learnings sets financial service provi … ⌘ Read more

⤋ Read More

Alright, check this out. I just kinda completed today’s project of converting a jeans into a saw bag. It’s not fully done, the side seams on the flap need some more hand sewing, that’s for sure. No, I don’t have a sewing machine. Yet?

Image

At first I wanted to put in the saw on the short side, but that would have made for more sewing work and increased material consumption. As a Swabian my genes force me to be very thrifty. Slipping in on the long side had the benefit of using the bottom trouser leg without any modification at all. The leg tapers slightly and gets wider and wider the more up you go. At the bottom it’s not as extreme as at the top.

The bag is made of two layers of cloth for extra durability. The double layers help to hide the inner two metal snap fastener counter parts, so the saw blade doesn’t get scratched. Not a big concern, but why not doing it, literally no added efforts were needed. Also I reckon it cuts off the metal on metal clinking sounds.

The only downside I noticed right after I pressed in the receiving ends of the snap fasteners is that the flap overhangs the bag by quite a lot. I fear that’s not really user-friendly. Oh well. Maybe I will fold it shorter and sew it on. Let’s see. The main purpose is to keep the folding saw closed, it only locks in two open positions.

Two buttons would have done the trick, with three I went a bit overkill. In fact the one in the middle is nearly sufficient. Not quite, but very close. But overkill is a bit my motto. The sides making up the bag are sewed together with like five stitch rows. As said in the introduction, the flap on the hand needs some more love.

Oh, and if I had made it in a vertical orientation I would have had the bonus of adding a belt loop and carrying it right along me. In the horizontal layout that’s not possible at all. The jeans cloth is too flimsy, the saw will immediately fall out if I open the middle button. It’s not ridgid enough. Anyways, I call it a success in my books so far. Definitely had some fun.

⤋ Read More

Annotate PDFs on Linux
This post is about a GUI tool called pdfrankestein that
fills a gap on mostly Linux machines where a powerful and easy to use
PDF annotator does not exist.

Adobe Acrobat® on Windows and Mac allow you to add text, drawings and
signatures to PDF documents. This is useful when filling forms or
marking notes to send back to someone. Such a tool with similar
capabilities and easy of use does not exist on Linux. The reason that’s
often cited is that PDF is a c … ⌘ 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
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

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

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

How Kubernetes works under the hood with Docker Desktop
Docker Desktop makes developing applications for Kubernetes easy. It provides a smooth Kubernetes setup experience by hiding the complexity of the installation and wiring with the host. Developers can focus entirely on their work rather than dealing with the Kubernetes setup details.  This blog post covers development use cases and what happens under the hood […]

The post [How Kubernetes works under the hood with Docker Desktop … ⌘ Read more

⤋ 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

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

What a good feeling when the hours you have invested in optimizing and testing actually bear fruit. In other words, my blog now uses less than 100 MB of memory, even though I have quite a few features enabled. My diary for example needs less than 20 MB. And if you compare that with WordPress, where the database alone needs more than 300 MB… 😄 ⌘ 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

Firefox on Chrome OS (Flex) using Flatpak
More for fun than being really useful, here’s a little tutorial on how to use Firefox on Chrome OS (Flex) (for me, it’s currently version 100 in the Dev Channel). But beware, the user experience really leaves a lot to be desired… ⌘ Read more

⤋ Read More

Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more

⤋ Read More

Ok, so I have now installed CloudReady, switched to the beta channel as well, but I can’t use Linux because my CPU is not secured against Spectre/Meltdown and CloudReady doesn’t come with microcode updates. Until that comes, my ThinkPad will probably only be for browsing, watching videos, and blogging… ⌘ Read more

⤋ Read More

Erlang Solutions: Saving lives with Elixir
When you think about programming languages, you might not think about them literally changing people’s lives, but they do more often than you would expect. Elixir has empowered Linda Achieng and Sigu Mawa to build emergency software that is already saving lives in Kenya. What started with the death of a close friend, has expanded into an inspirational project, with Elixir being used to empower local com … ⌘ Read more

⤋ Read More

Debugging an ioctl Problem on OpenBSD
I was trying to use a V4L2 Ruby module for a project on my OpenBSD laptop but ran into a problem where sending the V4L2 ioctls from this module would fail, while other V4L2 programs on OpenBSD worked fine. ⌘ Read more

⤋ Read More

i hope that after i’ve aged, I will approach technology with the mindset of either “how can i use this to make cool shit” or “how can i make this technology safer”.

⤋ 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.

Image

Image

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

⤋ Read More

The Impacts of an Insecure Software Supply Chain
Today, software regularly integrates open-source code from third-party sources into applications. While this practice empowers developers to create more capable software in a shorter time frame, it brings with it the risk of introducing inadequately vetted code. How aware are we of the security of our open-source code? Most of us use pip or npm […]

The post [The Impacts of an Insecure Software Supply Chain](https://www.docker.com/blog/the-im … ⌘ Read more

⤋ Read More

@benk@kwiecien.us I haven’t actually looked at the original twtxt client, which means the following is ill-conceived speculation, but I believe that it only fetched feeds when you “refreshed”, with a minimum time between feed fetches. Sure, you’ll fetch feed unnecessarily now and then, but not nearly as often as polling every 5 minutes ;)

⤋ Read More

Wikipedia article on Banach spaces: “Maurice René Fréchet was the first to use the term »Banach space« and Banach in turn then coined the term »Fréchet space.«” that is very cute.

⤋ Read More

In search of a new printer
At the moment I do not have a working printer at home. I have an inkjet printer, but due to a long period of non-use, the cartridge or the print head has dried up. If I want to print something, I have to do it in a copy store or a drugstore. This is possible, but especially if I need to print something spontaneously, or only a few pages, then the effort is annoying. ⌘ Read more

⤋ Read More

Erlang Solutions: How HCA Healthcare used the BEAM to fight COVID – Code BEAM V Talk review
We often talk about the suitability of the BEAM VM for the Healthcare industry. Afterall, when it comes to Healthcare, downtime can literally be deadly, and no technology is better equipped to deliver high availability and minimal downtime than the BEAM. At Code BEAM V 2020, Bryan Hunter, an Enterprise fellow at one of the biggest Healthcare providers in the world joi … ⌘ Read more

⤋ Read More

Profanity: Profanity on Pinephone
Hi all,

So far, in my pinephone I used mainly GUI applications, because I was using a touch screen. Terminal applications are not user-friendly when it comes to one-handed operation.

I tested different distributions on my pinephone (mobian, manjaro, archarm), but usually most based on Phosh. In my opinion it is currently the best mobile graphics environment and stable as well.

In Phosh I tested few xmpp clients:

  • the default application installed with Phosh is chat … ⌘ Read more

⤋ Read More

Snikket: Server updates for ARM systems
We have a couple of important announcements relevant to people running the
Snikket server software on ARM devices, including Raspberry Pi. Systems using
ARM processors are increasingly popular for self-hosting due to their
increased efficiency, lower cost and minimal energy consumption.

The Snikket January 2022 server release was an
exciting release for us, but some users on ARM-based systems reported some
difficulties upgrading to … ⌘ Read more

⤋ Read More

Cloud Computing and Virtualization Company Citrix To Be Acquired for $16.5B
Citrix, a cloud computing and virtualization company used by companies including Microsoft, Google, and SAP, has revealed plans to be acquired by affiliates of global investment firm Vista Equity Partners, and an affiliate of Elliott Investment Management called Evergreen Coast Capital Corporation. From a report: The all-cash deal i … ⌘ Read more

⤋ Read More

Stream a USB webcam to HDMI on a Raspberry Pi
This post exists to collect my notes on displaying a USB webcam on the Raspberry Pi HDMI outputs. This is not the same as streaming the webcam (easy), and this is not for use with the Raspberry Pi camera module. This is specifically for USB UVC webcams. ⌘ Read more

⤋ Read More

Dockerize your own Game of Thrones’ API
This article will demonstrate a fun and useful use case of docker, where we will create and deploy to production a custom-made API. In our case, it will provide information about the episodes of the TV show “Game of Thrones”. Besides Docker, our stack will include: About the API The API will serve information about […]

The post Dockerize your own Game of Thrones’ API appeared first on [Dock … ⌘ Read more

⤋ Read More

Self-hosting my calendar and contacts using Baïkal
I recently moved my emails to Purelymail. And since I also used the contacts and calendar synchronization feature of my previous email provider, I also transferred the contacts and calendar entries to Purelymail via WebDAV using WinSCP. ⌘ 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

How Docker Desktop Networking Works Under the Hood
Modern applications make extensive use of networks. At build time it’s common to apt-get/dnf/yum/apk install a package from a Linux distribution’s package repository. At runtime an application may wish to connect() to an internal postgres or mysql database to persist some state, while also calling listen() and accept() to expose APIs and UIs over TCP […]

The post [How Docker Desktop Networking Works Under the Hood](https://www.docker.com … ⌘ Read more

⤋ Read More

Prosodical Thoughts: Prosody 0.11.13 released
We are pleased to announce a new minor release from our stable branch.

This is a(nother!) release for our stable branch to fix a memory leak caused
by the security fix. Deployments using websockets, SQL storage and possibly
other configurations may have noticed increasing memory usage after upgrading
to 0.11.12. This is resolved by this new release.

A summary of changes in this release:

Minor changes

⤋ Read More

Release Radar · December 2021 Edition
Many of us were wrapping up projects, emails, events, and getting ready for Christmas. While we were all busy getting ready for the festive season, our community was still hard at work shipping open source ⌘ Read more

⤋ Read More

Peter Saint-Andre: Philosophies and Ways of Life
In his book What Is Ancient Philosophy?, Pierre Hadot almost singlehandedly resurrected the ancient conception of philosophy as a way of life. Consider this observation about the philosophical schools of Greece and Rome: “For us moderns, the notion of a philosophical school evokes only the idea of a doctrinal tendency or theoretical position. Things were very different in antiquity. No university obligations oriented the future philosopher toward a specific school; instead, the futur … ⌘ Read more

⤋ Read More
In-reply-to » I saw the allegedly animated GIF @thecanine 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. Media

What if i told you for a browser it doesn’t matter what the extension is.. it will use the file magic mime value instead.

⤋ Read More
In-reply-to » I saw the allegedly animated GIF @thecanine 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. Media

What if i told you for a browser it doesn’t matter what the extension is.. it will use the file magic mime value instead.

⤋ Read More

How to Purchase a Docker Subscription from a Reseller
With the grace period for the new Docker subscription service agreement ending very soon on January 31, 2022, we want to make it easy for customers to use their preferred reseller to purchase a Docker subscription. That’s why we recently announced that your preferred reseller can now purchase a Docker Business subscription through Nuaware. That’s […]

The post [How to Purchase a Docker Subscription from a Reseller](https://www.docke … ⌘ Read more

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

@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!

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

@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!

⤋ Read More