I'm gaslighting them for the greater good

587 points · 82 comments · view on lemmy.world

82 Comments

Skullgrid@lemmy.world · 72 pts · 1d (26 replies)

What about setting up a new environment correctly instead?

Says the man that just copied and pasted, then checked in 800mb of shitty angular dependencies just to get Jenkins to be able to build his inherited project.

It's ok, they don't pay me enough to support a family and don't give a shit about this project, and it's for internal use.

panda_abyss@lemmy.ca · 71 pts · 1d (23 replies)

That’s so stupid.

downloads and runs entire Linux distro just to run a python script without managing dependencies

Skullgrid@lemmy.world · 8 pts · 1d (22 replies)

.... virtual environments?

panda_abyss@lemmy.ca · 27 pts · 1d (21 replies)

Docker

Skullgrid@lemmy.world · 5 pts · 1d (19 replies)

ok sure. but FYI, venv is basically the same thing if it's python based.

panda_abyss@lemmy.ca · 31 pts · 1d (18 replies)

Yeah, venvs are the answer to “why is that folder 8gb?”

Containers are the answer to “why is my hard drive completely full”

IrateAnteater@sh.itjust.works · 7 pts · 1d (13 replies)

Containers are the answer to “why is my hard drive completely full”

Hold up, are people just out there not using Alpine for a container base image?

neketos851@sopuli.xyz · 6 pts · 1d

meh, someone probably forgot to nuke old images

DanWolfstone@leminal.space · 4 pts · 1d

What's the alpine advantage here?

Kangae_Hishiryo@scribe.disroot.org · 1 pts · 20h

Most of them use bigger images as Debian or even Ubuntu. Eww

panda_abyss@lemmy.ca · 1 pts · 1d

Yes

Skullgrid@lemmy.world · 6 pts · 1d (3 replies)

Containers are the answer to “why is my hard drive completely full”

What morons!

*Hides 100gb of VM images in /var/lib/libvirt/images/ on his 230gb SSD*

minfapper@piefed.social · 5 pts · 1d

Aw man, I love Lemmy. There's so many dumb nerds that are the exact same as me!

panda_abyss@lemmy.ca · 2 pts · 1d

That’s fine because those vms are configured by and run on nix.

x0x7@lemmy.world · 1 pts · 1d

Docker took off because Ubuntu can't run current software. Now you need multiple copies of an up to date Linux visualized just to keep it interacting with old software on a base system we insist we need.

If all your docker images prove that an up to date Linux can run, then why not just make the main system up to date and you won't need docker as much.

corsicanguppy@lemmy.ca · 9 pts · 1d (1 reply)

Jenkins

This is where I spat my tea: not because jenkins is super old but because I still have residual PTSD from using it.

My sympathies.

Skullgrid@lemmy.world · 3 pts · 1d

not because jenkins is super old

I mean, I just updated the wallpaper on that machine to be Ask Jeeves for maximum millennial retro points for when I use it and can tell at a glance which stupid VM I am looking at.

juipeltje@lemmy.world · 32 pts · 1d (17 replies)

Meanwhile as a guix+nix user i can just build it against that old library version because nothing can conflict with each other anyway

tomatoely@sh.itjust.works · 19 pts · 1d

Yea but wheres the fun in that

SigHunter@discuss.tchncs.de · 8 pts · 1d (3 replies)

As a Gentoo user, I can relate ;-)

fleck@lemmy.world · 1 pts · 16h (2 replies)

How does Gentoo deal with this? Just curious, I'm looking to try it this weekend

SigHunter@discuss.tchncs.de · 1 pts · 14h (1 reply)

well, for one, Gentoo builds it's packages from source when you install them, so you don't need a binary that targets your specific version of libraries because it was built with those library versions from that point in time. like with other distros, you have to choose the el9, el10, fc44, fc45 version or the one for "noble", "forky", "bookworm" or "trixie". on Gentoo, the application you install get's linked to the library version you have installed. (simplified)

for the second part, the "conflict with each other", Gentoo doesn't do it like NIX, where you have those unique paths like "/nix/store/ggl4fqsvvlyf1y3rl6mk72nf0dc8c8hr-system-path/bin/bash". but some packages (but not all) have "slots" that you can install in parallel. (e.g. rust, python, gentoo-kernel, wine, lua, ...)

usually the actual binary of those packages is named like the version, e.g. /usr/bin/python3.14 and /usr/bin/python (which is the thing that actually gets used via PATH) is a symlink that you can switch with Gentoo tooling (eselect). another way it is done is: packages you install come preset with what dependency version they like to use and that version gets installed along the already installed version, if necessary. (e.g. they set RUST_MIN_VER="1.98.0" or PYTHON_SINGLE_TARGET="python3_12")

when a dependency gets updated, sometimes the application also needs to get rebuilt to that updated library version. it happens automatically on dist-upgrade (@world update)

fleck@lemmy.world · 1 pts · 4h

thank you, that makes sense. have you used nix/nixOS before? I am currently using it and considering to switch (maybe to gentoo ^^)

defaultusername@lemmy.dbzer0.com · 1 pts · 1d (1 reply)

You use both Guix and Nix on the same system?

juipeltje@lemmy.world · 5 pts · 1d

Well i use guix as a full OS but i still have nix installed as well for some packages that aren't in guix

Skullgrid@lemmy.world · 1 pts · 1d (9 replies)

can you teach me how to make a config file that only has lxqt? I tried the thing below replacing XFCE with LXQT and failed loads, I'm tired of wasting gigs and hours trying to make it work when I'm sleepy.

::: spoiler spoiler

;; This is an operating system configuration generated
;; by the graphical installer.
;;
;; Once installation is complete, you can learn and modify
;; this file to tweak the system configuration, and pass it
;; to the 'guix system reconfigure' command to effect your
;; changes.


;; Indicate which modules to import to access the variables
;; used in this configuration.
(use-modules (gnu))
(use-service-modules cups desktop networking ssh xorg wm)

(operating-system
  (locale "en_GB.utf8")
  (timezone "America/place")
  (keyboard-layout (keyboard-layout "gb"))
  (host-name "pc")

  ;; The list of user accounts ('root' is implicit).
  (users (cons* (user-account
                  (name "name")
                  (comment "name")
                  (group "users")
                  (home-directory "/home/name")
                  (supplementary-groups '("wheel" "netdev" "audio" "video")))
                %base-user-accounts))

  ;; Packages installed system-wide.  Users can also install packages
  ;; under their own account: use 'guix search KEYWORD' to search
  ;; for packages and 'guix install PACKAGE' to install a package.
  (packages (append (list
                          (specification->package "xterm")) %base-packages))

  ;; Below is the list of system services.  To search for available
  ;; services, run 'guix system search KEYWORD' in a terminal.
  (services
   (append (list (service xfce-desktop-service-type) ;; I replaced this with  lxqt-desktop-service-type and it didn't "start" the DE properly when I logged in, I just got a blank screen, or worse, it failed to install properly with different "rest of the file"

                 ;; To configure OpenSSH, pass an 'openssh-configuration'
                 ;; record as a second argument to 'service' below.
                 (service openssh-service-type)
                 (set-xorg-configuration
                  (xorg-configuration (keyboard-layout keyboard-layout))))

           ;; This is the default list of services we
           ;; are appending to.
           %desktop-services))
  (bootloader (bootloader-configuration
                (bootloader grub-bootloader)
                (targets (list "/dev/vda"))
                (keyboard-layout keyboard-layout)))
  (swap-devices (list (swap-space
                        (target (uuid
                                 "666id")))))

  ;; The list of file systems that get "mounted".  The unique
  ;; file system identifiers there ("UUIDs") can be obtained
  ;; by running 'blkid' in a terminal.
  (file-systems (cons* (file-system
                         (mount-point "/")
                         (device (uuid
                                  "666id"
                                  'ext4))
                         (type "ext4")) %base-file-systems)))

:::

This is just to run in a VM in Virtual Machine Manager

juipeltje@lemmy.world · 1 pts · 1d (8 replies)

What error are you getting? Does it reconfigure succesfully?

Skullgrid@lemmy.world · 1 pts · 17h (7 replies)

If it does reconfigure successfully, it just gives a blank screen, or takes me to the terminal login prompt instead of a GUI login prompt.

I tried other things and it fails after hours of downloading packages and building. Does it seem right to you? What do you think I might be missing?

MaskedNybbles@piefed.social · 1 pts · 17h (2 replies)
[ removed ]
Skullgrid@lemmy.world · 1 pts · 17h (1 reply)

I haven't tried to be honest, since it defeats the entire purpose of fucking around with Guix. I made a few posts on this, but I just fuck around with VMs when I haven't done a "technical" activity to avoid feeling like a useless jackass, and one of the distros I wanted to learn about is Guix.

If I want to run guix install lxqt I can. But why would I want to use Guix to have a user with a certain desktop environment? I want to be able to set up machines at the drop of a hat that are all the same all the time, and I want the machine to be all the same, not the user.

MaskedNybbles@piefed.social · 2 pts · 17h

For anyone else reading, I stupidly deleted my comment where I asked more-or-less the following (sorry):

This might be a stupid question, as I am unfamiliar with GUIX/Nix and am unlikely to be able to help, but what happens when you try to run LXQt from the CLI?

juipeltje@lemmy.world · 1 pts · 16h (3 replies)

Well from a glance the config looks fine. I looked at the documentation but there's not a lot of information on what the lxqt service actually includes. My first guess as to why it drops you to a tty is that perhaps it doesn't include a display manager.

Edit: actually nevermind, you're appending to %desktop-services and i'm pretty sure that includes gdm. Maybe the problem lies in gdm trying to use wayland by default. There's an option to change that, i'll see if i can find it.

Skullgrid@lemmy.world · 1 pts · 16h (2 replies)

thanks so much. The documentation that I've glanced just makes it seem so easy, "just replace X with Y and nothing more!"

juipeltje@lemmy.world · 2 pts · 15h (1 reply)

I'm not sure if this will work, but what you can try is replacing the %desktop-services with this:

(modify-services %desktop-services
  (gdm-service-type config =>
                                   (gdm-configuration
                                     (inherit config)
                                     (wayland? #f))))

I'm not sure if wayland is actually the problem though, especially if gdm was working fine before you swapped to lxqt. Another thing i'm thinking of is maybe lxqt isn't properly exposing a session file to gdm, and perhaps gdm crashes because it doesn't find any sessions to start. I think i've seen other people adding this session file manually but i would have to look up how it's done. The thing is i don't use a DE myself, and i'm using greetd+gtkgreet as a display manager and it just launches me into a tty, and then my bash_profile has a snippet that checks which tty i'm and whether it's empty, and if it is it launches my wayland compositor of choice.

Skullgrid@lemmy.world · 2 pts · 14h

I'll give it a go at some point and get back to you in this thread and share what happened. Thanks for this advice anyway.

morto@piefed.social · 23 pts · 1d (3 replies)

I remember when games would't work with wine, complaining about some dll, I would get it from some random shady site and drop into the wine system dir. Some of the times, it worked, to even my own surprise

terranoid@lemmy.cafe · 34 pts · 1d (2 replies)

"DLL finder", holy shit I remember tools like that... God, now that I know how shared libraries work, that's kinda terrifying people just saw that error message and downloaded whatever the fuck they found whereever they found it...

Must be how some malware spread.

morto@piefed.social · 14 pts · 1d

They still exist:

https://www.dll-files.com/

DonkeyStar@lemmy.world · 10 pts · 1d

Look, man, I gotta play Sim Theme Park. If everything else blows up, that’s a problem for later.

palordrolap@fedia.io · 15 pts · 1d

In my experience, this works about 25% of the time and is cause for extreme nervousness about what will happen if it tries to call a function that isn't actually present in the version it has been fooled into accepting.

It's never actually formatted my entire system even when it's gotten me a little further, perhaps to a different sort of crash, but that fear is always there.

rumba@lemmy.zip · 10 pts · 18h

RustyNova@lemmy.world · 9 pts · 1d

Daily nixos behaviour

mlg@lemmy.world · 8 pts · 1d (2 replies)

The most junk hack I ever did (that somehow worked) was replacing a Tensorflow 1.x library set with the Tensorflow 2.x library set and keeping the original 1.x symlink so that the software using it would think it's still the 1.x. .so file lol.

I presume the API had some deprecated fallback for poorly migrated software, which is why it worked without complaints.

Also bazel is by far the worst build system I have ever used.

dan@upvote.au · 9 pts · 1d (1 reply)

COM solved all this stuff over 30 years ago. When you're making breaking changes to an interface, you create a new one while still keeping the old one around (at least for a while). Both interfaces are shipped with the same DLL. Software written for the old interface continues to work, while newer software can take advantage of the extra features in the new interface.

You can do something kinda similar in Linux with sonames, like libfoo.so.1, libfoo.so.2, etc. but there's still a bunch of use cases where you need to use LD_LIBRARY_PATH, and they're entirely separate libraries vs the COM approach where both interfaces are in a single library.

Modern software keeps poorly reinventing the same concept. Software like Home Assistant has breaking changes between releases because they don't have a consistent interface.

nroth@lemmy.world · 1 pts · 20h

COM was cool and a good idea

pewpew@feddit.it · 8 pts · 16h (1 reply)

Apparently sometimes you have to remove symlinks to make programs load. I had a very weird bug that made a library fail to load even if the symlink was good. I wrote a bug report to bugs.debian.org and they told me to remove the symlink. That fixed it, wtf

Trigger2_2000@sh.itjust.works · 4 pts · 15h

Patient: Doctor, it hurts when I move my arm this way.

Doctor: Well, don't move your arm that way then.

BCsven@lemmy.ca · 6 pts · 1d

Its like the Gnome extension not available for your version, so you just edit the file to have your version in its list. Usually works

megopie@lemmy.blahaj.zone · 6 pts · 19h

CKAN (mod manager for kerbal space program) created a multi month long battle for me because it started making copies of the original game for mod installs with symlinks to the original game files rather than just copying it outright, this made it impossible to boot certain mods because part of their first time set up was overriding files. Eventually I realized what the problem was and just manually copied the files in to the folder before loading up the mods for the first time.

WHICH IS INFURIATING! The whole reason I made new game installs was so that shit could be overwritten without breaking the base instal! WHY THEY HELL WOULD IT DEFAULT TO SYMLINKS FOR THAT?

AliasVortex@lemmy.world · 5 pts · 1d (1 reply)

Me injecting the makemkv libraries into handbrake/ vlc

nroth@lemmy.world · 1 pts · 20h

Yeah, see, on Arch that just works

MonkderVierte@lemmy.zip · 4 pts · 21h (1 reply)

Why do we even need dynamic linking if we have deduplicating file systems?

thedeadwalking4242@lemmy.world · 2 pts · 16h

We don't, blame Oracle it's their fault

avocado@programming.dev · 4 pts · 20h (1 reply)

Guys do not do this, it's gonna cause a mess further down the line.

"The problem with creating these links is that they aren't managed in any meaningful way. If that library is removed, the link becomes broken. If the library is upgraded, it may encounter an error because of the link that it doesn't expect to be there."

https://askubuntu.com/questions/461706/is-it-okay-or-not-to-symlink-libraries-to-overcome-cannot-open-shared-object

glibg10b@lemmy.zip · 1 pts · 1h

I think they meant creating the symlink in a local directory and using LD_PRELOAD

jkercher@programming.dev · 3 pts · 17h

Reminds me of when I abused LD_LIBRARY_PATH and installed a Linux from scratch distro on a headless test server that no one was using. I got it all the way to x11 forwarding a full i3 environment without super user privileges.

jpreston2005@lemmy.world · 3 pts · 16h (8 replies)

As a lay-person, reading these memes and comments, and understanding nothing, is probably the biggest factor that's made me decide that, while I hate windows, I'll never feel comfortable using Linux. I mean, seriously, how much of the time are you frustratingly troubleshooting stuff? I just want something like Windows that won't shove ads and ai bullshit at me and won't brick my laptop after updates 😭

Goodlucksil@lemmy.dbzer0.com · 4 pts · 14h

I use Linux Mint since last June and I rarely have to troubleshoot my PC and when I have to, it's obviously my fault for messing around.

Anarki_@lemmy.blahaj.zone · 3 pts · 16h

Fedora, I think?

tomatoely@sh.itjust.works · 3 pts · 16h (1 reply)

If it makes you feel any better, everytime I had to do this was because I was going out of my way to fix a linux game I compiled myself or some service I hacked together. I'm 99% sure you can have a hassle-free linux desktop experience if you follow the standard way your distro suggests of doing things. Have you tried testing the waters with a linux live usb stick yet?

jpreston2005@lemmy.world · 3 pts · 13h

Oh I haven't tried anything yet. I'm too scared I'll fuck it up 😅 Anything that has me loading boot screen and entering commands has me thinking I'll just absent mindedly type "delete system/32" somehow

Damage@feddit.it · 3 pts · 1h (1 reply)

Let's just say that Linux invites tinkering, and there are consequences. If you install a mainstream (fedora), reliable (fedora) distro, and just do normal stuff, it's unlikely you'll encounter more issues than Windows. Or even a tenth of the issues.

glibg10b@lemmy.zip · 2 pts · 1h

For me, the difference between Windows and Linux is that when I encounter a weird issue on Windows, I might decide to give up, while on Linux, I can always dig deeper if I have enough time

cute_noker@feddit.dk · 2 pts · 15h

Haha me neither... i have been daily driving linux 7 years now

savvywolf@pawb.social · 2 pts · 1h

To flip that on it's head, if you do have computer issues, would you rather get help from someone who laughs at these silly memes or a huge ai powered bureaucracy that prioritises upselling and closing tickets?

Solrac@lemmy.world · 3 pts · 19h

What in ln - s good name are you suggesting. Any and all uses of ln - s /usr/lib/something.so.7 /usr/lib/something.so.6 is merely accidental!

x0x7@lemmy.world · 0 pts · 1d (6 replies)

Ubuntu problems. Just use Arch. Then all of your software is from the same era... aka current.

iocase@lemmy.zip · 2 pts · 1d (3 replies)

I dont have this problem on Ubuntu somehow (yet?) Why does it happen to people?

Sxan@piefed.zip · 2 pts · 22h

Lots of software isn't "officially" available for Debian derivatives so þere's more need for side-loading. You may not have encountered it because you haven't yet come across some software you'd like to use which isn't available in an official repos.

pupbiru@aussie.zone · 1 pts · 1d (1 reply)

unlikely if you install from official repos, but it’s a more common occurrence installing random debs or curl totallylegit.ru | bash…. or… installing from rpms :p (which if something only ships via rpm is likely to be enterprise and targeting RHEL rather than fedora, so super old and a non-trivial chance of random patches to libraries)

iocase@lemmy.zip · 1 pts · 1d

Oh that makes sense. I think my instinct would be trying to get something like that running in a container personally. I dont like globally fucking with dependancies to solve one issue locally

MonkderVierte@lemmy.zip · 1 pts · 21h (1 reply)

Also happens on Arch.

nroth@lemmy.world · 2 pts · 20h

Less often though. Way less often