GET /api/v2/video/1333
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "EuroPython 2012", "language": null, "slug": "python-white-magic", "speakers": [ "Antonio Cuni" ], "tags": [], "id": 1333, "state": 1, "title": "Python white magic", "summary": "[EuroPython 2012] Antonio Cuni - 3 JULY 2012 in \"Track Spaghetti\"\n\n", "description": "Python is a powerful language. Beginners appreciate its surface of simplicity\nand ease to use, where (almost) everything \u201cjust works\u201d (TM) as expected.\nHowever, under the hood, there is a whole world of rules and layers which can\nbe (ab)used by experienced programmers to tweak the language in unexpected\nways. Often, these techniques are labeled as \u201chacks\u201d or \u201cblack magic\u201d, to\nindicate that they should not used in production or that you should not look\nat it unless you are \u201cinitiated\u201d to some not better specified sorcery.\nHowever, if used with care and in the right places, these techniques can lead\nto better, faster and/or more readable code, or can be extremely useful during\ndebugging, and thus deserve the definition of \u201cwhite magic\u201d which programmers\ncan use to improve their code. Moreover, looking at how they are implemented\nis a good way to learn about some of the deep corners of the language. This\ntalk presents some of these advanced techniques which I have seen in use in\nreal code, e.g. in PyPy or pdb++. Including, but not limited to: creating new\nfunctions by reusing existing code objects, instantiating multiple copies of\nthe same module, playing with metaclasses in various ways, changing the\n__class__ of an object on the fly to get specialized behavior, automatically\nentering the debugger when a certain event occur, etc.\n\n", "quality_notes": "", "copyright_text": "Standard YouTube License", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/WqVMZnefnO8?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/WqVMZnefnO8?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i.ytimg.com/vi/WqVMZnefnO8/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": null, "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": null, "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": null, "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": null, "video_flv_download_only": false, "source_url": "http://www.youtube.com/watch?v=WqVMZnefnO8", "whiteboard": "", "recorded": "2012-07-04", "added": "2012-09-06T22:33:26", "updated": "2014-04-08T20:28:27.298" }