4 ms·
I remember learning about keyboard matrix encoders because I got into building MAME arcade projects when it was still a fairly young idea and consumer products
by silverquiet 3y ago
I remember learning about keyboard matrix encoders because I got into building MAME arcade projects when it was still a fairly young idea and consumer products that integrate arcade controls with computers were not commonly available. When you learn about them, you'll understand why older and/or cheaper keyboards have artifacts known as blocking and ghosting. It's something that I at least found interesting, but I doubt most people can be bothered to care. And as far as how that keyboard encoder is creating the ones and zeroes and then sending them over the USB bus - that might as well be magic to me.
I suppose we all live at the abstraction level that suits us. I'm of the opinion that a lot of the modern infrastructure we work with is over-abstracted. I'm not sure that most developers even know that an HTTP server exists thanks to the work of modern devops where you push a commit and it gets automatically deployed to some sort of container orchestration system. At some level it has to be this way; we stand on the work that was done before us; "the shoulders of giants" it's often said with more poetic flair. So I wonder if it's just me getting older and not understanding the new, or if we have genuinely gone astray in some ways. And those need to be mutually exclusive either.
- stavros 3y agoI don't know, I'm 41 and I understand the application, the WSGI layer, HTTP, TLS, TCP, containers, OSes, CI, etc. Less so lately, as I've transitioned to leadership, but how would I deploy and debug my applications if I didn't know all this stuff? I guess I've traditionally built and deployed all my apps myself, without the luxury of an infra person, so I had to learn all this, including Linux administration.
- silverquiet 3y agoSimilar age and skillset here though much more comfortable on the operations end of things rather than the development side though I have built small apps that did see some production use which was cool to do. It's a wide-ranging skillset no doubt, but still built on the work that precedes it. Did you build the servers that ran your code? Rack them and set up the networking? Build redundant power systems for them? HVAC? I'm sure you've done some of that, but no one person can really do it all. I think the saying is something like, "fish don't know they're wet"; meaning that they're so adapted to the ocean that they don't really have any idea that there are other ways to live. I get that feeling when I hear older folks talk about working on mainframes - it just sounds like an alien world. I came of age in the era of distributed systems - Microsoft vs Open Source, but it was always on commodity x86 hardware and TCP networks. There's no law of the universe that said it had to evolve that way. It seems like the new way is "cloud-native" which I'm not sure I understand or like (as I've said, it may just be me getting old); my biggest problem is that it seems to give ever more power to Amazon and other members of the tech oligolopoly rather than any technical shortcoming.
- stavros 3y agoI agree with you on the cloud-native stuff, I'm sure it's great after a certain scale, but I think people switch to it way too early, and now we're running our three apps on a huge stack not many people can know unless they spend a lot of time understanding the configs. Maybe it's the same as before, maybe I'm just less familiar and it seems huge to me.