1. ## A Review of Basic Algorithms and Data Structures in Python - Part 1: Graph Algorithms

A quick review of basic graph algorithms and related data structures, with minimal implementations and unit tests provided in Python.

Tagged as
2. ## Fun With Python Coroutines: Generating Permutations

A very short post on having fun with coroutines to generate all permutations of a given list.

Tagged as
3. ## The Infinite In Haskell and Python

Exploring the use of coroutines and lazy evaluation to generate infinite structures in Haskell and Python.

Tagged as
4. ## Understanding Recurrence Relations Using Automata, Python Code, And Javascript Visualizations

Recurrence relations are very often taught in first- or second-year computer science and discrete mathematics courses. This post takes a somewhat different and more visual approach to understanding linear recurrences and solving them by drawing the link between linear recurrences, automata, and matrices, using the problem of generating all domino-tilings of a board as the springboard. Code in Python and visualizations in JavaScript are used to demonstrate the ideas.

Tagged as
5. ## Understanding Asynchronous IO With Python 3.4's Asyncio And Node.js

An exploration of asynchronous IO, event loops, threads, and coroutines through code written for Node.js and Python 3.4.

Tagged as
6. ## Visualizing Philosophers And Scientists By The Words They Used With Python and d3.js

Creating a word-cloud based off of publicly available project Gutenberg books, with d3.js and Python.

Tagged as
7. ## Understanding SAT by Implementing a Simple SAT Solver in Python

SAT is often described as the "mother of all NP-complete problems." This post goes over what SAT is and why it is considered to be so important. A simple SAT solver is implemented using Python in the process.

Tagged as
8. ## Combinatorial Generation Using Coroutines With Examples in Python

Approaching combinatorial generation algorithms using coroutines, with examples in Python. Inspired by Knuth's work in his volume 4 of The Art of Computer Programming, as well as his "Deconstructing Coroutines" paper, co-written with Frank Ruskey.

Tagged as
9. ## 30 Python Language Features and Tricks You May Not Know About

A list of Python tips and tricks. See how many of them you already know.

Tagged as
10. ## Multilinear Representation of Boolean Functions

Algorithm to compute the multilinear representation of a boolean function given its truth table.

Tagged as
11. ## Understanding Two-Step Verification With An Example Using Python and Google Authenticator

An introduction to two-step authentication, HOTP and TOTP algorithms, with an example in Python on Heroku using Flask and pyotp and the Google Authenticator app for client-side.

Tagged as
12. ## Programmer's Guide to Setting Up a Mac OS X Machine

My list of items to do to set up a Mac OS X machine for coding and other power user tasks.

Tagged as
13. ## Common Substring Permutation

Short post on a simple problem on common subsequence permutations with a neat one-line Python solution.

Tagged as
14. ## Basics of Cryptography Part I: RSA Encryption and Decryption

An introduction to RSA cryptography, with accompanying Python code implementing the basic algorithms used. A quick review of the number theory and group theory involved is given as well.

Tagged as
15. ## A Study of Python's More Advanced Features Part III: Classes and Metaclasses

A study of how Python handles classes and metaclasses.

Tagged as
16. ## A Study of Python's More Advanced Features Part II: Closures, Decorators and functools

A study of Python's function and class decorators. An appendix to explain Python's closures is given too. Plenty of examples.

Tagged as
17. ## A Study of Python's More Advanced Features Part I: Iterators, Generators, itertools

A study of Python's iterators, generators and the itertools package, with ample (mostly) mathematical examples.

Tagged as