{"id":11,"date":"2010-06-30T22:50:32","date_gmt":"2010-06-30T12:50:32","guid":{"rendered":"http:\/\/youaresuperplayer.com\/?p=11"},"modified":"2017-03-29T15:22:37","modified_gmt":"2017-03-29T04:22:37","slug":"pycon-2010-26th-june-first-day","status":"publish","type":"post","link":"http:\/\/youaresuperplayer.com\/?p=11","title":{"rendered":"PyCon AU 2010 &#8211; 26th June &#8211; first day"},"content":{"rendered":"<p>A quick summary of the notes I took for that day.<\/p>\n<h4>Keynote: Mark Pesce; &#8220;How Not To Be Seen&#8221;<\/h4>\n<p>Introduced Plexus which is a sort of plumbing for social networks.\u00c2\u00a0 The talk seemed to have a bit too much hype but at least there was some code and other people seemed keen.<\/p>\n<h4>Making your Python code fast &#8211; Mr. Andrew Bennetts<\/h4>\n<ul>\n<li>disappointed that some profiling tools were bzr specific.<\/li>\n<li>timeit<\/li>\n<li>lsprof + kcachegrind<\/li>\n<li>strace<\/li>\n<li>perf (linux-tools)\n<ul>\n<li>eg &#8220;perf stat bzr status&#8221;<\/li>\n<\/ul>\n<\/li>\n<li>bzr -import-profiling<\/li>\n<li>traceback sampling\n<ul>\n<li> use SIGUSR to dump traceback!<\/li>\n<li> sigquit -&gt; debugger\/pdb<\/li>\n<\/ul>\n<\/li>\n<li>automate tools, make it dead easy to profile<\/li>\n<li>sudo tc qdisc add dev lo root netem delay 500ms\n<ul>\n<li>add a delay to localhops<\/li>\n<li>500ms means if 30s delay means 30 round trips<\/li>\n<\/ul>\n<\/li>\n<li>sudo tc qdisc del dev lo root &lt; &#8212; to turn off!<\/li>\n<li>tcptrace &#8211; net tracing through tcp dump<\/li>\n<li>cpu freq -set -g performance \/\/ remove cpu scalling<\/li>\n<li><a href=\"http:\/\/bemusement.org\/pycon10\">http:\/\/bemusement.org\/pycon10<\/a><\/li>\n<\/ul>\n<h4>Need for Speed &#8211; Dr. Graeme Cross<\/h4>\n<ul>\n<li>cprofile -&gt; pstats<\/li>\n<li>callgraph visualisation:\n<ul>\n<li>gprof2dot &#8211; static<\/li>\n<li>pycallgraph<\/li>\n<li>RunSnakeRun<\/li>\n<\/ul>\n<\/li>\n<li>optimisation steps\n<ul>\n<li> 1 use existing libs &#8211; numpy\/scipy<\/li>\n<li> 2 improve design\n<ul>\n<li>algorithms, data structures<\/li>\n<li>O notation<\/li>\n<li>parallel &#8211; threading\/multiprocessing<\/li>\n<\/ul>\n<\/li>\n<li> 3 improve implementation\n<ul>\n<li> eg containers range\/xrange<\/li>\n<\/ul>\n<\/li>\n<li> 4 inline optimisation\n<ul>\n<li>weave \/ pyinline<\/li>\n<\/ul>\n<\/li>\n<li> 5 write in C \/other\n<ul>\n<li>cython &#8211; port of pyrex<\/li>\n<li>shedskin &#8211; py to C++ converter<\/li>\n<li>or SIP\/SWING<\/li>\n<li>ctypes \/ boost.python<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Using Python in a scientific real-time data collection network &#8211; Dr. Paul Dyson<\/h4>\n<ul>\n<li>great picture summary of some of the data collection equipment used<\/li>\n<li>about 10 stations around Australia<\/li>\n<li>they&#8217;d love to stick with win 2000 just cause its stable and rock solid, but can&#8217;t find hardware support anymore, so debian stable now.<\/li>\n<li>moving from mixtures of VB, fortran, C to just python everywhere<\/li>\n<\/ul>\n<h4>Don&#8217;t Break It: Continuous Integration &amp; Deployment &#8211; Benno Rice<\/h4>\n<p>examples of tools:<\/p>\n<ul>\n<li>buildbot &#8211; written in twisted\/used by python<\/li>\n<li>bitten &#8211; for trac<\/li>\n<li>Hudson &#8211; written in java &lt;&#8211; talk centered on this<\/li>\n<\/ul>\n<p>why Hudson\/continuous integration?<\/p>\n<ul>\n<li>triggers<\/li>\n<li>scm integration<\/li>\n<li>generalisation builds<\/li>\n<li>different systems<\/li>\n<li>artifact retention<\/li>\n<li>integration with tools<\/li>\n<li>notifications<\/li>\n<\/ul>\n<ul>\n<li>nose for testing<\/li>\n<li>hudson<\/li>\n<li>virtualenv<\/li>\n<li>stdeb &#8211; py pkg to deb pkg<\/li>\n<li>fabric &#8211; remote control a server via ssh<\/li>\n<li>pip &#8211; package management<\/li>\n<\/ul>\n<ul>\n<li>stdeb can also convert required modules into debian dependencies<\/li>\n<\/ul>\n<p>There was a great demonstration of the steps necessary in setting up a continuous integration environment which should be evident in the video<\/p>\n<h4>Python in Video Games and Multimedia Projects &#8211; Mr. Chris McCormick<\/h4>\n<ul>\n<li>worked on RJDJ (and showed a video).\u00c2\u00a0 Make music based on random sounds. Sunglasses for your ears.<\/li>\n<li>uses Pure Data &#8211; DSP rapid prototyping.\u00c2\u00a0 also look at MaxMSP<\/li>\n<\/ul>\n<p>Infinite 8bit platformer!<\/p>\n<ul>\n<li>multiplayer exploration platformer where all users can contribute.<\/li>\n<li><a href=\"http:\/\/infiniteplatformer.com\">infiniteplatformer.com<\/a><\/li>\n<li>stackless python<\/li>\n<li>actor model<\/li>\n<li>podsixnet &#8211; network lib<\/li>\n<li>pygame<\/li>\n<\/ul>\n<h4>Using Python for Natural Language Generation and Analysis &#8211; Mr. Tennessee J Leeuwenburg<\/h4>\n<p>Using language tools to generate weather reports.\u00c2\u00a0 Apparently Victoria is live now and NSW will be live in a few weeks.\u00c2\u00a0 Later looked at the word trends in reports.<\/p>\n<ul>\n<li>analysis using NLTK<\/li>\n<li>read Natural Lang Processing with Ptyhon &#8211; Steven Bind 2009<\/li>\n<li>NLGEN2<\/li>\n<\/ul>\n<h4>whoops I deployed again &#8211; new ways to get your app in the cloud &#8211; Dylan Jay<\/h4>\n<ul>\n<li>silverlining \/ hostout (fabric + buildout)<\/li>\n<li>cool table of options etc<\/li>\n<li>fabric &#8211; run scripts on server easily<\/li>\n<li>buildout &#8211; configuration system<\/li>\n<li>dependency management<\/li>\n<li>hostout &#8211; install webapp on other servers<\/li>\n<li>check out web framework repoze<\/li>\n<li>check out siverlining.. maybe?<\/li>\n<\/ul>\n<h4>Lightning Talks<\/h4>\n<ul>\n<li>OLPC &#8211; now in NT, Australia<\/li>\n<li>check out Jython for optimising<\/li>\n<li>embedding python interpreter and run from c main()<\/li>\n<li>inflect.py &#8211; pluralise words!\u00c2\u00a0 (some failed but classic mode!)<\/li>\n<li>cocos2d &#8211; game framework.\u00c2\u00a0 check out &#8220;Abbey&#8217;s grand adventure&#8221;<\/li>\n<li>working at Google\n<ul>\n<li>no direction given. Bad idea to say you&#8217;ll do what you&#8217;re told.<\/li>\n<li>you might need to adjust to change<\/li>\n<li>always people smarter than you<\/li>\n<li>noone will write code for you (unless you&#8217;re Guido)<\/li>\n<\/ul>\n<\/li>\n<li>python 2.6 can execute zip files and directories!\n<ul>\n<li>see &#8220;import __main__ module&#8221;<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h4>Dinner &#8211; Anthony Baxter<\/h4>\n<p>Gentle jabs at Java and Python.\u00c2\u00a0 There was some example code from Google Wave which was particularly horrible but Python had it&#8217;s own problems.<\/p>\n<p>See the <a href=\"http:\/\/pycon-au.org\/2010\/about\/\">pyconau 2010 website<\/a> and <a href=\"http:\/\/pyconau.blip.tv\/\">videos<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A quick summary of the notes I took for that day. Keynote: Mark Pesce; &#8220;How Not To Be Seen&#8221; Introduced Plexus which is a sort of plumbing for social networks.\u00c2\u00a0 The talk seemed to have a bit too much hype &hellip; <a href=\"http:\/\/youaresuperplayer.com\/?p=11\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-11","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=\/wp\/v2\/posts\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":0,"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=\/wp\/v2\/posts\/11\/revisions"}],"wp:attachment":[{"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/youaresuperplayer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}