IT kowledge


Building Jarvis, part 3

Yesterday we talked about how the module that interacts with users can be constructed, today I’ll be talking about something more meaty and substantial, I call it the Conduit Module.

To accept open-ended query’s that transcend the simplistic search term based algorithms that Google and others employ we must shift towards a completely different, somewhat unused territory of programming, a conventional programmer’s worst nightmare, the self-modifying program.

Most programmers shy away from self-modifying code as the concept is generally only useful for a few specialized applications such as encryption/obfuscation and viruses  and has the potentially disastrous potentiality of being unable to read/alter your own source code, in Jarvis’ case, self modifying code is required and will not be manipulated by humans once trained.

To teach a hierarchical neural network to learn how to program answer sets and the standard functional pieces that make-up a program (IE: for loops with counters, sorting algorithms, etc), we need to teach the network the basics of programming syntax (boundary conditions and limits of manipulation) and then train it by giving it a large number of interesting and unique challenges.  In the end we will have a trained neural network that understands not only how to complete a certain task that’s requested of it, but also taking information that is output from the language module as an input telling it what it’s next task could be able to program its way into a solution for a large variety of problems, hence open-ended.

conduit module




A process like this is complicated to imagine let alone create, however such a module also has the capability of altering the processing of other parts of Jarvis adapting them to perform better over time via testing and training, enabling another layer to be built on top of the language/conduit modules that enable behaviour and quasi-conciousness.

As you can imagine from a neural network based program as complicated as this, super computers will need to be used and storage of “genes” will need to placed in very large data storage locations. Tomorrow I will be discussing the centralized training and decentralized ownership model and how we can leverage decentralized currencies (bitcoins, altcoins, etc) to help perform the calculations Jarvis will need to be able to learn in a reasonable amount of time.

Obfuscation  –

self-modifying code –

Automatic Programming (Essentially what the Conduit Module employs) –

more information on ANNs (Artificial Neural Networks) for those new to the concept –




Building Jarvis, part 1

Sorry everyone for the lack of updates, I was able to find work for a few months as a Product Design Engineer unfortunately it looks like the company might not be financially stable enough to pay me regularly which as a silver lining gives me more time to work on my ANN projects.

For the next couple of weeks I will be describing a major project that my colleague @Brandon.Benvie and I have been working on and keeping under our wings in preparation of working on it full time, as it has the possibility to completely revolutionize how the internet the likes of which have never been seen before in history.

This ANN project, named Jarvis  will be a fully functional companion AI that will have its computational and storage requirements distributed inside of a digital currency similar to the Bitcoin Protocol using some significant tweaks to enable custom kernel code computations.

I’ve also added some light reading for anyone interested in freshening up before we get into the technical details of exactly how such a system will be constructed, I promise this will be a hell of a ride.

Bitcoin Protocol –

Ethereum –

Companion AI systems –




How machine learning unlocks the secrets of materials science

Imagine for a second, that you had the power to simulate atoms and molecules and how they interact with each other to create a material, sounds like it would make material selection pretty easy right?

Unfortunately the technology doesn’t yet exist to model so many individual elements and FEMAP (Finite Element Modelling and Processing) can only do so much; it still requires something to interpret the resultant data.

Now imagine if you were able to teach a computer to look for the “natural laws” that govern the mechanical/chemical/electronic properties of a material based on its alloy (or composite)  content.

This idea brings us to machine learning and neural nets which are capable of discovering patterns within current materials, and use those results as “training data” to try and predict the material/chemical/and electronic properties of a yet-to-be tested material.

The length of time it took us to completely comprehend steel-making took us almost a millennia, imagine if we were able to cut that time down to a few days via material simulations and predictive modelling!

It won’t take long before we’re able to build space elevators and room temperature super-conductors when this technology comes of age.


Do computers dream of dominating the world?

What is the definition of Machine learning? The wikipedia definition of the term is as follows:

machine learning

Machine learning, a branch of artificial intelligence, concerns the construction and study of systems that can learn from data.

What does that mean? How does it work? this article is going to go over both of these fundamental questions and talk specifically about Artificial Neural Networks  (ANNs) and why they are such a powerful tool in the hands of the savvy developer.

Imagine you have a “smart key” lock on your door, these locking mechanisms have a special feature that allows them to reset the tumblers and form fit to the teeth of a new key. This new key is now the only key that will open the lock, as the lock now “knows” what key is valid and what isn’t, and it was taught to acknowledge the current key as the only valid key, and a key with even a slight variation of teeth would be considered invalid.

What I just described was a layman’s view of what a neural network does, and how machine learning works.  a basic Artificial Neural Network functions by taking a set of input parameters (they could be any variable that could even remotely impact the output value), putting them through a series of plastic ( malleable) coefficients, which are then plugged into an activation function which spits out what it thinks to be an output value.

Y(O1, O2) = A(1*C1*A(1*C2+I1*C3+I2*C4+….+ In*Cn+2))

The power of this system comes in the randomization of the weight choices. Weights are initially randomized and then by a multitude of potential methods are refined to produce less and less error per iteration (The specific reduction methods will be discussed in further detail in another talk.)

As the system reduces error iteratively, it will eventually reach a point where the error between the expected result of the dataset and the real value are nearly indistinguishable, however the network is not yet verified.

The next step is to plug the weight values into a verification network (IE the weights are fixed, and the input and ouput values iterate through the verification data). If the network was sufficiently trained, then it will pass the verification stage and the designer will able to acknowledge the strengths and limitations of this particular net, and use that to forecast with reasonable certainty of its results.

A network like I just described could be as varied as Google’s house number optical character recognition software (, a “suspicious person” face recognition software for law enforcement and transit authorities, or a smart commodities and stock trader that is able to see past speculation and find the true value of a particular commodity, and communicate with other smart traders to determine the direction of the global economy.

Now there are drawbacks of course; The computational power required to do any of these individual tasks is significant, and the training dataset must be sufficiently large, varied and transparent enough so that the system can learn the intricacies and fundamentals of how each system obeys underlying natural laws.

However with the advent of “big data”, obtaining such information is becoming quite straightforward albiet sometimes expensive, and with more powerful computing methods such as GPGPU (general purpose graphics processing unit) computing via openCL, the power of neural networks and smart agents is just starting to be realized.