Thomas Adam

@thomasadam@bsd.network
303 Followers
71 Following
798 Posts

Style ThomasAdam StartsOnDesk 0, StartsOnPage 0 0, SkipMapping

I maintain/contribute to various projects such as: got, fvwm, tmux, x11cp

User/Contributor/Developer of {Free,Net,Open}BSD as well as Linux.

Avid cryptic crossword solver, especially the Guardian cryptics.

I'm the person behind the cryptic crossword clues on: https://zirk.us/@LearnCrypticCrosswords

Websitehttps://xteddy.org
Gemini Capsulegemini.xteddy.org
Window Managerfvwm3
X11CPhttps://x11cp.org

Things #musl libc will never do (broad but not comprehensive):

- Nag you to update.
- Phone home to check it if should nag you to update.
- Tell you a CVE can't be fixed without updating to the latest version.
- Try to force you to switch from glibc to musl.
- Get other software you depend on dependent on musl.
- Rant against "wokeness" or "DEI".
- Integrate "AI" into your libc.
- Give you up.
- Let you down.

#bbc #archimedes #britishschool #education

I found a school journal from 1993, when I was ten years old.

In it, were the following screenshots for operating a BBC Micro computer and/or an Archimedes computer.

In 1993, computer literacy was still coming into its own; software packages like spreadsheets and word processors hadn't gone mainstream -- certainly not in terms of ICT (Information Computer Technology) at pre-GCSE level.

But we did spend a lot of time in school learning about #Pendown, which was a very capable word processor:

https://youtu.be/AURsz3eHbD8

I don't recall using Revelation to do anything, but it existed:

https://www.computinghistory.org.uk/det/21894/Archimedes%20Revelation%202/

According to the forms in my journal, I didn't get very far.

Says it all, really... I was only ten.

#harelang #hare

https://harelang.org/blog/2025-06-11-hare-update/

I really enjoy keeping an eye on how hare is doing. From haging out on the various hare-XXX IRC channels, a lot is going on.

This latest tool, hare-update, is a really fascinating approach to dealing with an issue most language designers leave to the compiler to dump the problem onto the programmer.

The way hare-update works has similarities to smpl (Semantic Patch Language) which is what #coccinelle uses:

https://en.wikipedia.org/wiki/Coccinelle_(software)

I mentioned this to Drew, and he's aware -- but I think given the problem domain, the way hare-update works is probably fine for not making hare-update coccinelle-aware, as it were.

I wonder if other languages have an approach similar to hare-update?

hare-update assists in addressing breaking changes in your code

@lfa From the readme (https://github.com/X11Libre/xserver):

"This is an independent project, not at all affiliated with BigTech or any of their subsidiaries or tax evasion tools, nor any political activists groups, state actors, etc. It's explicitly free of any "DEI" or similar discriminatory policies. ..... Together we'll make X great again!"

Immediately tells me everything I need to know about the maintainer to decide I am 100% uninterested in this project.

#x11 #x11libre #foss #linux #xorg

GitHub - X11Libre/xserver

Contribute to X11Libre/xserver development by creating an account on GitHub.

GitHub

More interesting progress trying to make #swad suitable for very busy sites!

I realized that #TLS (both with #OpenSSL and #LibreSSL) is a *major* bottleneck. With TLS enabled, I couldn't cross 3000 requests per second, with somewhat acceptable response times (most below 500ms). Disabling TLS, I could really see the impact of a #lockfree queue as opposed to one protected by a #mutex. With the mutex, up to around 8000 req/s could be reached on the same hardware. And with a lockfree design, that quickly went beyond 10k req/s, but crashed. 😆

So I read some scientific papers 🙈 ... and redesigned a lot (*). And now it finally seems to work. My latest test reached a throughput of almost 25k req/s, with response times below 10ms for most requests! I really didn't expect to see *this* happen. 🤩 Maybe it could do even more, didn't try yet.

Open issue: Can I do something about TLS? There *must* be some way to make it perform at least a *bit* better...

(*) edit: Here's the design I finally used, with a much simplified "dequeue" because the queues in question are guaranteed to have only a single consumer: https://dl.acm.org/doi/10.1145/248052.248106

#got #gameoftrees #vcs

I've released got-portable 0.113

There's no -portable specific changes in this release, it's just tracking got-0.113

More details here:

https://gameoftrees.org/releases/changes.html

Portable instructions here:

https://gameoftrees.org/portable.html

Alternative mirror for -portable releases:

https://xteddy.org/mirror/got-portable/

Game of Trees Changes

Game of Trees Changelog

Initial support for the USB-C port on the #PinebookPro has been committed to current - requires a custom kernel build for now.

And support for user/group-based filtering has been added to the NPF firewall!

Day 3 with The #Ferments.

They're very active which is a good sign. The brine which has been a wonderful purple colour is now starting to go cloudy, this is another good sign as the good lacto bacteria are taking hold.

I've ordered some pH strips to test the acidity to make sure it's going down. I suspect it's fine, as there's so much CO2 being produced, the brine is overflowing the jars.

One thing we did not consider is the ferment proximity to our other fruits and vegetables... it must be torture! Just look at the photo... ;) ;)

@thomasadam Actually battery charge control is implemented in firmware, perhaps even on the battery itself. There's no standard, but a lot of machines support it.

On x86 laptops it's often a proprietary WMI function, or some ACPI feature (ThinkPads), some support an arbitrary start/stop limit, while others have a fixed limit, like 80% on Apple silicon.

This unfortunately means driver support has to be added for each machine, or at least each vendor. Usually they ship a Windows utility, so it makes sense for some commonality.

@thomasadam On my Huawei laptop and ThinkPads at least, the setting persists even across reboots and booting different operating systems.