You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]
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
Novice
Audience
Anyone who is interested in working with data and hasn't used IPython
Notebook & pandas together before.
Objectives
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.
Description
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.
Abstract
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)
Outline
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
Notes
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.
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.
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.