1,428 karma · joined November 1, 2022
(Apple forgot about it again for OS X, but that's a different story.)
Indeed - implementations, plural. Incompatible with each other, naturally.
You're right that it won't stop anyone doing harmful things with AI - all it does is codify what is and isn't considered acceptable by a project, and make it easier to justify rejections.
If a project wants to continue evaluating submissions on a case-by-base basis (and has the manpower to do it without the support of a policy) then that's entirely their choice, of course.
(From what I've learned so far, some magic incantation is required to convince Linux that a Lifebook E559 is a laptop not a tablet. I'm finding I have way less patience with these side-quests as I get older.)
In the most difficult stages of my life I've found that exercise raised my energy levels and left me more able to tackle the things I needed to face - and the friends I made through group classes helped as well.
Look for other kinds of in-person group activities (if you play an instrument, open mic nights, retro-computing meets or hackspaces), and give them a go - even if they're not the kind of thing you usually enjoy - be prepared to be surprised!
My main goal is that my deciding that someone's recommendations aren't valuable to me should only affect the recommendations seen by people with similar interests to mine. There's not as much objective truth about what's valuable content and what isn't as many people would like to believe: I have no interest in seeing some influencer-led product recommendation but my niece very well might want to see that. Meanwhile she'd have no interest at all in some deep-dive into TMDS signalling and TERC4 codes!
My gut feeling is that, if we could get that system right, it would effectively "shadow ban" (for want of a better term) anyone whose content you don't want to see - but just for you and (to a lesser extent) those who hold your recommendations in good standing.
(I should also mention that my original idea here wasn't so much about discovering new stuff as getting an at-a-glance idea of whether a given page has high-quality content or just low-effort surface-level SEO-farming slop - in an age where the former is being drowned out by the latter.)
That second pillar is actually worse for interactivity than swapping the working set, which is why disabling swap entirely isn't considered optimal.
By far the best approach is just to have an absurd amount of RAM - which of course is a much less accessible option now than it was a year ago.
In a sane world the user would decide which application to shut down, not the OS; the user would click the appropriate application's close gadget, and the user interface would remain responsive enough for that to happen in a matter of seconds rather than minutes.
I understand the many reasons why that's not possible, but it's a huge failing of Linux as a desktop OS, and OOM killers are picking around the edges of the problem, not addressing it head-on.
(Which isn't to say, of course, that OOM killers aren't the right approach in a server context.)
As long as you don't need transparency effects it's still plenty capable.
I used to use it with an Agfa Accuset imagesetter - and in that role it was more capable than InDesign, since it exposed all the options in the PPD, whereas InDesign would expose only a subset.
Well my user is a member of plugdev, but by default udev has no clue that it should allow plugdev members to access some obscure third-party FPGA board. Someone has to write a udev rule for it, and if they don't share it for others to use, so does the next person. The next person happened to be me.
> And why do you have modemmanager if you don't have a modem?
And that is the right kind of question! I have absolutely no idea why my stock install of Linux Mint includes and activates ModemManager.
The 5-day-old code in chardet has little to no value. The battle-tested years-old code that was casually flushed away to make room for it had value.
To cover all bases my udev rule seems to need to contain both
SUBSYSTEM="hidraw", ATTRS{interface}=="CMSIS-DAP", MODE="0660", GROUP="plugdev"
and SUBSYSTEM="usb", ATTR{idVendor}=="1d50", ATTRS{idProduct}=="602b", MODE="0660", GROUP="plugdev"
I don't understand why the second rule isn't sufficient, and finding enough information online to even consider trying the first rule was extremely difficult.For instance, I tinker with FPGA boards, and one board in particular presents both a JTAG and serial port over USB. Nothing unusual there, but while most such boards show up as /dev/ttyUSBn, but this one shows up as /dev/ttyACM0. I eventually figured out how to make the JTAG part accessible to the tools I was using, without having to be root, via a udev rule. The serial side was defeating me though - it turned out some kind of modem manager service was messing with the port, and needed to be disabled. OK, job done?
Nope.
A few days ago I updated the tools, and now access as a regular user wasn't working any more! It turns out the new version of one particular tool uses libusb, while the old version used rawhid (that last detail is no doubt why I had such trouble getting it to work in the first place) - and as such they require different entries in the udev rule. I'm getting too old for those kinds of side quest, especially now a certain search engine is much less use in solving them.
(Not naming the tools because I'm not ranting against them - just venting about the frustration caused by the excessive and seemingly opaque complexity. Having got that off my chest, I'll go read the article, in the hope that the complexity becomes a little less opaque!)
Half a million lines of code have been deleted and replaced over the course of four days, directly to the main branch with no opportunity for community review and testing. (I've no idea whether depending projects use main or the stable branch, but stable is nearly 4 years old at this point, so while I hope it's the version depending projects use, I wouldn't put money on it.)
The whole thing smells a lot like a supply chain attack - and even if it's in good faith, that's one hell of a lot of code to be reviewed in order to make sure.
But either way, deleting the original version from the repo and replacing it with the new version - as opposed to, say, archiving the old version and starting a new repo with the new version - would still be a dick move.
The one huge advantage of C is its ubiquity - you can use it on the latest shiny computer / OS / compiler as well as some obscure embedded platform with a compiler that hasn't been updated since 2002. (That's a rare enough situation to be unimportant, right? /laughs in industrial control gear.)
I'm wary of anything which fragments the language and makes it inaccessible to subsections of its traditional strongholds.
While I'm not a huge fan of the "just use Rust" attitude that crops up so often these days, you could certainly make an argument that if you want modern language features you should be using a more modern language.
(And, for the record, I do still write software - albeit recreationally - for computers that have floppy drives.)
I'm probably going to end up building a custom board with the features I want (gentle curve, ISO layout, nice switches) since what I want doesn't seem to be available off-the-peg. (The X-Bows keyboards are quite nice, but ANSI-only - I've done enough programming to have learned that I'm not prepared to compromise on the position of "\"!)
You could buy and sell virtual items with a real-world cost far smaller than the transaction fees of a regular card transaction.
Speaking of which - that, to my mind, is the definition of a micropayment - a payment too small to be practical to administer using existing card payment infrastructure. So-called "micropayments" in games have long since ceased to qualify under that definition - they're just "transactions" now.
Between that and the level of complexity of modern GUI toolkits - and the size of their dependency trees - distribution of a GUI app is a much bigger headache than distributing a terminal app.