Talks

All talks and speakers

Here are details of all the talks and speakers.

PyLadies Breakfast

The PyCon Thailand team is proud to present, in conjunction with PyLadies, the PyLadies Breakfast.

The breakfast takes place from 7:30 - 8:30 am on June 16th on Floor 10 of the Knowledge Exchange Center, (same location as the PyCon) and is organized by Newlogic.

This is a wonderful opportunity for ladies in tech to meet like-minded individuals from throughout Bangkok and South East Asia. During the breakfast, you will be able to exchange, chat, and mingle with individuals who share the same interests. This allows women (cis and trans) and non-binary/genderqueer people attending the conference to make connections and enjoy the novelty of a women-majority tech space! (Men are also welcome as a “+1” guest of an attendee.)

To attend, please register here (https://goo.gl/forms/JvheHTWNms04hvE42) by June 13th. We hope to see you there!

Attack of Pythons: Gotchas and Landmines in Python

Format

Format: Short Talk (30 minutes)

Abstract

Python "warts" are things for which people have criticised Python, typically aspects & mechanisms of its implementation, because such aspects either, cause irritation for parts of the community in some sense. This talk will be about common pitfalls that people face using Python programming language.

Description

Python may be one of the simplest and most flexible programming languages out there, but it is still a programming language. It still has syntax, datatypes, and some occasional dark corners. Python "warts" are things for which people have criticised Python, typically aspects of the language or mechanisms of its implementation, because such aspects either expose certain surprising inconsistencies, are regarded as omissions, or cause irritation for parts of the community in some sense.

This talk will be about common pitfalls (termed warts/landmines) that people face using Python programming language.

Prerequisites:

The only pre-requisite is that you must have some basic familiarity with Python programming language. Although it'll be good that you have laptops with Python already setup, it's not required as such !

If you are really curious how this talk will go, you can watch a similar talk for Ruby and Javascript at the destroyallsoftware site.

Manoj Pandey

Manoj Pandey

onlyrealmvp

Founder and Organizer for PyData Delhi. Keynote and international speaker at many Python conferences around the world. To-be Software Engineer at Yelp!


Unimaginable Things in Python

Format

Format: Short Talk (30 minutes)

Abstract

Have you ever felt that Python has let you down? Or have you ever found yourself writing code that works but you don't know why? This talk will explore weird behaviors in Python, and in some cases, how to exploit them.

Description

We will talk about obscure mistakes/bugs Python programmers may produce.

  • What actually happens and what could go wrong when we use comprehension-style syntax?
  • What is so scary about nested functions with duplicate variable names?
  • What is wrong with creating a sequence of lambdas from list comprehension syntax (e.g. adders = [ lambda x: x + i for i in range(10) ])?
  • What would you do if you want to delete elements in a dictionary according to some predicate functions?
  • What happens when you mix generator functions with with-statements?
  • and more!!

Watcharapol Watcharawisetkul

groupw66


How many coin in your piggy bank with micro-python & 3D-Printer

Format

Format: Short Talk (30 minutes)

Abstract

I need share my experience esp82266 with micro-python and 3D-Printer. Start with small problem. "How many coin in your piggy bank"

I resolve problem and make a new Question "how to real time update how many coin in your piggy bank". This project can apply to many project.

Description

Introduction

I need share my experience esp82266 with micro-python it easy. Every one c do by self. So I am share code in github esp8266 micropython beginner, Relay 3 line and I fixed small bug I found on Marlin 3D-Printer firmware and make video help every-one under stand 3D-Printer Technology. And I have youtube channel for share how to, review, teach 3D-Printer, drone, micro controller, Etc

Who am I

My name is Montri Sroymukda. I am working for Kaidee. So why I select this topic to share. because it is easy every-one can do in your home. Kids enjoy pushing coins in a machine which then updates in real time to let you know how much you have put in. This project can apply to many many project such as topUp machine , vending machine , Etc.

adapt to  many projects

Topic

  • Hardware Overview
  • Software Overview
  • Software Prerequisites
  • Server Setup
  • ESP8266 Setup
  • 3D-Printer
  • Demo
  • Next Projects

Montri Sroymukda

Montri Sroymukda

Montri@Montri3d

I am a maker. I love IOT, 3D-Printer and Micro-python technology make my life happy. I need share my experience esp82266 with micro-python it easy. Every one can do by self. So I am share code in github esp8266 micropython beginner, Relay 3 line and I help fixed small bug on marlin 3D-Printer firmware and share firmware micromake-C1 3D-Printer just have one fork and make video help every-one understand 3D-Printer Technology. And I have youtube channel for share how to, review, teach 3D-Printer, drone, micro controller, Etc


Image Classification using Deep Learning in Python

Format

Format: Long Talk (45 minutes)

Abstract

I will be talking about the Capsule Networks which is the latest buzz word in whole deep learning community. The talk will connect the dots from the past methods till Capsule networks and show how to make them work in python.

Sandeep Saurabh

sandeeps89

I have done my Bachelors and Masters of Technology from prestigious Indian Institute of Technology -Delhi , in Mathematics and Computing. Since college days ,I have been working in neural network projects using all kinds of languages like MATLAB , Java and python. I did internship in distributed computing at Chinese Academy of Science in 2011 and the experience which I had there was incredible. It taught me the importance and pleasure of interacting and sharing knowledge with people around the world . Currently I am working as a Senior Data Scientist in an analytics firm BRIDGEi2i Analytics Solutions in Bangalore.


Deep Learning in the Household

Format

Format: Short Talk (30 minutes)

Abstract

"DL is only for the big techs" might be true previously. Now, with new knowledge like Transfer Learning, open-sourced pre-trained models, and free GPUs like at Google Colab, is it now time for individual ML enthusiasts to enter and build some meaningful ML app? Let's explore together in this talk.

Description

A couple years ago, Machine Learning was thought of as the subject requiring intensive computing power and comprehensive understanding of mathematics. Thus, public assumed that it was the job exclusively for giant tech companies with super-genius researchers.

Today, the community has achieved substantial advancements and they are open enough to share their achievements and computing resources to the public at no expenses. Frameworks like TenserFlow, Keras make building a Deep Learning model require only a Python code snippet. Furthermore, Transfer Learning helps developing models even easier by taking portions of pre-trained more generic models, many of which are open-sourced. This has potentials to accelerate the machine learning apps on mobile devices, one of the emerging trend in the field, where compactness and performance are preferred over accuracy.

With rich on-line resources around, including online courses (many of which are free), blog posts, and computing resources available at no expenses, the talk covers the steps to apply those knowledge to build a small, yet useful app based on Deep Learning model - without Deep Pockets, a Ph.D., and mega infrastructure.

The talk is intended for beginners with background in traditional software developments. Mathematical knowledge in differential calculus (derivatives - not in the context of Stock Futures) is useful but not required as it may be touched briefly. Audiences are not expected to walk away as subject matter experts after finishing the talk but the speaker hope to spark inspiration to learn more on the subject and eventually end up developing something for their own use.

Surasak Watthanayontkit

Earned a B.Eng. nearly 20 years ago, when the vocabularies like "Deep Learning" and "Data Science" had not even been materialized. His full time job is traditional software development (Python is not used) and it has no direct relevance to Machine Learning.

He discovered MOOCs in late 2013 and completed his first MOOC on Coursera in 2014. Since then, he has completed over 60 courses (he tries to increase the number even though has already lost the exact count) including a number of Python programming and Machine Learning courses.

In his spare time, apart from doing MOOCs/writing Python programs and practicing Keras/TensorFlow framework, he also writes Swfit programs (and published one on iOS AppStore, although, again, Swift is not used in his full time job) He also does endurance sports like long distance running (a.k.a. marathons), triathlons, and high-altitude trekking


Enabling Blockchain Energy Trading among Smart Buildings through the Use of Multi-Agent Systems and Internet of Things Devices

Format

Format: Long Talk (45 minutes)

Abstract

This talk discusses Multi-Agent Systems with Blockchain Energy Trading. Python is selected to be the language for the IoT integration and backend, whereas Hyperledger and React Native are chosen to be the Blockchain platform and mobile frontend respectively. Real-life demo is also demonstrated.

Description

Due to the proliferation and continuously improvement of solar PV, energy storage, electric vehicles, Internet of things (IoT) devices, these open up new opportunities and change the ways how end-use customers (smart homes and smart buildings) engage in the electricity market. Rather than passively consume energy by purchasing electricity with a fixed tariff from an electric utility, in the near future they can become prosumers who are able to generate revenue on their excess energy and able to obtain transparently-source, reliable energy. This talk discusses the development of a Multi-Agent System Platform, so called PEA HiVE, with Blockchain Energy Trading application. Python is selected to be the development language for the IoT integration and backend, whereas Hyperledger and React Native are chosen to be the Blockchain development platform and our mobile frontend respectively.

Dr. Warodom Khamphanchai

kwarodom

Dr. Khamphanchai received his PhD from the Department of Electrical and Computer Engineering at Virginia Polytechnic Institute and State University, USA. His research interests are home/building energy management systems, Internet of things, multi-agent systems, machine learning, data analytics, demand response, cyber-physical systems, and power system operation and control. His research focus is to develop building energy management open source software (BEMOSS) for energy savings and peak demand reduction in small- and medium-sized commercial buildings. The current released version of BEMOSS is made available on the Github repository (URL: https://github.com/bemoss/bemoss_os) and on the United States Department of Energy (DOE) website (URL: http://energy.gov/eere/buildings/downloads/building-energy-management-open-source-software-development-bemoss)

Dr. Khamphanchai was a full stack Python developer focusing on developing applications for building energy management and multi-agent systems development, which is the foundation of the BEMOSS platform. He is also the active member of the IEEE Power and Energy Society, the IEEE Internet of Things Society, the IEEE Computer Society, TechShop DC/Arlington, Google Developer Group (GDG) Washington D.C., Modev Washington D.C., as well as DC robotics group. He received his Masters degrees in Electric Power System Management Field of Study from the School of Environment, Resources and Development (SERD), Asian Institute of Technology (AIT), Thailand in 2011 and the B.Eng. degree in Electrical Engineering from Chulalongkorn University, Thailand in 2009.

His dissertation topic is: "An Agent-based Platform for Demand Response Implementation in Smart Buildings"

For more info, please visit : kwarodom.wordpress.com or contact: kwarodom@vt.edu, +66-951-615-011


Alternative way for build async server

Format

Format: Short Talk (30 minutes)

Abstract

ถ้าคุณอยากสร้าง api server โดยใช้ async แต่ยังไม่รู้ว่าจะเลือก async framework ตัวไหน ผมมี framework ตัวใหม่ชื่อ Sanic มานำเสนอ Sanic สร้างโดยพยายามให้เหมือน Flask ซึ่งเป็น framework ที่ใช้ง่าย แต่ Sanic จะเน้นความเร็วที่สุด

Description

This session is about Sanic framework. Sanic is async io framework design like Flask Why Sanic is fast we will look inside Sanic how they design it and why How Kaidee use Sanic.

Keynote (WIP)

  • What is Sanic
  • Sanic routing architecture
  • Sanic design

ถ้าคุณกำลัง หรืออยากสร้าง high load api server สักตัวหนึ่ง นี่เป็น session ที่คุณควรเข้ามาฟัง

Phatthana Batt Tongon

Phatthana Batt Tongon

kh_sylar

  • Technical lead @Kaidee
  • former startup founder, personal acquire by Kaidee
  • start working since 2nd years in university
  • Full stack developer
  • Craft beer explorer
  • Monster hunter :)

Continuous code quality with sonarqube

Format

Format: Lightning Talk (5 minutes)

Abstract

งานผมคือการตรวจสอบคุณภาพโปรแกรมของบริษัท ปัญหาหนึงของการทำงานนี้ คือ ปริมาณเนื้องานที่ถูกส่งมาให้ตรวจสอบจำนวนมาก
ถ้าหากใช้การประชุมเพื่อทำโคดรีวิว ก็จะไม่มีเวลาสำหรับทำงานอื่นเลย

จนผมได้พบกับโปรแกรม SonarQube ที่สามารถตรวจสอบโคดเป็น หมื่นๆบรรทัดได้ภายในเวลาไม่นานทำให้ชีวิตการทำงานของผมสะดวกขึ้นมาก

Description

SonarQube

เป็นโปรแกรมที่ใช้ในการพัฒนาคุณภาพโปรแกรมได้โดยมีความสามารถดังนี้

  • ใช้ในการวัดคุณภาพ source code โดยสามารถตรวจสอบได้ทั้ง Bug, Vulnerability, Code Smell, Duplications, coverage
  • วิเคราะห์กราฟความสัมพันธ์ของคุณภาพจาก issue ที่ตรวจสอบพบ
  • วิเคราะห์ issues ที่ตรวจพบ และสามารถกำหนดงานให้กับคนในทีมได้อีกด้วย

Adisak Srisuriyasavad

ผมเคยทำงานในสาย programmer มาเป็นเวลา 10 ปีเพิ่งเริ่มทำงานในบทบาทของ Quality Assurance ผมยังไม่ค่อยมีประสบการณ์เกี่ยวกับการวัดคุณภาพมากนัก แต่ผมก็สามารถทำงานนี้ได้เป็นอย่างดีเพราะเครื่องมือตัวนี้ ผมทำได้ ผมก็เชื่อว่าทุกคนที่ได้ลองใช้ก็จะทำได้เช่นกันครับ


Concurrent python

Format

Format: Short Talk (30 minutes)

Abstract

Some people tends to choose the library or framework without understanding the underlying technology. This talk wants to explain different types of concurrency in python. Take away from this talk would be that the audience can choose the right framework to the right task.

Description

ทอร์คนี้จะพูดถึงหัวข้อต่อไปนี้

  • Concurrency หลายๆ แบบใน python * Thread * Process * Event loop
  • Characteristic ของ concurrency แต่ละแบบ
  • ข้อดี/ข้อเสีย ของ concurrency ในแต่ละแบบ
  • สถานการณ์แบบไหน ควรใช้ concurrency แบบไหน
  • ตัวอย่างการใช้งาน code example, library example

Ukrid Kuldiloke


API ไม่เสร็จ แต่หน้าบ้านต้องเสร็จนะครับ

Format

Format: Lightning Talk (5 minutes)

Abstract

เอา python มาช่วยทำ api ปลอม ๆ ให้หน้าบ้านเรียก เพื่อเอาข้อมูลไปแสดงหน้าบ้านให้ได้ก่อน จะอ้างว่า api ไม่เสร็จหน้าบ้านไม่เสร็จไม่ได้

Wasith Theerapattrathamrong

PH41

Use be be a developer like you, then I took an arrow to the knee.


Photographic Identification of Sea Turtle using Python and OpenCV

Format

Format: Lightning Talk (5 minutes)

Abstract

Recognition of individuals within a population is a key issue for most behavioral and ecological studies of wild animals. In this talk, you will understand how Python and OpenCV assist us to counter attack to this problem. Result from experiment show that the proposed method is promising.

Description

Basic biological, ecological, and population demographic information is essential to species conservation and management. The identification of individuals within a population allows the study of growth rates, age structure, sex ratios, survivorship, residency, distribution, movement patterns, and population size, which are important for ecological and behavioral studies. The automatic identification could enhance performance of this process. In this talk, algorithm and the way of using python and OpenCV to assist users for identification using facial photograph is addressed. The experimental result could show the performance and promising of the idea.

Natapon Pantuwong

nathan_hunt

Dr.Natapon Pantuwong completed his PhD from the University of Tokyo in 2012 in the filed of electrical engineering and information systems. After 11 years as a lecturer in KMITL, he started his career as senior research specialist at Yannix (Thailand ) Co.,Ltd, where he can focus his work on parallel programming using GPU. His research interests cover both human and technical aspects of the design of interactive computer systems. Main areas are computer graphics, multimodal HCI and new interactive technologies, social and collaborative online systems especially for work and education, artificial intelligence and computer games, as well as digital art. Moreover, fundamental algorithms about signal processing, image processing and computer vision are also included in his research fields.


Writing a good frontend test cases using RobotFramework

Format

Format: Short Talk (30 minutes)

Abstract

Some web-developers work on the backend and some on the frontend but after all, it comes down to the usability and bug-free delivery of the updates and new releases of functions to the customers. To test frontend directly while writing reusable test cases using Robotframework is another question.

Description

This talk is a short talk about how a simple Gherkin-styled Python based Robotframework could be used to write test cases. It covers the brief installation using python envwrapper - an environment isolation package and simply showing 2 python scripts which is usable with Robotframework and 1~2 Robotframework's keyword-based testing. It will also cover some important inbuilt functions in Robotframeworks such as sending out keystrokes to the System and using some other libraries to help and make front-end testing a much more awesome experience. Another part of the talk would be describing a single keyword base and some yaml scripts to make the test-cases more reusable.

Min Khant Zaw

amazingburman

Name's Min Khant Zaw. I am Computer Science student who is enthusiastic about mostly near-to-the-metal stuff. I mostly code in C++, Java and Python but I use C++ the most because I like playing around with Algorithms. I am also the President of the IT Society in my campus and had organized over 10 events for the Computer Science students. I mostly spent my time listening to British Synth Pop and spitting out all the crappy codes I can come up with in Sublime Text.


DIY: Python with partially charged batteries

Format

Format: Long Talk (45 minutes)

Abstract

We discuss re-implement some features of standard Python library using a subset of Python itself (e.g. range, namedtuple, property, Enum, dataclass, etc.). This allows us to gain more in-depth understanding the mechanisms inside Python as well as introducing some obscure but useful Python features.

Description

In this talk, we discuss how some features in standard Python library can be manually re-implemented using a subset of Python itself. Examples include:

  • built-in range function
  • namedtuple class constructor
  • property decorator
  • Enum class (since Python 3.4)
  • dataclass (since Python 3.7)
  • etc.

Throughout the process of re-implementing these features, we should gain more in-depth understanding the mechanisms inside Python.

Watcharapol Watcharawisetkul

groupw66


A journey from Monolith into Microservices architecture

Format

Format: Long Talk (45 minutes)

Abstract

My personal experience as a witness of each evolution steps of an E-commerce backend system from a huge Monolith application into the Microservices architecture written mostly in Python. This will cover reason behind each steps, problems we've faced and practices we've learned along the way.

Description

This is my personal experience with one of my previous employer. I joined them at the time that their entire company backend was run on a huge PHP based Monolith application which cannot scale out and required the largest Amazon EC2 instance at that time in order to handle all the workloads. By the time I left them, we have successfully migrated the system into Microservices architecture. This talk will walk you through multiple points of time during that period. Explaining how we gradually pull functionalities out of the legacy system. What kind of challenges have we faced along the way. What have we learned so far.

Pinnapong Silpsakulsuk

Pinnapong Silpsakulsuk

icmpecho

A software developer who has been working on broad range of technologies from a small embedded system board to a large complex system in the cloud. Interested in software development practices and software architecture.


How to make a better environment using Python

Format

Format: Lightning Talk (5 minutes)

Abstract

This talk is for someone who wanto to improve the around environment better using Python. Python is a programming language that anyone can easily start with. In this talk, I will talk about how we improved development environment using Python.

Description

Python is a programming language that anyone can easily start with. It is the grammar is simple, included in the standard OS, executing is very easy. By the way, is there anything you find inconvenient in living? For example, for example, doing the same confirmation manually many times during development etc. Many tiny problems that can be automated actually exist. In this talk, I will talk about how we improved development environment using Python.

Target:

  • Python beginner
  • Someone who wants to make something using Python
  • Developers who want to improve the development environment better : )

A speaker talks about the following topics:

  • why python is a better tool when improving little problem
  • the use case of Python: How to improve the development environment

omega

omega

equal_001


Django Backend from zero to deployment

Format

Format: Long Talk (45 minutes)

Abstract

Here are the topics

  1. CRUD for frontend guy (DjangoREST)
  2. Report Query for management level(Djang-ORM)
  3. Send the Push Notification for customers(FCM)
  4. Test With Runner (pytest)
  5. Deploy (Docker)

This talk will not cover Gitlab-runner, AWS EC2, S3/CloudFront, route53

Description

Each small topics here I estimate about 5-8 minutes each

DjangoREST

  1. JWT and headers
  2. CRUD
  3. Nested Serializer Order/OrderItem
  4. IdentityHyperLinked
  5. Read/Write fields
  6. Search, Filter, Ordering
  7. Permission

Django-ORM

  1. related_name Order/Invoice
  2. related_query_name

FCM

  1. Show only setup of django-push-notifications
  2. Show redis

Pytest

  1. Show simple POST a value

Docker

  1. Create DockerFile
  2. Build an images of Nginx, Django, Postgres, redis
  3. docker-compose up

El

El

Django REST lover and ReactJS beginner. Implement&code ~10 projects from last year. Struggling to get all 3 skills. They are DevOps, Backend, and Frontend in order to lead multiple teams.


Powerful geographic web framework GeoDjango

Format

Format: Short Talk (30 minutes)

Abstract

This talk is for software engineers who wants to develop a product with location information and Python. GeoDjango is a powerful geographic web framework. I'd like to introduce a way to start a project and how to use features.

Description

Services dealing with location information in recent years are rapidly increasing. However, a perspective of building development environment that handles geometric information from scratch is very hard work. As one of the solutions, I would like to introduce a module of Django and GeoDjango for easy developing of location information.

A speaker talks about the following topics:

  • Overview GeoDjango
  • Way to start the project and how to use features (Demo)
  • What a Can (and Cannot) Do with GeoDjango

The talk gives you my knowledge to develop applications using location information more easily with GeoDjango.

Mitsuki Sugiya

Mitsuki Sugiya

equal_001

I' working in Japan as a web applications engineer, Pythonista.


Python as First Programming Language - By Student For Student

Format

Format: Lightning Talk (5 minutes)

Abstract

ผมจะเล่าเกี่ยวกับการใช้ Python ในการสอนหนังสือ เรื่องการนำไปประยุกต์ในการเรียนการสอนครับ ในขณะนี้ผมเป็นนักเรียนอยู่ ทำให้ผมเห็นปัญหาหลายๆอย่างของการเรียนเขียนโปรแกรมครับ ผมเพิ่งรู้จัก python ประมาณ 1 ปีที่แล้ว ผมอยากแชร์ความสนุกของการศึกษาpython และวิธีการที่ผมจะสามารถใช้สอนเด็กๆ ให้สนใจ programming

Description

as above You will see how it cool

when talk start.

thank for reviews

P. Sankaew

P. Sankaew

I'm just student. That want to repair Thailand's Fail Education System.

I'm Patcharapol Sankaew. Junior Science Talent Project Scholarship. Co-Founder of RANTERT and ZexterLAB.


AI in Security, Finance, and eCommerce

Format

Format: Long Talk (45 minutes)

Abstract

Using AI (particularly in field of computer vision and face recognition) for use in security in ecommerce and finance.

I gave this talk in few meetups in Bangkok: https://goo.gl/eFdxbt https://goo.gl/ctyuGA

Demo video: https://youtu.be/zZuxExLcA8k Slides: https://goo.gl/BLJgJE

Description

Hollywood vs. Reality in facial recognition

  • high traffic areas like the AOT / Suvarnabhumi airport / anywhere where scanning for person of interest might be crucial for security personnel
  • why AI fails in traditional sense of security, particularly ID verification, and video surveillance
  • democritization of AI , and crazy / weird / non-traditional uses of machine learning, particularly in areas of payment transfers, ecommerce transactions,

TaeWoo Kim

TaeWoo Kim

taewookim

15 Years in Engineering & Data in NYC / Silicon Valley

Solar One Media
Ad tech big data (RTB) processing 2 TB data/mo and $15m/year in ad spend
One Smart Lab
AI in video surveillance & biometrics for finance, ecommerce, and security
Media

Logo Detection Using PyTorch

Format

Format: Short Talk (30 minutes)

Abstract

"Ad Tech" is the use of digital technologies by vendors, brands, and their agencies to target potential clients. One popular case is mining the Web to identify their logos. I will show you how to do this by using PyTorch - a popular deep learning framework in Python.

Description

In this talk. We will walk through the one significant use of deep learning for digital marketing and ad tech, the image recognition, which brands use to identify their potential clients, deliver personalized offerings and analyze the spending in the world of social media. The easiest way to identify the brand is by its logo.

The logo detection can be done by object detection models. We will use PyTorch, a popular deep learning framework in Python, to build the model to identify a brand by its logo in an image. Along the talk, we'll see the relative value of deep learning architectures-Deep Neural Network (DNN) and Convolutional Neural Network (CNN) , learn the effect of data size, augment the data when we don't have much, and use the transfer learning technique to improve the model.


Flask ณ Kaidee

Format

Format: Short Talk (30 minutes)

Abstract

ที่ขายดีมีคนมาลงขายของหลายหมื่นชิ้นและมีการเข้าใช้งานรวมกว่า 19 ล้านเพจวิวต่อวัน เราใช้ Flask รองรับการใช้งานหลากหลายทุกวันนี้ และในเซสชั่นนี้เราจะมาเล่าให้ฟังว่า ทำไมเราถึงเลือกใช้ Flask และผลลัพธ์เป็นยังไง

Description

ในทอล์คนี้จะเล่าถึงประสบการ์ณของทีมงาน Kaidee ในการใช้ Flask microframework ในหัวข้อต่างๆ เช่น

  • ทำไมเราถึงเลือกใช้ Flask
  • มี framework อื่นที่เราใช้มั้ย
  • ประสบการ์ณที่เจอจากการใช้งาน

หมายเหตุ: ทอล์คนี้จะไม่ได้ลงลึกทางเทคนิคมากนัก ภาษา: ไทย เหมาะสำหรับ: บุคคลทั่วไป, ผู้ที่ยังไม่เคยใช้งาน Flask ในทราฟฟิคสูงๆ, หรืออยากฟังประสบการ์ณการใช้งานจากทีมอื่น

Poohdish Rattanavijai

Poohdish Rattanavijai

RobGThai

I am:

  • Thai, atheist.
  • Coder, software enthusiast, teacher wannabe.
  • Read more than 7 lines per day.
  • Use spaces, not tabs.
  • Like to laugh and making people laugh.
  • Gamers and #NUFC
  • Enjoy reading between the lines.
  • happen to be Software Architect at Kaidee.com

Python + XPath = Extra Parsing Power

Format

Format: Short Talk (30 minutes)

Abstract

Python offers powerful string and nested data tools. One can parse HTML/XML with only built-ins or light wrappers. While such approaches are appealing there are benefits to borrowing more from the XML world. We discuss XPath and XML DOMs and show how well integrated approaches yield cleaner code.

Description

Python's power in manipulating strings and handling nested data structures is well known. So much so that for many mild XML and HTML processing use cases one can get the job done using only built-ins and common parts of the standard library. But the markup language world offers many powerful tools which do not map so directly onto python's data model. And there are large gains to be had if we use native XML tools alongside python and give each component the chance to shine when it can. At the same time learning new tools takes time and adding new parsing and query engines to a project consumes resources. The aim of this talk is to highlight those situations where the benefits of calling in heavy machinery from the XML world outweigh the costs.

We begin with an overview of the XPath query language and use example queries to highlight differences between python's nested data model and that of common markup languages. For example HTML distinguishes between attributes and content while a nested collection of python dicts, list and tuples only has content. To be sure we can express the same information in both models. But we can write shorter, clearer and more-efficient-to-process queries when we retain the distinction. Similarly we can traverse python's built-in data structures with combinations of various braces and parentheses but it is not so simple to pass references into such nested structures and then navigate around. With an XPath processor and common document object model such actions are straightforward – and arguably more pythonic than a solution built entirely on native language features.

Finally we connect things back together with some simple web-scraping examples. Here we use XPath queries to quickly extract elements of interest and then leverage python's string handling capabilities to swiftly convert that content into native data types.

Examples will employ both the lxml parsing library and the selenium web scraping framework. The goal is to focus on use cases where the XML machinery is worth employing. All the wrappers are similar and we wish to highlight that it does not particularly matter which package you learn – it matters that you learn when to employ XPath and a proper DOM.

Jonathan Reiter

Jon is Managing Director of Data Finnovation, a Singapore-based startup that is changing the way the financial services industry handles data. Before joining the Fintech movement he spent 15 years modelling and trading fixed income and currency derivatives for banks in New York, Tokyo, London and Singapore. During this time Jon worked as a quant and trader, and managed both market-making and electronic trading teams. Prior to working in the capital markets Jon studied Computer Science at Brown University where he earned an ScM in Computer Science and an A.B. in both Mathematical Economics and Computer Science.


Introduce syntax and history of Python from 2.4 to 3.6

Format

Format: Short Talk (30 minutes)

Abstract

I will introduce the new syntax and functions between Python 2.4 and Python 3.6 in this talk. I will also compare the old style to the new style. You will learn the best practices for Python coding and how to perform refactoring your old Python code. You can look at the evolution of Python.

Description

I think we began to use Python in some production systems at 2.3 or 2.4. I think Python 2.4 had enough functionality to build any system. Many tools ware created and used.

Python 2.4 was released nearly 15 years ago. Since then Python has been steadily evolving. Although it is possible to create a system with only Python 2.4, it is necessary to know the latest Python trends in order to write code that is better, more maintainable, and more performance-oriented.

There are also features and grammar in the web knockout that are often overlooked, not only by new python users, but also by seasoned Python veterans. I will introduce those features and grammar that I think are important while comparing the grammar and functions incorporated in Python 2.4 and now.

Manabu TERADA

Manabu TERADA

terapyon

Manabu is the founder and CEO of CMS Communications Inc., a Tokyo-based professional Plone and Python development company.

Manabu has contributed east Asian language functions to Plone. He has been Board chair of PyCon Japan and is a core member of the Japan Plone Users Group. He was Guest Associate Professor of Hitotsubashi University in 2011, and he became a PSF Contributing member in September 2017.


A JS developer tries python, escapes from Jupyter to build a product

Format

Format: Short Talk (30 minutes)

Abstract

Jupyter notebooks are great to prototype ideas, but aren’t shippable product. Learn how a JS developer with limited python experience solved this problem. See how to use python to work closely with product/UI designers, shape a reproducible product workflow and solve a user problem.

Description

Jupyter notebooks are great to prototype ideas, but aren’t shippable product (to real users). To bridge the gap between this (a notebook) and a successful product, you must own the user experience and work with product design and feature planning.

Sometimes you must go on an adventure back to being a junior, get some new tech off the shelf and work your way back to familiar territory. Learn how a JS developer with limited python experience worked through tooling and workflow planning choices to iterate to victory.

See how you can use python to work closely with product/UI designers to shape a reproducible product workflow and solve a user problem.

Ideal audience: People with any level of python experience who want to see how it can fit into the wider picture of product development in the trenches of a startup.

Richard Washer

Richard Washer

richardwasher

I'm the Chief Javascript Cowboy (aka Engineering Lead for Frontend) at Stitched, a startup combining graph theory, natural language processing and machine learning to improve understanding and allocation of people and projects in large companies. We're based in London, UK, but I'm from New Zealand!


The power of Jupyter notebooks

Format

Format: Long Talk (45 minutes)

Abstract

I'll give a visually interesting talk on Jupyter, to show how: - exploratory programming is a powerful tool that should be in every Python developer's arsenal, - it's great for beginners to learn Python, - it helps visualise results, - you can install on tmux on Android to run Python on the go.

Description

By Jupyter! I'm gonna show you the power of Jupyter!

By that I mean I'm going to do a live demo of Jupyter notebooks.

When I was a kid I grew up with the BBC Model B. When you switched this thing on, you got a prompt. You could launch into BASIC and write programs. Suddenly you felt powerful. The possibilities were endless. 30 years later, Jupyter again gives me that same feeling of being able to explore, solve problems, and that awesome power was right there at your fingertips.

The exciting thing about this talk is that people will be able to interact with it as I go, and even write some code.

I'll explain what Jupyter is, what it's used for, and then I'll do a demo using Jupyter to mess around with some data and make some plots. Then wow the crowd with an animation.

I'll set up a sandboxed notebook that the audience can access, such that they can follow along and try out the code on their mobile phones or laptops. For Android users, I'll then show them what they need to do to install jupyter running under termux, a debian-like environment for Android (no rooting required). Then I'll show them the awesome power of being able to write Python on a mobile device, by writing a script to log my phone's location and take photos, and show them by SSHing into a jupyter session on my phone and walking around with it.

Live demos galore!! What can possibly go wrong?? But the nice thing is, because the jupyter notebooks will be running locally, I don't have to depend on the internet.

My hope is that this talk will inspire people that programming is fun and exciting, and to remove the barrier to entry of it being hard to set up an environment.

Mike Amy

Mike Amy

These days I pretend I'm a lazy layabout but actually I am always working on some kind of weird software projects. In a previous life I helped save the world at the UN. I'm also helping to (dis)organise this event.


Python for Life Sciences

Format

Format: Short Talk (30 minutes)

Abstract

Python has gained increasing popularity among bioinformatics researchers and practitioners.

In this talk, I will explain how Python is being used to help scientists decipher the language of Life. Specifically, I will show how to do biological sequence and structure analysis using Python.

Description

Python has gained increasing popularity among bioinformatics researchers and practitioners. In this talk, I will explain how Python is being used to decipher the language of Life.

The talk is divided into three parts. In the first part, I will briefly describe how biological molecules (e.g. DNA, Protein) are represented in computer programs. In the second part, I will present key Pythonic software tools in bioinformatics. Finally, in the third part, I will talk about two Biological data analysis tasks solved with Python, namely molecular sequence analysis and molecular structure analysis.

Kulwadee Somboonviwat

Kulwadee Somboonviwat

I am a researcher who loves using Python. My current interests include bioinformatics, question answering systems, chatbots, and deep learning. I have been using Python since 2008. My first Python project is the development of multi-threaded Pythonic web crawler using Stackless Python and PostgreSQL. In 2013, I have started collaborating with biochemists and helped them analyzing biological data by using Python as the main language. I speak Thai, English, and also some Japanese. :-)


Python Software Development for Hollywood Blockbuster Movie VFX in Thailand

Format

Format: Long Talk (45 minutes)

Abstract

Yannix provides Visual Effects (VFX) preparation services for Hollywood blockbusters including Black Panther, Star Wars: The Last Jedi and Thor: Ragnarok. We present cool ways in which we have used Python in running our business, we hope you will find something of value to you from this talk.

Description

Yannix has been providing Visual Effects (VFX) preparation and support services for over 2 decades. Located in suburban Bangkok, Yannix currently has about 350 employees. We work on the latest Hollywood blockbuster movies, many of which have won or been nominated for Academy Awards in VFX. Examples of movies we have worked on recently include Black Panther, Spider-Man: Homecoming, Star Wars: The Last Jedi and Thor: Ragnarok. We develop completely custom, proprietary software packages for the computer graphics and image processing work we do, which includes match moving services such as 3D camera tracking (input: video, output: how the camera moved in 3D per frame), rotoscoping (output: cut-out of characters/objects per frame), VR 360 motion reconstruction and image stitching, and many more. For the past 12 years, we have been using Python as our primary application programming language, with specific code optimization for computationally intensive inner loops optimised into C++ library calls or small GPU programs. We start our talk by showing a sizzle reel of the VFX-prep work we have done for our Hollywood movie clients. We will then talk about the many cool things that can be done using Python by showing how we have used it. We hope that by sharing this information, you will gain some insight into how Python can be used to effectively run your business, especially if, like Yannix, you need heavy compute power for algorithms requiring parallel processing, data mining, machine learning, or computer vision.

We have used Python in many cool ways. We will briefly present several cases here. As part of our earlier tracking application, we have an application called Ptrack which not only is written primarily in Python, also uses Python scripting as a file format for application data storage. Our current flagship application Obsidian (which is also written primarily in Python) uses Python as a macro language where all UI widgets write out the corresponding Python API calls to a scripting window so that users can add their own Python macros to buttons by a simple cut/paste. Obsidian is a GUI-based software developed in Python with parts such as image processing, multidimensional minimization and real-time interactive display functionality optimized in C++ or CUDA and called via Python. Among its functions are feature matching and 2D motion analysis, 3D camera tracking, rigid object tracking, and rotoscoping services. While we extensively use C++ as our inner loop optimization for parts of the code with high computational complexity, we also take full advantage of multiprocessing in the computational intensive sections. Python is intentionally weak at high performance multiprocessing, but we will present how one can easily make Python applications that are truly multiprocessing by spawning threads in Python that call C++ functions which release the global interpreter lock, or simply using OpenMP from C++ functions. Our C++ function calls are sometimes SIMD optimized to get up to about 4 times speedup for many of our image processing routines.

We have also created advanced technologies such as automatic feature matching using Bayesian classifiers that learn from data mining previously processed images. Along the same lines, we have studied the creation of strong classifiers from a number of weak ones through the AdaBoost classifier we use via the open source scikit-learn library, a machine learning Python library. Nearly all aspects of our business operations are modeled through OpenERP (now called Odoo), also completely scripted in Python. We will show the various unique features we have added to OpenERP to localize it for Thailand and to add our own innovative modules for workflow management, task/project management, company policy management, budget management, and many more. We will also introduce a preview of the Yannix ERP (YnxERP) system currently under development to replace our OpenERP system by the end of 2018. Even the distributed datastore/database used for the YnxERP was completely developed inhouse and has many innovative features we can share. We will also introduce how we used Python scripting to integrate our software with Autodesk Maya, a popular 3D animation and modeling software commonly used in the VFX industry. Additionally, we will also present how we have successfully implemented GPU-based programming for image processing and other algorithms requiring massively parallel architectures, and called it from Python applications. Having seen the many ways we have used Python in our business, we hope you will find something from this talk that will be of value to you and your business.

Xye

Xye is the founder and chief executive manager of Yannix (Thailand) Co., Ltd. Xye is a native of Los Angeles. He has been doing research and development for Hollywood VFX since the early 90’s and developed one of the industry’s first tracking software systems. He supervises overall Yannix management direction while still heavily involved in research and development at Yannix where he continues to push computer vision and machine learning technologies into production service. Yannix has been providing Visual Effects (VFX) preparation and support services for over 2 decades. Located in suburban Bangkok, Yannix currently has about 350 employees. Yannix works on the latest Hollywood blockbuster movies. Recent titles include Black Panther, Spider-Man: Homecoming, Star Wars: The Last Jedi and Thor: Ragnarok. Prior to founding Yannix, Xye worked at Boss Film Studios. In his spare time, Xye also designs and builds solar power inverters, security systems, electric vehicles, solar powered floating houses and custom built water pumps and writes a blog about it. Xye graduated from the University of Southern California (USC) with a Bachelor of Science in Mathematics.


CoderDojo - a free programming club for kids

Format

Format: Short Talk (30 minutes)

Abstract

CoderDojo is a community organized free programming club for kids aged 7-17, presently in 1000+ locations all over the world.

Description

For many of us, programming wasn't something we studied in the classroom but a passion driven by curiosity, a love for technology and the urge to share. CoderDojo takes these principles and combines them into a self-directed learning environment. This talk covers the overall structure and concepts of CoderDojo, why you should set one up, lessons learned after operating CoderDojo for a year and why community-driven education is the future.

Mishari Muqbil

Mishari Muqbil

mishari

Mishari has been using Linux since 1994, coordinator with the distributed computing effort to break RC5-56 in 1997, built Thailand's largest Renderfarm for the animation Khan Kluay where he also started using Python.

Currently his obsessions are:

  • Delivering Systems as a Service at Proteus Ops
  • Homeschooling his kids (and fixing education)
  • Organizing Bangkok Scientifique, a monthly meetup for people interested in science and technology
  • Co-Founder of CoderDojo Thailand
  • Co-Founder of SciDojo Thailand, a support network for parents who want to build a science culture in their household
  • OpenstreetMap contributor
  • Cycling

Rage Against The Learning Machine (A New Hope)

Format

Format: Short Talk (30 minutes)

Abstract

This talk, aims to make machine learning simple, fun and accessible to anyone. (The hard part, although honestly it is close to impossible). Working examples in Python and couple of tools such as word2vec (Google) and fasttext (facebook), might be demoed to prove some love/points.

Description

Machine learning is ranked numero uno in Gartner’s Top 10 Strategic Technology Trends for 2017. In recent years, it has received a lot of attention and already revolutionized many areas from finance to image recognition to transportation. This talk, aims to make machine learning simple, fun and accessible to anyone with working examples covering couple of tools.

errazudin ishak

errazudin

Errazudin works as Data Masseuse at Jauhar Science Research, Malaysia. His job focuses on making sense out of massive data. He has previously spoken at several meetups and conferences and has worked with various technologies. In his free time, he loves to compose Ahmad-Jais-like tunes in his dream or try to help his little daughter with her super tough kindergarten homework.


Template-matching in NumPy.

Format

Format: Lightning Talk (5 minutes)

Abstract

The sequence of nucleotides in a DNA can be represented as a one-dimensional array. A necessary task in genomic data science is finding all subsequences in a DNA sequence that match an input string. As the sequence to be searched is extremely long, finding the most efficient solution is a priority.

Description

I became immersed in the template-matching problem after I encountered it while studying genomic data science. However, this application area will only be mentioned briefly, as the template-matching problem is also relevant to other application areas. The main focus of my talk is how the multi-dimensional array-handling ability of NumPy (not found in the core Python) provided an efficient solution to the problem of template-matching. Finally, I consider alternative solutions and compare them with that of NumPy.

Adam Gardiner

Adam Gardiner

lomyenSEA

I live and work and run in Bangkok. My favourite place to chill out is a rooftop bar - the only way to see a view here. I believe that learning how to code is an essential part of digital literacy, so everyone should get the chance to learn how to code at least once in their life.


Introduction to serverless Python with AWS Lambda

Format

Format: Short Talk (30 minutes)

Abstract

You can do so much with a single Python function: from answering web requests to building chatbots. And we can do that completely without maintaining a server, using Functions-as-a-Service! Let's look at the pros and cons—hint: billing is special!—and look at a chatbot built with an AWS Lambda.

Description

Just a Python function. That's all we usually need to answer web requests, to process uploaded images or to have our chatbot reply to chat messages. To run a Python function, you don't want to create and maintain a server. Instead, you want FaaS: Functions-as-a-Service!

In my talk, I'll explain the idea and power of FaaS. We'll also consider potential challenges and limitations to be aware of. Persisting data and pricing are obvious ones, but you likely might want to organize your code differently, too, if you want to build an entire app on FaaS and think about versioning, too. Finally, I'll demo how to answer an HTTP request with a AWS Lambda function, for example to build a chatbot or answer a SMS.

Murat Knecht

muratknecht

You are smart, motivated and have a unique perspective — that's my premise as CTO of engageSPARK. Originally I'm from Berlin, and have worked there for a couple of years, but for the past three years I've served at engageSPARK in Cebu, Philippines, and enjoy almost every minute of it. CTO means being team lead, architect, coder and coach. I find challenge and joy in all these roles.

On the tech-side, I work mostly with Python and Golang, but secretly enjoy languages with the odd super power like LISP. I use Emacs, and highly respect Vim power-users, because they're so incredibly fast.

I try to live purposefully and deliberately. That's why I joined engageSPARK as the first opportunity Labs company. Let me know how I can help you live your life well.

Oh, and if ever you find yourself in Cebu, do say Hi! (For example on LinkedIn or at muratk[@my company's name.com] . We have a desk and Internet for you, if you're willing to share some of your knowledge and uniqueness. :) In any case, always glad to help out with sightseeing tips and a cold beverage.


Hy: Running a webapp with LISP on Python

Format

Format: Lightning Talk (5 minutes)

Abstract

Python is not only a language, it's also a runtime! Let's have a look at Hy, a LISP dialect for the Python platform. I'll demo a small Flask app written in Hy—and we'll explore the expressive power of combining Python's standard modules and libraries with LISP macros.

Description

Python is so much more than just a readable language: It's also a powerful platform with an amazing standard library and tons of libraries! Let's use that platform to run another language, a LISP.

Hy is a LISP running on the Python platform. In this Lightning Talk I'll demo a small Flask webapp written in Hy, and show how Hy macros allow us to express our intention clearly.

Murat Knecht

Murat Knecht

muratknecht

You are smart, motivated and have a unique perspective — that's my premise as CTO of engageSPARK. Originally I'm from Berlin, and have worked there for a couple of years, but for the past three years I've served at engageSPARK in Cebu, Philippines, and enjoy almost every minute of it. CTO means being team lead, architect, coder and coach. I find challenge and joy in all these roles.

On the tech-side, I work mostly with Python and Golang, but secretly enjoy languages with the odd super power like LISP. I use Emacs, and highly respect Vim power-users, because they're so incredibly fast.

I try to live purposefully and deliberately. That's why I joined engageSPARK as the first opportunity Labs company. Let me know how I can help you live your life well.

Oh, and if ever you find yourself in Cebu, do say Hi! (For example on LinkedIn or at muratk[@my company's name.com] . We have a desk and Internet for you, if you're willing to share some of your knowledge and uniqueness. :) In any case, always glad to help out with sightseeing tips and a cold beverage.


Using Python to build a smart contract in NEO blockchain

Format

Format: Long Talk (45 minutes)

Abstract

Smart contracts can go beyond the payment method in proposing to embed contracts in all sorts of asset. Until now, Solidity and Go are play vital role in a dApp development. What if we can use thousands of AI /IoT libraries that already available in Python to develop an inclusive innovative project.

Description

The application of the blockchain technology is revolutionary and for visionary developer like you, it is a good time to hear what we are going to share.

Smart property is the main application we are going to talk. It is the extension of smart contracts reaching out into the practical world that includes the IoT. We will share a story that how we used Python to implement a smart property that maintain correctness of the ownership information and prevent unauthorized access. The real advantage to making property smart is that it can be traded, accessed and controlled in a near trust-less way, reduce cost as well as fraud. We will cover how Python and NEO blockchain provide the integration between P2P network and IoT devices in high-level overview then give you how to use Python’s SDK and tools to help you jump-start on smart contracts creation.

The talk will cover (1) basic blockchain and cryptocurrency (2) Neo blockchain and Python SDK (3) Smart contract and its applications (4) Smart property and IoT (5) ICO , crowdfunding and NEP5 token and hope that after this talk you will know more about the blockchain development and kick-off the idea for your next project.

Pisuth Daengthongdee

Pisuth turns himself into a blockchain developer with extensive skills on IoT and Chatbot since 2017. Prior that time, he was working in media industry for 8 years in Thailand experienced using Python most on the time on system administration and enterprise systems integration. He also received two international blockchain dev awards in 2018 and has strong passion on blockchain technology and distributed economy.


Why I Fell in Love with Tavern (and why I'm staying)

Format

Format: Workshop (> 60 minutes)

Abstract

Creating automated API tests should not be a chore. Enter Tavern, a pytest plugin and Python library that was just released last year. Tavern is very easy to learn and use that even testers with no coding experience can immediately start writing tests! See how Tavern works and let's dive in!

Description

Being able to write and run automated API tests is something that should not be a struggle for teams practicing continuous integration. For a startup like us, the tools we adopt need to be well-maintained, easy to use, cost effective and ideally open source. Tavern fits the bill, and it's also a pytest plugin, which is a huge plus as well.

In this workshop, we will cover how to get started with Tavern, how to start writing basic tests, how to use variables and reuse requests. Participants should walk away from the workshop with a solid understanding of how to use Tavern for API testing.

banquil_05ive@yahoo.com

"Tester by choice"

engageSPARK is my first official foray into the tech world. I fell into testing by chance, and remained a tester by choice. When asked to choose between 3 different career paths, I chose testing and I've loved every minute of it. Why? Because as a tester, I get to code AND annoy people about their buggy code, all at the same time!


A Beginner's Guide to Deep Natural Language Processing with PyTorch

Format

Format: Long Talk (45 minutes)

Abstract

Are you a newbie in NLP? Have you recently been intrigued by the hype of deep learning? Do you want to get your hands dirty? This talk is for you! I will teach you the basic ideas of NLP, basic building blocks of deep learning, and how to assemble them into a piece of workable code in Python.

Description

Natural Language Processing (NLP) is a challenging subfield of Artificial Intelligence, in which human's ability to understand and produce language is imitated. With the advent of deep learning in mid-2000s, many NLP tasks previously done in traditional statistical methods have gained significant accuracy improvement, thanks to its powerful feature extraction.

This talk will go into the basic ideas of natural language processing, some building blocks of neural networks for deep learning, and how to assemble them into a piece of runnable code for various NLP tasks. PyTorch will be used as the main gear, because we can easily cope with both static and dynamic network architectures while maintaining the code readability. The speaker kindly assumes the audience to have some knowledge in Python (intermediate: especially classes and objects), university calculus (basic), and linguistics (very basic).

The talk will be (preferably) conducted in English. The Q/A session can be done in both English and Thai.

Prachya Boonkwan

Prachya Boonkwan

Prachya Boonkwan is a computational linguist and a computer scientist with 16-years experience in natural language processing using Python. He received B.Eng. (honors) and M.Eng. degrees in Computer Engineering from Kasetsart University in 2002 and 2005, respectively. He received a Ph.D. degree in Informatics (specializing in natural language processing) from the University of Edinburgh, UK, in 2014. Since 2005, he has been working as a researcher for Language and Semantic Technology Lab at NECTEC, Thailand. His topics of interest include: grammar induction, statistical parsing, statistical machine translation, natural language processing, machine learning, and formal syntax.


Teaching and Learning with Python

Format

Format: Short Talk (30 minutes)

Abstract

Python is a great language for teaching (and learning!) computer science. Check out the tools of the trade I use as a CS teacher to engage students in meaningful learning. Diving into discussions of pedagogy can benefit educators and learners alike.

Description

This talk will feature discussions of how Python can be used to teach principles of computer science but it isn't limited to educators. Learning about learning is an increasingly important skill in today's world of rapidly evolving technology. I will share my experience teaching computer science and computer programming starting with being a part of the team that changed my university's Intro to Programming course from using C++ to Python. Then, I'll share tools I've used to engage students in Python programming including repl.it and Raspberry Pi and run through some of the lessons I've taught with them. I'll also discuss education best practices and how learners can apply them to their own self-education.

Michael Delfino

Michael Delfino

michaeldelfino

I'm an educator with a background in computer science. I've worked as a firmware engineer at a large corporation and as a software developer at a small firm and taught at innovative high schools teaching mathematics and CS. I'm currently teaching at an international school in Bangkok. I am part Thai but born and raised in America in the state of Kentucky.


Learning Python via on-line resources

Format

Format: Lightning Talk (5 minutes)

Abstract

So you heard the name "Python" and now want to "speak" the language? This talk will give you a glimpse of what Internet has to offer.

Description

Python is considered one of the programming language that is easy to start yet is capable of accomplishing complex tasks due to the strong support from the community. It is one of the languages recommended to be the first to learn to understand how digital computers work without worrying too much on the language subtleties.

Undoubtedly there are many resources available on the Internet, both for those who want to get the taste of the programming world as well as those who are already well-versed in other programming languages. In this talk, the speaker will share experiences on a subset of them.

Surasak Watthanayontkit

Earned a B.Eng. nearly 20 years ago, when the vocabularies like "Deep Learning" and "Data Science" had not even been materialized. His full time job is traditional software development (Python is not used) and it has no direct relevance to Machine Learning.

He discovered MOOCs in late 2013 and completed his first MOOC on Coursera in 2014. Since then, he has completed over 60 courses (he tries to increase the number even though has already lost the exact count) including a number of Python programming and Machine Learning courses.

In his spare time, apart from doing MOOCs/writing Python programs and practicing Keras/TensorFlow framework, he also writes Swfit programs (and published one on iOS AppStore, although, again, Swift is not used in his full time job) He also does endurance sports like long distance running (a.k.a. marathons), triathlons, and high-altitude trekking


Talk to your Python app - using LINE!

Format

Format: Short Talk (30 minutes)

Abstract

"LINE" is by far the most popular tool in Thailand for instant communication - isn't it about time we allow our Python apps to use it, too? In this talk we'll show you how easy it is to build something amazing, using smart services, Open APIs, and the wonderful Python Requests library.

Description

Machine Learning & Artifical Intelligence are intriguing topics - however, the complexity of these concepts makes it impossible to just quickly use those to build an app. The good news is: you do not have to be a data scientist to build intriguing apps that are able to listen, speak and see.

What we will cover:

  • Open APIs and Cognitive Services
  • Visualizing Data
  • Building an application to use with LINE messenger
  • Python Requests Library

Uli

Uli

u1i

Data & Automation Geek, based in Singapore. Python, Git, Redis, HTTP. Worked for companies including Red Hat, Microsoft, IBM, Playboy and Yahoo!


Aaaarrgghh, Spider! Web scraping with Scrapy

Format

Format: Short Talk (30 minutes)

Abstract

A quick yet reasonably thorough introduction to Scrapy, the high-level web crawling & scraping framework for Python. Includes a demo, cause I like living on the edge.

Description

Talk outline:

  • Speaker introduction
  • What is scraping?
  • What is Scrapy?
  • Core concepts demo
  • Problems and solutions
  • Resources

The "core concepts demo" is a hands-on introduction, starting from a simple example and progressively adding more features. It covers the following topics:

  • Spiders (Spider, CrawlSpider, etc)
  • Selectors (XPath, CSS, Regex, etc)
  • Items & item loaders
  • Input & output processors
  • Pipelines

Slides from the previous version of this talk: https://speakerdeck.com/citizen428/aaaarrgghh-spider-web-scraping-with-scrapy

Michael Kohl

Michael Kohl

citizen428

Ruby developer since ~2003. Py-curious, Love FP. I talk a lot about programming.


Pythonic Functional Programming with Coconut

Format

Format: Short Talk (30 minutes)

Abstract

Writing functional-style Python can be challenging ranging from minor nuisance such as verbose lambda syntax to more serious problems such as iterator chaining and pattern matching. Coconut is a functional superset of Python that aims to enable elegant and Pythonic functional-style code.

Description

With functions being first-class citizens, Python allows us to build programmes with higher-order functions. However, it is often cumbersome to do something that would be bread-and-butter in a typical functional language. The lack of concise syntax for lambdas, currying and function compositions is a nuisance. The lack of boilerplate-less pattern matching and pattern matching could be a deal breaker. This talk presents Coconut, a functional superset of Python, which aims to enable writing elegant functional code, whilst staying with the familiar Python environment and libraries. We will identify various pain points of writing functional code in Python, and demonstrates how Coconut addresses the problems. In particular, we will start with a basic coding problem, and move on to designing a machine-learning pipeline with a functional approach.

Anthony Khong

I am a data scientist in Agoda, an innovative accommodation website that places a huge emphasis in machine learning algorithms. I have been using Python on a daily basis since 2013 as a freelance data scientist and algorithmic trader. I am also a functional programming enthusiast, and my experience mainly comes from writing Scala code in Agoda and using Haskell for scripting. I enjoy writing functional-style code in Python, and have been actively trying to marry the two for years. My other passion include high-performance computing, Bayesian statistics and Vim.


Monitoring your Python Application

Format

Format: Long Talk (45 minutes)

Abstract

Often late, the time to debug that particular bug/issue occurring in production with respect to your application is increasing. It might also cause business disruption and financial loss. In this talk, I'd explain how you could use Application Performance Monitoring to understand your application

Description

Application Performance Monitoring (APM) is a solution built on Elastic Stack. APM helps you to build/store data points in Elasticsearch and visualize. It automatically collects information from your python application/service.

This talk mainly targets at introducing the solution, why it is needed and what you can do with data. It ends with once data is stored within Elasticsearch, what else you can use (ex. Infrastructure Monitoring, Machine Learning).

Agenda

  • What is APM?
  • Why APM?
  • What it can do to your Application?
  • Demo

Aravind Putrevu

aravindputrevu

Aravind is a loquacious person, who has something to talk about everything. He is passionate about evangelising technology, meeting developers and helping in solving their problems. He is a backend developer and has six years of development experience. Currently, he works as a Developer Advocate At Elastic and interact with developer community in South East Asia and India.

He has deep interest in Machine Learning, Security Incident Analysis and IoT tech. In his free time, he plays around Raspi or a Arduino.


Object detection and Human recognition with YOLO in Python

Format

Format: Long Talk (45 minutes)

Abstract

New research papers for object detection coming out every other day made really difficult to decide on one algorithm.I chose YOLO after analysis and OH BOY,how much i love my decision!Here,I'll try to give an intuitive explanation behind the choice of YOLO,challenges faced and how to overcome them.

Kajal Puri

Kajal Puri

Agirlhasnofame

Kajal Puri is working as a Data Scientist in Fractal Analytics. Before this, she has been dabbling with numbers and statistical models through personal projects and industrial internships (All thanks to Startups!). She has trained models to make them understand human language (Natural Language Processing) and categorise objects (Computer Vision). In her spare time, when she is not reading about AI Apocalypse, she can be found writing poetry. She tweets at @Agirlhasnofame


PyThaiNLP : Thai natural language processing in Python.

Format

Format: Lightning Talk (5 minutes)

Abstract

I build open source natural Language toolkit for thai language.

Description

I am a PyThaiNLP founder. PyThaiNLP is a python module similar to nltk , but it's working primarily on Thai language instead of English. It supports both Python 2.7 and Python 3. GitHub : https://github.com/PyThaiNLP/pythainlp

Wannaphong Phatthiyaphaibun

Wannaphong Phatthiyaphaibun

I am a PyThaiNLP founder.


Python for Self-Trackers: How to Visualize and Better Understand Your Life in Data

Format

Format: Long Talk (45 minutes)

Abstract

Can personal data help us become more productive, healthier, and happier?

It’s easy to track with a smartphone, wearable, or sensor. But can data help us become a better self?

I’ll show you how to track, and, with python, how to engage with your data to become a data-driven you!

Description

Can self-tracking and personal data help us become more productive, healthier, and happier?

It’s easier than ever to track our lives, work and bodies with a smartphone, wearable, home sensor or computer. But what can we do with all this data? Can it help you become a better version of yourself?

While we often hear about data in terms of data leaks and surveillance, personal data and self-tracking can be empowering too. With smartphones, wearables, tracking apps, home sensors, and many other methods, it’s easier than ever to collect a lot of data on our lives. But we are still struggling to engage and find meaning in all of the data we collect.

Python and its data science toolset can help transform personal data into a personal dashboard of data visualizations and predictive models. How can python help us better collect, visualize, understand and find patterns in our personal data and self-tracking?

In this talk, I’ll show you how to track your life in different ways, and, with python’s data science toolkit, how to engage and understand that data. The stated goal of the quantified self and self-tracking is to “measure or document something about your self such that it gains meaning.” I think we can go one step further and use data to become better; use data to become data-driven!

In the first part of this talk, we will introduce what is self-tracking and the quantified self as well as various methods that can be used to track and collect data on our lives using wearables, smart phones, apps, computers, sensors, professional testing, etc. We will use python to collect, clean up, process and combine the data together. In the second part, our objective is to create a comprehensive dashboard of our life in data. We will begin our exploration of our personal data by creating a series of data visualizations. In the last part, we will use some statistical and machine learning techniques to search for categories, patterns, relationships and predictions in all of our tracking data.

By the end of the talk, you should be equipped with some ways to track your life, health, productivity and more as well as how to use Python’s data science tools to engage, visualize, find patterns, and make predictions with your data.

Mark Koester

Mark Koester

markwkoester

Mark Koester (@markwkoester) is a self-tracker, writer, and web and mobile app developer. Creator: PhotoStatsApp, a photo tracking app without the cloud, PodcastTracker, a web app to log your podcast listening, and Biomarker Tracker, a health analytics service to better understand your blood test results. He currently runs a boutique dev shop (Int3c.com) and is an active open source contributor. Former Regional Lead in Greater China at Techstars, a seed-stage accelerator. He regularly writes about self-tracking, quantified self and data-driven life at www.markwk.com.

Social Media:


การพัฒนาหุ่นยนต์ด้วยภาษา Python Developing robot with python

Format

Format: Short Talk (30 minutes)

Abstract

ผมกำลังทำงานอยู่ในบริษัทหุ่นยนต์สัญชาติไทย ก็เลยอยากจะแชร์ความรู้เกี่ยวกับ การพัฒนาหุ่นยนต์ ด้วยภาษา Python ว่ามันช่วยให้เร็วขึ้นยังไง

I'm working in Thai's autonomous robotic company. I share knowledge about how fast to develop robot with python.

Description

ยกตัวอย่าง ว่าใช้ Python ยังไงและมันเข้ามาช่วยให้ การพัฒนา, การทดสอบ, การประมวลผลข้อมูล, visualization ข้อมูล, Simulation สำหรับ AUV (หุ่นยนต์ใต้น้ำอัตโนมัติ) เร็วขึ้นยังไง รวมถึงข้อดีข้อเสียด้วย

Show example how to use python and how it fast in Developing, Testing, Data Processing, Visualization Data, Simulation for AUV (Autonomus Underwater Vehicle) , pros, cons

Sippakorn Widsankun

  • Robotics Programmer
  • Hobbyist Photographer
  • Wannabe World Traveler
  • Sci-Fi Movie Lover
  • Alcoholic Atheist

Playing with Social Network, Geo-Spatial, Financial Flow, and Banking System Data: Graph-Theoretic Computation in Python

Format

Format: Long Talk (45 minutes)

Abstract

Data scientists increasingly encounter problems whereby data objects exhibit network-like inter-connectivity. Graph-theoretic computation enables feature extraction from relationship graphs. This talk shows how easy it is to leverage readily available Python libraries/functions to perform such tasks

Description

Much of 'Big Data' revolution has to do with dealing with non-traditional datatypes and feeding machine learning engines with non-numerical variables. Just as Convolutional Neural Networks excel at object recognition task precisely because the convolution layers expressly capture grid-array information embedded in the 2-dimensional visual field, analysis involving network-patterned objects (individuals in an online social network, transportation nodes, banking accounts with payment network, etc.) stands to benefit from the ability to extract graph-theoretic properties from the network connectivity patterns, either to provide insights in and of themselves, or as pre-processing to further machine learning task down the line.

Poomjai Nacaskul, PhD, DIC, CFA

  • (Bachelor's) Physics & Economics (double major), Case Western Reserve University
  • (Master's) Operations Research (minor in Finance), Weatherhead School of Management
  • (Doctorate's) Computational Intelligence & Operational Research, Imperial College, London
  • (Bank of Thailand) Head of Quantitative Models & Financial Engineering, Financial Supervision Group
  • (SCB - current) FSVP, Quantitative Models & Enterprise Analytics, Business Intelligence, Transformation Group

Creating amazing APIs in Flask with Flask RESTplus

Format

Format: Short Talk (30 minutes)

Abstract

In this session, I will talk about how we can use Flask with Flask RESTplus to create robust, performant, well-documented and user-friendly APIs. I have used this technology on numerous projects during a continuous learning span of 3 years, and I will be sharing all I have learned during this talk.

Description

I have been using Flask with Flask RESTplus to create REST API based backend projects for around 3 years now. For those who don't know, Flask RESTplus is an amazing library for REST API development with features like automatic live documentation, input payload validation, neat code organization, automatic response marshaling and a lot of extensibility. You can easily extend it to include other features like response pagination, ETag caching, rate limiting, custom authentication and authorization system and basically anything else you can imagine. In this talk, I will share my hard gained knowledge with code snippets on how to quickly get started and do all these amazing things in Flask RESTplus.

Avi Aryan

Avi Aryan

aviaryan123

Avi is a full-stack web engineer at Toptal with four years of professional experience. He has worked with most of the popular stack used on the web today including Python, JavaScript, and Go. He is also a multiple-time Google Summer of Code participant, where he mentors budding developers to contribute to open-source projects. These days he is working on his Blockchain based social media startup called HapRamp which aims to revolutionalize the social media ecosystem in India.


Build dynamically scaled highly available python application with MySQL

Format

Format: Long Talk (45 minutes)

Abstract

In today's world, loads are ever changing while providing service constantly is a must. MySQL has the tools to help you maintain your backend database available and consistent at all times.

Description

MySQL High Availability clusters allow you to develop any application that can scale to accommodate for any load your application need to serve. We will explore the new InnoDB Cluster, understand how it works and how to build it. Next we will talk about MySQL NDB Cluster and how it's different to InnoDB Cluster.

Finally, we will do a live demo of both to show in real life how you can use them both with your Python application.

Ronen Baram

With more then 25 years in the IT industry, with strong focus on open source solutions, for the last 9 years acting as a MySQL technical consultant for many APAC companies and organisations. Based in Melbourne and serves ANZ as a core territory.

Have a great passion to talk, learn and share knowledge. Overall nice person, given the morning coffee was reasonable.


Building a sustainable codebases with Type Annotations

Format

Format: Long Talk (45 minutes)

Abstract

Have you ever need to figure out which type of variable and arguments is?. Would you believe if I tell you that the most exception that raises in Python is TypeError. This talk will bring you to one of the Python features that people rarely know about a Type Annotations.

Description

Maintaining large and fast-growing codebase is always hard. Especially on dynamic type language like Python. The good news is Python is now offering type annotations and it will help you understand your code more easily.

In this talk, We'll introduce you to the new syntax of type annotations and the tooling around type annotations ecosystem which will make your development workflow more productive. We'll share our experience on how we embrace type annotation to our development team and also some common pitfalls you might want to avoid.

Yothin Muangsommuk

Yothin Muangsommuk

yothinix

Yothin is a Pythonista at Pronto Tools.He has been writing Python since 2010 with love on Pythonic way and the zen of Python. While he not doing Python stuff he's a Trekkie.


Artisanal Async Adventures

Format

Format: Short Talk (30 minutes)

Abstract

Asynchronous networking may seem hard to understand at first, in this talk I will show this is not the case. In 100 lines of code, I will write a low level async network stack in front of your eyes, explaining how things work as we go. By the end, you should understand how and why async code works!

Description

If you want to write an efficient server, asynchronous networking is an excellent strategy to do so. To build a production ready system, you would use asyncio, tornado, twisted, trio or another popular implementation. However, to fully understand how and why it works, I will ignore these solutions and instead craft an artisanal asynchronous implementation in front of your very eyes. Step by step we will turn a blocking socket server, only capable of handling a single connection at a time, into a beautiful non blocking server that has no trouble dealing with many connections at once. By the end, you should see that asynchronous code is not magical at all, but nevertheless incredibly useful.

Jonas Obrist

Jonas Obrist

ojiidotch

I'm a Python developer from Switzerland, living in Japan. I got started with Python developing modifications for the video game Counter-Strike before getting my first job building websites using Django. There I got involved with the popular open source Content Management System django CMS. Nowadays I work primarily with the Tornado framework and various asyncio libraries.


Elasticsearch with Python

Format

Format: Workshop ( > 60 minutes)

Description

The workshop is organised as follow:

Part 1 (30 min)
Elasticsearch Basic - REST API, cluster etc
Part 2 (60 min)
Indexting elasticsearch with PyThon Client
Part 3 (30 min)
Elasticsearch APM service

Elastic / Jongmin Kim - Developer Advocate / Evangelist

Founded in 2012 in Amsterdam by the people behind Elasticsearch and Apache Lucene, Elastic set forth a vision that search can solve a plethora of data problems. The origins of the company start back in 2010, when Shay Banon wrote the first lines of Elasticsearch and open sourced it as a distributed search engine. With the rise of cloud computing and changes in IT infrastructure demanding requirements such as real-time search across infinite amounts of structured and unstructured data, Shay foresaw the need for a new type of software to solve today's real-world data problems. Steven Schuurman, Uri Boness, and Simon Willnauer shared in Shay's vision, joining forces to create the Elastic company we have today. Since then, the creators of Kibana, Logstash, and Beats have joined the Elastic family, rounding out a product portfolio known as the Elastic Stack, which is used by millions of developers around the world. The Elastic family unites employees across 32 countries into one coherent team, while the broader community spans across over 100 countries.