#103 Getting to 10x (results for developers)
Published November 8, 2018
|
27 min
    Download
    Add to queue
    Copy URL
    Show notes

    Sponsored by DigitalOcean: pythonbytes.fm/digitalocean

    Brian #1: FEniCS

    • “FEniCS is a popular open-source (LGPLv3) computing platform for solving partial differential equations (PDEs). FEniCS enables users to quickly translate scientific models into efficient finite element code. With the high-level Python and C++ interfaces to FEniCS, it is easy to get started, but FEniCS offers also powerful capabilities for more experienced programmers. FEniCS runs on a multitude of platforms ranging from laptops to high-performance clusters.”
    • Solves partial differential equations efficiently with a combination of C++ and Python.
    • Can be run on a desktop/laptop or deployed to a supercomputer with thousands of parallel processes.
    • is a NumFOCUS fiscally supported project
    • “makes the implementation of the mathematical formulation of a system of partial differential equations almost seamless.” - Sébastien Brisard
    • “FEniCS is in fact a C++ project with a full-featured Python interface. The library itself generates C++ code on-the-fly, that can be called (on-the-fly) from python. It's almost magical... Under the hood, it used to use SWIG, and recently moved to pybind11. I guess the architecture that was set up to achieve this level of automation might be useful in other situations.” - Sébastien Brisard
    Michael #2: cursive_re

    • via Christopher Patti, created by Bogdan Popa
    • Readable regular expressions for Python 3.6 and up.
    • It’s a tiny Python library made up of combinators that help you write regular expressions you can read and modify six months down the line.
    • Best understood via an example:
        >>> hash = text('#')
        >>> hexdigit = any_of(in_range('0', '9') + in_range('a', 'f') + in_range('A', 'F'))
        >>> hexcolor = (
        ...     beginning_of_line() + hash +
        ...     group(repeated(hexdigit, exactly=6) | repeated(hexdigit, exactly=3)) +
        ...     end_of_line()
        ... )
        >>> str(hexcolor)
        '^\\#([a-f0-9]{6}|[a-f0-9]{3})$'
    
    • Has automatic escaping for [ and \ etc: str(any_of(text("[]"))) → '[\\[\\]]'
    • Easily testable / inspectable. Just call str on any expression.
    Brian #3: pyimagesearch

    Michael #4: Visualization of Python development up till 2012

    • via Ophion Group (on twitter)
    • mercurial (hg) source code repository commit history
    • August 1990 - June 2012 (cpython 3.3.0 alpha)
    • Watch the first minute, then click ahead minute at a time and watch for a few seconds to get the full feel
    • Really interesting to see a visual representation of the growth of an open source ecosystem
    • Built with Gource: https://gource.io/
    • Who wants to build this for 2012-present?
    • Would make an amazing lightning talk!
    Brian #5: Getting to 10x (Results): What Any Developer Can Learn from the Best

    • Forget the “10x” bit if that term is fighting words. - Brian’s advice
      • How about just “ways to improve your effectiveness as a developer”?
    • “… there is a clear path to excellence. People aren’t born great developers. They get there through focused, deliberate practice.”
    • traits of great developers
      • problem solver
      • skilled
      • mentor/teacher
      • excellent learner
      • passionate
    • traits to avoid:
      • incompetent
      • arrogant
      • uncooperative
      • unmotivated
      • stubborn
    • Focus on your strengths more than your weaknesses
    • Pick 1 thing to improve on this week and focus on it relentlessly
    Michael #6: Chaos Toolkit

    • Chaos Engineering is the discipline of experimenting on a distributed system in order to build confidence in the system's capability to withstand turbulent conditions in production.
    • Netflix uses the chaos monkey (et. al.) on their systems. Covered on https://talkpython.fm/episodes/show/16/python-at-netflix
    • The Chaos Toolkit aims to be the simplest and easiest way
    • to explore building, and automating, your own Chaos Engineering Experiments.
    • Integrates with Kubernetes, AWS, Google Cloud, Microsoft Azure, etc.
    • To give you an idea, here are some things it can do to aws:
      • lambda: delete_function_concurrency Removes concurrency limit applied to the specified Lambda
      • stop_instance Stop a single EC2 instance. You may provide an instance id explicitly or, if you only specify the AZ, a random instance will be selected.
    Extras:

      15
      15
        0:00:00 / 0:00:00