所以我又抛弃了 Org-mode。这次是 Zola 及其 Mikoto 主题。

样式

白日依山尽,黄河入海流。欲穷千里目,更上一层楼。

第二级

我们必须知道,我们必将知道。


-- 大卫·希尔伯特

这是一条普通信息!

这是一条成功信息!

这是一条警告信息!

这是一条危险信息!

第三级

第四级

表格

定理公式
勾股定理$c^2=a^2+b^2$

数学

以 $a$ 为圆心,在 $\gamma$ 作半径为 $r$ 的圆盘 $D_0$, 边界是 $C_0$.

函数 $\frac{f}{z-a}$ 在 $D-D_0$ 内解析,根据柯西积分定理其在边界上的积分为 0, 即

$$\frac{1}{2\pi i} \oint_{\gamma} \frac{f(z)}{z-a} dz + \frac{1}{2\pi i} \oint_{C^-_0} \frac{f(z)}{z-a} dz = 0$$

所以

$$\frac{1}{2\pi i} \oint_{\gamma} \frac{f(z)}{z-a} dz = \frac{1}{2\pi i} \oint_{C^+_0} \frac{f(z)}{z-a} dz$$

考察

$$\left| \oint_{C^+_0} \frac{f(z)}{z-a} dz - 2\pi i f(a) \right| = \left| \oint_{C^+_0} \frac{f(z)-f(a)}{z-a} dz \right|$$

作变量代换 $z = a + r e^{it}$, 上式右边不大于

$$\int_0^{2\pi} |f(a+re^{it})-f(a)| dt \leq 2\pi \max_{0\leq t\leq 2\pi} |f(a+re^{it})-f(a)| $$

令 $r \rightarrow 0$ ,上式也趋于 0。 ∎

音乐

视频

代码

/// Coordination must be single-threaded to maintain orders.
#[derive(Debug)]
pub struct Coordinator {
    stats: Stats,

    /// Interpreter
    interp: Interpreter,

    /// Logger
    logger: Logger,

    /// Library for information about operations.
    lib: Rc<RefCell<Library>>,

    /// Weak ref to agent, which is reponsible for sending messages
    agent: Weak<Agent>,

    /// State information about transactions.
    txs: HashMap<TId, State>,
    name_table: HashMap<TId, String>,
    arg_table: HashMap<TId, Vec<Value>>,
    delta_table: HashMap<TId, Delta>,
    hold_table: HashMap<TId, u64>,

    /// Queue of blocked transactions.
    queue: VecDeque<TId>,

    /// Hold state
    holds: HashMap<u64, Hold>,
    hold_objs: HashMap<u64, Vec<String>>,
    held_by: HashMap<String, u64>,

    /// Side effects have been applied
    history: Vec<TId>,
}

impl Coordinator {
    pub fn new(logger: Logger, agent: Weak<Agent>) -> Coordinator {
        let lib = Rc::new(RefCell::new(Library::new()));
        Coordinator {
            stats: Stats::new(),
            interp: Interpreter::new(Rc::downgrade(&lib)),
            logger,
            lib,
            agent,
            txs: HashMap::new(),
            name_table: HashMap::new(),
            arg_table: HashMap::new(),
            delta_table: HashMap::new(),
            hold_table: HashMap::new(),
            hold_objs: HashMap::new(),
            queue: VecDeque::new(),
            holds: HashMap::new(),
            held_by: HashMap::new(),
            history: Vec::new(),
        }
    }

    /// Judge if the guard is satisified.
    fn this_judge(&mut self, tid: TId) {
        self.stats.tx_judge(tid);
        let name = &self.name_table[&tid];
        let args = &self.arg_table[&tid];
        match self.interp.judge_dfn(&name, &args) {
            Ok(true) => self.this_accept(tid),
            Ok(false) => self.this_reject(tid),
            Err(e) => error!(self.logger, "{:#?}", e),
        }
    }
}