class: center, middle #PyCon 2017 ### 2017/06/22 ### Shing Lyu ??? top, middle, bottom left, center, right --- name: toc ###Agenda 1. Intro 1. Trends in the Python community 1. Event organization ??? This is a template --- class: center, middle # What is PyCon? --- background-image: url('pic/r0.jpg') class: middle, center --- background-image: url('pic/r1.jpg') class: middle, center --- ### What is PyConTW * Largest Python conference in Taiwan * Since 2012 * PyCon US started in 2003 * 3 Days (6/9~11) * Talks, Tutorial, UnConf, Sprints --- ### What's in this year's PyCon * Total talks: 52 * AI/Machine Learning: 16 * Language Features: 11 * Web: 6 * Investment: 5 * Chatbot: 4 * IoT: 2 * Blockchain * Education/Community --- ### Historical Trends 2016 * AI/Machine Learning: 6/49 * Web: 7/49 2015 * Web: 12/51 * AI/Machine Learning: 3/51 2014 * Web: 7/54 * Data Analysis: 9/54 2013, 2012: Mostly python itself --- ### List of talks * https://tw.pycon.org/2017/zh-hant/events/schedule/ * https://tw.pycon.org/2016/zh-hant/events/schedule/ * https://tw.pycon.org/2015apac/zh/schedule/ * https://tw.pycon.org/2014apac/zh/program/ * https://tw.pycon.org/2013/zh/program/ * https://tw.pycon.org/2012/program/ --- class: middle, center # Talk highlights --- ### Python 開源軟體考古 - 以 Viper 為例 * How to read legacy code * viper.li * Reduce Complaxity * Read early commits * Delete features * Architecture * Module dependency * Module import counts * Classify modules --- ### Python 開源軟體考古 - 以 Viper 為例 (cont'd) * Process: * Architecture overview * Bottom up (depth) * Top down (breadth) --- ### after VOEZ launch - how to resolve problems of mobile game server development and service maintenance * Rayark games * Stack: Python, Go, Ruby, C#, Google cloud platform * Fraud detection * Faking leaderboard * Digital signature * Pirated games * Nounce with signature --- ### after VOEZ launch - how to resolve problems of mobile game server development and service maintenance (cont'd) * Stability * Atomic R/W * Redis & Memcached * Transaction for inter-server communication * Don't use python for slow stuff * CDN * Offline analytic with Google BigQuery --- ### Keynote: Python in Education * Intro to Python tutorial (workshop) * Put all material online * Encourage contribution to CPython * BBC microbit * micropython * Magazine: Hello world and PyMag * Jupyter notebook * Mobile: pybee.org * pyvideo.org --- ### Understanding Serverless Architecture * StackOverflow * Disadvantages: * Time limit * Can't do heavy workload * No control over the container * Hard to monitor * Solution: Ansible * Let lambda trigger ansible to trigger containers --- ### Python module in Rust * Scenario: Write performance bottleneck in Rust instead of C * Python's ctypes or CFFI * rust-cpython: Package Rust as CPython extension * setuptools-rust * Example: Dropbox's brotli library --- ### Event organization * Volunteers * Everybody pays * Sponsorship * Beyond talks * Online communication --- ### Volunteers  --- ### Sponsorship * Minimal sponsored talks (only 2) * Job fair * Ice cream & Tea --- background-image: url('pic/booth_main.JPG') class: middle, center --- background-image: url('pic/booth_side.JPG') class: middle, center --- background-image: url('pic/booth_kkbox.JPG') class: middle, center --- ### Online communication * https://tw.pycon.org/2017/zh-hant/portal/ * Collaborative notes ([hackfoldr](https://hackfoldr.org/pycontw2017/)) * Chat room ([gitter](https://gitter.im/pycontw/2017)) * Sponser games * Social media links * App download --- background-image: url('pic/hackfoldr.png') class: middle, center --- background-image: url('pic/gitter.png') class: middle, center ---