[Chennaipy] August Meetup - Minutes

hafizul azeez hafizul.azeez at gmail.com
Mon Aug 29 01:27:22 EDT 2016


The non-stop drizzle, the quiet IMSc environment and vibrant pythonistas
set the context and expectations for the August meetup. However, plans took
unexpected turns when the speakers got delayed due to the drizzling rain
outside and the traffic created by it. Vijay took the stage to engage the
audience with round of introductions and a generic Q&A session on python
and the community. All of them took the opportunity to introduce themselves
and a few asked some interesting questions. With the speakers not turning
up yet, Vijay announced a lightning talk session.

Rengaraj from Zilogic systems took the opportunity to present an idea he
was working with (DBus), explained the design and asked for feedback and
contributions. Kudos to Rengaraj - though it was a lighting talk, taking to
the stage with no slides and preparation within few minutes summons respect
and appreciation.

An introduction to Flask by Hafizul Azeez

As an emergency talk, Azeez gave a brief description of Flask and how it
can be used for rapid application development. Azeez highlighted the
difference between the micro web framework, Flask and how it is compared
with a batteries included framework like Django. He gave a brief demo of
how a simple Flask web app looks like and explained the code behind the app.

He also made slight changes to the code with the inclusion of html
templates and how parameters can be passed from the client side to the
server side thru Flask routes a.k.a end points. In the process, he said how
the Flask framework supports a design pattern called MVT (Models, Views and
Templates) and how it all works in orchestration to make the web app.

He also gave additional inputs on extending the Flask app with Plugins and
highlighted a few prominent plugins like FlaskWTF (for Forms),
Flask-SQLAlchemy (for databases), Flask-Login (for managing user logins,
authentications, session management and cookies) and few additional modules
(like Jsonify). Overall, the session received positive inputs considering
that it was planned to be a filler (till speakers arrive) lightning talk
but turned to be a 20 minute talk.

This talk was followed by tea and networking. The cool weather outside
(something Chennai misses too often) and the hot tea and coffee inside
added energy to the already pumped up pythonistas. Getting to know new
people, shaking hands, answering queries, taking feedback accompanied with
good weather - whoa, just awesome! Speakers turned up sometime back and two
more talks to go as per schedule.

Computer Vision with Deep Learning by Manish Shivanandhan

Manish started with an introduction of deep learning and how machine
learning and deep learning differs. Machine learning is more of recognising
patterns and deep learning is more of learning about patterns. Manish
covered the different types of learning - supervised, unsupervised and
reinforcement and gave examples for each of these types; along with
classification and regression and provided real life examples (housing
prices, stock prices etc) to compliment the understanding.

Coming to neural networks, Manish hinted various algorithms are used for
deep learning and one of them being Neural networks. He also deciphered as
to why Neural networks is getting so much traction these days!? - and
attributed it to the increasing computer processing power and the exploding
amounts of data.

He also highlighted the use cases of Neural networks and its advantages and
limitations. Prominent examples being:
Computer vision - pattern recognition in images
Creative usage - generating text/music/speech

One interesting exampling Manish gave is the JK Rowling (Author of Harry
Potter series) case and how Neural networks helped identify when one of her
books was written in another pen name (which was not JK Rowling). This
captivated the audience much more as this is some thing almost all of the
audience can correlate with. He also stressed the importance of Neural
networks in the health care domain in finding cure for diseases.

He covered how neural networks can be used in Computer vision and deep
learning. He gave insights into how to take a problem and represent it in
numbers so that deep learning can be used. He also hinted that if any
problem can be represented in numbers, deep learning can be used. He demoed
with an image, flattening it and showing the numbers behind it and
highlighted that with enough numbers and processing power, patterns can be
learnt by Neural networks. He complimented that with the Prisma case study
where researchers took a lot of art manually, scanned it and fed neural
networks to learn how the great artists like Picaso would have painted the
picture (the brush strokes, the pressure applied etc). So when an image
(like selfie) is fed into the Prisma application, the computer generates
the art form of the image- i.e. how the image would look like if it was a
painting from Picaso and the likes. This further stressed how deep learning
can be used and how neural networks can be trained provided sufficient
clean data is fed into it.

Finally, he gave an introduction to TensorFlow and its distinct abilities
when compared to other frameworks like Theano. Manish finished his talk
with resources and references for further exploration of Neural networks
and details about his upcoming webinar. Oh yes, he answered a lot of
questions on deep learning from an inquisitive audience who were awed by
the potential of deep learning and bitten by Manish's enthusiasm.

Behaviour Driven Development by Naren Ravi

Naren provided the background of the talk with a short description of what
Behaviour Driven Development (BDD) is all about - i.e. testing the code
with the user in mind and meeting the expectation of the stakeholders
rather than just testing the code.

He started with the waterfall model, the advantages and it's limitations.
He gave insights into why testing in the later stages of the cycle makes
life difficult - if bugs encountered and to finally discover that the
design itself is flawed bringing up frustrations.

He then covered how the first optimisation on the waterfall model was done
with testing the code and informing the development and how further
optimisation was done to the waterfall model with both testing and
construction (coding) done parallely. Though these optimisations were done,
Naren stated that there was an inherent disadvantage that was left with -
i.e. the design cannot be tested. The solution is to bring the design into
the development i.e testing, coding and design all tested parallely which
is the Test Driven Development (TDD).

Naren then added that even TDD won't suffice as the requirement analysis
stage is completely left out. He then questioned the possibility of scope
(requirements) change and how the SDLC model would adopt it!? Bringing the
analysis cycle into the above cycle of testing, code and design becomes the
BDD, he concluded. This gave an overall picture of the BDD - testing (test
cases) first, construction (coding) and the design and finally checking if
all of it matches the requirements.

He added that in some context, this is how lean startup works. Develop a
product with a new feature, send it to market, get feedback and then add a
new feature, send it to market, gauge the reactions and the cycle goes on.
Overall, it was a well structured talk starting with the traditional
waterfall model to TDD to BDD and what optimisations were made on the way.
He answered a few questions later to help bring more clarity into BDD.

The meetup ended with Vijay thanking the venue and networking over tea
sponsors, speakers and the rest who made the meetup a successful event. He
also asked attendees to register in the mailing list to keep abreast of the
happenings in the Chennaipy community.

Regards
Azeez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chennaipy/attachments/20160829/7c7c9b9f/attachment.html>


More information about the Chennaipy mailing list