User: raymondh

  • Created: 5196 days ago
  • Karma: 2372
  • 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