---
layout: post
title: Weekly
category: Weekly
author: 东岳

---

https://github.com/alibaba/oceanbase oceanbase 4 年前的开源代码 ... (虽然文档是 word ...  https://github.com/alibaba/oceanbase/tree/master/oceanbase_0.4/doc)

另外昨天去了阿里在湾区的 meetup ... 主要在说 X-DB 不知道跟 Oceanbase 什么关系 都是 OLTP。用到了 FPGA 来 compaction (LSM 里合并 block) 

- http://crad.ict.ac.cn/EN/abstract/abstract3624.shtml# 说FPGA 的
- Percona 上[说 planner 的](https://www.percona.com/live/18/sites/default/files/slides/What's%20New%20in%20Alibaba's%20X-DB%20SQL%20Engine%20-%20FileId%20-%20136821.pdf)

最后吐槽一句 ... meetup 讲的太宽泛了 ...  https://www.meetup.com/Alibaba-AIOps-Meetup/events/253052732/

- 调度跟上次一样, fuxi, sigma (还有个啥忘了 后羿?) 都说了一下，混合 workload (serving + offline) .... 上次好歹还说了 scheduler 是 queue based 的(不是 丹 based
- 讲 kernel 的 说做了一套 CI/CD,  6 个月 merge 一次 upstream, 没有精力 contribute back。结论好像是 ali 自己 fork kernel 不如直接用 upstream (喵喵喵? @htfy96 ug 大佬知道 kernel 的 CI/CD 怎么做的 & 谁在做? Intel,  RedHat?
- X-DB 下面是盘古分布式文件系统 .... 不造他们延迟之类的问题怎么解决的, 可能是 partition 和 sharding 做的特别好吧 (以及双 11 到底用的是 oceanbase 还是 x-db 啊 ... 起名字不走心啊, x 开头的很容易搜出奇怪的东西啊) MVCC + 2PC ... 好像没说时钟的问题, 虽然 ppt 里冒出了 atomic + logic lock . RDMA, FPGA 有钱人.jpg
- 最后讲了下分析 ....  瞬间让我觉得前面几个 talk 干货很多 ....

![image](https://user-images.githubusercontent.com/5621298/43369884-a604a9b8-932a-11e8-9a11-72c96aa4eec4.png)


***

https://dev.to/antonfrattaroli/what-happens-when-you-type-googlecom-into-a-browser-and-press-enter-39g8

2018 版当你输入 google.com 敲回车会发生什么。这篇文章从前端的角度回答了这个问题。

当然还有一个最强的版本 https://github.com/alex/what-happens-when

***

https://www.rust-lang.org/pdfs/Rust-Chucklefish-Whitepaper.pdf

在 Rust 官网看到了 Chucklefish 从 C++ 切到 Rust 的案例。玩他们家的游戏大概不会再碰到莫名其妙崩溃，错误日志没生成，根本没法反馈的问题了……

***

https://stackoverflow.com/questions/1995113/strangest-language-feature

同学在 Python 里写了一段代码，`1 <= x <= 2`。我很疑惑这个是不是对的，然后自己试了一下发现真的可以。

于是在 StackOverflow 上看到了这个问答。各种语言的玄学特性都在里面了。

***

https://stackoverflow.com/questions/1724255/why-does-2-2-in-javascript

Why does 2 == [2] in JavaScript?

***

https://github.com/gpujs/gpu.js

用 GPU.js 快速做了个 GPU 加速的 Conway's Game of Life，Console 里看到这个 lib 把我的 JavaScript Code 编译成了 OpenGL Shader。

***

http://metalbyexample.com/rendering-text-in-metal-with-signed-distance-fields/

很久以前折腾过 C# XNA 里面的中文字体渲染，如今看 Metal 资料才知道 3D 游戏的字体渲染有这么多方式。文中介绍了“Signed-Distance Field Rendering”。

Valve 的一个应用： https://steamcdn-a.akamaihd.net/apps/valve/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

***

https://blog.csdn.net/hengwei_vc/article/details/78643146

Disqus On Jekyll 之翻内篇

Disqus 在国内是被墙的，这篇文章讲了如何实现一个反向代理，代理一部分 disqus 的 API，解决这个问题

***

还有一个 Node.js 的， https://github.com/ciqulover/disqus-proxy 优势是 Hexo 只要简单配置即可使用，缺点是前端代码比较简单，功能不全。

这两个项目都是在 Disqus API 的基础上，自己实现一个后端去调用 Disqus API ，然后自己再实现一个前端脚本去调自己的后端……简直就是自己写了个评论系统然后把 Disqus 当数据库用……不像是反向代理那么简单。我觉得很折腾……

P.S. 这两个项目都要求自己有 VPS / PHP 托管。但是有 VPS / PHP 托管的前提下，是否可以干脆就用一个可以独立部署的评论系统？与折腾这些项目相比利弊如何？此问题留给读者思考。

***

https://gitlab.com/Douman/yukikaze async Rust HTTP client library based on hyper
> 用这个库的程序不怕自己沉掉么

***

https://github.com/golang/example/tree/master/gotypes examples for using go's standard library to do static analysis 

***

http://jb-blog.readthedocs.io/en/latest/posts/0032-debugging-zsh-startup-time.html from https://getantibody.github.io/even-faster/ 在 mac 下用 oh-my-zsh 和 nvm 之后每次开 terminal 卡 2s .... 最后改用 brew 装了 ... 有空研究一下 (肯定不会研究的

***

https://github.com/neoeinstein/stats_alloc An instrumenting middleware for global allocators in Rust, useful in testing for validating assumptions regarding allocation patterns, and potentially in production loads to monitor for memory leaks.
> 可定制默认分配器的用法

***

Divide Your Rent Fairly。用博弈论解决住卧室住客厅出多少钱的问题

https://www.nytimes.com/interactive/2014/science/rent-division-calculator.html

 *Submitted via [bookmarklet](https://gist.github.com/htfy96/301ae2b1c477a4a644e943bbc27c9588)* :sparkles:

***

