• 3 Posts
  • 46 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle
  • One thing you could do that I don’t see mentioned here is to install Virtual Box in Windows and create a Linux Mint Virtual Machine. It’s basically installing a computer within a computer. You should be able to find some tutorials online.

    This would let you try Linux Mint in a sandbox within Windows so that you could experiment a bit with everything before changing anything.

    Just keep in mind that within the VM, things will be less performant, especially graphically, and certain peripherals, etc. might not work. But it would let you test out installing the software you want, the cloud storage solution you want, browsing around, etc.

    Speaking of graphics, you’ll want to do some research about how well supported your GPU is. It will almost certainly “work” out of the box, but if you want to get the most performance out of it, like Windows, you’re going to need special drivers. I’ve heard Nvidia can be a bit of a pain, but I think it varies by model.

    I wouldn’t be too worried about the touch screen as that will probably work - or at least has on every laptop I’ve tried. I’ve had more issues with things like fingerprint scanners generally speaking. Definitely check out everything you can think of when you install, like Bluetooth, cameras, microphone, peripherals, etc. Oh and when using the laptop definitely manually knock yourself down out of performance mode using the upper-righthand corner in gnome. For me at least, it makes a huge difference in battery life if I’m in performance vs balanced vs power saver. Windows is better at automatically making those adjustments.

    I’ve also heard that lately Microsoft is making dual-boot harder - notably that Windows updates will just casually break your dual-boot and revert it to just Windows. I don’t know the details since it’s been years since I’ve done it myself, but something to keep in mind.

    Finally I’ll throw out there to make sure you have a recovery plan if the install goes south. Have all your files backed up. Have a copy of Linux and Windows installers ready. It honestly should be fine, but especially if this is your only PC you don’t want to be stuck if you have some kind of issue, accidentally blow away your laptop’s SSD, etc . Not trying to scare you or anything, but better safe than sorry, right?


  • More of a debugging step, but have you tried running lsinitrd on the initramfs afterwards to verify your script actually got added?

    You theoretically could decompress the entire image to look around as well. I don’t know the specifics for alpine, but presumably there would be a file present somewhere that should be calling your custom script.

    EDIT: Could it also be failing because the folder you are trying to mount to does not exist? Don’t you need a mkdir somewhere in your script?









  • I’ll also throw out: aging infrastructure, build systems, coding practices, etc.

    I looked into contributing to the kernel - it’s already an uphill battle to understand such a large, complex piece of software written almost entirely in C - but then you also need to subscribe to busy mailing lists and contribute code via email, something I’ve never done at 30 and I’m betting most of the younger generation doesn’t even know is possible. I know it “works” but I’m really doubting it’s the most efficient way to be doing things in 2024 - there’s a reason so many infrastructure tools have been developed over the years.

    The barriers to entry for a lot of projects is way too high, and IMO a lot of existing “grey” maintainers, somewhat understandably, have no interest in changing their processes after so much time. But if you make it too hard to contribute, no one will bother.





  • I ran into this exact situation at work - though for me it was more the case that getting approvals for new software / installing new dependencies in our system is a massive pain.

    So I went with Python since it’s already installed on basically any Linux system. It was fine - I mean Python is a good language and can certainly handle string processing and data manipulation with relative ease.

    I still think the Python docs are pretty bad, and I wasn’t thrilled with the options for calling a subprocess in Python - they all felt kinda clunky, though I was barred from using the newest versions since I had to run an older version of Python.

    But I ultimately got something that worked and it was certainly better executed / shorter than the bash equivalent it was replacing.



  • You offered a lot of suggestions, and I’m sure people will disagree over the specifics, but I think your overall point is excellent and not talked about enough. I wonder if anyone has ever even attempted a survey on the ages of maintainers/contributors? I bet it’s skewing older fast.

    Nothing wrong with that of course, especially given the project’s age, complexity, and being written in C - but you’re right, at some point you have to attract new talent - people can’t maintain forever.

    I’m a 29 year old developer - I didn’t even know you could do git patches via email until recently. And while it’s super cool, it also sounds kinda terrible, especially at the volume they must be receiving? Their own docs are saying the mailing lists receive some 500 emails per day and I can’t imagine the merge process is fun.

    So many doc pages are dedicated to how to submit a patch - which is great that it’s documented, and I’m sure it will always be somewhat complicated for a large project - but it also feels like things that are all automatically handled by newer tools / bots which can automatically enforce style checks, etc.

    I guess they could argue that the complicated process acts as a filter to people submitting PRs who don’t know what they are doing, but I’d argue it also shuts out talented engineers who don’t have 40 hours to learn how to submit a patch to a project on top of also learning the kernel and also fixing the bug in question.

    From what little I read of their git process, does anyone know if there’s anything preventing the maintainer of a subsystem from setting up a more modern method for receiving patches? As long as the upstream artifact to the kernel has the expected format?


  • Oh man, I actually like the language, but you made me think of my own hot take:

    Python has inexcusably poor docs.

    Just a smattering of examples, which aren’t even that good, while failing to report key information like all the parameters a function can take, or all the exceptions it can throw. Any other popular language I can think of has this locked down and it makes things so much easier.