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
Git security vulnerability announced
Upgrade your local installation of Git, especially if you are using Git for Windows, or you use Git on a multi-user machine. ⌘ Read more
❤️ 🎶: It’s Cold (Take Care Of Us Captain OST) by Song Ji Eun
PicoShare – simple file sharing
Having recently posted about rathole, today I’d like to share another tool I use in combination with rathole: PicoShare. ⌘ Read more
Achieving SLSA 3 Compliance with GitHub Actions and Sigstore for Go modules
Learn how to build packages with SLSA 3 provenance using GitHub Actions. ⌘ 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
The computers used to do 3D animation for Final Fantasy VII… in 1996.
It’s time for a little dive into mid-1990s computer history! ⌘ Read more
Former Ubuntu Snap advocate develops “Unsnap” to help people stop using Snap.
FallOverLaughing.gif. Also StandingOvation.gif. ⌘ Read more
@mutefall@twtxt.net interesting.. were you working on one of the two universities that used it between 1989 and 1991?
@mutefall@twtxt.net interesting.. were you working on one of the two universities that used it between 1989 and 1991?
4 ways we use GitHub Actions to build GitHub
From automating builds and releases to taking care of large-scale regression testing, here are a few ways we use GitHub Actions to build GitHub. ⌘ Read more
Massive price slashes to Lunduke Journal subscriptions… because inflation sucks
We could all use a leg up. Annual subscriptions now cost less, per month, than a gallon of gas… in 1990. ⌘ 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
Controlling the mouse with your keyboard using “warpd”
Works on Linux and Mac. And it’s absolutely bonkers. ⌘ Read more
Vegan, Arch-using, Steam Deck owner who programs in Rust banned from the Internet
“Usually we just sedate them, ship them to Canada, and give them a Reddit or Mastodon account” - Google CEO ⌘ Read more
Robbing Us Blind ⌘ 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
started using esglua, our static site generator | https://compudanzas.net/esglua.html
Back to GitHub
Not too long ago I reported how I build the Docker images for GoBlog using Drone and Docker-in-Docker. ⌘ 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
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.
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
Salary Negotiation
⌘ 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.
@prologic@twtxt.net yeah. For commercial use even. Just need to put an attribution note in the project README
@prologic@twtxt.net yeah. For commercial use even. Just need to put an attribution note in the project README
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
@xuu@txt.sour.is So that means we’re allowed to use it right? 😅
@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
@lyse@lyse.isobeef.org Excellent use of old denim, and also excellent use of long-form twt!
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?
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.
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
#!/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
#!/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
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
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
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net I have seen single use keys that are signed by a central PKI .. Keybase has one that uses a chatbot to generate the keys on the fly.
It just comes down to your threat model :)
ssh client, because that's me, no-matter where I am. The only exception to this rule is I usually create a separate key for any "work" / " company" I am a part of.
@prologic@twtxt.net 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 :)
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/
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/
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.
Only 14% of Canadians “strongly approve” of Trudeau’s pandemic response: poll
First Nations chief warns MPs as Emergencies Act inquiry begins
The 1980s: When PC game box art used pictures of real people
So cheesy. But so awesome. ⌘ 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
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
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.
 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
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
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
Code scanning finds more vulnerabilities using machine learning
Today we launched new code scanning analysis features powered by machine learning. The experimental analysis finds more of the most common types of vulnerabilities. ⌘ 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
when trying to learn a formula using flashcards, prefix the formula with a natural-language explanation. makes it easier to remember.
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
millenial woman who did a degree in *-studies and uses the word “communities” a lot
Include diagrams in your Markdown files with Mermaid
A picture tells a thousand words. Now you can quickly create and edit diagrams in markdown using words with Mermaid support in your Markdown files. ⌘ 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”.
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
How to start using reusable workflows with GitHub Actions
Reusable workflows offer a simple and powerful way to avoid copying and pasting workflows across your repositories. ⌘ Read more
Look at you all using naked links!
Try https://twtxt.net!
Look at you all using naked links!
Try https://twtxt.net!
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
@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 ;)
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.
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
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
How to build a CI/CD pipeline with GitHub Actions in four simple steps
A quick guide on the advantages of using GitHub Actions as your preferred CI/CD tool—and how to build a CI/CD pipeline with it. ⌘ 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
Will have to take a look at Gogs. Ideally wanting it to be easy to have the same ease-of-use to setup a web page as Github and Gitea.
I’ve been running some internal usenet groups for a while, now I’m starting to make more use of them and slap them on the web - https://omg.singles/T7ggI
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
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
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
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
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
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
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
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 changesFile Sharing with Docker Desktop
One of the topics users of Docker Desktop often ask us about is file sharing. How do I see my source code inside my container? What’s the difference between a volume and a bind mount? Why is file sharing slower than on Linux, and how can I speed it up? In this blog post, I’ll […]
The post File Sharing with Docker Desktop appeared first on Docker Blog. ⌘ Read more
@benk@kwiecien.us I am using jenny (we chatted a bit on IRC earlier today). I have been using it for over five months now, I think. It is truly a joy to use, specially because you can use the power of Mutt/NeoMutt to read your twts.
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
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
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.
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.
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
@benk@kwiecien.us I meant literally a few minutes 😄 @prologic@twtxt.net told me he’d just implemented it. Btw, which twtxt client are you using now, Ben?
@prologic@twtxt.net let us take the path of less resistance, that is, less effort, for now. I am going to be a great-grandfather before search ever get implemented locally, least one to search on “all pods”. In other words, let us don’t bite more than we can chew. 😹 Neep-gren!
@prologic@twtxt.net I fully agree with making it a pod-level setting (forget about user-level, let us not complicate things too much; we all know users know nothing). Should I send a latinum over for this, or will an issue just suffice? Neep-gren!
@benk@kwiecien.us https://yarn.social/ has support for fetching feeds over gemini since a few minutes back! Not serving them there that I know of, but that’s just a matter of pointing your gemini server to the twtxt.txt file.