forked from zenany/weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
185 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
2020.10.05 - I was wrong. CRDTs are the future | ||
======== | ||
|
||
## 本期看点 | ||
|
||
**I was wrong. CRDTs are the future** | ||
https://josephg.com/blog/crdts-are-the-future/ | ||
Thanks to people like Martin, we now know how to make good CRDTs. But there’s still a lot of code to write before local first software can become the default. OT - you’re clever and fascinating, but CRDTs can do things you were never capable of. And CRDTs need me. With some good implementations, I think we can make something really special. I mourn all the work I’ve done on OT over the years. But OT is no longer fits into the vision I have for the future. CRDTs would let us remake Wave, but simpler and better. And they would let us write software that treats users as digital citizens, not a digital serfs. The time to build is now. | ||
|
||
**Things I Was Wrong About: Types** | ||
https://v5.chriskrycho.com/journal/things-i-was-wrong-about/1-types/ | ||
Because it would do us all good to be a little more honest about where we’ve changed our minds or simply been mistaken. | ||
|
||
**Seeing the road ahead — Catseyes and iterative design** | ||
https://blog.scottlogic.com/2020/09/25/Iterative-design-catseyes.html | ||
The iterative design approach is vital to ensuring that your product is successful, resilient, and addresses the problem, and, as the example above with Catseyes shows, can be used in a variety of scenarios. Hopefully the above should inspire you to approach new projects with the confidence and tools to advocate for iterative design, and I hope that, by doing so, you can continue to help advocate its worth to everyone who is involved in production. | ||
|
||
**Declarative Shadow DOM** | ||
https://web.dev/declarative-shadow-dom/ | ||
A new way to implement and use Shadow DOM directly in HTML. | ||
|
||
**树形控件在生产力工具中的设计** | ||
https://www.yuque.com/elevenyang/tvy47l/gn6z1t | ||
一个爱树的设计师手把手教你如何设计「🌲」!树形控件是种常见的设计模式,几乎与图形化用户界面同时诞生,通过结构化的组织方式逐级展示内容,让整体信息架构一目了然,非常适合以网页或桌面端为载体的 B 端产品和生产力工具,比如电脑文件管理系统。 | ||
|
||
## 深阅读 | ||
|
||
**Exploring Node.js Async Hooks** | ||
https://blog.appsignal.com/2020/09/30/exploring-nodejs-async-hooks.html | ||
In short, Node.js async hooks, more specifically the async_hooks module, provides a clear and easy-to-use API to track async resources in Node.js. In its simplest form, the API can be accessed by simply typing the good old JavaScript require import: | ||
|
||
**Debugging Browsers – Tools and Techniques** | ||
https://textslashplain.com/2020/09/29/debugging-browsers-tools-and-techniques/ | ||
Earlier this year, I shared a post on how you can become an expert on web browsers from the comfort of your desk… or anywhere else you have an internet connection. In that post, I mostly covered how to search through the source, review issue reports, and find design documentation. I also provided a long list of browser experts you might consider following on Twitter. In today’s post, I’d like to give a quick summary of some of the tools and techniques I use for diagnosing browser problems. | ||
|
||
**JQuery to React: How we rewrote the HelloSign Editor** | ||
https://dropbox.tech/application/jquery-to-react--how-we-rewrote-the-hellosign-editor | ||
HelloSign is a Dropbox company that provides a Web-based eSignature solution. The three modes in which a document is presented—the Editor, the Signer app, and the final overlay as a single, immutable record for posterity—must each display their contents onscreen in pixel-perfect layout at each step, regardless of who’s looking at them on what. Otherwise, users at both ends may not trust the system as much as they would handwritten ink on paper. | ||
|
||
**聊聊前端 UI 组件:组件特征** | ||
https://ourai.ws/posts/the-features-of-frontend-ui-components/ | ||
本文的主要内容是根据特征对前端 UI 组件进行建模,让我们尽可能充分地了解它的方方面面,并为如何设计以及建立一个组件体系打下基础。 | ||
|
||
**[译]成为最差前端开发的10个建议** | ||
https://mp.weixin.qq.com/s/O6L3e84iV2P9up2viyIwwg | ||
我经常看到很多人写文章,就职业选择、面试技巧或如何成为优秀程序员等针对开发人员的主题提出建议。我觉得换一种思路,反其道而行之也可以让你大开眼界,让大家知道该对什么事情敬而远之,或者该专注于哪些领域。 | ||
|
||
**生活在 DOM 树上** | ||
https://zhuanlan.zhihu.com/p/261056969 | ||
现代前端以 Atwood 的一句「凡是能用 JavaScript 实现的,最终都会用 JavaScript 实现」为嚆矢。滥觞于公司与社区传统的鄙视链正失去它们的借鉴意义。但面对看似无垠的 node_modules,我想循 Donald Knuth「过早优化乃万恶之源」的敏捷好过过早地振翮... | ||
|
||
**To Eleventy and Beyond** | ||
https://hacks.mozilla.org/2020/10/to-eleventy-and-beyond/ | ||
Porting to Eleventy has been a positive change. It certainly took quite a lot of steps to get there, but it was worth the effort. In the past, long build times with Jekyll made this site really painful for contributors and document authors to work with. We’re already starting to see some additional contributions as a result of lowering the barrier of entry. If you have a site running under Jekyll or are considering using a modern static site generator, then taking a look at Eleventy is highly recommended. It’s fast, flexible, well documented, and a joy to work with. | ||
|
||
**TypeScript to WebAssembly: The What, The How And The Why** | ||
https://blog.bitsrc.io/typescript-to-webassembly-the-what-the-how-and-the-why-3916a2561d37 | ||
The learning curve for WASM is very steep. This sometimes scares people away from it. AssemblyScript is a perfect way of writing compatible code if you already know TypeScript. | ||
|
||
**Practical Serverless: Long-Running Workflows with Human Interactions using Step Functions and Ballerina** | ||
https://medium.com/ballerina-techblog/practical-serverless-long-running-workflows-with-human-interactions-using-step-functions-and-dd6fbcb42f29 | ||
In this article, we will take a look at how to create long-running workflows using AWS Step Functions and the Ballerina language. AWS Step Functions allow us to define state machines that can have tasks such as executing a Lambda function, inserting a message to a queue using AWS Simple Queue Service (SQS), messaging with AWS Simple Notification Service (SNS), and more. This also encourages reusability by allowing existing services or functions to be composed. You can have rules for defining functionality such as error handling, automatic retry, and parallel processing. | ||
|
||
**Introducing Cloudflare Radar** | ||
https://blog.cloudflare.com/introducing-cloudflare-radar/ | ||
And by blocking 72 billion cyberthreats every day Cloudflare also has a unique position in understanding and mitigating Internet threats. Our goal is to help build a better Internet and we want to do this by exposing insights, threats and trends based on the aggregated data that we have. We want to help anyone understand what is happening on the Internet from a security, performance and usage perspective. Every Internet user should have easy access to answer the questions that they have. There are three key components that we’re launching today: Radar Internet Insights, Radar Domain Insights and Radar IP Insights. | ||
|
||
**grep-3.5 released** | ||
http://savannah.gnu.org/forum/forum.php?forum_id=9820 | ||
The message that a binary file matches is now sent to standard error and the message has been reworded from "Binary file FOO matches" to "grep: FOO: binary file matches", to avoid confusion with ordinary output or when file names contain spaces and the like, and to be more consistent with other diagnostics. | ||
|
||
**Rust 2021: GUI** | ||
https://raphlinus.github.io/rust/druid/2020/09/28/rust-2021.html | ||
I believe there is great potential for a high-quality GUI toolkit in Rust. At the same time, it’s an incredibly ambitious task. Subtasks within it, for example accelerated GPU drawing and text layout, are in and of themselves incredibly ambitious tasks. I wouldn’t consider a toolkit “ready” for production use until it supported accessibility, and as far as I know there is nothing in the Rust space even starting to work on this. Yet, perhaps against my better judgment, I find myself devoting most of my time and energy towards building GUI in Rust. In this post I will set out my hopes but also frankly discuss the challenges. Releated: [RustStarterKit2020](https://wiki.alopex.li/RustStarterKit2020), [Supercharge your Electron apps with Rust](https://blog.logrocket.com/supercharge-your-electron-apps-with-rust/). | ||
|
||
## 新鲜货 | ||
|
||
**Code scanning is now available!** | ||
https://github.blog/2020-09-30-code-scanning-is-now-available/ | ||
GitHub code scanning is a developer-first, GitHub-native approach to easily find security vulnerabilities before they reach production. We’re thrilled to announce the general availability of code scanning. | ||
|
||
**Deno 1.4: The Interesting Parts** | ||
https://blog.bitsrc.io/deno-1-4-the-interesting-parts-1460a6f75acf | ||
Deno 1.4 was released a few days ago with lots of changes, here are the actually interesting ones. Including some breaking ones that might catch you by surprise! | ||
|
||
**Indicium: V8 runtime tracer tool** | ||
https://v8.dev/blog/system-analyzer | ||
This system analyzer is a unified web interface to trace, debug and analyse patterns of how Inline Caches (ICs) and Maps are created and modified in real-world applications. V8 already has a tracing infrastructure for ICs and Maps which can process and analyse IC events using the IC Explorer and Map events using Map Processor.Elsa is a minimal, fast and secure runtime for Javascript and Typescript written in Go | ||
|
||
**Elsa** | ||
https://github.com/elsaland/elsa | ||
Elsa is a minimal, fast and secure runtime for Javascript and Typescript written in Go | ||
|
||
**Emulate vision deficiencies in DevTools** | ||
https://addyosmani.com/blog/emulate-vision-deficiencies-devtools/ | ||
Emulate vision deficiencies in Chrome DevTools to see how users who experience color blindness or blurred vision might see your site. | ||
|
||
**Introducing visx from Airbnb - A collection of expressive, low-level visualization primitives for React** | ||
https://medium.com/airbnb-engineering/introducing-visx-from-airbnb-fd6155ac4658 | ||
After 3 years of development, 2.5 years of production use at Airbnb, and a rewrite in TypeScript we are excited to announce the official 1.0 release of [visx](https://github.com/airbnb/visx) (formerly vx). | ||
|
||
**Announcing MobX 6** | ||
https://michel.codes/blogs/mobx6 | ||
MobX 6 is a new major version that doesn't bring many new features, but is rather a consolidation of MobX on the current state of affairs in JavaScript. That doesn't come without a few plot twists, so if you are an existing MobX user, please read till the end! | ||
|
||
**Gutenberg Accessibility Costs WordPress the W3C Work** | ||
https://adrianroselli.com/2020/09/gutenberg-accessibility-costs-wordpress-the-w3c-work.html | ||
As the W3C has embarked on a full web property rebuild, its vendor (Studio24) indirectly announced earlier this month that it had dropped WordPress from consideration as a CMS. WPTavern took issue with this yesterday, and Studio24 responded today, (politely) pointing the finger squarely at Gutenberg. | ||
|
||
**react-sortablejs - React bindings to SortableJS** | ||
https://github.com/SortableJS/react-sortablejs | ||
A React component built on top of the mature drag and drop library, Sortable. | ||
|
||
**Tippy.js for React** | ||
https://github.com/atomiks/tippyjs-react | ||
Tippy.js is the complete tooltip, popover, dropdown, and menu solution for the web, powered by Popper.js. It is an abstraction over Popper that provides the logic and optionally the styling involved in all types of elements that pop out from the flow of the document and get overlaid on top of the UI, positioned next to a reference element. | ||
|
||
**KeySim** | ||
https://keyboardsimulator.xyz/ | ||
design and test virtual 3d keyboards. | ||
|
||
**node-poppler: Asynchronous Wrapper for the Poppler PDF Rendering Library** | ||
https://github.com/Fdawgs/node-poppler | ||
The node-poppler module was created out of a need for a PDF-to-HTML conversion module at Yeovil District Hospital NHSFT to convert clinical documents in PDF format to HTML. | ||
|
||
**Store and Access Time Series Data at Any Scale with Amazon Timestream – Now Generally Available** | ||
https://aws.amazon.com/cn/blogs/aws/store-and-access-time-series-data-at-any-scale-with-amazon-timestream-now-generally-available/ | ||
Timestream is a fast, scalable, and serverless time series database service that makes it easy to collect, store, and process trillions of time series events per day up to 1,000 times faster and at as little as to 1/10th the cost of a relational database. | ||
|
||
**rqlite - The lightweight, distributed relational database built on SQLite** | ||
https://github.com/rqlite/rqlite | ||
|
||
**kitty - the fast, featureful, GPU based terminal emulator** | ||
https://sw.kovidgoyal.net/kitty/protocol-extensions.html | ||
Offloads rendering to the GPU for lower system load and buttery smooth scrolling. Uses threaded rendering to minimize input latency. Supports all modern terminal features: graphics (images), unicode, true-color, OpenType ligatures, mouse protocol, focus tracking, bracketed paste and several new terminal protocol extensions. | ||
|
||
**BBC Micro Elite source code** | ||
https://www.bbcelite.com/ | ||
This site contains the original source code for Elite on the BBC Micro, with every single line documented and (for the most part) explained. My hope is that this site will be useful for those who want to learn more about Elite and what makes it tick. It is provided on an educational and non-profit basis, with the aim of helping people appreciate one of the most iconic games of the 8-bit era. | ||
|
||
**OBS Studio** | ||
https://github.com/obsproject/obs-studio | ||
OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently. | ||
|
||
**Welcoming Gitter to Matrix!** | ||
https://matrix.org/blog/2020/09/30/welcoming-gitter-to-matrix | ||
Gitter is easily one of the best developer community chat systems out there, used by the communities of some massive projects (Node, TypeScript, Angular, Scala etc) and is a custodian of huge archives of knowledge via their chat logs. Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed | ||
reference implementations. | ||
|
||
## 设计 | ||
|
||
**Beautiful Dashboard Inspiration Ideas for 2020** | ||
https://uxplanet.org/beautiful-dashboard-inspiration-ideas-for-2020-42f10c6b70ec | ||
Creative Dashboard Ideas. | ||
|
||
**UI/UX Origins: Lost Principles of Applied Design** | ||
https://uxplanet.org/ui-ux-origins-lost-principles-of-applied-design-c461447b8956 | ||
How to create high-quality, modern interfaces and experiences using time-tested techniques that were lost in the pre-crash era. | ||
|
||
**Figma Low Code – A new way to tackle design hand-off** | ||
https://prototypr.io/post/figma-low-code-a-new-way-to-tackle-design-hand-offs/ | ||
Figma-Low-Code is an open-source project that enables the direct inclusion of Figma designs in VUE applications. By ensuring that the Figma design stays the single source of truth, this approach reduces the need for design hand-offs and front-end code significantly. | ||
|
||
**How might voice assistants help us have better conversations?** | ||
https://uxmag.com/articles/how-might-voice-assistants-help-us-have-better-conversations | ||
Exploring interactive storytelling as a catalyst for behavioral change. | ||
|
||
**The Era of UI Unification** | ||
https://www.uxbooth.com/articles/the-era-of-ui-unification/ | ||
Back in the early days of the Web, a lot of UI decisions were made on the fly, often having completely different sources of inspiration. There were few boundaries set: no pattern libraries, no widely-used design systems, pixelated raster graphics, and distracting Flash-based animations. | ||
|
||
## 产品及其它 | ||
|
||
**The open source paradox** | ||
http://antirez.com/news/134 | ||
Open source is different, it’s an artifact, it’s a transposition in code of what you really want to do, of what you feel software should be, or just of all your fun and joy, or even anger you are feeling while coding. And you want it to rock, to be perfect, and you can’t sleep at night if there is a fucking heisenbug. So if a user of your software is addressing you because some part of your code sucks, and is willing to work with you to do something about it, and is very demanding, don’t think they are abusing you because they are not paying you. It’s not about money. You can ignore bugs if you want, and ignore their complains, you can do that since you don’t have a contract to do otherwise, but they are helping you, they care about the same thing you care: your software quality, grandiosity, perfection. | ||
|
||
**Writing a book: is it worth it?** | ||
https://martin.kleppmann.com/2020/09/29/is-book-writing-worth-it.html | ||
On balance, I do think that writing a technical book is worth it. The feeling of knowing that you have helped a lot of people is gratifying. The personal growth that comes from taking on such a challenge is also considerable. And there is no better way to learn something in depth than by explaining it to others. In my next post I will provide some advice on writing and publishing from my experience so far. | ||
|
||
> 对数据可视化有兴趣的可以阅读由 AntV 带来的 [墨者修齐 2020-10-04 可视化库设计空间、美海平面上升、全球漏油事件、基于Uber Footprint的疫情可视化洞察、个人科技设备市场、Pixi.js制作模拟人生](https://www.yuque.com/mo-college/weekly/oqlcu8) | ||
-- THE END -- |