BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Programming Content on InfoQ

  • IDEA: a Framework for Nurturing a Culture of Continuous Experimentation

    For a team to be agile, they need a culture that allows them to learn, unlearn, and relearn. This article explains how teams can foster such a culture, navigate through the complexities of modern development environments and harness agility to deliver software quickly that fits the needs of users and business sponsors. It describes a framework to explore, plan, implement and evaluate ideas.

  • InfoQ DevOps and Cloud Trends Report – July 2023

    InfoQ editorial staff and friends of InfoQ are discussing the current trends in the domain of cloud and DevOps as part of the process of creating our annual trends report. These reports provide InfoQ readers with a high-level overview of the topics to pay attention to and help the editorial team focus on innovative technologies.

  • TimeProvider and ITimer: Writing Unit Tests with Time in .NET 8 Preview 4

    The article discusses the challenges of writing unit tests and handling date and time in .NET. TimeProvider and ITimer are new universal time abstractions available in NET 8 Preview 4 for dependency injections and unit testing, offering extensive functionality for managing time-related operations.

  • Creating Your Own AI Co-Author Using C++

    While using ChatGPT through a web interface is one thing, creating your own autonomous AI tool that interfaces with ChatGPT via its API is a different story altogether. As strong proponents of C++, in this article we are going to present a GPT tool written in C++ to ease the pain of dealing with the daunting task of editing endless editorial comments.

  • A Comprehensive Guide to Java's New Feature: Pattern Matching for Switch

    Java brings an update with Pattern Matching for Switch. This article provides a detailed exploration of this feature, examining its support for any reference type, inclusion of null values, and introduction of guarded patterns. It also delves into the new runtime exception class - MatchException, and illustrates the compatibility of this feature with traditional switch statements.

  • Debugging Production: eBPF Chaos

    This article shares insights into learning eBPF as a new cloud-native technology which aims to improve Observability and Security workflows. You’ll learn how chaos engineering can help, and get an insight into eBPF based observability and security use cases. Breaking them in a professional way also inspires new ideas for chaos engineering itself.

  • Exploring Java Records beyond Data Transfer Objects

    Records are a concise and easy-to-use syntax for creating immutable classes. By using Records, you can ensure that your APIs are bulletproof and less prone to errors. Additionally, Records can be applied with Domain-Driven Design (DDD) principles to create more robust and maintainable code. Learning to use Records and apply them with DDD can help you make more resilient and scalable applications.

  • Debugging Go Code: Using pprof and trace to Diagnose and Fix Performance Issues

    In this article, we will look at how to identify and fix performance issues in Go programs using the pprof and trace packages. We will begin by covering the fundamentals of the tools, then delving into practical examples of how to use them. By the end of this article, you will have a solid understanding of how to use these powerful tools to improve the performance of your Go applications.

  • Using Project Orleans to Build Actor-Based Solutions on the .Net Platform

    This article takes a look at Project Orleans, an actor model framework from Microsoft. Version 7 makes it a lot easier to get started with, as it builds on top of the .NET IHost abstraction. This allows us to add it to .NET applications in a simple way. On top of that it abstracts away most of the complicated parts, allowing us to focus on the important stuff, the problems we need to solve.

  • In-Process Analytical Data Management with DuckDB

    DuckDB is an open-source OLAP database for analytical data management that operates as an in-process database, avoiding data transfer overhead. Leveraging vectorized query processing and Morsel-Driven parallelism, the database optimizes performances and multi-core utilization for analytical data processing.

  • How to Manage Full-Stack Java Development with Hilla

    This article explores Hilla, an open-source framework that offers an approach to web application development by integrating a Spring Boot Java backend with a reactive TypeScript frontend. It uses either Lit or React, combined with Vaadin’s 40+ open-source UI web components for interface creation. It also generates REST APIs and client access codes, a secure, stateless backend architecture.

  • Debugging outside Your Comfort Zone: Diving beneath a Trusted Abstraction

    This article takes a deep dive through a complex outage in the main database cluster of a payments company. We’ll focus on the aftermath of the incident - the process of understanding what went wrong, recreating the outage in a test cluster, and coming up with a way to stop it from happening again, and dive deep into the internals of Postgres, and learn about how it stores data on disk.

BT