mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

15K
active users

#posix

14 posts10 participants0 posts today
Sugestão pessoal para #TerSoftware sobre #PDF: qPDF Decode (GPLv3+), conjunto de scripts com o único propósito de facilitar salvar versão decifrada de PDF com senha, sem outras alterações.

Como sou uma pessoa metódica que arquiva contas e comprovantes, achava muito incômodo o fluxo de trabalho necessário para isso a cada vez que recebia uma fatura em PDF cifrado: tinha que "salvar como PDF" o PDF aberto com a senha e, mesmo assim, o resultado não era satisfatório. Durante muito tempo, procurei por programas nesse sentido, porém não encontrei algo a contento. Então, decidi programar isso ao mesmo tempo em que aprendia um pouco de #POSIX #Shell.

Agora, basta mandar abrir o PDF com qpdf-decode-gui, escolher onde salvar o resultado — ou o padrão será o mesmo nome do original com o sufixo _decrypted —, informar a senha esperada e pronto: está salvo. 💾

Só testei em :gnu: GNU/Linux, mas é para funcionar em qualquer sistema operacional que implemente POSIX, tenha o programa qpdf (licença Apache2) e, se desejar interface gráfica, também yad (GPLv3). Pode ser integrado aos diversos ambientes desktop mais comuns, seguindo especificações do XDG.

#GNU #Unix #BSD #SoftwareLivre
Summary card of repository daltux/qpdf-decode
Codeberg.orgqpdf-decodeShell scripts for easy decrypting PDF files with password using qpdf and a GUI version with YAD
Continued thread

There's one thing I had not done in a long time which is install a distribution of my choice with a full KDE desktop manager. I haven't done that in more than 2 decades. KDE has been wonderful at it's infancy and KDE is still wonderful now.

Since MX Linux is my distribution of choice, it's logical that I installed the KDE version of that distribution even if it's just for a test drive.

I've allocated just 20 gigs for KDE which means it's tight with space but it's still usable for a test run.

One tool I immediately missed was gparted the powerful gnome UI, which puts the precision of partition manipulation at your fingertips, without the chances of making costly mistakes if you don't pay enough attention or are not affluent enough with the commands in your favorite shell.

I missed that tool during the installation of mxKDE because I needed to add partitiond before the installation could proceed I just left Blank Space on an SSD.

Apart from that I can tell you from the initial view that KDE has not just matured, advanced and elevated itself. KDE has become so lightweight in resource usage that it can complete with very Light Desktop managers.

You can still edit your widgets up to & icons almost the pixel. The things that I love about KDE from decades ago are still there and are even more powerful.

Since I started to use KDE when GPU usage on the desktop was not even a thing, you can imagine how fast the DE is now and a period where GPU usage is normal for everything.

Out of the box KDE is already fantastic. Go and see what KDE can be for you, by installing it yourself

.🖋️ #bash #MX #mxLinux #sh #zsh #ksh #csh #tksh #fish  #distro #KDE #Gnome #Linux #POSIX  #fresh #programming

When you want to run a middleweight Linux distribution and you already love & know Debian but don't want to run on super stable Server level since you are running a workstation *not* a server MX Linux is a very good choice as a distribution for you

You've got the power of Debian you'll get the stability of Debian yet you are bleeding edge and don't have applications which are rock stable but for a workstation a tad old
If you don't have a recent MX Linux installation you can download the new ISO version 23.6

If you have v23.5 there's no need to execute a fresh installation. The updated executables will roll out to you automatically.

mxlinux.org/blog/mx-23-6-now-a

.🖋️ #bash #MX #mxLinux #sh #zsh #ksh #csh #tksh #fish  #distro #Linux #POSIX #fresh #programming

Replied in thread

@feld @pertho Doesn't feel like something I'd like to try though. It would be pretty much #FreeBSD-specific, but worse than that, you shouldn't rely on dtrace availability, as it's an optionally loadable profiling tool (so, it would also be a "misuse" regarding purpose). Related to that, I'm pretty sure it requires superuser privileges for everything, which would be another issue for some general-purpose application software.

No, the "canonical" solution for filesystem watching on a BSD system is indeed #kqueue. And unfortunately, it does fall short a bit compared to #Linux' #inotify. For my #xmoji tool, I wanted notifications about any change on the runtime configuration file, and additionally to the pure #POSIX solution of periodically calling stat() (which is stupid, but still works for a single file), I implemented backends for both inotify and kqueue. For just a single file, kqueue's requirement of having an open file descriptor is just a minor annoyance, but you can deal with that. Note it's not as simple as it sounds in any case, e.g. when the file is deleted, you want to watch the directory of course, so you learn when it's re-created ... which with kqueue requires opendir() 🙈 ... still doable. But for scenarios where you want to watch a whole tree with potentially lots of files and directories, this is really bad and #inotify really shines.

After having read what horrors people experienced when they upgrade their Hugo binaries, I made sure that I've kept the version that I used to make my test site & also consequently use *that* version to continue to teach myself a higher level of fluency in the markdown language

`hugo version`
hugo v0.140.2-aae02ca612a02e085c08366a9c9279f4abb39d94+extended linux/amd64 BuildDate=2024-12-30T15:01:53Z VendorInfo=gohugoio

🖋️ #bash #sh #zsh #ksh #csh #Hugo #Linux #POSIX #FOSS #100daysofCode #640DaysOfCode #1024DaysOfCode #programming

First change since #swad 0.2 will actually be a (huge?) improvement to my #poser lib. So far, it was hardwired to use the good old #POSIX #select call. This is perfectly fine for handling around up to 100 (or at least less than 1000, YMMV) clients.

Some #select implementations offer defining the upper limit for checked file descriptors. Added support for that.

POSIX also specifies #poll, which has very similar #scalability issues, but slightly different. Added support for this as well.

And then, I went on to add support for the #Linux-specific #epoll and #BSD-specific #kqueue (#FreeBSD, #NetBSD, #OpenBSD, ...) which are both designed to *solve* any scalability issues 🥳

A little thing that slightly annoyed me about kqueue was that there's no support for temporarily changing the signal mask, so I had to do the silly dance shown in the screenshot. OTOH, it offers changing event filters and getting events in a single call, which I might try to even further optimize ... 😎

Should've made this a long time ago:

function ciglob {
    #case-insensitive glob generator
    echo "$*" |while read -N1 c; do
        case "$c" in
            [a-zA-Z])   echo -n "[${c^^}${c,,}]";;
            *)          echo -n "$c"
        esac
    done
}
~ $ ciglob "Hello, world!"
[Hh][Ee][Ll][Ll][Oo], [Ww][Oo][Rr][Ll][Dd]!
~ $ ls -ld $(ciglob documents)
drwxr-xr-x 52 ~~~ ~~~ 20,480 Apr 10 11:45 Documents

(Not the most useful example, but I did have a use case in mind when I wrote it ;)

P.S. (This is a valid way to close a parenthesis. Fight me ;)

#bash#ksh#sh

Just released: #swad v0.2

SWAD is the "Simple Web Authentication Daemon", meant to add #cookie #authentication with a simple #login form and configurable credential checker modules to a reverse #proxy supporting to delegate authentication to a backend service, like e.g. #nginx' "auth_request". It's a very small piece of software written in pure #C with as little external dependencies as possible. It requires some #POSIX (or "almost POSIX", like #Linux, #FreeBSD, ...) environment, OpenSSL (or LibreSSL) for TLS and zlib for response compression.

Currently, the only credential checker module available offers #PAM authentication, more modules will come in later releases.

swad 0.2 brings a few bugfixes and improvements, especially helping with security by rate-limiting the creation of new sessions as well as failed login attempts. Read details and grab it here:

github.com/Zirias/swad/release

New features:

Configurable rate-limits for new session creation
Configurable rate-limits for failed login attempts (per session, realm
and user name)
Configurable types of proxy headers (X-Forward...
GitHubRelease swad 0.2 · Zirias/swadNew features: Configurable rate-limits for new session creation Configurable rate-limits for failed login attempts (per session, realm and user name) Configurable types of proxy headers (X-Forward...

I am (very slowly) working on a Shell parser for a static analysis tool, using only the POSIX docs. Hats off to anybody working on standards, there is a lot of careful phrasing in there! I am still left with scratching my head on occasion until I try to implement a specific rule.

Replied to R.L. Dane :Debian: :OpenBSD: 🍵

@rl_dane

Remember my complaint about out of the box mapping of just 12 desktops in different desktop environments like XFce?

Because of my different workflows I have 16 desktops predefined, just so I know, with the keyboard shortcut, where to jump to fast and continue where I left off. I only use the mouse when I absolutely have to, or when it's really elegant to do so, so I'm a keyboard shortcut mapping daemon.

I haven't taken the time yet to check into the configuration files, of my preferred Desktop Environments and Window Managers, how to map more keyboard shortcuts to More virtual desktops.

However I'm certain that what you want is scriptable, in at least three Desktop Environments and at least two Window Managers it's just not out of the box

I love digging into configuration files and I've seen this options in a few of them

Replied in thread

@moshidon

On the Amiga computers we had a saying without MUI {the Magic 🪄 User Interface a fantastic UI for gadgets and widgets on the Amiga} MUI program xxx would not exist

The same rule applies here

Without you Moshidon would not exist

So instead of just boosting and liking the post, I'm sending you Universal Love 💕 and Universal Energy and thanking you for the amount of work that you put in to Moshidon

🦋💙❤️💋#Lobi 💙💕🌹💐💙🦋