• 0 Posts
  • 25 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle




  • It’s not that native UIs are lagging behind, there is a whole set of reasons.

    TL;DR: browsers, as opposed to desktop apps, are stardartized - because they were originally designed to display and deliver text documents. We were never supposed to build complex application UIs on a web stack.

    First, there is no standard way of making native UI on a desktop. Every OS uses it’s own solution, while Linux offers several different ones. Browsers rely on a set of open standards developed specifically for the web, and even there not everything works exactly the same.

    Second, browsers are designed to draw a very specific kind of UI through a very specific rendering mode - they run an immutable hierarchy of elements through layouting and painting engines. It works great for documents, but it becomes extremely unweildy for most other things, which is why we have an entire zoo of different UI implementations (crutches, most of them) for browsers.

    On the desktop we often make a choice of what UI technology would fit best our purpose. For a game engine I would use an immediate-mode UI solution like ImGUI, for the ease of prototyping, integration and fast iterations.

    For consumer software I might choose between something like QT or GTK for robust functionality, reliable performance, acessibility and community support. Mobile platforms come with their own native UI solutions.

    For data-intensive UIs and heavy editors (e.g. CAD, video and music production, games) I might need to designan entirely new rendering pipeline to comply with users requirements for ergonomics, speed, latency etc.

    It is also easy to notice that as a team or employer, it is often much easier to hire someone for web stack, than for native development. Simply put, more people can effectively code in JS, so we get more JS and tech like Electron enables that.

    If you are interested in a single solution that will get you nice results in general, no matter the platform - you might see some success with projects like Flutter or OrbTK.

    UI rendering in general is a deep and very rewarding rabbit hole. If you are in the mood, this article by Raph Levien gives a good overview of existing architectures: https://raphlinus.github.io/rust/gui/2022/05/07/ui-architecture.html



  • I am not a professional educator, but in general I think it is worth to start with basic computer literacy: identifying parts of a PC, being able to explain their overall functions, difference between hardware and software, and what kinds of software a computer can run (firmwares, operating systems, user utilities etc.). This would also be a perfect time to develop practical skills, e.g. (assuming you are a normatively-abled person) learning to touch-type and perform basic electronics maintenance, like opening your machine up to clean it and replace old thermal compounds.

    After that taking something like “Operating systems fundamentals” on Coursera would be a great way to go on.

    It really depends on your goals, resources and personal traits, as well as how much time and energy you can spare, and how do you like to learn. You can sacrifice and old machine, boot Ubuntu and break it a bunch of times. You can learn how to use virtualization and try a new thing every evening. You can get into ricing and redesign your entire OS GUI to your liking. You can get a single-board computer like RaspberryPi and try out home automation.


  • I might have phrased my thought too bluntly: I never intended to frame the problem as any sort of moral failure on the end users’ part. I view this as a failure of our educational institutions.

    In my mind, preferring to spend time on (e.g.) MS Office in class, instead of teaching proper computer literacy, is like trying to teach meal-prep with Philips air fryers instead of teaching how to cook.

    I hear you, and I too feel like it might be just my aspi-nerdiness speaking, but the same argument could be said about any subject that is considered fundamental to highschool ed. We don’t skip on philosophy, sciences, languages and arts just because they seem less applicable than math or econ, or because “it’s impossible to learn everything”.

    Our civ made progress, having invented a fundamentally new tech that is accessible to everyone and now underpins everything. Allowing people to acquire the basic literacy needed to interface with this tech sustainably is the bare minimum we should be doing. I am not talking about turning kids into cyber wizards - just getting their computing up to a level that allows them to make relevant informed choices.


  • We learn and teach inferior personal computing practice, and most people don’t realize how much they are missing.

    The vast majority of people outside of enthusiast circles have absolutely no idea what a personal computer is, how it works, what is an operating system, what it does, and how it is supposed to be used. Instead of teaching about shells, sessions, environments, file systems, protocols, standards and Unix philosophy (things that actually make our digital world spin) we teach narrow systems of proprietary walled gardens.

    This makes powerful personal computing seem mysterious and intimidating to regular people, so they keep opting out of open infrastructures, preferring everything to come pre-made and pre-configured for them by an exploitative corporation. This lack of education is precisely what makes us so vulnerable to tech hype cycles, software and hardware obsolescence, or just plain shitty products that would have no right to exist in a better world.

    This blindness and apathy makes our computing more inaccessible and less sustainable, and it makes us crave things that don’t actually deserve our collective attention.

    And the most frustrating thing is: proper personal computing is actually not that hard, and it has never been more easy to get into, but no one cares, because getting milked for data is just too convenient for most adults.


  • My music instructor suggested them for me to listen once. I could tell by his tone, that this suggestion was ironic at least on some level (he was only half-expecting me to like it), but after I gave it a listen and we started discussing it, it became obvious that both of us like this music pretty intensely and unironically.

    I personally view Clown Core as a conceptual musical comedy. They utilize the clown aesthetic as a framing context, in which they use MAD SKILLS to inspect and subvert all expectations about music structure, direction, tone and sound.


  • Brace for a hot take.

    Most of these points are completely void, not because Linux is the bestest ever, but because the domination of proprietary systems has conditioned most users to comply to a lesser image of “personal computing”.

    Things evolve too quickly? Sorry, we have to stay on top on security updates, new standards, hardware support, new features and ways of working - the world is changing, and our tools follow. It’s not a problem, but a natural consequence of progress. The fact that so many people view this as a source of pain in their personal computing is a problem.

    Things break? Well too bad, it’s tech - it’s supposed to break. And we a are supposed to be able to fix it. If most users think that fixing tech is “black magic” - that is a VERY big problem.

    Way too many choices? No - you just don’t know what you need. It’s silly to expect a Windows or an OSX user to make an informed choice when it comes to software, because they had these choices picked out for them all their life by the proprietor. An abundance of options is never a problem - our inability to orient ourselves among them is.

    TLDR: proprietary computing has normalized a lot of brain-dead practices and expectations, so we crave silly and shiny while turning away from smart and pragmatic. We need better computer literacy, better education and better default computing for everyone.









  • I think it’s not the attention. Too little time has gone since the computational revolution of the 70s for us to see any evolutionary changes. The way we communicate and process info had changed very dramatically though. Information travels faster, spreads wider, all the feedback cycles that used to be weeks long have now tightened down to milliseconds. Or culture requires faster reaction, processing and production times of everyone involved.