𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍

       🅸 🅰🅼 🆃🅷🅴 🅻🅰🆆. 
 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍 𝖋𝖊𝖆𝖙𝖍𝖊𝖗𝖘𝖙𝖔𝖓𝖊𝖍𝖆𝖚𝖌𝖍 
  • 8 Posts
  • 533 Comments
Joined 2 years ago
cake
Cake day: August 26th, 2022

help-circle



  • Your use case is obviously different, but I’ve gone years between system upgrades. I mostly do OSS coding, or work stuff; not gaming. The only case I can imagine needing to upgrade my little Ryzen with 16 cores - a laptop CPU - is if it becomes absolutely imperative that I run AI models on my desktop. Or if Rust really does become pervasive; compiling Rust programs is almost as bad as compiling Haskell, and will take over my computer for minutes at a time.

    When I got this little micro, the first thing I did was upgrade it to 64GB of RAM, because that’s the one thing I think you can never have too much of; especially with the modern web and all the shit that brings with it; Electron apps, and so on, absolutely chew up memory. The one good thing about the Rust trend is better memory use, so the crappy compile times are somewhat forgiveable.


  • You want Upspin. I want Upspin. But Upspin never went anywhere (it’s at least 7 years old… ever heard of it?), and I personally believe that it was because it’s a royal PITA to set up, and because the tutorial had instructions that expected you to be using GCS. If you wanted to do everything on your LAN, it was even harder.

    It’s got all the of the features you mention, and it’s really the only system that does what it does; I really did try in the early days to get it running, and failed. It still has the caveat:

    Upspin has rough edges, and is not yet suitable for non-technical users.

    and, at 7 years old, if it hasn’t gotten anywhere yet, I think it never will. Commits trickle in, but there’s really no significant progress in usability.

    Read the mission statement. It’s glorious. And then wallow in despair that nothing else does this, and it’s a zombie project.








  • I’m 100% with you. I want a Light Phone with a changeable battery and the ability to run 4 non-standard phone apps that I need to have mobile: OSMAnd, Home Assistant, Gadget Bridge, and Jami. Assuming it has a phone, calculator, calendar, notes, and address book - the bare-bones phone functions - everything else I use on my phone is literally something I can do probably more easily on my laptop, and is nothing I need to be able to do while out and about. If it did that, I would probably never upgrade; my upgrade cycle is on the order of every 4 years or so as is, but if you took off all of the other crap, I’d use my phone less and upgrade less often.

    The main issue with phones like the Light Phone is that there are those apps that need to be mobile, and they often aren’t available there.


  • since all apps are designed to run well on budget phones from 5 years ago, there’s no reason to upgrade.

    5 years, maybe, but any more is stretching it. And not getting system upgrades anymore is problematic. Unless you own a particular model of phone, de-Googled Android can be hard to come by.

    For example, I have a 7-year old Pixel C. By the time Google stopped using system updates for it, I wasn’t wanting them as every release made the device slower and more unstable. After some effort, I was finally able to install a version of Lineage, which itself has problems including no updates in years. There’s a lot of software that is incompatible with my device, both from Aurora and FDroid.

    Android isn’t Linux; Google doesn’t care about maintaining backward compatability on old devices, much less performance, and there’s no army of engineers making sure it is because there’s a served running in walled-up closet no one can find.

    Google deprecates features and ABIs in Android, apps update and suddenly aren’t backwards compatible.

    5 years, maybe. The entire industry is addicted to users upgrading their phones, and everyone gets a piece of that pie. There’s no actors, except perhaps app developers, who have any interest in keeping old phones running. Telecoms upgrade their wireless network - the internet connection in my 8 y/o car, and half its navigation features, died the day AT&T decided to stop supporting 3G; Phone makers make no money if you don’t buy new phones; and maintaining backwards compatibility costs Google money which they’d rather siphon off to shareholders.


  • Plus, I had gotten to a place where my tiling WM, tmux, terminal tabs, and vim tabs were all competing for keyboard shortcuts, and it was driving me crazy.

    I admit, this is so bad that occasionally - and especially if I make the mistake of stopping to think about it - my brain freezes and I can’t remember the chord for a few second. What helped immensely was first kmonad, then Kanata, and finally a QMK keyboard. I use exactly the same keys for navigation, create, delete, etc operations, and only vary the layer key - WM under my pinky, tmux under my index finger. Helix has it’s own bindings and ways of managing windows that are different enough as to not really confuse me, and I don’t use terminal tabs at all, so it’s really only WM and tmux. But, yeah: a Helix split window, in a split tmux tab, in a split herbstluftwm window can occasionally get me stuck for a few second as I unbox all the layers.




  • This is a lot like what I do. Where possible, my apps are TUIs, so terminals dominate. At any given point I have 4 tmux sessions with around 6 tabs in each. I haven’t refined that, though, because my editor (Helix) also has window support and many editing tasks (yank/paste) are easier with Helix windows that with multiple helix sessions running in different tmux tabs. This works best with full-screen terminals, and I find myself closing tmux panels to open helix windows… I need to refine this.

    A few apps are GUI. Browsers, PDF viewers, graphics editors. Those are all full-screen.

    How do you use the sliding feature this way, though, and how is it better than just having separate desktops? Do you use multiple displays, or only one?





  • Thanks for the input

    You’re welcome!

    I haven’t used assembly in a long while, so I know where to look to understand all the instructions, but I can’t tell right off the bat what a chunk of assembly code does.

    Oh, me neither. And that’s not what I think is necessary; what’s important is that you can generally imagine the sorts of operations which are going on under the hood for any given line of code. That there’s no magic “generate a hash for a string” CPU operation, and that, ultimately, something is going to be iterating over a series of memory locations and performing several math operations on each to produce a numeric output. I think this awareness is enormously valuable in developers, and helps them think about the code they’re writing in a certain way, and usually in a way that improves their code.

    Algorithms, I am terrible at these because I rarely use them.

    You use them all the time! Anything longer than a single operation is an algorithm.

    Nobody is going to ask you to write a search function; however, being aware of Big-O notation, and being able to reason about time and space complexity, is important. On the backbend, it’s critical. It’s important if you’re a front end developer - I blame the whole NodeJS library fiasco on not enough awareness of dependency complexity by a majority of JS developers.

    I tend to work in finite state machine which is close to algorithms, but it’s not quite it.

    I’d absolutely call FSM work “algorithms”, and it sounds as if the projects you’re working on is where these fundamentals are most important. Interfaces between hardware components? It’s the most fraught topic in CIS! So. Many. Pitfalls. Shit, you probably have to worry about clock speeds and communication sheer; there’s absolutely a huge corpus of material about algorithms for handling stuff you’re working with, like vector clocks. That’s a fabulous, interesting field. It’s also super tedious, and requires huge attention to detail which I lack, so in a way I envy you, but an also glad I’m not you.