• 2 Posts
  • 50 Comments
Joined 9 months ago
cake
Cake day: January 28th, 2026

help-circle



  • I avoid screens (with one exception mentioned in a bit)—especially social media (including fediverse)—for like an hour ahead of time, read a book, make sure I’m well fed and hydrated without eating too close to bedtime, wear a sleep mask, and put on some soothing music, podcast or (mostly audio-based) video—with the screen off as soon as I hit play. Sometimes I even resort to my noise-cancelling headphones—or earplugs, if the sounds of my own breathing, swallowing, and bloodflow don’t bother me too much that night. It helps to meditate and/or make sure to exercise/work hard enough to wear myself out each day.

    Comfort helps. Finding the right position, having the right sheets, mattress, pillow, getting the ac/fan/heater so the room feels perfect, maybe cracking a window for fresh air. Feeling secure and safe where I’m sleeping, confident that I’ll make it through the night without rude awakenings. Each isn’t very powerful on its own, bit all together make a big difference in how readily I drift off.

    Finally, I just try not to worry too much whether I fall asleep or not; if it’s not looking like it’s happening, I’ll try to write a story for myself or draw a masterpiece in my minds eye. If that doesn’t work, I’ll focus on invoking some Wake-Induced Lucid Dreaming instead: forcing myself to lie perfectly still with my eyes closed, not even shifting for comfort nor to scratch itches nor swat flies, letting my mind wander wherever it wants to and just going with the hypnagogic hallucinations (they can get a little uncomfortable at times). This rarely has the intended effect, but I usually do end up waking up later, realizing I fell asleep without knowing it.

    Disclaimer: my routine won’t solve insomnia, it won’t fix neurological disorders that affect circadian rhythm, it probably won’t work on the first night even if you don’t have the aforementioned issues. But adding any part of it to your routine (if you can) will make it just that much easier to fall sleep, when you can get around to it, even if you do have underlying conditions.

    Also, at the risk of sounding like a boomer, screens are really bad for sleep. I grew up with them: my family had a habit of watching tv until bedtime, I trained myself to fall asleep while staring at my laptop (which I often have on my bed), or I’ll pick up my phone after I put the laptop down. Nowadays I can feel how awake my brain gets when I check lemmy or read news around bedtime. If I have my phone near me, I’ll have this nagging feeling to do “just one more” check of all my socials.

    And it always keeps me awake until I will myself to turn it off and close my eyes.


  • Idk how versed you are on Bash Parameter Expansion or the find command, so I’d like to expand (pun intended) a little more on Jo Miran’s explanation (if you already know, I’ll leave this for others who may not):

    find’s -exec (and -execdir) option takes everything after it until a semicolon — which usually needs to be escaped, so the shell doesn’t accidentally treat it as the command separator special character — as a command to run and arguments to pass to that command. Furthermore, when using the -exec option, find treats all instances of {} as places where it should substitute the files it matched

    So breaking down -exec bash -c 'mv "$0" "${0/crunk/chunk}"' {} \; really just tells find to take the name of a file it found (in this example it would only match dir1/crunk) and put it after the command bash -c 'mv "$0" "${0/crunk/chunk}"'

    So now the command to run looks like bash -c 'mv "$0" "${0/crunk/chunk}"' dir1/crunk

    this command spawns a (sub)shell, bash, tells it to run the next argument as a command, -c, gives it that command to run, mv "$0" "${0/crunk/chunk}", and passes filename as an argument, dir1/crunk

    So now let’s talk shell parameters

    Usually $0 is a special parameter that references the shell (or script) that invoked the command. In the case of using the -c option, bash actually changes $0 to be the argument after the command to run: dir1/crunk

    So now the command looks more like

    mv "dir1/crunk" "${0/crunk/chunk}"

    So let’s finally get to the finish line: shell parameter expansion. Shell parameters (aka shell variables) can be written with curly braces around the name, so $SHELL and ${SHELL} refer to the same thing. But the curly braces can also let the shell know that if it sees certain special characters after the variable’s name, it should do some transformations to the contents of the variable.

    In this case ${0/crunk/chunk} takes the contents of $0, searches for the first instance of the string ”crunk", and replaces it with “chunk” before inserting it into the command.

    So now the final command to run looks like

    mv "dir1/crunk" "dir1/chunk”


    Also worth mentioning that the -name option of find accepts wildcards in its argument.

    I would also recommend using the -execdir option instead of -exec in this specific case, because it will run commands from inside the directories where it finds the files. In this case, that means {} would expand to ./crunk instead of dir1/crunk; this will be relevant in about 3 paragraphs.

    So now you can tweak the command to your needs. If you wanted to find more than one file that, for example, all had a “u” somewhere in the name, you could do so thusly

    find dir1 -name ”*u*"

    And then if you wanted to change the “r” in the filenames to “l”, you could do:

    find dir1 -name "*u*" -type f -execdir bash -c 'mv "$0" "${0/r/l}"' {} \;

    Note that you could not do this with the regular -exec option, as it would try to mv dir1/crunk dil1/crunk and throw an error because that directory (dil1) likely doesn’t exist… and even if it did, you don’t want your command moving files to different directories without your knowledge

    Notice that it also only changed the “r” in dir1 to an ”l”, and left the “r” in “crunk” alone? That’s not a typo on my part, that’s the intended behavior of Shell Parameter Expansion. If you wanted to replace all "r"s in filename, you would have to change the expression to ${0//r/l} (note the double slash)

    Seriously, it’s worth reading that page from gnu.org. Parameter expansion can get incredibly powerful, and it’s much easier to use the right format (${VAR/%r/h}) than trying to combine the most simple ones to achieve the same goal (e.g. DO NOT DO THIS: ${${VAR//r/h}/h/r}; it won’t even work as intended and it’s unnecessarily complex to read)




  • I have a Lenovo Flex 2 15, which has an i3, 1080p display with intel graphics (although it’s a 15" display) and upgraded to 16 GB of RAM

    I use AntiX/MX Linux bc they’re made with lower spec/older systems in mind. I started with AntiX-core to keep everything as lightweight (not a ton of background processes = low memory usage, low cpu usage) as possible

    I use Sway bc 1. It’s more lightweight than a full DE, and 2. Keyboard navigation is a must for laptops (trackpads only exist to inflict pain and misery on the world)

    A couple great things about this setup is that it rarely overheats (as long as I keep it to a couple tasks at a time), and the battery can last for a 2 hours if I forget to plug it in

    Even if you don’t end up going with any of these suggestions, please take this to heart: never stop tweaking your system. You end up learning so much about it, and every little change makes it feel all that much more special to you



  • I realize this is the best option, since it centers my experience and needs better than anyone else’s summary, but what to do if I don’t have the time to daily drive enough init systems long enough to understand the scope and limitations of each?

    E.g. Gentoo’s wiki has a comparison chart of all the systems I’m aware of, but I don’t know what some of the rows mean, so I would have to daily drive multiple types to get a feel for what it’s like with and without those options and how that affects me as an end-user. It also doesn’t include metrics that often get referenced but not quantified in the comparisons I find (stuff like boot times)

    Furthermore, the only two times I’ve tried to switch out the init system on my PC, I’ve somehow managed to bork things so bad I had to do a fresh reinstall. Yes, I could do troubleshooting, but that’s even more hours (or even days) of downtime up front.

    All this to say: I’m just looking for a little bit of a shorcut to reduce the amount of documentation I have to read, and tweaking I’ll end up doing.




  • Depends on how much privacy you need and how much tinkering to get things to work that you’re willing to put up with.

    In general, using a variety of services will be more private than going with a single entity like Proton.

    Bitwarden is self-hostable, which makes it potentially more private than Protonpass… assuming you actually set up the self-hosting.

    Signal isn’t a good long-term plan, as it’s entirely hosted in the US. I don’t think there are currently any known compromises to the encryption model, but iirc the company can see all your communications metadata (which means the government could potentially as well). I don’t mind it for talking with friends, but I would recommend against it for extreme privacy needs (e.g. the government starts getting overzealous with who it counts as enemies of the state, and you or your friends become targets).


  • At least some level of human review is going to be needed.

    So… completely negating the point of a User Repository??? Introduce some kind of authoritative oversight, and it’s essentially just another regular repository, erasing all the benefits of the AUR. The whole point of the distro slapping a huge disclaimer of “DISCLAIMER: AUR packages are user produced content. Any use of the provided files is at your own risk.” at the top of the homepage is because these kind of compromises are the trade-off one makes



  • I get where y9u’re coming from, screen-sharing used to be a massive pain point for me. I regularly host movie nights thru discord on my Debian + GNOME pc. I haven’t switched off Wayland in a few months on that one. Besides the occasional audio issue, which gets resolved by unsharing and then sharing the window again, I haven’t had issues.

    Idk about remote desktop. On the same PC, I used to use Remmina to access my work (windows) PC, starting about 2.5 years ago; the only problem I had back then was that I had to run Remmina as root for the multi-monitor support to work correctly (which could be done as a regular user in Xorg). All this to say that remote desktop hasn’t ever really been FUBAR for me, and I haven’t tried it in about a year. On the other hand, the “you’ve gotta be root” was a deal-breaker, and even back then I only tested it in one direction (never tried accessing my Debian pc via RDP).



  • I use AntiX (core) with runit, and it’s basically just an opinionated Debian with less systemd bloat (and extra packages from MXLinux repo). It works swimmingly on my laptop with an i3-4030U Lenovo Flex 2 (although I did upgrade to 16 GB of memory). It worked blazingly fast headless, but is still remarkably performant for Sway; as for not looking old/ugly, Sway is beautiful as long as you put in the time to customize it

    I actually got into Sway bc of my love for i3wm, and Wayland has gotten to the point where I’m no longer seeing any benefits from sticking to Xorg (although there are probably edge cases); I predict that Wayland will be superior option for older hardware within a couple of years, unless XLibre makes some major leaps.



  • Proxies and VPNs seem like the most obvious targets. They mostly prey on people who don’t understand the technical workings thereof (had my mom ask if she needed to get a VPN bc firefox opened on ad for theirs, claiming it enhanced privacy), and serve little benefit to people who are doing the kind of illegal activities that make governments take notice. They serve as a single point of compromise for anyone, and they work worldwide so that all your traffic can be monitored even when you’re on a different ISP/in a different country. It’s like the perfect MITM, and people are even willing to pay to have themselves monitored.

    The truth is that at best they benefit people who only don’t want their network-provider watching, but don’t care who else may be. It’s the perfect setup for a 3-letter agency to just sit and monitor everything anyone does, waiting for someone who’s just a little too careless to access illegal content thinking they’re anonymous.