• 18 Posts
  • 366 Comments
Joined 2 年前
cake
Cake day: 2023年8月10日

help-circle
  • Yes, it’s worth using. It’s fairly easy to install, as it’s almost always packaged, and that makes it easy to use.

    But it’s not really enough. For example, tools like Lynis usually miss containers.

    A modern version of this stuff, I would probably recommend scanning all running containers with something like trivy, and then deploying wazuh on the machines. Wazuh can scan the system for misconfigurations in a similar manner to Lynis, but it is also capable of acting as a central logging server and a few other things.



  • I took a look through the twitter, which someone mentioned in another thread.

    Given the 4chan like aestetic of your twitter post, I decided to take a look through the boards and it only took me less than a minute to find the n word being used.

    Oh, and all the accounts are truly anonymous, rather than pseudoanonymous, which must make moderation a nightmare. Moderation being technically possible doesn’t make it easy or practical to do.

    I don’t want an unmoderated experience by default, either.

    No, I’m good. I think I’ll stay far away from plebbit.




  • There’s only one project that provides truly static/relocatable python that work on both glibc/musl: https://github.com/leleliu008/python-distribution

    There is the python provided by APE/cosmo. They also have two other distributions containing various goodies, pypack1, and pypack2. https://cosmo.zip/pub/cosmos/bin/

    But this came at the cost of discontinuing support for Android & Windows

    I don’t care about android support, but for the competition, and I don’t really know about Windows support. Right now, RDP is used to authenticate and managed the machines, but maybe a portable VNC we can quickly spin up, so more than one person can be on the same machine, would be useful.

    My original thought was to replace in place, insecure services with secure one’s via something like docker containers or nix. But I think many of the machines have too little ram bundled libraries for the services to be viable. I actually tested replacing apache, but it simply wouldn’t launch (I think the machine only had 2 GB of ram?).











  • I think the mistake is they titled it “The last note taking app you’ll ever need” instead of “The last note taking app I’lll ever need”

    Yes, seriously. The article seems to talk mostly about their personal usecases, which is fine. This app is great and it works for them. But it won’t work for everybody and the title should probably respect that instead of having a grating title that evokes a knee jerk reaction.

    Databases are annoying it is legitimately more difficult to export data from a database to another, than it is to copy markdown notes from one folder to another. In addition to that, there are also tools that process markdown and do cool stuff with, like pandoc, beamer, revealjs, etc, which can’t really be done with the more opaque database format.

    Also this notetaking service only appears to work while online. Again, fine for them — but a dealbreaker for many people.



  • Google Chrome of Linux

    It’s more like Chromium, the engine behind Chrome, to be precise. It eats up marketshare by essentially being anti-competitive, and making it more difficult for alternate engines to keep up with the fluctuating and undefined web standards.

    Poettering hasn’t even worked at Red Hat for multiple years now.

    No, he now works at Microsoft, which is famous for it’s Embrace, Extend, Extinguish strategy for consuming open source and open standards.

    But despite that, I’m actually not worried about systemd being taken over by a corporation and being completely used to dominate Linux. Unlike consumer software, where companies seem to be willing to take a step back and allow other corporations to monopolize a slice of the market dedicated to a usecase, corporations actually seem willing to share in the server space.

    Systemd also seems to be designed with a very specific philosophy in mind, which is vastly different from Chromiums “Alright, time for a new web standard that Firefox and Safari will have trouble implementing!”. Systemd, is essentially designed to replicate features of Kubernetes.

    Kubernetes is (buzzwords incoming), a clustered, highly available, multi tenant, declarative, service manager and job scheduler. To break down what that means:

    • Multi tenant: There can be different “users” on a Kubernetes cluster, which can be granually given access to different resources or capabilities
    • Declarative: All of the Kubernetes config, roles, users, and jobs, and can be declared as code, “yaml”.
    • Service Manager: Kubernetes can run services, specifically containers (this is important to note).
    • Job Scheduler: Users can start short or long running “jobs”
    • Clustered: Kubernetes can combine resources from more than one physical or virtual server into a cluster. It does not literally combine them, but rather it shifts around services and jobs to make more room. Some services can take direct advantage of this though, where running multiple instances of them does let you combine resources.
    • Highly Available: If any single “node” of a kubernetes cluster goes down, the services Kubernetes runs, and Kubernetes itself, stay active.

    Systemd is essentially trying to Kubernetes, without the clustering and highly available parts of Kubernetes. It has:

    • Multi tenant: This is what polkit, and logind do. They give users the ability to run long running services, but control the resources and capabilities those users who have access to
    • Declarative: Systemd doesn’t use yaml like kubernetes, but instead it uses the ini file format — but almost everything in Systemd can be declared as an ini file.
    • Service Manager: This one is mostly self explanatory — but what’s important to note is the focus that systemd has on containers. There is support for OCI containers via podman quadlets, but Systemd also has it’s own container format that it can launch rootlessly, and built on top of this is systemd portablectl, which is essentially an application container format, similar to docker. You tell systemd to run a service with a root image of one of these containers, and it does so.
    • Job Scheduler: Timers, but it’s not a full featureset. Perhaps Systemd doesn’t care about this because people can simply run commands after they are ssh’ed in.

    Now, based on the assumption, I can make some predictions about what features systemd will add next. Maybe these are wrong, but eh.

    • Firewall service: Kubernetes has something akin to a firewall, but mostly this prediction is because Linux doesn’t really have a declarative firewall. Systemd kinda already has something similar but it’s not complete.
    • More advanced manipulation of user resource and capability constraints. It looks like there is some simple cgroup stuff, but I do think we are going to eventually see Seccomp and other restrictions.
    • A “container repo” for portable/nspawn services. I think they used to have one for OS containers for machinectl, but I can’t find it. But If they are actually trying to be Kubernetes, then I would expect to see a setup where you can have a file declaring a service, and then it pulls the container image for that service and then runs it.

    Now, “one node Kubernetes” probably isn’t the best choice for a normal server or desktop distro. (Actually I love Kubernetes as a server but that’s a different discussion). But it’s the most popular choice, so I think people should be aware of the architecture and intent. Especially if you dislike systemd, you should understand what changes it makes, why, and how they will impact the Linux world.

    Kubernetes handles everything, except for booting the system, being a kernel, and starting itself up, and connecting to the network. Core services like DNS are actually containers ran within Kubernetes. The “firewall” (network policies) are also containers. If systemd truly wants to be Kubernetes, it seems to be trying to be even more, where consuming things like booting with systemd-boot and connecting to the network with systemd-network. I’m not personally concerned, because Kubernetes has consumed the server world and that hasn’t seem to have gone wrong, but I can understand why people would be concerned.

    @R3D4CT3D@midwest.social

    Or is it: @R3D4CT3D@midwest.social



  • Alright, this is gonna be long.

    Firstly, yes, different static site generators have different templating langauges. But just like normal programming languages, it is easy to transition from one templating langauge to another. If you take a look at the syntax:

    Not drastically different, but reading the docs, they are all similar enough, and easy to learn.

    I wouldn’t call go’s templating language “esoteric”, but it should be noted that jinja2 is has other uses, most notably it is the templating engine that Ansible uses.

    As for the docs… This could probably be a blog post by itself.

    Firstly, take a look at this website: https://killedbygoogle.com/ . Google has created and then killed 296 projects, many of which were actively used and working. Why?

    This is because, internally at Google, you get promoted if you either A: write software, or B: add more features to software. So what happens is people write software, get promoted, and then realize they don’t get paid more if they actually maintain that software, so they just kill it. Also, they forget to write documentation (because it doesn’t pay more or get you promoted).

    Hugo, is by a Google Engineer, and it shows (or at least, it used to). Software by Google has two distinct characteristics (actually 3 if we count being written in Go).

    • It has every feature you could ever want, even stuff you haven’t heard of
    • And it’s poorly documented. Or not at all lmao.

    But, “being poorly documented” is not a permanent fixture of this software, but instead something that mostly persists for as long as it’s Google software. Often, these projects get “adopted” by the wider community, who fixes up their documentation. Looking at hugo’s docs, it doesn’t seem be nightmarishly bad, especially for the core, main set of features. Like the setup docs appear to be clear (although a more complex process than alternatives).

    But like, for search options: https://gohugo.io/tools/search/ . That google software pattern continues. There are like 10 options on the page, and no docs from hugo on their usage/installation lol.

    Anyway, I would recommend eithier Pelican or Jekyll, given your requirements. Because everything you write is in markdown, it will be fairly easy to move from one static site generator to another, even if you are dissatisfied.

    Also, kinda sorta relevant:

    (source)

    But the point I’m trying to make is the same. Don’t agonize over selecting the perfect static site generator.