1 karma · joined July 1, 2023
Also I skimmed your library httplib2 and it's at least terrible to read.
Again, you can take this as a personal attack, flag this comment also, be mad or whatever, or buy Clean Code and start reading, also start learning more about Python idioms from people who are really good at it, e.g. Raymond Hettinger, Armin Ronacher
There are sentences which are telling a huge incompetence about the person using these.
This sounds the same story to me as "We used tech X, but X is shit/can't do something so we switched to Y, and Y is awesome and fast." Where the person switching was just incompetent with X but it would have been perfectly solvable and they just do a totally different thing with Y.
In the specific "passing a function" case, yes, it's impossible to pass only a function body, but I think it's impossible to do in JavaScript also? (correct me if I'm wrong), because you pass in function. You can do the same in Python by defining a function in the same scope and passing that in. If you don't like that, it's just one opinion, not necessarily good or bad. For example, I find it ugly and difficult to handle nesting this multiple times (defining another anonymous function inside an anonymous function) which is called "callback hell" if I understand right, but that's just my opinion also, because people seem to able to accept this hell. :)
Seriously, the author probably never worked in teams with different sizes [1, 2], considered another workflows [3, 4] and skill levels of the developers (yes, that's a variable you have to consider also!)
Also if you use Git in the same manner as CVS, you should do it because it's much faster, more reliable and more flexible...
Edit: Ok, the author is saying things which I agree with, I was commenting on the click-bait title and the first paragraphs mostly, but still, there is more to the story.
[1]: https://m.signalvnoise.com/the-majestic-monolith-29166d02222...
[2]: https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb
[3]: https://trunkbaseddevelopment.com/
[4]: http://nvie.com/posts/a-successful-git-branching-model/
I did exactly that and my salary is more than double in less then 4 years. I started working after 1 year of experience, I have 5 years now.
"Commit C's revision number has changed." - NO IT DID NOT. The original commit (f4ba6b) is still there, it still points to B, but a totally new commit has been created with a different content. To avoid confusion, it's better to name it C'. C is now a dangling commit (has no branch or tag pointing to it, and will eventually be garbage collected).
Also if you have tons of features like these, I think it's impossible to get all of them right and at the end, you have a lot of mediocre/poor features and few good ones.
The other thing is user experience. Who will know all these features, especially when setting some of them is already hard and need experts...
If you want to be everything for everyone, it's mostly impossible or you get a very complicated, unusable and/or slow thing.
I'm curious for counterarguments to these points.
What you mean by no reproducible builds?
I wonder where have you lived? I rarely found (if ever) an undocumented dependency list for any serious Python project in the last couple of years.
These techniques are easier with the Pyramid framework.
ssh chat.shazow.net | nc seashells.io 1337
serving at https://seashells.io/v/FYh2Dt7t
It is really real time! much wow!Also, putting things into thread locals somewhere makes explicit request objects totally pointless, because you still depend on threads and can't use Django in an async manner. So it's not a valid good technical argument either. You might like that better, but that's just a subjective opinion.
These are very detailed, very well written articles from well-acknowledged developers about their OSS project.