Skip to content

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

License

Notifications You must be signed in to change notification settings

Chennaipy/talks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 

Repository files navigation

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

2018

How python is making astrophysical research easier

I will give some simple examples of essential libraries like astropy, etc. and some possible future scopes where professional pythoners can contribute.

  • Speaker: Manjari
Sultan and Errbot

The talk will be how to implement a chaptops for managing your infrastructure more collaboratively. Where the bot be at your command on Slack, Hipchat or Discord.

  • Speaker: Samuel Vijaykumar
A brief introduction to NLP with Spacy

Natural Language Processing is a prominent field in Artificial Intelligence that deals with parsing and understand Natural language, (an ordinary language such as English is any language that has evolved naturally in humans through use). NLP lies at the core of Google Duplex and other smart assistants that respond to questions in English and natural languages. I will be explaining the following :

  • Corpus and Datasets

  • Processing and tokenizing Text

  • Tagging, Stemming and Lemmatizing Words

  • Introduction to libraries

    • NLTK
    • Spacy
  • Sentiment Analysis

  • Word Embedding using BOW and word2vec

  • Speaker: Vishal Gupta

Demystifying Python Magic methods

The Why, What and How of magic methods.

  • Speaker: Naren
How to create a sandhi checker for Tamil using python?

Sandhi is kind of conjunction for tamil words. To check for this error is one of the tasks of a tamil spell checker. Tamil grammar gives clear rules to check for the error.

  • Speaker: Shrinivasan / Nithya

Let us explore on how to implement tamil rules using python.

Eduactiv8: Educational Games for Kids

Eduactiv8 is an application built using PyGame, consisting of hundreds of educational games and activities for kids. In this talk, I will demonstrate the application, and will give some insight into adding your own games and activities to Eduactiv8.

  • Speaker: Vijay Kumar
Dash - R Shiny's equivalent in Python

Creating interactive web applications in Python using Dash. Dash helps in creating a responsive, custom styled application with interactive graphs, tables and other components.

  • Speaker: Arunram
open-tamil and Ezhil language

"Ezhil is the first freely available Tamil script based programming-language at http://ezhillang.org released for Windows 32, 64 and Ubuntu, Fedora Linux, and Docker platforms in 2017. It is aimed towards removing English language barrier towards learning computing as a scientific field outside of language hurdles. In this talk I will present an overview of Ezhil. Ezhil has a Python-based interpreter and development happens via GitHub.

Open-Tamil is a closely related Tamil language processing tools library originally started off as a graft of the Ezhil language routines but soon grew to include word-filtering, n-grams analysis, Tamil conjunction rules of grammar, Tamil spell checker, Tamil numeral generation, etc. i.e. a whole omnibus of Tamil tools mainly for Python, but also for Java, Ruby etc. Parts of our work are showcased at http://tamilpesu.us and Kalsee app on Play Store."

Tamil version of abstract:

எழில் என்பது முதல் திர மூலமாக கிடைக்கக்கூடிய தமிழ் ஸ்கிரிப்டை அடிப்படையாகக் கொண்ட நிரலாக்க மொழி ஆகும், இது விண்டோஸ் 32, 64 மற்றும் Ubuntu, Fedora Linux மற்றும் Docker தளங்களில் 2017 ஆம் ஆண்டில் வெளியான http://ezhillang.org. எழில் ஒரு பைத்தான்-அடிப்படையிலான மொழிஇயக்கி. வளர்ச்சி GitHub வழியாக நடைபெறுகிறது.

திறந்த-தமிழ் தமிழ் நெருக்கமாக தொடர்புடைய தமிழ் மொழி செயலாக்க கருவிகள் கொன்டது; நூலகம் ஆரம்பத்தில் எழில் மொழியின் ஒரு கீற்றாக துவங்கியது; ஆனால் விரைவாக வார்த்தை-வடிகட்டுதல், N- கிராம் பகுப்பாய்வு, புணற்சசி இலக்கணம், தமிழ் எழுத்துப்பிழை சொல்திருத்தி உருவாக்கம் முதலியன, பல மொழிகளில் பைத்தான், முக்கியமாக, ஜாவா, ரூபி முதலியவற்றிற்கான தமிழ் தொகுப்புகள் பரிசுரம் செய்யபட்டன். http://tamilpesu.us வலையில், மற்றும் Play Store இல் Kalsee பயன்பாட்டில் எங்கள் வேலைகளை பயன்படுத்தலாம்.

  • Speaker: Muthu
A for Async

Through this talk I hope to present, the need for concurrent programming, and demonstrate a DIY tiny Async framework built using the Python 3.5 async / await keywords.

  • Speaker: Vijay Kumar
Why Tensorflow for Deep Learning

I would be talking about deep learning basics and why tensorflow is the best tool for implementing deep learning solutions.

  • Speaker: Manish
Porting a Django App to Google App Engine

This talk will address the various issues encountered when porting a Django web application from a Shared Web hosting service to the Google Cloud. Some lessons learned will be discussed.

  • Speaker: Suresh
String Theory: Bytes vs Strings

In this, talk, I hope to shed light, on the need for two different types of strings: byte strings and character strings. The following topics will be covered as part of this talk

  • Binary files vs text files

  • Reading and writing binary files

  • Representation of Text

  • Converting Text to Bytes

  • Speaker: Vijay Kumar

A-Z on Embedded System for S/W People

This talk covers about the Evolution of Electrical to Electronics to Embedded. Also explains the critical information required by the SW people while working on Embedded System. The difference between SW in computing system and Embedded System.

  • Speaker: Balajee
Python for machine learning

This talk is about the application of Artificial Neural Networks for the image processing. I mainly wanted to touch base on two things 1. Tensorflow 2. Keras. I would then show a demo of how to use Keras to build a ANN model that can process image and do prediction. Intro - 2 min, Tensorflow - 5 min, Keras - 5 min, Demo - 5 min, Q&A - 3 min

  • Speaker: Sundara Raman
Messenger - Chatbots

This talk will be on chatbots, how chatbots are taking up space in the market.

  • Speaker: Mayank Gandhi

2017

The Python AST (abstract syntax trees) Module

The AST module is a powerful python feature that allows to inspect and modify python code after it has been parsed but before the code is run. I will be talking about what an AST is, what the AST module allows you to do and what it can be used for.

  • Speaker: Subil
Deep Learning for Dummies

I would using the following non-mathematical, easy to read deep learning tutorial as reference: http://www.cs.toronto.edu/~hinton/absps/NatureDeepReview.pdf (http://www.cs.toronto.edu/%7Ehinton/absps/NatureDeepReview.pdf) This will be a general talk and not specific to Python.

  • Speaker: Ashok Govindarajan
Thinking Object Oriented

Recently I implemented a small object oriented program. That triggered my interest in giving this talk. We will discuss about the problem i recently solved using objects using python.

  • Speaker: Rengaraj
Entry Points in Python

I'll discuss how defining a console_scripts entry point for your package makes it accessible from the command line and a few example. I'll also discuss how entry points can be used to extend functionality of a package. See https://github.com/rahulporuri/talks/blob/master/py_entry_points/py_entry_points.pdf for slides.

  • Speaker: Poruri Sai Rahul
Why is it hard to predict?

This talk would primarily be based on aspects of weather modeling and associated predictions. Also, I would briefly touch upon why the predictions during the recent US presidential elections, had an error. This talk would be of a general nature and not python-specific.

Some references that would be useful:

Teaching Kids to Code

In this talk, I will be discussing techniques and open source tools available for teaching programming to kids. I will be focusing specifically on the younger ones, 5+ years of age. The talk will include a demonstration of the BBC Micro:bit, a pocket sized computer. Draft slides: http://bit.ly/teach-kids-to-code

  • Speaker: Vijay Kumar

Writing CLI and coding up social media bots.

CLI part will deal with interactive CLI using prompt toolkit, spinners and colorful text. Social media bots will be dealing with Twitter and Facebook. For eg. chatting with bots for predefined tasks, announcements by bots when meetup event is nearing up, like/retweet based on sentiment analysis etc. Focus will be to provide utilities which can be used by ChennaiPy and others.

  • Speaker: Gaurav

Introduction to GraphQL

GraphQL is a system to manage client-server interactions developed by Facebook. This talk will cover why was GraphQL invented and how to use GraphQL in a python application

  • Speaker: Syed Suhail Ahmed

Hot Topics in Deep Learning

Python has become the language of choice for Artificial Intelligence. Within AI, “Deep Learning” is one of the buzz words we’ve all heard of but have no idea what it actually means. In this presentation, I try to demystify deep learning and other buzz words within Deep learning, such as Reinforcement Learning, Generative Adversarial Networks and One-shot Learning.

  • Speaker: Parthiban Srinivasan
Redis PubSub

The topics covered will be,

  1. Overview of Redis
  2. Discussion on most used Redis commands
  3. Implementing Redis pubsub in python using weather data
  • Speaker: Rohini
Concurrency vs Parallelism

Tasks can be made embarassingly parallel by crunching up the resources and using all CPU cores. What if your resources are limited, How do we achieve the speed in execution of tasks?. In this talk we will discuss about achieving near parallelism with limited resources but at the same time knowing concurrency is not parallelism using real world examples

​Possibilities in the land of 1s and 0s

This talk aims to open freshers up to the world of computer science. Tips on what to do and what not to. Additionally, I share the gist of what I've learnt in my 10+ years of writing code, working in teams and leading teams.

  • Speaker: Shrayas

Bringing Vangogh Back

We all love photos. We love paintings too. What if we can apply the texture of famous paintings such as "Starry Night" to our every day photos to give them an enchanting look and feel?

  • Speaker: Krishna Sangeeth
Python Immigrants!

I thought of sharing the Python Ecosystem from the Immigrant perspective. The difference between someone like you and me is that you plan better, aim first and shoot it. Whereas, I do not have the luxury hence my approach will be shoot first, aim later. In other words, I have to jump into various Python Libraries such as, NumPy, Scipy, Matplotlib, TensorFlow even before mastering Python. I have to study the entire ecosystem together. I thought of sharing this ecosystem in the context of on-going excitement in Data Science, as an Immigrant to Python community.

  • Speaker: Parthiban Srinivasan
The Easiest Way to do Command-line in Pytho

An introduction to the module, ec, a module that makes python scripts more accessible through the shell (https://github.com/Laufire/ec)

  • Speaker: Viswanath

Using the Hypothesis package to solve the Fox-Hen-Grain problem

Hypothesis is a Python package that helps in "property based testing". You can use it test your software by finding edge cases in your code you wouldn’t have thought to look for.

One of the powerful features of Hypothesis is Stateful Testing - which helps in testing state machines. We will see how we can use Hypothesis to solve a couple of popular puzzles.

  • Speaker: Suresh VV
Write code for humans, not machines

Any average programmer can write code by sitting hours and hours, pushing themselves through the sleepless nights but what it takes to write a better readable software?.

Forget about the design patterns, I will be talking ground zero from naming variables to handling errors in your python code. At the end of my talk the audience should be able to read their own code after 6 months without uttering the words "why did I write like this?"

  • Speaker: Naren
  • Slides: PDF
Building a Chatbot for Slack using Stanford NLP

We will build a custom Chatbot backend with Django (not using wit.ai, api.ai, etc.) to respond to user queries using Stanford NLP to analyze and extract intent.

  • Speaker: Prabakaran Kumaresshan
  • Slides: GitHub

Workflow Automation using Apache Airflow

An introductory tutorial on getting started on workflow automation with Apache Airflow by writing your first pipeline.

  • Speaker: Arvind Nedumaran
Robot framework in Automation Testing

This talk aims to cover how softwares are build from requirements and deriving test cases from requirement. Then we will look in to how these test cases are used in robot frame work to automate testing.

  • Speaker: Rengaraj

Integrating Python with Hadoop

An complete step by step integrating python with hadoop ecosytem like streaming jar etc and about Latent semantic analysis to find the relationship between the documents.

  • Speaker: Venkatesh
Convolutional Neural Network of Visual Recognition

This talk about the Convolutional Neural Network for Object Recognition with demo using keras deep learning python package.

  • Speaker: Mohanraj

Module development for wireless systems using Python

This will be hands-on in nature where I will introduce the audience to the wireless system, i.e, 4G and alter some parameters in the Python code and show the effect. Pre-requisites needed: A basic understanding of 4G technology; 4G technology is the one using which Reliance Jio is offering all the data plans right now.

  • Speaker: Ashok Govindarajan
Introduction to Statecharts

This talk will be cover the deficiencies of existing State Machine based design, and how to overcome them using Statecharts. In the process we will also discuss a framework for working with Statecharts, and how to use it to build applications.

  • Speaker: Vijay Kumar
  • Slides and code: Dropbox

Dockerize your Python Development

After a quick introduction to containers and docker, I will walk you through on developing your next python project with docker and deploying them. After this talk the audiences would have got started with docker and will know where to go next.

  • Speaker: Naren
Why I love Python

Over the years, as a programmer, I have worked with various programming languages: C, C++, Java, PHP and Python. And I have learnt the pros and cons of each language. In this talk, I will cover where the other languages fail, and why Python remains my personal favourite.

  • Speaker: Vijay Kumar

General Intro to Types

What are types? Why types? Dynamic v Static typing Gradual typing Examples Advantages

  • Speaker: Shrayas
Building Desktop GUI Apps using Python

I will be using tkinter, talk and demonstrate about it's abilities and limitations. I will also briefly talk about PyQt/PySides too.

  • Speaker: Gaurav
YAML Validation in Python

At work, we use YAML to represent structured data, for tracking events, product details, course information, etc. As will all data entry, inputs are subject to human error, and needs to be validated. In this talk I will discuss my attempts at validating YAML, starting with a manual approach and then moving to a schema based approach.

  • Speaker: Vijay Kumar

PyShark in Network Packet Analysis

Pyshark is a wrapper around tshark comand line utility to capture a live Network packet or from a capture file. Pyshark is useful in parsing capture data for analysis.

Write better code

Rundown on idiomatic python, pep8 and general good practices.

A Web Testing Framework in Python

I would like to talk about the web testing framework I worked on during my internship at Logic Soft. The following will be discussed:

  • Using Lisp to write test cases by creating a wrapper around Selenium
  • Internal workings and reasoning of a few decisions
  • Speaker: Abhirath

2016

Data structures in Python

In this talk, we will discuss the concept of data structures and some of the common properties. We will also look at a few sample programs in Python, which we will run during the session and analyse. The motivation of this talk would be to help us understand the need for data structures and what is responsible for the fast web-searchprovided by the google search engine.

Obscure Python Implementations

When people talk about using Python, they are usually referring to the most common implementation of Python - CPython. Some talk about using PyPy or Jython or IronPython. In this talk, I'd like to present some of the more obscure Python implementations, the ones that only very few might have heard about and also talk about their features and the reasons for which you might want to use them. Since I want to talk about the very obscure ones, I might talk about defunct implementations also. So for those cases it might not make sense to talk about good reasons to use them (beyond just playing around with them for fun).


Git From Scratch

In this talk, we will discuss about Git's content model and branching model. And we will do it by building a Git like version control system from scratch. This talk is based on my previous talk at Chennaipy (July 2015). This time we will use pseudocode, instead of a real Python program

Introduction to Asyncio

I'll start with an overview on why we need python Asyncio along with examples and explore the new keywords that are added to the python3 stdlib.

Introduction to OpenCV

I will start with the Computer Vision Basics and Image Descriptors such Histogram of Oriented Gradients, Local Binary Pattern using OpenCV with python.

  • Speaker: Mohanraj

Diving deep into dictionary

Every pythonista knows how to use a dictionary. They claim its the fastest data structure in python and tell, one should not expect ordered elements from it (Atleast in python 2.x). But I am not sure how many of them are aware what happens when a dictionary is initialized?, why its not ordered?, why is it so fast?, how it alters itself when it grows?. I will talk about all of these and after the talk the audience will know whats really happening behind a dictionary.

  • Speaker: Naren
Demystifying how imports work in Python

It just so happens python abstracts away the inner workings of import statement beautifully. But are we aware of how python behaves when it encounters an import statement for a module? Better yet what is a module actually? Packages anybody? How would different import styles compare with each other. Any Best practices when importing modules. What about that __init__.py you saw the last time you read someone else's code.

Introduction to selenium in Python

I'll be explaining them about, what selenium is? How it helps with browser automations. How we can use it for testing? Selenium ide and webdriver. Also I'll be showing demo and how to code.

  • Speaker: Mayur Shah

Flask Web Sockets and Real-time Chat Metrics using d3

In this talk, I would be covering how to build a simple chat app using flask socket io, client and server generated events, simple chat metrics and how to visualize the metrics in real time using D3 js.

Sentiment analysis with Python

The talk will deal with basic concepts of sentiment analysis, applications of sentiment analysis and writing a sentiment analyzer with python.

  • Speaker: Manish
Measuring Cyclomatic complexity in Python

A brief intro to cyclomatic complexity. This is a topic related to Python code quality. Cyclomatic Complexity is basically the measure of how complicated a unit of code is - it counts all the independent paths through a unit of code to produce a unique score. Obviously a function that has a very high cyclomatic complexity score (say 100) needs to be refactored.

Some basic reference material that would be useful to attend this talk:

  1. What is cyclomatic complexity

  2. Example for cyclomatic complexity

  • Speaker: Ashok

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: Shakthi 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: Shakthi 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published