Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
mystes
May 31, 2006

Finster Dexter posted:

Is it overreacting to put my foot down and make a rule about not allowing any more loving python code into our platform going forward?

https://jfrog.com/blog/malicious-pypi-packages-stealing-credit-cards-injecting-code/

I mean jfc


Ok, you can use node instead.

Adbot
ADBOT LOVES YOU

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
maven nuget gems and npm have also had those. bottom line is that you cant trust it just cuz its a package, not that python idiosyncratically sucks

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
how about a rule against depending on packages with stupid names

perhaps you're underreacting. the problem is not knowing all the code you're ultimately responsible for. and/or not pinning versions. ban all dependencies and you solve both problems

12 rats tied together
Sep 7, 2006

what kind of platform do you have where you can just say "im putting my foot down. no more python" and it doesnt immediately destroy the business

Bloody
Mar 3, 2013

what kind of platform do you have where it does lol

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


I only use packages with hundreds of thousands of downloads to mitigate against my personal creds being stolen

also because then I can say "b b b but everyone else was doing it"

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



lmao if you even process credit cards anywhere on your platform

e: we do have some login poo poo but i think thats 0auth or whatever, its not my dept

FlapYoJacks
Feb 12, 2009
Why the hell would you not freeze your dependencies and store them in the project? EVERY TIME this happens it's the same dumbass fuckup from the engineers blindly pulling their dependencies from the package manager instead of saving the package to source.

Bloody
Mar 3, 2013

why store them in the project when you can just transparently use artifactory as your package source + use lockfiles

12 rats tied together
Sep 7, 2006

Bloody posted:

what kind of platform do you have where it does lol

a python one


just read the article and yea if your platform leaked credit cards because you put the package "noblesse 0.0.6 This Module Optimises your PC For Python" into production and it found credit cards in chrome's local AppData folder, you deserved it

animist
Aug 28, 2018

pokeyman posted:

how about a rule against depending on packages with stupid names

that's pretty much the same as forbidding dependencies

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

12 rats tied together posted:

a python one


just read the article and yea if your platform leaked credit cards because you put the package "noblesse 0.0.6 This Module Optimises your PC For Python" into production and it found credit cards in chrome's local AppData folder, you deserved it

Yeah but it's not just adding that package, it's all the downstream dependencies of dependencies etc.

And even if my entire platform were python, we would just do all new dev in "something else". I hear rust is good (tee hee)

Our platform is microservice nonsense, so it's easy to not use python for any more services. We've had discussions around it. But yeah, I'm not hyped about npm or nuget, either. I'm slowly turning into a package hypochondriac. These packages are full of disgusting gerrrrms I must be clean

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
rust will not solve this problem

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

bob dobbs is dead posted:

rust will not solve this problem

yeah that was the joke

I'm terrible at jokes though, much like my programming

Bloody
Mar 3, 2013

packages are not magic they are just other peoples code

FlapYoJacks
Feb 12, 2009

Bloody posted:

packages are not magic they are just other peoples code

So black magic. Got it.

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:
We just use Debian distro packages. If the dependency you want to introduce hasn't managed to get into Debian, you probably shouldn't be using it.

vanity slug
Jul 20, 2010

i also love using the same versions of packages my grandfather used back in his day

FlapYoJacks
Feb 12, 2009
I use packages provided by Buildroot. You can even commit said packages and their dependencies in the download folder. You can even use buildroot to make containers if you want. And you get the added benefit of being able to support a bunch of different platforms.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


every time I start this project in debug I have to wait while it tries to pull symbols from some ancient file share some dev hosted his garbo DLLs on and I am too lazy to work out what's doing it to stop it

python works the same way I guess

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


me pushing artefacts to the repository: wow this code is garbage but it works so push it who cares

me downloading artefacts written by someone else from the repository: well this loving sucks what the gently caress

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

animist posted:

that's pretty much the same as forbidding dependencies

well that would be a crying shame

also yeah vendor your poo poo and pin your exact versions. "semantic" "versioning" only exists in elm

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



i had to run npm install 20+ times today (i lost count after i started just chaining the command w semicolons and checking back every 10-15 minutes to run it 4 more times) cause it kept failing on file permission errors that didnt make sense

literally every time i ran it again, itd get a bit further* but fail on a different item, which then worked on the next run

all package managers are bad, but npm takes the cake in my experience


* theres no real indication either, so i just checked node_modules and could tell like oh, it got to stuff that starts with g before, and now we're at j

Carthag Tuek fucked around with this message at 18:07 on Jul 30, 2021

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



also, loving one function packages

"is-absolute-url"???

absolutely mental

mystes
May 31, 2006

bob dobbs is dead posted:

maven nuget gems and npm have also had those. bottom line is that you cant trust it just cuz its a package, not that python idiosyncratically sucks
Yeah it has nothing to do with the language. Any time you use packages by random people you're inherently going to have the same problem. I think npm is more famous for this kind of problem though.

toiletbrush
May 17, 2010

Carthag Tuek posted:

all package managers are bad, but npm takes the cake in my experience
anyone who's had to janitor a private nuget repo might disagree

loads of undocumented, surprising behaviour, loads of bugs, loads of weird incompatibilities and couplings, and loads of ways to do exactly the same thing, but none of them complete, each missing just that bit of functionality you need that all the other ways have but you can't use because of the first three reasons

CarForumPoster
Jun 26, 2013

⚡POWER⚡
oops

Antigravitas
Dec 8, 2019

Die Rettung fuer die Landwirte:

Jeoh posted:

i also love using the same versions of packages my grandfather used back in his day

That's definitely a feature, yes. If it doesn't have a maintainer or if it's too new I don't want it as a dependency, and the last thing I want to do is janitor dependencies.

You just wait, this way of doing it is going to become the next big trend again.

FlapYoJacks
Feb 12, 2009

Jeoh posted:

i also love using the same versions of packages my grandfather used back in his day

gently caress this old library! I need a new bespoke library that implements the same features as the old library but without documentation and the backing of the rest of the community!

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



toiletbrush posted:

anyone who's had to janitor a private nuget repo might disagree

loads of undocumented, surprising behaviour, loads of bugs, loads of weird incompatibilities and couplings, and loads of ways to do exactly the same thing, but none of them complete, each missing just that bit of functionality you need that all the other ways have but you can't use because of the first three reasons

what does private repo mean in nuget context, cause i read all that as the known issue of your own orgs code being garbage which is a constant factor regardless of package management

12 rats tied together
Sep 7, 2006

you should be able to use new poo poo but if your entire commitment to the process is "apt-get update -> hope its in there" i agree you should get the old poo poo by default. epel being optional is good, for instance

12 rats tied together
Sep 7, 2006

Carthag Tuek posted:

what does private repo mean in nuget context, cause i read all that as the known issue of your own orgs code being garbage which is a constant factor regardless of package management

i assume they mean the software that hosts code artifacts that are available over nuget, for example, i have in the past clicked "new nuget bullshit" buttons in sonatype nexus repo manager.

it was bad, but im not a career windows janitor, so i can't tell if it's bad in the normal ways that windows poo poo is bad or if it's extra bad in some special ways

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



12 rats tied together posted:

i assume they mean the software that hosts code artifacts that are available over nuget, for example, i have in the past clicked "new nuget bullshit" buttons in sonatype nexus repo manager.

it was bad, but im not a career windows janitor, so i can't tell if it's bad in the normal ways that windows poo poo is bad or if it's extra bad in some special ways

but if its a private repo, its not upstreams problem when its hosed up

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


12 rats tied together posted:

i assume they mean the software that hosts code artifacts that are available over nuget, for example, i have in the past clicked "new nuget bullshit" buttons in sonatype nexus repo manager.

it was bad, but im not a career windows janitor, so i can't tell if it's bad in the normal ways that windows poo poo is bad or if it's extra bad in some special ways

yeah it's this. We host a Nexus instance and you can create NuGet format repos in it, just add a nuspec files to your solution, pack it and upload and (once you add the internal repo as a source) you can then reuse internal libs without having you solution fail because it can't find \\butts\fart\libs\boners.final.dll

it's actually really easy to do once you've got it up an running. you just use the Nexus POM params to id the package and you can create dependencies between packages in the nuspec xml

FlapYoJacks
Feb 12, 2009
Every project should be able to build all the dependencies from source. Stuffing binary files in a project is just asking for headaches and trouble.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



idk that still doesnt sound like a package manager issue, like you either need to moderate your private repo so its not just a dumb cache/mirror of public repos (why even have it private then?) or you need to make your devs not put garbage homebrew in there

12 rats tied together
Sep 7, 2006

in this case it would specifically be the mechanism by which the packages are made available, the integration with your solution file and IDE, etc., that is bad. the code that is hosted can be bad too but that is distinct from this

the only fair comparison here would be to another language's package manager like pipenv, which i think is better, but i hate visual studio and everything to do with it so ymmv

e: actually there's probably tons of windows bullshit that you could compare to that would be worse. back in the day i used to manually install poo poo into the gac in production. nuget is probably better than that

12 rats tied together fucked around with this message at 20:34 on Jul 30, 2021

fourwood
Sep 9, 2001

Damn I'll bring them to their knees.

DoomTrainPhD posted:

Every project should be able to build all the dependencies from source. Stuffing binary files in a project is just asking for headaches and trouble.
would be nice but sometimes there’s no real way around it

but yes it’s headaches all the way down

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



12 rats tied together posted:

in this case it would specifically be the mechanism by which the packages are made available, the integration with your solution file and IDE, etc., that is bad. the code that is hosted can be bad too but that is distinct from this

the only fair comparison here would be to another language's package manager like pipenv, which i think is better, but i hate visual studio and everything to do with it so ymmv

e: actually there's probably tons of windows bullshit that you could compare to that would be worse. back in the day i used to manually install poo poo into the gac in production. nuget is probably better than that

im not defending nuget or whatever

im saying if you run a private repo, its your responsibility when the code is bad

upstream code is obviously bad, and inhouse code is obviously bad, but as the maintainer of the private repo you assume the responsibility and from then on you cant blame it on a package manager script that selects from whatever you provide

Adbot
ADBOT LOVES YOU

Shaggar
Apr 26, 2006
if ur using azure dev ops you can setup a repo that will auto cache dependencies from central/nuget so you can still import a billion dependencies but at least they'll be statically available.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply