PyCon India 2014 – Days of Future Past

Banglore cantonment station was busy as usual, Taxi wala blocking passengers with their offers. People running away not to get caught in their trap. Sreekanth, Tevin, Nidhin with me trying best for a taxi and a good bargain. Even though we were tired of the eight hour journey in an over cooled AC coach. Nuventure had already arranged all the facilities for the python team to attend the conference. Unfortunately VC and Joju had to face unpredicted issues and back out from the journey.

Train was late for 40 minutes. We had to reach Nimhans Conventional Center in 20 minutes fighting with the heavy morning traffic. Nidhin and me got our workshops scheduled to start at 9:30.

We were impatient whenever we got blocked at red light. Our driver completed the ‘Voyage’ in 40 minutes and we are at Nimhans. Me and Nidhin rocketed to the workshop Auditorium, missing breakfast. Quickly finishing up the check in formalities of event. We went to concerned auditoriums for our sessions.

Day 1

Writing security tools in python by Yashin Mehaboobe was the first session I was running for. Passion for computer security was inside me when I first breached my home computer’s bios password, locked by my elder brother, using Kobian motherboard’s keyboard based bios restoring in 2001.

Yashin could explain situations where we need to write our own tools while many third party or ready made are available. Basic security tasks like Port Scanning, Socket programming, Banner Finger printing, Brute forcing passwords, Packet Crafting, Packet spoofing, Packet Sniffing etc were covered in the session. He showed us how powerful libraries like KeyCzar, impacket help hackers do their jobs.

Extracting EXIF data using Pillow library was very easy. He quickly covered some basic data mining/scrapping with BeautifulSoup and lxml libraries, How Py2Exe, Py2Elf libraries help to pack executable files as single binaries. The session was simple even a python beginner could follow the content.

When I came out of the session, I could find Nidhin, discussing with an enthusiastic college boy at the nearest stall, the details of workshop, Scrape Anything, he attended. Sreekanth and Tevin had already moved to the hotel after finishing up the Registration procedure.

We chatted for some time about our sessions and moved to food corner, where PyCon organizers arranged delicious Vegetarian food. We had some dosas and various side dishes. (Trust me I don’t remember food names much).

The conference along with Workshops were zipped in three days. All the workshops were scheduled on 27th. Two auditoriums were occupied with workshops running parallel. Conference and speeches were programmed on 28th and 29th. Finishing the food, we roamed around the stalls. Most of the stalls were getting ready for the Conference, expected to start next day.

I got back to the venue after my Friday Prayer. Nimhans’s lobby getting filled with Pythonista’s all around the globe. Next workshop was scheduled at 4:30, and I got plenty of time to explore the Convention Center. Situated at the heart of Banglore, Nimhans CC has been venue for many open source conferences and events.

Ben Postlethwaite and Alex Vados from Plotly were setting up their kiosk. I had used plotly graphs for some of my projects, Plotly draws cooler interactive graph for the input data provided. Very much helpful for BigData fans. Inquired more about Javascript based graph plotting options and issues I had faced, Ben showed me some of the upcoming features of Plotly on his Vagrant development environment.

My mobile had already drained off and Mac book pro running with 10% power. Wandering along the venue for a power socket, I met Pratyush Who has been working as a Chartered Accountant and spending his life as a pythonista. Hardcore fan of Django, founder of Screener.in, helping many investors for their investment options. He explained me differences between Fundamental investment and Technical investment and how some guys use best of both. Also showed me a nice Firefox plugin Vimperator for making the browser to Vi compatible interface. I gave some instructions, cloud options and async libraries for the scalability of screener project.

I was amazed when two kids around 11 and 9 ages talking to people about pygame and their adventures at the lobby while waiting for the charging to get completed. The alarm @ 16:30 woke me up and I had to attend the Test your webapp with Selenium session.

Anisha Narang’s session was a real workshop. We had a partial code to download and test the webapp, Coding along with many others in the flow. Many volunteers to help out if anyone got blocked in the middle. Even though I had heard the word selenium many times, I haven’t tried it till the conference. Using selenium is very efficient to do Single Page or Multipage web application functionality testing.

I had written many unittests for API’s at Nuventure as part of our test driven development, using python libraries like re, unittests, BeautifulSoup and lxml. But haven’t tested UI functionality via full automated way. Anisha showed us how pyselenium is so handy to test webapps functionality with Firefox, Chrome Browser or Headless one. The workshop showed how effectively we could Emulate Button click or key press and run the web application on intended flow.

I met Baiju Muthukadan who is an active FOSS activist and open source contributor. He explained me how object oriented programming could be used to extend pyselenium’s functionality, and why ‘Go’ language is gaining popularity with its inbuilt concurrency and increased performance. We had a chitchat about how Grunt, Gulp, Jenkins, Ansible affect the productivity and automation. Talked a little about private clouds and architecture of applications.

Sreekanth and Tevin was at a session, Decorators demystified, which me and Nidhin had a glimpse. Anand Chitipothu, maintainer of web.py framework was explaining from beginner to advanced. He visualized simple decorators like memoize help to compute in a faster way. Explained usage of decorator in the architecture of flask framework.

Our room was booked at Madivala, around 3.5 KM away from NHCC. The travel back  on the line bus was tragedy. Took more than 40 minutes to reach hotel.

The 30 minute long bath helped me to recover from the tiredness of the rush day. I sat on the couch, tried to make some notes of the day. The sweet aroma from Air conditioner and Tandoor Chicken from stomach pulled me to the bed.

Day 2

Morning ride, back to the venue was not that bad. A 10 minute flash in the auto. May be the weekend and Dussehra holidays  dragged people away from the city. We reached  at venue around 9.15 and  stunned when we saw the queue of ‘Python aspirants’.

We got the files and a ‘QR coded’ ID. We rushed for the food and felt disappointed with the ‘long queue’, They were providing wide variety of food items for the day.

Fighting with the queue,  at last, we got food. The session by Kushal Das, Cpython developer and Fedora mentor had already started. The hall was full and we had to ascend to balcony for the session.

Kushal was funny and unfolded his journey through the open source sea. Starting from a small village at Bengal to the Python Software Foundation.

We saw Jayaram, our project manager, Tinu and Faris, directors, who flew from Cochin on previous day. We had a small discussion on last day’s sessions.

I went  to auditorium 2 afterwards for a session on BigData analysis using PySpark, a library for Apache Spark in memory Map Reduce system.

Later We attended Django design patterns by Arun Ravindran. He explained about his experiments and briefed why some of the most common design patterns like abstract factory pattern are ‘Unnecessary Complications’ in python’s case.

Anand Chittipothu’s speech on ‘Messing with Govt data’, was his experience with ‘Electronic election campaign organization’. He covered how he could create an effective election campaign using the available Govt data. Gave short intro on how he created beautiful reports with Report lab library.

We had a fantastic list of items for our lunch. Awesome food, met Oommen, friend of Jayaram, who do research on Biotechnology. He hinted how Biopython is used extensively on biotechnology researches.

The tasty lunch was enough for a good sleep. But the session was so interesting that I had to dispose my sleepy mood. Some talented college guys were trying to implement a faster VM for python. ‘Medusa’ which converts python keywords to equivalent Dart code, and ran on Dart VM. Resulting a much faster python execution. Especially in the case of recursive functions.

Dreamworks guys who coded their workflow with python, was next on stage. They were using twisted matrix, a highly customizable asynchronous framework, helping you to write network programs in any layer. I had never met anyone in person who used Twisted Matrix after my project with a Japanese firm, where we built HTTP Sticky Load balancer. Dreamworks guys explained how twisted helps them transfer large files across the sea, via dedicated line connections in between, by using client server architecture.

The documentary about “Aaron Swartz: The internet’s own boy” was inspirational. He fought for freeing knowledge. Indeed his early death was a great loss to the humanity.

There were lightning talks, which people came out with their ideas/talks and presented for 5 minutes. Was a brilliant idea which covered many new topics in a flash.

Some one took a session on ExpEYES, a cheap CRO, with a USB connector and UI software created on Python. It will definitely help young entrepreneur with Internet of Things device ideas.

A 12 year old and 9 year old kid took sessions on PyGame and how they created games in the simple framework. Python is so simple even kids could program 😀

The day went really well. Visited Forum Mall while returning back to hotel. Done a quick shopping and ‘roaming’ though the mall with Sreekanth’s friends. We could try Chicken 65 and tandoor roti, Banglore version from the hotel at Madivala and had a peaceful sleep.

Day 3

Freshened up early, We started our journey for the third day. Seems early morning journey on Saturday and Sunday is not much affected by traffic as on week days. We reached the venue and queued for breakfast. Breakfast was delicious and appetizing. The big queue drawn me to session hall early without fighting much.

The Keynote speaker, Michael Foord, who is an active developer of Cpython and Ubuntu Juju. Started his career at IronPython, he later became active developer in Cpython. He gave introduction to Ubuntu Juju, an orchestration management for various cloud service providers and services. While normal cloud management systems like Ansible, Puppet and Chef provides provisioning capabilities, Juju understands the relationship between those services.

The next session was by  Aditya Manthramurthy @Plivo. Covered how Asynchronous IO systems like Gevent help to scale servers to handle heavy amount of traffic. While traditional codes to fetch data from db, calling thirdparty apis from servers etc block the operation of ‘request to response’, async operations help to run these operations in parallel and speed up response generation time and  handle more requests per second. He also explained how WSGI server handles a request and generate the response. If number of WSGI servers are increased, with the expense of more RAM, handle more number of requests per second.

Faster data processing with python by Anand S, was a mind blowing session. Explained how he could handle the ‘slow’ python for a faster data processing. Done a walk through, pros and cons of data serialization options like csv, json, pickle. His approach to speedup code via eliminate redundant operation, optimize time taking operations via reducing number of hits and reducing number of time per hit was awesome. Described how line profiling is useful for optimizations. He showed how caching some of the recurring functions gives  speedup to the code execution. Briefed Cython, numba with static typing to speedup execution if we need much faster calculations. He showed how some of the functions at numpy and pandas are faster than built in python equivalents.

There was a panel discussion after Anand’s session. Django, Flask or web.py which is better framework for web development. While Arun Narayanan represented Django, Kiran Jonnalagadda of hasgeek represented Flask, and Anand Chitipothu represented web.py.

The discussion included community response, maintenance, optimizations, performance and future of these frameworks. One thing that was new to me, at PyCon they introduced a miscall voting system to vote for the frameworks, and Django was winner in voting, as most of the people use Django for their development.

Next session I went, Development to Production by Anubhav Sinha. He briefed about Vagrant and Docker and explained why docker containers help to ‘Write somewhere and run anywhere’ applications. Docker helps to run applications and environments work across operating systems.

The last session I attended was Narahari Allamraju’s ‘Which messaging layer should you use if you want to build a loosely coupled distributed Python app?’. How to identify the patterns to make application loosely coupled. Briefed about advantages, disadvantages of Zeromq, RabbitMQ, Redis and some other MQ systems.

Most of the people who used iPython Notebook in their presentation. It is an easy web interface for iPython to try codes and save them like a notebook.

We went back to hotel and freshened up, packed things for our return journey. Our train was scheduled @9.30 evening from Banaswadi station, Had to travel 2 hours, roam around a little to find a restaurant near railway station. After 12 hours of train journey we reached Ernakulam Town Monday morning.

And we still miss the PyCon Days 🙁

 

* Kushal’s Session Original photo link