[{"data":1,"prerenderedAt":126},["ShallowReactive",2],{"podcast-meta":3,"podcast-theme-colors":32,"episode-twisted-and-evented-programming-in-python-interview":92},{"title":4,"author":5,"description":6,"artwork":7,"categories":8,"feedUrl":10,"type":11,"explicit":12,"link":13,"language":14,"copyright":15,"podcast2":16,"hasPeople":31},"The Changelog: Software Development, Open Source","Changelog Media","Software's best weekly news brief, deep technical interviews & talk show.","https://cdn.changelog.com/static/images/podcasts/podcast-original-f16d0363067166f241d080ee2e2d4a28.png",[9],"Technology","https://changelog.com/podcast/feed","episodic",false,"https://changelog.com/podcast","en-us","All rights reserved",{"persons":17,"funding":27},[18,23],{"name":19,"role":20,"img":21,"href":22},"Adam Stacoviak","host","https://cdn.changelog.com/uploads/avatars/people/Qo/avatar_large.jpg?v=63760280419","https://changelog.com/person/adamstac",{"name":24,"role":20,"img":25,"href":26},"Jerod Santo","https://cdn.changelog.com/uploads/avatars/people/z4/avatar_large.jpeg?v=63760071650","https://changelog.com/person/jerodsanto",[28],{"url":29,"text":30},"https://changelog.com/++","Support our work by joining Changelog++",true,{"palette":33,"sourceColor":54,"extractedColors":55},{"light":34,"dark":43},{"primary":35,"primary-foreground":36,"secondary":37,"secondary-foreground":35,"accent":38,"muted":39,"muted-foreground":40,"ring":35,"podcast-vibrant":41,"podcast-muted":42},"#00182f","#ffffff","#eff2f6","#e7ecf0","#f0f2f4","#6f7275","#0375c4","#e2e5e8",{"primary":44,"primary-foreground":45,"secondary":46,"secondary-foreground":47,"accent":48,"muted":49,"muted-foreground":50,"ring":51,"podcast-vibrant":52,"podcast-muted":53},"#5580a9","#09090b","#191b1d","#dcdee0","#1d2022","#1a1b1c","#8d8f91","#c1c4c8","#3694e6","#151618","#a1978d",[56,63,71,79,84],{"hex":54,"red":57,"green":58,"blue":59,"area":60,"saturation":61,"lightness":62},161,151,141,0.13136455555555557,0.09615384615384609,0.592156862745098,{"hex":64,"red":65,"green":66,"blue":67,"area":68,"saturation":69,"lightness":70},"#d2d1d4",210,209,212,0.000134,0.03370786516853954,0.8254901960784313,{"hex":72,"red":73,"green":74,"blue":75,"area":76,"saturation":77,"lightness":78},"#525153",82,81,83,0.003252888888888889,0.012195121951219556,0.32156862745098036,{"hex":36,"red":80,"green":80,"blue":80,"area":81,"saturation":82,"lightness":83},255,0.03285188888888889,0,1,{"hex":85,"red":86,"green":87,"blue":88,"area":89,"saturation":90,"lightness":91},"#101820",16,24,32,0.8323966666666667,0.3333333333333333,0.09411764705882353,{"meta":93,"episode":101,"transcript":125},{"title":4,"author":5,"description":6,"artwork":7,"categories":94,"feedUrl":10,"type":11,"explicit":12,"link":13,"language":14,"copyright":15,"podcast2":95,"hasPeople":31},[9],{"persons":96,"funding":99},[97,98],{"name":19,"role":20,"img":21,"href":22},{"name":24,"role":20,"img":25,"href":26},[100],{"url":29,"text":30},{"guid":102,"title":103,"slug":104,"description":105,"htmlContent":106,"audioUrl":107,"audioType":108,"audioLength":109,"pubDate":110,"duration":111,"artwork":112,"episodeType":113,"explicit":12,"link":114,"podcast2":115},"http://5by5.tv/changelog/58","Twisted and Evented Programming in Python (Interview)","twisted-and-evented-programming-in-python-interview","Kenneth and Wynn caught up with Glyph Lefkowitz from Twisted to talk about the project and evented programming in Python.","\u003Cp>Kenneth and Wynn caught up with Glyph Lefkowitz from Twisted to talk about the project and evented programming in Python.\u003C/p>\n\u003Cp>\u003Ca href=\"https://changelog.zulipchat.com/#narrow/stream/456187-interviews\">Join the discussion\u003C/a>\u003C/p>\u003Cp>\u003Ca href=\"https://changelog.com/++\" rel=\"payment\">Changelog++\u003C/a> members support our work, get closer to the metal, and make the ads disappear. Join today!\u003C/p>\u003Cp>Featuring:\u003C/p>\u003Cul>\u003Cli>Wynn Netherland &ndash; \u003Ca href=\"https://github.com/pengwynn\" rel=\"external ugc\">GitHub\u003C/a>, \u003Ca href=\"https://x.com/pengwynn\" rel=\"external ugc\">X\u003C/a>\u003C/li>\u003Cli>Kenneth Reitz &ndash; \u003Ca href=\"https://github.com/kennethreitz\" rel=\"external ugc\">GitHub\u003C/a>, \u003Ca href=\"https://x.com/kennethreitz\" rel=\"external ugc\">X\u003C/a>\u003C/li>\u003C/ul>\u003C/p>\u003Cp>Show Notes:\u003C/p>\u003Cp>\u003Cul>\n\u003Cli>\u003Ca href=\"http://glyph.twistedmatrix.com/\">Glyph Lefkowitz\u003C/a> is creator of Twisted.\u003C/li>\n\u003Cli>\u003Ca href=\"http://twistedmatrix.com/trac/\">Twisted\u003C/a> is an event-driven networking engine written in Python.\u003C/li>\n\u003Cli>Twisted has its origin in the game \u003Ca href=\"https://launchpad.net/imaginary\">Divmod Imaginary\u003C/a>.\u003C/li>\n\u003Cli>Glyph says Twisted programming is easier than programming with \u003Ca href=\"http://www.gevent.org/\">gevent\u003C/a> and \u003Ca href=\"http://eventlet.net/\">eventlet\u003C/a>.\u003C/li>\n\u003Cli>\u003Ca href=\"http://twistedmatrix.com/documents/current/api/twisted.web.html\">Twisted.web\u003C/a> is the most popular package, but Twisted supports a wide range of other protocols in addtion to HTTP including NNTP, IMAP, SSH, IRC, FTP, and others.\u003C/li>\n\u003Cli>Twisted even supports \u003Ca href=\"http://msdn.microsoft.com/en-us/library/aa365198(v=vs.85).aspx\">IO Completion Ports\u003C/a> on Windows.\u003C/li>\n\u003Cli>Twisted’s non-blocking approach makes it great for GUI programming via GTK+, wxPython, and \u003Ca href=\"http://twistedmatrix.com/documents/current/core/howto/choosing-reactor.html#auto10\">more\u003C/a>, even \u003Ca href=\"http://www.pygame.org/news.html\">Pygame\u003C/a>.\u003C/li>\n\u003Cli>Glyph expands on his \u003Ca href=\"http://glyph.twistedmatrix.com/2009/09/what-i-wish-tornado-were.html\">blog post\u003C/a> drawing distinctions between \u003Ca href=\"http://www.tornadoweb.org/\">Tornado\u003C/a> and Twisted.\u003C/li>\n\u003Cli>Benchmark nerds should check out \u003Ca href=\"http://speed.twistedmatrix.com/\">speed.twistedmatrix.com\u003C/a>.\u003C/li>\n\u003Cli>\u003Ca href=\"http://dustin.github.com/2009/09/12/tornado.html\">Dustin Sallings\u003C/a> ported Tornado to Twisted’s low-level networking stack and \u003Ca href=\"https://github.com/dustin/tornado/commit/8c70cb013e9446713a597d792e9420523480f1fd\">eliminated over 1,200 lines of code\u003C/a>.\u003C/li>\n\u003Cli>Twisted \u003Ca href=\"http://twistedmatrix.com/trac/wiki/SuccessStories\">success stories\u003C/a> include LucasFilm, \u003Ca href=\"http://hipchat.com\">HipChat\u003C/a>, TweetDeck, Justin.tv, and more.\u003C/li>\n\u003Cli>Twisted also powers \u003Ca href=\"http://www.openstack.org/\">OpenStack\u003C/a>, used by Nasa to run its cloud.\u003C/li>\n\u003Cli>Glyph is proud of his \u003Ca href=\"http://www.purevolume.com/SaraLefkowitz\">rock star sister Sara\u003C/a>.\u003C/li>\n\u003Cli>Twisted tracks \u003Ca href=\"http://twistedmatrix.com/highscores/\">high scores\u003C/a> for community involvement in 8-bit beauty.\u003C/li>\n\u003Cli>Free \u003Ca href=\"http://www.flickr.com/photos/wynnxp/5514553757/\">Changelog stickers\u003C/a> for the first person to \u003Ca href=\"http://twitter.com/changelogshow\">@reply\u003C/a> us with Glyph’s real name.\u003C/li>\n\u003C/ul>\n\u003C/p>\u003Cp>Something missing or broken? \u003Ca href=\"https://github.com/thechangelog/show-notes/blob/master/podcast/the-changelog-58.md\">PRs welcome!\u003C/a>\u003C/p>","https://op3.dev/e/https://pscrb.fm/rss/p/https://cdn.changelog.com/uploads/podcast/58/the-changelog-58.mp3","audio/mpeg",16506405,"Tue, 03 May 2011 13:00:00 +0000",2019,"https://cdn.changelog.com/uploads/covers/changelog-interviews-original.png?v=63848368174","full","https://changelog.com/podcast/58",{"persons":116},[117,121],{"name":118,"role":20,"img":119,"href":120},"Wynn Netherland","https://secure.gravatar.com/avatar/7e19cd5486b5d6dc1ef90e671ba52ae0.jpg?s=600&d=mm","https://changelog.com/person/pengwynn",{"name":122,"role":20,"img":123,"href":124},"Kenneth Reitz","https://cdn.changelog.com/uploads/avatars/people/dj/avatar_large.jpg?v=63721368615","https://changelog.com/person/kennethreitz",null,1771793541847]