Avi Das

Home for my code, thoughts and else.

Speaking at PyCon Canada 2015: I

High Level Takeaways

  • If you are giving a talk, too much content on slides means the audience is reading the slides instead of listening to you.
  • Design your talk expecting failure, and assume things like wifi will not work. An analogy would be the non functional escalator still being a staircase.
  • Show your talk to as many people as time allows. Every time I showed my talk to someone, I would find a new way to make the talk better.
  • It was amazing to hear from a 10 year old about his experience in coding. The barrier to entry to tech will keep falling in a noticeable way.
  • Teaching remains the best way to learn alongside with building things.
  • Coding for expectability is often as important as any considerations in a software project.
  • Science, data, web, systems and infrastructure were dominant themes at PyCon.

Getting to Toronto

  • It was really exciting to have my talk accepted at PyCon, since it was my first time speaking at a conference.
  • Getting through customs went as painless as they could have.
  • Toronto was colder than Austin, big surprise! Reminded me of times back in East Coast.
  • T-mobile data roaming was a breeze to set up, and worked mostly well across different providers.
  • Toronto had different modes of public transportation getting from downtown to airport: buses, streetcars, subway. Makes a city more interesting, although makes day to day travelling more complicated. Although, it does not take a whole lot to put public transportation in Austin to shame.
  • Asked a lady on the Subway for directions. It soon turned into a great conversation with her and her husband about life in Toronto and their experiences in US. For a big city, Toronto scores major points for having friendly people. Canadians have a reputation of being polite and helpful, and I would come to recognize it throughout my trip there.
  • My AirBnB was in Kensington Market, close to UoT where PyCon was taking place. It was a vibrant neighborhood, bars, restaurants, transportation nearby. My room was no hotel room, but a bed was all I needed.


  • Morning started with me feeling the stress of not having all my slides and examples ready. I wanted to take some time to reflect on the great feedback I got from my team, but there was little time left.
  • Adding to my anxiety was the wifi connection not working. Thankfully, some organizers helped me out. Once the certificate issues resolved, it worked well for remainder of the conference.
  • Continental breakfast consisted of an assortment of cottage cheese, granola/yogurt, muffins, bread and coffee. No complaints.
  • Talked to Dusty, a Facebook engineer working on the Facebook infrastructure in Portland. Having lived in Canada, he had a lot to share about his experience there.
  • Morning keynote explored the history of Python interpreters and went into benchmarks. Benchmark related conversations can get subjective, but the speaker did a good job avoiding that.
  • Talks on application security, Emmy nominated CGI(!) and Docker deployment followed. The CGI talk was offered a very different viewpoint in software problems. Being highly computation intensive and long life cycles means the tradeoffs are very different from the usual SASS app/consumer product.
  • Fully vegetarian lunch would have made some of my friends in Austin very happy.
  • Talks on code quality and scaling followed in the afternoon. The scaling talk did not cover scaling a python service, but rather maintaining OpenStack, in the order of 4-5 million lines of code written in Python.
  • SaltStack for deployment and fraud detection were next on the agenda. Fraud is very relevant for those in the payments industry, so I was very interested in the talk. Most of the talk focused on Apache Spark, and the fraud aspects covered some of the usual signals such as checking location of IP against location of the credit card.
  • Karen Rubin’s ending keynote was the highlight of the day. As a director in Quantopian, she benchmarked placing bets on companies with female CEOs and bet them against the S&500. She presented her initial model, and presented various tunings to her model. Factoring in arbitrage during the initial period when a female CEO got brought in, divergence due to outliers such as Meg Whitman or Marissa Mayer, and female CEOs brought on to replace poorly performing male CEOs were some of the considerations. Even with all, her strategy still handily beat the S&P500! This makes one wonder how segmenting CEOs further by backgrounds would perform against the market.
  • At the end of the day, I got to talk to some engineers from Dropbox and Heroku. Pain points with experiences doing online payments came up, when the tradeoff was unfortunately often to trade integration pain points with services more susceptible to fraud.
  • Over dinner, I chatted with a core group who have grown the Python meetup scene in Toronto from a handful of people to a conference with many hundreds of people today. We talked about their efforts in teaching Python to children and disparity on expectations as a software engineer based on location and industry.
  • In the evening, I spent more time going through the presentation, trying to replace more slides with workflow diagrams.


  • Sunday was the day of my talk. The day started later than first, and I took full advantage by going for a run around downtown Toronto. As I ran by the CN tower and the financial district, the tourist density went up significantly. It was a colder morning, but running in a new city is a tradition.
  • Greenroom at PyCon Toronto very wisely offered speakers the chance to check on their presentation before the actual event. There were issues with fonts, color schemes, and terminal positioning that I was happy to discover. The talk would switch between terminal, emulator, sublime text and slides. I had to make sure that the transition would be as smooth as possible.
  • It was great to run into old acquaintances from NYC, James Powell of dontusethiscode fame, and Paul Longston. Both are doing terrific things for the Python community.
  • Morning talks were heavy on REST, Django and Web. One unfortunate thing about speaking at a conference is that you can miss some interesting talks. I definitely would have checked out the other talk given in my time slot on legacy code by Scott Triglia, an Yelp engineer. But that’s what videos are for!
  • It was time for my presentation, with a good number of people in the audience. Checked in with Gabriel, the host at my room. After mike and projector check, it was time. Here we go.
  • During my talk, I focused on slowing down and focusing on the audience instead of the slides. The demos worked as well as I could have expected! Having the commands stored in the terminal which I could Ctrl+R through avoided a lot of potential issues. One issue that came up was spacing issues in the terminal. As far as things that could have gone wrong, that was a minor one.
  • Talk lasted for about 29 minutes, and I was pretty happy to get a couple questions at the end. Someone reached out and mentioned that the whole setup was awesome. It was very relieving to have it finally be over and feel the sense of closure.
  • As a productivity junkie, the afternoon talk on deliberate practice and learning to code was a great one. How can we better realize if we are actually practicing deliberately? It raised some compelling discussion at the end.
  • At the end of the conference, it was great to see the organizers taking some time to do some well earned celebration.

Part II

  • I intend to do a followup blog post with the contents of my talk, so stay tuned!