Abandon hope all ye who enter the land of incomplete, uncommented, and undocumented spaghetti code... Here are some highlights of my programming history...
For some of the projects, I have linked to a fantastic online IDE called repl.it.
Simulates perfect kinematic collisions of particles in a box. Parameters in the "canvas.js" file can be tweaked as wanted.
Animates complex functions, as given by the function "f(z)" in "main.py". Paramaters can be tweaked under the "grid.animate()" function. Performance is not great in the repl.it environment, Pygame runs much more smoothly locally.
A library that can be used as a framework to simulate evolution, based entirely on an overarching reference to the work of Charles Darwin. "Finches" live on "Islands" which ".pressure()" the finches, before undergoing ".select()"-ion.
Finches should be implimented by the user, but I have including the "NeuralNetwork(Finch)" class to represent numpy-based RNNs and a simple "Polynomial(Finch)" class too represent a polynomial. Sigmoid and Relu non-linear activation functions are available to use by default.
Finches only have two criteria:
- They must have a ".react()" function, that takes in a numpy array of inputs, and returns a numpy array of responses.
- They must have a ".mutate()" function that tweaks the parameters of the instance.
User created Islands should override the default ".test()" function, to allow custom training environments. In my example, I created a neural network that learns to play a simplified version of "Snake".
You can try it here
Some random stuff I wrote to solve problems in preparation for the BIO. Some of the questions were quite specialised, the solutions may not make much sense on its own.
Heap Optimised Dijkstra's Shortest Path
Made a language that allows you to write concise and optimised Brainfuck code, because I needed more headaches in my life. Not sure how it worked, but it did.
Made a thing to communicate using radio between to RPis. Not sure where the recieving code is, but the sending code works:
Self explanatory... Lank
Some really detailed comments here. Not really sure what the aim of this was, but it outputs true so it probably works? See for your self
An implimentation of an RSA key generation, encryption, and decryption algorithms. My first Java program.
Key generation, my first C++ Program
Random program that uses homemade RSA cryptography to sign a file.
Before I knew about OOP and the map function in Python. Try before you buy
Not really sure what this was, something about compression, encrypting it, and then hashing it I think.
The second edition of my famous data interpreter. Don't know / want to know what it actually interprets, but it does. No returns
Practically unbreakable, looking back I see no flaws in this algorithm whatsoever.
Use this in commercial software if you like lawsuits
I cringe looking back at this, it uses a homemade RSA algorithm and can't save the user data.
A very old attempt at understanding Siri/other voice assistants. Attempts to switch possession (my->your). AI is just if statements
POCCL = Proof Of Concept Compiled Language. Beginning of explanation in a separate repo. It will compile code to NASM, use the NASM assembler, then link with GCC (might be able to get C interoperability working, fingers crossed).