hazeez / talks

Information and resources related to the talks done at Chennaipy meetups.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Talks

This repository will be the one stop place to find the content of all talks presented at Chennaipy meetups. To know more about Chennaipy, please visit our website.

The content will be arranged in reverse chronological order

Table of contents

2016

An introduction to Flask

Flask is a micro web framework which is easy to setup and learn. This talk aims to cover the basics of Flask with a simple app. The topics to be covered are

• Flask boiler plate code and what each line does

• Flask routes and how to pass inputs as parameters in URL

• How to render an HTML template

• Extending Flask with Plugins

• Flask when compared with Django

  • Speaker: Hafizul Azeez
Computer vision with deep learning

This session will focus on how deep learning is used in image processing applications like face recognition, handwriting recognition and others using tensorflow.

Behaviour Driven Development

Developers are familiar with the Test Driven Development(TDD) where the requirements are turned into very specific test cases and the code blocks are tested thoroughly by writing unit tests. But these test cases do not show the developers how the product should behave to the end user, instead it focuses on the specifics of the each code block. This is the reason why many product managers wonder, why the developers can't get the product right in minimal iterations. By following BDD with TDD, the developer can know "how to test the product?" instead of just testing the implementation of the code.

At the end of this talk, the audience will get an introduction to BDD and they will know where to use BDD for better development of products.

  • Speaker: Naren Ravi

Python gotchas

Python aims to be a clean and consistent language that avoids surprises. However, there are few edge cases that can be confusing to newcomers or sometimes even the experienced ones. If you are not aware of these gotchas, you might conclude that the language is poorly designed when you come across it in production. Some cases are intentional but can be surprising, for example

hash(2) => 2 
hash(-2) => -2 
hash(-1) => -2 #really?

It might seem strange at first glance, but it makes more sense once you are aware of the underlying reasons for the surprises. This will be an interactive talk where I will be talking about these gotchas with few examples and the audience will be able to guess what/why python behaves the way it does.

  • Speaker: Naren
Think your python code is slow?

Many of us blame python for being slow. Ever though it's not python's fault all of those times. May be it's our code that is at fault. It is useless trying to blindly optimize a program without measuring where it is actually spending its time. There are many things that can be measured on our code. This talk will focus on profiling different parts of your program like line by line analysis, memory used by each objects, memory leaks, objects that causes these memory leaks, etc. The profiling and analysis will be done using python standard libraries (cProfile and profile) and also using some open source libraries (line_profiler and memory_profiler)

  • Speaker: Ambarish KC
Setting up Emacs for Python development

In this talk, I'll showcase how Emacs can be setup as a productive environment for Python development. Specifically, I'll introduce various packages that can be very helpful when working with Python

  • Speaker: Kiran
Efficient unicode integration in Python

Have you ever worked with unicode in Python? If you have, you must be familiar with the encode and decode methods that you would've used. But these functions aren't exactly user friendly. You must have used random encode decode copy-pastes from stack overflow. The error messages are often cryptic. For example, for an

encode(str, encoding='utf-8')

UnicodeDecodeError: 'ascii' codec can't decode byte 0xa0 in position 0: 
ordinal not in range(128).

Knowledge of the inner workings of handling unicode streams is imperative for efficient coding with Unicode, as is evident with the decode error for the encode method.

  • Speaker: Hans Krupakar

Understanding python iterators and generators

When you start off with Python, its a bit hard to understand how generators work. But it is quite important as you do more advanced Python programming. I will cover the basics in my 20 minute talk and try to make it simpler for people who have not used it before.

  • Speaker: Ranjith Pillay
Building a scalable data science platform

Building data science prototypes are easy. The real challenge comes when you need to put them in production. This talk covers the pain points, solutions and tips in building a scalable data science platform in python.

  • Speaker: Raghotham & Nischal
Submitting your packages to PyPi

Learn how easy it is to make your python packages "pip installable". A quick and dirty guide on submitting your python packages to the official PyPI servers.

  • Speaker: Srinivasan Rangarajan

Introduction to Celery

Cases when number of tasks are submitted to task queue which needs to be processed asynchronously Celery saves the day. Celery distributes and coordinates the tasks over multiple workers (may be running on different machine). It also scales well with addition/removal of workers on the fly to handle those occasional burst work load between long periods of calm.

With the flexibility to support multiple message brokers and custom extension for various modules it addresses a wide variety of retirements.

  • Speaker: Shanmuga
Code optimization in python

I am referring to the following 2 links. They have some good material. https://wiki.python.org/moin/PythonSpeed/PerformanceTips

http://www.scipy-lectures.org/advanced/optimizing

  • Speaker: Ashok Govindarajan
Deep learning with TensorFlow

The talk will cover the basics of neural networks, an introduction to tensorflow and its features along with the advantages of Tensorflow over other libraries like Theano.

  • Speaker: Manish

Trash of the titans

The talk will cover the following topics:

• GC concepts

• Algorithms

• GC in Ruby

• GC in Python

• GC in Java

• GC in Erlang.

My hope is that the polyglot audience will engage in a lively discussion, each arguing the merits of their pet languages.

  • Speaker: Bhaskar
Machine learning with python

The plan is to provide an introduction to the basic concepts of machine learning, tools in python for machine learning and explanation of algorithms for Linear Regression and Classification along with a live demo.

  • Speaker: Manish
Web scraping with Scrapple

An introductory talk on web scraping, and how basic patterns in web scrapers have been generalized in Scrapple (https://github.com/AlexMathew/scrapple). It will be a live demo of some basic web scrapers/crawlers for some sites like xkcd and ESPN, and how these have been abstracted to create configurable web content extractors using Scrapple.

  • Speaker: Alex Mathew
Ansible mode in Emacs

This talk will introduce Ansible minor mode, ansible-doc and company-ansible back-end in GNU Emacs. I shall also address Literate DevOps in this context.

  • Speaker: Sakthi Kannan

Gradual Typing - Introduction, purpose and a small look at `mypy

Python is dynamically typed. Dynamic typing is awesome. Dynamic typing is also a pain. C# is statically typed. Static typing is awesome. Static typing is also a pain. Is there no middle ground? Lets explore the realm of Gradual typing to know more.

  • Speaker: Shrayas Rajagopal
Building a Tic Tac Toe AI in Python

In this talk, I'll walk through the code required to build a simple but effective AI for playing Tic Tac Toe. No prior knowledge about AI necessary.

Rethinking Spreadsheets

If you are like me and love your text editor, and despise the GUI, I would like to propose an alternative to spreadsheets, YAMLCalc. YAMLCalc, is ~100 line Python script that

• provides a convenient and natural way to represent your data

• allows creation of expressions using Python operators and math functions

• supports generation of tables and beautiful charts using pygal

• integrates seamlessly with asciidoc and markdown documents

Through this talk I hope to show the casual user, an alternative way of representing data, performing calculations on them, and visualizing them.


Python extended window manager hints using Xlib

This talk will cover some basic X Window system, which is currently used by most GNU/Linux Distros. XLib is the library used by X11 server to display windows of various X11 client like browser, terminal, etc. Using Python "ewmh" library we can learn X window system in GNU/Linux

  • Speaker: Rengaraj
Analysis of Algorithms

This talk will cover the following topics:

  • Other ways of computing complexity of algorithms besides Big O

  • Comparison of iterative, recursive and tail-recursive algorithms

  • Speaker: Ashok Govindarajan

Experimental mathematics with Python and Sage

According to the Russian Mathematician V I Arnold (see http://tinyurl.com/abgbec): "Mathematics is a part of Physics. Physics is an experimental science, a part of natural science. Mathematics is the part of physics where experiments are cheap". I will talk about some of my mathematical experiments.

  • Speaker: Amritanshu Prasad
  • Slides: Slides
BitBake, the embedded linux build engine

This talk is about how a Python based build engine is revolutionizing the way embedded linux systems are built and maintained. We will cover the features of BitBake and also show how to write simple BitBake recipes.

  • Speaker: Vijay Kumar

Environment for Python Dev

Working with different projects with different python versions, debugging module issues, introduction to development environment / provisioning. Have a look at: pyenv-virtualenv, pip, modules, site, ansible

  • Speaker: Dinesh Kumar
Algorithmic analysis and Time complexity in Python

This talk will be on the following lines:

  • Measuring the execution time of algorithms in Python - simple addition program

  • Big O Notation

  • Time complexity of Python operations

  • Speaker: Ashok Govindarajan

  • Slides: Slideshare

Debugging the easy way with python debugger

An easy replacement of "print" statement in python debugger. It is a command line utility. Getting more insight in complex code is piece of cake with PDB, since you interact directly with code in running state. It is an essential zen tool for every python developer.

  • Speaker: Gaurav Sehrawat
Offset pagination in databases

Offset pagination is a popular technique to get split sets of data from a database. While made convinient with the OFFSET clause in SQL, it comes with its own problems. We take a look at the problems created by Offset pagination and the possible solutions.

  • Speaker: Abhishek Yadav

2015

Developing Odoo Modules

A quick demonstration on setting up and running Odoo 9 and customizing a Module to suit one's requirement. Customization involves: Extending a Class, its view and some of its methods.

  • Speaker: Sri Ramadas
Python byte code hacking

This talk covers the following topics - Byte code execution, stack machines, code objects and creating custom code objects

Python for Micro Controllers

MicroPython is a lean and fast implementation of the Python 3 optimised to run on a microcontroller. This talk gives a brief overview on - the features of MicroPython, How it can run on NuttX, a real time OS and layering in NuttX that provides support to run MicroPython

  • Speaker: Babu Subash Chandar
Introduction to MIMO Systems

Basically, MIMO is about Multi-antenna communication systems. This topic would be discussed under the context of base stations (4G, WiMAX, HSPA+), where multiple antennae are being deployed. The primary focus would be to :

• Define SISO (Single input single output systems) • Provide a simple analogy to faciliate the understanding of SISO • Motivate the idea of MISO (Multiple input single output) and MIMO • Present some comparison results between SISO and MIMO.


Postgresql Explain

Postgres Explain is an interesting starting point to understand how the Postgresql database approaches queries. It gives us insights into its various algorithms, use of indexing and general trade-offs. This talk covers various examples and some quick lessons.

  • Speaker: Abhishek
  • Slides: slides
Introduction to pgcli and mycli

Pgcli is a modern command line interface for Postgresql database that can do auto-completion of sql statements and syntax highlighting. This talk will be a walkthrough of the tool and introduce the various libraries that made this tool possible. Mycli is the mysql equivalent of pgcli. Both the tools are open source and they are written in Python.

  • Speaker: Amjith Ramanujan
  • Slides: slides
Image processing using OpenCV

In this talk, I will be presenting my project on image processing using OpenCV for clinical GAIT Analysis. OpenCV is popular computer vision library for image and video processing in real-time.

  • Speaker: Haripriya Baskar
Pretty printing in python

This talk shares the experience of creating a part from an art using Printrun and Skeinforge with the Prusia i3 3D printer. MTConnect standard is used to obtain data from the 3D printer. I shall also address the challenges in validating the printed object ("Part to Art") using Python tools.

  • Speaker: Sakthi Kannan

Getting started with Django

The talk will cover the following: Introduction to Django, Installing Django, Creating the first project, Structure & Workflow of a Django project and ideas on best practices.

Django Rest Framework

The talk will cover the following topics:

  1. Frameworks Available
  2. Why Django Rest Framework
  3. Getting started & basics
  4. Basic authentication & json web tokens
  5. Bulk Operations
  6. Simple application which demos the above
G-code Visualization Tools

G-code are a set of instructions given to machine tools to perform actions. We shall explore the usage, and implementation of free and open source Python based G-code visualization tools. For example: yagv

  • Speaker: Shakthi Kannan
Building a sublime package/plugin using python

Sublime is pretty famous sophisticated editor for code, markup and prose. This talk will help you to build a sublime package and leverage your coding and development skills. Talk will further dive in Sublime editor. One more reason to go with python :)


Introduction to GeoJson and GeoDjango

I'll cover how to tag a place and store the co-ordinates in your database and render back them on map. I would also like to give an introduction on how to build custom maps using a tool called TileMill.

  • Speaker: Shrinidhi Kulkarni
Paho Python client for MQTT

The Python paho clients provides functions for communicating with MQTT brokers. This talk will be a quick start guide, and demo on using the same.

  • Speaker: Shakthi Kannan
Introduction to Google App Engine

This talk will be an overview of how Google App Engine works.

  • Speaker: Krithika Vembu
Towards probabilistic programming in Python

Uncertainty is an integral part of the way we perceive the world. It has been known since more than a century that probability theory is the tool for reasoning about uncertainty. In the last two decades, there has been explosion of the use of probabilistic methods in all areas of science, engineering, medicine, and most recently, the analysis of data, "big" or small. In implementing such methods using generic computer languages, the main obstacle has been that computer programs have no semantics of dealing with random variables. This shortcoming leads to unnecessarily tedious code and a large gap between theory and application. The idea of probabilistic programming seeks to remedy this situation by creating programming languages in which random variables are first class citizens. I will describe three python packages that take the first steps in implementing probabilistic programming paradigms and conclude with a survey of the DARPA initiative of probabilistic programming.

  • Speaker: Prof.Ronojoy Adhikari

Automating things using Selenium

Selenium is a powerful automation tool for web browsers, which is used for testing web applications. This talk is all about an overview of selenium and how to automate your own web application through selenium. To know a more details about selenium just have a look at

Data Science 101

Introduction to probabilistic model particularly Bayesian theory. Solving one Kaggle machine learning problem based on Bayesian model using tools like scylearn, numpy, pandas and ipython.

Building Git From Scratch

This talk will incrementally build a prototype of Git in Python. The idea is to learn how Git works, by building a miniature version of it. We will see how files are tracked by Git, how commits are stored, how branching works, and if time permits how merging works.

  • Speaker: Vijay Kumar
  • Repository: GitHub
The beauty that is PostgreSQL - Part 1

This session will highlight a few of the brilliant things that come with the latest PostgreSQL Database.


Writing Parsers in Python By Hand

The talk is about writing parsers in Python by hand, basically, without using any library or parser generator tools.

  • Speaker: KS Sreeram
  • Code: Gist
  • Video: Vimeo
Object Oriented Programming Paradigms in Python

Learn OOP the pythonic way. Most of us have learnt OOP fundamentals using C++/Java/C# and similar languages. Applying these concepts in python could be a bit tricky as Python might feel lacking features that we've been comfortably using in Java/C++ like "public", "private", "protected", "abstract", "virtual" and so many other keywords. This talk would emphasize on unlearning Java/C++ style OOP and learn a more mature OOP design that python emphasizes. Concepts like DuckTyping, Introspective OO design and run-time polymorphism will be covered.

Building websites using Plone

Users of successful websites constantly demand new features and present unique requirements. When built using a powerful and flexible Content Management System (CMS), it becomes a cinch to provide new functionality. This talk provides a gentle introduction to Plone, its long track record of success and why you owe it to yourself to look at it in closer detail. Some most used and attractive features of Plone will be highlighted.

  • Speaker: Suresh V
Managing Jenkins with Python

The benefits of Continuous Integration systems is well understood today. Jenkins, a Continuous Integration system has been adopted by many organizations today. But as the no. of Jenkins jobs increases, managing them becomes tedious. Autojenkins, a Python package for interacting the with Jenkins, can be used for managing Jenkins jobs. In this talk, I will show how we use Autojenkins at Zilogic to easily manage over 150 jobs.


Predictive Models at Scale using Dumbo

The data science stack for Python is mature and robust. Libraries like Numpy, SciPy and scikit-learn allow data scientists to build predictive models easily. However, when it comes to making predictions on large volumes remains an operational challenging. Data scientists typically end up using Python just for prototyping models and then implement models in Java so they can leverage Hadoop. With libraries like Dumbo make it possible to build and run machine learning models in Python that can make predictions over very large datasets. The talk will describe the problem and the proposed solution with example code.

Memory Management in Python

The talk will cover the following topics: How Reference Counting Works, Issues with Reference Counting , Cycle Detection and GC, Useful Third Party Modules. Not many people really require to know how Python manages memory. But it is kind of nice to know how things work under the hood.

Building a face detection tool using OpenCV on Raspberry Pi

This talk will include learning about picamera module and opencv.I will be using Haar's Cascade classifier as training model for facedetection.And a real case scenario of using it.

  • Speaker: Gaurav Sehrawat
All things Py

Random assorted stuff on Python taken from the world wide web thingy. This is a pretty basic beginner friendly talk which i hope would resonate with beginners.


Managing Desktops with Ansible

Desktop administration is generally done manually. This is painful, especially when then are large no. of systems that are geographically distributed. This talk will show how configuration management tools, like Ansible can be used in pull mode, for desktop administration

Leveraging Python Development with Virtual Environment

Virtualenv simplifies the process of managing version of packages in python. Developing isolated application with virtualenv is bliss. It addresses the problem of dependencies, version and incorrect permission.

  • Speaker: Gaurav Sherawat
Building commandline interfaces with ArgParse

argparse is the recommended command-line parsing module in the Python standard library to reduce the time and effort spent on parsing and validating sys.argv. It converts command-line from obscure combination of parameters to meaningful and usable interface.

  • Speaker: Shanmuga
Building a development environment using Vagrant

Vagrant is a tool for creating, configuring and managing a complete development environment which can run on local virtualized platforms such as VirtualBox or VMware, in the cloud via AWS or OpenStack, or in containers such as with Docker or raw LXC.

for i in "Iterable"

A primer on iteration in Python Description: A quick primer on Python's iteration constructs, how they work and how they're implemented.

  • Speaker: Shrikant Giridhar
  • Video: Vimeo
Python, Gmail & the IMAP protocol

Quick talk on how you can access your Gmail account (and any other account too actually) via the IMAP protocol using python's imaplib library


Bitten By Python

Python puts lots of power in the hands of the developer. It takes lot of discipline to wield it, without hurting oneself. Through this talk I would like to convey my experiences, the techniques I have learnt and hope to inspire others to adopt them.

My Python-BCI journey

If GUI is WYSIWYG (what you see is what you get) then BCI could become WYTIWYG (what you think is what you get). This talk would be an intro on BCI, use of python in creating brain controlled apps and live demos.

  • Speaker: Kannan
Python scripting in Android using SL4A

SL4A allows to run scripts in android using most APIs that are available to native apps except that the process is simpler. It can be used to build anything from home automation systems to high altitude ballooning projects.

How Emacs + org-mode replaced a few apps in my workflow

In this talk, I'll present a short demo about using org-mode in Emacs and how it has replaced the functionality of a few apps in my workflow.

  • Speaker: Kiran Gangadharan
  • Video: Vimeo
Up and running with PySpark

Pyspark is the python binding available for Apache spark. Spark is now a really popular project under ASF and through the talk we can look at some basic spark concepts and using PySpark.

Sentiment Analysis in Simple Steps

This talk is an exploration of the natural language processing capabilities of python through a simple implementation of Sentiment Analysis using a naive bayes approach.

  • Speaker: Sharmila Gopirajan
  • Slides: PDF
  • Video: Vimeo

A Lisp powered Python

Lisps? In a Python world? What? When? Where? How? Come find out

BigData and MapReduce

The talk will be an intro to Big Data, Hadoop and using Python to run mapreduce jobs with the option of Hadoop streaming.

Using Python to Play Cupid

You're a matchmaker who has drawn 5 men and 4 women at a singles mixer. At the end of the event, each attendee has handed you a ranked list of singles (of the opposite sex) they'd be interested in having coffee with. Your job is to suggest optimal pairings. We'll walk you through the algorithm that we implemented to solve this "stable matching problem" at Jodi365, using Python.

  • Speaker: Anil Kumar
Remote Control your PC using Python and Kivy

The talk is about controlling a PC application using pybluez and a mobile app. The mobile app is written in Kivy, a cross-platform Python framework for NUI development.

My Python Experience

A collection of hacks and projects done by Shrikant using Python

  • Speaker: Shrikant Giridhar
  • Video: Vimeo
Tips and Tricks in IPython

This talk is about enhancing your productivity using IPython. Learning some productivity tips on IPython notebook and its plugins.

Learn Working of Accelerometer using Micro Python

Understanding accelerometer functionality using MicroPython. MicroPython is a lean and fast implementation of the Python 3 programming language that is optimized to run on a micro-controller.


Image Processing

This talk will be brief description of software available for image processing, various features, various outcomes that can be obtained, etc. Python will be used as the programming language. The talk will also cover various effects which are possible with the images along with how to code them.

How Python changed my view of programming

My journey into programming started with Python. The talk is about how Python made me to dive into programing which I never liked at college. Example programs which I have backup of, and my first Python project.

My Journey with the world of Open Source

This talk is about how I got into the world of Open Source and what it has done to me, both as a programmer and as a person. We'll explore some of my earliest commits and Pull Requests as we go on a journey from then, till now.

Exception handling in Python

I will discuss the try-except protocol for exception-handling in python, explain the exception heirarchy and how to create new exception classes.

  • Speaker: Prof. Amritanshu Prasad
  • Slides: Dropbox
  • Video: Vimeo
Pystrokes

PyStokes is a Cython library for computing Stokes flows produced by spheres. The core of the library is written in Cython which can be called from pure python, so that the user can choose to work in pure python and still use the library. Read more on GitHub. I will also explain some basic usage of the Cython and how we have used it to accelerate our computations.

  • Speaker: Rajesh Singh
  • Slides: IMSc
  • Video: Vimeo
Hangman: Design and Implementation

As part of Chennaipy activities, we did a Hangman project. Some cool things we did as part of the project - unit testing, supporting Python 2 and 3, code coverage analysis, packaging and distribution. This talk will give an overview of the lessons from the Python Project.

Build your own CPU

The advent of affordable FPGAs with a decent number of gates has made hardware design accessible for anyone interested. But describing hardware accurately in software can be tricky. This is where HDLs come into the picture. And as with everything else, there is a Python library for easing into writing pure HDL code. This talk introduces development with MyHDL, a Python library to generate descriptions of digital hardware.

  • Speaker: Shrikant Giridhar
  • Slides: Dropbox

Python and its Functions

Functions in Python are First class. They can be passed to and from functions. They can be created inside other functions and a lot more. This talk proposes to introduce this concept.

Breaking Free with Rope

Embedded systems have crazy restrictions. And one embedded Python interpreter I happened to work on, had a restriction that you couldn't have more that 500 distinct variable names in your application! We quickly hit this limit. This talk will cover how we overcame this restriction using Rope, a refactoring library for Python and some Python scripting hackery.

Introduction to Sage

Sage is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. This talk will be an introduction to Sage.

  • Speaker: Amritanshu Prasad
  • Slides: Dropbox
Sentiment Analysis using Python

On a Sunday afternoon, you are bored. You want to watch a particular movie, but you know there are mixed reviews for the movie. You want to know the overall feeling on the movie, based on their reviews and not just based on their ratings. We will show you how to use a machine learning model to classify the sentiment of a review automatically, all with Python!!

Solving graph problems using NetworkX

NetworkX is a python package which can be used for handling graphs. Through the talk I want to touch on how we see problems which can be solved by graph all around and how we can leverage the NetworkX module to solve challenging problems.

Decorators

Decorators are an interesting way of doing some magic with functions in Python. Talk 1 (Python and its Functions) will set the base for this. If time permits and people are interested, we can see an application of Talk 1 VIZ Decorators. Decorators are a concept that is gaining widespread use in Python because it is just that easy to read. This talk proposes to give an introduction to them.

Building a Website Using Static Site Generators

Static site generator is a software/framework which outputs html files by combining text and templates, thus generating a website/blog. This talk will focus on how to use few of them & host the site on github.


A Gentle Introduction to Generators and Coroutines in Python

Though a lot of people know Python, very few people actually understand generators and coroutines enough to understand how awesome they can be. This talk aims to provide a basic understanding of how and when they can be used, and why they are an important utility in your Python toolkit.

Getting started with SQLAlchemy

SQLAlchemy is a really quirky and awesome way to do ORMs in python. And it has quite a learning curve at least at the initial stages. Once you get to know the general idea of how things work, it becomes pretty awesome. I've just started working with it and just want to talk about some things that'll help with getting started with SQLAlchemy.

Fun with Pandas

Pandas is Python's answer to R's Dataframes. If that does not make sense, not to worry. Just think of Excel's functions in Python, only more versatile and able to handle much larger amounts of data. This will be a gentle introduction to Pandas, following which, we will try to apply the concepts to a Crunchbase's public dataset.

About

Information and resources related to the talks done at Chennaipy meetups.

License:Other