Functional programming using bind

Since the introduction of the STL (Standard Template Library) the use of functors has been a prevalent part of writing C++. Most of the STL algorithms require the use of a functor. For example, the std::transform requires a function object that, given an input of the current value of the current position, it will return a new value what will be used to modify the current value.
Continue reading

Sorry for the lack of recent content

Hey everyone (I assume someone reads this blog), it’s been a while since my last blog post. I have no real excuse other than to say I decided I need to take a little personal time to recharge my batteries. I’m back now and will be aiming to publish a new technical article on a weekly basis. Meanwhile, I’ve also decided to resurrect my Tumblr account (currently, it just redirects here). Continue reading

Lowest Common Ancestor (non-BST)

In the earlier article, Lowest Common Ancestor (BST), I discussed how you can use the special ordering of a Binary Search Tree to quickly and easily identify the Lowest Common Ancestor of two nodes. Of course, not all trees are BSTs and so in this article we’ll look at a way of finding the LCA in a non-BST. Continue reading

Lowest Common Ancestor (BST)

The Binary Search Tree (BST) is a tree like data structure that allows for the quick lookup of data. They work by storing inserted data in a tree like structure that uses the “divide and conquer” approach to locate data. Each node in the tree has, at most, two children. The left hand side (lhs) node will always contain a value that is less than it’s parent. The right hand side (rhs) node will always contain a value that is greater-than or equal to it’s parent.

Continue reading

Not impressed with web host!

So, my web hosting is provided by and my DNS hosting is provided by Heart Internet. Why are they seperate? Well, it's simply that I originally purchased my domains with Heart but have changed web hosts a couple of times. Since my DNS is configured just how I like it and since it really shouldn't matter who hosts your DNS (as long as they provide the ability to set A and CNAME records) it shouldn't be a big deal. Or so I thought!

Continue reading