en.osm.town is one of the many independent Mastodon servers you can use to participate in the fediverse.
An independent, community of OpenStreetMap people on the Fediverse/Mastodon. Funding graciously provided by the OpenStreetMap Foundation.

Server stats:

259
active users

#posix

10 posts8 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

After having read what horrors people experience when they upgrade their Hugo binaries, I made sure that I've kept the version that I used to make my test site and also consequently use *that* version to continue to teach myself a high 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 ... 😎

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...
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 💙💕🌹💐💙🦋

Yes you have seen it correctly, I'm now including __links__ the sh & console based browser, in my workflow, since it uses few resources, doesn't understand many of the modern languages, which results in pleasure and fun on the internet. You can even use links on a serial console like my Wyse terminal!

An Adblock is not need in this modus operandi.

The places which are properly coded, do not need even JavaScript are where I frequently get my information from

Released: #swad v0.1 🥳

Looking for a simple way to add #authentication to your #nginx reverse proxy? Then swad *could* be for you!

swad is the "Simple Web Authentication Daemon", written in pure #C (+ #POSIX) with almost no external dependencies. #TLS support requires #OpenSSL (or #LibreSSL). It's designed to work with nginx' "auth_request" module and offers authentication using a #cookie and a login form.

Well, this is a first release and you can tell by the version number it isn't "complete" yet. Most notably, only one single credentials checker is implemented: #PAM. But as pam already allows pretty flexible configuration, I already consider this pretty useful 🙈

If you want to know more, read here:
github.com/Zirias/swad

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

This, btw, was yet another reminder of the horrible can of worms #stdio's #buffering is.

I created a little tool running as a child process to do the *actual* #PAM authentication, so it will be possible to have this run as root while the real service drops all privileges. This little tool uses a simple line-based protocol for communication on stdin/stdout. It worked well when testing directly on the terminal.

On the first real test though, my service just went hanging. 🙄 I suspected a deadlock caused by pthread mutexes. Wasted quite some time looking into that. Then I finally realized communication over the pipes was stalled.

Ok, just set buffering mode to "line buffering" after fdopen'ing the #pipe. Turned out that didn't help either. I *assume* that even in the child process, the stdio streams automatically created on the pipes were somehow fully buffered. But at that point, I was really fed up with trial and error and rewrote the whole mess to do I/O using plain #POSIX APIs (read, write), sidestepping any buffering. Worked like a charm. 🙈

Continued thread

It's possible you've not heard of #boxyBSD

I was lucky to get a TIL moment when @stefano boosted it's existence into my feed.

However you should know about it, learn something about the user perspective from proxmox in the process, while working with a boxyBSD VM.

Here are some nice screencaps of the boxyBSD site so you can ask nicely for a VM and learn to play with one of the *BSD flavours from a distance.

I'm sure you can duckduckgo the address of boxyBSD when you analyze the screencaps, right?

🖋️ #bash #proxyLB #freeBSD #boxyBSD #sh #zsh #ksh #csh #netBSD #openBSD #POSIX #proxmox #loadbalancer

Continued thread

It has arrived. proxyLB v1.1.0 the loadbalancer for proxmox clusters. Instead of telling you the features of this major version I invite you to read about it yourself, download proxyLB then play with it.

As with any great Open Source project, this has grown out of a necessity that @gyptazy has for his other amazing project boxyBSD, which just needs a versatile tool like this.

Now go and play.

gyptazy.com/introducing-proxlb

🖋️ #bash #proxyLB #freeBSD #boxyBSD #sh #zsh #ksh #csh  #netBSD #openBSD #POSIX #proxmox #loadbalancer

#LazyWeb: At some point 15-20 years ago, I was reading some Austin’s Group rationale for deprecating ucontext_t and friends, which said it was the only safe way of jumping out of a signal handler but was problematic because people were using it to implement userspace threading and it was not safe to do so because this required synchronising state that was not always visible in userspace. I can no longer find this and it appears not to be in the rationale section for any #POSIX spec I’ve checked. Does anyone have the reference to hand?

Continued thread

I have found an interesting quirk with my freeBSD installation, running on my SATA SSD, which I mount through an USB tray, directly to the USB port on the computer.

As long as i leave the second port of the USB tray open, everything runs fine and smooth. The moment I mount another drive in the second port, freeBSD only does the initial part of the startup sequence and then complains that it cannot go any further.

No further explanation given

Seeking for log files is not an option because the operating system itself doesn't boot.

Where in the documentation should I look for this type of issue?

🖋️ #bash #freeBSD #boxyBSD #sh #zsh #ksh #csh  #netBSD #openBSD #POSIX #AskFediverse