Exploring Architectural Concepts Building a Card Game

One of the things I missed during the pandemic were my friends, the possibility to meet them, discuss with them and, why not, play cards with them.So I decided to implement an app to play Scopone with my friends and, at the same time, test “in the code” some architectural concept … | Continue reading


@infoq.com | 1 year ago

TensorFlow Unified Distributed Training API

Recently released TensorFlow v2.9 introduces a new API for the model, data, and space-parallel (aka spatially tiled) deep network training. DTensor aims to decouple sharding directives from the model code by providing higher-level utilities to partition the model and batch parame … | Continue reading


@infoq.com | 1 year ago

Oren Eini on RavenDB, Including Consistency Guarantees and C#

Wesley Reisz talks to Oren Eini about the history of RavenDB. RavenDB is a fully transactional NoSQL Document database that implements both CP and AP guarantees at different times. The two discuss those CP/AP distributed systems challenges, the choice of implementation language ( … | Continue reading


@infoq.com | 1 year ago

The What and Why of Programmable Proxies

A question which gets often asked is “What is a programmable proxy, and why do I need one?” This article tries to answer this question from different perspectives. We will start with a brief definition of what a proxy is, then discuss how proxies evolved, explaining what needs t … | Continue reading


@infoq.com | 1 year ago

How to Run Your Product Department Like a Coach

Having found what I thought was my calling as an agile coach, I took the tough decision to move sideways into Product Management in the hope of using what I’d learned to one day run my own department. I believed that coming from coaching would allow me to see things others could … | Continue reading


@infoq.com | 1 year ago

Wave: A Case Study for Low Architectural Complexity

Dan Luu published an article presenting Wave as a case study for a business model where a simple and boring architecture fits best. Instead of a state-of-the-art service-based asynchronous architecture, they employ a synchronous monolith backed by a database and serving a unified … | Continue reading


@infoq.com | 2 years ago

Raft Engine: A Log-Structured Embedded Storage Engine for Multi-Raft Logs InTiKV

In this article, authors discuss the design and implementation of Raft Engine, a log-structured embedded storage engine introduced in TiDB distributed, NewSQL database version 5.4. They also discuss the performance benefits of the engine compared to the previous implementation ba … | Continue reading


@infoq.com | 2 years ago

The Rust Borrow Checker – A Deep Dive

Nell Shamrell-Harrington discusses how to transition from fighting the borrow checker to using its guidance to write safer and more powerful code at any experience level. | Continue reading


@infoq.com | 2 years ago

Go 1.18 Stabilizes Generics, Fuzzing, Multi-Module Support,Improves Performance

The Go team has announced the release of Go 1.18, which brings support for generics, fuzzing, workspaces, and performance improvements. | Continue reading


@infoq.com | 2 years ago

SoundCloud Ends Public API Strangler

SoundCloud has successfully completed their migration journey using the Strangler pattern from a monolith application to a fully-fledged BFF. | Continue reading


@infoq.com | 2 years ago

Serving Deep Networks: Balancing Productivity vs. Efficiency Tradeoff

A recently published work provides an alternative modality for serving deep neural networks. It enables utilizing eager-mode model code directly at production workloads by using embedded CPython interpreters. The goal is to reduce the engineering effort to bring the models from t … | Continue reading


@infoq.com | 2 years ago

Microsoft Rebrands Its Data Governance Service to Microsoft Purview

Recently, Microsoft announced Microsoft Purview, a new product branding bringing together the Azure Purview data governance service with various Microsoft 365 compliance solutions. | Continue reading


@infoq.com | 2 years ago

Kotlin Asynchronous Framework, Ktor 2.0, Released

Ktor 2.0, the Kotlin framework to create asynchronous client and server applications, has been released with new features and breaking changes. | Continue reading


@infoq.com | 2 years ago

Google Trains 540B Parameter AI Language Model Palm

Google Research recently announced the Pathways Language Model (PaLM), a 540-billion-parameter AI natural language processing (NLP) model that surpasses average human performance on the BIG-bench benchmark. PaLM outperforms other state-of-the-art systems on many evaluation tasks, … | Continue reading


@infoq.com | 2 years ago

Revolutionizing Java with GraalVM Native Image

GraalVM Native Image is an ahead-of-time compiler that generates native Java executables. These executables start very fast and use less CPU and memory. This makes Java in the cloud cheaper. GraalVM can even achieve peak throughput on par with the JVM. Many Java frameworks alread … | Continue reading


@infoq.com | 2 years ago

Kestra: A Scalable Open-Source Orchestration and Scheduling Platform

Kestra, a new open-source orchestration and scheduling platform, helps developers to build, run, schedule, and monitor complex pipelines. The concept of a workflow, called Flow in Kestra, is at the heart of the platform. It is a list of tasks defined with a descriptive language b … | Continue reading


@infoq.com | 2 years ago

Installing a Robust Dev Culture for the Micro-App Environment

While consumer-facing apps have increased, a bigger increase is taking place within enterprises, with so-called “micro-apps” that are used to create customized solutions. Continuous release environments place developers in a state of regimented activity, leaving insufficient time … | Continue reading


@infoq.com | 2 years ago

Site Reliability Engineers and the Specialist Mindset

A site reliability engineer (SRE) can be a generalist or specialist. Recently, the team at Blameless elaborated on the advantages of a specialized SRE team. The specialist nature of the SRE role can be highlighted from the recruitment process. Depending on the individual skillset … | Continue reading


@infoq.com | 2 years ago

Using Machine Learning for Fast Test Feedback to Developers and Test Suite Opt

Software testing, especially in large scale projects, is a time intensive process. Test suites may be computationally expensive, compete with each other for available hardware, or simply be so large as to cause considerable delay until their results are available. The article exp … | Continue reading


@infoq.com | 2 years ago

The Next Evolution of the Database Sharding Architecture

In this article, author Juan Pan discusses the data sharding architecture patterns in a distributed database system. She explains how Apache ShardingSphere project solves the data sharding challenges. Also discussed are two practical examples of how to create a distributed databa … | Continue reading


@infoq.com | 2 years ago

How to Best Use MTT* Metrics to Optimize Your Incident Response

Selecting the correct MTT* metric to improve your incident response is important. If the wrong metric is chosen, the improvements may get lost in the noise of a multivariable equation. This article reviews the various MTT* metrics availables and discusses the best scenarios for s … | Continue reading


@infoq.com | 2 years ago

JRebel Java Development Trends and Analysis 2022

JRebel has published the 2022 Java Developer Productivity Report, and this year marks the 10th anniversary of this annual publication. The survey investigates Java trends about architectures, frameworks and productivity tools. | Continue reading


@infoq.com | 2 years ago

Fine-Grained Sandboxing with V8 Isolates [video]

Kenton Varda explains how Cloudflare built a compute platform using V8 isolates instead of containers or VMs, achieving 10x-100x faster cold starts and lower memory footprints. He goes through technical details of embedding V8, distributing code, scheduling isolates, resource man … | Continue reading


@infoq.com | 2 years ago

Making On-Call Less Painful for Developers by Using High-Quality Alerts

On-call is an increasing reality for developers. Improving alerts to reduce noise, automation, and removing warnings can help to make on-call work more humane. A driving force behind automation is Infrastructure as Code. Over time you can abstract that code so that it fits other … | Continue reading


@infoq.com | 2 years ago

Show HN: How to Create a Network Proxy Using Stream Processor Pipy

In this article we are going to introduce Pipy, an open-source cloud-native network stream processor. After describing its modular design, we will see how to rapidly build a high-performance network proxy to serve our specific needs. Pipy has been battle-tested and is already in … | Continue reading


@infoq.com | 2 years ago

Designing IoT Solutions with Microsoft Azure

In this article, we will learn how the IoT solutions can work with Microsoft Azure and what all services are available to perform different operations across multiple domains. Furthermore, it covers a few case studies to gain hands-on experience on Azure IoT that are common and p … | Continue reading


@infoq.com | 2 years ago

Building an Effective Digital Platform: The Benefits, Challenges, and Approach

A successful digital platform can improve time to market, increase revenue, reduce operational costs, and improve innovation. An effective platform is one that is differentiating, designed as a product, and is opinionated. InfoQ sat down with Adam Hansrod to discuss how organizat … | Continue reading


@infoq.com | 2 years ago

Google Announces Second Generation Cloud Functions

Google recently announced the public preview of the second generation of Cloud Functions, the functions as a service platform on Google Cloud. The new version introduces more controls over functions runtime, provides better performances and scalability and supports triggers from … | Continue reading


@infoq.com | 2 years ago

An Introduction and Tutorial for Azure Cosmos DB

Azure Cosmos DB is a globally distributed, JSON-based database delivered as a ‘Platform as a Service’ (PaaS) in Microsoft Azure. Learn about the benefits and disadvantages of Azure Cosmos DB. Find out more about this database and discover how to interact with it using tools, SDKs … | Continue reading


@infoq.com | 2 years ago

The Perfect Pair: Digital Twins and Predictive Maintenance

Businesses are moving towards developing a predictive maintenance model using digital twins that mirror their real-life counterparts. In this article, the author looks at digital twins, and provides an example of how to build one. | Continue reading


@infoq.com | 2 years ago

Building an Effective and Enjoyable Remote Onboarding Experience

The onboarding experience will make up the new hire’s first impression of your team and company, so it’s really the ideal place to set standards, and therefore requires thoughtful planning, patience, and compassion. In this article, I will dive into some of my own learnings as I … | Continue reading


@infoq.com | 2 years ago

PipelineDP Brings Google’s Differential-Privacy Library to Python

Google and OpenMined have released PipelineDP, a new open-source library that allows researchers and developers to apply differentially private aggregations to large datasets using batch-processing systems. | Continue reading


@infoq.com | 2 years ago

Alibaba Open-Sources AutoML Algorithm KNAS

Researchers from Alibaba Group and Peking University have open-sourced Kernel Neural Architecture Search (KNAS), an efficient automated machine learning (AutoML) algorithm that can evaluate proposed architectures without training. KNAS uses a gradient kernel as a proxy for model … | Continue reading


@infoq.com | 2 years ago

Log4Shell Defenses: Java Agents in Conversation with Arshan Dabirsianghi

Due to the critical nature of the systems and to the severe and critical nature of the log4shell vulnerability, an alternative approach to fixing it was required. Java Agents played a crucial role in this defense strategy. InfoQ reached out to Arshan Dabirsianghi, Chief Scientist … | Continue reading


@infoq.com | 2 years ago

WASI: A New Kind of System Interface

Lin Clark walks through what WASI means and shares examples of opportunities that could be unlocked. | Continue reading


@infoq.com | 2 years ago

A Crash Course in Modern Hardware (2010)

In this presentation from the JVM Languages Summit 2009, Cliff Click discusses the Von Neumann architecture, CISC vs RISC, the rise of multicore, Instruction-Level Parallelism (ILP), pipelining, out-of-order dispatch, static vs dynamic ILP, performance impact of cache misses, mem … | Continue reading


@infoq.com | 2 years ago

Etsy Moves from React to Preact to Lower Migration Risks

Ben Sangster, software engineer at Etsy, recently detailed the reasoning behind Etsy’s migration from React v15.6 to Preact 10. Going beyond the difference in library size, Sangster argued that adopting Preact lowered the risk associated to migrating Etsy’s large codebase. As Pre … | Continue reading


@infoq.com | 2 years ago

Austrian DPA Ruling Against Google Analytics Pave Way to EU-Based Cloud Services

In a recent ruling, the Austrian data regulator declared the use of Google Analytics unlawful based on EU GDPR regulation. While the ruling is very specifically argued and worded, its implications go well beyond this particular case. | Continue reading


@infoq.com | 2 years ago

An Introduction to Logic Programming on the JVM with Core.logic (2013)

Edmund Jackson discusses the Goals, Logic Variables, Constraints, and Compositions that form the foundation of Logic Programming using Clojure examples. | Continue reading


@infoq.com | 2 years ago

InfoQ Log4shell Story

On December 9th, it was made public on Twitter that a zero-day exploit had been discovered in log4j, a popular Java logging library. All the library’s versions between 2.0 and 2.14.1 included are affected. Log4j 2.15.0 has been released, which no longer has this vulnerability. As … | Continue reading


@infoq.com | 2 years ago

How to Work Asynchronously as a Remote-First SRE

The core practices for remote work at Netlify are prioritising asynchronous communication, being intentional about our remote community building, and encouraging colleagues to protect their work-life balance. Sustainable remote work starts with sustainable working hours, which in … | Continue reading


@infoq.com | 2 years ago

More More More Why the Most Resilient Companies Want More Incidents

John Egan discusses how companies of any scale can improve their understandability by lowering their barriers to incident reporting and simplifying their processes for documenting postmortems. | Continue reading


@infoq.com | 2 years ago

Microservices – The Letter and the Spirit

Microservices to be a pattern of ‘decoupled services’ managed to get the best out of it (the underlying understanding of the pattern (‘small’ vs ‘decoupled’) forces developers to take certain design decisions that are consistent with these objectives. In this article discuss we w … | Continue reading


@infoq.com | 2 years ago

James Clark on How Ballerina Handles Network Interaction, Data, and Concurrency

Charles Humble discusses the design of the Ballerina programming language with its lead designer James Clark. They discuss how the goals of the language inform a number of design choices including: the type system, error handling, the concurrency model, and the language’s built … | Continue reading


@infoq.com | 2 years ago

Amazon Aurora Supports MySQL 8.0

A few days before re:Invent 2021, AWS announced the general availability of Aurora MySQL 3 with MySQL 8.0 compatibility. The latest major MySQL version adds features such as common table expressions (CTEs), role-based authentication, invisible indexes and instant DDL previously l … | Continue reading


@infoq.com | 2 years ago

Kubernetes Cluster API v1.0, Production Ready

The Cloud Native Computing Foundation (CNCF) recently announced that the Cluster API project is production-ready and moving to v1beta1 APIs. Cluster API is a Kubernetes sub-project that provides declarative APIs to create, configure, and update clusters. | Continue reading


@infoq.com | 2 years ago

Static Analyzer Rudra Found over 200 Memory Safety Issues in Rust Crates

Developed at the Georgia Institute of Technology, Rudra is a static analyzer able to report potential memory safety bugs in Rust programs. Rudra has been used to scan the entire Rust package registry and identified 264 new memory safety bugs. | Continue reading


@infoq.com | 2 years ago

Code Walkthrough

The Continuous Documentation methodology is a useful paradigm that helps ensure that high-quality documentation is created, maintained, and readily available. Code Walkthroughs take the reader on a “walk” — visiting at least two stations in the code — describe flows and interacti … | Continue reading


@infoq.com | 2 years ago