Bubble sort is a sorting algorithm that iterates through an array, comparing two elements at a time and swapping if appropriate. On each pass, at least one value is placed in its final sorted location (though it is possible that more are also placed in their final location).

Read More

For a technical interview over video chat for an API Developer position, I was asked to write a function while sharing my screen that would compare two strings and determine whether or not they formed an anagram. This article outlines my approach to solving the problem.

Read More

An exponential big-O is represented by: O(c^n)

The n in an exponential problem means that the time of each consecutive computation of n will increase by c^n.

Recursively computing the Fibonacci sequence is a simple example of exponential big-O problems. Let’s take a look:

package main

import "fmt"

func main() {

func fib(n int) int {
    if n <= 1 {
        return n
    } else {
        return fib(n-1) + fib(n-2)
Read More

In the Go programming language, I often see errors being handled in a careless manner that is difficult to maintain. This common mistake has prompted me to make a video that demonstrates the basic fundamentals of error handling in Go:

The Effective Go guide points out the appropriate way to do error handling in Go and is a great place to turn for further reading.

With its popularity on a wild rise for several years in a row, Go is a language worth spending some time with in your spare time.

Six months ago, I wrote my first Go program for a project at work and I have been in love ever since. While I would never advocate using the language in a place where it doesn’t make sense, I don’t see a reason why it wouldn’t be used in every place that it does.

Read More