toad.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server operated by David Troy, a tech pioneer and investigative journalist addressing threats to democracy. Thoughtful participation and discussion welcome.

Administered by:

Server stats:

274
active users

#posix

8 posts7 participants0 posts today

This is a screen capture of KDE Connect on one of my Androids.

As you can clearly see my LAN has quite an amount of devices. All of these devices are being used by me.
They have specific purposes which makes my Android experience along with my Computing experience versatile and efficient.

I did not know how important KDE connect was for me. When I learned about it, I knew that it doesn't just enrich what I can do

KDE Connect is not a gimmick where I can control a Media Player, without any network connectivity by itself, from any of my KDE Connect devices. Many different functions can be handled smoothly without any problems, with the highest Speed that my wLAN can deliver from the point of my view of the LAN routers I have in my network.

Right now I'm using a wLAN router that is portable. This enables me to have the most efficient data transfer Speed between the devices I have on me without any snooping from any Big Company.

Is the "$(blah)" syntax actually valid #posix #shell? I always use it because I think it's clearer than backticks for command substitution, but the #vim syntax highlighter complains about it unless I make the shebang '#!/bin/bash'. With '#!/bin/sh' it's highlighted like a syntax error. But it's supported by more shells than just #bash, so I don't really want to use the Bash shebang.

The POSIX spec seems to suggest that it's legal: pubs.opengroup.org/onlinepubs/. So why does vim and #neovim disagree?

When was the last time you have played with KDE Connect?

You've never heard of that? Let me enlighten you. KDE Connect is a suite of very handy Network tools, to get the maximum out of the transfer and the control of data & programs between your KDE computer and your Androids.

It is in fact so versatile that even if your KDE computers are not connected, you can still do a lot of things between your Androids which are running the network software suite.

There are so many things you can do you should just download it yourself and put it on your Androids

A few highlights are transferring files between your devices in a transparent manner where no company like Google can snoop anything

Controlling media players from 1 device through all the others.

Getting notifications between different devices and even getting output, graphical output from different devices on others.

Controlling your Android with a mouse from a KDE Connect computer

The list goes on

Note:
If you're running a Linux distro with a running firewall, you have to make sure that your firewall has all the ports open for KDE connect. There are examples of the ports needed, in the docs.
I also have them {for {g}ufw}

#Linux#Android#KDE

Today I read through zfs-allow(8) and spent some time to create the perfect permission set for my experiment. It bothered me that the chmod command in Example 1 was not based on #FreeBSD chmod(1). So I came up with a fancy setfacl -a 0 user:zfsrecvuser:rwxp—aARWcCos:dir_inherit:allow /myrecvzpool/myvmbackup and all that did was to change the “cannot mount” message from “failed to create mountpoint: Permission denied” to “Insufficient privileges” in spite of vfs.usermount=1 in my sysctl.conf. I was frustrated. Then I thought mac(3) could solve my problem until I found out that this would be based on #posix and I probably do not want to change the default nfsv4 acltype of my #ZFS dataset. Then it finally occured to me that I could just chown the directory in question to zfsrecvuser which did the trick. Then I realised that this scary error message did not harm the smooth arrival of my beautiful snapshot with carefully crafted properties anyway. I just had to mount manually with sufficient privileges. Next time I will just use zfs-autobackup. But being aware of some details does not hurt I guess.

Jeff Geerling got the brunt of YouTube wrath when he showed people how to host their own media {media that they legally own, which means that they either have the originals, or have paid for whatever digital version they have} with the power of Open Source tools
Jeff explicitly made sure that he never ever told people how to circumvent subscriptions or worse. Nothing that could harm YouTube bottomline was ever discussed in this video.

Yet for reasons obvious to Open Source people like me YouTube gave him his second strike.

3rd Strike and you're gone. This is how Google / this is how Alphabet is treating their Golden Geeze.

Creators like Jeff are very valuable both to the people who follow them and to YouTube. However Google seems to be at Super odds with Open Source, needing it to run their data centers but hating it because they have to share the code again that they've worked upon.

Google is a paradoxical Company which is being controlled by Alphabet, a schizophrenic Entity drunk on power Ads and control

To me you're a star @geerlingguy keep Shining

jeffgeerling.com/blog/2025/sel

Git is a tool I like, a lot. Before git, you could do RCS {& some others} which is a totally different tool set.

In this video Linus Torvalds talks about the way he created Git two+ decades ago.

What immediately Springs into view, is the fact that Linus gave control of the git project to someone else, as soon as he could he did not want to stay with the project for too long.

Git was created because of pure necessity; it was vital for kernel revision control

youtube.com/watch?v=sCr_gb8rdE

#Git#Linus#Torvalds
Continued thread

Solved! 🥳

This was a pretty "interesting" bug. Remember when I invented a way to implement #async / #await in #C, for jobs running on a threadpool. Back then I said it only works when completion of the task resumes execution on the *same* pool thread.

Trying to improve overall performance, I found the complex logic to identify the thread job to put on a pool thread a real deal-breaker. Just having one single MPMC queue with a single semaphore for all pool threads to wait on is a lot more efficient. But then, a job continued after an awaited task will resume on a "random" thread.

It theoretically works by making sure to restore the CORRECT context (the original one of the pool thread) every time after executing a job, whether partially (up to the next await) or completely.

Only it didn't, at least here on #FreeBSD, and I finally understood the reason for this was that I was using #TLS (thread-local storage) to find the context to restore.

Well, most architectures store a pointer to the current thread metadata in a register. #POSIX user #context #switching saves and restores registers. I found a source claiming that the #Linux (#glibc) implementation explicitly does NOT include the register holding a thread pointer. Obviously, #FreeBSD's implementation DOES include it. POSIX doesn't have to say anything about that.

In short, avoiding TLS accesses when running with a custom context solved the crash. 🤯

Replied in thread

@atoponce

There seem to be no answers matching "back". Both options match "up".

I think that you've overlooked an even more important poll that might be the shibboleth of our time: Does one go up and down a tree? Or does one go back and forth a tree?

Has the tree been chopped down?

(-:

In the Everlasting search for clients and servers Federated, detached from corporate underlords, connected to the masses I learned about the following client server duo

Client: Delta Chat
Servers: Chat Mail servers

One thing that jumps immediately into attention, is the fact that when you download the client, select a server, you get a QR code

When you've configured your client, you will immediately notice that you do not need to enter a password for your client. The system is passwordless by default.

You do not need to enter a multi-factor authentication code it doesn't need it.

What you need to do is be careful with, is who you share your link with. Go and play with it, see if it something for you

delta.chat/en/

Just released: #swad 0.11 -- the session-less swad is done!

Swad is the "Simple Web Authentication Daemon", it adds cookie/form #authentication to your reverse #proxy, designed to work with #nginx' "auth_request". Several modules for checking credentials are included, one of which requires solving a crypto challenge like #Anubis does, to allow "bot-safe" guest logins. Swad is written in pure #C, compiles to a small (200-300kiB) binary, has minimal dependencies (zlib, OpenSSL/LibreSSL and optionally libpam) and *should* work on many #POSIX-alike systems (#FreeBSD tested a lot, #Linux and #illumos also tested)

This release is the first one not to require a server-side session (which consumes a significant amount of RAM on really busy sites), instead signed Json Web Tokens are now implemented. For now, they are signed using HMAC-SHA256 with a random key generated at startup. A future direction could be support for asymmetric keys (RSA, ED25519), which could open up new possibilities like having your reverse proxy pass the signed token to a backend application, which could then verify it, but still not forge it.

Read more, grab the latest .tar.xz, build and install it ... here: 😎

github.com/Zirias/swad

GitHubGitHub - Zirias/swad: Simple Web Authentication DaemonSimple Web Authentication Daemon. Contribute to Zirias/swad development by creating an account on GitHub.

With keen interest I studied the following blogpost by @stefano

You have to read the blog post carefully, if necessary, read it twice, because there are things said between the words and the lines that should resonate with you

One major lesson is extremely important know when to cut and leave; never ever deviate from your course afterwards

When politics, corruption and deviousness are involved, you have to make absolutely certain that both your integrity and your health remain at your primary interest

A lot has been learned by me from this article

Thank you for sharing it with us Stefano

it-notes.dragas.net/2025/05/21

Just released: #swad 0.10

github.com/Zirias/swad/release

Swad is the "Simple Web Authentication Daemon". If you're looking for a way to add #authentication (and/or proof-of-work access as known from #anubis) to your #nginx reverse proxy -- without adding yet another reverse proxy -- swad could be for you! It's written in pure #C, has few external dependencies (just zlib, and optionally OpenSSL/Libressl and/or libpam) and compiles to a pretty small binary. It's designed for usage with nginx' 'auth_request'.

Swad is tested on #FreeBSD, some basic functionality tests were also done on #Linux and #illumos (descendant from #solaris). It *should* build and work on most #POSIX-alike systems.

This release mainly brings performance improvements and a few bugfixes. It's now stress-tested with Apache jmeter, verifying it can deal with at least 1000 requests per second on my personal (somewhat limited) FreeBSD host machine.

GitHubRelease swad 0.10 · Zirias/swadBreaking changes: Correct integration with nginx now requires using an internal redirect, see the updated nginx config snippet in README.md! Improvements: Don't use CSRF protection where it isn'...