Live data from Hacker News

No Python interpreter? this simple RAT installs its own copy

isc.sans.edu

51–60 of 62 posts

Re: No Python interpreter? this simple RAT installs its own copy

#51
post #19

Earlier quoted context omitted.

Shipping your own runtimes as part of heavy application isn't that unusual or limited to Python, especially in the Windows world. For example, JetBrains ships its own Java runtime for all of its IDEs. In fact, the Python world would be simplified if "ship your own runtime and env" as part of your final application was the norm. The Python runtime and stdlib by itself is like 20-30MB packaged up or something. For cert…

> For example, JetBrains ships its own Java runtime for all of its IDEs. That's actually the recommended way for Java applications nowadays. There is no official current JRE for end-users to download anymore - the newest version you can download from Oracle is 8 update 281. JDK is currently at version 16.

I'm not familiar with Java programming.

Does this mean that Oracle has decided that Java 8 is the last consumer version of Java?

Or like you've said that applications shouldn't use the OS level java installation?

Re: No Python interpreter? this simple RAT installs its own copy

#52
post #51
post #19

Earlier quoted context omitted.

> For example, JetBrains ships its own Java runtime for all of its IDEs. That's actually the recommended way for Java applications nowadays. There is no official current JRE for end-users to download anymore - the newest version you can download from Oracle is 8 update 281. JDK is currently at version 16.

I'm not familiar with Java programming. Does this mean that Oracle has decided that Java 8 is the last consumer version of Java? Or like you've said that applications shouldn't use the OS level java installation?

The latter. To ship Java applications it is recommended now that you build a custom bundle instead of relying on the system Java.

Re: No Python interpreter? this simple RAT installs its own copy

#53

Earlier quoted context omitted.

The C language may be complex to setup an environment. But once you have the build system complete, there are mature tools to create and distribute your artifacts. That is not the case with Python.

Python is downstream of C. Anyway you can package a C application, you can package a Python application (with some massaging). But still, python has no mature tools for distribution? From wheels to pyinstaller to Kivy, you're just wrong.

> Anyway you can package a C application, you can package a Python application

While true, this means that packaging Python is harder than a typical C application, and requires knowledge of the C building process. That's not what people have in mind when installing Python software.

The methods you mention are exactly the reason why it is so complicated. Everyone wants to use their own method to install Python software.

Re: No Python interpreter? this simple RAT installs its own copy

#54

Earlier quoted context omitted.

Agreed. Python is one of the worst languages in the sense of packaging and distributing code. It is incredible how bad they manage to make the whole process. And it is not for lack of effort, they have attempted several things, but the end result is complete confusion. Every year they come with a new way to solve the packaging problem, but in the end the result is just more complexity.

It won't ever be fixed until Python C API remains in it's current form. The problem aren't pure python extension, but you can't do anything sane once part of your application is not Python.

I'm sure this is part of the issue, but packaging even pure python modules is harder and more confusing than necessary. I've been saying this at least since I left for the relatively greener pastures of Node nearly a decade ago. Python fans have always had plenty of advice ready to contradict my impressions, but their advice has changed a great deal over the years. That whole time, "npm publish" has just worked, when it's even necessary at all. Node just works better.

Re: No Python interpreter? this simple RAT installs its own copy

#55
post #12

Earlier quoted context omitted.

> quite pesky I've never had a bigger packaging nightmare than for Python and at this point I've worked with a substantial spread of available languages. It's simply embarrassing, especially because I used to like recommending it to people.

One of the main reasons I xnay any deployment of any python code to any production environments ever. It's sad and embarassing.

>xnay

Just FYI it's actually ixnay which is Pig Latin for nix, which of course means to cancel or pre-empt.

Re: No Python interpreter? this simple RAT installs its own copy

#56
post #24

Earlier quoted context omitted.

Also, when they ship a dosbox game, the installation includes not only dosbox, but a zip file of the dosbox source code. ...and strangely - I don't know if this is only the mac version - they randomly include the manual for a PC game called Harvester /Extras/dosbox/dosbox_svn.zip ... /Extras/Manual.pdf

I only own a couple of DosBox games (Duke 3D, Ultima: Worlds of Adventure 2: Martian Dreams), and whilst both include the source on Windows (dosbox-0.74-2.1.tar.gz), I can't find any manuals that look out of place. The DMG for the Mac version of Duke 3D doesn't appear to include the source or a Harvester manual, though it seems to be based on Boxer, not just DosBox. The Mac PKG for Ultima does have the source (dosbox…

Try downloading a free game.

I found and downloaded Jill of the Jungle, which is a free game that uses dosbox and is available on mac.

after you install the game, check out

  /Jill of the Jungle The Complete Trilogy.app/Extras/Manual.pdf

By the way, I've never seen them shipping boxer, although I have moved some games to boxer because it is much more in-tune with macos. It's really good if you have midi roms.

Re: No Python interpreter? this simple RAT installs its own copy

#57
post #24
post #2

CD Projekt's GoG client has a feature where users can write Python extensions [0] for third party account integrations. To enable this, they ship an entire Python interpreter alongside the app binary [1]. I guess this kind of makes sense, it is way easier than having users manage their own `venv`s and other Python environment stuff. Packaging Python apps for distribution outside of a Python development context is qui…

Also, when they ship a dosbox game, the installation includes not only dosbox, but a zip file of the dosbox source code. ...and strangely - I don't know if this is only the mac version - they randomly include the manual for a PC game called Harvester /Extras/dosbox/dosbox_svn.zip ... /Extras/Manual.pdf

That game is very strange and unnerving. I did not like it.

Re: No Python interpreter? this simple RAT installs its own copy

#58

Earlier quoted context omitted.

I'm having a hard time deciding which DND alignment would fit that. Probably chaotic evil.

Sounds more of a lawful evil to me!

This person also probably pays their criminal taxes.

https://en.wikipedia.org/wiki/Taxation_of_illegal_income_in_...

Re: No Python interpreter? this simple RAT installs its own copy

#59
post #51

Earlier quoted context omitted.

I'm not familiar with Java programming. Does this mean that Oracle has decided that Java 8 is the last consumer version of Java? Or like you've said that applications shouldn't use the OS level java installation?

The latter. To ship Java applications it is recommended now that you build a custom bundle instead of relying on the system Java.

Post version 8 work was done to modularise core Java. You can now generate a stripped down custom run time to bundle with your application:

https://www.baeldung.com/jlink

Re: No Python interpreter? this simple RAT installs its own copy

#60
post #2

CD Projekt's GoG client has a feature where users can write Python extensions [0] for third party account integrations. To enable this, they ship an entire Python interpreter alongside the app binary [1]. I guess this kind of makes sense, it is way easier than having users manage their own `venv`s and other Python environment stuff. Packaging Python apps for distribution outside of a Python development context is qui…

GOG Galaxy 2.0 is also an Electron app, so it bundles the whole Chromium as well. The whole app is over 100 MB IIRC, but nobody cares since you'll be using it to download 100 GB games anyway. (On a side note, I highly recommend it if you play games and have them on different PC platforms - Steam, Epic, GOG, UPlay... The plugin system is unique and fantastic.)

What's the memory usage like? I don't think Electron is a good choice for a program designed to be run in parallel to demanding other programs like games.
Post reply on HN