# The Deutsch Algorithm

theory · quantum · algorithms theory · quantum · parallelism · q · informative · ibm · deutsch · algorithmMuch more than a post (again) What is the quantum theory? As said by quantumexperience official site by IBM, it's an elegant mathematical theory able to explain the counterintuitive behavior of subatomic particles, most notably the phenomenon of entanglement. In the late twentieth century it was discovered that quantum theory applies not only to atoms and molecules, but to bits and logic operations in a computer. This realization has been bringing about a revolution in the science and technology of information processing: I decided to write some notes to better explain, from a physics-agnostic computer scientist's point of view XD, what I understood - and it is certainly wrong - about Q until now and why I think it's an amazing field for computer science.

# A Golang Turing machine library

coding · golang · miscellaneous · algorithms coding · golang · busy-beaver · tibor · computational · theoryPreamble In 1962, Hungarian mathematician Tibor RadÃ³ introduced the Busy Beaver competition for Turing machines: in a class of machines, find one which halts after the greatest number of steps when started on the empty input. Even if it could seem trivial, the Busy Beaver competition has implications in computability theory, the halting problem, and complexity theory. I decided to use GoLang to implement a Turing machine library and accomplish three goals: first, having a Turing Machine model to play with for learning purpose; second, learning how to use interfaces and the factory pattern, other then testing package to test my code and let it be more flexible for future enhancement (at least I hope!

# My first UniKernel image for sequence prediction

coding · golang · algorithms coding · golang · unik · cpt · ml · sequence · predictionIntroduction Predicting the next item of a sequence over a finite alphabet has important applications in many domains. Since I always wanted to implemented something like that, while I was looking for an interesting approach I found this interesting idea based on tree. And you don’t deal with trees since a lot, be prepared because as usual it seams simple, but it not. Moreover, since I like Golang and I always wanted to try UniK, I decided to implement my version of the CPT using Golang and use this exercise as a source to build my first unikernel image.

# How my Elman network learnt to count

coding · golang · theory · algorithms coding · golang · ann · elman · adding · neural · networksIntroduction This is actually a sort of back-to-the-future post because it’s related to something I completed one year ago: I built this Elman network and it learnt to count. What I shame, I forgot it, now it’s kind of its first birthday so let’s celebrate :D This is Elman, the best in class in adding int32 numbers. For everybody who already knows what I will talk about (what?!), here’s the Github repo.

# The Doomsday rule

coding · miscellaneous · algorithms coding · doomsday · algorithm · rubyThe Doomsday rule A few months ago I came across the name of J. H. Conway: you're wondering who the hell he is. Well, Conway is an English mathematician active in the theory of finite groups, knot theory, number theory, combinatorial game theory and coding theory. He has also contributed to many branches of recreational mathematics and he is the invention of the Game of Life. Ah, I was forgetting one last thing: he is currently Professor Emeritus of Mathematics at Princeton University in New Jersey1.

# Build a multilayer perceptron with Golang

coding · golang · theory · algorithms golang · ann · perceptron · classifier · neural · networksHistory We can date the birth of artificial neural networks in 1958, with the introduction of Perceptron 1 by Frank Rosenblatt. It was the first algorithm created to reproduce the biological neuron. Conceptually, the easier perceptron that you might think of is made of a single neuron: when it’s exposed to a stimulus, it provides a binary response, just as would a biological neuron. This model differs greatly from the neural network involving billions of neurons in a biological brain.

# How to plan your daily activity with Python

coding · algorithms python · algorithms · scheduling · taskThe problems of life Each of us has dreams, aspirations, hobbies, interests, but also hundreds of deadlines, a thousand commitments, ten thousand thoughts, a hundred thousand different problems to cope with every day. I am a computer scientist and personally all these things in my life translate into a huge pile of [things/books/articles/guide/blogs] to read, which by the way are very often interrelated. The situation is more or less this: