c0de517e's journal
log_001

logo: back home toot
- What I know about keyboards. (little)
- The exorbitant cost of making things easy.
- The energy of spaces.
- Priesthood
- SQL breaks my brain and I don't believe in Verse.
- Ps5pro and (not so) wild guesses.
- I gave up on contrast.
- [Previous log file]

- What I know about keyboards. (little) (permalink)

I am not a keyboard snob. I can pretty much work with most keyboards, without complaints, but as any nerd, I also own a few fancy ones.

I like watching (listening to) Chyrosran22's channel, I recently acquired (and regretting, albeit, it is awesome) a model F replica capacitive buckling spring thing... I actually knew I would regret it to some degree having tried original IBM buckling spring keyboards and found them to be underwhelming, compared to the hype, but that's another story.

Bottom line, I know a little, and I have a little experience, and this is what I'm persuaded of thus far:
1) Switch technology doesn't really matter. I don't believe that "mechanical" (say, a stem pushing a metal plate on the side against another metal plate) is necessarily better than "membrane" (plastic with a contact on top making contact on another on the bottom, when depressed) or anything even fancier (optical, magnetic reed, capacitive...).

2) Mid-travel actuation is what matters, e.g. not needing to apply most of the force at the bottom of the keypress. That's why I think you can mechanically design a switch with the right actuation force (profile) that then still ends up pressing on a membrane, like in some IBM buckling springs, or most laptop style keys. Having to press a key hard, and hardest at the bottom of the travel, is what causes fatigue.

3) It's all a matter of habit. When I used to type a lot on my macbook, I wanted low-travel keyboards at work too, I bought a couple of aluminum mac keyboards when they moved to the even thinner, current ones, just in case these ended up sucking (and they did not, abeit it took apple quite a few revisions to get it right). Now I type mostly on a topre-like (capacitive) linear NiZ Atom 68 that I bought mostly because it's silent, and I like it, but I also have "clicky" low-profile keys that I love etc, you get the point, there are a million terrible keyboards I would not touch, but I think there are also a million ways to make good keyboards that you can get used to and love.

4) The numeric keypad has to go. That's the number one thing I'd recommend to ppl buying a keyboard today. 75% (tenkeyless - TKL) or less. Mostly because we tend to de-center a big keyboard in order to make space for the mouse - if you are right-handed at least! Or even if you don't move the keys off center, you still have to move you hand more each time you reach for the mouse.

5) I do believe that short travel keyboards are better than longer travel ones, I think I even saw some scientific studies and intuitively it makes sense that you get fatigued more by having to move your fingers more, even if the actuation is mid-travel and so you don't need to press all the way down... But I don't think it's a huge deal.

That's all. I don't believe in gaming keyboards, polling rates etc, I hate RGB backlighting (albeit it's hard to avoid, I don't think there is a "good sounding" keyboard - today the trend is the "thock", some love the opposite, the "ping" etc. I think these are all just hyped things that are hyped because they work well on social media shorts.
Mon, 15 Apr 2024 10:33:07 -0700


- The exorbitant cost of making things easy. (permalink)

One of the biggest mistakes I've made at work in my current job is not to protest louder when we moved to CMake. I felt it's one of these holy wars. Not worth fighting for.

Yes I'm an old fart by now and I hate to see people grabbing for tools mindlessly... and I was not persuaded at all that the benefits (being able to more easily add/remove files across the various configurations, effectively) were worth the investment.
I positively hate seeing githubs with a couple of C files and the "obligatory" CMake script because look, it makes it seem so "professional".

Yes, I knew that all build systems quickly turn into "write only" code, where nobody understands what's going on, a few are able to add things, nobody can remove it...

And yes, I knew that CMake is notoriously slow, among build systems... But what's the harm really? It will generate solution files, it's ok... right?
Well, what I should have known better, or rather practiced better, is the fact that once something exists, it will be used. If something is easy, work will flow, literally through a path of least resistance.

And this is a HUGE deal. In all areas of human endevor. People often protest when they encounter friction, it's natural. But friction can be a tool. Don't facilitate what you don't want to see happening. Even if you plan to keep things under control, once the door is open, is so much harder to reign things in, to be constantly vigilant.

Of course the end of the story is that now our builds are in no way shape or form better than they were, they are not more reliable, they are not faster, it might be easier to add files, sure, but we pay the costs for that at every single iteration... And of course, now it's so much harder to change things, because people started using the system in all sorts of ways of ways...

Regardless, the point is not to complain about this specific thing, which in the grand scheme of things is not even so terrible... It's a more general reminder. Things will be used. People will do work. Be careful when you introduce a new system, a new language, a new team, a new role. These are all long term, balance-shifting decisions, changing the flow of work, little by little going towards given directions. It is fundamental to chart that course mindfully.
Sat, 6 Apr 2024 17:56:14 -0700


- The energy of spaces. (permalink)

I go to this coffee shop, Propaganda, in Vancouver, in my weekends. I try to be here once a week at least.

I don't know exactly why. Like I don't know exactly why I live where I do, other than a mystical sense of a "certain energy" of the space that agrees with me.

This shop has good coffee, sure, but I am not a coffee snob and it isn't the best in town. If anything, I have a soft spot for their cookies. They make only two kinds, hardly a marvel of bakery...

It's near my apartment, but I have plenty of great spots that are nearer, and yet, I don't use often.
It has a good ambiance, but... barely. It's definitely not fancy, not beautiful, not even comfortable other than not being too loud, I guess.

It has magazines, that I like, and it has no internet, which forces me to disconnect... but even these things are obviously marginal, I can recreate anywhere. It has fascinating people, artist types for the most. But I almost never talk to anyone.

Yet, it makes me feel better.

Isn't that curious? I don't know how universal this feeling is, but I'm sure it's not rare. And it tells something about... things, I guess, products. How far removed is quality, preference, from spec sheets. How intangible the success of something can be. I guess this is the intuition that made Steve Jobs.

Digression!
I always hated looking at specs, albeit as an engineer and a nerd, I guess it's also hard not to care. It's not wisdom though that I acquired of late. I can remember ranting as a teenager (and that tells a lot) about how PovRay was trying a "completionist" approach of having all the features that can possibly be listed on a sheet, while being generally a misguided piece of software, hard to use for most artistic purposes.

For a while I was convinced that OpenSource would always end up not understanding customers, when they are not programmers themselves. But Blender, Godot and a few others "recently" proved me wrong there. Finally! Maybe one day we'll get a (credible) OS alternative to Photoshop or Lightroom. Wouldn't that be nice...
Sat, 6 Apr 2024 17:55:25 -0700


- Priesthood (permalink)

Saw a priest at the shared table of the cafe i was having my morning chocolate croissant at. Perhaps protestant. At least I assumed he was.

Studying the bible, underlining it with a bold graphic marker, 1mm or so. Then he would occasionally scribble some notes in, I think, a Japanese daily planner with a Montblanc 146. Light blue ink. While listening to something via an iphone/airpods/watch combination.

Sounds like a nice job. Not having to worry about earthly things, mostly thinking, helping the community. Maybe i should have followed my uncle's footsteps...
Then I realized why the appeal. That's already me. Reading, thinking, and jotting down ideas in a cafe is one of my favorite things! Libraries were my churches. I guess the blog then in my pulpit?
Fri, 29 Mar 2024 13:11:08 -0700


- SQL breaks my brain and I don't believe in Verse. (permalink)

Been doing lately some big-data stuff to debug some issues on our platform. Fun in theory (lot of new toys to play with), frustrating in practice (slow iteration time is particularly annoying when your job is to explore).

For this I had to learn SQL, ofc I know the gist of it, and the underlying theory, but I never really had to use it for anything serious before...

...and I got reminded how much declarative programming breaks my brain. I imagine it's not just a "me" thing. I hope. I fancy myself a language connoisseur, having had passion for them in my university years, and having tried pretty much all programming models there are. Imperative, logical, dataflow, functional, actors, agents, OO, expression rewriting - you name it, I probably at least toyed with it.

The languages I least like are the ones with no explicit notion of time. I think there is a huge disconnect between designers and... humanity. Of course, for a language person the idea of expressing computation through constraints and functions that get realized on the hardware by the compiler sounds sexy... Take the thing they are the most embedded in, logic systems, and make them the protagonists, instead of being "only" used for some static checks that programmers often even question the usefulness of (rightfully - as we can't find great correlations in practice between static checking and lesser defects). Also, you have all these benefits of composability! And perhaps you can find incredible ways to schedule (if you ignore how hardware works, auto-parallelization is great!) and so on.

But in practice, I don't see the allure. It's not just that imperative programming is closer to the metal... I find it closer to our brains. It's easy to think about a procedure as a sequence of steps, our brain is finely tuned to work with temporal concepts (because the real world... actions and consequences, with a clear order). It's incredibly hard to think about a web of connections that eventually generate an answer.

And that's why I don't like Verse.

One day I'll probably write a real article about all this - but my pains with SQL reminded me of all of this.
Wed, 27 Mar 2024 12:12:12 -0700


- Ps5pro and (not so) wild guesses. (permalink)

The PS5 is selling like hotcakes. It's the best console ever made so far!

Yet so far the reception to the news of a ps5 pro seems far from enthusiastic, we are not seeing ps5 exclusives, this next-gen looks identical to the previous, only with a few more pixels, same content and technology. Psvr2 did not sell well, and I don't even remember what the screen-streaming thingie name is...

How to square these two facts?

I don't know for sure, but I can propose a theory that could explain...

Console growth is over. Companies expect more or less the same users generation over generation. Maybe even a decrease, in the future. At the same time, AAA growth is over. Blockbusters aren't going to be much bigger than the Fifa/Call of Duty/Fortnite of today. People are not going to play more hours, spend more. We went from discrete titles, to DLCs, to multiplayer and microtransactions and season passes, but that's pretty much it.

So... growth (for AAA) has to be found elsewhere. And that "elsewhere" is in expanding the platform support. Cross-platform titles, cross-play, cross-generation. Console, PC, and ideally even mobile, perhaps streaming (as in video... albeit I don't believe in that much - expensive). That would explain the lack of exclusives.

In this game, if that is the game, Sony is late. Microsoft seems to have predicted the beginning of the end of console (growth) around the 360 era, and acted accordingly. Sony seems to want to follow now, with PC ports, with gamepass style subscription, and by investing on game-pass-able titles (multiplayer, service oriented) etc. They publicly noted that their big single player are too expensive to put on a subscription service, without being able to generate any other revenue, so a shift is needed.
They seem also to be trying to find other avenues for growth, licensing IP for other media (tv series...), investing more in remasters and the back catalog, but I doubt there is a ton of money there, I imagine it's nice to have, and it increases brand awareness, but it won't be enough to keep them doing what they were.

If that's true, we'll still see a PS6, PS7 and so on - for enthusiasts - but we'll see gaming become much more of a "play wherever you are, with whatever device you have" kind of thing. And in that game you have to target wide - so you get closer to PC, where yes, you can turn on the fancy raytracing on a thousand dollars GPU, but it's all hacks bolted on a game that was fundamentally made for a much lower target - a sort of built-in ReShade mod.
Tue, 26 Mar 2024 20:20:12 -0700


- I gave up on contrast. (permalink)

When I was making this website, I tried to research what's best in terms of readability and eye strain. TLDR, apparently studies prove that contrast is king, that reverse polarity (bright text on dark) makes sense in low-light environments, and that in said environments, preferring the longer wavelengths (amber to red) makes some sense... and this is how the website you see was made, why it detects the "night mode" setting you might have to switch polarities etc.

Unfortunately though, I found that maximizing contrast does not seem to work well, especially in night mode. I'm not entirely sure why, but I can, myself, notice some "shimmering" around the letters if I push things to pure white text on pure black background. My theory initially was that this should not matter because you can and should adjust the luminosity of the display to get to a comfortable contrast ratio, and of course, adjusting it down is always possible, whilst adding contrast when not present in the content is harder...

That theory seems reasonable... but somehow, it didn't work for me and it was 50/50% on an online poll I made. Maybe it's because nobody makes such high-contrast content, so you'd need to adjust only for my webpage, which is not going to happen... I even noticed that when I play with mac's accessibility filters, which allow me to push contrast up and even remove color, I still get more fatigued, I can't work for long on a monochrome screen, for some reason... again, I assume it's a lot due to how the content is made / optimized for.

 So in the end I relented and adjusted the color scheme to be a bit less contrast-y. Hope it works! I also suspect I should change the font / font weight in night mode, because somehow (antialiasing?) the font looks thicker to me in reverse polarity... but didn't do that yet and it's not easy to find a font that I like and that comes also in multiple weights...
Tue, 26 Mar 2024 12:23:12 -0700


[Previous log file] [Home]