Highlights: * 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.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-hettinger
|