x86 JUMP Reference





InstructionDescriptionsigned-nessFlagsshort
jump
opcodes
near
jump
opcodes
JOJump if overflow OF = 1700F 80
JNOJump if not overflow OF = 0710F 81
JSJump if sign SF = 1780F 88
JNSJump if not sign SF = 0790F 89
JE
JZ
Jump if equal
Jump if zero
 ZF = 1740F 84
JNE
JNZ
Jump if not equal
Jump if not zero
 ZF = 0750F 85
JB
JNAE
JC
Jump if below
Jump if not above or equal
Jump if carry
unsignedCF = 1720F 82
JNB
JAE
JNC
Jump if not below
Jump if above or equal
Jump if not carry
unsignedCF = 0730F 83
JBE
JNA
Jump if below or equal
Jump if not above
unsignedCF = 1 or ZF = 1760F 86
JA
JNBE
Jump if above
Jump if not below or equal
unsignedCF = 0 and ZF = 0770F 87
JL
JNGE
Jump if less
Jump if not greater or equal
signedSF <> OF7C0F 8C
JGE
JNL
Jump if greater or equal
Jump if not less
signedSF = OF7D0F 8D
JLE
JNG
Jump if less or equal
Jump if not greater
signedZF = 1 or SF <> OF7E0F 8E
JG
JNLE
Jump if greater
Jump if not less or equal
signedZF = 0 and SF = OF7F0F 8F
JP
JPE
Jump if parity
Jump if parity even
 PF = 17A0F 8A
JNP
JPO
Jump if not parity
Jump if parity odd
 PF = 07B0F 8B
JCXZ
JECXZ
Jump if %CX register is 0
Jump if %ECX register is 0
 %CX = 0
%ECX = 0
E3 

Processor Flags

The x86 processors have a large set of flags that represent the state of the processor, and the conditional jump instructions can key off of them in combination.
CF - carry flag
Set on high-order bit carry or borrow; cleared otherwise
PF - parity flag
Set if low-order eight bits of result contain an even number of "1" bits; cleared otherwise
ZF - zero flags
Set if result is zero; cleared otherwise
SF - sign flag
Set equal to high-order bit of result (0 if positive 1 if negative)
OF - overflow flag
Set if result is too large a positive number or too small a negative number (excluding sign bit) to fit in destination operand; cleared otherwise

Reference: http://www.unixwiz.net/techtips/x86-jumps.html

RAID vs Erasure Coding

http://www.networkcomputing.com/storage/raid-vs-erasure-coding/1792588127

File System Comparison

https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%AF%B9%E6%AF%94

RAID Penalty

Each disk provide a certain amount of IO based off of the
  • Rotational Speed
  • Average Latency
  • Average Seek Time(*)

Read Operation: NO Penalty

Write Operation:
RAID    Write Penalty
0            1(NO Penalty)
1            2
5            4(2R, 2W)
6            6(3R, 3W)
10          2


Reference: http://theithollow.com/2012/03/21/understanding-raid-penalty/



A Twist of the Wrist

  1. 在彎中找到一個點,開啟油門,這個點可以在apex 之前。
  2. 維持穩定的開啟狀態,提供0.1~0.2G的加速度,增加後輪的正向力,以符合前、後輪胎能提供的抓地力比例。
  3. 當車身快到直立時,開啟的幅度可以大量增加,出彎加速,甚至在某個點,可以跳至全開。
註解:
  1. 在彎中找到一個點開啟油門之後,避免再度關閉油門,就算打滑,也不能突然關油門。
  2. 如果開啟油門後卻又發現必須關閉油門(run wide),表示太早開啟油門了。
  3. 在彎中到出彎,究竟在何時讓車身直立,油門可以開啟多少,這是個人修練了,也是賽道中的決勝點,但通常反應在下一個彎道入彎時。

Use nvm to manage node.js

1.   Use homebrew install nvm
    $ brew install nvm
    $ brew --prefix nvm
    $ echo ___/nvm.sh ~/.bash_profile
    $ . ~/.bash_profile
2.   Use nvm to install node.js
    $ nvm ls-remote
    $ nvm install v4.2.4
    $ nvm use v4.2.4
    $ nvm alias default v4.2.4





http://icarus4.logdown.com/posts/175092-nodejs-installation-guide

Color Setting

R: 219
G: 238
B: 221

light: 215