• 0 Posts
  • 140 Comments
Joined 21 days ago
cake
Cake day: September 14th, 2025

help-circle
  • You can get inkjet printers that don’t have restrictions on the ink. They cost more, though.

    The reason printer manufacturers are so hell-bent on being a pain in the ass with the ink is because they’re using a razor-and-blades model. They’re selling you the printer at a lower price than they really should, if their price reflected their costs, with the expectation that they’ll make their money back when you buy ink at a higher price than you really should, because people pay more attention to the the initial price of the printer than to the consumable costs.

    Same way you can get unlocked cell phones instead of network-locked cell phones with a plan. Gaming PCs instead of consoles. It’s not that they’re unavailable, but you’re gonna have to accept a higher up-front cost, because you’re not getting a subsidy from the manufacturer.

    Canon sells a line of inkjet printers that just take ink from a bottle. No hassles with restrictions on ink supply there. The ink is cheap, and there are third-party options that are even cheaper readily available…but you’re going to pay full price for the printer.

    https://www.usa.canon.com/shop/printers/megatank-printers

    Their lowest-end “MegaTank” printer is $230:

    https://www.usa.canon.com/shop/p/megatank-pixma-g3290

    A pack of third-party ink refill bottles is $15, and will print (using Canon’s metrics), about 7,700 color pages and 9,000 black-and-white pages:

    https://www.amazon.com/Refill-Compatible-Bottles-MegaTank-4-Pack/dp/B0DSPSS5W7

    Compatible GI-21 Black Ink Bottle Up to 9,000 pages, GI-21 Cyan/Magenta/Yellow Ink Bottles Up to 7,700 pages

    On the other hand, Canon’s lowest-end “cartridge” printer, where they use the razor-and-blades model, is $55.

    https://www.usa.canon.com/shop/p/pixma-ts3720-wireless-home-all-in-one-printer

    But you rapidly pay for it with the ink; It looks like they presently sell a set of replacement cartridges for $91. And that set will print a tiny fraction of the number of pages that the above ink bottles will print.

    page yield of 400 Black / 400 Color pages per ink cartridge set and cost of $90.99 for a value pack of PG-285(XL) and CL-286(XL) ink cartridges (using Canon Online Store prices as of June 2025).

    So if you really do want to do photo prints with an inkjet without dealing with all the DRM-on-ink stuff, you can do it today. But…you’re going to pay more for the printer.

    All that being said, I do think that lasers are awfully nice in that you don’t need to deal with nozzles clogging. You can leave a laser printer for years and it’ll just work when you start it up.




  • tal@olio.cafetoAsk Lemmy@lemmy.worldWhat turn of phrase do you hate?
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    1 hour ago

    There’s this process in language where intensifiers — words that amplify the strength of the meaning of the rest of the phrase — tend to become used in areas that they aren’t really truly appropriate in and thus “weaken” in meaning.

    So, for example, “awesome” once truly meant “awe-inspiring”, but it’s been used enough in weaker senses the past several decades here in California that it doesn’t really mean that any more. It just means “very good” now.

    I don’t think that the Brits do that with “awesome” — or at least not as much — but they like to use “colossally” in a similar way.

    The above Wikipedia link has a list of intensifiers, including “literally”, and you can probably recognize a bunch of them that have “weakened”.


  • Every time I hear someone say ‘eh’ in a questioning tone or to mean ‘um actually’ I lose my shit. Or even just to play something down.

    Like I literally come to hate the person instantly. Its a very strong feeling on a very small sound.

    https://en.wikipedia.org/wiki/Eh

    Eh (/ˈeɪ/ or /ˈɛ/)[1] is a spoken interjection used in many varieties of English. The oldest Oxford English Dictionary defines eh as an “interjectional interrogative particle often inviting assent to the sentiment expressed.”[2] Today, while eh has many different uses, it is most popularly used in a manner similar in meaning to “Excuse me?”, “Please repeat that”, “Huh?”, or to otherwise mark a question. It is also commonly used as an alternative to the question tag “right?”, as a method for inciting a reply, as in “Don’t you think?”, “You agree with me, right?”, as in, “It’s nice here, eh?” (instead of “It’s nice here, right?”). In the Americas, it is most commonly associated with Canada and Canadian English, though it is also common in England, Scotland, and New Zealand.

    “We don’t take kindly to British English around these parts.”


  • Sacks, the Trump administration’s AI czar and co-host of the conference, stopped Musk mid-answer. “Well, Elon, by the way, could you just publish that?” he asked. “Wikipedia is so biased, it’s a constant war.” He suggested that Musk create what he called “Grokipedia.”

    This past week, as the Wikipedia controversy reignited, Musk announced xAI would, in fact, offer up Grokipedia. Soon after, the Wikipedia page for Musk’s Grok was updated. The entry included a brief comparison to an effort almost 20 years earlier to create another Wikipedia alternative called Conservapedia.

    Yeah, my initial take is “Conservapedia was pretty much a disaster, and there’s a reason that people don’t use it”.

    Like, go to Conservapedia’s “evolution” article.

    https://www.conservapedia.com/Evolution

    Like, you’re going to have to create an entire alternate reality for people who have weird views on X, Y, or Z. And making it worse, there isn’t overlap among all those groups. Like, maybe you’re a young earth creationist, and you like that evolution article. But then maybe you don’t buy into chemtrails. It looks like Conservapedia doesn’t like chemtrails. So that’s gonna piss off the chemtrail people.

    There are lots of people on the right who are going to disagree with scientific consensus on something, but they don’t all have the same set of views. They might all complain that Wikipedia doesn’t fit with their views on particular point X, but that doesn’t mean that they’re going to go all happily accept the fringe views of some other group. And some views are just going to outright contradict each other. You could have a conservative Mormon, Amish, and a Catholic, but they’re going to have some seriously clashing views on religion, even if they’re all conservative. In broader society, the way we normally deal with that is to just let people make up their own mind on particular issues. But if you’re trying to create a single “alternate reality” that all of them subscribe to, then you have to get them all on one page, which is going to be a real problem.

    Maybe Musk could make Grok try to assess which fringe group that someone is in and automatically provide a version of truth in Grok’s responses tailored to their preferences. But…that’s not a Grokipedia, because the latter requires a unified view.


  • tal@olio.cafetoAsk Lemmy@lemmy.worldwhat keyboard APP do you use?
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    1 day ago

    On Android? Anysoft keyboard.

    It’s the best of the software keyboards available in F-Droid for general use in my opinion. It’s FOSS, fairly-configuable (though I’d like to have a “macro board” where I could, in-app, assign arbitrary characters or text snippets to keyboards). It supports “splitting” the keyboard, which is nice on a tablet.

    But it has some pretty substantial issues.

    There’s some bug it has, maybe a race condition, maybe multiple. On a slower, MediaTek-based Android device, I’ve seen it “miss” letters. Recently, on a faster one, I’ve seen it insert duplicate text when editing the middle of a word in various programs, like Firefox; I had to turn off the suggestions functionality to avoid that.

    While it does have arrow keys, it doesn’t support “drag left/right on the spacebar to move the cursor left/right”, which is behavior that I think is very useful.

    In general, with F-Droid software keyboards, I’ve typically found a lack of ability to input things like diacritics, often limited ability to emulate modifier keys for terminal use.

    In general, I haven’t really been happy with the Android text input situation. On desktop, I can use emacs, or at least use various plugins to edit the contents of a Firefox text field in emacs. On Android, I’d really like to usually go into a fullscreen editing mode with an external editor when editing text, especially given the small screen on many Android devices — I don’t want to be editing text in a little text field in Firefox or whatever other app. Android doesn’t really have “external editor” support, where the keyboard and editor are separate apps; it has just the software keyboard, which limits options. Maybe it’s possible to implement that at the software keyboard level, have a “use external editor” option; I don’t know.


  • To be blunt, two doesn’t seem like a lot to me.

    And one of those is on the LocalLLaMA community, which is for people running LLMs locally, so it’s a pretty safe bet that they aren’t going to have any fundamental ideological problems with LLMs. If you go to !localllama@sh.itjust.works, !imageai@sh.itjust.works, or similar, it’d be very surprising if you found people who had an issue with generative AI.

    That one kind of reminds me of when I first showed up here and was using kbin, which puts random posts in the sidebar to encourage discoverability. Both myself and another new kbin user wound up in some thread on a pawb.social community. The other guy — who probably didn’t understand the structure of the Threadiverse or where he was commenting — was complaining about “all these furries” in the thread.


  • I don’t know if there’s a term for them, but Bacula (and I think AMANDA might fall into this camp, but I haven’t looked at it in ages) are oriented more towards…“institutional” backup. Like, there’s a dedicated backup server, maybe dedicated offline media like tapes, the backup server needs to drive the backup, etc).

    There are some things that rsnapshot, rdiff-backup, duplicity, and so forth won’t do.

    • At least some of them (rdiff-backup, for one) won’t dedup files with different names. If a file is unchanged, it won’t use extra storage, but it won’t identify different identical files at different locations. This usually isn’t all that important for a single host, other than maybe if you rename files, but if you’re backing up many different hosts, as in an institutional setting, they likely files in common. They aren’t intended to back up multiple hosts to a single, shared repository.

    • Pull-only. I think that it might be possible to run some of the above three in “pull” mode, where the backup server connects and gets the backup, but where they don’t have the ability to write to the backup server. This may be desirable if you’re concerned about a host being compromised, but not the backup server, since it means that an attacker can’t go dick with your backups. Think of those cybercriminals who encrypt data at a company and wipe other copies and then demand a ransom for an unlock key. But the “institutional” backup systems are going to be aimed at having the backup server drive all this, and have the backup server have access to log into the individual hosts and pull the backups over.

    • Dedup for non-identical files. Note that restic can do this. While files might not be identical, they might share some common elements, and one might want to try to take advantage of that in backup storage.

    • rdiff-backup and rsnapshot don’t do encryption (though duplicity does). If one intends to use storage not under one’s physical control (e.g. “cloud backup”), this might be a concern.

    • No “full” backups. Some backup programs follow a scheme where one periodically does a backup that stores a full copy of the data, and then stores “incremental” backups from the last full backup. All rsnapshot, rdiff-backup, and duplicity are always-incremental, and are aimed at storing their backups on a single destination filesystem. A split between “full” and “incremental” is probably something you want if you’re using, say, tape storage and having backups that span multiple tapes, since it controls how many pieces of media you have to dig up to perform a restore.

    • I don’t know how Bacula or AMANDA handle it, if at all, but if you have a DBMS like PostgreSQL or MySQL or the like, it may be constantly receiving writes. This means that you can’t get an atomic snapshot of the database, which is critical if you want to be reliably backing up the storage. I don’t know what the convention is here, but I’d guess either using filesystem-level atomic snapshot support (e.g. btrfs) or requiring the backup system to be aware of the DBMS and instructing it to suspend modification while it does the backup. rsnapshot, rdiff-backup, and duplicity aren’t going to do anything like that.

    I’d agree that using the more-heavyweight, “institutional” backup programs can make sense for some use cases, like if you’re backing up many workstations or something.


  • Because every “file” in the snapshot is either a file or a hard link to an identical version of that file in another snapshot.) So this can be a problem if you store many snapshots of many files.

    I think that you may be thinking of rsnapshot rather than rdiff-backup which has that behavior; both use rsync.

    But I’m not sure why you’d be concerned about this behavior.

    Are you worried about inode exhaustion on the destination filesystem?


  • looks

    For Linux, my off-the-cuff take is that I’m not that excited about it. It means that if you can launch a Unity game and pass it command-line arguments, then you can cause it to take actions that you want. Okay, but usually the security context of someone who can do that and the game that’s running should probably be the same. If you can launch a game with specified parameters to do something bad, you can probably also just do something bad and cut the game out of the picture.

    This is why you have few suid binaries on a Limux system (and should never make something large and complex, like a Unity game, suid) — because then the binary does have a different security context than the launching process.

    Now, it’s possible that there are scenarios where you could make this badly exploitable. Say games have chosen to trust command-line arguments from a remote system, and that game has community servers. Like, maybe they have a lobby app that launches a Unity binary with remotely-specified command line arguments. But in that case, I think that the developer is already asking for trouble.

    Most games are just not going to be sufficiently hardened to avoid problems if an attacker can pass arbitrary command lines anyway. And as the bug points out, on Linux, you can achieve something similar to this for many binaries via using LD_PRELOAD anyway — you can use that route to make fixes for closed-source Linux games. Windows has similar routes, stuff like DLL injection.

    It’s possible that this is more serious on Android. I don’t know if there’s a way to pass command line parameters there, and doubt it, but part of the Android security model is that apps run in isolation, and so if that’s exploitable by any local app, that could cause that model to break down.

    But on Linux — GNU/Linux — I’d think that if someone malicious can already launch games with arbitrary command line parameters on your system, you’re probably not really in much worse trouble due to this bug than you already are.




  • slow

    rsync is pretty fast, frankly. Once it’s run once, if you have -a or -t passed, it’ll synchronize mtimes. If the modification time and filesize matches, by default, rsync won’t look at a file further, so subsequent runs will be pretty fast. You can’t really beat that for speed unless you have some sort of monitoring system in place (like, filesystem-level support for identifying modifications).



  • sed can do a bunch of things, but I overwhelmingly use it for a single operation in a pipeline: the s// operation. I think that that’s worth knowing.

    sed 's/foo/bar/'  
    

    will replace all the first text in each line matching the regex “foo” with “bar”.

    That’ll already handle a lot of cases, but a few other helpful sub-uses:

    sed 's/foo/bar/g'  
    

    will replace all text matching regex “foo” with “bar”, even if there are more than one per line

    sed 's/\([0-9a-f]*\)/0x\1/g  
    

    will take the text inside the backslash-escaped parens and put that matched text back in the replacement text, where one has ‘\1’. In the above example, that’s finding all hexadecimal strings and prefixing them with ‘0x’

    If you want to match a literal “/”, the easiest way to do it is to just use a different separator; if you use something other than a “/” as separator after the “s”, sed will expect that later in the expression too, like this:

    sed 's%/%SLASH%g  
    

    will replace all instances of a “/” in the text with “SLASH”.


  • I would generally argue that rsync is not a backup solution.

    Yeah, if you want to use rsync specifically for backups, you’re probably better-off using something like rdiff-backup, which makes use of rsync to generate backups and store them efficiently, and drive it from something like backupninja, which will run the task periodically and notify you if it fails.

    rsync: one-way synchronization

    unison: bidirectional synchronization

    git: synchronization of text files with good interactive merging.

    rdiff-backup: rsync-based backups. I used to use this and moved to restic, as the backupninja target for rdiff-backup has kind of fallen into disrepair.

    That doesn’t mean “don’t use rsync”. I mean, rsync’s a fine tool. It’s just…not really a backup program on its own.



  • tal@olio.cafetoSelfhosted@lemmy.worldhow do I find process that leads to oom?
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    edit-2
    4 days ago

    OOMs happen because your system is out of memory.

    You asked how to know which process is responsible. There is no correct answer to which process is “wrong” in using more memory — all one can say is that processes are in aggregate asking for too much memory. The kernel tries to “blame” a process and will kill it, as you’ve seen, to let your system continue to function, but ultimately, you may know better than it which is acting in a way you don’t want.

    It should log something to the kernel log when it OOM kills something.

    It may be that you simply don’t have enough memory to do what you want to do. You could take a glance in top (sort by memory usage with shift-M). You might be able to get by by adding more paging (swap) space. You can do this with a paging file if it’s problematic to create a paging partition.

    EDIT: I don’t know if there’s a way to get a dump of processes that are using memory at exactly the instant of the OOM, but if you want to get an idea of what memory usage looks at at that time, you can certainly do something like leave a top -o %MEM -b >log.txt process running to get a snapshot every two seconds of process memory use. top will print a timestamp at the top of each entry, and between the timestamped OOM entry in the kernel log and the timestamped dump, you should be able to look at what’s using memory.

    There are also various other packages for logging resource usage that provide less information, but also don’t use so much space, if you want to view historical resource usage. sysstat is what I usually use, with the sar command to view logged data, though that’s very elderly. Things like that won’t dump a list of all processes, but they will let you know if, over a given period of time, a server is running low on available memory.


  • tal@olio.cafetoTechnology@lemmy.world60hz Displays are a slideshow
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    4 days ago

    I’m the other way. I’d rather have battery life on cell phones, and turn the refresh rate down.

    On a desktop, where the power usage is basically irrelevant, then sure, I’ll crank the refresh rate way up. One of the most-immediately-noticeable things is the mouse pointer, and that doesn’t exist on touch interfaces.