Welcome to Re-Versing!
How did they do that?
Yeah… how many times haven’t you stumbled upon a very nice code and try to replicate it in your own projects, only to find out that you don’t understand how it works?
This is a common situation for us who learned to code ourselves.
Why, why is this code so hard to understand?
Sometimes the code is not clean, sometimes it is a new technology. It can also be that it is implemented in a different coding paradigm but sometimes it is because the code is too advanced for us. Sometimes it is just all those reasons together :(.
What coders normally do is reverse-engineering the code. You might find yourself trying to break the code in pieces, trying to see how each part of the code works, and painstakingly putting together its parts in a sort of trial-and-error approach until it works again.
The purpose is to learn the role of each of the parts in the whole script.
Of course, the more you know about coding, the better you get in putting things back every time you come across a new challenge. But the reverse-engineering might be still required.
Re-Versing is about that - reverse-engineering some scripts, mostly visualization and animations I have come across during my time learning to code.
This blog focuses mostly on Javascript. Sometimes there will be a bit a old fashion code as there are a some projects dating to the times of ES5. This is in part because I will revisit some examples that I visited years ago, many on codepen.
I hope you don’t mind.
The actual purpose of this blog is to get into the coding tricks of those who made those projects.
Thinks that I would certainly explore are projects in D3.js, Three.js, plain Javascript, probably some WebGL and CSS.
This blog intents to be a bit different to similar projects not necessarily in the content, as there are many similar proposals of looking into existing codes, but in its presentation:
I will try interactive and visual tools to point out what made the reversed codes so attractive to me.
Hope you like what find!
Regards,
Evaristo