Techreport blog

Engineering Insights & Guides

The best problem-solving writing in software engineering — databases, performance, security, frontend and distributed systems, in one feed.

11,850 articles
Performance — Unbounded memory usage by TCP for receive buffers, and how we fixed it

Unbounded memory usage by TCP for receive buffers, and how we fixed it

We are constantly monitoring and optimizing the performance and resource utilization of our systems. Recently, we noticed that some of our TCP sessions were allocating more memory than expected. This blog post describes in detail the root cause of the problem and shows the test results of a solution

MFMike FreemonMike Freemon·May 25, 2023Performance
Security — Rooting with root cause: finding a variant of a Project Zero bug

Rooting with root cause: finding a variant of a Project Zero bug

In this blog, I’ll look at CVE-2022-46395, a variant of CVE-2022-36449 (Project Zero issue 2327), and use it to gain arbitrary kernel code execution and root privileges from the untrusted app domain on an Android phone that uses the Arm Mali GPU. I’ll also explain how root cause analysis of CVE-2022-36449 led to the discovery of CVE-2022-46395.

MYMan Yue MoMan Yue Mo·May 25, 2023Security
Performance — The Impact Of Agile Methodologies On Code Quality — Smashing Magazine

The Impact Of Agile Methodologies On Code Quality — Smashing Magazine

Say goodbye to traditional workflows and embrace Agile to unlock the power of high-quality code. Discover how Agile methodologies promote simplicity, modularization, readability, and continuous improvement, resulting in faster turnaround times, more responsive development processes, and ultimately, the creation of high-quality software that meets customer needs.

SOSarah Oke OkoloSarah Oke Okolo·May 25, 2023Performance
Design & UX — Dependency Composition

Dependency Composition

Based on frustrations with conventional framework-based dependency injection, I have adopted a composition strategy that utilizes partial application to inject context into modules. When combined with test-driven development as the design process and a focus on functions over classes, modules can be kept clear, clean, and mostly free of unintended coupling.

DSDaniel Somerfield·May 23, 2023Design & UX
Networking — Bombyx is being licensed for product development

Bombyx is being licensed for product development

When we first conceived of our aerial fiber deployment solution, Bombyx (the Latin name for a silk moth), we imagined a robot weaving strands of fiber-optic cables over powerlines, helping human workers quickly connect communities even in very rural or remote locations. Now, after years of successful research, Bombyx is taking the next steps in […]

CWChris Wiltz·May 22, 2023Networking
Databases — D1: We turned it up to 11

D1: We turned it up to 11

We've been heads down iterating on D1, and we've just shipped a major new version that's substantially faster, more reliable, and introduces Time Travel: the ability to restore a D1 database to any point in time.

SGSilverlock, GlenSilverlock, Glen·May 19, 2023Databases
Frontend — Workers Browser Rendering API enters open beta

Workers Browser Rendering API enters open beta

The Workers Browser Rendering API allows developers to programmatically control and interact with a headless browser instance and create automation flows for their applications and products. Today we enter the open beta and start onboarding our customers.

CJCelso, Joshua ClaeysCelso, Joshua Claeys·May 19, 2023Frontend
Performance — Developer Week Performance Update: Spotlight on R2

Developer Week Performance Update: Spotlight on R2

For Developer Week 2023, we’re going to be looking at one of the newest Cloudflare developer offerings and how it compares to an alternative when retrieving assets from buckets: R2 versus Amazon Simple Storage Service (S3).

TATubes, Alex KuckTubes, Alex Kuck·May 19, 2023Performance