Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Cory Benfield - Building Protocol Libraries The Right Way - PyCon 2016

    PyCon 2016

    2 HN recommenders · recommended in 3 months, 2016–2024

    YouTube

    31:38 · 15K views · May 31, 2016

    Cory Benfield's PyCon 2016 talk on building protocol libraries that can be reused widely, using the Python Hyper HTTP project as the example. He argues for separating protocol parsing from I/O.

    HN points to it as the foundational argument for sans-I/O protocol library design.

    Systems, Networks & SecurityNetworking & internet infrastructurePython, Ruby & scripting languagesSoftware architecture & design
    1. 1:13:53
      Raymond Hettinger, Keynote on Concurrency, PyBay 2017SF Python161K views • 9 years ago
    2. 49:54
      The Clean Architecture in PythonNext Day Video114K views • 12 years ago
    3. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    4. 45:55
      Ruby Conf 12 - Boundaries by Gary BernhardtConfreaks58K views • 13 years ago
    5. 27:29
      Stop Writing ClassesNext Day Video962K views • 14 years ago
    6. 1:07:41
      Modern Dictionaries by Raymond HettingerSF Python150K views • 9 years ago
    7. 1:14:32
      Building Your Own Dynamic LanguageStanford21K views • 18 years ago
    8. 1:00:19
      How To Design A Good API and Why it MattersGoogle TechTalks453K views • 19 years ago
    9. 32:17
      Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018PyCon 201830K views • 8 years ago
    10. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    11. 1:02:50
      The Language of the System - Rich HickeyClojureTV174K views • 13 years ago
    12. 49:55
      How Python was Shaped by leaky Internals, Armin Ronacher, Flask frameworkВидео с мероприятий {speach!20K views • 10 years ago
    13. 2:12:42
      Build Your Own AsyncDavid Beazley60K views • 7 years ago
    14. 42:44
      Armin Ronacher - A Python for Future GenerationsEuroPython Conference6.2K views • 9 years ago
    15. 1:16:14
      Spec-ulation Keynote - Rich HickeyClojureTV136K views • 9 years ago
    16. 1:02:44
      DjangoCon 2008 Keynote: Cal HendersonGoogle for Developers125K views • 18 years ago
    17. 38:47
      RailsConf 2014 - All the Little Things by Sandi MetzConfreaks190K views • 12 years ago
    18. 4:57
      Rich Hickey rants about HttpServletRequest in 1080p: Death By Specificity from Clojure Made SimpleFred Overflow43K views • 6 years ago
    19. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    20. 1:14:52
      Effective Programs - 10 Years of Clojure - Rich HickeyClojureTV176K views • 9 years ago

    3 comments from Hacker News

    1. @geofftJun 2016· in “Accidentally nonblocking”

      Cory Benfield's PyCon talk last week, "Building Protocol Libraries the Right Way" ( this video ), makes the argument that a large number of problems can be traced to not cleanly separating responsibilities of actually physically doing I/O and making semantic sense of the bytes. His primary worry was about reimplementing things like HTTP many times, once for each I/O framework (why do Twisted, Tornado, and asyncio all have their own HTTP implementation?). But it seems the same problem can be seen here: every single part of the code thinks it knows how to actually retrieve data from the network, so it interacts with the network on its own, causing nested polling and similar awkwardness. If every part of the event-processing code thinks it knows how to do network I/O, you have many more opportunities for getting network I/O wrong. If xterm were designed so that e.g. xevents() had only the responsibility of fetching bytes from the X socket and do_xevents() and everything else had only the responsibility of handling bytes from an buffer, there would be no temptation to poll in two different functions. Only one function would even know that the byte source is a socket; the rest just know about the buffer.

      RecommendsView on HN
    2. @mindcrashDec 2017· in “Ask HN: Separate Logic from IO”

      In some cases it is very practical, even in other (non functional) programming languages. For example, [LINK] (and its accompanying talk this video ) give some really great brainfood about the way currently all kinds of network protocols are implemented, and the benefits of separating the protocol (Logic) from the actual implementation (IO). You might also want to query Google or DDG for "Free monads" if you want to implement a similar layered approach in a functional language such as Scala or Haskell.

      RecommendsView on HN
    3. @dlossApr 2024· in “WinBtrfs – an open-source btrfs driver for Windows”

      The above sans-io page links to this PyCon 2016 talk: Cory Benfield - Building Protocol Libraries The Right Way this video

      CitesView on HN