You can follow my Notes using any RSS reader — my personal favorite is Reeder.

Max ·

I’m currently on the journey of finding the next keyboard for me. In the past years I’ve been using the Microsoft Sculpt Ergonomic keyboard, which seems to have been discontinued. My goal is to improve my typing accuracy and speed, have my arms rest in a natural position, reduce hand and finger movements and get a product that lasts for a long time.

I have tried the Nocfree Lite, which is a nice, little and affordable (compared to the competition) wireless split keyboard. But I quickly realized, that I’m so used to a small actuation distance from the Sculpt and from Macbook’s internal butterfly keyboards, that I don’t know, if I could ever switch to proper mechanical keyswitches. Also while the split was ergonomic for my arms, its keyboard layout wasn’t made for hands at all. It has staggered keys and the slash/question key is very weirdly placed.

After my experience with the Nocfree Lite, the requirements for my new keyboard became quite clear:

  • low-profile switches: since I’m so used to it
  • split keyboard: for good arm posture
  • wired mode: better latency, connection reliability and no battery life to worry about
  • columnar key layout: designed for human hands not mechanical typewriters
  • similar key switches to the Sculpt:
    • force should be about 44-53g
    • actuation distance ~1.5mm
    • linear
    • quiet

It turns out, there doesn’t seem to be an out-of-the-box keyboard, which fullfils all of these requirements.

The best match seems to be the Voyager from ZSA. It is low-profile, split and wired only. The downside here is that is has a lot fewer keys than the Sculpt, so I will definitely have to adjust to that. I wish it had a third thumb key. And I don’t think the keyswitches will be quiet enough, since there are proper silent switches one can buy elsewhere. To make it as quiet as the Sculpt, I probably have to get their SHHHOCS accessory and additionally buy silent linear switches like the Bokeh Low Profile. If I also realize that I need a higher tenting than the one it supports right out of the box, it’ll cost me again, plus the time to research on how to do it. ZSA doesn’t offer a platform for the Voyager like they do for the Moonlander.

Next up is the Glove80 from MoErgo. It’s bigger and has more keys. It has six thumb keys instead of two, so thats a plus. They also offer pre-configured silent switches, which the Voyager doesn’t. And it’s curved to reduce finger movements even more. But it’s not wired and from their discord and reviews, I can already tell that this will cause issues. One can connect the left side via USB, but the other side will always communicate wirelessly and has to be charged occasionally. To not drain the built-in batteries when using it in wired-mode only, it’s recommended to disconnect the internal batteries by opening it up and unplugging the connection. Here goes the out-of-the-box solution. Apart from that, taking it to the office requires a lot more space than the Voyager.

If I were to drop the low-profile requirement, I could try the Moonlander (even bigger/heavier than the Glove80), the Kinesis Advantage360 SmartSet (big and has been out of stock for weeks) or the Halcyon Elora (less polished, but seems to be very comfortable for thumb and pinky keys).

All of these keyboards are fairly expensive and have to be shipped to Germany from overseas, so returning them would mean to pay shipping fees of about 50 €. That’s an expensive price for testing a product, which is about 350 €. I miss having stores to test products before buying them. Berlin even had a showroom for keyboards, but it’s in the process of permanently closing and none of these keyboards would have been there to test anyway.

So yeah, this is the current status of the search for my next keyboard. I mostly wrote this down for myself to decide what my next step should be. Maybe this is helpful for somebody else out there too. It looks like I should give the Voyager a try, hoping that two thumb keys will be enough for me. And if it is, I could then invest in proper silent switches to get even closer to my perfect keyboard. I’ll keep you posted.

Max ·

Vivaldi is the only browser I know, that doesn’t allow you to tab to links on websites by default. It’s a very odd decision in my opinion and it baffled me again today, since I recently switched to Vivaldi on my work machine too.

So that I (or you) don’t struggle with this again, here is how to fix it:

  1. open Vivaldi’s settings
  2. search for "Webpage Focus"
  3. make sure "Focus All Controls And Links" is activated

Then you should be able to properly test keyboard focus on websites like you can in all other browsers.

Max ·

Whenever you find yourself on the side of the majority, it is time to pause and reflect.

Mark Twain

This quote stuck with me, because I noticed that it’s something, that I do naturally. I usually find myself thinking differently than the majority of people. Not because I want to. It’s just where my thoughts usually lead me.

Max ·

Ben Ui wrote a very good list of reasons why he refuses to use AI:

  • Deskilling
  • Built on Stolen Labour
  • Negative Environmental Impacts
  • Introduces Reliance on Subscription Service
  • I Like Programming
  • Fundamentally Hostile to Human Learning
  • Worse Quality Code
  • It's a Black Box
  • Inaccuracy and Bad User Experience
  • Fundamentally Designed to Make Stuff up
  • The Statistical Average is the Least Interesting Result
  • Inability to Solve Novel Problems
  • Used to Obfuscate Responsibility
  • LLMs Ruin the Web
  • Non-deterministic
  • Valuing Your Time over Others is Selfish
  • Suspiciously Similar to NFTs, Crypto

What I would add to the list, is the horrible job of categorizing raw data for LLMs, so that its users don’t see the worst of humanity when using it. Plus, most of that work happens in developing countries, which basically makes it modern colonialism.

benui.ca/why-i-refuse-ai

The arguments around the use of "AI" are exhausting. I'm tired of re-typing my reasons, so this document is a summary of some of the many reasons why …

Max ·

My tired brain just found the perfect term for people, who are way too optimistic about “AI” writing code: brogrammers.

Max ·
Max ·

If some company were to create a tool, that actually manages to replace and supersede programmers, it would use the tool to dominate the market instead of selling it as a service.

Max ·

Big Tech will never make programming as easy as writing a couple of prompts. They are profitable because of the complexity of software development.

Max ·

I recently bought the NocFree lite wireless split keyboard. I’ve been using the Microsoft Sculpt keyboard before, which is no split keyboard, but it already is slightly angled, so that my hands learned to not reach to the other side. Therefore moving to a fully split keyboard has been quite smooth.

But since NocFree doesn’t offer a version with international or German layout, it also means I have to unlearn typing with the German layout. Since I still write quite a lot of German, I also still needed a way to write German Umlaute äöü despite using an English layout.

With a bit of research I found the EurKey layout, which seems to be perfect. It keeps all the keys from the US layout, but adds European characters hitting right Alt + [key] combinations. ä for example is typing right alt + a.

If you want to give EurKey a try, I’ve installed this version 1.4 on my MacBook.

Max ·

If your ability to write good code or fix bugs depends on getting lucky with an AI slot machine, you’re not a programmer — you’re a code gambler.

AI
Max ·

I’m surprised that there are programmers, who actually believe adding non-deterministic tools to developer toolchains will improve productivity—unless their definition of productivity excludes quality. Because quality depends on consistency and reliability. Two things non-deterministic tools cannot offer.

The software industry has always struggled to put user experience over developer experience, but at least we’ve put our trust in deterministic tools like compilers, linters and language servers, which provide consistent feedback.

Now some people put their faith in tools, that return different outputs for the same input. How’s that gonna help with reliability and consistency?

Software quality should not depend on luck with the next token prediction.

I have a bad feeling that „You’ve prompted it wrong“ is the new „It works on my machine“.

AI
Max ·
Max ·

I’ve noticed that youtube videos in my notes are not displayed in my RSS reader, not even as a link. This is because I didn’t provide a fallback inside the <lite-youtube> web component I’m using to render youtube videos with performance and privacy in mind.

I’ve now added a link inside the web component, that should be rendered in RSS readers as a fallback. Here is a test, that should render a link in RSS readers:


📺 Youtube video
Max ·

To me the future of technology is a lot closer to Bret Victor’s vision of computational public spaces than private and centralized AI black boxes and middlemans, that try to get as much data about us as possible. It’s the complete antithesis to today’s narratives about technology.

I especially enjoyed comparing the values of urban design and computing. It’s also a bold claim, that we will always give up our privacy when computing is bound to screens, but probably true. And lastly, it’s such a good observation that we managed to build a somewhat democratic and civilized society based on very complex infrastructure systems, but never managed to make these systems transparent and visible to us, so that we can understand and therefore govern them.

Our brains haven’t changed in a hundred thousand years, but we’ve built this very complex society around ourselves, and we’ve decided that we want to collectively govern it.

We can’t do that, if we can’t see or understand how any of this works.

Bret Victor [40:30]

📺 Youtube video
Bret Victor talks about computational public spaces
Max ·

Externalising thinking to an "AI" is convenient, because giving in to stupidity is convenient. Chatbots are a shortcut to incompetence disguised as a shortcut to knowledge.

Max ·

Great post highlighting the problems of depending on ChatBots to do your programming work:

Because you don’t know what you don’t know. That’s the cruel joke. We’ll fill this industry with people who think they’re good, because their bot passed CI. They'll float through, confident, while the real ones - the hungry ones - get chewed up by a system that doesn’t value understanding anymore. Just output. Just tokens per second.

And what’s worse, we’ll normalize this mediocrity. Cement it in tooling. Turn it into a best practice. We'll enshrine this current bloated, sluggish, over-abstracted hellscape as the pinnacle of software. The idea that building something lean and wild and precise, or even squeezing every last drop of performance out of a system, will sound like folklore.

If that happens? If the last real programmers are drowned in a sea of button-clicking career-chasers - then I pity the smart outsider kids to come after me.

Defer your thinking to the bot, and we all rot.

Max ·
Max ·

Honest cookie banner:

“Our website would like to violate your privacy and sell your personal data.”

Max ·

Cloudflare now makes it easy and free to add Google analytics behind a proxy, so that it’s harder for ad blockers to prevent Google’s tracking.

This is especially sad, since they could have made it easy and free for privacy-focused alternatives like Plausible and Pirsch instead. They already have documentation on how to do it manually with Cloudflare workers.

Another reason I should migrate away from Cloudflare…

Max ·

Stop paying to use a service. Start paying to host your service.