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
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
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
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
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
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
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
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
The Go team has announced the release of Go 1.18, which brings support for generics, fuzzing, workspaces, and performance improvements. | Continue reading
SoundCloud has successfully completed their migration journey using the Strangler pattern from a monolith application to a fully-fledged BFF. | Continue reading
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
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
Ktor 2.0, the Kotlin framework to create asynchronous client and server applications, has been released with new features and breaking changes. | Continue reading
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Lin Clark walks through what WASI means and shares examples of opportunities that could be unlocked. | Continue reading
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
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
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
Edmund Jackson discusses the Goals, Logic Variables, Constraints, and Compositions that form the foundation of Logic Programming using Clojure examples. | Continue reading
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
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
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
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
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
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
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
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
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