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

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

Published Tue, Jun 28, 2022, recorded Tue, Jun 28, 2022
Watch this episode on YouTube
Play on YouTube
Watch the live stream replay

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