algorithms

Enterprise Service Buses and Middleware

Distributed computing is the new norm.   Multi-service architectures surround us daily. Our computing needs are served from many different independently operated services, and all implemented using different underlying technologies. When these independent units bring only one small service or set of services, it is called a microservice. While there is still some industry discussion about the exact properties of a microservice, one thing can be agreed upon: microservice-based systems enforce modular design by default. This begs the question, if…

Read More

Interesting Numbers

The Fibonacci sequence is one of the most widely used sequences when introducing the concept of sequences. The sequence is defined as the following: FN = FN – 1 + FN – 2 So, starting with F0 = 0 and F1 = 1, the first few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … and so on. An interesting thing to note about the Fibonacci sequence is that the ratio of one Fib number to its predecessor…

Read More

Toom-k Polynomial Multiplication

I’ve been pretty busy with classes the past two weeks, but I’ve learned a few neat things and I’d like to share one of them. Multiplying big numbers is a problem when the numbers are really, really big. How big is really, really big? Depends on the hardware your using. But to multiply really big numbers, we represent the two multiplicands as polynomials where each term is in the form cxn, where x is the base in the number system, c is its coefficent modifier…

Read More