{"title":"PyVideo.org - embedded","link":[{"@attributes":{"href":"https:\/\/pyvideo.org\/","rel":"alternate"}},{"@attributes":{"href":"https:\/\/pyvideo.org\/feeds\/tag_embedded.atom.xml","rel":"self"}}],"id":"https:\/\/pyvideo.org\/","updated":"2019-05-05T00:00:00+00:00","subtitle":{},"entry":[{"title":"Combining Embedded and Interactive Python in a Debugger: A Case Study","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2011\/combining-embedded-and-interactive-python-in-a-de.html","rel":"alternate"}},"published":"2011-07-24T00:00:00+00:00","updated":"2011-07-24T00:00:00+00:00","author":{"name":"Caroline Tice"},"id":"tag:pyvideo.org,2011-07-24:\/europython-2011\/combining-embedded-and-interactive-python-in-a-de.html","summary":"<h3>Summary<\/h3><p>[EuroPython 2011] Caroline Tice - 23 June 2011 in &quot;Track Ravioli&quot;<\/p>\n<h3>Description<\/h3><p>LLDB is an open source compiler currently under development. LLDB\nincorporates Python in several different ways: From the command line,\none can drop into an interactive Python script interpreter, entering\nnormal Python interactive commands and having them interpreted \u2026<\/p>","content":"<h3>Summary<\/h3><p>[EuroPython 2011] Caroline Tice - 23 June 2011 in &quot;Track Ravioli&quot;<\/p>\n<h3>Description<\/h3><p>LLDB is an open source compiler currently under development. LLDB\nincorporates Python in several different ways: From the command line,\none can drop into an interactive Python script interpreter, entering\nnormal Python interactive commands and having them interpreted and\nexecuted. In addition, the LLDB debugger has a programming API that\nallows users to call actual debugger functions and access real debugger\nobjects. This API is run through SWIG and converted into a Python module\nthat gets automatically imported into the interactive interpreter inside\nLLDB. The upshot of this is that, in the Python mode, users can call the\nAPI functions as if they were regular Python functions. This is turn\nmeans that users can do things like hit a breakpoint, call the\nappropriate API functions to get the actual current frame object, check\nto see if the caller function several frames up the stack is a\nparticular function, and if so, perform some other interesting action.\nLLDB also allows for breakpoint commands to be written in Python (which\ntherefore allows them to call the API functions), as well as having a\ncommand that interprets and executes a single line of Python.<\/p>\n<p>Because the API and all of the debugger functionality is available in a\nPython module, it is also possible to write a debugger front end\ncompletely in Python and have it import the LLDB module and call the\nLLDB API functions (which calls into the LLDB shared library), to create\na new debugger front end. Our test suite takes advantage of this to run\ntests on the LLDB library without having to start up an interactive LLDB\ndebubgger session.<\/p>\n<p>There were many interesting problems encountered and overcome in getting\nall of this to work. LLDB combines both interactive Python and embedded\nPython. There were some interesting things worked out so that a single\nPython environment dictionary is used for the entire debugger session: A\nuser can pop into and out of the interactive interpreter and have access\nat any time to anything defined in any previous visit to the interactive\ninterpreter (within the same debug session); breakpoint commands have\naccess to everything defined in the interactive session; so do embedded\nscript commands. It gets even more complicated, because LLDB can have\nmultiple debugger sessions alive at once, and each debugger session has\nits own Python interpreter with its own dictionary and must not be\nallowed to interfere with another session's state. In this talk I will\ndiscuss how we implemented many of these features in LLDB, pointing out\nsome of the more interesting problems we encountered and how we overcame\nthem, and demonstrate it all working in LLDB.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2011"}},{"@attributes":{"term":"api"}},{"@attributes":{"term":"embedded"}}]},{"title":"The NCSS Challenge: teaching programming via automated testing","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-au-2011\/the-ncss-challenge-teaching-programming-via-auto.html","rel":"alternate"}},"published":"2011-08-22T00:00:00+00:00","updated":"2011-08-22T00:00:00+00:00","author":{"name":"Tim Dawborn"},"id":"tag:pyvideo.org,2011-08-22:\/pycon-au-2011\/the-ncss-challenge-teaching-programming-via-auto.html","summary":"<h3>Summary<\/h3><p>The NCSS Challenge (<a class=\"reference external\" href=\"http:\/\/challenge.ncss.edu.au\/\">http:\/\/challenge.ncss.edu.au\/<\/a>) is an online\nprogramming competition for Australian high school students. There are\nfour different courses being run during 2011: Introductory Python,\nIntermediate Python, Advanced Python, and Embedded Systems (using the\nArduino). In 2010 we had over 1700 students participate in the \u2026<\/p>","content":"<h3>Summary<\/h3><p>The NCSS Challenge (<a class=\"reference external\" href=\"http:\/\/challenge.ncss.edu.au\/\">http:\/\/challenge.ncss.edu.au\/<\/a>) is an online\nprogramming competition for Australian high school students. There are\nfour different courses being run during 2011: Introductory Python,\nIntermediate Python, Advanced Python, and Embedded Systems (using the\nArduino). In 2010 we had over 1700 students participate in the\nChallenge. There are a number of interesting technical challenges which\nhad to be overcome in order to facilitate such a system.<\/p>\n","category":[{"@attributes":{"term":"PyCon AU 2011"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"teaching"}},{"@attributes":{"term":"testing"}}]},{"title":"Introduzione a Zerynth: Python per Microcontrollori e Applicazioni IoT","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-italia-2018\/introduzione-a-zerynth-python-per-microcontrollori-e-applicazioni-iot.html","rel":"alternate"}},"published":"2018-04-20T00:00:00+00:00","updated":"2018-04-20T00:00:00+00:00","author":{"name":"Luigi Francesco Cerfeda"},"id":"tag:pyvideo.org,2018-04-20:\/pycon-italia-2018\/introduzione-a-zerynth-python-per-microcontrollori-e-applicazioni-iot.html","summary":"<h3>Description<\/h3><p>Durante il talk verr\u00e0 presentato Zerynth\n(<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/\">www.zerynth.com<\/a>), un software per la\nprogrammazione di <strong>microcontrollori<\/strong> in <strong>Python<\/strong> e la realizzazione\ndi applicazioni <strong>IoT<\/strong> e per l\u2019 <strong>Industria 4.0<\/strong>.<\/p>\n<p>I principali argomenti trattati saranno:<\/p>\n<ul class=\"simple\">\n<li>Perch\u00e8 utilizzare Zerynth (e quindi Python) per programmare\ndispositivi IoT.<\/li>\n<li>Differenza tra Zerynth e \u2026<\/li><\/ul>","content":"<h3>Description<\/h3><p>Durante il talk verr\u00e0 presentato Zerynth\n(<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/\">www.zerynth.com<\/a>), un software per la\nprogrammazione di <strong>microcontrollori<\/strong> in <strong>Python<\/strong> e la realizzazione\ndi applicazioni <strong>IoT<\/strong> e per l\u2019 <strong>Industria 4.0<\/strong>.<\/p>\n<p>I principali argomenti trattati saranno:<\/p>\n<ul class=\"simple\">\n<li>Perch\u00e8 utilizzare Zerynth (e quindi Python) per programmare\ndispositivi IoT.<\/li>\n<li>Differenza tra Zerynth e il Python tradizionale.<\/li>\n<li>Differenza tra Zerynth ed altre piattaforme di programmazione\n<strong>\u201cembedded\u201d<\/strong> come <strong>Raspberry Pi<\/strong> , <strong>Micropython<\/strong> e <strong>Arduino<\/strong>.<\/li>\n<li>Panoramica delle schede elettroniche supportate e dei servizi\n<strong>Cloud<\/strong> compatibili. In particolare verr\u00e0 presentata la board\n<a class=\"reference external\" href=\"http:\/\/4zerobox.com\/\">4zerobox<\/a>, una delle schede elettroniche\nufficialmente supportate da Zerynth, mostrandone le caratteristiche\nprincipali e le applicazioni in <strong>campo industriale<\/strong>.<\/li>\n<\/ul>\n<p><strong>Target ideale<\/strong> : sviluppatori Python, professionisti dell\u2019IoT,\ndesigners, studenti e insegnanti, makers.<\/p>\n<p><strong>Per approfondire<\/strong><\/p>\n<p>La suite di sviluppo Zerynth \u00e8 composta da:<\/p>\n<ul class=\"simple\">\n<li><strong>Zerynth Studio<\/strong> , un IDE professionale per la programmazione in\nPython su schede elettroniche a microcontrollore. Zerynth Studio \u00e8\nfree e cross-platform. Scaricabile da qui:\n<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/zerynth-studio\/\">https:\/\/www.zerynth.com\/zerynth-studio\/<\/a><\/li>\n<li><strong>Zerynth Virtual Machine<\/strong> , un sistema operativo real-time\nmultithreaded che fornisce una reale indipendenza dall\u2019hardware e che\npermette il riutilizzo del codice su qualsiasi architettura MCU.<\/li>\n<li><strong>Zerynth App<\/strong> , una App generica per smartphone con cui\nvisualizzare i dati e\/o controllare i dispositivi programmati con\nZerynth.<\/li>\n<\/ul>\n<p>in __on <strong>venerd\u00ec 20 aprile<\/strong> at 15:15 <a class=\"reference external\" href=\"\/p3\/schedule\/pycon9\/\">**See\nschedule**<\/a><\/p>\n","category":[{"@attributes":{"term":"PyCon Italia 2018"}},{"@attributes":{"term":"micropython"}},{"@attributes":{"term":"iot"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"industry applications"}},{"@attributes":{"term":"microcontroller"}},{"@attributes":{"term":"aws"}},{"@attributes":{"term":"InternetOfThings"}},{"@attributes":{"term":"InternetDelleCose"}},{"@attributes":{"term":"industry4.0"}},{"@attributes":{"term":"google-cloud"}}]},{"title":"Introduzione a Zerynth: Python per Microcontrollori e Applicazioni IoT","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-italia-2019\/introduzione-a-zerynth-python-per-microcontrollori-e-applicazioni-iot.html","rel":"alternate"}},"published":"2019-05-05T00:00:00+00:00","updated":"2019-05-05T00:00:00+00:00","author":{"name":"Luigi Francesco Cerfeda"},"id":"tag:pyvideo.org,2019-05-05:\/pycon-italia-2019\/introduzione-a-zerynth-python-per-microcontrollori-e-applicazioni-iot.html","summary":"<h3>Description<\/h3><p>Durante il talk verr\u00e0 presentato Zerynth\n(<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/\">www.zerynth.com<\/a>), un software per la\nprogrammazione di <strong>microcontrollori<\/strong> in <strong>Python<\/strong> e la realizzazione\ndi applicazioni <strong>IoT<\/strong> e per l\u2019 <strong>Industria 4.0<\/strong>.<\/p>\n<p>I principali argomenti trattati saranno:<\/p>\n<ul class=\"simple\">\n<li>Perch\u00e8 utilizzare Zerynth (e quindi Python) per programmare\ndispositivi IoT.<\/li>\n<li>Differenza tra Zerynth e \u2026<\/li><\/ul>","content":"<h3>Description<\/h3><p>Durante il talk verr\u00e0 presentato Zerynth\n(<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/\">www.zerynth.com<\/a>), un software per la\nprogrammazione di <strong>microcontrollori<\/strong> in <strong>Python<\/strong> e la realizzazione\ndi applicazioni <strong>IoT<\/strong> e per l\u2019 <strong>Industria 4.0<\/strong>.<\/p>\n<p>I principali argomenti trattati saranno:<\/p>\n<ul class=\"simple\">\n<li>Perch\u00e8 utilizzare Zerynth (e quindi Python) per programmare\ndispositivi IoT.<\/li>\n<li>Differenza tra Zerynth e il Python tradizionale.<\/li>\n<li>Differenza tra Zerynth ed altre piattaforme di programmazione\n<strong>\u201cembedded\u201d<\/strong> come <strong>Raspberry Pi<\/strong> , <strong>Micropython<\/strong> e <strong>Arduino<\/strong>.<\/li>\n<li>Panoramica delle schede elettroniche supportate e dei servizi\n<strong>Cloud<\/strong> compatibili. In particolare verr\u00e0 presentata la board\n<a class=\"reference external\" href=\"http:\/\/4zerobox.com\/\">4zerobox<\/a>, una delle schede elettroniche\nufficialmente supportate da Zerynth, mostrandone le caratteristiche\nprincipali e le applicazioni in <strong>campo industriale<\/strong>.<\/li>\n<\/ul>\n<p><strong>Target ideale<\/strong> : sviluppatori Python, professionisti dell\u2019IoT,\ndesigners, studenti e insegnanti, makers.<\/p>\n<p><strong>Per approfondire<\/strong><\/p>\n<p>La suite di sviluppo Zerynth \u00e8 composta da:<\/p>\n<ul class=\"simple\">\n<li><strong>Zerynth Studio<\/strong> , un IDE professionale per la programmazione in\nPython su schede elettroniche a microcontrollore. Zerynth Studio \u00e8\nfree e cross-platform. Scaricabile da qui:\n<a class=\"reference external\" href=\"https:\/\/www.zerynth.com\/zerynth-studio\/\">https:\/\/www.zerynth.com\/zerynth-studio\/<\/a><\/li>\n<li><strong>Zerynth Virtual Machine<\/strong> , un sistema operativo real-time\nmultithreaded che fornisce una reale indipendenza dall\u2019hardware e che\npermette il riutilizzo del codice su qualsiasi architettura MCU.<\/li>\n<li><strong>Zerynth App<\/strong> , una App generica per smartphone con cui\nvisualizzare i dati e\/o controllare i dispositivi programmati con\nZerynth.<\/li>\n<\/ul>\n<p><strong>Feedback form:<\/strong> <a class=\"reference external\" href=\"https:\/\/python.it\/feedback-1488\">https:\/\/python.it\/feedback-1488<\/a><\/p>\n<p>in __on <strong>Sunday 5 May<\/strong> at 09:45 <a class=\"reference external\" href=\"\/en\/sprints\/schedule\/pycon10\/\">**See\nschedule**<\/a><\/p>\n","category":[{"@attributes":{"term":"PyCon Italia 2019"}},{"@attributes":{"term":"micropython"}},{"@attributes":{"term":"iot"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"industry applications"}},{"@attributes":{"term":"microcontroller"}},{"@attributes":{"term":"aws"}},{"@attributes":{"term":"InternetOfThings"}},{"@attributes":{"term":"InternetDelleCose"}},{"@attributes":{"term":"industry4.0"}},{"@attributes":{"term":"google-cloud"}}]},{"title":"How Are Large Applications Embedding Python? (#6)","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-us-2010\/pycon-2010--how-are-large-applications-embedding-.html","rel":"alternate"}},"published":"2010-02-19T00:00:00+00:00","updated":"2010-02-19T00:00:00+00:00","author":{"name":"Peter Shinners"},"id":"tag:pyvideo.org,2010-02-19:\/pycon-us-2010\/pycon-2010--how-are-large-applications-embedding-.html","summary":"<h3>Description<\/h3><p>How Are Large Applications Embedding Python?<\/p>\n<p>Presented by Peter Shinners<\/p>\n<p>An examination of the ways Python is being embedded and deployed in the\nlarge applications used for computer graphics; like Renderman, Maya,\nHoudini, and Nuke.<\/p>\n<p>This session is for those interested in the popular techniques of\nembedding the Python \u2026<\/p>","content":"<h3>Description<\/h3><p>How Are Large Applications Embedding Python?<\/p>\n<p>Presented by Peter Shinners<\/p>\n<p>An examination of the ways Python is being embedded and deployed in the\nlarge applications used for computer graphics; like Renderman, Maya,\nHoudini, and Nuke.<\/p>\n<p>This session is for those interested in the popular techniques of\nembedding the Python interpreter. The survey will determine the best\npractices for embedding Python at the core of a large application.<\/p>\n","category":[{"@attributes":{"term":"PyCon US 2010"}},{"@attributes":{"term":"deploying"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"pycon"}},{"@attributes":{"term":"pycon2010"}}]},{"title":"Plenary: Saturday Evening Lightning Talks","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-us-2010\/pycon-2010--plenary--saturday-evening-lightning-t.html","rel":"alternate"}},"published":"2010-02-19T00:00:00+00:00","updated":"2010-02-19T00:00:00+00:00","author":{"name":"Various speakers"},"id":"tag:pyvideo.org,2010-02-19:\/pycon-us-2010\/pycon-2010--plenary--saturday-evening-lightning-t.html","summary":"<h3>Description<\/h3><p>Saturday Evening Lightning Talks<\/p>\n<p>(00:00) Jacob Kaplan-Moss - Introduction<\/p>\n<p>(00:30) Guido van Rossum - PSF community service awards<\/p>\n<p>(02:42) Ka-Ping Yee - Using scrape.py to test your web apps<\/p>\n<p>(07:35) Ayman Hourieh - Python debugging techniques<\/p>\n<p>(12:28) Robin Mills - Geo-tagging and Phatch<\/p>\n<p>(17:30) Allen Short - Big \u2026<\/p>","content":"<h3>Description<\/h3><p>Saturday Evening Lightning Talks<\/p>\n<p>(00:00) Jacob Kaplan-Moss - Introduction<\/p>\n<p>(00:30) Guido van Rossum - PSF community service awards<\/p>\n<p>(02:42) Ka-Ping Yee - Using scrape.py to test your web apps<\/p>\n<p>(07:35) Ayman Hourieh - Python debugging techniques<\/p>\n<p>(12:28) Robin Mills - Geo-tagging and Phatch<\/p>\n<p>(17:30) Allen Short - Big brother's design rules<\/p>\n<p>(21:25) David Goodger - PyCon swag<\/p>\n<p>(25:00) David Ewing - Python in tiny embedded systems for the Smart Grid\nand beyond<\/p>\n<p>(30:15) Dmitry Jemerov - Introducing PyCharm<\/p>\n<p>(33:50) Dirkjan Ochtman - PEP 385: hg conversion<\/p>\n<p>(37:30) Jesse Noller - Python: Hell Yeah.<\/p>\n","category":[{"@attributes":{"term":"PyCon US 2010"}},{"@attributes":{"term":"lightning talks"}},{"@attributes":{"term":"debugging"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"hg"}},{"@attributes":{"term":"phatch"}},{"@attributes":{"term":"pycharm"}},{"@attributes":{"term":"pycon"}},{"@attributes":{"term":"pycon2010"}},{"@attributes":{"term":"scrape.py"}}]},{"title":"Testing the Mobile (and Desktop) Web with Selenium 2.0 - Better, Faster, and more Pythonicly","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/pycon-us-2011\/pycon-2011--testing-the-mobile--and-desktop--web-.html","rel":"alternate"}},"published":"2011-03-11T00:00:00+00:00","updated":"2011-03-11T00:00:00+00:00","author":{"name":"Jason Huggins"},"id":"tag:pyvideo.org,2011-03-11:\/pycon-us-2011\/pycon-2011--testing-the-mobile--and-desktop--web-.html","summary":"<h3>Description<\/h3><p>Testing the Mobile (and Desktop) Web with Selenium 2.0 - Better, Faster,\nand more Pythonicly<\/p>\n<p>Presented by Jason Huggins<\/p>\n<p>Selenium is a popular web application testing tool for acceptance\ntesting dynamic web applications. Selenium 2.0 has a different\narchitecture that makes it leaner, meaner, and more pythonic -- for \u2026<\/p>","content":"<h3>Description<\/h3><p>Testing the Mobile (and Desktop) Web with Selenium 2.0 - Better, Faster,\nand more Pythonicly<\/p>\n<p>Presented by Jason Huggins<\/p>\n<p>Selenium is a popular web application testing tool for acceptance\ntesting dynamic web applications. Selenium 2.0 has a different\narchitecture that makes it leaner, meaner, and more pythonic -- for\ntesting desktop <em>and<\/em> mobile web (iPhone\/Android) apps. This talk will\ngo into detail on how Selenium 2 works. If you like testing and Python,\nyou'll enjoy what's cooking in Selenium 2.<\/p>\n<p>Abstract<\/p>\n<p>Selenium was originally created by Jason Huggins and his team at\nThoughtWorks in 2004 as a tool for cross-browser acceptance testing of\ndynamic web apps -- apps that use JavaScript heavily on the client. Over\nthe years, the Selenium tool family has expanded to include a Firefox\nrecord and playback tool (Selenium IDE), a Remote Control server that\nallows API access from any major programming language, and a Grid server\nthat allows tests to run in parallel across many machines.<\/p>\n<p>Despite it's widespread industry adoption, the Selenium project is far\nfrom done. Selenium's goal is to drive any browser the same way an end\nuser would (e.g. opening pages, clicking buttons, entering text, etc.)\nwith any programming language on any OS platform. It's an ambitious\ngoal, and with a steady stream of new browsers (Chrome), new platforms\n(Android, iPhone), and new HTML5 technologies (video, canvas, offline\nstorage) to support, just keeping up is an arduous task.<\/p>\n<p>Astute observers will note, though, the bulk of Selenium's automation\nengine is implemented in JavaScript, which is confined by the browser's\nsecurity sandbox in which it executes JavaScript code. That security\nsandbox ultimately is at odds with Selenium's goal to drive the browser\njust as a user would. A user has no problem interacting with security\nalerts for untrusted certificates, or file upload dialog boxes, but\nSelenium can't deal with these kinds of things easily without extra\neffort.<\/p>\n<p>Enter WebDriver. There's a lot in common between the Selenium and\nWebDriver projects. They're both tools for automated testing of web\napplications, and both aspire to offer browser test automation from any\nlanguage on any platform. However, they do their thing in radically\ndifferent ways. Selenium uses the strategy that JavaScript is the one\ncommon tool available for automating all browsers, even though its\ncapabilities can be highly constrained. Meanwhile, WebDriver leverages\nthe strategy that acknowledges different automation strategies work best\nfor different browsers. COM works best for IE on Windows, Apple Events\nfor Safari on OS X. And Firefox, well, the best way to natively automate\nFirefox is to turn it into a telnet server. (But that's a whole other\nPyCon talk entirely!) WebDriver aims to natively drive each browser the\nbest way possible for maximum capability, then hiding those differences\nbetween lower level C and C++ APIs, and finally exposing the\nfunctionality through the appropriate C\/C++ mechanism for each target\nlanguage, such as using ctypes for Python. With WebDriver's technical\napproach, anything a user can do is now possible in test automation\ncode.<\/p>\n<p>This talk will go into detail explaining how Selenium and WebDriver (aka\nSelenium 2) work, comparing the strengths and weaknesses of each tool's\napproach to browser automation. The talk will then explain what Selenium\n2.0 looks like and how to use it.<\/p>\n<p>Talk outline:<\/p>\n<ul class=\"simple\">\n<li>Description of problem space<ul>\n<li>More browsers<\/li>\n<li>More frequent browser releases<\/li>\n<li>HTML 5 - video, canvas, offline storage<\/li>\n<li>The web in more places - Mobile, Chrome OS<\/li>\n<\/ul>\n<\/li>\n<li>Description of Selenium<\/li>\n<li>Strengths of Selenium<\/li>\n<li>Description of challenges for Selenium 1<ul>\n<li>Javascript security sandbox<\/li>\n<li>Same origin policy \/ cross-site scripting<\/li>\n<li>OS-level popups<\/li>\n<li>Speed \/ stability<\/li>\n<li>Java as the cross-language integration point (aka Not Very\nPythonic, eh?)<\/li>\n<\/ul>\n<\/li>\n<li>Description of Selenium 2 (aka WebDriver)<\/li>\n<li>Strengths of Selenium 2<\/li>\n<li>How Selenium 2 is more pythonic<ul>\n<li>(Lots and lots of example code goes here.)<\/li>\n<li>Spoiler Alert: No Java server required!<\/li>\n<\/ul>\n<\/li>\n<li>How to test Android apps<\/li>\n<li>How to test iPhone apps<\/li>\n<li>Selenium development roadmap<\/li>\n<\/ul>\n","category":[{"@attributes":{"term":"PyCon US 2011"}},{"@attributes":{"term":"browsers"}},{"@attributes":{"term":"embedded"}},{"@attributes":{"term":"html5"}},{"@attributes":{"term":"pycon"}},{"@attributes":{"term":"pycon2011"}},{"@attributes":{"term":"selenium"}},{"@attributes":{"term":"webdriver"}}]}]}