Building an inline Turing Machine for C++


Turing Machines are mathematical abstractions of a computing systems. Suppose you are given an input string of letters of a given alphabet, and you want to do some computation on it, then given enough time and memory, a Turing Machine can do the job for you. The only caveat is, the language that you want to compute upon should be “computable”. What this means is, there are certain languages that are not computable in reasonable time by a Turing Machine. Such languages are called “hard”, because it is hard to write an algorithm to compute in reasonable time. This is a very abstract version of what a Turing Machine is. Let us explore it in brief. Continue reading

A new kind of interpretation


In all of computer programming, we have been solving problems by modeling the real world into code. Consider the reverse process, where we derive a relation between data structures and the real world. Can we model code in real world objects? Or in other words, can we represent information in real world entities? My effort in the following article will be to guide you through various scenarios which will (hopefully) change your perception towards our environment.


Continue reading