Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's possible to remove layers of cruft without throwing everything out. QNX and BeOS both implemented mostly POSIX compliance on top of radically different foundations. We've gotten rid of the ISA bus and that old pre-PS/2 mouse port, and mostly gotten rid of PS/2.

In terms of display technologies, we have DisplayPDF from Apple and Wayland on the Linux side.

You take huge risks by just throwing out everything at once. You want a modular system anyway, so run your revolution one module at a time. People don't notice your little revolutions, but that's kind of the point.



> mostly gotten rid of PS/2

Strangely enough, the most recent motherboard I bought (X570-based) has a PS/2 port for the first time in years. No idea why they seem to be making a comeback, but it is kind of nice to be able to directly plug my old Model M in again.


I was just reading up about this a couple days ago. The PS/2 comeback for gaming keyboards stems from the fact that the PS/2 connector is interrupt-driven from the device, whereas USB is polled from the host. So in theory, PS/2 latency should be lower. But in practice there are numerous other factors that tend to outweigh any potential benefit: key debouncing logic time generally overwhelms the total latency, the low ~10kbps throughput limits the effective minimum latency of PS/2 bus messaging, and the fact that even if the bus is interrupt-based, keyboards use polling internally to scan the state of the key matrix. It turns out that the implementation details of the how a keyboard scans the matrix is generally a bigger factor in keyboard latency than which bus is used.


There is nothing wrong with PS/2 as a HID input. It could perhaps have better "quality of life" such as reversible inputs, and strong re-pluggable support but that's it.


PS/2 seems to be popular with higher end mechanical/gamer keyboards, supposedly offering lower latencies.


Interesting. I guess technically the board I bought is marketed as a gaming board, too, so that makes sense.

It makes me smile a little to think we've entered the era where 'old' tech is making a comeback in niche circles due to its own merits! I remember the keyjamming detection tool my cousin and I had to use to figure out how we could both play Star Control on the same keyboard. Good times.


For people who weren't there, I think it's difficult to appreciate the kind of efficiencies which were gained by QNX and BeOS.

I first started running BeOS on my PowerPC Mac clone, back when those were a thing. There was a 1.44MB floppy disk circulating which contained pretty much the full OS, along with a web browser and various utilitied and demo applications.

Inside 1.44MB. It was phenomenal.

Compared to MacOS on the same machine, raw computational benchmarks were about 40% faster, and perceptually, the gains were even better than that, with essentially zero UI lag.

So, starting from scratch can have a lot of benefits, and you don't even need to throw out that much legacy.


Yea, I was quad-booting Linux, Win2k, QNX, and BeOS in 2000-2001. The most impressive thing about both BeOS and QNX were their responsiveness. BeOS was used for editing multiple video streams whereas the same hardware running Mac OS really struggled to edit a single stream at full data rates.

My ethernet driver for BeOS was terrible. If I left BeOS running overnight, most of the time I'd awake to a little popup saying something to the effect of "The ethernet driver for your 3c509 has crashed. Click OK to restart the driver." Thank goodness for userspace drivers.

I'm a bit surprised that the iso9660 and UDF drivers are still in kernelspace on Linux, since I can't think of a modern use case where performance of CD/DVD is relevant. Around 2004, I had a corrupted CD-R backup that would kernel panic OSX, Linux, and Win2k3 x64. Unfortunately, there was sensitive financial data, so I wasn't about to submit the image as a repro.


> mostly gotten rid of PS/2

Isn't that port required if users want keyboards with true N-key rollover?


No, USB HID API can have all 104 key rollover if you want. The urban myth has something truthful behind itself, as at some point Windows refused to work past some number of key rollovers, and then keyboard makers started to limit it to accommodate Windows.


Where are you getting this stuff about Windows from? Everything I can find says it's because of BIOS limitations, nothing to do with Windows; see https://www.devever.net/~hl/usbnkro , for example.


> then keyboard makers started to limit it to accommodate Windows

Wow, I really had no idea. That's really frustrating...

Any way to fix this? Maybe we can somehow hack the keyboards. They have an USB controller with firmware on it, right?


USB capable microcontrollers are a buck or two in unit quantity; most of them with a USB drivers fron the manufacturer have a HID device as a standard example. It's like "Hello, World!" but for USB.

Hack? Nah. Engineer? Easily.

But the other commenter who noted that it was a BIOS limitation was right - it's not a Windows thing.


Have the keyboard maker order a controller chip that does HID in a way compliant to spec




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: