𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍

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

help-circle

  • I have no opinion about rsync.net. I’d check which services restic supports; there are several, and it is it supports rsync.net and that’s what you want to use, you’re golden. Or, use another backup tool that has encryption-by-default and does support rsync.net - there are a couple of options.

    I would just never store any data that wasn’t meant for public consumption unencrypted on someone else’s servers. I make an exception for my VPS, but that’s only because I’m more paranoid about exposing my LAN that putting my email on a VPS.

    restic, and other backup tools, are generally not always on. You run them; they back up. If you run them only one a month, that’s how often they run. The remote mounting is just a nice feature when you want to grab a single file from one of the backups.

    What you’re describing is a classic backup use-case. I’m recommending the easiest, cheapest, most reliable offsite solution I’ve used. restic has been around for years, and has a lot of users and a lot of eyeballs look at it, and it’s OSS. There are even GUIs for it, if you’re not comfortable with the CLI. B2 is generally well-regarded, is fairly easy to figure out, and has also been around for ages. Together, they make a solid combo. I also backup with restic to a local disk and use that for accessing history - B2 is just, as you say, in case of a fire, or theft, I suppose.



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


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




  • Huh. It’s a little off in some details, but does a pretty good neckbeard.

    I’ve been using Arch for several years, including off-beat offshoots like Artix, and have never once compiled a kernel on it. The last time I compiled a kernel was a couple of decades ago when I was running Gentoo.

    Arch is mainly a precomputed precompiled binary distribution; AUR is where you get the compile from source packages, and that’s the community repos.

    Arch users may have a reputation for acting superior, and I’ll admit that they Arch wiki justifies a lot of “look it up yourself” mentality, must because it’s so comprehensively good. But I think GPT misses the mark on a couple of points, like extra fingers on a Stable Diffusion person.



  • A while ago, I wrote a tool to generate change logs from commit messages. It grabs all commits from a tag to the previous tag, and collates them into a Keep A Changelog format.

    An unintended consequence is this is that my commit messages are in keepachangelog format; the tool just groups messages by type and adds the version and date decoration, and then inserts the text at the right place in the file.

    It’s fantastic. Because I know the commit messages will end up in the changelog, it encourages me to describe the commits in terms of:

    Adds blah blah Changes blah blah Fixes blah blah

    Anything that doesn’t start with a keyword is discarded, so I can still jot notes in the commit, but by far the biggest benefit is that it’s completely broken me of the habit of reiterating the code change that I committed, and write the reason for the commit in descriptive language.

    Having a little reinforcement such as tooling can do wonders for building good habits.

    Postscript I don’t know if anyone cares about this – it’s pretty specific to my workflow, but if you want to see the tool, it’s just a shell script. The only non-standard tool it needs is ripgrep. You pipe some set of commit logs to it, and it collates them into sections. In the repo is a very Mercurial+bookmarks function that’ll automatically grab and generate a section for the latest bookmark. But it boils down to something like this:

    hg log -vr v0.0.4:v0.0.3 -P v0.0.3 | changelog
    

    I only use git when I absolutely have to, so I don’t know what the equivalent command for that is; but here:

    • I use -v because I want the full commit. For a given commit, if there are multiple changes, I put each on its own line. Both git and hg only print the first line of each commit message by default, so to get all lines of commit log messages with Mercurial, -v is needed.
    • -r v0.0.4:v0.0.3 generates logs in reverse chronological order, from the commit with bookmark v0.0.4 to the one with bookmark v0.0.3. This should work with tags, too.
    • -P v0.0.3 prunes the v0.0.3 commit, so that its message doesn’t get included with the v0.0.4 log entry.


  • I’ve gone months between updates. On servers, that’s a little more risky because it CVEs, which can also apply to the kernel, but LTS is probably safe enough there: if there’s a kernel CVE, LTS will be updated.

    I’ve had trouble with pinning the kernel before, though. Last time I did it, I went several months and forgotten I’d done it, and my system got itself wedged because some package was expecting a newer kernel; it took me a while to figure out.

    LTS might be a better option, since that will be caught be dependency management. Pinning can cause version dependency mismatch issues.