A deep dive into flattening an iterator of iterators and a segue into set theory and some of its theorems based on the solutions to this problem, inspired by a coding interview question.


Generating All Balanced Parentheses: A Deep Dive Into An Interview Question
A deep dive into the generation of balanced parentheses, inspired by a coding interview question.

How This Blog Is Generated And Hosted
How this blog is generated and hosted using Pelican, KaTeX, Amazon S3, and Amazon CloudFront.
Tags: 
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.

Fun With Python Coroutines: Generating Permutations
A very short post on having fun with coroutines to generate all permutations of a given list.
Tags: 
The Infinite In Haskell and Python
Exploring the use of coroutines and lazy evaluation to generate infinite structures in Haskell and Python.
Tags: 
Understanding Recurrence Relations Using Automata, Python Code, And Javascript Visualizations
Recurrence relations are very often taught in first or secondyear 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 dominotilings of a board as the springboard. Code in Python and visualizations in JavaScript are used to demonstrate the ideas.

Understanding Asynchronous IO With Python'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.
Tags: 
Visualizing Philosophers And Scientists By The Words They Used With Python and d3.js
Creating a wordcloud based off of publicly available project Gutenberg books, with d3.js and Python.

Understanding SAT by Implementing a Simple SAT Solver in Python
SAT is often described as the "mother of all NPcomplete 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.
Tags: 
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, cowritten with Frank Ruskey.

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.
Tags: 
Multilinear Representation of Boolean Functions
Algorithm to compute the multilinear representation of a boolean function given its truth table.
Tags: 
Understanding TwoStep Verification With An Example Using Python and Google Authenticator
An introduction to twostep authentication, HOTP and TOTP algorithms, with an example in Python on Heroku using Flask and pyotp and the Google Authenticator app for clientside.
Tags: 
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.

Common Substring Permutation
Short post on a simple problem on common subsequence permutations with a neat oneline Python solution.
Tags: 
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.

A Study of Python's More Advanced Features Part III: Classes and Metaclasses
A study of how Python handles classes and metaclasses.
Tags: 
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.
Tags: 
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.
Tags: