The plan is so clear it’s dumb. The successor they have in mind is the most likely, by their judgment, to agree to something where the US gets the most oil. A corrupt leader is easier to convince to save their own ass.
It’s really frustrating how the Trump family is abusing the presidency to get rich on every front. Qatari jets, golf course deals, building permits, government contracts to companies they’re involved in, and whatever this turns out to be (presumably their key donors will get the contracts to extract and refine Venezuelan oil and minerals).
What’s the solution though? The entire Republican Congress is silent or openly supporting everything Trump does. There is no check and balance to contain Trump. And at the end of four years, he and his family get to keep the billions they gained corruptly with no way to get it back.
I don’t really understand the initial impetus. I like scripting in Python. That’s one of the things it’s good at. You can extremely quickly write up a simple script to perform some task, not worrying about types, memory, yada yada yada. I don’t like using Python as the main language for a large application.
This phrasing sounds contradictory to me. The whole idea of scripts is that there's nothing to install (besides one standard interpreter). You just run them.
> The whole idea of scripts is that there's nothing to install
and yet without fail, when I try to run basically any `little-python-script.py`, it needs 14 other packages that aren't installed by default and I either need to install some debian packages or set up a virtual environment.
Its up to the programmer whether they use external packages or not. I dont ser the problem with setting up a venv, but if this is packaged correctly you could do uv run.
You're hand waving away the core problem - if I'm running someone else's script, it's not up to me if they used external packages or not, and in python using someone else's script that relies on external packages is a pain in the ass because it either leaves setting up a venv and dealing with python's shortcomings up to me, or I have to juggle system packages.
I'm sure uv can handle this _if_ a given script is packaged "correctly", but most random python scripts aren't - that's the issue we're talking about in this thread.
The whole point of a scripting language IMO is that scripts should _just run_ without me doing a bunch of other crap to get the system into some blessed state. If I need to learn a bunch of python specific things, like "just add _pycache_ to all of your .gitignore files in every directory you might run this script", then it isn't a useful scripting language to me.
Anytime I have the need to write a script, I write it myself. When I do this, I like to do it in Python, rather than Go.
I very rarely, if ever, “install” or run other people’s scripts. Because typically, a script is a specialized piece of code that does something specific the user was trying to do when they wrote it.
However, I do often install applications or libraries written by other people in Python. Typically, I don’t have a problem, but sometimes I run into dependency hell. But this is something different than me just writing scripts. For scripting, Python is great.
Inline script metadata itself is not tied to uv because it's a Python standard. I think the association between the two comes from people discovering ISM through uv and from their simultaneous rise.
pipx can run Python scripts with inline script metadata. pipx is implemented in Python and packaged by Linux distributions, Free/Net/OpenBSD, Homebrew, MacPorts, and Scoop (Windows): https://repology.org/project/pipx/versions.
Perhaps a case for standardizing on an executable name like `python-script-runner` that will invoke uv, pipx, etc. as available and preferred by the user. Scripts with inline metadata can put it in the shebang line.
I get the impression that others didn't really understand your / the OP's idea there. You mean that the user should locally configure the machine to ensure that the standardized name points at something that can solve the problem, and then accepts the quirks of that choice, yes?
A lot of people seem to describe a PEP 723 use case where the recipient maybe doesn't even know what Python is (or how to check for a compatible version), but could be instructed to install uv and then copy and run the script. This idea would definitely add friction to that use case. But I think in those cases you really want to package a standalone (using PyInstaller, pex, Briefcase or any of countless other options) anyway.
> You mean that the user should locally configure the machine to ensure that the standardized name points at something that can solve the problem, and then accepts the quirks of that choice, yes?
I was thinking that until I read the forum thread and Stephen Rosen's comments. Now I'm thinking the most useful meta-runner would just try popular runners in order.
Neat. Of course it doesn't have much value unless it's accepted as a standard and ships with Python ;) But I agree with your reasoning. Might be worth reviving that thread to talk about it.
You don't understand the concept of people running software written by other people?
One of my biggest problems with python happens to be caused by the fact that a lot of freecad is written in python, and python3 writes _pycache_ directories everywhere a script executes (which means everywhere, including all over the inside of all my git repos, so I have to add _pycache_ to all the .gitignore ) and the env variable that is supposed to disable that STUPID behavior has no effect because freecad is an appimage and my env variable is not propagating to the environment set up by freecad for itself.
That is me "trying to install other people's scripts" the other people's script is just a little old thing called FreeCAD, no big.
> That is me "trying to install other people's scripts" the other people's script is just a little old thing called FreeCAD, no big.
What I don't understand is why you call it a "script".
> and python3 writes _pycache_ directories everywhere a script executes (which means everywhere, including all over the inside of all my git repos, so I have to add _pycache_ to all the .gitignore )
You're expected to do that anyway; it's part of the standard "Python project" .gitignore files offered by many sources (including GitHub).
But you mean that the repo contains plugins that FreeCAD will import? Because otherwise I can't fathom why it's executing .py files that are within your repo.
Anyway, this seems like a very tangential rant. And this is essentially the same thing as Java producing .class files; I can't say I run into a lot of people who are this bothered by it.
This is 99% of the complaints in these threads. "I had this very specific problem and I refuse to handle it by using best practise, and I have not used python to anything else, but I have very strong opinions".
I've had many problems with many python scripts over the many years. Problems that I did not have with other scripts from other ecosystems. And that's just sticking to scripts and not languages in general.
A random sh script from 40 years ago usually works or works with only the tiniest adjustment on any current system of any unix-like.
A random py script from 6 months ago has a good chance of not working even on the same system let alone another system of the same platform, let alone another system of a different platform.
Now please next by all means assume that I probably am only complaining about the 2->3 trasition and nothing that actually applies since 15 years ago.
It seems to be Linux specific (does it even work on other unix like OSes?) and Linux usually has a system Python which is reasonably stable for things you need scripting for, whereas this requires go to be installed.
You could also use shell scripting or Python or another scripting language. While Python is not great at backward compatibility most scripts will have very few issues. Shell scripts are backward compatible as are many other scripting languages are very backward compatible (e.g. TCL) and they areG more likely to be preinstalled. If you are installing Go you could just install uv and use Python.
The article does say "I started this post out mostly trolling" which is part of it, but mostly the motivation would be that you have a strong preference for Go.
It’s not worse, but Python has better batteries out of the box. Toml, csv, real multi-threading (since 3.13), rudimentary gui, much better repl (out of the box and excellent, installable ipython), argparse and a lot more.
This is more than just trivially true for Python in a scripting context, too, because it doesn’t do things like type coercion that some other scripting languages do. If you want to concat an int with a string you’ll need to cast the int first, for example. It also has a bunch of list-ish and dict-ish built in types that aren’t interchangeable. You have to “worry about types” more in Python than in some of its competitors in the scripting-language space.
I did find that troubling too. I can see the logic of a short lived / well funded project using nextjs, but for something like this that's meant to be a simple form that needs to be reliable, easy to maintain, and long lived, my first thought would be to make a classic restful MPA. Introduction of a complex frontend framework like next seems like it would lead to more headaches than it's worth. Had similar thoughts about the Azur vendor lockin. I seriously doubt they had the traffic to justify needing something like Azur functions and batch processing. I'd love to hear some more justification for why they choose this stack, and if they considered any alternatives first.
If it was really down to two engineers, it's almost certainly what one or both of them were already comfortable or familiar with and no other reason. Six months is such a short time frame for long term projects like this that I imagine they could not spare much time for analysis of alternatives.
If you're comfortable with nextjs, you should be even more comfortable with a nodejs SSR application. It's the same thing, but simpler. The HTML doesn't even have to be pretty. We're really just querying a DB, showing forms, and saving forms. Hell, use PHP if you want.
Yeah but there was no lock; somebody put a box around the doorknob without anything holding it there, and somebody removed the box and opened the door.
The whole “simulation hypothesis” thing has always irked me. To me, the question of whether our universe was [“intentionally” “created” by some other “being(s)”] vs [“naturally” happened] is meaningless. Whatever it was on the other side is way too insanely unfathomable to be classified into those 2 human-created ideas. Ugh the whole thing is so self-centered.
It appeals to sophomoric modern atheists who can't comprehend that infinity and nothing exists at the same time. People seek a reason "why" not realizing the question is the answer. The universe exists because 'why not?' because Infinity seeks to prevail over nothing. Nothing strikes at the heel of infinity. The truth is not in these lines or that theory but betwixt here and there and once "you" realize it, it realizes "you." Because it is you and you are it for it is itself. This may sound like my mumbo jumbo woo but once you know it knows you know it knows you know.
You're not unititiated you're just testing the hypothesis. That things—including yourself—seek meaning is the meaning. Math is language, language is math as LLMs are showing us.
Came here to say most of this, also worth calling out the note at the bottom:
> Note: This research was presented as an abstract at the ACS Clinical Congress Scientific Forum. Research abstracts presented at the ACS Clinical Congress Scientific Forum are reviewed and selected by a program committee but are not yet peer reviewed.
My guess is when it gets to peer review, one of the reviewers will request at least mentioning these limitations. As it was only an abstract, it’s possible the paper itself does mention these limitations already as well.
Error tolerance in this context means the parser produces a walkable AST even if the input code is syntactically invalid, instead of just throwing/reporting the error. It’s useful for IDEs, where the code is often in an invalid state as the developer is typing, but you still want to be able to report diagnostics on whatever parts of the code are syntactically valid.
reply