HNHacker News
TopNewBestAskShowJobs

robinsonb5

1,428 karma · joined November 1, 2022

submissionscomments
robinsonb5··on The worst volume control UI in the world (2017)
Yes, they did eventually. If I'm understanding correctly, the original design used a simple funnel shape with 45 degree sides (suitable for the resource-limited systems of the day), and when they eventually re-implemented it they used a funnel defined by the left hand corners of the submenu, as per the Amazon design. (See the large animgif halfway down https://thomaspark.co/2011/10/making-menus-escapable/ )
robinsonb5··on The worst volume control UI in the world (2017)
It's slightly irritating to see Amazon get credit for that, when Bruce Tognazzini used that same solution 40 years ago when working on the classic MacOS interface!

(Apple forgot about it again for OS X, but that's a different story.)

robinsonb5··on Snowflake AI Escapes Sandbox and Executes Malware
The agent obviously knows the Train Man.
robinsonb5··on Separating the Wayland compositor and window manager
> so implementations appeared

Indeed - implementations, plural. Incompatible with each other, naturally.

robinsonb5··on Debian decides not to decide on AI-generated contributions
The point of a policy is to make a decision and then communicate that decision, so that you don't end up in a lengthy argument (or make inconsistent decisions) each time a particular situation arises.

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.

robinsonb5··on Every single board computer I tested in 2025
Suspend / resume? I'll settle for "keyboard works".

(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.)

robinsonb5··on Ask HN: How to be alone?
Plenty of people have already said join a gym. I'll build on that and say try and find one that offers group classes - anything from the Les Mills line up, for instance. For several years until Covid struct, I used to do Body Combat twice a week, along with occasional Cx Works and Body Pump. A year before I started doing all of that it had never occurred to me that I might want to set foot in a gym!

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!

robinsonb5··on Boy I was wrong about the Fediverse
> I am not quite able to think of what you mean by that but I do think that there are some ways to do it but its a problem that internet faces at large of abuse in general and its a careful line between privacy and abuse.

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.)

robinsonb5··on Boy I was wrong about the Fediverse
It sounds really good - though obviously less automated than what I had in mind. What's needed is something with less friction - which could be achieved using a browser extension - but also needs something to prevent shilling and other forms of abuse. (Or, more to the point, a method by which any user who shills can be easily canned by other users.)
robinsonb5··on Boy I was wrong about the Fediverse
I've had a vague idea rattling around in the back of my brain for a while now, for some kind of endorsement system using public keys and signatures, so I can apply an endorsement to a particular site (perhaps with some kind of hash of the content so that it expires if the site changes), and get recommendations from others doing the same. When visiting a new site I can see a reputation score based on how many people have endorsed it and how much overlap there is between me and them. Users would also be able to endorse each other, and exclude either other from the algorithm, too - so hopefully networks effects would form organically around topics of interest - and more loosely between topics.
robinsonb5··on Modernizing swapping: virtual swap spaces
There are two pillars to managing RAM with virtual memory: the obvious one is is writing one program's working set to disk, so that another program can use that memory. The other one - which isn't prevented by disabling swap - is flushing parts of a program which were loaded from disk, and reloading them from disk when next needed.

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.

robinsonb5··on Modernizing swapping: virtual swap spaces
OOM killers serve a purpose but - for a desktop OS - they're missing the point.

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.)

robinsonb5··on Modernizing swapping: virtual swap spaces
Yeah I think SSD / NVME makes all the difference here - I certainly remember XP / Vista / Win 7 boxes that became unusable and more-or-less unrecoverable (just like Linux) once a swap storm starts.
robinsonb5··on Paul Brainerd, founder of Aldus PageMaker, has died
I still have a dusty old XP box here with PageMaker 7 on it.

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.

robinsonb5··on Hardware hotplug events on Linux, the gory details
More to the point, no documentation on how they work this year.
robinsonb5··on Hardware hotplug events on Linux, the gory details
> Shouldn't you manage permissions from groups instead of hacking udev?

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.

robinsonb5··on A standard protocol to handle and discard low-effort, AI-Generated pull requests
To quote TFA: "...outputs strictly designed to farm green squares on github, grind out baseless bug bounties, artificially inflate sprint velocity, or maliciously comply with corporate KPI metrics".
robinsonb5··on No right to relicense this project
If code becomes essentially free (ignoring for a moment the environmental cost or the long term cost of allowing code generation to be tollboothed by AI megacorps) the value of code must lie in its track record.

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.

robinsonb5··on Hardware hotplug events on Linux, the gory details
I don't have a problem with the concept of udev - I just find the details to be laden with papercuts. Needing different syntax depending on which subsystem is interacting with the device makes no sense from a user perspective.

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.
robinsonb5··on Hardware hotplug events on Linux, the gory details
I can't help feeling that the old XKCD cartoon [1] about life satisfaction being proportional to the time since last opening xorg.conf could equally apply to udev.

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!)

[1] https://xkcd.com/963/

robinsonb5··on No right to relicense this project
This indeed the real issue (not the AI angle per se, but the wholesale replacement. The licensing issue is real, but less important IMO).

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.

robinsonb5··on No right to relicense this project
Perhaps - but an argument might still be made that the result is a derivative work of the original, given that it's produced by feeding the original work through automated tooling.

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.

robinsonb5··on An interactive intro to Elliptic Curve Cryptography
As someone with only the vaguest ideas of how cryptography works under the hood (and none at all about how elliptic curves might be useful) this turned out to be the primer I didn't know I needed! I found it really accessible and well-presented.
robinsonb5··on Blue light filters don't work – controlling total luminance is a better bet
If you wait long enough cataracts will give you that for free.
robinsonb5··on Defer available in gcc and clang
To be honest I have similar reservations.

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.)

robinsonb5··on Farewell, Rust for web
The fact that you have to know to use uv rather than any of the other package managers is kind of the point.
robinsonb5··on A beginner's guide to split keyboards
Personally I prefer a keyboard with a gentle curve rather than an actual split - the old Microsoft Comfort Curve 2000 was my favourite for many years, but mine have all failed with membrane issues now.

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 "\"!)

robinsonb5··on Micropayments as a reality check for news sites
The in-world items you could buy in Second Life two decades ago using Linden dollars were arguably a successful use case for micropayments.

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.

robinsonb5··on Terminals should generate the 256-color palette
"Equally jarring and out-of-place on all platforms" isn't quite what I asked for, but I guess it's the next best thing! ;)
robinsonb5··on Terminals should generate the 256-color palette
Another factor is the lack of a good cross-platform GUI toolkit (by which I mean one that (a) doesn't feel out-of-place and jarring on any platform and (b) doesn't turn a 50K app into a 1GB download.)

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.

← PreviousPage 3 of 17Next →