“Writing tests is an absolute waste of time”, some of them say.
Well, we do not think so. The March Bangpypers meetup was a hands on workshop covering TDD with Django. Just like last time, an enthusiastic crowd of 42 attended the session. It was held at the Apigee office in Koramangala. Facilitated by Siva, the session started at around 10:30AM and went on till 3:30PM. Unlike the previous sessions, Kracekumar was the only volunteer to help the participants.
The workshop started by telling everyone the importance of writing tests, the concept and theory of Test Driven Development and how it could help one tremendously while writing code. Although a bit hectic at first, it is a practice that would certainly pay off when it comes to catching the bugs in your code before it is deployed in production. The Repo and the session notes can be found here.
The session focussed on using selenium for writing functional tests and the Python unittest library for writing unit tests. As you can see from the notes, each step was implemented step by step, one at a time making sure that the crowd was following along. The functional tests were bundled in a standalone package whereas the unittests were written within the tests.py file of the newly created Django app.
The concept of writing tests for a piece of code that was not written, was quite alien to almost all the participants. “TDD is like martial arts”, stated Siva towards the end. “You cannot learn it in one day. First you have to go through all the troublesome exercises before getting to the actual kicking and punching part”.
Making voluntary, common mistakes in his code, the instructor made the participant experience newbie mistakes that anyone could make. Thereby making them think it through and finding a solution. The well laid out exercise along with the elegant presentation imparted a great deal of knowledge to the attendees.
The workshop was wrapped up by 3:30PM after which, all of us hungout a bit talking to each other about different technologies and how they compare with each other. Certain participants had a couple of doubts about the session to be clearted who stuck with Siva for a while to get everything cleared.
By 4:15, all of us were on our ways, waiting to come together once more for the next meetup!
Surprisingly, the February Bangpypers meetup witnessed a whooping crowd of 46 Puys attending it. The LinkedIN office space where it was being held, had to be modified a little in order to accommodate everyone comfortably. The meetup was in the form a full-day hands on beginner level Python workshop. It was facilitated by Haris Ibrahim K. V. The agenda was to work through problems, thereby introducing and teaching Python. Kracekumar, Siva, Sayan and Souradeep came forward willingly to help the participants out whenever they had any doubt.
The workshop, which was supposed to commence at 10:00AM, got delayed by half an hour as people were pouring in one after the other. It started off by teaching everyone to fly with Python by importing 'antigravity'. After the initial gimmick was done with, the customary “Hello world” program was written, comparing it with the way it would be if this was a beginner Java or C workshop. God forbid.
The instructor used a library book storing application as an exercise that was continuously built upon during the duration of the course. He had another set of questions which were used to demonstrate and understand certain specific concepts. The audience had a mix of absolute Python beginners as well as others who had a little bit of experience using it. The willingness to learn along with their warm and friendly nature gave the gathering a pleasant atmosphere both in terms of learning Python as well as interacting during the session.
The topics covered included:
* Working with the basic data types
* Understanding Data structures well such as dictionaries, lists and tuples
* Control flow statements including if, for loop and while loop
* Writing functions and understanding parameter passing
* File IO
* A short introduction to writing classes
The workshop finished around 3:30PM. Everyone hung out for a while discussing the various areas where Python was used, the various resources to learn Python from followed by a short talk by LinkedIN on where they were using Python and how. Everyone collected the cool t-shirts LinkedIN was giving away and parted, looking forward to the next meetup.
The January Bangpypers meetup happened at the Apigee office. The organizers, as a part of trying to improvise and improve the quality of the meetups, decided to do a full day session on using the Python Django framework. The trio of Siva, Sayan and Haris were burdened with the responsibility of preparing the content and delivering the workshop. Siva put forward the idea of doing the tutorial in a step by step manner. He created the tutorial content on GitHub with a branch for each step. Find the repo here. Kartik accompanied the team to help out the participants.
The workshop commenced at 10:30AM with around 25 participants.
Sayan kicked off by introducing Django, its features and its structure. He further dived down deep into describing the various settings as well sa workflow possible thereby imparting a solid structure to the participants. He wound up his instroductory session at around 11.15AM.
Next up, it was Haris who had to handle the first and second tutorials. Enlightening the crowd with the customary “Hello World” application, he started by explaining how the different parts of a Django project tied together. He explained and demonstrated by giving a hands on session regarding writing a “Hello World” app. He presented both the approach of directly returning a response as well as using a template in order to render the HTML. He finished off his session in about an hour.
Just before lunch break, Siva took the stage and introduced the flow and structure of the third tutorial. Once everyone got the idea of what was coming, the gathering took a break for lunch at 1:00PM and had some awesome pizzas sposored by Apigee. Everyone got back together at 1:45PM and the session commenced. He had explained each step of his tutorial one by one in this gist. This helped the participants a lot in terms of getting together their bearings once things went too far for them to follow.
Demoing and giving a hands on workshop covering each step one by one, he imparted a clear view of how Django worked, how they could do useful things and how to carry it on forward. The concept of views, forms, models, templating engine, MVT as well validation were covered with simple but non-trivial examples. He concluded his session by 3.15PM by giving a few advices on best practices to follow.
Sayan again took the stage in order to explain in detail the admin features as well about the templating. He went on explaining about how the admin would automatically generate fields for all the models written in a particular Django project to how the templating engine works. Its capabilities, features and best practices of using it. He finished off the last part around 4.315PM.
By this time, the audience were really interested to know more about and around the Python community. They had been really interactive during the workshop, following each line, asking doubts and making sure they learnt whatver was being taught. Towards the end, questions, both related to Django as well as Python started pouring in. It was a wonderful time where the instructors as well as [Krace], the main organizer, addressed each of their queries one by one.
Questions regarding flask v/s Django, Django ORM, static files, templating engine, deployment, learning curve and a lot more were asked and discussed. The meeting was adjourned at 5PM and everyone parted to their own ways after exchanging good byes.
The December Bangpypers meetup happened at the ThoughtWorks office. Instead of just the usual 3 hour meetup, this time, we had a beginner level Python workshop in the morning which almost the same number of people attended.
The workshop commenced at 10:00AM and was facilitated by Sayan. After introudcing Python, he dived deeper into it with hands on exercises for basic strings, data structures and conditions. The session was very interactive and it came to and end at 1:45PM. Find his slides below:
After finishing the workshop as well as lunch, everyone gathered back at the TW hall around 3PM and the sessions started at around 3:20PM.
The sessions kicked off with Kracekumar's introduction to iPython. He started off by explaining the various difficulties that users face while fiddling around with the normal Python shell, multiline editing being the major bottle neck. He went one explaining the myriad of features that came with iPython that helped make life much easier.
Auto-completion, iPython notebook, running system command from within the interpreter, getting help for the objects, and ended with displaying nbviewer, where you could share your iPython notebooks as gists. You can find his notebook here.
Next up was Shoaib Najeeb with his talk on using Cassandra from Pycassa. It was quite an elaborate talk where he started right from the basics explaining the NoSQL database layout contrasting it with the RDBMS ones. After having gotten everyone on the same page with the Cassandra basics, he then moved onto explaining the CAP theorem as well as the configuration required on Pycassa to get it up and running. The session was extremely interactive where he was bombarded with questions, all of which he replied to to the best of his knowledge. As time was running out, leaving his audience thirsty for more, he concluded his session by 5:40PM. The link to his presentation will be updated soon.
To end the day's fireworks, we had Fayaz presenting his session on logging. He started off from the basics, explaining the need for logging in any project that was going into production. Moving forward by sharing some of his insights into the best practices of using logging, he introduced various features that came with the library. He also mentioned some useful utilities such as the Redis Handler, the FingersCrossedHandler as well as the TicketingHandler. Having convinced his audience to go back and get started with logging, he wound up his session by 6:15PM, thereby bringing the meetup to an end. His presentation shall be shared soon.
Thanks to everyone who attended and let's keep the ball rolling folks!
Next few months we are planning to have workshops, tutorials in the morning and talks in the afternoon. RSVP here.
- Introduction to Python - Beginner level - 9:30 AM - 1:30 PM by Sayan.
Please install 2.7.x (not 3.x) in your laptop.
Talks: (3:00 - 5:00 PM)
Introduction to IPython - Beginner level - Kracekumar - 30 minutes.
Intro Pycassa - Shoaib
This talk will start with a high level introduction to Cassandra and its data model. A major portion of the talk will be used for understanding Pycassa, the python client library for Cassandra and exploring various pycassa methods for interacting with the Cassandra data model.
Logging and error reporting for fairly large projects - Fayaz.
Saurabh gave a talk about using docopt. It was lucid and clean explanation.
Shantnu gave a lighting talk about graphite.
Kracekumar also gave a lighting talk about how to use ipython to write blog post.
July Bangpypers held at Google office. 50 people attended the meetup. There was lot of discussion and crowd
was fantastic. We were unable to have Django logging talk by Siva which will be continued in next month meetup.
Anand gave talk about Python 3 features.
Saurabh was supposed to give a flash talk about decorators but it ended up being full length 38 mins talk.
Bangpypers may meetup was be held on 18th, May 2013 in [Alphalabs] JP Nagar .
Introduction to map/reduce by Anand.
Run Python in browser by Kracekumar.
This talk also featured in Pycon India 2011.
I have created poll to have better understanding of bangpypers meetup group expertise level, as co-organizer of the group it helps me to tell to speaker about audience level and expertise. It helps them to tune to audience level with relevant examples, talk content.
Please cast the vote in the following polls.
In case you have any other suggestions please write back to me
Bangpypers march meetup was held on 23rd, March 2013 in FSMK office in
FSMK Office No. 121/17, 1st Floor, 6th main, 14th Cross, Wilson garden, Bengaluru - 560030
from 2.00PM to 4.30PM, 25 people gathered.
Siva gave session how to get started with Django web development, showed a
demo how to create a todo list using Django admin interface.
There was one lightning talk by Arun about his
experience of using python standard library to scrape internal live journal
During recording audio input was mistakenly connected to audio output of
the lecture recorder, as a result audio for Siva's session was lost.
Unfortunately camera backup of the video was delayed in recording and only
speaker face was focused, as a result video is now unusable. Sorry :-(.
Bangpypers march meetup will be held on 23rd, March 2013 in FSMK office in
FSMK Office No. 121/17, 1st Floor, 6th main, 14th Cross, Wilson garden, Bengaluru - 560030
from 2.00PM to 5.00PM.
- Introduction to Django by Siva
- Lighting talks(Anyone can present) about Python Tools, internals, frameworks, third party libraries.
- Kracekumar Ramaraju: 8553029521 - Bangpypers Coordinator
- Shaiju: 8892324346 - FSMK Volunteer
Jonathan Toomim gave talk about his HEG/near-infrared spectroscopy work.
One more talk was about IronWASP - security tool which is written in C#, and it is usable with IronPython.
Two lighting talks, one about bpython and other about python editors.
25 people attended meetup in CIS.
January BangPypers meetup will be held on 19th, January in CIS, Domlur. RSVP
Centre for Internet and Society No 194, 2nd C Cross, 4th Main Opp. Domlur Club, Domlur 2nd Stage Bangalore, Karnataka – 560 071 Ph: 85530-29521
Meetup will start at 3:00 PM.
After the meetup, interested people can join aaronsw memorial hacknight.
December BangPypers meetup will be held on 15th, December in learnstreet office. RSVP
26,Second Floor,Zam Zam Center, Infantry Road, Bangalore, Karnataka - 560001, India. Phone: +91 80-22861869 Fax: +91 80-22861869
Meetup will start at 3:00 PM.
In case any one want to have discussion about particular topic it is welcome. Feel free to leave a comment.
Attended by roughly 15 people.
At 17:30, Anand completed his presentation on his interpreter.
Started a discussion on the bangalore.python.org.in website. The points that came up are.
- Conduct community projects - Bangpypers can spearhead projects which the local user group can work on.
- Root the blog at
bangalore.python.org.in/blogand then by date e.g. This entry would be
- We need a subscribe link on the website.
- We need an embedded “recent Bangpypers mail threads” widget on the site.
- Design love. The site needs a lot of of design love. There were some suggestions from the audience. The plan is for the interested parties (Sidharth) to send mockups to the mailing list.
- We need a college catalogue (like the Pune company catalogue).
- We need a member roster.
- Take appropriate steps to rename the @pyconindia twitter account and use @pythonindia for all notifications of user group meetups and everything else.
November BangPypers meetup was in InfoToros office, JP nagar on 24th.
There were 10 ten people and there were two talks.
We had mix of audience beginners, intermediate, advanced.
Bangpypers has a youtube playlist, please share the info.