9 ms·
There is nothing I dread more within the general context of software development, broadly, than trying to run other people's Python projects. Nothing. It's shoc
by caconym_ 1y ago
There is nothing I dread more within the general context of software development, broadly, than trying to run other people's Python projects. Nothing. It's shocking that it has been so bad for so long.
- hardwaregeek 1y agoNever underestimate cultural momentum I guess. NBA players shot long 2 pointers for decades before people realized 3 > 2. Doctors refused to wash their hands before doing procedures. There’s so many things that seem obvious in retrospect but took a long time to become accepted
- brailsafe 1y ago[flagged]
- trueismywork 1y agoPeople in Europe spents years with people dying due to heat stress before they discovered ACs....
- PaulDavisThe1st 1y agoThis isn't really true. Heat stress deaths in Europe are comparitively rare, or were until urbanization and climate change became bigger factors.
- miroljub 1y agoUrbanisation.
- 867-5309 1y agopython uv
- maneesh 1y agoI mean, more Europeans die from heat issues than Americans from guns. https://www.chicagotribune.com/2025/07/28/opinion-us-heat-death-prevention/ https://www.chicagotribune.com/2025/07/28/opinion-us-heat-de...
- ciupicri 1y ago> This content is not available in your region I guess Europeans will never find out how great the US is :-)
- PaulDavisThe1st 1y agoGood article, thanks (I've actually read it before, but forgot the overall stats).
- seanw444 1y agoThey still do. More Europeans die every year from heat-related injuries than Americans do from guns.
- anthk 1y agoSpaniard here. Don't lecture Southern Europeans on surviving heat when the church of the village of my parents predates America itself (and it's pretty fresh inside in Summer).
- terminalshort 1y agoAlways sucks when you're arguing with someone and it turns out the buildings in their town are older than yours. Sometimes you just gotta take the L.
- johnisgood 1y agoI've wanted an AC, but I cannot get one. This apartment is just not equipped for it, it literally cannot handle multiple ACs (the cables are old, yadda yadda). And you have to get lots of permits to have an AC installed legally. If you do not have a permit, you will have to pay a really hefty fee when the inspectors come. So yeah, buying an AC is what most people would do, but they do not because of the damn permits they most likely will not get. It is a shitty situation.
- DarmokJalad1701 1y agoPeople in Europe spent years walking to the store everyday for food until they discovered that mechanical refrigeration exists...
- supportengineer 1y agoBad example. Walking to the store everyday for fresh food would be a drastic improvement for most Americans.
- CharlieDigital 1y agoSomething I think that goes underappreciated: in many parts of the world, the food supply chain is shorter and the food is fresher to begin with. You're not meant to shop for 14 days at a time; you're meant to go more frequently and get what you need, fresh.
- tialaramex 1y agoThe refrigerator is a relatively modern invention. There's always been a refrigerator for me, but as a child my mother sometimes stayed with people who didn't own one and for her mother they were a new invention many people didn't have. Actually this idea of just buying things at "the store" is relatively new too. Historically people would make more things themselves, and more food would be purchased directly from farmers who had grown it.
- rustystump 1y agoWrong kind of cheek my friend
- IMTDb 1y agoUsually when someone comes with that argument, I ask them to pick any week date in the past year and then I take a random item on my calendar on that day; I give them the time and address of where I need to be as well as the address of my home and I ask them how long it's going to take me and how much it's going to cost. That's usually enough to bring them down a notch from "train work" to "sometimes train work". (But they tend to forget very often, they need to be reminded regularly for some reason). Do you want to play that game with me to get your reality check in order ? Western Europe in a VERY dense city BTW.
- dpc050505 1y agoI'll happily play your game with a bicycle.
- ipaddr 1y agoGreat lets pick Canada in January. Bring a shovel.
- nickserv 1y agoThey don't clear snow from cycle paths in Canada? If not then it's an infrastructure problem, not a weather problem.
- aziaziazi 1y agoSound like a German saying : > there’s no weather problems, there’s clothing problems
- refactor_master 1y agoJust to add a less opinionated take: https://www.citymonitor.ai/analysis/why-winter-is-a-poor-argument-against-bike-lanes/ https://www.citymonitor.ai/analysis/why-winter-is-a-poor-arg... Personally I've also biked to work (and everywhere, really) in sub-zero degrees many times, because the bicycle lanes are cleared and salted. It's really not too bad. It actually gets a bit too hot even, because you start out by wearing so much.
- bongodongobob 1y agoYeah all you need to do is raze and rebuild every city in America and it will work great!
- brailsafe 1y agoWell, there is precedent...
- MobiusHorizons 1y agoThis is not people’s fault individually, but rather in aggregate (ie government). The places that have good train infrastructure that is legitimately an alternative to driving are very few and far between in the US. It’s just not an option for most people. And people can’t just all move to the places where it is an option, because housing and jobs are already strained in those places negating many of the benefits.
- taneq 1y agoHave you considered that the repeated attempts to reinvent what's basically trains are not, in fact, evidence that people don't know about trains, but evidence that people like the advantages of trains but that the downsides suck so bad that people will pay literally tens of thousands of dollars a year to avoid them?
- ipaddr 1y agoPeople paid 100x more for their hosting when using aws cloud until they realized they never neded 99.97% uptime for their t-shirt business. Oh wait too soon. Save for post for the future.
- sethops1 1y agokubernetes
- frde_me 1y agoPeople spent half their job figuring out self hosted infrastructure until they realized they rather just have some other company deploy their website when they make a commit.
- terminalshort 1y agoPeople paid only 100x more than self hosting to use AWS until they realized that they could get a better deal by paying 200x for a service that is a wrapper over AWS but they never have to think about since it turns out that for most businesses that 100x is like 30 bucks a month.
- deleted 1y ago[deleted]
- tehnub 1y ago>NBA players shot long 2 pointers for decades before people realized 3 > 2 And the game is worse for it :')
- terminalshort 1y agoThis is a fundamental problem in sports. Baseball is going the same way. Players are incentivized to win, and the league is incentivized to entertain. Turns out these incentives are not aligned.
- jancsika 1y ago> Players are incentivized to win, and the league is incentivized to entertain. Players are incentivized to win due to specific decisions made by the league. In Bananaball the league says, "practice your choreographed dance number before batting practice." And those same athletes are like, "Wait, which choreographed dance number? The seventh inning stretch, the grand finale, or the one we do in the infield when the guy on stilts is pitching?" Edit: the grand finale dance number I saw is both teams dancing together. That should be noted.
- terminalshort 1y agoSure. There's a market for that. But the NBA sells a lot more tickets than the Harlem Globetrotters.
- kbenson 1y agoBut that's a matter of scale. When I was a child, the Harlem Globetrotters were far more more famous than any 3-4 NBA teams combined. They were in multiple Scooby Doo movies/episodes. They failed tp scale the model, but wrestling didn't.
- jancsika 1y agoWould be very curious about, say, the worst MLB team's ticket sales vs. the Savannah Bananas.
- peterfirefly 1y agoThey did wash their hands. Turns out that soap and water wasn't quite enough. Lister used carbolic acid (for dressing and wound cleaning) and Semmelweis used chlorinated lime (for hand washing).
- msla 1y agoAnd Semmelweis is a perfect case against being an asshole who's right: He was more right than wrong (he didn't fully understand why what he was doing helped, but it did) but he was such a horrible personality and such an amazing gift for pissing people off it probably cost lives by delaying the uptake of his ideas. But this is getting a bit off topic, I suppose.
- llanowarelves 1y agoOr you could say it the other way around: Even leading scientists are susceptible to letting emotions get the best of them and double-down defending their personal investments into things. "A scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die and a new generation grows up that is familiar with it." - Max Planck.
- Ferret7446 1y agoThat was later; earlier in history doctors (or "doctors" if you so insist) did not wash their hands.
- peterfirefly 1y agoI was mainly pushing back on the idea that something as seemingly obvious as hand washing was the thing that made surgery safe. It took quite a bit more than just simple hand washing.
- hrimfaxi 1y agoWas soap often used prior to the mid 1800s?
- hshdhdhehd 1y agoHey and you can use both lanes in a zip merge!
- eru 1y agoIsn't that the law anyway? Morale: follow the rules.
- RobertoG 1y agopfff... "other people projects".. I was not even able to run my own projects until I started using Conda.
- lynndotpy 1y agoI was into Python enough that I put it into my username but this is also my experience. I have had quasi-nightmares about just the bog of installing a Python project.
- Multicomp 1y agoI agree with you wholeheartedly, besides not preferring dynamic programming languages, I would in the past have given python more of a look because of its low barrier to entry...but I have been repulsed by how horrific the development ux story has been and how incredibly painful it is to then distribute the code in a portable ish way. UV is making me give python a chance for the first time since 2015s renpy project I did for fun.
- acomjean 1y agoYou aren’t kidding. Especially if it’s some bioinformatics software that is just hanging out there on GitHub older than a year…
- throwaway2037 1y agoDo you think bioinformatics libs written in C++ do not have the same issues?
- deleted 1y ago[deleted]
- acomjean 1y agoThey’re weren’t that many that weren’t pre compiled for Linux in the c++ world. Python is bad, but others have issues too. C/C++ often had to compile used “make” which I’ll admit to being better at the conda/pip. I suspect this is because the c/c++ code was developed by people with a more comp Sci background. Configure/make/make install..I remember compiling this one. https://mafft.cbrc.jp/alignment/software/source.html https://mafft.cbrc.jp/alignment/software/source.html If the software made it biogrids life was easier https://biogrids.org/ https://biogrids.org/ But a lot of the languages had their own quirks and challenges (Perl cpan, Java…). Containerization kinda helps.
- caycep 1y agoI mean, I think this is par for the course by anything written by a grad student. Be thankful it's not written in matlab
- tomaskafka 1y agoSo many times I have come onto a library or tool that would fix my problem, and then realized “oh crap, it’s in Python, I don’t want to spend few hours building a brittle environment for it only for that env to break next time I need to use it” - and went to look for a worse solution in better language.
- ghusto 1y agoI really don't get this. I can count on no hands the number of times I've had problems simply going "pip install cool-thing-i-found". Sure, this is just my experience, but I use Python a lot and use a lot of tools written in Python.
- dragonwriter 1y agoRecently (like for several years), with most packages providing wheels for most platforms, it tends to be less of a problem of things actually working, except for dependencies where the platform specifiers used by Python are insufficient to select the right build of the dependency, like PyTorch.
- wongarsu 1y agoIf you can install it with `pip install program-name` it's usually packaged well enough to just work. But if it's a random github repository with a requirements.txt with no or very few version numbers chances are that just running `pip install -r requirements.txt` will lead you down an hour+ rabbit hole of downgrading both your venv's python version and various packages until you get a combination that is close enough to the author`s venv to actually work Usually happens to me when I find code for some research paper. Even something that's just three months old can be a real pain to get running
- optionalsquid 1y agoI don't disagree with you, but in my experience even having a requirements.txt file is a luxury when it comes to scientific Python code: A lot of the time I end up having to figure out dependencies based purely on whatever the script is importing
- lacker 1y agoThe only thing I dreaded more was trying to run other people's C++ projects.
- peterfirefly 1y agovcpkg seems to help a lot there, at least for Windows code and msbuild/Visual Studio.
- oivey 1y agoWhich means you’re already generally in worse shape than Python. At least Python’s half baked packaging systems try to be multi-platform.
- peterfirefly 1y agovcpkg is also multi-platform (Linux, macOS). I just haven't used it for any of those yet.
- the__alchemist 1y agoSame! And Python was my first, and is currently my second-highest-skill language. If someone's software's installation involves Python, I move on without trying. It used to be that it would require a Python 2 interpreter. Honorable mention: Compiling someone else's C code. Come on; C compiles to a binary; don't make the user compile.
- optionalsquid 1y agoThere's a lot more involved in distributing C (and C++) programs than just compiling them: I'm assuming a Linux based system here, but consider the case where you have external dependencies. If you don't want to require that the user installs those, then you gotta bundle then or link them statically, which is its own can of worms. Not to mention that a user with an older glibc may not be able to run your executable, even if they have your dependencies installed. Which you can, for example, solve by building against musl or a similar glibc alternative. But in the case of musl, the cost is a significant overhead if your program does a lot of allocations, due to it lacking many of the optimizations found in glibc's malloc. Mitigating that is yet another can of worms. There's a reason why tools like Snap, AppImage, Docker, and many more exist, each of which are their own can of worms
- the__alchemist 1y agoYea def. I think Linux's ABI diaspora and the way it handles dependencies is pain, and the root behind both those distro methods you mention, and why software is distributed as source instead of binaries. I contrast this with Rust. (And I know you can do this with C and C++, but it's not the norm: - Distribute a single binary (Or zip with with a Readme, license etc) for Windows - Distribute a single binary (or zip etc) for each broad Linux distro; you can cover the majority with 2 or 3. Make sure to compile on an older system (Or WSL edition), as you generally get forward compatibility, but not backwards. - If someone's running a Linux distro other than what you built, they can `cargo build --release`, and it will *just work*.
- optionalsquid 1y ago
- TheCondor 1y agoHow about shipping one? Like even just shipping some tools to internal users is a pain
- luckydata 1y agoThe python community was in profound denial for a very long time.
- LtWorf 1y agoJust stick to what's in your linux distribution and you've got no problems.
- esseph 1y agoNo need, run python as a container. No need to mix what's installed on the hostOS. https://hub.docker.com/_/python https://hub.docker.com/_/python
- 1oooqooq 1y agothis manages to be even worse. since it's setup full of holes to usable (eg reaching out on the filesystem), you get the worst of random binaries without isolation, plus the dead end for updates you get in practice when dealing with hundreds of containers outside of a professionally managed cluster.
- esseph 1y agoActually, you get better isolation and resource restrictions due to cgroups v2, no mixture with host packages, and the full library stack ships with the application. When the application container is updated, so are the associated packages.
- intalentive 1y agoI used to think this sentiment was exaggerated. Then I tried installing Dots OCR. What a nightmare, especially when NVIDIA drivers are involved.
- zippergz 1y agoI dread running my own Python projects if I haven't worked with them in a while.
- zelphirkalt 1y agoThat's because many people don't pay attention to reproducibility of their developed software. If there is no lock file in a repo that nails the exact versions and checksums, then I already know it's likely gonna be a pain. That's shoddy work of course, but that doesn't stop people from not paying attention to reproducibility. One could argue, that this is one difference between npm and such, and what many people use in the Python ecosystem. npm and cargo and so on are automatically creating lock files. Even people, who don't understand why that is important, might commit them to their repositories, while in the Python ecosystem people who don't understand it, think that committing a requirements.txt only (without checksums) is OK. However, it is wrong, to claim, that in the Python ecosystem we didn't have the tools to do it right. We did have them, and that well before uv. It took a more care though, which is apparently too much for many people already.
- xenophonf 1y agoThe lock file shouldn't be in the repository. That forces the developers into maintenance that's more properly the responsibility of the CI/CD pipeline. Instead, the lock file should be published with the other build artifacts—the sdist and wheel(s) in Python's case. And it should be optional so that people who know what they're doing can risk breaking things by installing newer versions of locked dependencies should the need arise.
- kortilla 1y agoIt absolutely should be. Otherwise you don’t have reproducible builds.
- xenophonf 1y agoYou can reproduce the release just fine using the lock file published alongside the release. Checking it in creates unnecessary work for devs, who should only be specifying version constraints when absolutely necessary.
- 1y ago
- kristopolous 1y agoI really don't understand this. I find it really easy.
- dataflow 1y agoNot even trying to compile build other people's C/C++ projects on *nix?
- jkercher 1y agoCouldn't agree more. I have a project at work from 2016 that builds multiple different HMIs (C++) along with 2 embedded systems (C). They all have to play nicely with each other as they share some structures and can all be updated in the field with a single file on a USB stick. So there is a bash script that builds everything from a fresh clone, makes update files, and some other niceties. Then, there is a single python script that generates a handful of tables from a json file. Guess which part of the build I spent fixing the other day... It wasn't the ~200000 lines of c/c++ or the 1000+ line bash script. No. It was 100 lines of python that was last touched 2 years years ago. Python really doesn't work as a scripting language.