## Simplifying Boolean Expressions With Karnaugh Maps

Karnaugh maps are a formalized way of turning a truth table into a fairly minimal logical expression. It’s fairly minimal in that it’s the minimal “sum of products” representation, but that might not be the minimal representation of the logic … Continue reading

## What Happens When you Mix Hash Tables and Binary Searching?

While not the most cache friendly operation, binary searching a sorted data set is a pretty good way to search a data set for a specific value because for N items, you have an average case and worst case of … Continue reading

## O(1) Data Lookups With Minimal Perfect Hashing

Hash tables are great in that you can hash a key and then use that hash as an index into an array to get the information associated with that key. That is very fast, so long as you use a … Continue reading

## Hiding a Lookup Table in a Modulus Operation

Lookup tables are a tool found in every programmer’s tool belt. Lookup tables let you pre-calculate a complex calculation in advance, store the results in a table (an array), and then during performance critical parts of your program, you access … Continue reading

## Quantum Computing For Programmers Part 2: Multiple Qubits

In part 1 (Quantum Computing For Programmers Part I: One Qubit) we looked at the basics of quantum computing and how to deal with a single qubit. Here we’ll talk about the interesting things that happen when you involve multiple … Continue reading

## Quantum Computing For Programmers Part Ib: Bloch Sphere

If you read anything on quantum computing you are extremely likely to see the Bloch sphere, so it’s probably important to explain what it is and how it works. Image from wikipedia: Wikipedia: Qubit The Bloch sphere is a way … Continue reading

## Quantum Computing For Programmers Part I: One Qubit

Are you a programmer? Do you have interest in learning how quantum computing works? Does hard core math and crazy abstract “philosophical” type physics questions about the nature of reality make you feel like you could never understand quantum computing? … Continue reading

## Quantum Computing References

I’m in the middle of some research to better understand quantum computing so that I can write a short series of blog posts entitled “Quantum Computing for Programmers”. These posts will be light on – and possibly completely absent of … Continue reading

## Solving Nested Modulus Equations

The above equation is pretty easy to solve, it just means that x is any value that when you divide by 2, gives a remainder of 1. x is all odd numbers. The more formal answer is: That reads as … Continue reading

## Solving Simultaneous Congruences (Chinese Remainder Theorem)

The equation above is a congruence. What it says is that x % 3 is 2. The equals sign with three bars means “is equivalent to”, so more literally what the equation says is “x is equivalent to 2, when … Continue reading