Author: Frank
Head First Design Pattern and Christopher Okhravi
AllIntro
Design Patterns
REFs
RNN
AllIntro
A bit before finishing my master, with the help of Prof Orlando Silva, from Mackenzie during his Neural Network classes.
I started learning a bit of the Recurrent Neural Networks, aka RNN!
Not dead anymore
I was quite impressed with how powerful were they and the fact that the field stood still for so long time until recently.
So I tried learning it, from the basic to the more advanced. The math for me in the begin was difficult but after several book you kind of get use to it.
Resevoir Computing
Doing this small research I came to the Prof Murilo B, at Aberdeen University and his work with Reservoir Computing. He knew so many things and so many properties of those things.
I was impressed on how many things we could use it, from speech recognition to Chaos theory!!!!
Some properties
Since one can think about recurrent networks in terms of their properties as dynamical systems, it is natural to ask about their stability, controllability and observability:
Stability
concerns the boundedness over time of the network outputs, and the response of the network outputs to small changes (e.g., to the network inputs or weights).
Controllability
is concerned with whether it is possible to control the dynamic behavior. A recurrent neural network is said to be controllable if an initial state is steerable to any desired state within a finite number of time steps.
Observability
is concerned with whether it is possible to observe the results of the control applied. A recurrent network is said to be observable if the state of the network can be determined from a finite set of input/output measurements. A rigorous treatment of these issues is way beyond the scope of this module!
Git
I forked from Torch RNN library here [2], you should do the same!
Summary
I did a small summary of my research and if you have more interested it you can see it here[1]. It is very very small and summarized, i.e. 15/16 pages.
[1] https://docs.google.com/document/d/1fE_6TLHhz010YeYFa1g0SHfkDYWNzL8qFD5RoroY_rM/edit?usp=sharing
[C++ tips] Enums
AllIntro
I personally think we subtilize enums in all the languages. The sentence “Francisco, you can use a Enum here instead of int” comes to my mind.
C++
One thing that I like about c++ enums implementation is that you can break the flow:
All examples are from here [1]. I hope I don’t go to hell to use such clever examples here:
// color may be red (value 0), yellow (value 1), green (value 20), or blue (value 21)
enum color
{
red,
yellow,
green = 20,
blue
};
Blue is 21!! Like, breaking the flow!
Defect Reports
By the way, I don’t know if you like to search about Defect Reports, it is very helpful actually.
Spending some time on it might save your time in the future actually.
Refs[1] https://en.cppreference.com/w/cpp/language/enum
[2] http://open-std.org/JTC1/SC22/WG21/docs/cwg_defects.html#1638
Shared library / Shared stuff
AllWhat is the difference of so and dll?
The best answer I found was written by aleroot and it is enough for me:
A static library(.a) is a library that can be linked directly into the final executable produced by the linker,it is contained in it and there is no need to have the library into the system where the executable will be deployed.
A shared library(.so) is a library that is linked but not embedded in the final executable, so will be loaded when the executable is launched and need to be present in the system where the executable is deployed.
A dynamic link library on windows(.dll) is like a shared library(.so) on linux but there are some differences between the two implementations that are related to the OS (Windows vs Linux) :
A DLL can define two kinds of functions: exported and internal. The exported functions are intended to be called by other modules, as well as from within the DLL where they are defined. Internal functions are typically intended to be called only from within the DLL where they are defined.
An SO library on Linux doesn’t need special export statement to indicate exportable symbols, since all symbols are available to an interrogating process.
Tesla/Eletric Cars
AllA bit before the invention of the car the thing that was happening the invention/adoption of Diapers for Horses. I’m not joking actually and it was a matter of discussion among serious people in the UK.
Viva Tesla Motors!
Busuu
AllI personally use this app on my phone to learn everyday more and more German.
Passion
AllPart of being a software developer, I think, it’s the passion about it.
Get it done or go home!
OpenGL
AllIntro
Constructionism
AllLearning about computer education is learning about Seymour Papert
One of the most important researchers in terms of computer science learning is Seymour Papert and his work at MIT, according to Paulo Blikstein from Stanford University (Blikstein, 2015). He is the first to define computational thinking and children development!!
Seymour Papert, more than just the development of the Logo programming language, developed several corollaries and observations, theories and recommendations. It is possible to encountermention his ideas of merging constructivism and computer science within several papers, which formare the main part of this experiment. From his book Mindstorms, we can abstract ideas of computers influence contributing to mental processes of how people think (Papert, 1980).
It was built upon
Constructionism takes in consideration the constructivist theories viewing learning as a reconstruction which is basically see learning as transmission of knowledge.
Constructing based upon meaningful products for the learners.
Constructionism bases
Problem-based learning
Reconstruct knowledge instead of transform
One laptop per child initiative
Together with Nicholas Negroponte and Alan Kay, Seymour launched the this initiative, the laptops should cost around 100$.

