2023.08.28 - Polishing the BRICS for Development and Peace
Ping Xia
Title: 2023.08.28 – Polishing the BRICS for Development and Peace
Heads-Up Computing & Team communication & Build Games & 学好数字化 & 时位命
This Week’s Hot Topics
Heads-Up Computing https://cacm.acm.org/magazines/2023/9/275704-heads-up-computing/fulltext
Humans have come a long way in our co‑evolution with tools (see Figure 1). Well‑designed tools effectively expand our physical as well as mental capabilities, 38 and the rise of computers in our recent history has opened up possibilities like never before. The graphical user interface (GUI) of the 1970s revolutionized desktop computing. Traditional computers with text‑based, command‑line interfaces evolved into an integrated everyday device: the personal computer (PC). Similarly, the mobile interaction paradigm introduced in the 1990s transformed how information can be accessed anytime and anywhere with a single handheld device. Never have we had so much computing power in the palm of our hands. Related: .
An effective team communicates much like optimized code: with clarity, modularity, and a focus on simplicity https://addyosmani.com/blog/team-communication/
Software development is not just about writing code; it's a communal activity that demands effective communication. Clarity, modularity, and simplicity are attributes that don't just make for excellent code; they're also the cornerstone of a high‑functioning team. As such, we should give communication the same level of scrutiny and practice as we do with our coding skills. After all, it takes a well‑tuned team to build a well‑tuned system. Related: Better Together: The Software Project Team Lead Triforce.
Reaching the Unix Philosophy's Logical Extreme with WebAssembly https://xeiaso.net/talks/unix-philosophy-logical-extreme-wasm
WebAssembly. WebAssembly is a compiler target for an imaginary CPU that your phones, tablets, laptops, gaming towers and even watches can run. It's intended to be a level below JavaScript to allow us to ship code in maintainable languages. Today I'm gonna be talking about fun ways you can take advantage of WebAssembly, but first we need to talk about the other main part of this subject: Unix.
Product Vision Starts with Problems, Not Solutions https://blog.visionarycto.com/p/product-vision-starts-with-problems
Developers need to avoid building the most elaborate solutions for the simplest problems.
Introducing Code Llama, a state‑of‑the‑art large language model for coding https://ai.meta.com/blog/code-llama-large-language-model-coding/
Code Llama is state‑of‑the‑art for publicly available LLMs on code tasks, and has the potential to make workflows faster and more efficient for current developers and lower the barrier to entry for people who are learning to code. Code Llama can be used as a productivity and educational tool to help programmers write more robust, well‑documented software. Related:
- Deep Neural Nets: 33 years ago and 33 years from now
- AI‑powered impact: GitHub Social Impact’s year ahead
Deep Reading
Meta‑Programming in Low‑Code Platforms https://zhuanlan.zhihu.com/p/652413095
Nop’s XLang language is one of the core technologies that implements reversible computing principles. To realize the reversible‑computing‑theory‑driven paradigm “App = Biz ×‑extends Generator,” a new DSL‑ and delta‑programming‑oriented programming model, XLang defines a complete, systematic set of Generator solutions that cover every aspect of application development. Lisp macros only provide a meta‑programming mechanism for generating Lisp ASTs, whereas XLang not only introduces macro functions for generating XLang ASTs but also offers the Xpl template syntax aimed at code generation—from local function bodies, to single model files, up to entire module directories.
A Thorough Look at the PerformanceObserver API https://www.zhangxinxu.com/wordpress/2023/08/js-performanceobserver-api/
MutationObserver can watch DOM element changes, ResizeObserver can watch size changes, and IntersectionObserver can watch element‑viewport intersections. The PerformanceObserver introduced here lets you observe a page’s various performance metrics.
To test or not to test, a technical perspective https://web.dev/ta-what-to-test/
Determine what you need to test and what you can rule out.
Use web components for what they’re good at https://nolanlawson.com/2021/08/01/why-its-okay-for-web-components-to-use-frameworks/
Should standalone web components be written in vanilla JavaScript? Or is it okay if they use (or even bundle) their own framework? With Vue 3 announcing built‑in support for building web components, and with frameworks like Svelte and Lit having offered this functionality for some time, it seems like a good time to revisit the question.
Slack’s Migration to a Cellular Architecture https://slack.engineering/slacks-migration-to-a-cellular-architecture/
In recent years, cellular architectures have become increasingly popular for large online services as a way to increase redundancy and limit the blast radius of site failures. In pursuit of these goals, we have migrated the most critical user‑facing services at Slack from a monolithic to a cell‑based architecture over the last 1.5 years. In this series of blog posts, we’ll discuss our reasons for embarking on this massive migration, illustrate the design of our cellular topology along with the engineering trade‑offs we made along the way, and talk about our strategies for successfully shipping deep changes across many connected services. Related: Traffic 101: Packets Mostly Flow.
YAML Is an “Okay‑Enough” Configuration File Format https://utcc.utoronto.ca/~cks/space/blog/tech/YamlIsOkayEnough
Ever since we set up Prometheus, I've had to deal with everyone's favorite configuration syntax to hate, YAML. Although YAML isn’t universal in the Prometheus and Grafana ecosystem, it’s pretty pervasive and many components and tools you want to use are configured with it, so I’ve had to write and read plenty of it.
Creating an Integrated Business and Technology Strategy https://martinfowler.com/articles/creating-integrated-tech-strategy.html
To make fruitful use of technology, we need to align our technology thinking with underlying business plans. A technology strategy can drive this alignment, provided it properly integrates business and technology. We have developed a conceptual framework to help us with this strategic thinking, based on recognizing common aspects of strategic initiatives, leading us to identify eleven prevalent strategic directions. For each direction we outline the key business questions it raises and the investigations we need to conduct to explore the technology implications. We’ve found that this framework leads not just to more effective technology strategies, but also allows technology to inform business thinking, developing new revenue streams.
How Games Typically Get Built https://blog.pragmaticengineer.com/how-games-typically-get-built/
To answer the question of how the video‑game development sector works, I turned to Tommy Thompson, director of AI and Games, who’s a veteran of game development and of teaching it. Tommy has built his own video games, consulted on a wide variety of game projects, and for a decade has taught game development at various universities. He also… (content truncated)
Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.
Sources & References
- [1]https://cacm.acm.org/magazines/2023/9/275704-heads-up-computing/fulltext
- [2]https://addyosmani.com/blog/team-communication/
- [3]Better Together: The Software Project Team Lead Triforce
- [4]https://xeiaso.net/talks/unix-philosophy-logical-extreme-wasm
- [5]https://blog.visionarycto.com/p/product-vision-starts-with-problems
- [6]https://ai.meta.com/blog/code-llama-large-language-model-coding/
- [7]Deep Neural Nets: 33 years ago and 33 years from now
- [8]AI‑powered impact: GitHub Social Impact’s year ahead
- [9]https://zhuanlan.zhihu.com/p/652413095
- [10]https://www.zhangxinxu.com/wordpress/2023/08/js-performanceobserver-api/
- [11]https://web.dev/ta-what-to-test/
- [12]https://nolanlawson.com/2021/08/01/why-its-okay-for-web-components-to-use-frameworks/