Skip Navigation
Props to Alpine and Kali for disabling this bullshit out of the box
  • Ooh, I've never heard of bcachefs, sounds exciting! I see it supports encryption natively, which btrfs doesn't. Pretty cool!

    Personally I've never had any issues with btrfs, but I did start using it only a couple years ago, when it was already stable. Makes sense that you'd stick with zfs tho, if that's what you're used to.

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • I find myself inventing new curses for those who screwed things up with these overblown, over complex, minimally functional abominations

    Gosh, tell me about it. I once tried writing a custom wifi signal strength indicator app that got its information from network-manager. Apparently the only way to programmatically communicate with network-manager is through dbus, which is just terrible. Scarce to no documentation, poor support for any language other than C/C++, and once you do get it working, it's the most disgusting and overly verbose code you've ever seen, just to query the status of the wifi card. Could've exposed the API through raw unix sockets or something, but nope, they had to reinvent the wheel on that one as well.

    Just give me vi and the basic configuration files and let me get on with it!

    I'll take this opportunity to shill for Void Linux, it sounds like exactly what you're describing. I've been a happy user for like 5 years now. I particularly like how nothing ever breaks, because there's not much to break on such a minimal system.

    ...well, actually, a few things did break over the years, but most of those were due to user error haha.

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • Lennart’s Cancer, though, can die in a fire.

    The way pipewire made pulseaudio obsolete in a matter of months almost makes me feel bad for him lol. Imagine waking up one day only to realise that the thing you spent so much effort developing has been quietly made obsolete by a replacement that is better in almost every way possible

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • I can think of a single instance where a Redhat-ism is better

    I don't know if it would be accurate to call it a redhat-ism, but btrfs is pretty amazing. Transparent compression? Copy-on-write? Yes please! I've been using it for so long now that it's spoiled me lol. Whenever I'm on an ext4 system I have to keep reminding myself that copying a huge file or directory will... you know... actually copy it instead of just making reflinks

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • I'd do away with network-manager on a stationary system too, but I'm on a laptop, and unless there's some trick I don't know about, configuring wifi by hand for every new network I come across sounds like a bit of a pain. Especially for corporate/institution network that use fancy things like PEAP

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • Thanks! I love this format so much. I can't find it now, but one of my favourite memes in this genre was something like this:

    STOP DOING

    • Tasks were never meant to be completed
    • Years of working, but there's STILL MORE SHIT TO DO
    • Wanted to get some work done anyway, for a laugh? We had a tool for that: it was called SIMULATION GAMES
    • "Please let me sacrifice a third of my life to justify my existence. Please let me spend eight hours a day working just to be able to do it again the next day" - statements dreamt up by the utterly deranged

    Look at what people have been demanding our respect for all this time, with all the schedules and todo lists we have built for them:

    These are REAL things done by REAL people

    <Pictures of gmail, microsoft outlook, and some TODO list app>

    They have played us for absolute fools

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • What I really don't understand is why distro maintainers feel the need to actually go along with these changes. Like, sure, if this predictable interface naming thing worked as intended, I can definitely see how it can be useful for server administrators. You could just hardcode the automatic interface names instead of assigning them manually in /etc/mactab. But why would the rest of us ever need this? Most personal machines have at most one wifi card and one ethernet device, so wlan0 and eth0 are perfectly predictable. And even if you have multiple wifi or ethernet adapters, your networking is probably handled by network-manager, so you never actually have to put interface names into config files. Why force enterprise-grade bloat on users who just want a simple desktop experience?

  • Props to Alpine and Kali for disabling this bullshit out of the box
  • No, the "old scheme" is the one that assigns wlan0, wlan1, eth0, eth1, and so on by default. I would say these names are pretty usable.

    The part you quoted is what you need to do if you specifically need to be sure that a specific card gets a specifc name 100% of the time. You don't have to bother with it unless you have a reason to.

  • Props to Alpine and Kali for disabling this bullshit out of the box

    Context for newbies: Linux refers to network adapters (wifi cards, ethernet cards, etc.) by so called "interfaces". For the longest time, the interface names were assigned based on the type of device and the order in which the system discovered it. So, eth0, eth1, wlan0, and wwan0 are all possible interface names. This, however, can be an issue: "the order in which the system discovered it" is not deterministic, which means hardware can switch interface names across reboots. This can be a real issue for things like servers that rely on interface names staying the same.

    The solution to this issue is to assign custom names based on MAC address. The MAC address is hardcoded into the network adaptor, and will not change. (There are other ways to do this as well, such as setting udev rules).

    Redhat, however, found this solution too simple and instead devised their own scheme for assigning network interface names. It fails at solving the problem it was created to solve while making it much harder to type and remember interface names.

    To disable predictable interface naming and switch back to the old scheme, add net.ifnames=0 and biosdevname=0 to your boot paramets.

    The template for this meme is called "stop doing math".

    109
    Basically the extent of my IPv6 knowledge
  • No, it's an edit. I linked the original in the post text. If you can't access it for some reason, here's a transcript:

    Government of the Netherlands

    Home > Topics > Coronavirus COVID-19 > Travelling to the Netherlands from abroad

    Checklist for travel to the Netherlands

    Do not travel to the Netherlands.

  • We are not the same
  • Oh man are we sharing mpd scripts? I have this one that lets me search through music directory and add anything to the play queue (so I can add a single track or an entire album or whatever):

    #!/bin/bash
    
    MUSIC_DIR=$(grep -m 1 -E '^\s*music_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')
    MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"
    
    cd "$MUSIC_DIR"
    CHOICE="$(find . | cut -c 3- | dmenu)" || exit 1;
    
    mpc insert "$CHOICE"
    mpc play
    

    There's also this one that lets me save the currently playing song to a playlist of my choice. It's good if I'm listening to a new album or a new artist and suddenly think "yeah, this song really fits with the mood of X playlist":

    #!/bin/bash
    
    MUSIC_DIR=$(grep -m 1 -E '^\s*playlist_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')
    
    choice="$(mpc lsplaylists | dmenu)" || { echo "No choice." ; exit 1; }
    MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"
    
    mpc current -f '%file%' >> "$MUSIC_DIR/$choice.m3u"
    

    Here's my script to shuffle play an existing playlist as well:

    #!/bin/sh
    
    choice="$(mpc lsplaylists | dmenu)"
    mpc clear
    sleep 0.1
    mpc load "$choice"
    sleep 0.1
    mpc shuffle
    sleep 0.1
    mpc play
    

    The sleeps are to prevent Cantata (graphical mpd client) from shitting itself if I run this script while it's open. Also notice mpc shuffle instead of mpc random on. It shuffles the current playlist, but keeps the linear play order, so that I can add songs to play right after the current one.

  • Basically the extent of my IPv6 knowledge

    Template source: https://web.archive.org/web/20210304000634/https://www.government.nl/topics/coronavirus-covid-19/visiting-the-netherlands-from-abroad/checklist

    22
    Don't try this at /home
  • So switching to a slower wifi AP causes packets destined for outside of your network to not be dropped? That sounds like one of those cursed issues that's a complete nightmare to track down lol. Maybe the faster speed of the 5.8ghz network is causing your router to get overwhelmed or something? Does the same issue happen if you connect via ethernet? I don't really know what else can cause this, I hope you can get it fixed!

  • Debian used to be so good. What happened!?
  • No idea why busybox is needed. Is this is your emergency boot environment like initramfs?

    I cannot for the life of me find the particular fix I followed, but I swear it was a missing symlink to busybox. Not in initramfs, but in the full booted environment. That's why I was so confused haha. I can't find anything about it right now, so maybe I'm misremembering something...

  • Basically the extent of my IPv6 knowledge

    Template source: https://web.archive.org/web/20210304000634/https://www.government.nl/topics/coronavirus-covid-19/visiting-the-netherlands-from-abroad/checklist

    93
    Debian used to be so good. What happened!?

    Firefox on Debian stable is so old that websites yell at you to upgrade to a newer browser. And last time I tried installing Debian testing (or was it debian unstable?), the installer shat itself trying to make the bootloader. After I got it to boot, apt refused to work because of a missing symlink to busybox. Why on earth do they even need busybox if the base install already comes with full gnu coreutils? I remember Debian as the distro that Just Wroks(TM), when did it all go so wrong? Is anyone else here having similar issues, or am I doing something wrong?

    94
    With GPL, you're programming Freedom. With MIT, you're programming for free.

    Context:

    Permissive licenses (commonly referred to as "cuck licenses") like the MIT license allow others to modify your software and release it under an unfree license. Copyleft licenses (like the Gnu General Public License) mandate that all derivative works remain free.

    Andrew Tanenbaum developed MINIX, a modular operating system kernel. Intel went ahead and used it to build Management Engine, arguably one of the most widespread and invasive pieces of malware in the world, without even as much as telling him. There's nothing Tanenbaum could do, since the MIT license allows this.

    Erik Andersen is one of the developers of Busybox, a minimal implementation of that's suited for embedded systems. Many companies tried to steal his code and distribute it with their unfree products, but since it's protected under the GPL, Busybox developers were able to sue them and gain some money in the process.

    Interestingly enough, Tanenbaum doesn't seem to mind what intel did. But there are some examples out there of people regretting releasing their work under a permissive license.

    251
    Python is great, but stuff like this just drives me up the wall

    Explanation: Python is a programming language. Numpy is a library for python that makes it possible to run large computations much faster than in native python. In order to make that possible, it needs to keep its own set of data types that are different from python's native datatypes, which means you now have two different bool types and two different sets of True and False. Lovely.

    Mypy is a type checker for python (python supports static typing, but doesn't actually enforce it). Mypy treats numpy's bool_ and python's native bool as incompatible types, leading to the asinine error message above. Mypy is "technically" correct, since they are two completely different classes. But in practice, there is little functional difference between bool and bool_. So you have to do dumb workarounds like declaring every bool values as bool | np.bool_ or casting bool_ down to bool. Ugh. Both numpy and mypy declared this issue a WONTFIX. Lovely.

    61
    Solutions? Where we're going, we don't need solutions.

    Please dont take this seriously guys its just a dumb meme I haven't written a single line of code in half of these languages

    204
    With all the talk about privacy, people seem to be forgetting that censorship is also a major problem for today's internet.

    Many "alternative" search engines are better for privacy, but they are still vulnerable to censorship, because they rely on g\*\*gle and m\*crosoft's indices for their search results. This isn't a deep-hidden secret either, many of them disclose what search index they use on the "about" page, for example:

    • https://duckduckgo.com/duckduckgo-help-pages/results/sources/
    • https://support.startpage.com/hc/en-us/articles/5138782571796-Why-isn-t-a-particular-site-appearing-in-the-results
    • https://www.ecosia.org/privacy

    There are still search engines that (claim to) maintain their own index. Most surprisingly, br\*ve:

    • https://brave.com/search-independence/
    27
    What do you guys do when you want to run unmaintained programs?

    I recently wanted to run tegaki, and my experience is pretty much summed up by the meme. I consider myself fairly tech-savvy, but I just couldn't figure out how to compile it. So I just gave up, downloaded the .exe and put it into a fresh wine prefix. After installing CJK fonts, everything ran fine. Now I'm trying to get gpaint to work. My distro recently dropped support for gtk+2 (which I am fairly pissed about, since it's the last good version of GTK+), so I have to set that up manually as well. [[[ EDIT: gtk2 is alive and well. I was just being and idiot and searching for gtk2, when the package is actually called gtk+2. ]]] I installed all of the dependencies that ./configure told me to, but I still kept getting obscure errors when running make.

    So, here's my question: what tools make the process of running abandonware easier? Docker containers? Also, what can I use to package abandonware in order to make it easy for other people to run? Flatpak? Appimages? Any advice is appreciated!

    Also, inb4 "just find a modern alternative". That would be a reasonable solution. I don't want reasonable solutions!

    72
    I organized the non-stick cooking spray meme into a flowchart and made it open-source

    ``` /* * This DOT code is provided under the Creative Commons Zero (CC0) license. * For details, see: https://creativecommons.org/publicdomain/zero/1.0/ */

    digraph cooking_stick {

    rankdir=LR;

    node [shape=box] node [width=1.0]

    here [shape=diamond label="start\nhere"] nonstick [label="non-stick"] nonspray [label="non-spray"] noncooking [label="non-cooking"]

    nt_cooking [label="cooking"] nt_spray [label="spray"]

    ns_cooking [label="cooking"] ns_stick [label="stick"]

    nc_spray [label="spray"] nc_stick [label="stick"]

    nt_c_s [label="spray"] nt_s_c [label="cooking"] ns_c_t [label="stick"] ns_t_c [label="cooking"] nc_s_t [label="stick"] nc_t_s [label="spray"]

    node [width=1.6 height=1.5 fixedsize=true] nt_c_s_i [label="" image="nt_c_s.jpg"] nt_s_c_i [label="" image="nt_s_c.jpg"] ns_c_t_i [label="" image="ns_c_t.jpg"] ns_t_c_i [label="" image="ns_t_c.jpg"] nc_t_s_i [label="" image="nc_t_s.jpg"] nc_s_t_i [label="" image="nc_s_t.jpg"]

    splines=curved here -> nonstick here -> noncooking here -> nonspray

    nonstick -> nt_cooking nonstick -> nt_spray

    nonspray -> ns_cooking nonspray -> ns_stick

    noncooking -> nc_spray noncooking -> nc_stick

    nt_cooking -> nt_c_s nt_spray -> nt_s_c ns_cooking -> ns_c_t ns_stick -> ns_t_c nc_stick -> nc_t_s nc_spray -> nc_s_t

    nt_c_s -> nt_c_s_i nt_s_c -> nt_s_c_i ns_c_t -> ns_c_t_i ns_t_c -> ns_t_c_i nc_t_s -> nc_t_s_i nc_s_t -> nc_s_t_i } ```

    12
    Gonna need a bigger bowl!

    Context: https://medium.com/collapsenews/new-study-at-least-15-of-all-reddit-content-is-corporate-trolls-trying-to-manipulate-public-b249bd42ab42

    Without paywall/tracking: https://freedium.cfd/https://medium.com/collapsenews/new-study-at-least-15-of-all-reddit-content-is-corporate-trolls-trying-to-manipulate-public-b249bd42ab42

    0
    [SOLVED] Is it a good idea to repaste a 12 year old laptop?

    Hello everyone!

    I have a thinkpad t420 (without a discrete gpu) and I am hitting up to 95℃ on a full cpu load (for example, writing large files to a zstd=15 btrfs filesystem on a LUKS volume), even in my very cold room (I am wearing three sweaters as I'm typing this). Everyday tasks like watching videos bring me up to around 65℃. I got this laptop second-hand, but pretty sure the former owner has never repasted it.

    So, is it a good idea to replace the thermal paste to improve cooling? If so, what thermal paste should I go with? I have Arctic mx-4 on hand, would that be an improvement? What about liquid metal?

    Also, for my own understanding, I would be grateful if someone answers these questions: does thermal paste "dry out" over time? Is there such a thing as a "bottleneck" when it comes to cooling? For example, could it be that upgrading the thermal compound won't yield lower temps, because the heat pipes or the fan are the bottleneck?

    Thank you in advance.

    EDIT: I disassembled the laptop, cleaned out the fan/finstack with a hair dryer (on no-heat setting while holding the fan in place), cleaned out the old paste with ear swabs and rubbing alcohol (although isopropyl alcohol would have been better), and applied a fresh portion of arctic mx-4. I tightened down the cooler, then removed it again, covered up a little corner of the die that didn't get covered, and tightened the cooler down for the final time. Now I don't go above 78℃ even when doing an all-core torture test with mprime (in the same cold room). Thank you to everyone that helped!

    11
    InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)RE
    renzev @lemmy.world
    Posts 22
    Comments 177