R0 DAY1-03 Programmatic Debugging with GDB and Python - Scott Tsai (PyCon APAC 2015)
Speaker: Scott Tsai
Target Audience: Developers that use both C/C++ and Python
Python is the scripting language of choice for GDB but debugger scripting and programmatic debugging is underutilized in general because not enough developers are both GDB power users and familiar with Python. This talk aims to remedy that.
About the speaker
Device driver, firmware, system software developer. Open source contributor, Linux enthusiast. Worked in several Taiwanese consumer electronics companies, a big multinational corporation and a Silicon Valley startup.
個人網頁連結 http://scottt.tw/ Twitter @scottttw 組織/公司 Awit Systems 頭銜 Software Developer
PyCon Taiwan 2023|Talk 演講|Day 2, R0 13:05–13:35
? 說明 Description ?
You might already know about how Python can automate tasks using data stored in files or by making API calls, but what about more when the task is more complex? In this talk we'll explore the power of intuitive Python libraries for I/O, then use them to automatically beat an in-browser video game using the same strategies and inputs as a human. We’ll also discuss applying basic project management skills to take personal projects from ideas to successes. Whether you want to help robots take over the world or a good reminder of why you have to prove you’re human online, this talk is for you!
? 講者介紹 About Speaker - Jon Gaul?
Graduating from Georgia Tech with a dual degree in Computer Science and Chemical Engineering, Jon has long held a passion for investigating how the world works and how theory transforms into practice. This sense of curiosity has led him to Tokyo, Japan, where he works as a software engineer at HENNGE. He is excited to share his knowledge and deepen his relationship with the Python community.
Follow “PyCon Taiwan”
⭐️ Official Website: https://tw.pycon.org
⭐️ Facebook: https://www.facebook.com/pycontw
⭐️ Instagram: https://www.instagram.com/pycontw
⭐️ Twitter: https://twitter.com/PyConTW
⭐️ LinkedIn: https://www.linkedin.com/company/pycontw
⭐️ Blogger: https://conf.python.tw/
...
https://www.youtube.com/watch?v=V6e8-BfwLUo
Speaker: Arnaud Bergeron
Arnaud is a long-time supporter of open-source who started with a modest patch to OpenBSD about keyboard encodings many years ago. He worked on Sage for a bit as well as submitting various small patches to a number of projects.
While doing some machine learning work for his masters he enjoyed working with GPUs so much that he switched his thesis to focus on using GPUs for computations. Soon after he finished his masters, he ended up working as one of the core developers on Theano dealing mostly with improving and expanding the current GPU support.
https://tw.pycon.org/2015apac/zh/program/keynote-speaker/
...
https://www.youtube.com/watch?v=bmXU9dSYI3g
PyCon APAC 2022|一般演講 Talks|國泰金控 Cathay Financial Holdings / 美光科技 Micron 冠名贊助
✏️ 共筆 Note:https://hackmd.io/@pycontw/rkcoIaXJi
?? Slido:https://app.sli.do/event/9mocDRmn6yeMAqNbQTxXMo
? 投影片 Slides:https://docs.google.com/presentation/d/1Iji1klGczzQ4DxN6-E-zfEN5oPMMs2LZtD482-plGAM/edit?usp=sharing
? 語言 Language:英文 English
? 層級 Level:中階 Intermediate
? 分類 Category:測試 Testing
? 摘要 Abstract ?
Unit testing and code coverage are two essential aspects of an open-source codebase. These unit tests often run in spawned sub-processes or threads as sub-processes or multi-threading allow them to run parallelly. However, running unit tests in a sub-process creates a problem; as the documentation of `coverage.py` says — *“Measuring coverage in those sub-processes can be tricky because you have to modify the code spawning the process to invoke coverage.py.”*. As we will see in this tutorial, as soon as we run unit tests inside a sub-process, the coverage module ignores them completely, and the coverage value goes down. Through this talk, we will build up a solution (using `coverage.py` itself) to tackle this problem! Prerequisites - - familiarity with unit testing and code coverage in Python - familiarity with CI/CD using GitHub Actions - knowledge of multi-threading, multi-processing, CodeCov, and basic data structures like queue would be helpful but is not mandatory
? 說明 Description ?
The “Code coverage” value of a codebase depicts how much of the production/development code is covered by the running unit tests. In the world of open-source, all the maintainers try their best to keep this percentage high, and this process is often automated through tools like GitHub Actions and Codecov. Hence, code coverage becomes a good metric (not always) to check if a particular codebase is well tested and reliable.
Open source maintainers often prefer to run these unit tests in sub-processes or threads as it allows them to run in parallel and reduce the CI (continuous integration) run time on pull requests. They also make it easier to stop the tests midway if they take too much time (probabilistic tests).
We will start this talk with an introduction to a dummy project and review the importance of unit testing and coverage. Our first step would be to write basic unit tests for our dummy project and calculate coverage value through them. Next, we will dive deep into sub-processes and run our unit tests in a subprocess. This first test run would use coverage.py in the default mode, which will give us some bizarre results as if coverage.py does not notice the running tests at all. Our next step would be to configure a CI (continuous integration) pipeline using GitHub Actions and Codecov to automate this process in our remote repository. After going through the results, we will build a solution to cover the “un-covered” code in the local repository. As a final step, we will also re-configure the CI (continuous integration) pipeline to reflect the changes in our remote repository.
Moreover, this talk would include extensive discussions on unit testing, code coverage, and Test-Driven-Development in general, including my experiences and why any user-facing library should follow TDD.
? 講者介紹 About Speaker - Saransh Chopra ?
Saransh is an engineering junior at the University of Delhi, pursuing a major in Information Technology and Mathematics. In daylight, he work towards his academic skills and professional commitments, and by night, he develops and maintains open-source research software, which he believes are the key to collaborative and reproducible research. He is currently a fellow at the Institute for Research and Innovation in Software for High Energy Physics (IRIS-HEP), working on the first major release of Vector. He is also working as a technical writer for FluxML, which is being funded by the Julia Programming Language. He is interested in everything a Research Software Engineer and a Machine Learning Engineer do, including Scientific Machine Learning, code optimization, developing packages, technical writing, building infrastructures, developing open-source research software, JuliaLang, and Python.
#pycontw #pyconapac2022 #python #unittests #codecoverage
Follow “PyCon Taiwan”
⭐️ Official Website: https://tw.pycon.org
⭐️ Facebook: https://www.facebook.com/pycontw
⭐️ Instagram: https://www.instagram.com/pycontw
⭐️ Twitter: https://twitter.com/PyConTW
⭐️ LinkedIn: https://www.linkedin.com/company/pycontw
⭐️ Blogger: https://pycontw.blogspot.com
...
https://www.youtube.com/watch?v=iSwvTDy_IKw
Day 1, R0 13:30–14:30
Highlighting recent innovations from Science, Data Science, web, and electronics (Raspberry Pi, MicroPython and CircuitPython) as well as a brief recap of innovative ideas from PyCon in Portland.
Slides: https://speakerdeck.com/willingc/the-state-of-python-for-education
...
https://www.youtube.com/watch?v=t5BZ2527zj8
PyCon Taiwan 2016|一般演講 Talks
? 摘要 Abstract ?
Data processing framework is the core element of Big Data. It provided good abstraction for computing resource and logic. In this talk, I will use google mapreduce (written in python) to introduce some key components such as message queue, pipeline, object collection, fault tolerance and task flow which used in common data processing frameworks. Then use a micro framework written in django to demo how data processing works.
? 關於講者 About Speaker - David Chen ?
GliaCloud founder and coorganizer of GCPUG. Gliacloud is a startup focus on AI and data analysis. I like coding, ramen. and skiing. Most of time, I involve in python coding in Google Cloud Platform for big data processing and cloud architect designing. It is my pleasure to join pycon with lots of passion community members.
#python #pycontw #pycontw2016
Follow “PyCon Taiwan”
⭐️ Official Website: https://tw.pycon.org
⭐️ Facebook: https://www.facebook.com/pycontw
⭐️ Instagram: https://www.instagram.com/pycontw
⭐️ Twitter: https://twitter.com/PyConTW
⭐️ LinkedIn: https://www.linkedin.com/company/pycontw
⭐️ Blogger: https://pycontw.blogspot.com
...
https://www.youtube.com/watch?v=0AQvWl0l3Aw