Skip to content

Instantly share code, notes, and snippets.


jvns/!!Con Secret

Last active Mar 3, 2020
What would you like to do?
some accepted talk proposals

title: Spying on your programs with strace!!!

abstract: strace lets you look into the soul of a program and see how it works. Without even seeing the source code! ANY program. I've become kind of obsessed with it and I'd like to share my obsession with you. We'll learn about system calls and go through a couple of practical examples of how to use strace to solve your everyday programming problems.

[I think this talk submission also had a breakdown of how exactly I planned to use the time but I don't have the rest]

title: How to trick a neural network!

abstract: I used to think neural networks were magical black boxes that I could never understand. And they kind of are! But in this talk, we’re going to trick an awesome smart neural network, trained by Google, into thinking a panda is a vulture. Live. And tricking something is the first step towards understanding it! No prior understanding of neural networks or machine learning required.

[I think this talk submission also had a breakdown of how exactly I planned to use the time but I don't have the rest]

Title: Diving into Open Data with IPython Notebook & Pandas

Python level



Anyone who is interested in working with data and hasn't used IPython Notebook & pandas together before.


The goal is to show people how Python can be used as a practical and fun tool for working with data, as an alternative to R. After going to this talk, they'll have a good idea of the power of IPython notebook and pandas. They'll also be able to use it for some simple data analysis, because the slides double as a practice sheet for playing around with the data on your own.


I'll walk you through Python's best tools for getting a grip on data: IPython Notebook and pandas. I'll show you how to read in data, clean it up, graph it, and draw some conclusions, using some open data about the number of cyclists on Montréal's bike paths as an example.


Using the example of some cyclist sensor data from Montréal, I'll explain how to

  • clean up data (fix date formatting issues, remove null values, ...)
  • graph the data
  • scrape weather data from the weather office website and look at the relationship between temperature & cyclists
  • aggregate the data to find out how many people bike on weekdays vs weekends
  • talk about possible directions to take the project (make a model using scikit-learn)


Here's an approximate outline.

  • Who am I? Why do I use IPython & pandas? (2 minutes)
  • What is IPython Notebook? Short demo. (5 minutes)
  • What is pandas? What are its advantages over straight numpy? (5 minutes)
  • Installation tips (use anaconda!) & how to start the notebook. (1 minute)
  • Importing data into a dataframe. What's a dataframe? Plotting the data (3 minutes)
  • Indexing and slicing dataframes (2 minutes)
  • Using groupby & aggregate to get weekday counts (3 minutes)
  • Resampling weather data (2 minutes)
  • More slicing to zoom in on unpopular days (2 minutes)
  • Questions (5 minutes)

Total: 30 minutes


I gave this talk at PyCon Canada in August and it was very well received -- people told me that it showed them how to do things they didn't know were possible, and that it was really accessible for Python beginners. I've also given versions of this talk at Montréal Python twice.

I'm also planning to submit a 1-hour tutorial on IPython notebook & pandas to PyData in NYC in November, so providing that that gets accepted I'll have even more practice talking about these tools.

Some links:


This talk was accepted! =)

Title: You can be a kernel hacker!

Abstract: Writing operating systems sounds like it's only for wizards, but it turns out that operating systems are written by humans like you and me. I'm going to tell you what a kernel is and why you should care. Then we'll talk about a few concrete ways to get started with kernel hacking, ranging from the super-easy to the terrifyingly difficult.

Title: Systems programming as a swiss army knife

Abstract: You might think of the Linux kernel as something that only kernel developers need to know about. Not so! It turns out that understanding some basics about kernels and systems programming makes you a better developer, and you can use this knowledge when debugging your normal everyday programs.

Everything in this talk applies to every program, in every programming language. What could be better?

Format: talk

Comments: a bunch of awesome (systems, not programming-language-specific) tools to use to debug their programs, and concrete places where you can use them. (wireshark! ngrep! ps! lsof! strace!)

(the same talk was accepted to PyCon in 2015, but I think I wrote a longer submission which I can't find for the PyCon talk)

a few abstracts for talks that I was invited to give (where they didn't need to be accepted but I still tried to write a good abstract):

conference: RustConf 2016
title: Learning systems programming with Rust
abstract: Do you ever think “Ok, I'm definitely not a beginner at programming anymore, but how do I get WAY BETTER?” I have. It turns out that there are a lot of amazing things you can learn about programming by learning a little bit of Rust and systems programming, and I'm going to talk about some of my favorites.

conference: SRECon 2017
title: So you want to be a wizard
abstract: I don't always feel like a wizard. I'm not the most experienced member on my team, like most people I sometimes find my work difficult, and I still have a TON TO LEARN.

But along the way, I have learned a few ways to debug tricky problems, get the information I need from my colleagues, and get my job done. We're going to talk about

  • how asking dumb questions is actually a superpower
  • how you can read the source code to programs when all other avenues fail
  • debugging tools that make you FEEL like a wizard
  • and how understanding what your organization needs can make you amazing

At the end, we'll have a better understanding of how you can get a lot of awesome stuff done even when you're not the highest level wizard on your team.

conference: KubeCon NA 2018
title: High Reliability Infrastructure Migrations
abstract: For companies with high availability requirements (99.99% uptime or higher), running new software in production comes with a lot of risks. But it’s possible to make significant infrastructure changes while maintaining the availability your customers expect!I’ll give you a toolbox for derisking migrations and making infrastructure changes with confidence, with examples from our Kubernetes & Envoy experience at Stripe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment