Avatar
Gao
  • C
  • C#

see more about me on my Github profile.


How to Create a Windows7 Vagrant Base Box

How to Create a Windows 7 Vagrant Base Box? Introduction Since Vagrant 1.6 release, Vagrant add support for Windows VMs. We will go through the...


Diagonalization

What is diagonalization? For a $n \times n$ matrix $A$ the diagonalization is the process to find a diagonal matrix $D$ and a invertible $n \times...


The Process Behind Compiling and Executing C Code

Introduction Compiling and executing a C program is a multi-stage process. In this post I’ll walk through each stages of compiling and executing the...


Java Concurrent Programming

Introduction At the beginning, a program ran from start to finish, it had access to all resources on the system. Nowadays with operating systems we...


Client-Centric Consistency Models

Eventual consistency There is a special class of distributed data stores that characterized by the lack of simultaneous updates, most of the...


STP

Motivation The Spanning Tree Protocol (STP) is a layer 2 protocol that runs on bridges and switches. The main purpose of STP is to ensure that you...


Testing

Testing Unit Test The purpose of unit test is to validate that each unit of the software code performs as expected. A unit may be an individual...


Authenticated Encryption

Glossary Cryptographic Hash Function It is a one-way function that maps data of arbitrary size (often called the message) to a bit array of a fixed...


Information Security

Information Security Information security(infosec), is the practice of protecting information by mitigating information risks like ...


Minimalist Linux Workspace

Download Image Download Debian image, let we choose the net-install ISO since we don't need any heavy desktop enviroment e.g. KDE, GNOME, etc... . ...