Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book

Episode #290: Sentient AI? If so, then what?

Published Tue, Jun 28, 2022, recorded Tue, Jun 28, 2022.


Watch the live stream:


About the show

Sponsored by us! Support our work through:

Special guest: Nick Muoh

Brian #1: picologging

  • From a tweet by Anthony Shaw
  • From README.md
  • “early-alpha” stage project with some incomplete features. (cool to be so up front about that)
    • “Picologging is a high-performance logging library for Python. picologging is 4-10x faster than the logging module in the standard library.”
    • “Picologging is designed to be used as a drop-in replacement for applications which already use logging, and supports the same API as the logging module.”
  • Now you’ve definitely got my attention.
  • For many common use cases, it’s just way faster.
  • Sounds great, why not use it? A few limitations listed:
    • process and thread name not captured.
    • Some logging globals not observed: logging.logThreads, logging.logMultiprocessing, logging.logProcesses
    • Logger will always default to the Sys.stderr and not observe (emittedNoHandlerWarning).

Michael #2: CheekyKeys

  • via Prayson Daniel
  • What if you could silently talk to your computer?
  • CheekyKeys uses OpenCV and MediaPipe's Face Mesh to perform real-time detection of facial landmarks from video input.
  • The primary input is to "type" letters, digits, and symbols via Morse code by opening and closing your mouth quickly for . and slightly longer for -.
  • Most of the rest of the keyboard and other helpful actions are included as modifier gestures, such as:
    • shift: close right eye
    • command: close left eye
    • arrow up/down: raise left/right eyebrow
  • Watch the video where he does a coding interview for a big tech company using no keyboard.

Nick #3: Is Google’s LaMDA Model Sentient?

Brian #4: richbench

  • Also from Anthony
  • “A little Python benchmarking tool.”
  • Give it a list of (first_func, second_func, “label”), and it times them and prints out a comparison.
  • Simple and awesome.
    def sort_seven():
        """Sort a list of seven items"""
        for _ in range(10_000):
                sorted([3,2,4,5,1,5,3])
    
    def sort_three():
        """Sort a list of three items"""
        for _ in range(10_000):
                sorted([3,2,4])
    
    __benchmarks__ = [
        (sort_seven, sort_three, "Sorting 3 items instead of 7")
    ]
    

Michael #5: typeguard

  • A run-time type checker for Python
  • Three principal ways to do type checking are provided, each with its pros and cons:
    • Manually with function calls
    • @typechecked decorator
    • import hook (typeguard.importhook.install_import_hook())
  • Example:
    @typechecked
    def some_function(a: int, b: float, c: str, *args: str) -> bool:
        ...
        return retval
    

Nick #6: CustomTkinter

  • A modern and customizable python UI-library based on Tkinter.

Extras

Michael:

  • OpenSSF Funds Python and Eclipse Foundations - OpenSSF’s Alpha-Omega Project has committed $400K to the Python Software Foundation (PSF), in order to create a new role which will provide security expertise for Python, the Python Package Index (PyPI), and the rest of the Python ecosystem, as well as funding a security audit. (via Python Weekly)

Nick:

  • Terms of Service Didn’t Read - Terms of Service; Didn't Read” (short: ToS;DR) is a young project started in June 2012 to help fix the “biggest lie on the web”: almost no one really reads the terms of service we agree to all the time.

Joke:


Want to go deeper? Check our projects