• 0 Posts
Joined 1 year ago
Cake day: July 7th, 2023


  • Being a terminal purist is wonderful for those of us who live our lives deep in the caverns of Linux, but in actual production use you very often find situations where less technical users have to interact with the systems that we build.

    For my work, I need a way for low level tech support and technicians to go in and restart a container from time to time, and these people curl up in a ball and scream if you show them a command prompt. Having a UI removes a lot of friction.

  • Absolutely. A lot of the time the biggest difficulty with researching something is not even knowing the right terms to search for. Asking a few questions can give you a starting point to know where and how to look.

    And the thing is, I personally hate asking questions on forums and the like. I can probably count on one hand the number of times I’ve done it. I’m very good at digging up answers by myself, and I generally do work better with essays than I do with conversations. But my experience should not be seen as the default, and people shouldn’t be shit on for trying to learn through community rather than through textbooks.

  • So, when you create a virtual machine in KVM, you have the ability to attach a Spice or VNC display to the VM.

    Unlike running VNC inside the virtual machine, what this does it is runs VNC on the host, at a port that you designate (or a randomly assigned port if you don’t designate) and then you can view that by connecting to the host through VNC. For Spice its exactly the same, except you use something like the Remote Viewer application to connect to it.

    As others have mentioned, the easiest way of handling all of this is with Virtual Machine Manager, which integrates its own Spice console and makes everything happen automagically. You can also install Cockpit with the Cockpit-Machines plugin on the host, which gives you a web interface for controlling virtual machines, just like vmware esxi. The display manager on cockpit is pretty rough at the moment though.

    KVM is a very “build it yourself” virtualization solution. I use it extensively, and I love it, but you’ll need to be prepared for a lot of “Oh, KVM doesn’t do that, that’s handled by this program/library/whatever”. It’s definitely not a user friendly toolkit. If you’re looking for a Workstation Player alternative, you may be better off with something like Virtbox (although do try out Virtual Machine Manager first, it’s really slick and for your use case probably solves all the problems I’ve mentioned). If you’re looking for an esxi alternative, maybe look into Proxmox.

  • I’ve been looking for documentation on this but Google search is now so bad that technical documents are completely hidden behind marketing blurbs or LLM generated rubbish.

    Its honestly tragic that people feel the need to put these disclaimers. “Just google it” was always a shitty response to people asking legitimate questions (some people learn better from conversational interaction rather than just reading an essay), but with the slow death of search engines we’re now experiencing, at this point anyone who yells “Just google it” needs to be ejected into the fucking sun.

  • If it helps, think of the contents of the variable as being the result of the formula. If the formula is 2 + 2, the result is 4. The variable is the value we are trying to determine. If I want to know my speed, I calculate distance / time. So in Python I would say speed = distance / time, because speed is the unknown that I want to know.

    But then with Python we can have more complex “formulas”. For example, we can say laugh = “Ho” * 3

    Yeah, you can multiply a string. The result is that print(laugh) prints “HoHoHo”.

    In the example you gave, the function is the formula, so input() evaluates to a result that is stored in the variable.

    If functions are nested, each nested function resolves before the one that contains it. So, for example, you can do print(input("Who are you? ")). The nested function (input) resolves first, obtaining the user input, which is then printed. The difference is that doing it this way just prints directly without storing the input as a variable.

    You can also do print("Hello ", input("Who are you? ")). Again, the nested function resolves first, so the user is presented a prompt to give their name. Then print combines the two comma separated statements ("Hello ", and the result of the input function) to display “Hello <name>”. Try it for yourself.

  • Yeah, try to avoid using USB hard drives.

    A refurbished business PC is an excellent choice (or, better yet, make friends with someone who works in an IT department and grab a few machines when they’re being thrown out; you’d be amazed how often companies dump perfectly good hardware). Don’t worry about the windows license, you’re not actually paying for it by the time you get to refurb prices.

    You should easily be able to pick up something decent for under $200 (hopefully that fits your budget). If you go with a small form factor (not ultra small) you can probably get an SSD and two 3.5" drives in there (watch out for the small form factor Lenovos though, they only have one 3.5" slot). Alternatively, look for a larger desktop tower style that could have 3 or 4 drive bays if you want to do something like a RAID5.

    Don’t sweat too much about buying older hardware. What’s old and busted for Windows is lightning fast when we’re talking about self-hosting a file server or a Pihole.