Life Of Navin

Random Musings, Random Bullshit.

kc

Review: PyCon India 2018

The Python community has been one of the few communities that I've actively been part of over the last couple of years, in part because I'm a huge fan of the language (As the saying goes: Python is the second-best language for everything you want to do!) and also because the community has always been one of the most welcoming tech communities I've come across. I've been lucky to be able to contribute back to this amazing community, be it through open source contributions, conducting Python/ML courses for (usually) college students, or by being part of the volunteer team that organizes PyCon India every year. This year, I was part of the CFP workgroup along with a bunch of super cool people, and the months of effort that many people put in culminated last weekend with PyCon India 2018 taking place in Hyderabad. What follows are my thoughts on the event.



First things first: PyCon India 2018 was a grand success! This year was an especially challenging year for PyCon India for multiple reasons:
  • This was the 10th edition of PyCon India, so the community as a whole wanted to have an event which would fit the occasion.
  • Due to multiple disagreements (to put it lightly) within the community, the conference was shifted out from Bangalore to Hyderabad with just 4 months to set up the entire event, basically from scratch.
  • In between all of this, the PSSI was also dissolved (which IMHO was the best thing to happen to the org since it had long ago ceased to stand for anything useful), and the new PyCon team had to take on the added load of figuring out how to handle finances/sponsorships for the event.
Thankfully, right from the get-go, the nation-wide python community stepped up to ensure that the conference would go through as smoothly as possible. Kudos to the local Hyderabad python community for leading the efforts! I'm happy to say this is easily in my top 3 PyCon India experiences. Special mention of the food at well. Hyderabad definitely lived up to its foodie reputation and I enjoyed the delicious food served over the course of the conference.

Something that I feel worked really well this year was the EuroPython model of having workgroups for different responsibilities. The model was adopted out of lack of alternatives, but it allowed for much deeper focus, and more community interaction during the course of the conference organisation.

From a talks perspective, I've always complained that PyCon suffers from trying too hard to balance between beginner and advanced talks (mostly because of the diverse audience at PyCon), but this year I personally feel we came really close to striking the right balance. My favourite talks at PyCon India 2018 were:

  • The Future of Python by Armin Ronacher: This was a talk I was really looking forward to. There are very few people who have not used some python module created by Armin. But he's had a very flaky relationship with both Python as a language and as a community over the last few years. His talk, which was the opening keynote of the conference, was an amazing look at what the Rust community is doing right, be it in code, or through community and what the Python community can learn from it. It was lovely to have someone speak so openly about the shortcomings of Python, and point to actionable items, rather than simply praise the emperor's new clothes. The talk included zingers like "The wider python community and core developers want very different futures for the language" in front of an audience of 4+ python-core devs and 1500 wider community members! :P


  • Large scale web crawling using Python by Anand B Pillai and Noufal Ibrahim: This talk was a pleasant surprise, especially since I spent nearly a year working on a product which did web scraping at a scale which can only be described as large! Despite never having heard of their project, but it's funny how similar the system we used at Bloomreach is (which is more complex, but also has half a decade of engineering behind it), and it was interesting to see and compare the compromises we made vs the ones they made with very similar constraints and having faced the same issues.

  • Cleaning data with Python by Anand S: Anand is someone whose talks at any conference are always of the same outstanding quality and this talk was no exception. While a decidedly unsexy topic to talk about, the problem of data cleaning is something that literally anyone who works with data runs into nearly every time. Anand's talk focused on different techniques for extracting and cleaning data, and how to handle the billion possible edge-cases you can end up with. Every PyCon, I find one amazing talk which uses live code through the talk, and this was the one from this PyCon (Yes, he used a pre-made Jupyter notebook but that still counts).

  • The M-Word by Sidu Ponnappa: Sidu is, again, a not-so-obvious keynote speaker for a PyCon, since he's not really a Pythonista in any significant way. But what he has done is build communities and companies which are very strongly engineer-driven and built from the bottom-up. His talk was about the dreaded M-word, "Manager". His talk was more of a brain dump on the parallels between code management and org management, and how different structures and dynamics come into play in organisations, in the same way that systems grow in complexity over time. His talk was enlightening (except maybe the first 20 minutes which felt more like a Go-Jek pitch, and could have been much shorter) and highlighted how engineering principles apply to org management.

  • Lightning Talks: Lightning talks are 5 minute talks given by people from the community about any topic they feel is relevant to the conference. In the past, lightning talks have been  pretty meh, with unprepared speakers, half-baked slides, incoherent talks et al but this year was very different. The lightning talks were really well presented, tight talks about projects ranging from a RC car controlled using EEG waves (and using a neural net LSTM), to the role python played in the post-floods rescue operations in Kerala, to types of engineers and how they shift between types, to using python for astronomy, to the super fun talk by @datapythonista on well.... random nuggets of coolness! Special mention of the organisation of lightning talks with dual-laptop round-robin screen switching, which ensured the downtime between lightning talks was practically zero.
@datapythonista doing his thing!
Of course, as a volunteer driven event, there's always things that can be improved upon. These are the things I didn't particularly love about PyCon India this year and I hope we can improve next year:

  • Main Hall Setup: The main hall setup had multiple issues. The big one was that the sponsor stalls were in the same room as the main hall. Unfortunately this meant that many talks were disturbed by the noise from the sponsor stalls, where they had ongoing events for participants like quizzes/darts etc. You could hear the noise even from the third row of the Main hall and it was very distracting. The other issue was the sound setup in the same hall which was messed up leading to the speaker not being able to hear anyone from the audience who used a mike (relevant during the QnA session that follows every talk) throughout the conference.
  •  Dev Sprints: Dev sprints provide an opportunity for coders to work with open source project maintainers to create patches for open source projects. The barrier to entry for open source is, even today, seen as being high, and events like this help break that myth. Unfortunately, dev sprints messed up this time. Tickets were announced very late, and even then they were charged and limited to 150 seats. Charging someone money to introduce them to open source contribution is ridiculous IMHO. We need as many good developers as we can get (and then some more) and charging/limiting the number of participants for this was pretty bad. This was called out on Twitter by multiple people, and I genuinely think we could have done a better job of it.
  • Job board: It's a known fact that PyCon acts as a platform for companies and developers to meet each other and create win-win situations where developers get connected to good jobs which require their skill-set while companies get talented individuals to interview/join. This year, we had a job board, which was basically a flex sheet, and companies were encouraged to write their details on sticky notes and paste them on the job board. People could browse through the board and apply/look for more details. It's ironic that PyCon took such a non-technical approach to this problem. A simple web-app would have been so much more useful for this, and been less painful, more easily searchable, and definitely more practical.
The job board at the end of PyCon
Overall, as I mentioned at the start of the blog, PyCon India 2018 was a stunning success and I truly enjoyed myself throughout my stay in Hyderabad. I definitely look forward to participating in PyCon India 2019, both as a organizing team volunteer as well as a participant (Possible speaker as well? Maybe? Yes? No? :P), because after all these years, what still remains true is this:

>>> import this

Twitterverse

Prologue

Finally after all these years, here's to the beginning of what was there, what is there and hopefully what will remain!! So here are my thoughts & words -Online!!