Conference Schedule

Thursday, 31 May Friday, 01 June Saturday, 02 June

Thursday, 31 May


8:00am - 8:55am
Registration

9:00am - 10:00am

Opening Keynote
by Jordan Dea Mattson, Site Director, Singapore Engineering Centre at Indeed.com
10:00am - 10:40am
Breakfast

10:00am - 12:00pm

Workshops

Learn more about workshops here...

IoT with Micropython and ESP8266 (Room S3)
by Shang Liang,

Getting Started With Test Driven Development in Python (Room SR2)
by Hilda Ng Li Fang,

Introduction to Pipenv (Room S3)
by Siow YiSheng,

Making a modern Python package (Room SR2)
by Joongi Kim,

Property-based testing and other insecticides (Room SR2)
by Zac Hatfield-Dodds,

Transform, Transfer and Predict (Room SR3)
by Liling Tan, Jia Ying Jen & Basil Han King Kwang,

Introduction to JupyterLab (Room SR3)
by Paul Lorett Amazona,

Building Alexa Skills with Python and Flask (Room SR3)
by Max Ong,

Production-ready Django project with cookiecutter (Room SR2)
by Liuyang Wan,

FOSSASIA PSLab - Pocket Science Lab (Room SR3)
by Mario Behling,

Introduction to Pandas (Room SR2)
by Poh PengYu,

12:00pm - 1:00pm
Lunch
1:00pm - 2:23pm
Workshops (continued)
2:30pm - 3:40pm
Tea Break
3:40pm - 4:30pm
Workshops (continued)
4:30pm - 6:00pm
Coding Competition

More info coming soon...




Friday, 01 June


8:00am - 8:55am
Registration

9:00am - 10:00am

Opening Keynote
by Katharine Jarmul, Founder at kjamistan
10:00am - 10:40am
Breakfast

Track 1: Data Science (Room SR1)

10:45am - 11:25am

Building Siri : AI Powered Chatbots
by Aditthya Ramakrishnan, Founder at Next Tech Lab


Ever wanted to make your own virtual assistant that tells witty jokes, engages in philosophical banter and helps automate useful tasks? In this talk, we will break down how to make effective bots that have their own quirky personalities and can be used to create engaging conversational experiences.

11:30am - 12:10pm

Teaching Computers ABCs: A Quick Intro to Natural Language Processing
by Lory Nunez, Data Scientist/Data Engineer at J.P. Morgan


Natural Language Processing (NLP) is a component of Artificial Intelligence. Knowledge of NLP can make unstructured text data add tremendous value to any application. We will go over basic NLP tasks, techniques and tools. We will end with an NLP app built from open source libraries.

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

GloVe - Python for Word Representation
by Loveme Felicilda, Data Scientist at Ahrefs


The talk will show you how to use Glove-python, an implementation of Stanford's Global Vectors algorithm to represent words as numeric values (vectors) to generate word relationships. Word vector representations make mathematical operations on words possible.

2:00pm - 2:40pm

Better Care and Feeding of Machine Learning Models
by Jeanne Choo, Engineer at AI Singapore


Traditional training and testing workflows for machine learning models neglect important features, namely: reproducibility, interpretability, retraining and lifecycle management. This talk explores these ideas, shares latest developments, then implements an end-to-end example.

2:45pm - 3:25pm
Tea Break

3:30pm - 4:10pm

Tracking the tracker: Time Series Analysis in Python From First Principles
by Kenneth Emeka Odoh, Software Engineer at Apivio Systems / Nuri Telecoms


Humans seek to know what the future holds. In order to predict the future, we have to study the past. Time series analysis can provide the right framework for prediction. This talk is focused on forecasting and anomaly detection.

4:15pm - 4:45pm

How to deploy machine learning models to production (frequently and safely)
by David Tan, Software Developer at Thoughtworks


ML practitioners can have a hard time deploying their models to production, even though continuous & fear-free deployments is a solved problem in software engineering. We will demonstrate how we can apply "continuous delivery" principles to reduce deployment time from weeks/months into <30-minutes

Track 2: Web Development / DevOps (Room SR3)

10:45am - 11:25am

A scalable blueprint for product customization with Python 3
by Chinab Chugh, Co-Founder at Jublia & Ikhsan Rosyidin, Software Engineer at Jublia


The talk focuses on how a SaaS project can be flexible to the business needs of their clients. It will discuss on a custom structure we have built using Python 3.6 to extend our core technology for client customisations, with emphasis on building rapidly and quick code deployments.

11:30am - 12:10pm

Writing robust, readable, and maintainable concurrent programs in Python
by Wilson Tjhi, Senior Consultant at ThoughtWorks


Threading, futures, coroutines, asyncio, celery, and gevent. What are the differences among these concurrency techniques? This presentation tries to make clear different concurrency models supported by Python and which libraries are best suited for the different problems that each model solves.

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

Dockerizing Django
by Ernst Haagsman, Product Marketing Manager for PyCharm at JetBrains


Docker helps make sure that the Django application you develop is exactly the same as the Django application you eventually deploy. In this talk, you will learn how to containerize a Django application, and use docker-compose to connect your Django application to your entire stack.

2:00pm - 2:40pm

Build a Data-Driven Web App That Everyone Can Use
by Galuh Sahid, Data Engineer at Midtrans


You're a data scientist with a machine learning model that you want to show everyone. Do you give your users your Python scripts and tell them to run "python mycoolmodel.py"? Is there a better alternative? How about a web app? The speaker will show you how Flask can be the best fit *pun intended* for this case.

2:45pm - 3:25pm
Tea Break

3:30pm - 4:10pm

Devil is in the details: Microservices, Security and DevOps
by Mohammed A Imran, Senior Security Engineer at Zendesk


Security is tough and is even tougher to do in complex environments with lots of dependencies. Microservices architecture eases the pain a bit but brings its own challenges. This talk will showcase how we can leverage DevSecOps techniques to secure python based APIs/Microservices and at scale.

4:15pm - 4:55pm

Taming System with Python: A Sysadmin perspective
by Tang Ing Wei, Lead System Engineer at ROKKI Avionics Sdn. Bhd


We can tame the concurrency in Python even through the constraint of GIL by using the concept of Communicating Sequential Process (CSP). This is a sysadmin's sharing on how to tame the bewilderment among various OS's in daily tasks by utilizing Python's concurrency libraries and modules.

Track 3: Other (Room SR2)

10:45am - 11:25am

Introduce Syntax and History of Python from 2.4 to 3.6
by Manabu Terada, Founder and CEO at CMS Communications Inc.


The speaker 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.

11:30am - 12:10pm

Artisanal Async Adventures
by Jonas Obrist, Software Engineer at HDE Inc.


Asynchronous networking may seem hard to understand at first, in this talk, the speaker will show this is not the case. In 100 lines of code, he 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!

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

Crypto-AI: A Guide to Building Private and Decentralized AI Systems by Mixing Cryptography, Blockchains and AI.
by Satish Shankar, Data and AI Lead at Manulife


Learn the essential cryptographic ingredients necessary to build machine learning & AI systems that can be effective and yet respect your privacy.

2:00pm - 2:40pm

Practical Python Design Patterns
by Ramanathan Ramakrishnamoorthy, Director/Co-Founder at Zentropy Technologies


Any production application requires good use of design patterns and this talk will be about popular design patterns/choices and their implementation. The talk will also cover basics of metaclasses and be using metaclasses in some design choices practically.

2:45pm - 3:25pm
Tea Break

3:30pm - 4:10pm

Test-Driven Development of a Static Code Analyzer in Python
by Terry Yin, Programmer at Odd-e


Static analyzers help us find problems in our code. They are like compilers in terms of complexity; they need to know the syntax of target languages. Is it possible to build such tools without comprehensive upfront design? He will share his experience in making such tool in Python over the past 8 years.

4:15pm - 4:55pm

Python In The Job Market
by Lee Wei Xuen


For online jobs where data is largely unstructured and inconsistent, Python can be effectively utilized across various modelling and analysis workflows. This talk will go over the typical Python packages employed in a text-heavy environment and a walkthrough on some text information extraction methods.


5:00pm - 5:30pm

Closing Keynote
by Dr. Yves Hilpisch, CEO at The Python Quants

Saturday, 02 June


9:00am - 10:00am

Opening Keynote
by Alan Descoins, CTO at Tryolabs
10:00am - 10:40am
Breakfast

Track 1: Data Science (Room SR1)

10:45am - 11:25am

Detecting offensive messages using Deep Learning: A micro-service based approach
by Alizishaan Khatri, Machine Learning Engineer at Pivotus Ventures


What are you doing to control abusive content on your platform? Can your current solution tell the difference between "f**king awesome" and "f**king loser"? Can it detect racist and sexist content? In this talk, you will learn how to build a deep learning based solution and deploy it as a micro-service.

11:30am - 12:10pm

Data Ingestion in Python using Apache Airflow
by Sowmya Krishnan, Senior Consultant at Thoughtworks; Yew Wee, Consultant at Thoughtworks


With the growing need to produce and consume data to/from a myriad number of applications, data pipelines have become an integral part of our systems. In this talk, we would like to share our experience of using Apache Airflow for our data ingestion use case.

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

How to understand user behaviour using Multiple Linear Regression?
by Sarthak Deshwal, Associate Software Engineer at Expedia Group


Studying the user behaviour on app/website is one of the most hot topics among product companies. Multiple linear regression exactly helps you to find out the most important factors about your user and deliver the most important features to them. We will discuss the process, and the pros and cons of it.

2:00pm - 2:40pm

Python For Self-Trackers: How To Become A Data-Driven You
by Mark Koester
2:45pm - 3:25pm
Tea Break

3:30pm - 4:45pm

Implementing Reinforcement Learning for Marketing Channel Optimization with Python
by Novia Listiyani Wirhaspati, Data Scientist at Traveloka Indonesia


So, you have heard that moments where Deep Reinforcement Learning (DRL) has empowered machines to win games against human. But then, what's next? In this talk, we are going to discuss how we implement Proximal Policy Optimization (PPO) - a method in DRL - to solve real-world business problem.

Track 2: Web Development / DevOps (Room SR3)

10:45am - 11:25am

Implementing a decorator for thread synchronisation
by Graham Dumpleton, Author of mod_wsgi, Developer Advocate for OpenShift at Red Hat


Using multithreading in Python applications? Interested in complex use cases for decorators and context managers? This talk will describe how the Java programming language "synchronized" keyword, for handling synchronisation in multithread applications, can be implemented in Python.

11:30am - 12:10pm

Testing Complex Python Dependencies With Docker Containers
by Jonathan Reiter, Managing Director at Data Finnovation


The talk will be about a testing process for complex dependencies. Consider code driving an external data processor: good tests are hard as so much state never passes through the interpreter. Our approach leverages containers and Python's test and environment control tools to design and build better tests.

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

Applying serverless architecture pattern to distributed data processing
by Denys Makogon, Principal Software Development Engineer at Oracle


In this talk we will go through the whole serverless thing: from decomposing app and its logic to microservices and further to smaller bits, i.e. functions to defining data flow through functions and building their fault-tolerant pipeline.

2:00pm - 2:40pm

Streaming data processing pipelines with Apache Beam [in Python, naturally!]
by Markku Lepistö, Solutions Architect - APAC and Japan, Google Cloud Platform at Google


Everything is about data. Data drives your decisions, your features, and can be your product. But batch processing is too slow - you have to analyze and act in real-time. Apache Beam is a new open source project for unified data processing. Streaming Beam Python pipelines are now here!

2:45pm - 3:25pm
Tea Break

3:30pm - 4:10pm

Learn Guitar Via Python Programming
by Rishabh Shah, Associate Tech. Architect at Systango Technologies


Ever wanted to play your favourite song on a guitar quickly even when you don't know how to play a guitar? Our Python based MIDI to guitar tabs Transcriber can help you do that. You just need to find your song in MIDI format (with .mid as file extension), and let our Python Transcriber do its magic!

4:15pm - 4:55pm

Run your ICO using Python
by Abhishek Pandey, Senior Developer at Tilde Trading


When you read about Ethereum smart contract tutorials, most likely, Truffle framework is used as an example. What the speaker wants to showcase is how easy it can be to use Python instead to not just test, but even run your smart contracts, including advanced scenarios like creating blockchain or launching ICO!

Track 3: Other (Room SR2)

10:45am - 11:25am

Concurrency vs Parallelism
by Narendran R, Senior Software Consultant at Tarka


A good code should use resources efficiently, which means not over utilise them as well as not leaving them idle. Main feature of Python3 is its async capabilities. After learning what concurrency is and why concurrency is not parallelism. We will leverage asyncIO library to design concurrent code.

11:30am - 12:10pm

Pumping up Python modules using Rust
by Vigneshwer Dhinakaran, Mozilla TechSpeaker


Learn to build high performance and memory safe Python extensions using Rust. Discover this and more tips to boost up your Python application.

12:15pm - 1:10pm
Lunch

1:15pm - 1:55pm

Inside a PyPy JIT: is that even legal?
by Aleksandr Koshkin, Senior Developer at Positive Technologies


This time we are going to dig down to the RPython tool chain core - JIT compiler generator. We will examine the very essence of the approach taken by the PyPy team - that is how to quit writing JITted VMs by hand, stop worrying and have fun again.

2:00pm - 2:40pm

Elements of Programming Interviews in Python
by Tsung-Hsien Lee, Staff Software Engineer at Toyota Research Institute


I will educate the audience on how to solve algorithmic problems commonly asked at interviews, emphasizing the aspects of Python that are the most useful. I will also describe how hiring decisions are made behind-the-scenes, based on my professional experiences at Facebook, Google, and Uber.

2:45pm - 3:25pm
Tea Break

3:30pm - 4:55pm

Game Programming with Python
by Sony Valdez, Python Philippines


In less than an hour, we will be making a simple game using pygame. There will be live coding and audience participation. Beginners will be inspired to take up programming. Non-beginner coders will learn the basics of game programming.


Platinum Sponsors


Gold Sponsors


Silver Sponsors


About

PyCon APAC is a conference about the programming language Python. It is a community effort driven by the members of the Python User Group Singapore.

When & Where

When:
May 31st - June 2nd 2018

Where:
National University of Singapore Computing 1 (COM1) / Level 2
13 Computing Drive Singapore 117417