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

---

yet another npm story`https://github.com/dominictarr/event-stream/issues/116` from @htfy96 twitter and I am just a carrier for @arrowrowe (didn't use the link format to avoid gh show issue reference on the other end)

***

gorilla/sessions provides cookie and filesystem sessions and infrastructure for custom session backends.

https://github.com/gorilla/sessions

***

https://aws.amazon.com/blogs/opensource/firecracker-open-source-secure-fast-microvm-serverless/ 
https://github.com/firecracker-microvm/firecracker (written in rust) also has adapter for containerd https://github.com/firecracker-microvm/firecracker-containerd

seems just a daemon to wrap KVM w/ REST API?

***

Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).

https://github.com/google/mundane

@codeworm96 即将要贡献代码的项目

***

https://github.com/firecracker-microvm/firecracker  Secure and fast microVMs for serverless computing.

[如何评价aws开源的firecracker，它对接下来的虚拟机、容器发展方向带来什么变化吗？](https://www.zhihu.com/question/303920344)

***

https://github.com/facebookexperimental/MIRAI

> Mirai is an abstract interpreter for the Rust compiler's mid-level intermediate representation (MIR). It is intended to become a widely used static analysis tool for Rust. The initial focus will be on taint analyis.

Cool.

***

https://github.com/google/wire Compile-time Dependency Injection for Go used by https://github.com/google/go-cloud  saw it in meetup https://github.com/enocom/presentations/tree/master/wire

***

https://github.com/dotnet/coreclr/blob/b3475eb87a5f28fb88cf23ebe30f174eff75bb46/Documentation/design-docs/GuardedDevirtualization.md?utm_source=wechat_session&utm_medium=social&utm_oi=27912371699712

瞻仰大佬是怎么做编译器优化的

***

https://github.com/objectbox/objectbox-go ObjectBox is an easy to use, object-oriented lightweight database and a full alternative to SQLite.

***

Eat My Data: How Everybody Gets File IO Wrong (2008)

发现写的raft老是丢数据……读了这个才发现以前对“落盘”的理解都不对（

https://www.slideshare.net/nan1nan1/eat-my-data

***

https://crawshaw.io/blog/utf7

imap 协议默认用的是一种 modified utf7

***

https://increment.com/documentation/ stripe 的人讲怎么写文档 (公司内部 & 开源) 有一系列文章

其中一篇 [notes-on-the-synthesis-of-labyrinths](https://increment.com/documentation/notes-on-the-synthesis-of-labyrinths/) 里面提的很好的一点是不应该只讲最好的解决方法，而是应该给出完整的 context。实际的开发流程往往是一个图的 dfs (打开 google 然后一路点进去，遇到错路再退回来) 而很多文档和文章只是给出一个线性的流程，这样大部分读者很难对里面描述的东西感到信服，也不能把里面的经验用到自己的开发当中。(不过也因项目而易，有的项目光 get start 就能让人看很久了 ...)

现在越来越觉得维护一个好的文档是十分重要的, 能想清一个问题并且把各种方法的利弊讲出来其实比写出恰好能够工作的代码更重要 (即使是只有自己开发和自己使用的坑(伤感 ...ry))。当然上班的时候更多还是就写一些明明知道以后会坑别人的代码, 毕竟我已经被坑的麻木了 .. 

***

提供一个思路：Design doc应该由大组编写一个template，我见过的常见section有：

1. project staus (eg. draft, reviewed, implementing, experimenting, finalized).
2. Contact info (eg. Eng, PM).
3. TL;DR
4. Background
5. Objection (including goal, non-goal).
6. Design Overview
7. Design Details
8. Other design options (and why we don't do it).
9. Testing plan
10. Rollout plan
11. Q&A

感觉这样每个Eng都会cover这些design options，然后每一份design都会收录在组里文档目录里，方便后面的人review。

Add a link to keep the content in weekly: https://google.com

***

https://github.com/wowlusitong/awesome-education

学生福利-收集支持教育优惠的软件与服务 

***

https://live.bilibili.com/4630260 tidb hackthon 有人做了 timeseries with TiKV (一天速成 rust 和失败 ...

***

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1190r0.html

herb：6个operator太多了，我们搞一个 spaceship operator 抄一抄 java
本文作者：可是这样 operator!= 就会变慢，比如两个不等长的 vector 本可以直接返回 true 现在就得找一下是大于还是小于

然后提了100种听起来都怪怪的解决方案。为啥不直接允许用户重写 operator== 然后比 spaceship 优先级高呢？

***

> Eat My Data: How Everybody Gets File IO Wrong (2008)
> 
> 发现写的raft老是丢数据……读了这个才发现以前对“落盘”的理解都不对（
> 
> https://www.slideshare.net/nan1nan1/eat-my-data

tl;dr Use `fsync`

***

from https://github.com/zenany/weekly/commit/ce8caf00a487942881333cdd5a56b80e3e53e9f2

https://github.com/elsewhencode/project-guidelines 主要是针对 js 项目的，没什么特别新的东西，但是能完全做到(还是得看队友 ....

***

from https://github.com/zenany/weekly/commit/ce8caf00a487942881333cdd5a56b80e3e53e9f2

https://thecreativeindependent.com/guides/how-to-balance-full-time-work-with-creative-projects/ 虽然不是讲软件的但是还是讲的很好的, 比如拒绝周末跟别人出去玩(这点可以丧起来 @xplorld ) done is better than perfect etc... 当然看文章总是容易，做到里面说的就还是需要很大的毅力了 ....

***

from https://news.ycombinator.com/item?id=18508284 a mac ascii art software, no longer under develop though, it's now $9 https://monodraw.helftone.com/



***

@xplorld fsync的语义也是奥妙重重……在Mac上fsync也没用（

https://wiki.postgresql.org/wiki/Fsync_Errors

***

https://github.com/ithinco/i-am-chinese-the-dragonfly-must-go-on

我其实不是太懂，搜索引擎也不是只有百度啊

***

