BaumGeist

joined 2 years ago
[–] BaumGeist@lemmy.ml 15 points 2 months ago

You've defined yourself into an impossible bind: you want something extremely portable, universal but with a small disk imprint, and you want it to be general purpose and versatile.

The problem is that to be universal and general purpose, you need a lot of libraries to interact with whatever type of systems you might have it on (and the peculiarities of each), and you need libraries that do whatever type of interactions with those systems that you specify.

E.g. under-the-hood, python's open("<filename>", 'r') is a systemcall to the kernel. But is that Linux? BSD? Windows NT? Android? Mach?

What if you want your script to run a CLI command in a subshell? Should it call "cmd"? or "sh"? or "powershell"? Okay, okay, now all you need it to do is show the contents of a file... But is the command "cat" or "type" or "Get-FileContents"?

Or maybe you want to do more than simple read/write to files and string operations. Want to have graphics? That's a library. Want serialization for data? That's a library. Want to read from spreadsheets? That's a library. Want to parse XML? That's a library.

So you're looking at a single binary that's several GBs in size, either as a standalone or a self-extracting installer.

Okay, maybe you'll only ever need a small subset of libraries (basic arithmetic, string manipulation, and file ops, all on standard glibc gnu systems ofc), so it's not really "general purpose" anymore. So you find one that's small, but it doesn't completely fit your use case (for example, it can't parse uci config files); you find another that does what you need it to, but also way too much and has a huge footprint; you find that perfect medium and it has a small, niche userbase... so the documentation is meager and it's not easy to learn.

At this point you realize that any language that's both easy to learn and powerful enough to manage all instances of some vague notion of "computer" will necessarily evolve to being general purpose. And being general purpose requires dependencies. And dependencies reduce portability.

At this point your options are: make your own language and interpreter that does exactly what you want and nothing more (so all the dependencies can be compiled in), or decide which criteria you are willing to compromise on.

[–] BaumGeist@lemmy.ml 2 points 2 months ago

This can be handled pretty much entirely on the host by configuring your qemu settings; it's got very robust virtual networking options. Basically just expose the host's VPN interface (e.g. usually called something like tun) for VPN access, and make a separate virtual interface that only the host and guest can access for the stuff like ssh.

Here's the qemu wiki about networking, definitely where you should start

[–] BaumGeist@lemmy.ml 1 points 2 months ago

I have a Libre LePotato, Pinebook and Pinephone. They're fine for most of my use cases, but they don't handle games too well. They are also not great for VMs or emulation, and no chance in hell would I use any for my home media server.

That being said, I'm starting to see ARM CPU desktops in my feeds, and I think one of those would be fine for everything but gaming (which is more an issue of the availability of native binaries and not necessarily outright performance). TBH at that price point, using off-chip memory and GPU, I don't see much reason to go with ARM; maybe the extra cores, but I can't imagine there is much in the way of electrical efficiency that SoCs entail.

[–] BaumGeist@lemmy.ml 4 points 3 months ago (1 children)

I've been running Debian stable on my decade-old desktop for about 3 years, and on my ideapad that's just as old for about 5. During that time I had an update break something only once, and it was the Nvidia driver what did it. A patch was released within a three days.

Debian epitomizes OS transparency for me. Sure, I can still customize the hell out of it and turn it into a frankenix machine, but if I don't want to, I can be blissfully unaware of how my OS works, and focus only on important computing tasks (like mindlessly scrolling lemmy at 2 am).

[–] BaumGeist@lemmy.ml 2 points 3 months ago

I use virt-manager. Works better than virtualbox did at the time (back while v6.1 was still the main release branch), it's easier, and it doesn't involve hitching yourself to Oracle.

VMWare may be "free," but it ain't free. And if you don't care about software freedom, why choose Linux over Windows or MacOS? Also, Workstation Player lacks a lot of functionality that makes it not good as a hypervisor. Only one VM can be powered at a time, and all the configuration is severely limited. Plus the documentation is mediocre compared to the official virt-manager docs.

[–] BaumGeist@lemmy.ml 12 points 3 months ago (1 children)

When I was young, people (read: other kids) would accuse me of being pretentious for using vocab words. I learned to dull down my speech to please them, and lost most of my vocabulary in the process. Now i talk nurmal lik ery1 else

[–] BaumGeist@lemmy.ml 1 points 3 months ago

I used luakit for awhile. Really fun to only use keyboard, but definitely lacking features that makes "modern" websites not suck so hard

[–] BaumGeist@lemmy.ml -3 points 3 months ago (12 children)

developers handle design, not finances. Microtransactions have always been in the interest of profit, not to make the games better. They were the markets compromise with gamers being unlikely to pay enough to cover costs of a Triple A development cycle.

Reminder that when the NES came out, it was still $60 dollars for a game, which would be about $180 today. And that's not accounting for all the extra manhours that now go into the major titles. Microtransactions and DLCs are the deal with the devil we made to keep games from being $200+ a pop

[–] BaumGeist@lemmy.ml 6 points 3 months ago

I replaced windows on my laptop with Ubuntu and stopped using it after realizing how unimpressed I was with the difference. Years later I took the OSCP course, and they required using Kali.

From there I fell in love. Things that would have taken hours and weird 3rd party installers to do in Windows came with the OS or were in the official repos. The CLI showed me unimaginable power over every bit of the computer, and in windows the Conmand Prompt CLI is pretty mediocre; Powershell is better, but is more about data processing than running software. Linux has SSH and Python installed with one sentence, windows graphical installers are a bloated nightmare. There wasn't random shitty third party software installed by the OEM who struck a deal with the OS maintainers.

After that, it was a cascade of disillusionment. Those nasty 3rd party apps I didn't install showing up in my start menu? Actually ads, I was just using cognitive dissonance to avoid admitting that. And the proprietary programs aren't better, they update more frequently just to introduce ads, harvest more data, and change their layout to make it seem like they did anything to help the end users.

Why does changing any meaningful settings require tampering in the registry? Why is this low level stuff documented so poorly? Why can't I turn off telemetry completely? Why can't I check what code is running in the kernel that I purchased and am running ON MY COMPUTER??? IT'S MY COMPUTER, NOT MICROSOFT'S. Why the FUCK should I let them run code that I can't legally review, much less change, on it?

If someone offered you a meal but refused to tell you about any of the ingredients, you just wouldn't eat it. Not "you'd be suspicious," it goes beyond that: you'd be too suspicious to eat it. If someone offered you a home security system that you could have "spy on you minimally" you'd tell them where they could stick it. If it came with your house, you'd remove it immediately. If either of those people tried to charge you for it, you'd laugh in their face.

Yet for some reason, when it's our computers doing the spying and whatever else we can't verify, we've learned to just put up with it? This is BULLSHIT.

And I have too much pride to be treated like a mark, I won't take being scammed lying down anymore. I'm not a hapless dipshit who just lets people have their way with her because it's "too hard to learn new things." I've always said I have some integrity to protect, so I better prove it or forever be a hypocrite.

I already use only Linux at home, I'd have to get my company to switch to let me run it at work.

[–] BaumGeist@lemmy.ml 3 points 3 months ago (1 children)

I suggest reading through multiple answers despite everyone answering all your questions, this way you get the most complete answers. As such, here's my two cents:

  1. Yes, search for "Widgets" at Gnome's official website to see: https://extensions.gnome.org/

  2. Depends on what you mean by "problematic"? My laptop refused to go to sleep because of a setting in the wifi card, but once I changed it I haven't had any issues. You may also find that some of your hardware is nonstandard, and therefore requires extra steps during installation.

  3. What do you mean "minimum"? Because I installed Debian headless, and starting with nothing but a command-line and the system utilities and nothing else installed is what I heard, but maybe in your mind it just means a graphical desktop and nothing more. If you did mean that, you could try something like MATE for your desktop environment, or XFCE if you want to learn by customizing. If you're feeling really adventurous, use SwayWM

  4. Depends on how it came installed, but generally it's easy. Most of the time, starting out it will be as easy as running the uninstall command for whatever package management software installed it.

  5. "Rooting" a device refers to installing untrusted firmware on SoC devices. Unless your laptop is a chromebook, you probably don't need to worry about that. Dual-booting Windows and Linux won't stop Windows from updating, nor stop whatever application manages your firmware from working in Windows, if that's what you're worried about.

  6. It depends on your distro and its package manager(s). In Debian it's as easy as sudo apt install <Desktop Environment> and then logging out, changing which DE you're logging into, and then logging back in. Most are going to be that way

  7. Lazy answer: don't worry about it, and don't worry about it. If you're the type who wants their PC to "just work," it's behind-the-scenes stuff that will never apply to you. If you're prepared to get down in the weeds, occasionally break things, and customize every aspect of your OS, then you'll learn when it's relevant. If you're saying "Lazy question" and not showing that you already did some research on the topics, you're most likely in the former camp; this isn't a value judgment, just an observation.

But, since we're all still nerds here regardless of what we're nerdy about, and since learning almost never hurts, I'll throw some vocab at you to get you started:

Wayland is a specification of how software should display things on the screen, it's the generic blueprints of how Display Servers and their Clients should behave; Wayland is seeking to replace the X Window System specification, and specifically the popular Xorg Server implementation.

Docker is a containerization platform (software ecosystem). Containers are essentially a small subset of Virtual Machines (or VMs) which are Guest operating systems that run within a separated off environment from your Host operating system. On Linux, features like namespaces, cgroups, and chroots are used to achieve this effect. Containers tend to use less hardware than Hypervisor-hosted VMs, but also tend to be single-purpose systems.

[–] BaumGeist@lemmy.ml 31 points 3 months ago (32 children)

Why is Swift bad?

Also, I noticed the project has taken donations from mostly non-foss companies. Let's hope they stand by their principles

view more: ‹ prev next ›