Techreport blog

Engineering Insights & Guides

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

11,670 articles
Performance — How To Get Web Design Clients Fast (Part 1) — Smashing Magazine

How To Get Web Design Clients Fast (Part 1) — Smashing Magazine

The secret to growing a successful web design business is thinking of design as a service, not a product. When you focus on recurring revenue and sell to one targeted niche, you can grow a business faster than ever. In this two-part series, Stephen Roe shares the agency growth lessons we’ve learned. In this first part, we break down the pricing model that’s worked best for us and explain how to le

SRStephen RoeStephen Roe·March 18, 2021Performance
Distributed — Stuff The Internet Says On Scalability For March 17th, 2021 - High Scalability -

Stuff The Internet Says On Scalability For March 17th, 2021 - High Scalability -

Hey, HighScalability is here again! Reverse engineering an ancient analog computer is a detective story worth reading. A Model of the Cosmos in the ancient Greek Antikythera Mechanism. Do you love this Stuff? Without your encouragement on Patreon this Stuff won't stuffin’ stuff. Know someone who needs to know the cloud? I wrote Explain the Cloud Like I'm 10 just for them. On Amazon it has 262 most

HSHigh Scalability·March 17, 2021Distributed
Frontend — What’s New In Flutter 2? — Smashing Magazine

What’s New In Flutter 2? — Smashing Magazine

As Flutter keeps evolving, there are more and more things we can do with it, but it’s still not reasonable to say that Flutter can be used for any app development project of any kind. Flutter has been transitioning from a cross-platform mobile development SDK for Android/iOS into a tool that allows you to run the same code natively in a browser on Windows, Linux and macOS. With Flutter 2, non-mobi

CZCarmine ZaccagninoCarmine Zaccagnino·March 17, 2021Frontend
Performance — Automatic Platform Optimization post-launch report

Automatic Platform Optimization post-launch report

We explored almost 200 websites with the activated Automatic Platform Optimization feature in Chrome User Experience Report data. Automatic Platform Optimization consistently demonstrated better aggregate performance among sites we analyzed in TTFB, First Paint, FCP, and LCP metrics.

YYevgenYevgen·March 16, 2021Performance
Security — One day short of a full chain: Part 1 – Android Kernel arbitrary code execution

One day short of a full chain: Part 1 – Android Kernel arbitrary code execution

In this series of posts, I’ll go through the exploit of three security bugs that I reported, which, when used together, can achieve remote kernel code execution in Qualcomm’s devices by visiting a malicious website in a beta version of Chrome. In this first post, I’ll exploit a use-after-free in Qualcomm’s kgsl driver (CVE-2020-11239), a bug that I reported in July 2020 and that was fixed in Janua

MYMan Yue MoMan Yue Mo·March 16, 2021Security
Security — One day short of a full chain: Part 2 – Chrome sandbox escape

One day short of a full chain: Part 2 – Chrome sandbox escape

In this second post of the series, I’ll exploit a use-after-free in the Payment component of Chrome (1125614/GHSL-2020-165), a bug that I reported in September 2020 that only affected version 86 of Chrome, which was in beta. I’ll use it to escape the Chrome sandbox to gain privilege of a third party App on Android from a compromised renderer.

MYMan Yue MoMan Yue Mo·March 16, 2021Security
Design & UX — Good, Better, Best: Untangling The Complex World Of Accessible Patterns — Smashing Magazine

Good, Better, Best: Untangling The Complex World Of Accessible Patterns — Smashing Magazine

How do we know which patterns are good, better, best when it comes to accessibility? Is it better to use an established pattern/library or create new ones? With the myriad of choices available, we can quickly become caught up in a web of confusion on this topic. In this article, Carie Fisher will attempt to untangle the complex world of accessible patterns — one step at a time. She will kick thing

CFCarie FisherCarie Fisher·March 16, 2021Design & UX
Frontend — The Gang Goes on JS Danger

The Gang Goes on JS Danger

The JS Party podcast sometimes hosts game shows. One of them is Jeopardy-esque, called JS Danger, and some of us here from CSS-Tricks got to be the guests

CCChris Coyier·March 15, 2021Frontend
Frontend — Creating Patterns With SVG Filters

Creating Patterns With SVG Filters

For years, my pain has been not being able to create a somewhat natural-looking pattern in CSS. I mean, sometimes all I need is a wood texture. The only

BSBence SzabóBence Szabó·March 15, 2021Frontend
Engineering — Highlights from Git 2.31

Highlights from Git 2.31

The open source Git project just released Git 2.31 with features and bug fixes from 85 contributors, 23 of them new. Last time we caught up with you, Git 2.29…

TBTaylor BlauTaylor Blau·March 15, 2021Engineering
Security — Dependabot ❤️s private dependencies

Dependabot ❤️s private dependencies

Dependabot’s mission is to keep all of your dependencies free of vulnerabilities and up-to-date, but until now, it hasn’t been able to update all of your private dependencies. That meant…

MMMike McDonaldMike McDonald·March 15, 2021Security
Engineering — Migrating Millions of Concurrent Websockets to Envoy

Migrating Millions of Concurrent Websockets to Envoy

Slack has a global customer base, with millions of simultaneously connected users at peak times. Most of the communication between users involves sending lots of tiny messages to each other. For much of Slack’s history, we’ve used HAProxy as a load balancer for all incoming traffic. Today, we’ll talk about problems we faced with HAProxy,…

RKRadha Kumari·March 15, 2021Engineering
Frontend — CSS Generators — Smashing Magazine

CSS Generators — Smashing Magazine

In a new short series of posts, we highlight some of the useful tools and techniques for developers and designers. This time Iris Lješnjanin brings you CSS Generators: from CSS shadows to easing gradients to CSS overlays to CSS doodles.

ILIris LjesnjaninIris Ljesnjanin·March 15, 2021Frontend
Engineering — How to Use Tailwind on a Svelte Site

How to Use Tailwind on a Svelte Site

Let’s spin up a basic Svelte site and integrate Tailwind into it for styling. One advantage of working with Tailwind is that there isn’t any context switching

SOSamson OmojolaSamson Omojola·March 12, 2021Engineering
Design & UX — Growing UX Maturity: Finding A UX Champion And Demonstrating ROI (Part 1) — Smashing Magazine

Growing UX Maturity: Finding A UX Champion And Demonstrating ROI (Part 1) — Smashing Magazine

We all benefit when we work to increase the overall UX maturity of our organizations. If we wish to meaningfully improve our UX practice, it is critical we look for opportunities to help grow the maturity of UX across our organization. We face a larger challenge when it comes to growing UX in a way that has impact across an organization than we do with growing our own UX skills. In this article, V

VVictoryoccoVictoryocco·March 12, 2021Design & UX