Programming Theory

Best practices, structuring of code, dissecting algorithms and talking about the “Why?”

Rainbow Tables: Taste the Rainbow

Skittle advocates would blast me for applying their beloved slogan to something as sinister as password cracking. "Down with Martyr2!" or "Lets rip off his head and feed it to the lions! But we don't have lions, ok, feed it to the bin of mutated rats growing a human ear!" The truth of the matter is that understanding the processes of password cracking can help protect and safeguard our electronic ...

Quicksort Definitive (C++, C#, Java, VB.NET, PHP)

One of the funnest things about being fluent in multiple languages is porting code from one language to another or in my case, porting a piece of code to 6 or 7 languages and allowing any newbie the opportunity to learn algorithms despite their language. It also makes it great to see the differences between languages and some challenges (as we will see with our Java example). On this entry ...

Comparators in Java (Prepare to Compare)

Damn! I just can't get that linkedlist to sort! What did I ever do to deserve this? Why god why!!!!!!! Ok, maybe I am being a bit over dramatic and lets face it, I think I have only gotten to the point where God and I were sharing code frustrations only a few times in my entire life. When code is not cooperating and deadlines are looming, you and the ...

What is all the “fuzz”ing about?

Fuzz...no not the stuff growing on your vegetables in the fridge but the data kind. Data fuzz is rumored to be behind the successful crack of the iPhone in recent months. However, some people in the industry may have not heard of the term "Data fuzz". So in a short entry I will discuss what it is, how it can relate to blackbox testing and how it can make your ...

Sieve of Eratosthenes in Java / C#

Eratosthenes, what an egg head huh? I wonder if he could have coded his own algorithm in Java or C#. Would he have known what a class, helper method, and a delegate is? The ancient Greeks had the math world pretty much locked up for their time... except that whole world at the center of the universe thing and that the heavens were in perfectly circular orbits. Whoa were ...

Caught in Pascal’s Triangle

Earth has the Bermuda Triangle, Space has black holes, and humanity has my crazy mind. All of these things are largely unexplained phenomena and so I figured, why not throw out one for the programming world? If Bermuda can have a triangle, dangit we are going to have one too! Introducing Pascal's triangle.... on this episode of the Programmer's Underground! Pascal's triangle has been studied around the world for hundreds of ...