Viewing profile — raymondh
raymondh
HN member- Joined
- Tue, Feb 09, 2010, 12:56 AM UTC
- HN karma
- 2,430
- Public activity
- 381 items
- HN profile
- View on Hacker News ↗
About raymondh
* CEO of Mutable Minds, Inc. (a training and consulting company)
* Python Distinguished Service Award
* Past Python Software Foundation (PSF) board member
* Private pilot (single engine land and sailplanes)
* Certified Public Accountant
* Certified Internal Auditor
* Python Core Developer
* Husband to Rachel
* Father to Matthew
Python training video series, "Modern Python: Big Ideas, Little Code" available for free to Safari On-line subscribers: https://www.oreilly.com/library/view/modern-python-livelessons/9780134743400/Videos for conference presentations and keynotes can be found at: https://www.youtube.com/playlist?list=PLRVdut2KPAguz3xcd22i_o_onnmDKj3MA
Contributions to Python:
* any()
* all()
* enumerate()
* local mapping argument to exec() can be any mapping
* filter() -- originally itertools.ifilter
* frozenset()
* map() -- originally itertools.imap
* reversed()
* sum() -- optimized and made more accurate
* zip() -- originally itertools.izip
* sorted()
* set()
* dict.fromkeys
* dict.pop
* float.as_integer_ratio
* str.format_map
* str.partition
* str.rpartition
* tuple.count
* tuple.index
* abc.ABC
* antigravity.geohash
* bisect module -- key function support
* calendar module -- various fixups
* collections.ChainMap
* collections.Counter
* collections.OrderedDict
* collections.deque
* collections.namedtuple
* contextlib.redirect_stderr
* contextlib.redirect_stdout
* contextlib.suppress
* decimal module
* difflib.context_diff
* difflib.unified_diff
* fractions.limit_denominator -- with Mark Dickinson
* functools.cache
* functools.cmp_to_key
* functools.lru_cache
* functools.total_ordering
* heapq.heappushpop
* heapq.merge
* heapq.nlargest
* heapq.nsmallest
* itertools.accumulate
* itertools.chain
* itertools.chain.from_iterable
* itertools.combinations
* itertools.combinations_with_replacement
* itertools.compress
* itertools.count
* itertools.cycle
* itertools.dropwhile
* itertools.filterfalse
* itertools.groupby
* itertools.islice
* itertools.pairwise
* itertools.permutations
* itertools.product
* itertools.repeat
* itertools.starmap
* itertools.takewhile
* itertools.tee
* itertools.zip_longest
* json.AttrDict (later removed)
* math.dist
* math.fsum -- with Mark Dickinson
* math.hypot -- improve algorithm and expanded to n-dimensional case
* math.log -- added the "base" optional argument
* math.prod -- implemented by Pablo Galindo
* operator.attrgetter
* operator.itemgetter
* queue.LifoQueue
* queue.PriorityQueue
* queue.join
* queue.task_done
* random's MersenneTwister
* random.SystemRandom
* random._randbelow
* random.binomialvariate
* random.choices
* random.sample
* random.triangular
* statistics.correlation -- added spearman rank correlation coefficient
* statistics.fmean
* statistics.geometric_mean
* statistics.harmonic_mean -- added weights parameter
* statistics.kde
* statistics.kde_random
* statistics.linear_regression -- added direct proportion option
* statistics.mode -- fixed api
* statistics.multimode
* statistics.NormalDist
* statistics.quantiles
* statistics.variance/pvariance/stdev/pstdev -- correctly ounded
* tokenize.untokenize
* userdict.DictMixin -- eventually became ollections.MutableMapping
* __slots__ can be a dictionary
Designer of: * key-functions
* generator expressions
* compact and ordered dictionaries
* the peephole optimizer
* __length_hint__ optimization
* the thousands separator in string formatting
* original proponent of exception chaining
* original proponent of sending data and exceptions into enerators
* eval-loop opcode prediction
Maintainer of: * the argparse module (successor to Steven Bethard)
* the bisect module
* the collections module
* the collections.abc module
* the decimal module
* the heapq module
* the itertools module
* the queue module
* the random module
* the statistics module (with Steven D'Aprano)
Author of: * Python How-to: Descriptor Guide
* Python How-to: Sorting Techniques
* Python tutorial: Looping Techniques
* Python tutorial: Tour of the standard library
* Python tutorial: Floating Point Arithmetic
* Blog post: Super Considered Super
* Whatsnew 3.1
* Whatsnew 3.2
* Whatsnew 3.8
Social media: * https://twitter.com/raymondh
* https://rhettinger.wordpress.com/
* https://www.facebook.com/raymondh
* https://www.linkedin.com/in/raymondhettinger/
* https://stackoverflow.com/users/1001643/raymond-hettingerRecent public activity
-
comment
Comment #48240935
In the 1990s, I briefly met Cleve while taking a two-week Matlab course in Natick. During that course that a classmate introduced me to Python, a language where I later became a co…
-
comment
Comment #41704225
For those who don't know the name, Tim Peters is the author of "The Zen of Python". He is the one who uniquely captured was Python is all about with this inspirational little poem:…
-
comment
Comment #41454390
The reason Guido didn't want 3.6 to guarantee dict ordering was to protect 3.5 projects from mysteriously failing when using code that implicitly relied on 3.6 behaviors (for examp…
-
comment
Comment #41406013
Thank you AnandTech. Happy ride in to the sunset.
-
comment
Comment #41291166
Is there a simple R example for Rule 4?
-
comment
Comment #41185426
We should probably get rid of that. It is old (predating numpy) and has limited functionality. In almost every case I can think of, you would be better off with numpy.
-
comment
Comment #41185363
This is an impressive post showing some nice investigative work that isolates a pain point and produces a performant work-around. However, the conclusion is debatable. Not everyone…
-
comment
Comment #40803634
We've had to contact the IRS a number of times. It was always difficult to get through. However once we did get through, the representatives were polite, professional, and really s…
-
comment
Comment #40794483
Programming Pearls, Thinking Forth, The Little Schemer, and SICP
-
comment
Comment #40504773
As described by Alan Kay, what OOP means is encapsulation, messaging, and late-binding. IIRC the inspiration came from multicellular organisms. A cell "encapsulates" complexity wit…
-
comment
Comment #40503628
Your nice work on the JS itertools port has a todo for a "better tee". This was my fault because the old "rough equivalent" code in the Python docs was too obscure and didn't provi…
-
comment
Comment #40469826
Perhaps Google's AI included TheOnion in its training data: https://www.theonion.com/geologists-recommend-eating-at-leas...
-
comment
Comment #40447342
Numeric towers are indeed a sore point. * There are more 64-bit integers than C floats/doubles. But in math, reals are a superset of the integers. * Because floats are rounded, `x …
-
comment
Comment #39879049
A lot of classic popular songs also had low information content: https://happyhollyproject.com/2014/04/27/flowcharts-and-song...
-
comment
Comment #39668202
The Terminal Man by Michael Crichton
- story
-
comment
Comment #38643688
This is a red-herring. In the end, everything is run in machine language which is intrinsically unsafe. But that doesn't matter. High level languages can enforce constraints that e…
- story
-
comment
Comment #38631754
What counts as an innovation is in the eye of the beholder. Mark Rober demonstrated Gemini's creative ability by having it suggest a video, details of contents, and how to produce …
-
comment
Comment #37943384
FWIW, there is a recipe for this in the Python docs[0]. It was developed in collaboration with Alan Downey and Tim Peters: from random import Random from math import ldexp class Fu…
-
comment
Comment #37560297
Note that this effect varies across builds and versions. For most of Python's history, we could give clear and invariant optimization advice (locals and nonlocals are fastest, glob…
-
comment
Comment #37156091
If you repeat the same word, it doesn't count as a rhyme ;-)
-
comment
Comment #37145410
""" Ceausescu and his wife, Elena, outlawed bridge, popular with the intelligentsia, and shut down clubs where the card game was played. “They were worried that when too many intel…
-
comment
Comment #37055413
From the abstract, "We also find evidence of a slow acceleration in the Martian rotation rate, which could be the result of a long-term trend either in the internal dynamics of Mar…
-
comment
Comment #36923918
In our case, the main push to accelerate is to get more knowledgeable teachers. While experimenting with number sequences in Excel, our child said, "I found e, 2.718281828". When h…