Personally I use Debian stable but I’d recommend starting with Ubuntu if you are new. I’m using linux fulltime since 2008 if that makes any difference.
The reason is you are guaranteed to find support for a program if there is a linux version.
Most of the instructions online have specific Ubuntu instructions.
The default install is quite user friendly.
You will have access to more packages than many other linux distros. You still have flatpak too if your desired package is not in the Ubuntu repository ( or snap store).
You can always pick a different one later once you have some experience under your belt.
Doing this you will be able to become familiar with APT the Debian package manager. Used in Debian, Ubuntu, Mint, Raspbian and other Debian derivatives.
Getting the concepts here you can then just learn the differences if you switch distro such to an RPM (Different package format) based distro such as fedora.
In short use Ubuntu for now. Experiment and read up about it so you can build your knowledge. We are a community that like to share and learn. Also as a general rule backup your files before you install it and after you have set it up how you want. You can easily just copy the whole home directory for this 😉
The distro doesnt matter but it should not get in your way. They can all be made to look and act the same for the most part. The focus should be on knowledge. Linux is like digital Lego you can pick and choose the parts you like and layer them together.
Nearly all Ubuntu instructions also apply to Debian.
Flatpak is no longer default on Ubuntu since they see it as competition.
As of Debian Bookworm, nonfree firmware is available on the installation media and no further steps are involved.
Ubuntu used to be the most friendly beginner experience. I’m not sure if it has any advantage over Debian today.
Great advice substantiated by clear reasoning. I second it. More specifically, grab Ubuntu LTS. Going with an Ubuntu LTS based distro might present some extra challenges but it would probably be fine too.
Ubuntu is great for the reasons outlined and it provides an obvious path to Debian, should you want to move away from it in the future.
I’m enjoying what Nix does. That said, the learning curve is very steep, and the documentation is very inconsistent and usually poor.
The repositories for both nixpkgs and nixos are absolutely colossal, which is a huge plus, but their configurations are not listed on the same page, and it can lead to a lot of confusion. Unlike Arch’s PKGBUILD, which practically tell the build system exactly what to do, you’ll have to learn the structure of current configuration files, or the more recent flake system, to setup things how you like.
I recently had the same thoughts but was Ted to try nonetheless. Asked for some beginner friendly resources here on lemmy a little while back. Might be to further help for some 😊
Its actually not that bad. A few google searches on how to setup config files and going to search.nixos.org/packages to show you what info to fill in in the NixOS configuration is all you do.
And, even more importantly, search.nixos.org/options to figure out which options to set. Always search for options first. “Installing” something by just adding the package to systemPackages etc. is usually the correct thing to do for end-user applications but not for “system things” such as services.
Do you mean search.nixos.org/packagesBecause that has config info on the page of the listed package. Unless I am misunderstanding what you meant by their configurations?
That’s technically correct. The “NixOS configuration” tab is sufficient to just install something, however out of ever package I’ve personally used, none of them have listed the available options there. For example: this theme, and what the extra options are
TBF the error can become that big if you do a bunch of unstable operations (i.e. operations that continue to increase the relative error), though that’s probably not what is happening here.
To get to 0.01 error, you’d need to add up trillions of trillions of floating point errors. It will not happen solely because of floating point unless you’re doing such crazy math that you shouldn’t be using primitives in the first place.
As the answer in the link explains, it’s adjustment of your scaling factor to the nearest whole pixel, plus a loss of precision rounding to/from single/double floating point values.
Gnome is coded with JavaScript (lmao 🤣) so yeah, I Think you are right.
EDIT: Actually, even if JavaScript and other languages have this issue, the value 1.7518248558044434 has not this issue. There is another reply that explains it and makes totally sense. But still pretty lame to know the desktop runs with JavaScript. (Yeah, I hate Gnome)
It’s not a “language” issue it’s a “computer” issue. This math is being done on the CPU.
IEEE 754
Some languages do provide for “arbitrary precision math” (Java’s BigDecimal for example) but it’s slower to do that. Not what you want if you’re multiplying a 4k matrix every millisecond.
And Gnome is far from the only desktop that uses JS, KDE Plasma, for example, also uses a lot of JavaScript.
It’s weird when people bash Gnome for using JS, when practically everybody else uses it a lot too. Shows that they’re just regurgitating “Gnome = bad!!!” nonsense.
We get it, you think disliking Gnome is a quirky, edgy personality trait.
Mostly C because you need to type more C code to do the same with JavaScript, so I suppose most of the logics are using JavaScript. Plasma desktop has 2% JavaScript (invent.kde.org/plasma/plasma-desktop), it’s not comparable. 🙂
There’s a lot more to your UX than just the Plasma desktop. And you’re also trying to pass off Gnome’s shell as being Gnome desktop. Pretty disingenuous.
Using JavaScript isn’t inherently a bad thing. JavaScript can be very useful when used for scripting. Obviously anything with a new for performance will be done in C.
JavaScript isn’t the best language to make a desktop interface in my opinion, it can be very efficient, but you can see in bugs (at least in the past) how bad performance it had, and they needed to re-factor it to replace to C or improve the JavaScript. I’m just laughing and making fun of it using JavaScript, not saying it is slow, Gnome is pretty fast nowadays.
There is less than 4% more code in C than JavaScript. That’s pretty much, many features on the gnome-desktop is using JavaScript too, like gestures and mouse events.
Well, I started this thread saying it runs on JavaScript, and I mean that they need JS for most of the interactions with the desktop, like gesture or mouse events. 😞 Even if most of the code is C, we all know we need to write much many lines of code of C to do the same with JS, so most of the logics on GNOME is computed by JS. We need some rust here. 🦀 🦀 🦀 🦀
You don’t get to decide what too much JS in the project is unless you actually work on and have in depth knowledge of the project. I dont like JS, but it has its uses.
Many people are conflating modern electron bloatware with ‘JS bad’, but things are not that simple.
I think the container piece is probably the least of your concerns here honestly. The biggest thing you’ll want to focus on is the ingress networking layer, but that won’t really be any different than if you were running the app normally. Generally exposing ports from your home network to the internet is not a great idea, and you try to use something like cloudflare or get a cheap cloud VPS with a reverse proxy connected to the container host via VPN.
But for general container security practice, what you mentioned is good. You could also look at the Docker CIS Benchmark for more good security practices. And container scanning tools like trivy or anchore syft/grype to identify vulnerabilities in your containers. But again this is secondary to the networking layer in my opinion.
I do scientific computing and I’ve used Ubuntu, Debian, Fedora, Arch, and NixOS for work.
Any and all of these can do what you need. Hell, you could probably throw your whole development environment into a docker container and use it anywhere. Pick one and go with it.
That said, here are my preferences:
Right now, I really like NixOS and Nix for development environments, but it’s a lot to learn, so I wouldn’t recommend it unless you were really excited to try it.
Before NixOS, I used Arch on my laptop, and it was soooo nice to be able to build my own desktop environment just the way I wanted it from the ground up, which is possible on any distribution, but the Arch documentation makes this much more approachable. If you are happy with KDE Plasma or Gnome, and you’re using well-supported hardware, then I wouldn’t say Arch is really worth the time (unless you’re excited to play with it).
Fedora and Nobara (a Fedora-based distribution with a lot of gaming-focused presets) have been a breath of fresh air coming off the heels of painstakingly setting up Arch and then NixOS. Fedora is pretty nice out of the box and Nobara has been the best experience of going from zero to gaming even when compared to Windows.
Debian (especially Debian 12) has been fantastic for servers and for machines that don’t need to use the newest hardware. It’s still my go-to for lots of things.
Ubuntu is fine, but Canonical, the company that makes it, has made some unfortunate choices lately, and with Debian 12 being as good as it is, I don’t think I’ll ever have a reason to go back.
Side note: One thing to look out for in the near future is System76’s COSMIC desktop environment, which seems to be doing a lot of things right. There is already active development to get it working on NixOS, and I’m sure it will be available on Pop!OS from the start. I would also bet that it would be ready to go on Arch not long after. It will likely eventually be easy to install on all distributions, but if you want to try that out as soon as it’s ready, one of those three would be a good option.
Well put. The one thing I would add is using the Nix package manager on a distro other than NixOS! I’m daily driving Fedora 39 + Nix (home-manager) with zero problems. My pick would either be Fedora or Debian.
Tons of good documentation either way. Flatpak the packages you, no kidding, need to be easy / consistent to debug. Non-root podman for containers. Nix for more up to date packages than are available in the native repos (especially useful with Debian) + the other benefits like nix-shell.
Chatgpt is just Cortana with better marketing. AI isn’t smart, it’s just algorithms producing a facsimile of language via pattern heatmaps. What was Cortana if not just an earlier version of the same thing?
““AI”” is all a techbro marketing bubble. Will burst and move on eventually.
Like holy shit we had the autofill feature in Photoshop ages and ages ago and that’s just doing what the “intelligent” image generators do. We didn’t call it AI back then. All marketing for what amounts to just some interesting algorithms.
Chatgpt is just Cortana with better marketing. AI isn’t smart, it’s just algorithms producing a facsimile of language via pattern heatmaps. What was Cortana if not just an earlier version of the same thing?
Well no, not really IMO. Cortana as far as I know wasn’t based on LLMs as we know them today, it was a way older method of NLP. You’re right that on a high level it’s pretty similar but the underlying technology is qualitatively different IMO.
No you don’t understand bro. DNS is a useless service that serves no purpose other than increasing attack surface for hackers. Who needs dns when you can just type ip address?
The EU regularly forces DNS server operators to remove entries or redirect certain domains. It’s super easy to circumvent but most users don’t know that.
The sites I’m thinking of never had their IPs completely blocked, the DNS entries for the domains were just removed. If you were to switch to a non-EU or self-hosted DNS server you’d get to the site.
But the domains in question are generally ones the US/EU/NATO propaganda machine has told people are bad, so there’s no outrage when they’re blocked. In many cases there are often cheers.
awk predates perl as well as python by a pretty large margin (1978); it’s useful, of course, for processing things in a pipeline, but as it became obsolete as a general-purpose scripting language, users have had less and less of a reason to learn its syntax in detail – so nowadays it shows up in one-liners where it could be replaced by a tiny bit of cut.
I had worked through a good bit of the O’Reilly ‘sed & awk’ book – the first programming book I got, after being enticed by shell scripting in general. Once I learned a bit of Python, & got better at vim scripting, though, I started using it less and less; today I barely remember its syntax.
Been using Wayland since 3’ish years ago and my desktop experience has been really smooth – no crashes, errors or anything of the sort. Everything “just werks” just as if I were on Xorg instead. Even on a completely obscure/zero linux support single board computer (Orange pi zero 3).
Not as bad as you might think. The nouveau drivers have come a long way for maxwell. You should give it a shot if you haven’t. But, unfortunately, if you are using anything new then nouveau sucks. It’s a fun game where you get to wait until nvidia no longer wants to support your GPU and hope by that point that nouveau has progressed far enough that you won’t be looking at noman’s land.
I meant the GTX900 series. I’m aware the 700s have decent support in nouveau, but the 900s has already been dropped by nvidia so we are on older drivers not capable of the latest vulkan extensions required by modern Proton.
For nouveau it needs GSP firmware that wasnt released as part of that release they did a while ago. I think pascal users are on the same situation, they just havent been dropped by the proprietary drivers yet. I wonder if we are gonna be stuck on xorg forever.
The newer cards got the important bits released by nvidia so the community can at least have a path forward…
I wasn’t fully aware of NVK and where it’s at. It’s actually pretty exciting. I wouldn’t mind dropping my current nvidia binary blob for fully open source drivers.
it didnt work ootb for me on ubuntu so i dropped it, but i hear it can already be made to work well with the desktop and basic stuff. performance in games is still bad but they are running.
I’ve switched away from Xorg a few years ago because of its terrible multi monitor support and bad experiences with picom. Sway and now hyprland are imo a better tiling wm experience then their Xorg equivalent.
linux
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.