Changing World, Changing Mozilla

This is a time of change for the internet and for Mozilla. From combatting a lethal virus and battling systemic racism To protect individual privacy – one thing is clear: an open and accessible internet is essential to the fight. Mozilla exists so the internet can help the world collectively meet the range of challenges a moment like this presents. Firefox is a part of this. But we know we also need to go beyond the browser to give people new products and technologies that both excite them and represent their interests.

Blog.mozilla.org/blog/2020/0…

A clean start for the web

The Web is in need of some reinvention right now. The Web’s evolution over The last decade has mirrored The American Economy. All of the essential indicators are going “up and to the right,” A steady stream of fundamental advances that use that “is progress,” but the actual experience and effects for individuals stagnates or regresses. The crisis affects platforms, creators, and consumers alike.

Macwright.com/2020/08/22/…

Patterns of Distributed Systems

Distributed systems provide a particular challenge to program. They often require us to have multiple copies of data, which need to keep synchronized. Yet we cannot rely on processing nodes working reliably, and network delays can easily lead to inconsistencies. Despite this, many organizations rely on a range of core distributed software handling data storage, messaging, system management, and compute capability. These systems face common problems which they solve with similar solutions. This article recognizes and develops these solutions as patterns, with which we can build up an understanding of how to better understand, communicate and teach distributed system design.

Martinfowler.com/articles/pa…

Tracing at Slack: Thinking in Causal Graphs

“According to is it missile?” is the hardest problem to debug in a complex distributed system like Slack. To diagnose a slow-loading channel with over A hundred thousand users, we’d need to look at client-side metrics, server-side metrics, and logs. It could be a client-side issue: a slow network connection or hardware. On the other hand, it could be a server-side issue: a request execution error or an edge case in code. Triaging and fixing these issues is a tedious process when we have to manually correlate all the logs and metrics for a single request across client devices, network devices, backend services, and databases.

Slack. Engineering/tracing – at -…

Are CRDTs suitable for shared editing?

CRDTs are often praised as the “holy grail” for building collaborative applications because they don’t require a central authority to resolve sync conflicts. They open up new possibilities to scale the backend infrastructure and are also well-suited as a data-model for distributed apps that don’t require a server at all. However, several text editor developers report not to use them because they impose a too significant overhead. In this article, I will introduce you to a simple optimization for CRDTs and examine the exact performance trade-off of using Yjs for shared editing. I hope to convince you that the overhead is actually very small even for large documents with long edit histories.

Blog. Kevinjahns. DE/motorcycle – CRDTS -s…

How Figma’s multiplayer technology works

When we first started building multiplayer functionality in Figma four years ago, we decided to develop our own solution. No other design tool offered this feature, And we didn’t want to use operational transforms (A.K.A OTs), the standard multiplayer algorithm popularized by apps like Google Docs. As a startup we value the ability to ship features quickly, and OTs were unnecessarily complex for our problem space. So we built a custom multiplayer system that’s simpler and easier to implement.

www.figma.com/blog/how-fi…

Talk about some technology selection involved in low code platform

Some time ago, I wrote an article that focused on what can and can be done on low-code platforms from a product perspective, and how to do it. In this article, we will try to take a few broad directions and briefly discuss how to look at the overall architecture of a model-driven, low-code platform from a technical perspective, as well as some of the related selection.

www.yuque.com/xufei-coder…

“Visual Build System” — from design to architecture, explore the front-end technology and business value

This article summarizes all aspects of the industry’s technological exploration in “visual page-building”, “No/Low Code platform”, as well as various technical blogs and analysis articles. We also introduced the editor technology and editor technology can bring “visual page building” to break the game and innovation. On this basis, we also introduced the evolution history from the exploration stage to the mature stage from a self-developed “visual page building system” at the front of Zhihu Member Business Division.

zhuanlan.zhihu.com/p/164558106

Flume – Extract business logic into JSON graphs

As most apps grow and mature, developers are often faced with an important problem: How to present a user-interface to end-users for customizing business logic. Solving this problem gives rise to a large number of complex, bespoke UIs. This problem becomes especially apparent in apps designed to serve a wide variety of users with unique business logic needs. Flume helps developers standardize logic editing around a standard (albeit, customizable) user interface: a node editor.

flume.dev/

Rambling on about the front-end data layer

This paper elaborates my research and thinking about front-end data layer. The front-end of the service system can be structured into view layer, logical layer, and data layer. The data layer is not much discussed on the front end today, but in my opinion it is very important. The data layer itself can also be divided into service layer and model layer. The data flows from the source (API interface) to the data layer, to the logic layer, to the view layer, and then back again, forming a complete closed loop.

zhuanlan.zhihu.com/p/165213964

Overview of the TypeScript type system

Most of us can see the benefits of TypeScript’s type constraints when we introduce it. The explicit interface contract, on the one hand, strongly strengthens the engineering quality, makes up for the biggest weakness of JavaScript, on the other hand, with the help of some peripheral tools based on this construction, the development efficiency has also been significantly improved. However, moving to TypeScript’s intermediate and advanced levels is not easy, and we often get bogged down in the implementation of a complex type by obsessing over the essence of specific features. What’s missing, it turns out, is a deep understanding of the TypeScript type system.

zhuanlan.zhihu.com/p/64446259

Leading-Trim: The Future of Digital Typesetting

In a standard text box, there’s almost always extra space above and below the actual text. Because of this, when you use a text box to measure and implement spacing, it ends up larger than you intended. The bigger the line height, the bigger the problem. Today, We’re sponsoring that Microsoft Design is sponsoring the authoring of this new spec. This article gives an introduction to this new CSS standard, leading-trim, and what it could mean for web designers and developers.

Medium.com/microsoft-d…

Gpt-3 hits, and the front end is out of business? Talk about how to achieve intelligent graph cutting

Three years ago, pix2Code made a big splash in the front end world. It’s amazing how you can create front-end code by typing in an image. With pix2Code, anyone can slice images. It looks promising. But like most papers, the project peaked out and was never upgraded or optimized, stuck in its original state, unusable, and gradually forgotten. But recently GPT-3 has taken on the front end again, this time generating HTML code directly from natural language, instead of diagrams, you can just talk. Therefore, some domestic media directly commented that “the front-end group mood is estimated to be complicated, especially the students who have just started thinking twice: can I fight on better than AI?” . As a member of the “front end crowd,” I’m also concerned about losing my job to AI, as in board games, so this article will take a look at GPT-3 and the various technologies that can enable intelligent graph cutting.

zhuanlan.zhihu.com/p/188437243

Designing a JavaScript Plugin System

WordPress has plugins. jQuery has plugins. Gatsby, Eleventy, and Vue do, too. Plugins are a common feature of libraries and frameworks, and for a good reason: they allow developers to add functionality, in a safe, scalable way. This makes the core project more valuable, And it builds a community — all without creating an additional maintenance burden. What a great deal! So how do you go about building a plugin system? Let’s answer that question by building one of our own, in JavaScript.

Css-tricks.com/designing-a…

Why Write ADRs

Architecture decision records, also known as ADRs, A great way to document how and why a decision was reached within a codebase. We’ve started to adopt them within the mobile team here at GitHub, documenting decisions that affect the iOS codebase and Android codebase, as well as decisions that affect both mobile clients.

Lot. Blog / 2020-08-13 -…

Measuring engineering productivity at GitLab

One of the challenges in a rapidly growing engineering organization is determining how your organization’s productivity scales over time. Companies that grow quickly often face a slow down in output because of inefficiencies and communication challenges. For example, a task that you used to be able to ask another coworker to do may now need a comprehensive approval flow. In this Article, I’ll do a deep dive into how we measure engineering productivity at GitLab using MR Rate, The challenges we’ve encountered, and what we do to increase this metric. I hope that through this You’ll have a deeper understanding of how we operate at GitLab and inspire you to reflect on how your organization measures engineering productivity.

About.gitlab.com/blog/2020/0…

What’s Accenture?

What ‘s the Accenture? And why is it worth $140B? If you’re working at a tech company, You’ve probably thought about build vs. buy a lot — but what about build vs. outsource? Every year, companies spend more than $50B on tech and IT consulting. Particularly at larger companies and government organizations, tech problems can be big, complex, and annoying (would you want to re-do a data warehouse in Oracle?) , and people don’t want to solve those problems themselves; So they’ll outsource it to companies like Accenture, who pulled in a cool $43B in revenue last year.

Retool.com/blog/whats-…

Great opportunity with Fintech+SaaS

Fintech is ushering in a new era of vertical SaaS, with the majority of revenue coming from financial services. As SaaS companies add financial services, they not only increase revenue per customer (typically 2-5 times), but they also open up opportunities in markets that were previously considered too small or not cost-effective to acquire customers. In this article, we will explore why fintech will drive the next evolution of vertical SaaS, why new vertical markets will be opened up, and where and how the different business models of fintech can be applied.

Mp.weixin.qq.com/s/F1dxp-G6d…