Versions and SemVer
In software, we use version numbers to signal that something has changed. Version numbering schemes go from dead simple (integers that increment with every release, or date stamps) to surprisingly complex (1.0~pre3+dfsg-0.1+b2, 2.1.1+git20160721~8efc468-2, and 1.2.0+LibO5.2.7-1+deb9u4 are a few versions spotted in the wild).

But when it comes to software version numbers, the current leader in version numbering schemes is SemVer (or Semantic Versioning). Don’t be fooled, though! Many people claim to know how SemVer works, but have never read the specification. Since this is a critical piece of what we are about to talk about, here is a summary of the spec:

Version numbers take the form X.Y.Z, sometimes augmented with additional pre-release and build information: X.Y.Z-AAA#BBB. And each of those fields means something well defined and specific.

X is the major number. Changes in this indicate breaking changes to the API (and/or behavior).
Y is the minor number. Changes to this number indicate that new features were added, but that no APIs are broken as a result.
Z is the patch version. Changes to this indicate that internal changes were made, but that no changes (even compatible changes) were made to the API.
These three are the important ones for us. Again, I suggest taking 15 minutes to read the entire spec.

Countless projects use a format that looks like SemVer, but many of them ignore the semantics behind the version number. Often, it seems that version numbers are incremented by “gut feel” instead of any consistent semantic: “This feels like a minor version update.”

3.
lucene中的PackedInts源码解读-1
http://suichangkele.iteye.com/blog/2427364
4.
【译】 追踪同步分片副本
https://www.easyice.cn/archives/243
https://www.easyice.cn/archives/283
5.
Lucene 基础理论
http://www.blogjava.net/hoojo/archive/2012/09/06/387140.html
https://github.com/kakawait/cas-security-spring-boot-starter
6.

https://en.wikipedia.org/wiki/High-availability_cluster

Node configurations
Active/active — Traffic intended for the failed node is either passed onto an existing node or load balanced across the remaining nodes. This is usually only possible when the nodes use a homogeneous software configuration.
Active/passive — Provides a fully redundant instance of each node, which is only brought online when its associated primary node fails.[2] This configuration typically requires the most extra hardware.
N+1 — Provides a single extra node that is brought online to take over the role of the node that has failed. In the case of heterogeneous software configuration on each primary node, the extra node must be universally capable of assuming any of the roles of the primary nodes it is responsible for. This normally refers to clusters that have multiple services running simultaneously; in the single service case, this degenerates to active/passive.
N+M — In cases where a single cluster is managing many services, having only one dedicated failover node might not offer sufficient redundancy. In such cases, more than one (M) standby servers are included and available. The number of standby servers is a tradeoff between cost and reliability requirements.
N-to-1 — Allows the failover standby node to become the active one temporarily, until the original node can be restored or brought back online, at which point the services or instances must be failed-back to it in order to restore high availability.
N-to-N — A combination of active/active and N+M clusters, N to N clusters redistribute the services, instances or connections from the failed node among the remaining active nodes, thus eliminating (as with active/active) the need for a ‘standby’ node, but introducing a need for extra capacity on all active nodes.

active-active

active-passive
active-passive也是两个服务器节点, 但是绝大多数时间是active的那个(或者说primary)进行服务, 当primary服务器出问题, 就使用另一个passive服务器作为备用.
7.
Why I don’t use JSON ASTs
lihaoyi给出的答案，可参考

If you use uJson, you don’t need to choose:
1.Just need case classes? Read/write directly to case classes
2.Need an AST? Read/write directly to the AST
3.Specifically want some other AST that’s not the uJson AST? You can read/write directly to the circe/play-json/etc. ASTs too
4.Don’t need case classes or an AST, and just want to pretty-print JSON? Read/write directly String -> String
5.Don’t need any output at all, and just want to parse+validate your JSON? You can do that too.

ASTs are a thing you sometimes want, but they don’t need to be in the critical path if you want some other thing. If you want one, great, if you want something else, a visitor-based library like uJson can give you that something else directly and without fuss.

8.
https://www.wired.co.uk/article/human-faeces-poo-as-fertiliser
9.
ActivityPub
https://activitypub.rocks/
ActivityPub is a decentralized social networking protocol based on the ActivityStreams 2.0 data format. ActivityPub is an official W3C recommended standard published by the W3C Social Web Working Group. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and subscribing to content.

10.
https://mp.weixin.qq.com/s?__biz=MzAwODY4OTk2Mg==&mid=2652046740&;idx=1&sn=2b01ecd64c516d59f38253f723bcebda
11.

oschina的大约译文

12.
Kafka 2.0重磅发布，新特性独家解读
http://www.infoq.com/cn/news/2018/08/kafka2.0-new-features

KIP-268：简化 Kafka Streams 升级过程
Kafka Streams 利用 Consumer Rebalance 协议里面的元数据字符串编码诸如任务分配、全局查询、版本升级相关的信息。然而，当编码版本本身改变的时候，就需要进行离线升级。比如之前从 0.10.0 版本向更高级的版本升级的时候，用户就需要将所有的 Streams 程序下线，换上新的 Kafka 版本号，然后在全部重启。
KIP-268 利用 version prob 可以使得旧版本的任务分配者告知其他高版本的成员暂时使用旧版本的 Rebalance 元数据编码，这样就可以让用户依然能够通过 rolling bounce 在线升级 Kafka Streams 的版本。而当所有参与的成员全部升级完毕之后，最后一次 rebalance 会自动切换回新版本的元数据编码。
KIP-279：修补多次 Kafka 分区主本迁移时的日志分歧问题

KIP-283：降低信息格式向下转换时的内存消耗

KIP-223：加入消费者客户端的领先指标
KIP-237：加入更多 Kafka 控制器的健康指标

KIP-290、KIP-227：细粒度前缀通配符访问控制

13.
Service Mesh是什么？至今到位的总结
http://blog.brucefeng.info/post/what-is-service-mesh

Service Mesh能做什么

Metric和链路追踪

2 为什么有微服务了还要Service Mesh

14.
https://www.theatlantic.com/science/archive/2018/08/nasa-culture-optimism-james-webb/566558/?utm_source=feed

15.
http://www.sciencemag.org/news/2018/07/beyond-silicon-15-billion-us-program-aims-spur-new-types-computer-chips

Silicon computer chips have been on a roll for half a century, getting ever more powerful. But the pace of innovation is slowing.
Today the U.S. military’s Defense Advanced Research Projects Agency(DARPA) announced dozens of new grants totaling \$75 million in a program that aims to reinvigorate the chip industry with basic research into new designs and materials, such as carbon nanotubes. Over the next few years, the DARPA program, which supports both academic and industry scientists, will grow to$300 million per year up to a total of \$1.5 billion over 5 years.

16.
http://www.discoverdev.io/archive/2018-08-01.html
http://www.discoverdev.io/archive/2018-08-02.html
http://www.discoverdev.io/archive/2018-08-03.html