C++11/14 – Lambdas

C++11/14 – Lambdas

Introduction “Lambda” expressions are a part of an effort in C++11 to introduce more “functional programming“-like features to the C++ language. Normally when we write shared code that needs to take advantage of slightly different, specific behavior we would do one of a few things: Inheritance – Define the common functionality in the base class, and implement the specific behavior in the derived class as a virtual function. Callback function – Write the common functionality, and invoke a callback (c-style…

Read More Read More

Geometric Transformation Fitting

Geometric Transformation Fitting

Problem Definition Given the following equation and an arbitrary number of point correspondence determine scale, rotation, and translation. (1)   Introduction Imagine you are sitting at home doing a bit of programming. Suddenly a rogue mathematician kicks in your door, and presents you with two sets of point data (spanning millions of points), demanding that you find a sufficient relative transformation between them. He assures you that: The points are linearly independent. You will have beforehand the correspondence of points…

Read More Read More

Connecting Android Device to Winsock via Bluetooth

Connecting Android Device to Winsock via Bluetooth

I am writing this tutorial in order to help others who find themselves in a similar position to my own. I recently had the task of connecting an android 4.3 device to a windows machine relying entirely on winsock. The more I researched the issue, the more I realized that there simply aren’t many good resources when it comes to this very specific problem I was attempting to solve. As a result, I am going to attempt to outline here the…

Read More Read More

Move Construction Explained

Move Construction Explained

C++11 brought us a whole host of useful features, and expansions on STL. One such feature is the introduction of “move semantics” to the C++ language. Put simply, move operations are the ability to “move” a resource (memory, file handle, etc.) instead of copying it. Imagine you are back in college, and missed an important class. To avoid falling behind, you ask a friend if you can copy their notes. As it turns out, your friend took the course last semester and…

Read More Read More