Exploring Assumptions with Monty Hall and Blue Eyed Islanders

Let’s talk about making assumptions. Each time you form an opinion on something, you don’t re-examine each of the beliefs that contributed to that opinion. For example, when you order food at a restaurant, you pick the foods that you think will taste good. You don’t spend hours questioning the... [Read More]
Tags: Math, Probability, Paradox, Monty Hall, Blue Eyed Islanders

An Introduction to Algebraic Groups for CS People

One of my favorite classes in college was Abstract Algebra. It was my first non-CS non-elementary math class, and I took it because I knew I didn’t want to graduate without having broadened my mathematical horizons beyond CS. As it turned out, Abstract Algebra felt pretty familiar. Many of the... [Read More]
Tags: Abstract, Algebra, CS, Theory, Group, Programming

Computation Theory Part 2 - Complexity Classes and NP Completeness

Welcome to part 2 of the Computation Theory series! In the last post, we discussed decidability and the halting problem. In this post we will talk about complexity classes. Time Complexity If you’re not used to reasoning about algorithms and their complexity, there is an enormous amount of great material... [Read More]
Tags: CS, Theory, Computation, Polynomial, Time, P, NP

Computation Theory Part 1 - The Halting Problem

When you think about the most important fields of mathematics for a data scientist to know, you’ll almost certainly name calculus, probability/statistics, and linear algebra. These fields form the underpinnings of the most popular data analysis, signal processing and machine learning techniques. But in my experience, I’ve found that there... [Read More]
Tags: CS, Theory, Halting, Decidable, Decidability, P, NP

Parallel Progress Bar - An easy way to run parallel jobs in python

In this post I’m going to share a simple method that will turn any list comprehension into a high performance parallel job with a progress bar. tqdm If you are a python programmer who hasn’t worked with tqdm before, I’m about to change your life. With just 6 characters, tqdm... [Read More]
Tags: Python, Parallel, Concurrent, Futures, Progress, Bar, tqdm