There have been some intermittent issues with this site for the last few days because some shitheel has been hammering the server that hosts web-facing things for me with automated script-kiddy bullshit that my existing hardening didn’t automatically catch.
Roughly 10GB of it in the last week. With user agents set to around 500,000 different Chrome versions.
I noticed because the (small) box has been OOM killing processes any time the stats tools look at the logs of this behavior.
Most of it came from one address (in the AliCloud IP allocation, as always. I’ll continue to half-pretend it’s just a compromised VM) so I cleaned up the worst of it by adding an nftables rule to drop anything from that saddr, and did a little filtering to the logs to fix the OOM situation.
I’ve also turned on some rate-limiting features in nginx, and rigged fail2ban to block repeated violators of the rate limit, so hopefully things are more permanently taken care of.
I was having Vulkan/Wine interaction issues when I had a minute to play a game the other night and flipped my big laptop (which has Intel/AMD Polaris12 dual graphics, both running the Mesa stack since AMD dropped Polaris support in amdvlk in the 2023.Q4 release) into a Plasma Wayland session (v5.27) to see if it helped. It did – making it the very first thing I’ve encountered that worked in Wayland and not X – so I’m rolling with the Plasma Wayland session for a couple days to see how things are. I have a little machine I’ve been playing with Hyprland on to check out the Wayland situation, and it’s been closing from “Linux 20 years ago” to “Linux 5 years ago” in terms of brokenness, so it seems plausible that one of the big two would be tolerable now.
I’m totally onboard that xf86->xorg is an unmaintainable mess for both legacy-codebase and design from a different era reasons, and it would be nice to start with something built on assumptions that match modern reality, but uh… over a decade in, Wayland is just getting to be less of a “almost a tech demo” and more of an “almost there.” If the devs can shut up about some bikeshedding that obstructs common use cases now over concerns about theoretical security issues or compatibility with yet-unimagined future interface models and implement widely-accepted solutions to the last few basic-fucking-features, it might actually matter before it too starts to exhibit wrong ancient assumptions and gets replaced, but it looks like they’ve missed the bus on a couple of those necessary standardizations.
Things I use regularly that are currently broken in KDE’s Plasma Wayland session in Nov. 2023:
The mere fact that I have to specify it’s a KDE Plasma session for all these details because every compositor is having to reinvent a bunch of wheels in differently-broken ways – input plumbing, session management, etc. They could have at least spun some reference libraries and treated anyone who didn’t use them when building desktop-like interfaces as a second class citizen to paper over the necessary parts to build a desktop they didn’t want in the core protocol (and for some of them someone else did it; see PipeWire). Wayland’s entire development process is built around former X devs being exceptionally gunshy about maintenance and attempting to avoid having any meaningful implementation under their auspices, and it’s causing a lot of goofy decisions. wlroots was too little too late.
KeepassXC can’t do its autotype into last active window thing.
Because Wayland completely abdicated on input plumbing and programmatic window selection. It even sort-of works between xwayland windows because X is a feature-complete desktop protocol and Wayland isn’t.
I use this ALL THE TIME and it drives me CRAZY. Browser extensions are not a comparable solution, I auto-type credentials into all kinds of windows.
They finally accepted ext-foreign-toplevel-list so the plumbing for window selection is theoretically there… but I don’t think any compositors implement it yet.
The pipe-input-to-a-specifc-window shit is still being bikeshedded over mostly-irrelevant security concerns. Maybe maybe the ever-contended global hotkeys stuff in xdg-destop-portal will make it possible, but since every compositor has sprung a bespoke portal variant, even that may not comprise a global solution, and it’s not entirely clear it’ll work for piping arbitrary strings anyway.
Everything restores to a random virtual desktop, if it restores at all.
Ed: …and sometimes it now not only works but shows the control I was having trouble with in the next point when right clicked.
The “Move to Screen” context menu item in the task switcher seems to have vanished? I can still do “Move” and scoot a program to the desired monitor and it seems to snap correctly, but sometimes fullscreen windows relocated that way jump back to the first display. Apparently it has never been available from the task manager, only the title bar right-click menu and my memory is faulty.
I don’t know if it’s Wayland related, but baloo has started acting up again. I’m regularly seeing baloo_file_extractor eating a whole core when it hits things like openembedded trees. It’s possible I just disabled it in my saved X session and it’s being started again because the session management carryover between X and Wayland Plasma sessions is half-working.
The whole situation is silly. It’s a gigantic shell-game of trying to outsource the solutions to problems everyone already knew needed to be solved consistently because the ICCM and EWMH stuff for X represented decades of effort to do so, by the people best situated to actually solve the problems at the time when they could be solved in a general way.
I sometimes get the feeling reading the bug trackers that many of the Wayland people are building a display layer suitable for infotainment systems, kiosks, signage, and that sort of thing, and desktop functionality is an unfortunate extra thing some people are trying to force on them – which, financially, may be the case.
Look at this time crystal on shopgoodwill. A pristine Antec SX1030 case (or chieftech dragon or one of the other clones), painted metallic green with a window installed. Every commercial or DIY gaming PC in the first few years of … Continue reading →
I got talked into going to SC again this year, as I have almost every year since 2009. It’s not really my area of focus, but it’s always interesting.
UK’s presence featured a mixture of IT/CCS types and researchers, the research end of the booth was mostly focused on ongoing Parallel Bit Pattern Computing work, featuring a new demo/visualization thing that I built much of the hardware and some of the software for in the 3 weeks before we left for the conference (the rest came from Hank modelling some printable parts, pulling the compute engine from an older demo he wrote, and building some adapter code). It was more exhausting than the conference itself, but a really fun prototyping/micomanufacturing flex. Fancy 3D printed parts, 2020 extrusion, some laser cut bits, piles of addressable LEDs, a bit of embedded electronics. There is also a partially-functional prototype backplane to link 4 EBAZ425 FPGA boards through an Aggregate Function Network as a PBP substrate that …I designed. There’s a lot of not-my-job work I did on display; I should probably start throwing more of a fit about that.
Some notes about the stuff we were showing and interesting(?) industry observations below.
I had nothing to do with this but I’m super excited. There has been a long-standing bug in the CPU emulation in Basilisk II (a 68K Macintosh emulator) that could be reliably triggered when *inhales* Bruno the shark killed you … Continue reading →
Several years ago I picked up a used Dell Chromebook 11 3189 (model code “Kefka”) to play with. At the time it was still receiving ChromeOS updates, had a sticky hinge that required some lubrication and manipulation to get working, and cost around $100 including the separately purchased power adapter. I’ve hacked on it in a wide variety of ways over the years, and the main interesting result is that I’m starting to think a hacked out-of-support x86 Chromebook is, in many ways, now better and cheaper than a Raspberry Pi in that role as a modern accessible extra computer to enable fearless play the Pi was intended to fill. I’ve been taking notes, so way too much detail below.
I’ve been playing some Tunic the last few days, because the Steam Summer Sale managed to poke me at just the right moment to get an impulse buy. I was interested enough that I paid $20 for a game that came out like a year ago instead of my usual “Wait until I can pick it up for a few dollars and run it on a contemporary potato” gaming strategy.
It’s very to my taste, and I’m enjoying it, but it is, in classic self-indulgent indie game fashion, “Video game tropes: the game.” Not that there’s anything wrong with making things for your own in-group, but it winks so hard you start to wonder about a palsy.
The visual style and gameplay nod to everything. Fez. The whole Zelda franchise. Soulsbornes. Some Monument Valley style geometry illusion/architectural environmental storytelling. Bunches of stereotypical Supergiant details. It’s never met a game trope it didn’t like. They executed and integrated pretty well though, and I am in the market segment that connects to the references. [Ed: Oh look. Some Half Life 2 Citadel and more explicit Chrono Trigger refs late(?) game!]
It’s not …quite… as self-indulgent as Lenna’s Inception (same kind of 2D Zeldalike vein, did it a few summers ago, had slightly more fun than irritation about how hard it was sniffing its own farts), and it’s far more modern and sophisticated than the various Solarus engine games. The visual style is both cuter and more spectacular than either.
It also has the classic indie game feature of being relatively graphically simple, built on a major engine, and still being kind of a resource hog … though I’m playing on Linux via Proton/DXVK, on a workstation-model Polaris12 GPU, so some of the “Barely holding 24fps at 720p on a system that can do way more visually impressive games” is probably my fault [Ed: performance issue suddenly fixed after update and reboot, must have been a driver/system state thing]. I will say, having not played many commercial game for the last few years, the progress with transparent, performant functionality out of the Proton ecosystem is really impressive.
Dumb Linux trick: Suspicious of damaged system files on an RHEL-like (rocky, alma, centos, probably fedora, whatever) system? Once you get it unfucked enough to use the package manager (dealing with filesystem problems, hand-re-installing the rpms required to make dnf … Continue reading →
My old ass is having the hardest time with the Linux 6.2 series, we were looking at 2.6.x from 2004-2011 (and then for years after on ancient Debian Stable and RHEL-like systems that remained in production forever; I think I … Continue reading →
Since I recently got my HP Apollo 9000 Series 735 up and running, and it’s March, I decided to have a little Marchintosh fun and load MAE (the Macintosh Application Environment, a real officially-licensed Apple product) on to it this evening. As you can see from the photo (because I don’t have a device that can capture the video this thing outputs, and haven’t figured out screenshots under HP-UX 10.20), it works.
What if… – your programming language required you to write useful docs, – using those docs, it checked your program for mistakes, – it even used the docs to speed up your program, – this feature already exists! And what if it was called static typing.