pleroma.debian.social

pleroma.debian.social

Jonathan Dowland | @jmtd@pleroma.debian.social

Principal Software Engineer on #OpenJDK #RedHat. #Debian developer (dormant). Computer Science PhD student. Amateur Computing historian (Computer Science and H/W, esp. Commodore Amiga). Guerilla archivist.

New blog post: Orbital https://jmtd.net/log/orbital/ #music

Actually - and this isn’t hyperbole - it’s worse. Instead of wrangling one app you now need at least three. One of which is Activity Monitor because you are required to terminate a bunch of processes beginning ams* from time to time.

can I report that syncing stuff onto ipods with Finder is JUST as awful as it was with iTunes.

@edwinb @plragde you’re making me want to play on my synth now

Today I took out an old pair of Bose on-ear headphones. The Bluetooth functionality is shot, possibly just the battery, but they work fine passively. I forgot how great they sounded. Bose don’t make them anymore and I haven’t seen any modern ones of this style. I think I’ll try to replace the battery.

@werdahias I recently completed a large LaTeX document. I had bound ',m' to rebuild my thesis (called Make which called make in a sub-process and watched it from a small split, and the make called latexmk, etc. etc., it was a hairy ball of glue) and that was really nice 90% of the time and a pain to fix the other 10%. I keep reading about LaTeX tools, packages etc that would have made my life easier after I'm done :-)

So the user actually found a memory leak in (using a fuzzer) and reported it correctly. All good.

Then, in a follow up comment the user makes the ugly choice of trying to "help" us with this bug by asking an AI for help and proposing that as a solution.

And again it broke horribly and the AI made up a broken patch that did not even fix the problem.

Now that reporter is banned.

You noticed how google search became unusably shit a few years ago?
Turns out that was on purpose

The recent court documents showed that Google's internal testing demonstrated that significantly worse search results would not harm their business operations. This apparent immunity to quality concerns stems from the company's dominant market position, which the recent federal court ruling
addressed. "Since Google doesn't have any real competition, it can make the best information hard to find, forcing users to stay on Google for longer and interact with more ads," Papadimitriou said. "This is dangerous for consumers, most of whom think the best results
appear first."
The strategy appears to be working from a business perspective. The study suggests that poor organic search results actually benefit Google's bottom line in two ways: they make paid advertisements more valuable to users seeking accurate information, and they force users to refine their searches multiple
times, exposing them to more advertising in the process.

@tizmic @guyjantic @david_chisnall @nixCraft @mwl pragmatic programmers? No starch press?

Here's a silly-looking – but not frivolous – program I wrote yesterday. (I tooted about it deep in a thread yesterday, but I think it deserves sharing more widely.)

It runs a subprocess (by default a shell) inside a pty, similarly to 'script' or 'ttyrec' or 'luit' or other wrapper programs. In the output stream, it intercepts terminal control sequences that set the foreground and background colour, and rewrites them to select different colours.

So you get to remap your colours however you like without having to hack on your actual terminal program – the colour rewriter is a separate tool sitting in between your shell and the terminal.

In the screenshot, the demo application for this technology is a silly one: it just permutes the R,G,B channels of all the colours, to prove it's doing _something_.

But the purpose isn't frivolous at all. It's intended as a test bed for experimenting with colour remapping rules that improve readability: you can rewrite fg and bg colours as a pair, with awareness of each other, so you can improve contrast in whatever way your particular colour vision finds useful. All you have to do is decide what remapping you want to do.

This is an experimental test bed, so for the moment, you have to implement a rewriting rule by editing a function inside the C program and recompiling. An obvious extension would be to make that easier, via a plugin system or an embedded DSL or something, but I threw this together in a couple of hours yesterday evening, and haven't done anything that complicated. (Yet.)

A screenshot of a terminal window. My default shell prompt is purple, and I've deliberately run some colourful commands: a 'git log' which semantically highlights its output, 'ls' which colours files according to their name and/or attributes, and 'cat test.txt' which is a test file demoing the eight standard terminal colours on a grey background.

Half way through the picture, I run the command 'build/recolour', which is the program I'm here to demonstrate. This starts a subsidiary shell and filters all of its output to remap the colours by permuting the R,G,B channels: the purple prompt becomes turquoise, the colours in test.txt are rearranged from the ANSI order into the ZX Spectrum order of increasing subjective brightness, and the colours in the git and ls output are changed correspondingly.

Then I exit the inner shell, returning to the outer one from which I ran 'recolour', and everything is back to normal.

@jpmens I've done similar before and am not aware of a better way. You could try a cheaper checksum (MD5 or worse) to speed it up, if you were happy with that.

Relief printing using Lego. This is lots of fun. Designs are pretty quick and easy to try out.

The word "Hi" freshly printed off by hand from the Lego plate displayed to it's right. The design is made from the flat plates of Lego. Striped ones have been used to give a sort of shadow effect on the right-hand side of the printed vertical strokes.

@pwaring I side-stepped this problem by having my containers be first-class citizens on the host machine's network. Then instead of connecting to "host:bignumport" I can connect to "somecontainer.local" directly. Might be worth considering: https://jmtd.net/log/podman_network/

@sxa @fred yeah, this appears to be a known issue. I wonder if Pleroma is still actively developed? https://git.pleroma.social/pleroma/pleroma/-/issues/2975

@fred @sxa It would seem so. This reply is from the Pleroma web UI on my laptop, rather than phone app. I couldn't find any setting for language, either in the web app preferences or the compose form as I write this.

AI guys, everyone

Article titled “The Journey to Get Llama Running on Vintage Hardware”:

The project, led by Andrej Karpathy and his team at EXO Labs, started with a Windows 98 Pentium Il machine they purchased for £118.88 on eBay. The first hurdle was making the machine work with modern peripherals. The machine had no USB ports, so they had to use PS/2 peripherals. Even more challenging, the mouse and keyboard had to be connected to specific ports—mouse in port 1 and keyboard in port 2, otherwise the setup wouldn't work.
Despite these issues, the team persevered, and the machine began to take shape as a functional unit for their experiment.

@fred @sxa mastodon iOS app. It seems to think I’ve selected English
Screenshot of mastodon iOS app’s posting interface

Re this from @rotnroll666, Java is a great example of what I’m talking about upthread:
https://mastodon.social/@rotnroll666/114374427369696039

I was writing Java as early as 1997 and as recently as 2024. Observations:

(1) Modern Java can feel •very• different from the language of 1997, or even 2010. You can do really nice work with the language.

(2) The language is still weighed down by some essential design decisions that would be •very• hard to unroll at this point. It’s also weighed down somewhat by culture. (Ask me about either if you care.)

(3) Its long-term stability is unparalleled. Code that takes longer to write but still runs without modification 20 years later? That’s a •fantastic• tradeoff for a lot of projects out there!

Achieving (1) while navigating the constraints of (2) and holding on to (3)? That’s a real achievement — and the kind of work that just chokes up and dies in the sea of information pollution of a “vibe-coded” future.

»