ShittyKopper [they/them]

  • 2 Posts
  • 54 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle

  • (talking about microblog fedi here, Lemmy/threadiverse is it’s own thing)

    don’t do hashtags. hashtags (especially common ones like #memes) are overrun by repost bots and low quality garbage.

    the trick is to be on a small-to-medium instance you vibe with (1k active users seems to be the sweet spot. anything larger than 2k I’d avoid. do NOT join any flagship instances like mastodon.social), follow fun people from your local timeline, and see who they boost. and follow up the boost chain until your timeline is sufficiently fun.






  • TLDR of linked gist: wayland is not X therefore it is bad. end of.

    Wayland breaks Xclip: As you said it yourself, Xclip is an X11 application, so it doesn’t work on Wayland. Of course it wouldn’t work on Wayland. With Wayland, we’re trying to prevent what happened with Xorg from happening again, or am I wrong?

    also, https://github.com/bugaevc/wl-clipboard. perhaps all OP (of gist) needs is a simple shim that can convert calls to xclip to wl-copy/paste? that doesn’t seem too hard to make compared to keeping X.org alive I’d say (perhaps they should try making it if it’s that much of a problem)

    Wayland breaks screensavers: Yeah, that seems to be the case.

    from the dev of xscreensaver at https://www.jwz.org/blog/2023/09/wayland-and-screen-savers/ :

    […] Adding screen savers to Wayland is not simply a matter of “port the XScreenSaver daemon”, because under the Wayland model, screen blanking and locking should not be a third-party user-space app; much of the logic must be embedded into the display manager itself. This is a good thing! It is a better model than what we have under X11. […]

    […] Under X11, you run XScreenSaver, which is a user-space program that tries really hard to keep the screen locked and never crash. It is very good at this, but that it needs to try so hard in the first place is a fundamental design flaw of X11. […]

    other people can comment on the parts they know about, these are two i know of off the top of my head




  • One of the reasons I use containers instead of installing things directly is that i can completely uninstall a service by deleting a single directory (that contains a compose.yml and any necessary volumes) and running a docker/podman system prune -a

    or that i can back up everything by backing up a single “containers” dir, which i could have on a subvolume and snapshot if i wanted to

    systemd/quadlet on the other hand makes me throw files in /etc (which is where you’re supposed to put them, but ends up resulting in them being tangled together with base system configuration often partially managed by the package manager)

    The Solution™ to this is configuration management like ansible or whatnot, which needlessly overcomplicates things for the use cases i need (though they’re still useful for getting a base system “container ready” wrt ssh hardening and such)

    tldr: i want my base system to be separated from my services, and systemd integration is the exact wrong tool for this job


  • In Logseq, everything is a nested list. This feels like a limitation, but I’ve been preferring it. The decision is made for you: you’re going to jot this information down as a list. So then you just start writing it.

    Oh - this sounds interesting.

    Whenever I needed to jot down any notes I’ve been finding myself just writing plain .txt files with bullet points, and trying tools like Obsidian or TiddlyWiki I always ended up being overwhelmed with the amount of stuff I could do (and with all the customization options) that I never got around to actually writing things down. I’m definitely gonna look into how Logseq works.

    (Although I have to say, their website does look a bit “too hype-y” for my liking. IDK how to explain it, just a gut feeling. Still, at least it’s FOSS so it can’t be too bad)





  • A long-running web thing like Lemmy doesn’t need the processing benefits of native compilation, and can avoid memory vulnerabilities with a garbage collector. Most things it does are IO bound (receive data from other servers, send data to other servers, occasionally render some HTML, interact with a database…) so you’re really not benefiting from anything specific to Rust, but you are losing a significant amount of developer effort into things like working with the borrow checker or the infamously long compilation times that could instead go into implementing functionality.

    You could make something just as performant as Lemmy is today with Python or JS (JS would particularly work well given the prevalance of JITs).



  • Because now you have to maintain that fork. If it was as simple as pressing the little fork button on GitHub and importing a few PRs in than there’d already be several forks right now.

    The Lemmy codebase is a beast that’s evolved over several years. Not everybody can just jump in and throw anything they want just because of how complex a system it is internally. (I learned that the hard way.)

    Across the fediverse all the major successful forks have a motivating factor. Glitch social is maintained by the only other paid developer hired to work on Mastodon and acts as an unstable branch / “feature fast track” of sorts, Akkoma exists because upstream Pleroma has sided with the freeze-peach crowd too many times to count. Firefish and Iceshrimp had a whole… thing… (too much drama to explain) (oh and upstream Misskey is way too Japanese for western developers to contribute, including commit messages and code comments) What’s the motivation to start a Lemmy fork? And what’s the motivation to keep maintaining it?

    I really want to see a Lemmy fork. Particularly one that attempts to prioritize instances as their own individual communities (rather than the Redditesque “instances as free horizontal scaling” view of the fedi a lot of people seem to have). Hell I might end up attempting to contribute a quality of life feature or two of my own if a viable fork were to exist. Yet there isn’t any.

    So, I guess what I’m trying to say is, the only reason no fork exists is because nobody has stepped up to the challenge.

    EDIT: And of course with ActivityPub in the mix you also have to consider how it will affect federation with other instances, and building consensus among other projects (not necessarily just Lemmy) regarding any extensions you might decide to add to the protocol (though you’d have much easier time implementing extensions from other projects if they solve your issue)



  • I think more matrix users should consider using smaller instances tbh

    Matrix on smaller instances suck because of how bad the protocol is. It “re-plays” the entire history of the channel on first join because channels need to be consistent between all instances because Matrix isn’t just a mediocre chat protocol but a generic data protocol that’s been beaten into the shape of a mediocre chat protocol.

    It tries contacting every instance in a channel for their keys. Even the dead ones. And yes it takes exactly as long as you think it does for them to time out. Dendrite solves this by asking matrix.org for everyone else’s keys by default.

    But because channels are completely synchronized at least you get to easily migrate channels between instances just by assigning an alias and telling people use the alias to join instead.