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 …
Implementing RSA with Visual C
Usually I take about a week to learn a new language so I can start doing some real work with it. After all a programming language (at least the high level and dynamic ones) is just assignment, calculation, branching, looping and reuse (and in certain cases, concurrency/parallelism, not gonna dive deep in defining the difference though). Well, that was true until I started learning Rust, partly for my own leisure.
Implementing a Information Retrieval system is a fun thing to do. However, doing it efficiently is not (at least to me). So my first few attempts didn’t really end well (mostly uses just Go/golang with some bash tricks here and there, with or without a database). Then I jumped back to Python, which I am more familiar with and was very surprised with all the options available. So I started with Pandas and Scikit-learn combo.
After delaying for quite some time, I think I should start the project before I get bored with it. The project will be either hosted on this current domain (coolsilon.com) at least for now and will probably move to another domain if needed. The site will be either a blog aggregator or just a simple article submission site that works kinda like digg / reddit, however, to be promoted to the frontpage the submission would have to impress the opposite group.
I often struggle to get my Javascript code organized, and have tried numerous ways to do so. I have tried putting relevant code into classes and instantiate as needed, then abuse jQuery’s data()
method to store everything (from scalar values to functions and callbacks). Recently, after knowing (briefly) how a jQuery plugin should be written, it does greatly simplify my code.
After publishing the previous note on setting up my development environment, I find myself spending more time in the CLI (usually via SSH from host). Then I find myself not needing all the GUI apps in a standard Ubuntu desktop environment so I went ahead and set up a new environment based on Ubuntu Quantal server edition beta-1. For some reason my network stopped working and didn’t really want to spend time finding out the cause, so I reinstalled everything again today using the final installer, as well as the updated Virtualbox 4.2.6.