Khan Academy Interview Project

Khan Academy Virus Propagation Part of the interview process at Khan Academy is to complete their interview project. This project deals with virus propagation through a directed network. We will be using the terms “graph” and “network” interchangeably, but I’m referring to the same thing for both. From a high …

Integrating SMS with Twilio

Let’s say that you need to integrate SMS capabilities into your project, and let’s also say that you’re using python. You can use Twilio to very easily integrate texts directly into your application. Setting Up Twilio First though, you’ll need a Twilio account. Go to their signup page, and create …

One Dimensional Maps

Creating one-dimensional maps is a very easy and straightforward process that can be used to explore chaotic behavior. Given some function we take an initial value and use the iterative process $$ x_{n+1} = f\left(x_n\right) $$ One popular map to explore is the Logistic Map, defined as $$ x_{n+1} = …

An Introduction to Plotting in Python

After having some Applied Math friends rant to me at how awful plotting was in Python I decided to write up a quick guide to hopefully change their minds. Numpy This assumes a basic familiarity with numpy, although I’ll go over the basics really quickly just in case. The syntax/API …

The Python Typing Module

The typing module added in Python 3.5 (see reference docs here) adds additional types and meta-types to allow for more control over python type hints. In this post we’ll talk about what this module adds and what neat things you can do with it. This is the third post in …

Python Type Hinting

In Python 3.5 and greater an “optional type hinting syntax” was added. This is part of a gradual typing implementation (gradual typing is essentially adding a few types to an untyped codebase, or only partially typing the codebase as you go). This is the second post in a multi-part series …

The Good, the Bad, and the Ugly of Tuple Unpacking

Python has this neat feature of unpacking tuples during item assignment. Here’s a general example:

or if you have a function that returns multiple items:

But what if (for some reason) you have a function that returns some large number of variables (or a smaller number of long-named …

An Introduction to Python’s Types

In this post we’ll talk about python’s types, how to use them, how they’re treated, and what we can do with typing. This is aimed at beginners who have heard the words “Python” and “Types” but haven’t quite nailed down what they have to do with each other. This is …