
Kennethreitz: A Letter to /r/python - devnonymous
http://journal.kennethreitz.org/entry/r-python
======
jedwhite
For anyone new to Pipenv, this is Kenneth's presentation at PyCon last week:

[https://www.youtube.com/watch?v=GBQAKldqgZs](https://www.youtube.com/watch?v=GBQAKldqgZs)

I've been using conda which has been incredibly helpful, but starting to learn
pipenv and there's no question the Python community needs it or something very
like it.

~~~
kalefranz
Conda dev lead here. Agreed that python has needed the pipenv concepts for a
long time, even though they're not really all that novel in the world of
software engineering. Bundler, npm, yarn, cargo, etc. have all cemented the
two-file idea of environment descriptions. One file that is a minimal
description of the environment, designed to maximize portability, and one file
that is a maximal description of the environment, designed to maximized
reproducibility. It's also long overdue for conda, and we'll be implementing
the pattern soon. See
[https://github.com/conda/conda/issues/7248](https://github.com/conda/conda/issues/7248).

~~~
jedwhite
Thanks for the work on conda! For scientific / data science work it is a life
saver.

The ideal is something like the practicality of npm/yarn but without the need
for the endless tooling/config overhead of the nodejs ecosystem that makes
everyone scared to eject create-react-app :)

------
mdip
The unfortunate truism about the internet, and I think this applies
particularly strongly on Reddit, is "People are _d!cks_ on The Internet". I
maintain a few hobby projects and get feedback occasionally -- the only time
I've had my work utterly crapped on was on Reddit[0]. I had forgotten about it
until reading this, and really -- it upset me for about 15 minutes (I didn't
even reply to the thread which had the unfortunate side effect of me not being
able to find it now, a few years later) -- but I was _surprised_ at how
irritated it made me.

I recall a post on rachelbythebay.com about "The One"[1] that made me chuckle.
These crap-raining commentators are akin to political pundits/talk radio hosts
-- they complain, yell, excoriate and offer nothing else. Here's the thing,
you may hate the library, that library may have a massive community who you
feel is now writing bad code _because of that library_ , it may be the library
equivalent of The Antichrist, but don't crap on the developer. Most of the
time it was a case of "He/she had a problem, solved that problem and shared
his/her work". If you hate it or think any one of those prior things, _write
something better_ , offer up a patch, or at a bare minimum, advocate for a
better alternative and do so in a respectful (and, preferably, thankful)
tone[2] -- or don't, because you don't like it and your contribution of 'foo
is garbage' isn't going to move anybody away from the product. Being a dick to
a developer, especially attacking them personally, only serves the narcissist
who's self-worth is strengthened by knocking someone else down.

There's a certain kind of entitlement mentality required by a person to think
that a developer who release some _thing_ , for _free_ , with _code_ and
(often quite good) _documentation_ on a platform that makes it easy for you to
collaborate and evolve that product to somehow land on the idea that this
developer now _owes_ you something as a result of that kindness. I used to
roll my eyes when I'd run into a very public mailing-list "I-quit" message,
but I understand how that happens. At some point you just say "Who the f __*
do you think you are? " and, more importantly, why am I continuing to give
away my time/work/effort only to get grief?

[0] It was on a post I didn't author that got under 10 votes and 5 or so
comments, one of which was aggressively negative.

[1]
[https://rachelbythebay.com/w/2018/04/28/meta/](https://rachelbythebay.com/w/2018/04/28/meta/)

[2] "This 'foo' tool looks interesting -- I'd check it out but I'm really
happy with how 'bar' solves the baz problem. I wonder, what is foo's approach
for handling the painful zyzzx issue? My concern is that it may exacerbate
that, or, minimally that it'll still be a problem that I have to solve in my
code, as opposed to baz which abstracts that problem away for me. Am I
misunderstanding that?" There's no need to stroke egos (or anything else); you
can offer dissent, point out a concern, and not be a dick about it.

