Recent submissions

Comment · 4 months ago
One thing I've noticed is that information is often either too basic or too advanced. The hardest resources to find are the ones that bridge that gap. Writing for a specific person often produces exactly that kind of explanation, which is probably why these posts end up helping so many others as well.
Comment · 5 months ago
Cookbooks are imperative, sure. But not every book is a cookbook.

Religious texts, philosophy, ethics, and even self-improvement books often don't provide a procedure to follow. They teach things like how to handle conflict, how to act fairly, how to navigate difficult situations, or how to reason about competing values.

People then take those ideas and apply them across many different situations in their daily lives. In a sense, they build a toolbox of reusable mental functions rather than memorizing a single algorithm.

That's also why many people finish a self-improvement book feeling like they didn't get much out of it. They were expecting a recipe. Instead, they absorbed a collection of abstractions that only reveal their value when applied later in real situations.

The fact that cookbooks are imperative mainly shows that procedural tasks are naturally expressed procedurally. It's not obvious that this generalizes to human reasoning as a whole.

Comment · 1 year ago
Actually, I’m not overcomplicating things—just overexplaining because you mentioned it might be a stupid question.

Your example is valid, and I acknowledged that it’s correct in my first reply. I also added that, in these types of keyboards, there could be special logic to compensate for missing keys or provide additional features for comfort or ergonomic reasons. This means the keys need to communicate with each other and send the final keystroke afterward.

I also noted that almost all keyboards are not entirely "dumb" and include at least a processing unit to scan the matrix—something you agreed they should have—as well as to handle USB or Bluetooth communication. This processing unit can easily be used for the reasons I mentioned above, without requiring extra hardware or additional software/drivers on the OS side. This approach offers a modular, OS-agnostic way to create a custom solution for comfort or ergonomic needs.

Comment · 1 year ago
First, for an operating system to process input, it must continuously scan the keyboard matrix to detect keypresses. This adds extra load to both the OS and the CPU. Additionally, every OS must implement the same logic with the same parameters. Since there are many types of keyboards, each OS would need to know every keyboard's matrix layout.

However, before addressing that, like keyboards other HID peripherals are not directly part of the hardware. They connect to computers via USB or Bluetooth, and to do so, keyboards must have an internal chip, "a brain" even just for communication, let alone scanning keyboard matrix. This is similar to how a mouse processes sensor data internally rather than relying on the computer to interpret it. As a result, they can be used on almost any smart device with USB or Bluetooth.

Since we already have this extra chip, "brain", we can add personalized custom logic to simplify our lives and give our hands and wrists a break. This is similar to how gaming mice reduce DPI when the aim button is pressed or how old joysticks had an auto-fire button.

Shh! The computer doesn’t need to know ;)

Comment · 1 year ago
When you have two halves of a keyboard recognized as separate keyboards by the computer, then just like you said. For example, if you press shift on the left half and u on the right, the computer first sees the shift and then the u. It then types a capital U.

But in my case, let's say I don't have any numbers on the keyboard. Instead, I use modifier keys to create a layer for numeric values. So, when I press a modifier on the left, the computer won't notice. Then, pressing what would normally be the U key on the right sends a 7 instead. The computer just sees a 7 being pressed.

Comment · 1 year ago
There’s no issue with a computer recognizing two keyboards, but smaller keyboards often lack all the keys found on a standard one. So, you’ll need to use modifiers to create the keystroke and then send it to the computer. If you press a modifier on one half, the other half needs to be aware of it to send the final keystroke. Creating a layout with these modifier-based key combinations is just a small part of the many tricks you can pull off with custom firmware. While the computer thinks it’s connected to a standard keyboard, you can do some really deep customization on the keyboard side.
Comment · 4 years ago
You can use a plug with timer or even a smart plug that device itself turns on and off when battery level reaches certain levels.
Comment · 5 years ago
It does. As you said they are small and maybe you don't notice, but for some of us, it may mess up our muscle memory. I believe parent poster's honesty because in every update, trying to change back new UI elements is really annoying. Worse, some of them cannot be reverted. You have to adjust yourself to a libre software's changes.
Comment · 5 years ago
Comment · 5 years ago
Comment · 6 years ago
Can you elaborate?
Comment · 6 years ago
Comment · 6 years ago
If this was in portraid mode, it could have been a wonderful live wallpaper changing with respect to time of the day!
Comment · 6 years ago
Very cool idea, since this is a niche product why not adding a small qr code for the articles? By this way this could totally be printable. You read articles from paper while commuting etc. Mark the ones you find interesting. At the end of the day you could visit them via you phone if you really want to see them live.
Comment · 6 years ago
Good advice! Maybe a few shoutouts to your future children.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton