• 0 Posts
  • 55 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2023

help-circle
  • There’s nothing like it, nor will it ever be, for a couple of reasons.

    Programming is a long running task

    Distros like Kali are meant to be used for quick tasks where you don’t need data preservation (or when data preservation is a bad thing). Programming is the opposite of this, it’s only about data (the program) preservation. Programming something that will get erased on the next boot is pointless on the long run if you need to program that again, and if you don’t then what you’re doing is not programming but something else that requires some programming.

    Programming is a wide term

    There are multiple languages/IDEs/Workflows/etc, ranging from fully free and open source to paid closed source, whichever you will use depends entirely on you, having all of that pre installed would be 99% garbage since you will only care about 1 or 2 of them.

    Programming requires setup

    Even if you had whatever workflow you use pre installed, to work on something you would need to setup git keys, install dependencies, compile the first version, etc… and that’s all before you can start doing stuff. And you would have to do this again and again since distros like Kali are not meant to be installed (if they were they wouldn’t need to come with all those packages pre-installed because you could just install the ones you cared about)


  • That’s one of the things I miss the most in Gentoo, having the packages of your system defined in text files so a fresh install was just copying those files and running an update.

    I’ve tried similar things with other distros, but it’s never the same, the list of packages ends up getting out of date or ends up with too much garbage.

    Currently I have a home server so I took the time to get an Ansible playbook setup for running, maintaining, and maybe migrating the server if needed. Since some stuff is also run on other machines that I have (update system, update some docker images I run in multiple systems, etc) I did setup some minimal packages that I need on my main system, it’s easy enough but I wouldn’t recommend using Ansible just for this (but if you also have dotfiles it’s a great tool for automating lots of the initial setup).

    All of that being said, the reason I never bothered with this until I had a home server is that usually there are years between system installs, so even if what you had was exactly what you wanted the last time you installed your system, it’s unlikely to be exactly what you want next time you do. Since the last time I installed my main system I switched from X to Wayland, from i3 to Hyprland and then Sway, etc, etc…



  • Nibodhika@lemmy.worldtoLinux@lemmy.mlLinux middle ground?
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    1 month ago

    Replace Arch with Ubuntu and the answer is yes. Arch based that’s not a good idea.

    The reason is that in 6 months lots can have changed, and Arch is not guaranteed a stable base, so updates might assume you have certain versions or things might break because you should have done a middle step during the upgrades that you didn’t which is now buried in months of update news in the wiki.

    If you want to only update your system every six months, Arch is not ideal, it’s likely to work, but not guaranteed.


  • I just got to work and plugged my surface pro into my external monitor. It didn’t switch inputs immediately, and I thought “Linux would have done that”. But would it?

    Nope. My laptop for example doesn’t automatically use an output when plugged in, but that doesn’t bother me because I know other DEs would do that, and it’s my choice of having a minimal window manager that causes that.

    And this goes into your next point, because I know that this comes from decisions I made, I’m okay with that. I also know I could probably fix it somehow, even if just by running a script in the background that checks if an output is plugged and tries to use it.

    And for me that’s the big difference. As a general rule when things break or don’t work are not the fault of Linux as a general, but of a specific piece of the stack, and more often than not it’s because that piece was backwards engineered without any help from the manufacturers of the hardware it’s meant to be controlling, so I can be very tolerant of these errors since the bad guys here are the third-party who’s refusing to make their things work on Linux. But even things that don’t work as I want to, I can make them do so, and that’s a huge change in viewpoint.

    In other words, on Windows I used to be of the thought of things you can do, and things you can’t, with time I noticed that in Linux this thought shifted, to the point that the only question I ever ask myself is: “HOW do I do this?”. This implies that there are no impossible things in Linux, which is obviously false, but I would argue that the correct way to think about this is “things that are impossible on Linux, for now”, and that’s a huge difference, because Linux is always evolving and getting better and better, things you thought are impossible now might be trivial in a few months or years whenever someone with the knowledge to fix it gets bothered with it.


  • At the same time I think most people don’t think about how much prior knowledge you need to just be able to use Windows or Mac. And for someone without ANY prior knowledge all of them are the same.

    Story time, my MiL is a zero when it gets to computer literacy, to the point that every week I had to solve something for her. Eventually I gave her a laptop with Linux in it to make it easier for me to do support, and to my surprise she had lots of problems the first months when setting things up and until learning the ropes, but afterwards there were almost no problems.

    The thing is that people have a lot of Windows knowledge, so when they try Linux they expect it to be Windows and get frustrated when it’s not.


  • Realistically whatever problems you see in python will be there for any other language. Python is the most ubiquitously available thing after bash for a reason.

    Also you mentioned provisioning scripts, is that Ansible? If so python is already there, if you mean really just bash scripts I can tell you that does not scale well. Also if you already have some scriptsz what language are they on? Why not write the function there?

    Also you’re running syncthing on these machines, I don’t think python is larger than that (but I might be wrong).





  • That’s not true at all. I used to have pain in my wrist and went very heavily into keyboard centric usage. At the time I used AwesomeWM and Conkeror for a full keyboard centric OS, I also learned to touch type in Colemak at this time and bought a trackball. Eventually I started using PyCharm instead of Emacs, and Conkeror was abandoned so I switched back to Firefox, I switched to i3 for their better philosophy on monitors and workspaces, and switched back to a mouse for better aiming on games, and now I have lots of stuff that use mouse, but the pain never came back. And the reason is that while it is true that I still use the mouse, it’s much less than I did before, the vast majority of the time I can be programming, run something in a terminal, go to the browser and do a quick search, send a message to someone on slack and go back to my code without touching the mouse. Sure, if the result of what I was looking for is not on the front page I’ll need the mouse to click a link, and if the person on slack is not the one I was last talking I’ll need the mouse to click his name, but those are two possible mouse movements for a full workflow of stuff that would have needed 6 or more mouse movements before.



  • The thing is that there is no middle ground, the terminal you described would either have the problems of a GUI (limited interactivity) or the problems of a CLI (unintuitive).

    If you do a button to do things you’ve removed option to do different things, if you ask them for text you’ve removed the intuitivity of a button. If you present less options you might not cover all cases, if you present more options it’s a regular terminal.

    It seems that the issue you have is that you need a way to quickly redo commands you’ve done before and you need a good way to know what options you have. I have 2 CLI solutions for you.

    1. If you press Ctrl+R and start typing a command it will auto-complete to the latest command you ran that matches

    2. If you install zsh and grml-zsh-config and switch to zsh you will have a very powerful auto-complete that will allow you to press tab to auto-complete most parameters of most common operations.



  • Because my experience is always the exact opposite of yours. Windows has never been convenient for me, it always does random shit, and stuff just suddenly stops working because fuck you that’s why. For example, I have a Windows computer at work to build and test the games I work on, this week it decided that it won’t use more than 20% of the CPU for building the latest game, there’s no other bottleneck, temperature is stable at 60°C, disks have space, and most importantly, other games compile just fine, it’s just the one I’m actively working currently that doesn’t. And it’s not an issue in the code either since I’m the only person in the company experiencing this. And, this is the important part, I can’t do anything about it, because no one knows why Windows decided to do that, so there’s nothing anyone can do. On Linux when you have an issue there’s an explanation, and someone with enough experience will find it quickly, on Windows you can be the world’s expert and still the OS will just decide to nope the fuck out.



  • I’ve recently migrated to nushell, I don’t straight up recommend it because it’s not POSIX compliant, so unless you’re already familiar with some other she’ll I would not use it.

    That being said, it’s an awesome shell if you deal with structured data constantly, and that’s something I do quite often so for me it’s a great tool.


  • For anyone defending the dev ensure you have the version before this patch and run systemd-tmpfiles --purge just a heads up, it will delete your home because /usr/lib/tmpfiles.d/home.conf exists and lists your home as a temporary file. This is a HUGE issue, tmpfiles.d default behavior is to list /home as a temporary dir, that should NOT be the case. Their fix is also sort of bullshit, instead of removing home as a tmpdir they made it so that you need to specify which files to purge.