Home

2022.09.05 - Git's database internals

Pi

Ping Xia

September 5, 20226 min read

Title: 2022.09.05 – Git’s Database Internals

This Week’s Highlights

Git’s database internalshttps://github.blog/2022-09-02-gits-database-internals-v-scalability/
This blog series examines Git’s internals to help make your engineering system more efficient. Part I discusses how Git stores its data in packfiles using custom compression techniques. Related: GitHub Actions: introducing the new, larger GitHub‑hosted runners beta.

Why are you so busy?https://tomlingham.com/articles/why-are-you-so-busy/
You and your team should never be so busy that you can’t do your job properly or that you begin to hate your work. Especially if you’re a leader—or a leader of leaders—you should actually (yes, you should; I’ll die on this hill) have free time to think alone and to talk and ideate organically with peers. Contrary to popular belief, back‑to‑back meetings aren’t a badge of honor; they’re a red flag.

Be good‑argument‑driven, not data‑drivenhttp://twitchard.github.io/posts/2022-08-26-metrics-schmetrics.html
Data has its place. Metrics are a useful tool for making a certain class of persuasive arguments in certain domains. But they are only a tool for making good arguments. Data is not an end in itself. A weak argument founded on poorly interpreted data is no better than a well‑reasoned argument based on observation and theory. Stop going all googly‑eyed (tee‑hee) at statistics. Metrics are tempting; they promise easy answers. Resist! Be skeptical! Have no tolerance for poor arguments made with data. Keep intrinsic motivation alive.

Announcing Flutter 3.3 at Flutter Vikingshttps://medium.com/flutter/announcing-flutter-3-3-at-flutter-vikings-6f213e068793https://medium.com/flutter/whats-new-in-flutter-3-3-893c7b9af1ffhttps://medium.com/flutter/wonderous-explore-the-world-with-flutter-f43cce052e1
Today we’re announcing Flutter 3.3. This release focuses on refinements and performance improvements that reinforce the features shipped in Flutter 3. It expands support for the evolving Material 3 specification with several new components and a number of bug fixes, and it includes new features aimed at tablet and desktop developers—including Scribble handwriting support on iPad, selectable‑text grouping, and trackpad support. The release also bundles Dart 2.18, which introduces FFI support for libraries and code written in Swift or Objective‑C. Apps built against this release will experience improved performance across desktop, web, and mobile, so we encourage you to run flutter upgrade to get the latest on all your developer workstations!

DALL·E: Introducing Outpaintinghttps://openai.com/blog/dall-e-introducing-outpainting/
Extend creativity and tell a bigger story with DALL‑E images of any size. Related: 4.2 Gigabytes, or: How to Draw Anything, DiscoArt – Create compelling Disco Diffusion artworks in one line.

Deep Reads

Why Storybook in 2022?https://storybook.js.org/blog/why-storybook-in-2022/
What’s all the fuss about Storybook?

Why React Contexts Are Great and Why We Didn’t Use Themhttps://spin.atomicobject.com/2022/08/24/react-contexts/
We found React Contexts enabled easy data sharing. However, this tool requires discipline to effectively control what is on the context and what can edit it. Did my team miss an opportunity by not using React contexts? Were the issues we bumped into a problem of our understanding or inherent to the tool? Let me know in the comments, and always experiment to find the right patterns for each project.

CSS Classes Considered Harmfulhttps://www.keithcirkel.co.uk/css-classes-considered-harmful/
There are many great ways to express states and parameters of a component without shoehorning them into an archaic system like the class attribute. We have mechanisms today to replace it; we just need to free ourselves from our own shackles. Upcoming standards will let us express ideas in powerful new ways.

Building an Aircraft Radar System in JavaScripthttps://charliegerard.dev/blog/aircraft-radar-system-rtl-sdr-web-usb/
A few years ago I came across an awesome talk by Thomas Watson in which he described how he built AirplaneJS, a web app that picks up ADS‑B radio signals from airplanes and plots them in real time on a map in the browser. I had no idea this was possible in JavaScript, so I started digging. I played with the project and wondered if I could push it a little further.

818 3D Parkour Development Summaryhttps://mp.weixin.qq.com/s/bF81UWe2UN71ODLyLioudA
The author, Hei Bing, a former front‑end engineer at Ant Group, shares a summary of using Oasis to develop the 818 3D parkour game. Developers interested are welcome to discuss together.

[Translation] The JavaScript Framework War Is Over; There Is Only One Winnerhttps://mp.weixin.qq.com/s/vMA3x-a-663sN9Yqa3qBHQ
The “framework war” has been a hot topic in the JavaScript community and one of the industry’s many holy wars. It began with jQuery’s rise, then AngularJS’s emergence, and later a chaotic mix of modern frameworks. The battle has now ended—who claimed the final victory, and why? This article breaks it down.

From Transfer Student to Tenured Professor: A Twelve‑Year Self‑Review of Graphics‑Physics Simulationhttps://zhuanlan.zhihu.com/p/560415998
I recently received tenure, and someone congratulated me: “Now you can freely decline review requests!” I thought about it—perhaps the mindset really does change. I also thought I might write something to commemorate the journey from age 19 to 31. There’s a lot to reminisce about, but without organizing it, I don’t know where to start. So I’ll just write a bit. From a physics undergrad to a CS PhD, to a CS faculty position, and now a math tenure—this seemingly winding twelve‑year path has been spent doing the same research, not a single year wasted. Along the way there are many lessons worth recalling and summarizing, which might help future thinking. I’ll also list the impressive projects I’ve worked on and the brilliant people I’ve met; reading it should feel satisfying.

Peking University Math Prodigy Liu Zhiyu Leaves Monastic Life, Takes a Pay Cut to ¥20,000, Declines Buying a House or Car, and Has No Plans for Children—How Should We Understand His Life Choices?https://www.zhihu.com/question/551205351/answer/2656718052
The math prodigy who shocked the nation twelve years ago by becoming a monk has finally returned to ordinary life. According to Jiǔpài News, he now works as a department head at a psychological‑consulting firm in Zhongguancun, leading a small team developing psychology courses. The company offered a ¥30,000 monthly salary, but he voluntarily asked for ¥20,000, saying the money should go to “people who need it more.”

BASIC UX Framework – Definition, Benefits, and Applicationhttps://www.uxpin.com/studio/blog/basic-ux-framework/
BASIC UX is an acronym describing five essential user‑experience design principles for building “usable products.” It’s unclear who originally created the framework, but it surfaced around 2016.

Why Your Website Should Be Under 14 kB in Sizehttps://endtimes.dev/why-your-website-should-be-under-14kb-in-size/
Surprisingly, a 14 kB page can load much faster than a 15 kB page—perhaps 612 ms faster—while the difference between 15 kB and 16 kB is negligible. This is due to the TCP slow‑start algorithm. The article explains what that is, how it works, and why you should care. First, we’ll quickly cover some basics. Related: Why web pages can have a size problem.

Software Mimicryhttps://www.hillelwayne.com/post/software-mimicry/
Mimicry occurs when software X re‑implements at a higher level a core feature of software Y. The resulting facsimile shares some, but not all, of the original’s properties—enough to “look like” it.

(content truncated)


Originally written by Ping Xia (平侠) and published in Chinese on Web技术周刊 (Web Tech Weekly). Translated and adapted for DriftSeas with permission.

Keep reading

More related articles from DriftSeas.

2022.09.05 - Git's database internals — DriftSeas