• Home

  • Schedule

  • Speakers

  • Registration

  • Call For Proposals

  • Our Sponsors

  • Financial Aid

  • FAQ

  • Blog

  • Contact Us

  •  

    Sponsors
    Screen Shot 2016-07-15 at 8.37.57 PM
    Screen Shot 2016-07-15 at 8.37.57 PM
    Bloomberg
    Bloomberg
    HERE_Logo_RGB (1)
    HERE_Logo_RGB (1)
    new-twitter-logo-150x150_edited
    new-twitter-logo-150x150_edited
    Yelp
    Yelp
    sentry
    sentry
    Google
    Google
    Google
    Twist Bioscience
    Twist Bioscience
    Screen Shot 2016-08-05 at 3.09.22 PM_edited
    Screen Shot 2016-08-05 at 3.09.22 PM_edited
    cloudera_logo
    cloudera_logo
    sauce-labs200x200
    sauce-labs200x200
    hired-logo
    hired-logo
    PSF
    PSF
    shippo
    shippo
    twilio
    twilio
    Minted
    Minted
    Paypal-logo-20141
    Paypal-logo-20141
    anaconda-logo
    anaconda-logo
    microsoft-logo
    microsoft-logo
    eventbrite
    eventbrite
    Show More
    PyBay Connect
    • Meetup_square
    • White Twitter Icon

    Subscribe to PyBay Updates

    TOP

    Alex Martelli

    Bio

    Author of "Python in a Nutshell", co-author of "Python Cookbook", PSF Fellow, frequent speaker at Python conferences, prolific contributor to StackOverflow, and winner of the 2006 Frank Willison Memorial Award for contributions to Python, Alex currently leads "1:many tech support" for Google Cloud Platform. He's married to Anna Ravenscroft, his co-author in the "Cookbook" 2nd edition and "Nutshell" 3rd edition, also a PSF Fellow, and also a winner of the Frank Willison Memorial Award, in 2013.

    Aug 21 11:15p - 12:05p, Robertson
    "Good Enough" IS Good Enough!

    Fundamentals, Intermediate

    ​

    Description 

    Our culture's default assumption is that everybody should always be striving for perfection -- settling for anything less is seen as a regrettable compromise. This is wrong in most software development situations: focus instead on keeping the software simple, just "good enough", launch it early, and iteratively improve, enhance, and re-factor it. This is how software success is achieved!

    ​

    Abstract

    In 1989, Richard Gabriel caricatured two approaches to SW development: "worse is better" ("New Jersey approach") and "the right thing" ("MIT/Stanford approach"), reluctantly concluding NJ was more viable, for several reasons (speed of development, flexible designs, systems adaptable to a variety of uses [including changes in requirements], ease of gradual, incremental improvement, ...). And this debate hasn't died down since.

    Debate rages, but reality has moved away from "right thing" ("Cathedral"-centralized "Big Design Up Front", focus on academia/large firms, unsuited to shifting real-world requirements), toward "NJ" ("Bazaar"-like, agile iterative enhancement, dynamic start-ups/independent developers, a world of always-shifting specs).

    In this talk I support "the NJ approach", on both philosophical and pragmatical grounds, with examples from many areas. Winners of the "mind-share battles" focused on simplicity ("good enough"), not theoretical refinement/completeness: large ecosystems of developers, incremental improvement -- TCP/IP approach vs ISO/OSI, HTTP/HTML vs Xanadu, early Unix's simplistic (but OK) approach to interrupted system calls vs Multic's/ITS's perfectionism.

    In Python, metaclasses often end up too complex (80% of their pluses can be had via class decorators, for 20% of the complexity); OTOH, incremental improvement worked just fine in sorting, generators, and guaranteed-finalization semantics.

    The talk is not perfect, but I do think it's good enough.

    Aug 21 2:30p - 3:20p, Fisher West
    The Tower of Abstraction

    Fundamentals, Intermediate

    ​

    Description

    Abstraction is a powerful servant, but a dangerous master. We code, design, think, debug ... on a tower of abstractions. Spolsky's Law tells us that "All abstractions leak". This talk explores why they leak, why that's often a problem, what to do about it; I also cover why sometimes abstractions SHOULD "leak", and how best to produce and consume abstraction layers.
     

    • Meetup_square
    • Black Facebook Icon
    • Black Twitter Icon