• 1 Post
  • 30 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle
  • Long time i3 user, recently switched to Hyprland+Wayland. I just don’t like mice, don’t enjoy using them, and I find the snappiness and responsiveness of keyboard-centric workflows very fun and enjoyable.

    I am a software developer, and I am very impatient when it comes to my tools: I like my feedback cycles and interactions to be as tight as possible. This limited study from 2015 showed that developers, on average, spend ~26% of their productive time on stuff that is not related to either code editing or comprehension, including 14% spent on UI interactions. Tiling window manager allows me to streamline most of these interactions through hotkey bindings and shell automation, >!so I prefer spending literal months polishing my dotfiles instead!<







  • My first encounter with Linux was in 2007, I installed Kubuntu Gutsy Gibbon on my dad’s computer out of curiosity - I was intrigued by a notion of free OS you can deeply customize.

    I have spent countless hours fiddling with the system, mostly ricing (Compiz Fusion totally blew my mind) and checking out FOSS games.

    Decades later I switched to Linux full-time. After 12 years of daily driving OS X and working as a developer, I wanted a customizable and lean OS that is easy to maintain and control. Chose Arch, then Nix, havent looked back ever since.



  • All software is political, riddled with biases and potential security risks. Most of the time we ignore the policy of the software, because we either agree with that policy, or are conditioned not to clock it as a “policy”, because “this is just Common Sense™”.

    I suspect, if the author would have been more honest with themselves, they’d write something along the lines of “turns out, software is a platform for political action, and it scares me” - an opinion that is very valid, valuable and thought-provoking.


  • The future’s wasteland will be covered by bodies of web stalkers who were naive enough to get tricked by mid-2010s shitposts.

    “Turns out they never used this to make their metal cutlery darker - who would have thought the ancients were so casually cruel?”

    “After months of research we have concluded, that despite all their technical achievements, the ancients never figured out, what does the fox say”

    “Today prof. Drobyshevsky is going to tell us about their newest work in XXI cent. anthropology - what is ‘streamer dent’ and why do we have such long heads 2300 years later?”

    “Ass, coochie and the rich - dietary practices of homo sapiens in the age of over-production”






  • 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






  • 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.