InfoQ Homepage Articles
-
Adding a Natural Language Interface to Your Application
In this article, author Ashley Davis discusses how to add a natural language interface to a chatbot application using OpenAI REST API. He also shows how to extend the chatbot by adding voice commands using MediaRecorder API and OpenAI's speech transcription API.
-
How to Get Tech-Debt on the Roadmap
Only doing product-led work can lead to an unmaintainable system with lots of downtime. Unfortunately, getting time to work on the things that would prevent that can be challenging. Engineering roadmaps balance many competing demands, and the people making the decisions aren’t always the closest to the code. There is a need to learn how to speak their language.
-
Unpacking How Ad Ranking Works at Pinterest
Aayush Mudgal describes how Pinterest serves advertisements. He discussed in detail how Machine Learning is used to serve ads at large scale. He went over ads marketplaces and the ad delivery funnel, the ad serving architecture, and two of the main problems: ad retrieval and ranking. Finally, he discussed some of the challenges and solutions for training and serving large models.
-
Managing 238M Memberships at Netflix
In this article Surabhi Diwan shared how the Netflix membership team does distributed systems: the architecture bets, technology choices, and operational semantics that serve the needs of Netflix’s ever-growing member base.
-
Architecting for High Availability in the Cloud with Cellular Architecture
Cellular architecture is a design pattern that helps achieve high availability in multi-tenant applications. The goal is to design your application so that you can deploy all of its components into an isolated "cell" that is fully self-sufficient. It can benefit your customers regarding availability and ensure you hit your SLAs.
-
Relational Data at the Edge: How Cloudflare Operates Distributed PostgreSQL Clusters
Explore Cloudflare's distributed PostgreSQL clusters and learn how a cross-region architecture ensures resilience. Discover how data storage and access at the edge deliver massive performance gains by reducing location-sensitive latency and why architecting for degraded states is much harder than for failure states.
-
Leading Tech People or Remaining a Software Engineer: What to Choose? Panel Discussion
In this virtual panel, we explore what made people decide to become a leader and how they did it, and we'll find out if we really have to leave tech forever or if there's a way back into engineering.
-
Zero-Knowledge Proofs for the Layman
This article will introduce you to zero-knowledge proofs, a kind of cryptography you can use to provide the proof you know a secret, such as a private key or the solution to a problem, without ever sharing it to an interested party. While many articles exist on the topic, this will not require any high math knowledge.
-
AWS Lambda under the Hood
Mike Danilov, a senior principal engineer at AWS, presented on AWS Lambda and what is under the hood during QCon San Francisco 2023. This article represents the talk, which will start with an introduction to Lambda itself to outline the key concepts of the service and its fundamentals, which will facilitate a deep dive into the understanding of the system.
-
Getting Technical Decision Buy-In Using the Analytic Hierarchy Process
Making large, important technical decisions is a critical aspect of a senior individual contributor's role. This article examines how Comcast has employed the Analytic Hierarchy Process (AHP), a decision-making framework developed in the 1970s, and adapted it for making technical and non-technical decisions both large and small.
-
How to Use Rust Procedural Macros to Replace Panic with syn’s Fold
In this article, we show how you can write advanced macros to step through Rust code and modify it. Using the standard tooling available in the syn crate, we first show how to change the occurrence of a panic into an Err. Then we go a step beyond and use the Fold trait to recursively step through the entire function, automatically executing a change in every applicable location.
-
Agile Architecture, Lean Architecture, or Both?
When it comes to software architecture, should you adopt an agile or a lean approach? The answer, of course, is "it depends." Agile is better suited for situations where you know what you need, but not how to build it. Lean is more appropriate when requirements are certain and you want to optimize a well-known process.