𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍

       🅸 🅰🅼 🆃🅷🅴 🅻🅰🆆. 
 𝕽𝖚𝖆𝖎𝖉𝖍𝖗𝖎𝖌𝖍 𝖋𝖊𝖆𝖙𝖍𝖊𝖗𝖘𝖙𝖔𝖓𝖊𝖍𝖆𝖚𝖌𝖍 

Ceterum Lemmi necessitates reactiones

  • 3 Posts
  • 583 Comments
Joined 3 years ago
cake
Cake day: August 26th, 2022

help-circle





  • My recommendation is to put all of the variables in an environment file, and use systemd’s EnvironmentFile (in [Service] to point to it.

    One of my backup service files (I back up to disks and cloud) looks like this:

    [Unit]
    Description=Backup to MyUsbDrive
    Requires=media-MyUsbDrive.mount
    After=media-MyUsbDrive.mount
    
    [Service]
    EnvironmentFile=/etc/backup/environment
    Type=simple
    ExecStart=/usr/bin/restic backup --tag=prefailure-2 --files-from ${FILES} --exclude-file ${EXCLUDES} --one-file-system
    
    [Install]
    WantedBy=multi-user.timer
    

    FILES is a file containing files and directories to be backed up, and is defined in the environment file; so is EXCLUDES, but you could simply point restic at the directory you want to back up instead.

    My environment file looks essentially like

    RESTIC_REPOSITORY=/mnt/MyUsbDrive/backup
    RESTIC_PASSWORD=blahblahblah
    KEEP_DAILY=7
    KEEP_MONTHLY=3
    KEEP_YEARLY=2
    EXCLUDES=/etc/backup/excludes
    FILES=/etc/backup/files
    

    If you’re having trouble, start by looking at how you’re passing in the password, and whether it’s quoted properly. It’s been a couple of years since I had this issue, but at one point I know I had spaces in a passphrase and had quoted the variable, and the quotes were getting passed in verbatim.

    My VPS backups are more complex and get their passwords from a keystore, but for my desktop I keep it simple.



  • Oh boy. This is a rabbit hole which, once you fall into, there’s no coming back out.

    There is a world of terminal software. You can, quite reasonably, get entirely rid of X (and Wayland) and live in the console. Honestly, the reason I don’t is only because there is no fully competent terminal web browser (although there are some quite good ones), and because anything having to do with graphics like photo management, or vector graphics drawing, is really where GUIs are useful. But for everything else, terminal clients are almost always superior.

    Choosing a good terminal emulator is important, and the best one right now is Rio. It’s fast, smaller memory footprint, and less CPU use than Wezterm or Kitty, and it supports ligatures, iTerm, and SIXEL graphics.

    In that goes tmux, because it works over ssh and having consistent everywhere is handy, because it survives terminal and window manager crashes, and because you can open multiple clients in different windows on the same tmux session.

    In that runs zsh, because it’s the best shell. It’s backwards-compatible to bash, but has a ton of extra features.

    I’m conservative about replacing standard POSIX tools with new fad tools, because grep is literally everywhere (even BusyBox) and new things usually aren’t; but ripgrep and fd are such nice improvements over grep and find I’ve been unable to resist. Helix is currently the best text editor. However, having a good familiarity with grep, find, and vi is IMHO critical, because they’re the foundations.

    My media player is ostui, which is an ncurses SubSonic client with synced lyrics and cover art support. I use catnip for visualization, because it uses less memory and CPU than cava. For task management I use a bespoke script (tdp) that use fzf with todo.txt files. I use gotop for system monitoring.

    I try to use chawan for terminal web browsing, and it does do CSS layout better than most, and supports sixel image rendering, but it’s often a chore so I mostly browse in Luakit, which is a GUI program.

    rook is my secret service tool that uses a KeePassXC DB as the backing store, and provides credentials to everything that needs them.

    • vdirsyncer syncs my calendar and contracts to a VPS, and thence to my phone
    • mbsync syncs all of my email from my IMAP server, and I use notmuch to index and tag it
    • khard is a terminal address book that uses standard vcard directories
    • lbb is a super-fast address book search tool which also works on vcard directories
    • khal is a TUI calendar app, which works with vcal directories
    • aerc, which someone else mentioned, is a fantastic TUI email client that can use notmuch.
    • tasker is what I use for scheduled cron control; it uses standard crontab files.
    • devmon and udevil handle automounts of USB media
    • mosh is a UDP-based ssh, with interruptable sessions and network resilience
    • mpdris2-rs is the agent I use to hook up various media control tooling to ostui (which supports the mpris protocol) and other players - mpris is a sort of standardized glue for media players.
    • gomuks is an excellent TUI for Matrix
    • weechat is a TUI for IRC. I prefer gomuk’s interface, but you can get a Matrix plugin for weechat if you want to use only one. I find I often have to restart weechat because otherwise it end up eating all of the memory; there’s a memory leak, or something in it.
    • syncthing-daemon for syncing between almost everything
    • restic for backups

    dinit handles all of my user task management, because systemd is fucking broken for user tasks. dinit is a better init system.

    Almost every application I use is a cli or TUI client. The exceptions are the web browser, for reasons I’ve explained; Jami, which doesn’t have a CLI client; Factorio, which is a game; and darktable for photo management. I’ll also occasionally open Gimp or Inkscape for graphics, vlc for movies (which I could probably watch in the terminal, now that I think of it), and I usually view PDFs in a GUI client such as mupdf.

    My philosophy on software is to use standards wherever possible. I avoid programs that insist on using their own DBs when there’s a perfectly good standard, such as ics, maildir, and so on. It’s just another form of vender lock-in. Hence notmuch (maildir), khard and lbb (directory of .ics), khal (directory of .vcs), rook (KeePass DB), and so on. This drives most of my tooling choices.


  • It’s not wrong. If the only objective of Linux were to steal users from Windows or Mac, becoming a homogeneous dictatorial OS is the way to do it. Most people don’t care about choice, and in fact having to choose is an anti feature. Apple’s success proves this, but companies like Microsoft for the same reason: it’s all a boring dystopia of sameness.

    Linux’s strength is diversity. It’s both the only functioning communism on the planet, and the best evolutionary testbed for software. It’s great for people who value freedom and choice; it’s mostly a confusing mess for everyone who don’t give a single shit how computers work, or which style that use - they want to be given something that works OOTB and always have it work the same way. They want to be told what to do, because honestly they can’t be arsed to figure it out. This doesn’t imply anything at all about the kind of people they are, they just aren’t interested in computers.

    I give no shits about how a car works; I don’t care how many HP it has, I don’t want to assemble and decide on every single component. I don’t even like driving - it’s just time out of my day which demands all of my attention, and which I’d rather spend doing something else. I absolutely hate the car buying experience - taking days to test drive and decide. I’d be just as happy to be able to look up “best car this year at this price point” and buy that.

    For a great many people, computers are like cars are to me: a necessary evil.

    So: it’s not a bad expectation that Linux adoption would dramatically increase if it became a monopoly of software. If all the Gnome developers would stop wasting their time and work on KDE instead. (See how that sounds when you swap out “X11” and “Wayland” for “Gnome” and “KDE”? I see people making this argument all. The. Time.) But it’d become a lesser ecosystem.

    Monocultures suck.







  • I gave my dad one of my spare laptops four years ago; it had never had Windows on it (being from the halcyon days when Dell sold laptops with linux pre-installed), so I put Mint on it for him.

    Early this year he called and said one of the keys stopped working so he’d bought a newer, used laptop and could I help him put Linux on it, because that’s what he was used to. Over the phone, I helped him download and burn a new Mint image from his ancient desktop, and verbally walked him through switching the bios to boot from the USB, and through the Mint install menus.

    Since then, he’s called me once for technical support for getting his printer connected.

    Dad’s in his 80’s and was a cop with an associate’s degree; he’s never claimed to be a brainiac. That is what convinced me Linux is ready for anyone, but that the choice of distribution is important. I think dad never upgrades or installs new software, but that’s OK. I have to update and reboot every week because I’m stupidly loyal to Arch.

    I’m sorry that your mom had a bad experience; that’s super frustrating.



  • The Remarkable 2 is fantastic. You can ssh into it, and scp from it. There are some filesystem layout quirks, but it’s good. Peerless writing experience. Great battery. Plenty storage. Large screen. No backlight, sadly. Good for

    • taking notes
    • reading & annotating PDFs
    • reading technical books, with illustrations and diagrams
    • reading graphic novels

    Not so good for reading for pleasure, like fiction. It’s too big. It’s best for active reading and writing.

    I have a Kobo Aura H2O for recreational reading and travel. Massive memory and an SD expansion slot. Backlight. Pretty indestructible, I read it in the jacuzzi.


  • E2E usually suffers from the same thing HTTP does: the MITM might not be able to read what you’re saying, but they know who you’re saying it to, and they may know in what context. This is a lot of information that can be used in profiling.

    So you end up with systems like SimpleX, where everyone has a different UID for every contact, but that has its own problems, as anyone who’s used systems like that are aware. We haven’t really solved making that a good user experience for messaging; I don’t see it translating to broader social media any time soon.

    Nostr has some really good specs and tooling that neatly addresses these topics, including great cryptography support, signing, ad-hoc IDs, and an entirely voluntary simple naming lookup; it doesn’t exactly solve zooko’s triangle, but it provides a toolset sufficient to mix and match characteristics for whatever your threat model is. Sadly, Nostr is utterly dominated by the crypto crowd (and is associated with some controversial personalities), and even if you’re not cryptocurrency-hostile, it’s a really dull echo chamber with little other content that has prevented people who might otherwise build interesting platforms in it from doing so.

    Mastodon was around for ages before (the in practice centralized) Bluesky; why did it take Bluesky to open a mass exodus from X?

    This is a hard problem to solve. Throwing E2E at it doesn’t make it easier; it’s just tossing a buzzword in.