Weekly #14

2021/06/12 12:46

https://twitter.com/eshear/status/1402449647122018304

In honor of the 10th anniversary of launching Twitch, I thought I’d share some of the lessons I learned along the way. Each of these insights could probably be expanded into an essay, of course. Like the ones you would want me to expand on in the future.

有人翻译成了中文:

创业十年,Twitch 创始人的 21 条创业经验


https://twitter.com/douban_read/status/1403468209496285184?s=20

最强悍纪录片下载网站,不用注册,高清资源直接下载!

纪录片天地

包含社会生活类 1203 部,科学探索类 637 部,生态地理类 507 部,文化历史类 634 部。


MONODRAW

一款用来制作 ASCII art 的 Mac 软件。

image


YesPlayMusic

高颜值的第三方网易云播放器,有 PWA 和 Electron 版本。


M1RACLES: M1ssing Register Access Controls Leak EL0 State

苹果的 M1 芯片前一阵被曝出一个可以任意访问寄存器漏洞,这个网站介绍了该漏洞的技术细节和影响范围。


Alpine.js

一个轻量前端框架,想要做新时代的 JQuery,语法类似 Vue。


hacker-feeds-cli

A command line tool for Hacker News、 Product Hunt、 GitHub Trending 、Reddit and V2EX feeds.


Making JavaScript run fast on WebAssembly

本文介绍了在 WebAssembly 中运行 JS 引擎 SpiderMonkey 的两个性能优化方法。

  1. 引擎初始化需要时间,而 WebAssembly 中 JS 引擎的初始化本质上是对 WebAssembly 的线性内存进行初始化。在 WebAssembly 的设计中,线性内存可执行代码是解耦的,可执行代码是无状态的,状态都保存在线性内存中。因此可以将已经初始化的线性内存打一个 snapshot,下次运行直接适用 snapshot,就避免了再次初始化。参考项目 Wizer
  2. WebAssembly 不允许动态生成新的机器代码并在纯粹的 Wasm 代码中运行它,这意味着不能使用 JIT,因此改为使用 AOT。就像 Android 从 Dalvik 换到 ART 一样。

这些优化不只对 JS 有用,对于其他脚本语言也适用。适用这套方法可以在 WebAssembly 沙箱中安全快速运行各种脚本语言。


PLV8

PLV8 is a trusted Javascript language extension for PostgreSQL. It can be used for stored procedures, triggers, etc.

如果用上面介绍的在 WebAssembly 中运行 JS 引擎的方法可能更好。


https://css-doodle.com/

A web component for drawing patterns with CSS

一个用 CSS 画画的 web component,有人用它画出了中国风 border:

https://twitter.com/yuanchuan23/status/1401420511125512194

image

image


JavaScript Visualizer 9000

将 JS 代码的执行过程可视化的工具,可以清楚地观察到 Call Stack、Task Queue 和 Microtask Queue 的变化过程。


Fugu API Tracker

Project Fugu 是 Google 的一个项目,目标是让 web 能做到所有 native app 能做到的事情。这个网站上能看到各种平台对新 API 的支持情况。


https://twitter.com/update4weekly/status/1401382840407822336

Chrome、Edge、Safari 以及 Firefox 四家宣布成立了一个新的浏览器扩展规范组织,目标是帮助扩展开发者一次开发即可让插件在上述四个浏览器中都正常使用


The Plan for React 18

React 18 will include out-of-the-box improvements (like automatic batching), new APIs (like startTransition), and a new streaming server renderer with built-in support for React.lazy.