Read Assembly
Some notes to facilitate the reading of assembly code in IA32.
Some notes to facilitate the reading of assembly code in IA32.
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...
After finishing reading Professor Arpaci-Dusseau’s book Operating Systems - Three Easy Pieces recently, I decide to read this paper again.
Idea
Problem
Advantages of replication include
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...
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.
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 Processing means allowing clients to make low-latency reads and writes, in contrast with batch processing that runs periodically. Usually a small...
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...
How we think about data models ?
There are three concerns in most software systems
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...
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...
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...
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...
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...
There are three common ways that multithreaded programs can go wrong
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...
Process
Procedural code gets information then makes decisions. Object-oriented code tells objects to do things. — Alec Sharp
Io is a low-level prototype-based language.
This post presents several scenarios with high CC and the ways to decrease it in Python.
A nice reading list for the career of software developer!
A classic model that describes the relationship between risk and expected return and is used in the pricing of risky securities.