Skip Navigation

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/)RH
Posts
4
Comments
194
Joined
4 yr. ago

  • And no, they don’t speak to one another / find one another or are able to follow / like / reply to one another as one is told the Fediverse works.

    This is true, it is a problem, but maybe not as big a problem as you think.

    Kbin combines the data model of both Lemmy and Mastodon so Kbin can interact with both of them perfectly. Mastodon can interact in a limited way with Lemmy. Frendica and Pixelfed also work fairly well with Mastodon, so Kbin should be able to interact with both of those as well, although I have never tried. PeerTube is probably the least compatible, although I can upvote and post comments on PeerTube videos using my Mastodon account, and follow PeerTube accounts on Mastodon. But I can't create new PeerTube posts on Mastodon. I hope in time all of these different app services will be able to interact with each other more.

    The most difficult thing right now is moderation tools. Right now, banning instances is very coarse, and it also deletes the entire social graph between instances, so people who were following each other lose their connections with each other, even after the ban is removed.

    There are people working on solving that problem right now, but it might be a little while before the changes are spread throughout the network.

    What I would like most is if I can create one ActivityPub account and use it on every ActivityPub service. This for me would be a perfect solution, because then I could use any app using a single account. I would also like to see it possible to ban instances temporarily without losing social connectivity, and I would like to see better moderation tools for individual user accounts being banned by an instance.

  • There are 500 million posts on Twitter every day. Do you read them all? There are 2.8 million subreddits. Have you browsed them all? The internet is big. You’re not going to be able to follow everything everywhere all at once.

    That is not really the point though. Suppose there are 2.8 million forums on Kbin or Lemmy. If you join an instance of any ActivityPub app, can you talk to any of those 2.8 million? Can you interact with all of the precise subset of forums that interest you? You can choose an instance to join, but you have to know ahead of time all the instances you want to interact with, and your interests might change over time. Or you have to create and maintain multiple accounts.

    This isn't exactly sustainable for individual users.

  • This lack of a shared reality with the scores is going to hamper lemmy as a reddit alternative if there isn’t some kind of standard or attempt to foster a “true score” across all instances.

    No, not really. You should keep in mind that the vote scores on Reddit and other similar forums are fake scores as well. All forms of online voting are fake to some degree.

    Reddit also does various manipulations during vote counting prior to showing you a score. For example, they may not count scores from accounts that are too new or has too little other activity, in order to avoid scores manipulated by sock puppet accounts. And it is entirely possible, maybe even likely, that Elon Musk directly controls the vote count on X/Twitter posts to his liking.

    So I don't think voting is really all that important anyway. It may be important on centralized websites like Reddit, but it has always been something of a lie. It is just that on a federated forum the lie becomes more obvious.

    Personally, I never take voting on the fediverse seriously, and I don't think anyone else should either. I mean, I do upvote, but I use it more as an acknowledgement, more than a means to try to boost someone's comment over others.

  • I have no expertise in how ActivityPub works, but my guess is it works something like this:

    You make a post on instance A, you can view it on instance B. People all over the fediverse, instances C through Z are voting on your post.

    The venn diagram of other instances with which instance A and instance B federate overlap but are not exactly the same. There are instances federated with instance A not visible to instance B, there are instances federated with instance B not visible to instance A.

    The vote count for a post is counted by instance A and B based on which instances with which they federate. That means instance A is counting votes from instances that B cannot see, and instance B is counting votes from instances that A cannot see.

    Where the Venn diagrams overlap, both instances will agree on the vote count. But the vote counts coming from instances that they don't both federate with will cause a difference in vote count.

  • Yes, that is true. Actually I do use PyQt myself for writing apps. PyQt (as far as I know) is mostly hand-written code, since the language bindings between C++ and Python are not trivial, especially for a code base like Qt which has a few hundred C++ classes and virtual classes, and thousands of methods. So you have to put a lot of trust into the maintainers of PyQt that they get the bindings right. That said, they do a fantastic job and PyQt is highly reliable, in my experience.

    But the biggest reason I like Gtk more than I like Qt is that the language bindings are automated by way of the GObject Introspection library. The Gtk code base heavily depends on C preprocessor macros that generate metadata about the various object classes and methods. The Vala programming language is designed specifically to generate this meta-information as well. Once compiled, the Gtk libraries can be shipped accompanied with these large XML files that describe the name and type of every class and method found in the generated "libgtk.a" binary, and then other programming languages can parse and use this XML metadata to generate bindings to libgtk.a automatically. This is why there are so many different language bindings for Gtk.

    GObject Introspection is a pretty clever hack for operating systems written in C. Admittedly, it wouldn't be at all necessary if the OS were written in a better language, for example Common Lisp. Still, in a world where systems programming dominated by the C programming language, I think GObject Introspection is a very good system.

  • What is good about NixOS (and GuixOS) is that they apply to package management the same principles that Git applies to managing source code. The Nix store is basically an append-only database (you might even call it a "blockchain") of inter-dependent packages.

    So from an individual computer user's point of view, it is much safer to install and roll-back software with Nix than with an ordinary package manager that might allow you to accidentally delete package dependencies and break your system. With Nix, you can install packages that actually do break your system, but because of the append-only nature, you can actually roll-back the install automatically right from the Grub boot menu, no need to re-install anything.

    Another advantage of NixOS, though this is more from a system operator's point of view, is that you can guarantee reproducible builds. If the package you have installed has the same hash on all of your computers, that is a simple, human-verifiable proof that all of those systems are running the exact same build of the software. You can probably see that this is very useful for people running servers, like compute clusters, or doing things like A-B testing.

  • Do you happen to know if this goes beyond what Btrfs(/Bcachefs) provides on the Linux side of things?

    I think someday Btrfs or BCacheFS might have as many features as ZFS, but for now ZFS is still state-of-the-art, as far as I know. RAID-Z is one ZFS feature I use that is not fully implemented in Btrfs yet. All other ZFS features that I use are also available with Btrfs.

    😅, but QubesOS isn’t a derivative of OpenBSD either. It might have inspired some of its parts, but fundamentally it’s a completely different beast.

    Oops, I am really getting confused with all the different distros! Sorry!

  • I have a few blog posts that I think address most of your questions here, feel free to read, and I am happy to answer specific questions.

    To start with an answer to question 6: please read How to pick a Linux distro, but in short, yes just go with Mint or Fedora, or if you don't mind a corporate backed distro, go with Ubuntu/Kubuntu, and this article explains why and also might partially answer many of your other questions.

    To answer question 1 and 2: please read The components of a Linux desktop environment, an article about "the building blocks of a distro." To compare and contrast distros, Distro Watch makes this very easy. You have a big list of distros, click on each one, right at the top of the page you get a list of the components from which it is built. Don't stress too much about which distro or desktop environment you choose, all of them have nearly identical functionality, just in slightly different arrangements.

    Question 3: the answer to this depends on which desktop environment you pick. But again, don't stress it, each desktop environment has mostly identical functionality. For me, app launchers, web browsers, office and productivity tools, and personal information management systems that integrate well with email and social media are all important. I wish I could be more specific here, all I can say is, "shop around," try a bunch of apps, see how you like them all.

    Question 4: the first steps involve downloading the ISO image for that distro, flashing it to a USB stick, and then rebooting off of that USB stick. In some rare cases, you might have to tweak the UEFI settings of your computer's hardware (when you see the computer maker logo flash on screen they tell you a key like F2 or F12 to press to enter the settings menu). If you are ready to commit, use the installer program on the ISO to erase and format your computer and install Linux. Be sure to follow whatever specific instructions there are for that distro on their website when you download the ISO.

    Question 5: if you want to write your own apps, and you do not want to be restricted to using only the C++ programming language for everything, then yes, avoid Qt based applications (used under the hood by all of KDE and Plasma applications). The major alternative to Qt is Gtk (used under the hood by Gnome, Xfce, Mate, and Cinnamon), and Gtk plays nice with all of the programming languages, so you can try writing apps in Rust, Python, Lua, Lisp, Haskell, Ocaml, or whatever. But if you are not interested in Linux app development, don't worry about it -- just use KDE and see if you like it.

    • Sorry, I think I might have confused OmniOS with QubesOS.
    • ZFS is itself a security feature because of how well it guarantees the fidelity of your data. That said, ZFS support on BSD is generally much better than on Linux
    • For the reasons you stated, I can't use OpenBSD on my daily work laptop, so I don't think I will ever really have a chance to give it a fair trial or learn more about it, which is unfortunate.
  • Could you elaborate on your willingness to switch to OpenBSD?

    I have a small ZFS NAS that I built myself running Linux, and I would like to use it for file sharing and running applications like NextCloud. I prefer OpenBSD and its derivatives (like OmniOS) because it of its security-oriented features, especially things like ZFS and zones, but I have not used it very much so I am not comfortable using an operating system I have not used before for something important like backing up my files.

    I would like to switch my daily driver, a Linux laptop, to OpenBSD so I can get used to using it as an administrator, but I worry about OpenBSD being able to support the laptop hardware, especially things like WiFi, BlueTooth, and managing the battery, screen dimming, laptop lid, and so on. I have another Linux computer with a Radeon graphics card which connects to my TV that my children use for video games, and watching streaming video, and I would like to switch this to OpenBSD as well but I worry that it will not be able to run Steam games very well.

  • Wow, I can't believe you tried so many different operating systems with this laptop, even Haiku and OpenIndiana! What a fantastic review!

    It is a little sad that OpenBSD can't optimize by P/E cores, I have been wanting to switch to OpenBSD but obviously Linux supports the most hardware, so I stay with Linux. It is nice that the makers NovaCustom seem to have done a good job creating a mostly open, standards compliance x86_64 computing platform.

  • Yeah, Ubuntu works well for me. Ubuntu is operated by the Canonical corporation, which some people don't like. If you would prefer a community-run Ubuntu-like OS, Mint is just as good as Ubuntu. Fedora is also one of the best community-run distros that always just works, especially when running the Gnome desktop environment.

    I will say that until last month when I upgraded to Ubuntu version 23.10 (technically Xubuntu), Ubuntu always just worked with all of my hardware. But for some reason this last upgrade broke my wake-from-suspend function. This is the first problem I have had with it in many, many years, so I might actually switch to Mint or Fedora myself. EDIT: I figured out that the problem was being caused by the power manager daemon, I worked around this problem by disabling display power management (dims the display if you don't use it for a while) in the Xfce settings manager, "Power Manager" panel, "Display" tab, switching the "Display power management" switch off.

  • I might vote for Biden if he maintains any semblance of whatever little remains of "the rule of law" so that hopefully someone (perhaps in the UN) will press charges against him for aiding and abetting the genocide of the people of Gaza, along with the actual criminals committing crimes against humanity in the IDF. Without that, there is no rule of law and there is no justice in this world.

  • Former Xmonad user here.

    I had two 5 screens and two columns. One screen was for terminal emulators, one was for writing code and software development, one was for my web browser, 2 others were for miscelaneous things, but most often were for working with files a GUI file browser like Nautilus or Thunar, or for reading PDF files in Evince, or reading PowerPoint or Excel documents in LibreOffice.

    On each screen the tiles were always in 2 columns. The left for doing work, writing code, prose, drawing graphics and charts, interacting with the CLI, and so on. On the right was documentation: manual pages, PDF files, HTML documents, sometimes the MPV video player window when watching a tutorial that I was able to download from YouTube.

    The right column usually had no more than 3 windows open, they started to get too narrow to be useful if more than that were open. I would occasionally horizontally split the left column as well, usually when going back and forth between two documents I was editing.

    However...

    I did not use this workflow once I started using Tmux, and then I continued not using this workflow when I switched to Emacs. The reason is of course because Tmux and Emacs both provide their own tiling windowing system that operate within a single application window. So my main workflow was always in a single maximized terminal window, or a single maximized Emacs window, or a single maximized GIMP window. Only occasionally would I un-maximize these windows, but then to keep it from getting too small, I would set it in "floating window" mode. Also my web browser, PDF reader, GIMP, LibreOffice, all worked better in full-screen (maximized window) mode. Even Thunar (GUI file browser) has multiple tabs, and a multi-column mode which was useful for the very few times I ever needed a GUI file browser.

    At one point, I actually changed my tiling window manager configuration to always open windows maximized, except for Thnuar (GUI file browser) which would open in floating mode, not tiling mode. At that point I finally realized that I don't really using a tiling window manager at all, it is just there managing windows the same as a non-tiling window manager would do.

    I switched back to the Xfce default window manager, and quit worrying about window managers all together.

  • There is just one feature that Kate has that I really use a lot, but it is not on a convenient key binding, and that is the ability to filter the active text selection through a shell utility, or to capture the output of running a shell command. When I use Emacs, I use these commands a countless number of times every day, and they are both on default key bindings that are very easy to type.

    I wish Kate would take this feature more seriously.

  • For data science, it depends on what GPU you plan to use. If it's an Nvidia brand GPU, go with Ubuntu or Fedora. I say from personal experience that it is easier to get Nvidia drivers working on Ubuntu or Fedora than on most other distros I have tried. If it is a Radeon GPU, it will work fine on pretty much any distro at all since Radeon does a good job following Linux standard APIs for graphics card drivers, so for Radeon products I would also recommend Debian or Mint (along side Fedora and Ubuntu).

  • I wonder if that dip in Windows in April, going down to like 62%, and the correlated boost for "Uknown" operating systems to 13% might somehow simply be Windows not being recognized properly and categorized as unknown?

    It seems a bit far-fetched to me that a bunch of Windows users would for 1 month suddenly all decide to use ReactOS, FreeDOS, BSD, Solaris, Illumos, Haiku, Redox, and Plan 9.

  • Why do you think you need to update packages on Arch every single day?

    It was just a bit of hyperbole regarding the amount of mental effort it takes to keep your system up to date, I don't actually mean every single day. I mean if you don't keep Arch up-to-date on a regular basis, packages tend to break, and then you need to re-install the OS or jump through a few hoops to repair the broken packages and their dependencies. Diligent regular updates is not a terrible mental burden, but a burden none-the-less, so using point release OS like Mint or Ubuntu are just easier.