Notes on codes, projects and everything
To test our understanding in RSA public key cryptosystem, we were being asked to develop a computer program to demonstrate the cryptosystem. The whole system consists of a random number generator, an encoding module that is able to encode characters into numbers, an encryption module as well as decryption module and finally an RSA cryptosystem cracking module.
The program is written in Microsoft® Visual C6, the reason why Visual C6 is being selected is because we wanted to do something simple. There is no GUI being implemented as we wanted to spend more time in enhancing the program.
To generate random number, we used Blum-Blum-Shub random number generator as we found it to be the easiest to implement.
I happened to find a general solution suggestion on a Wikipedia entry when I was browsing the internet around to find a solution to modular exponential problem. The code snippet posted on the wikipedia entry claimed that it came from …
RSA is a cryptosystem …
Sometimes, letting a piece of code evolving by itself without much planning does not usually end well. However I was quite pleased with a by-product of it and I am currently formalizing it. So the by-product is some sort of DSL for a rule engine that I implemented to process records. It started as some lambda functions in Python but eventually becomes something else.
This update took me quite a bit more time than I initially expected. Anyway, I have done some refactoring work to the original code, and thought it would be nice to document the changes. Overall, most of the changes involved the refactoring of function names. I am not sure if this would stick, but I am quite satisfied for now.
I am currently preparing myself in applying a postgrad programme and is looking for a research topic. At first I wanted to do something that is related to cloud computing but after some discussion with people around me, they suggest me to do something on semantic web. While posting my notes here, I realized that I had posted something on semantic network that looks like the base of semantic web here (Post still “Under construction” as of writing, will post the diagrams later tonight).
The making of this plugin was completely a random act of hand-itchiness. A friend of mine (@cornguo) published a fun app online. There is a name for this kind of app, but I can’t recall at the moment. It typically displays some buttons (usually in a grid), and clicking them causes some sound to be played. The interesting part in cornguo’s app is that there’s a text-input field where the name of the buttons can be typed-in for replaying.
The Nand2Tetris part I at coursera is very much my first completed course. It was so fun to actually work through the material and it feels amazing to know how simple it is to actually build a computer from scratch. While it is simple, it doesn’t mean the course itself is easy though. I was struggling to get the CPU wired up properly that I spent two to three days just to get it working.