Posts by Category

Language

Read Assembly

3 minute read

Some notes to facilitate the reading of assembly code in IA32.

OS

Context Switch in Xv6

2 minute read

Last weekend I wanted to refresh my memory about assembly, I took the context switching code in Xv6 as an example. It was quite interesting to walk through t...

algorithms

finance

Capital Asset Pricing Model

less than 1 minute read

A classic model that describes the relationship between risk and expected return and is used in the pricing of risky securities.

scalability

The Google File System I

2 minute read

After finishing reading Professor Arpaci-Dusseau’s book Operating Systems - Three Easy Pieces recently, I decide to read this paper again.

Replication

2 minute read

Advantages of replication include

Transaction

less than 1 minute read

A transaction is a way for an application to group several reads and writes together into a logical unit. All the reads and writes in a transaction are execu...

Partition

2 minute read

For very large datasets, we need to break the data into partitions. Different partitions can be placed on different nodes in a shared-nothing cluster.

Encoding Data

less than 1 minute read

When we try to add new features into the application code and the data also need to be adapted, with both old and new data, as well as old and new code, we u...

Transaction and Analytic processing

less than 1 minute read

Transaction Processing means allowing clients to make low-latency reads and writes, in contrast with batch processing that runs periodically. Usually a small...

Log-structured Storage Engines

3 minute read

Many databases internally use a log, which is an append-only data file. A record is written as one line in a file. When one record is updated, the old line i...

Data Models

1 minute read

How we think about data models ?

technical

Challenges in multi-threaded programs

less than 1 minute read

Races: Two or more threads access the same address in memory and at least one of them writes to that address. Starvation: A processor needs a resource b...

Basic Data Structure: Hash Table

less than 1 minute read

Hash table is a data structure used to store keys, or keys with corresponding values that supports insert, delete and lookup operations with $O(1)$ on averag...

Data Structure: Binary Search Tree

3 minute read

BST A Binary Search Tree (BST) is a binary tree in which the key stored at a node is greater than or equal to all the keys stored at the nodes of its left su...

Basic Data Structure: Heap

2 minute read

Heap Heaps are a simple data structure that supports priority queue operations like insert and extract_min. They work by maintaining the partial order on a s...

Basic Data Structure: Sequence

2 minute read

Array Array is a contiguous block of memory. For an array A, retrieving and updating A[i] takes O(1) time. Python list is implemented as dynamic array that s...

Asynchronous Python

1 minute read

The central focus of Asyncio is to perform multiple concurrent tasks that involve waiting period at the same time. The key insight for asynchronous programmi...

Tell, don’t ask

1 minute read

Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp

Try Io

1 minute read

Io is a low-level prototype-based language.

Books, Many Books

3 minute read

A nice reading list for the career of software developer!