If you’ve read some of my blog posts you may know that I have something of a penchant for some of the lesser known esoteric programming languages out there, mostly because the though process behind say, creating a language based around Shakespeare’s works, both baffles and amuses me. After looking into both Chef, and SPL, someone pointed out to me that there is in fact a language based around hilariously cheesy Arnold Schwarzenegger quotes, so […]

During one of my evenings aimlessly searching the web (something I entertain myself with when I don’t have the mental energy to do anything productive), I stumbled across Numberphile on Youtube. In particular, their video detailing how a sum can be calculated for Grandi’s Series. Having not sat down to do any formal maths since my A-Levels, I’d not heard of Grandi’s Series, but the fact that someone was claiming to be able to calculate […]

The Insertion Sort algorithm is a (very) simple sorting algorithm used to order the elements in a given list/data structure. Similar to it’s Bubble Sort counterpart, this algorithm is a staple of algorithms courses/lessons but is rarely used in the professional world due to it’s high computational cost/low efficiency when compared to other sorting algorithms. Uses: Because of its simplicity, Insertion Sort is commonly used to introduce the concept of sorting algorithms, to students. Step-by-Step […]

The Bubble Sort algorithm is a (very) simple sorting algorithm used to order the elements in a given list/data structure. The algorithm is a staple of algorithms courses/lessons but is rarely used in the professional world due to it’s high computational cost/low efficiency when compared to other sorting algorithms. Uses: Because of its simplicity, Bubble Sort is commonly used to introduce the concept of sorting algorithms, to students. Donald Knuth, in his famous book “The Art […]

After spending an evening looking at SPL, I thought I’d take a look into some other esoteric languages on my evenings off/lunch breaks. Today I’ve been looking at David Morgan-Mar’s “Chef”. Chef’s design goal is to make programs look like simple recipes. Chef code consists of a title, a list of variables (ingredients, either wet or dry depending on whether you want numerical or character output) and their data values and a list of stack […]

For those of you not familiar with esoteric programming languages, the Shakespeare Programming Language (or SPL) is a simple language created by Karl Hasselström & Jon Åslund in 2001. Their design goal was to make a language with beautiful source code that resembled Shakespeare plays. There aren’t any fancy data or control structures, just basic arithmetic and go-tos, in their own words “You could say we have combined the expressiveness of BASIC with the user-friendliness […]

The Fibonacci Search algorithm is a simple searching algorithm for finding the index of a target value within a sorted list of values (very similar to the Binary Search algorithm). This algorithm has an small advantage over the Binary Search algorithm in slightly reducing the average time needed to access a storage location. Uses: The Fibonacci Search is sometimes used in programs that require access to non-uniform storage (like magnetic tape), where the time taken […]

The SQRT(3) subdivision algorithm is a geometric method used to create increasingly smooth surfaces from arbitrary triangular mesh topologies. It was devised by & documented in 2000 by Lief Kobbelt at the Max-Planck Institute for Computer Sciences in Saarbrücken, Germany (UC Stanford hosts a copy of the paper here). The algorithm devises it’s name from it’s method of splitting a singular triangle face into three other faces during each refinement iteration, Kobbelt explains the name […]