Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Development Content on InfoQ

  • Elevating Kubernetes Logging for Enhanced Observability

    In this article, we will explore the challenges, strategies, and best practices that will help you achieve seamless log management in your Kubernetes environment.

  • Streaming HTML – Asynchronous DOM Updates without JavaScript

    Web applications provide the best user experience when pages load quickly and display additional data as it becomes available. Developers typically use JavaScript to load data asynchronously, but this adds complexity when compared to server-side rendering. We review a technique that uses the Shadow DOM with HTTP streaming to load pages quickly and display data asynchronously without JavaScript.

  • Optimizing Spring Boot Config Management with ConfigMaps: Environment Variables or Volume Mounts

    Spring Boot stands out as a viable framework for its agility and streamlined workflow. Yet, effective configuration management remains a pivotal factor influencing deployment efficiency and ongoing maintenance. ConfigMaps, a feature in Kubernetes, provides configuration strategies for Spring Boot applications.

  • Million Dollar Lines of Code - an Engineering Perspective on Cloud Cost Optimization

    A single line of code can shape an organization's financial future. Erik Peterson, the CTO and founder at CloudZero, presented an engineering perspective on cloud cost optimization at QCon San Francisco.

  • Experimenting with LLMs for Developer Productivity

    This article describes an experiment that sought to determine if no-cost LLM-based code generation tools can improve developer productivity. The experiment evaluated several LLMs by generating unit tests for some open-source code and measuring the code coverage as well as the manual rework necessary to make the tests work.

  • The Three As of Building A+ Platforms: Acceleration, Autonomy, and Accountability

    Platform engineering is not just a technical problem to solve nor an end in itself. In this article, I will share key lessons I have learned while building and delivering three platforms over the last two decades from VMware and Stripe to Apollo GraphQL, including where we got stuck, how we unblocked ourselves, and what ultimately led to the right outcomes for our users and the business.

  • Unraveling the Enigma: Debunking Myths Surrounding Lambda Cold Starts

    This insightful InfoQ article dispels the common myths surrounding Lambda Cold Starts, a widely discussed topic in the serverless computing community. As serverless architectures continue to gain popularity, misconceptions about Lambda Cold Starts have proliferated, often leading to confusion and misguided optimization strategies.

  • Polyglot Programming with WebAssembly: A Practical Approach

    WebAssembly has expanded its scope from browsers to other domains like cloud and edge computing. It uses the WebAssembly Component Model (WCM) to enable seamless interaction between libraries from different programming languages, such as Rust, Python, and JavaScript, promoting a true polyglot programming environment.

  • You Don’t Need a CSS Framework

    Developers use CSS frameworks to reduce boilerplate, increase quality, and drive consistency. However, these gains are hard to maintain as an application’s codebase matures. Developers must configure and override the framework to accommodate changes. Instead of using a CSS framework, developers should write their own custom CSS. CSS has evolved enough that this became the best option.

  • How to Use Multiple GitHub Accounts

    Git is a popular tool for version control in software development. It is not uncommon to use multiple Git accounts. Correctly configuring and switching Git accounts is challenging. In this article, we show what Git provides for account configuration, its limitations, and the solution to switch accounts automatically based on a project parent directory location.

  • Is Your Test Suite Brittle? Maybe It’s Too DRY

    One important design principle in software development is DRY – Don’t Repeat Yourself. However, when DRY is applied to test code, it can cause the test suite to become brittle — difficult to understand, maintain, and change. In this article, I will present some indications that a test suite is brittle, guidelines to follow when reducing duplication in tests, and better ways to DRY up tests.

  • Modernizing Testing Practices for Jakarta EE Projects

    This article focuses on the increasing adoption of data-driven testing in Java enterprise applications and sheds light on the Data and NoSQL Jakarta specifications. It highlights the significance of modern testing libraries such as JUnit Jupiter and AssertJ and emphasizes the importance of container-based frameworks like Testcontainers in enhancing testing practices.