Twitter | Search | |
Raymond Hettinger
Python core developer. Freelance programmer/consultant/trainer. Husband to Rachel. Father to Matthew.
3,205
Tweets
383
Following
52,595
Followers
Tweets
Raymond Hettinger 3h
Today, the Package Index got up to 192,541 packages. My new prediction for hitting the 200,000 mark is October 8, 2019. .
Reply Retweet Like
Raymond Hettinger 3h
Replying to @simeonfranklin @py_bay
Thank you. It was a wonderful conference.
Reply Retweet Like
Raymond Hettinger 4h
Replying to @tracykteal
FWIW, I mispronouced this and was aiming for something akin to "centaprogramming" with "cent" meaning a hundred or so participants. That said, "antenna" seems to be a better fit :-)
Reply Retweet Like
Raymond Hettinger 4h
Replying to @hohoroboto @gpshead
One other thought: Twitter has a tight limit on the length of a tweet. Posted code examples have little space for comments, so it isn't reasonable to critique a snippet like it was production code. I frequently get PEP 8 snipes at tweeted code fragments. That misses the point.
Reply Retweet Like
Raymond Hettinger 4h
Replying to @hohoroboto @gpshead
FYI, we've had default arguments since Python in typing.NamedTuple: class Account(NamedTuple): owner_name: str account_num: int balance: float = 0.0
Reply Retweet Like
Raymond Hettinger 4h
Replying to @hohoroboto @gpshead
Also note that as of Python 3.7, we have a cleaner, documented way to have named tuple default arguments: Account = namedtuple('Account', ['owner_name', 'acct_num', 'balance'], defaults=[0.0])
Reply Retweet Like
Raymond Hettinger 4h
Replying to @hohoroboto @gpshead
I think you missed the point. GPS was noting the code needed a comment, not that it was wrong. FWIW, all default arguments in Python, not just namedtuple, are shared across instances. It is a user responsibility to not choose a mutable default argument.
Reply Retweet Like
Raymond Hettinger 5h
When her talk video comes out, it will definitely be worth seeing. The various forms of the term are defined in a way that makes clear sense to those with a data science or statistical bent. Issues with non-representative data samples are not a new or unknown problem.
Reply Retweet Like
Raymond Hettinger 8h
Replying to @raymondh
Reply Retweet Like
Raymond Hettinger 8h
Listening to at providing deep insights into unconscious bias in a machine learning.
Reply Retweet Like
Raymond Hettinger Aug 17
Replying to @lisroach
Her case study is debugging memory usage on a running Python process. Pretty cool.
Reply Retweet Like
Raymond Hettinger Aug 17
Replying to @lisroach
I just saw her stop a running Python program, inspect it, capture its GIL, insert new code, return the GIL, and let it continue running. And she did all with "You don't even need to know C to do it".
Reply Retweet Like
Raymond Hettinger Aug 17
Watching deliver an amazing talk at : Extending GDB with Python It is rare to see a speaker do such an excellent job of taking a complex task and making it so approachable. Using GDB on a running python process almost seems like it would be fun :-)
Reply Retweet Like
Raymond Hettinger Aug 17
Replying to @moshezadka
Also: "Sharing mutable state is the root all evil"
Reply Retweet Like
Raymond Hettinger Aug 17
Listening to new zen from at : "Boring is better than interesting"
Reply Retweet Like
Raymond Hettinger Aug 15
Replying to @cherylsabella
I'm curious. Did your Python skills and credentials help in landing the new position?
Reply Retweet Like
Raymond Hettinger Aug 15
student question of the day: "How do I get the subprocess module to type in my sudo password when running commands?" What answer would you give?
Reply Retweet Like
Raymond Hettinger Aug 15
Replying to @cherylsabella
Congratulations! I'm happy for you.
Reply Retweet Like
Raymond Hettinger Aug 11
Replying to @__fwkz__
>>> isinstance(x, types.GeneratorType) True
Reply Retweet Like
Raymond Hettinger Aug 11
Who says programmers don't have a sense of humor? >>> from importlib.metadata import entry_points >>> entry_points()['setuptools.installation'][0].name 'eggsecutable'
Reply Retweet Like