Guanzhou Hu

Feeling comfortably numb

Find me on GitHub
https://github.com/josehu07

CV | LinkedIn | Google Scholar

guanzhou.hu (at) wisc.edu
josehu (at) cs.wisc.edu

To all my loved ones and my friends ♥
GitHub Pages — Theme by orderedlist

Noting Down Some Knowledge Fragments Encountered

11 Jun 2020 - Guanzhou Hu

Memory fragments encountered, mostly not in my major fields. Noting them down just for a memorandum. 这篇用于记录一些学习中遇到的细碎知识。大多不是主要领域的知识,所以并未系统地学习和整理,权当备忘和随笔啦。

Messaging Security

Messaging security 中的加密主要重点考虑一下三个维度的安全性:

  1. Confidentiality (机密性):数据消息通路被监听,监听者不能轻易地解析出数据内容;对称/非对称加密都保障了 confidentiality 这一基本维度
  2. Integrity数据完整性):消息的接收方能确认这个数据包就是发送方发出来的样子 (as-is),中途没有被篡改;MAC-tagging 等操作保障了 integrity 这一维度
  3. Authenticity (身份验证):消息的接收方能确认这个消息来自正确的另一方,即能确认对方的身份 (中间人攻击 MITM 中,中间人的伪装往往也被视为打破了 authenticity);非对称加密的签名机制同时保障了 integrity 和 authenticity 两个维度

特殊情境下,也考虑一些额外的维度:

维度之间是有冲突的,所以设计一个安全的 messaging 网络系统往往也需要做大量 trade-off。

Quaternion & Rotations

Python 2 vs. 3 Syntax

(For using Mininet…) Essential coding differences that may sometimes disturb me:

Julia Language

Notes about Julia during the 6.S083 course at MIT:

Julia looks like a strange hybrid of Python + Matlab + Lisp to me. But its spirit is great and it is developing really fast. I like it.

Statistics

将一切未知都交给 random 是一种聪明但有些懒惰的做法 (?)。

Dual Number & Differentiation

二元数Dual Number):\(a + b \epsilon\) with \(\epsilon^2 = 0\),可用于 model 计算机前向自动微分中的导数计算过程:\(f(a + b \epsilon) = f(a) + b f’(a) \epsilon\),故求解 \(\epsilon\) 的系数即可得出 \(a\) 处的导数值:

  1. 首先,将所有初等函数的导数求值方式 hardcode 成表,e.g.,\((x)’_{x=a} = 1\), \((e^x)’_{x=a} = e^a\)
  2. 然后,任一复杂函数都是初等函数通过各种算符在计算图上组合而成的,故只需要将二元数各类运算的规则定义好,e.g.,\((a + b \epsilon) \cdot (c + d \epsilon) = ac + (ad+bc) \epsilon\), \(r (a + b \epsilon) = a r+ b r \epsilon\):Read
  3. 从而,函数 \(f(x) = 3 x e^x\) 在 \(x=a\) 处的导数的一种计算过程如下:
    1. \(g(x) = x, g(a + b \epsilon) = g(a) + b g’(a) \epsilon = a + b \epsilon\) [查表了初等函数 \(x\) 的导数]
    2. \(h(x) = e^x, h(a + b \epsilon) = h(a) + b h’(a) \epsilon = e^a + b e^a \epsilon\) [查表了初等函数 \(e^x\) 的导数]
    3. \(k(x) = 3 g(x), k(a + b \epsilon) = 3 g(a + b \epsilon) = 3(a + b \epsilon) = 3 a + 3 b \epsilon\) [代入了 step.1 中 \(g(x)\) 的结果,而后使用了二元数乘实数运算规则]
    4. \(f(x) = k(x) \cdot h(x), f(a + b \epsilon) = k(a + b \epsilon) \cdot h(a + b \epsilon) =\) \((3 a + 3 b \epsilon) \cdot (e^a + b e^a \epsilon) = 3 a e^a + (3 a b e^a + 3 b e^a) \epsilon\) [代入了 step.2-3 中 \(h(x), k(x)\) 的结果,而后使用了二元数乘二元数运算规则]
    5. 得 \(f’(a) = (3 a b e^a + 3 b e^a) / b = 3 (a+1) e^a\)

这么做的原因:

Programming Models

Please comment below anything you wanna say! 😉