• 0 Posts
  • 18 Comments
Joined 1Y ago
cake
Cake day: Aug 15, 2023

help-circle
rss

Friend, while I appreciate the time and effort on the docs, it has a rather tiny section on one of the truly worst aspects of pip (and the only one that really guts usability): package conflicts.

Due to the nature of Python as an interpreted language, there is little that you can check in advance via automation around “can package A and package B coexist peacefully with the lowest common denominator of package X”? Will it work? Will it fail? Run your tool/code and hope for the best!

Pip is a nightmare with larger, spawling package solutions (i.e. a lot of the ML work out there). But even with the freshest of venv creations, things still go remarkably wrong rather quick in my experience. My favorite is when someone, somewhere in the dependency tree forgets to lock their version, which ends up blossoming into a ticking time bomb before it abruptly stops working.

Hopefully, your experiences have been far more pleasant than mine.




It’s all fun and games until the wheel variant you need for your hardware acceleration package conflicts with that esoteric math library you planned on using.


I can’t speak for your managers, but my past managers didn’t need Agile to f things up. They can do that with anything!


You know, I wish it wasn’t. Much of Amazon was on a version of Perl for years (and may still be) for almost all of their front end hosting. Facebook has transformed PHP into Hack (which is better for types, though technically not strongly typed), strongly suggesting they were running PHP until 2014. Let’s not forget what WordPress is still in PHP too.



Ouch! Red flag. Sucks to get rejected, but maybe you dodged a bullet.



Python should not be used for production environments, or anything facing the user directly. You are only inviting pain and suffering.



Someone hasn’t read https://en.m.wikipedia.org/wiki/No_Silver_Bullet yet.

If abstraction was going to kill it, it would have died a thousand deaths already.


The nuances of Go syntax requirements are stupid at times, but I am shocked at how much it helps readability.


How much of that python is written in a shared codebase with multiple active contributors? When was the last time you refactored a module?

Tabs and spaces are invisible. Semicolons are not.


Load bearing whitespace. Damn, I love that phrase.

Also, if you have to have agreement on the tabs or spaces argument in your codebase in order to get it to compile, you have already lost.


Linux can be just as much of a slow-ass OS. The real issue is all of the crap everyone wants to do in the browser now.


One Note. I have yet to see anything from anyone come close. Works with all of my devices, allows me to use a stylus for designs on an infinite graph paper canvas, and damned good at note taking.


Oh boy, here we go (inhales):

Agile isn’t that bad. People just believe they are more productive if they are “heads down” and not held accountable for what they write/do.

Functional programming isn’t that great and doesn’t solve all of the world’s problems; it just pushes the issues with state to other parts of your design, and doesn’t scale well in deeply nested solutions.

IDEs with proper code support (i.e. automatic structure analysis, autocomplete, etc.) are one of the best ways to deal with a large codebase that needs refactoring. Doing widescale refactors without one is asking for trouble. If you believe you don’t need it, either your codebase is just that small (which is fine) or playing with fire.

Much of the advice out there on architecture and tooling isn’t properly contextualized on the codebase, market, and team situation. If you believe you have the One True Architecture Solution, you are naive. (Ex. Microservices, large complex code pipelines, monorepos, etc.) Be especially wary of anything from FAANG engineering blogs unless you are also in another letter of FAANG.

There. Got it out of my system. Have fun dissecting it.