back to articles

PyGotham 2019: Day 1

This is a first conference I have ever attended. If I had to describe it in one word, it would be ‘great’. Here is why:

  • I’ve met a lot of people with similar interest personality types, which is hard to do in regular setting.
  • I’ve made a number of “useful” contacts that might help me find a good job.
  • I’ve seen a lot of interesting presentations that have sparked my interest in programming (in Python) even more.

During the event I took notes with Joplin , which is a great open-source note-taking app. I strongly recommended to everyone. Not a sponsor.

The general structure of the notes you are about to read is the same:

Name of the talk


  • Notes are going to be bullet points. If i have any notes above the bullet point above, I will leave them in this grey {code} block
  • I will try to leave find as links as possible, so you don’t have to google everything.

So, without further ado, here are the notes I’ve taken during the first day of the event.

Python use spectrum

Kojo Idrissa

  • More speakers always needed. This makes me want to make a talk to present at one of the conferences, seems totally doable and great for portfolio.
  • Volunteers always needed Certainly feel I should have been volunteering at this event. Will try to consider volunteering much more often
  • - Django organization

Eita! Why internalization and localization matter

Nicolle Cysneiros @Labcodes - (Web Design Agency whos tech stack is python, django and js)

Differences in formats across countries

Python library to deal with that

  • GNU gettext
    • This piece of software essentially is helping you to create a ‘list’ of text blocks that will need to be translated.
  • locale module.
    • This module helps change the formats of the above mentioned differences.
  • Apparently Django makes it super easy.

Can you keep a secret?

Aaron Bassett @Nexmo

Absolutely Awesome Automated APIs

Timothy Allen - @WRDS (uses Django)

-@flipperpa -djangonaut -hockey_fan_flyers -guitarist -loves_icecream

Recreating “The Clock” with Machine Learning and Web Scraping

Kirk Kaiser @datadog

To comment or not? A data-driven look at attitudes toward code comments

Veronica Hanus

  • Funny, good presenter
  • The general consensus is that comments are good and you should leave them

Learning with Limited Labeled Data

Shioulin Sam @cloudera

Introduction to Generative Adversarial Networks (GANs): hands-on to making new data (and some pretty pictures)

Nabeel Seedat

What physics can teach us about learning

Marianne Hoogeveen

Django + ElasticSearch without invalidation logic

Flávio Juvenal @vinta

  • Most popular search engine
  • Why use search engine
    • Tokenization
    • Fuzzy similarity
    • Cleaning
  • Elastic search built ins
  • Less than million rows of Data can be searched with postgres built-in capabilities (check Django postgres search ) if more than 1m than implement elastic search
  • [Haystack library](Haystack library) for search in Django
  • Zombodb works with postgres (via access method API) (Django-zombodb)
    • will Soon work with postgres 11

Static Typing in Python

Dustin Ingram @Google @di_codes

  • type errors happen
    • When Python expects a list received a string and converts that to a list , ugly list
  • Python originally is dynamically typed, but can also be static. Which is a great strength
  • Pep 3107 fucntions
    • Def Foo() <- max(2,9)
    • Foo.__annotations
  • Mypy from PhD introduced on pycon us 2013
    • Experimental variant of Python that is statically typed
    • After talking to Guido decided to implement to pure Python
  • pep 483 theory of type hints
    • Optional typing (+gradual typing)
    • Variable annotation
  • Check data science from scratch again, it has some static type instructions
  • Pep 484 type hints
  • Pip install mypy
  • When not to use : never
  • When to use : as much as possible (Start early)
    • When code is confusing
    • When for public consumption
    • Before big migrations and refactoring
  • Start early
  • Note : not a replacement for unit test

Convincing an entire engineering org to use (and like) mypy

Annie Cook @nylas - hiring

  • Mypy is a static typechecker , type of documention (self documenting )
#pep 484type hints
Def Foo(type: str)  -> str
  • With mypy linters work better
  • Captures a large category of errors
  • Union is a multiple type
  • learn x in y minutes . Saw some guy in the talk use this website, seemed interesting

ministry of silly talks

in-toto - securing the whole software supply chain

nyu , njit, Santiago Torres Aria’s, Hammad Afzali, etc.

  • Not rely clear, probably hard to implement
  • Sounds scary where people can attack software, need to check if that actually happens

Test your failures with xfail

Paul Ganssle

  • Decorate a test that you expect to fail with @pytest.mark.xtest

Experimental features in Scikit-Learn

Thomas J Fan - scikit learn core devoler

  • Deprecations?
  • Use columntrasformer to transformer some of the dataframe

Why your tech company from recruit from philosophy department

Katherine Hartling - @KatOnceSaid

Greed an homage

Julian, @julian - GitHub, @julianwastaken on Twitter

  • Algortim of change in supermarket, greedy algorithm
  • when does it work
    • When you can take Independent choices within each step
    • Matroids

Change just one thing

Timothy Allen , same guy as WRDS talk in API

  • Dealed with alcohol addiction problem!
  • Ask help, people are willing to help, especially the Python and Django communities

Structured logging in Python

Jonathan Meier software engineer @openslate

  • Structured logging is writing consistent logs that are easy for computers to read (JSON)
  • Python-json-logger or structlog

Restructuring Data in Python

Mahmoud Hashemi @

  • Flat is good vs namespaces are good. Tim Peters - Pep20
  • Nested data is bad. Tim Peters
  • Glom library - Python data nester
  • Good presenter.

Ministry of silly runtime: Vintage Python on cloud run

Dustin Ingram @Google @di_codes

  • Run stateless http container
  • Docker images as a service
  • Installed old Python (1.0.1) on cloud run
  • Good presenter


Tuesday Letter

Consider signing up for my personal newsletter. I will share the most interesting articles and resources I've encountered during the week.