HN user

zxter

23 karma
Posts0
Comments30
View on HN
No posts found.

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.

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.

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.

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

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.

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.

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.

Try the defaults until you get the basics. Look at the help file what you can do and what you need. After that you may want to implement seamless navigation between tmux panes and vim splits[0]. It really isn't a must but hey, it is very convenient for starters since they don't have any muscle memory for switching different splits.

After that maybe try to do same with AwesomeWM and that would be the ultimate navigation setup.

[0] https://github.com/christoomey/vim-tmux-navigator

This feels like free to play but pay to win kind of games, or cheap base game to release to poison, countless expensive DLCs. But instead of money, it is freedom.

Just because of this I prefer open source projects from smaller developers that are built with labor of love, instead of from big corporate businesses that will eventually try to use you for any kind of profit.

Since topic is similar, I would like to recommend onivim 2 [0] for who prefer vi bindings. It is almost out of alpha and in pretty usable stage. Currently they are integrating open-vsx. Project is open source with dual license and it is currently very cheap for who wants to support, or free to build from source to try.

[0] https://www.onivim.io/

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.

PyPy v7.2 Released 7 years ago

I am waiting 3.7 compatibility for dict insertion order which I rely in my last project. I know I could use workarounds but now it is safe and stable and I am not in a hurry. Until then waiting in CPython.

BSD is mostly overcautious about security that leaves it behind others hardwarewise and softwarewise. For some people that is ok, (who has old but enough hardware or needs to run good enough and settled down software) for others this might be a deal breaker like this case apparently.

The Panic Sign 10 years ago

Slightly off-topic: About the weather sign at the beginning; there is a tower in Istanbul that was initially build in 1749 to watch for fire and report with baskets (daytime) and lights (night).

Now it is is still in use today as a watch-tower as well as for signaling weather forecast and maritime navigation information to the ships on the Golden Horn at night.

source: https://en.wikipedia.org/wiki/Beyazıt_Tower