Best of InfoQ2024

  1. 1
    Article
    Avatar of infoqInfoQ·2y

    Thinking Like an Architect

    The post delves into the multifaceted role of an architect, emphasizing it as a way of thinking rather than a title. It explores the concept of the 'architect elevator,' highlighting the significance of connecting various organizational levels to ensure effective communication and implementation. The role of an architect is portrayed as an IQ amplifier, guiding others to make better decisions by understanding tradeoffs and impacts. The post also underscores the value of models, metaphors, and the ability to see multiple dimensions to solve complex problems and navigate organizational and technical systems effectively.

  2. 2
    Article
    Avatar of infoqInfoQ·2y

    You Don’t Need a CSS Framework

    CSS frameworks offer short-term gains but become hard to maintain over time. Developers often have to override the framework, which leads to a custom framework that is difficult to maintain. CSS frameworks are hard to enforce consistency with and often deviate from an application's design needs. It is recommended to write custom CSS using modern CSS features for better maintainability and flexibility.

  3. 3
    Article
    Avatar of infoqInfoQ·1y

    What Developers Can Do to Continue to Program as They Age

    Aging presents challenges for programmers such as eyesight issues, pain, and mental concerns like lack of motivation and cynicism. Solutions include adjusting workspaces, changing fonts, using appropriate glasses, and adopting healthy habits like regular exercise and good sleep. Control over one's career and health can lead to a more satisfying and productive programming life as one ages.

  4. 4
    Article
    Avatar of infoqInfoQ·2y

    How Netflix Really Uses Java

    Netflix discusses their use of Java, including their journey from Java 8 to Java 17, the benefits of upgrading, and their adoption of Spring Boot. They also explore the use of virtual threads, the DGS framework for GraphQL, and the evolution of their architecture. Overall, it highlights the importance of staying up-to-date with technology and the value of performance improvements.

  5. 5
    Article
    Avatar of infoqInfoQ·2y

    Thinking Like an Architect

    Key insights into the role of architects include their function as IQ amplifiers, enhancing team intelligence by simplifying complex concepts and fostering better decision-making. They bridge organizational levels, use metaphors to make technical ideas relatable, and leverage simplified models for effective problem-solving. The ability to see multiple dimensions enables architects to introduce innovative solutions, tackle constraints, and balance standardization with innovation.

  6. 6
    Article
    Avatar of infoqInfoQ·1y

    Optimizing Java Applications on Kubernetes: Beyond the Basics

    Learn strategies for optimizing Java applications on Kubernetes beyond basic container management. The discussion includes reducing container image sizes for better security, improving JVM startup times with advanced techniques like Class Data Sharing, tuning JVM defaults for better performance, and employing Kubernetes features for more efficient resource allocation. Additionally, innovative concepts like A/B performance testing in production are explored to further enhance application performance and resource utilization.

  7. 7
    Article
    Avatar of infoqInfoQ·2y

    Building a Global Caching System at Netflix: A Deep Dive to Global Replication

    Netflix uses a global replication strategy with EVCache, a distributed key-value store, to ensure data availability across four regions. EVCache handles 30 million global replication events and 400 million operations per second, leveraging 200 Memcached clusters and 22,000 servers. Features include client-initiated replication, topology-aware clients, and batch compression, which reduce network costs and enhance performance. The replication process involves client-initiated data mutations, Kafka for metadata handling, and SQS for robust error handling.

  8. 8
    Article
    Avatar of infoqInfoQ·2y

    What Can You Learn From the Fastest Code in the World?

    Explore various optimization techniques to enhance code speed, especially in networking scenarios where processing packets efficiently is critical. Techniques covered include inline functions, compiler optimizations, advanced data structures like Swiss Tables, interleaved processing to reduce cache misses, and loop unrolling. Practical examples are used to demonstrate how these methods can reduce processing time from 1000 clocks per packet to just 65 clocks. The importance of benchmarking and understanding trade-offs in optimizations is also highlighted.

  9. 9
    Article
    Avatar of infoqInfoQ·2y

    Microsoft Releases Prompty: New VS Code Extension for Integrating LLMs into .NET Development

    Microsoft has launched Prompty, a free Visual Studio Code extension that integrates Large Language Models (LLMs) like GPT-4o into .NET development. Prompty simplifies the process of adding AI capabilities, such as generating content or creating chatbots, directly within the development environment. It includes features like easy installation, API key configuration, prompts integration, and syntax highlighting. Despite positive reception, some users are concerned about its availability for Visual Studio Professional. A real-world example shows Prompty enhancing a .NET WebAPI project with detailed weather forecast descriptions, leveraging Semantic Kernel for automation.

  10. 10
    Article
    Avatar of infoqInfoQ·2y

    The Creators of the Atom Code Editor Open-Sourced Zed, Their New Rust-Based High-Performance Editor

    Zed is a high-performance code editor open-sourced by the creators of Atom. It uses a Rust code base, supports AI-assisted code generation, and enables collaboration among software teams. The editor is currently only available for Mac.

  11. 11
    Article
    Avatar of infoqInfoQ·1y

    RAG-Powered Copilot Saves Uber 13,000 Engineering Hours

    Uber's AI-powered on-call copilot, Genie, has saved 13,000 engineering hours by answering over 70,000 questions across 154 Slack channels. Powered by Retrieval-Augmented Generation (RAG), Genie enhances incident response efficiency by leveraging existing knowledge sources. It avoids data-sensitive issues by using pre-approved sources and relies on user feedback to continuously refine its performance.

  12. 12
    Article
    Avatar of infoqInfoQ·1y

    Software Architecture and the Art of Experimentation

    Architecting software involves unavoidable instances of being wrong, making experimentation crucial. Minimum Viable Architectures (MVAs) test the viability of architectural decisions, providing data to refine them. Effective experiments should be atomic, timely, and unambiguous, focusing on verifying assumptions. The goal is to minimize the cost of mistakes by running small, manageable experiments and making informed, sustainable decisions that support long-term value.

  13. 13
    Article
    Avatar of infoqInfoQ·2y

    Spring Boot 3.3 Boosts Performance, Security, and Observability

    VMware's Spring Boot 3.3, released on May 23, 2024, offers significant enhancements in performance, security, and observability. Key updates include Class Data Sharing (CDS) for faster startup, virtual thread support for websockets, JWT authentication auto-configuration, and SBOM support for improved supply chain security. The release also enhances service connections for Apache ActiveMQ and LDAP, and includes Docker Compose support for Bitnami Container Images. Spring Boot 3.3 additionally updates its dependencies to the latest versions of critical libraries and frameworks.

  14. 14
    Article
    Avatar of infoqInfoQ·1y

    Strategic Thinking for Staff+ Engineers

    The post discusses the importance of strategic thinking for staff engineers, emphasizing its role in optimizing for long-term success. It highlights the distinction between critical thinking, creative thinking, and strategic thinking, describing it as a muscle that needs intentional development. The author uses real-world examples, such as Kodak and Blockbuster, to illustrate the consequences of poor strategic planning. The post provides a framework for strategic thinking, including diagnostics, guiding principles, execution, and evaluation, and offers insights on balancing risk and innovation in a rapidly changing environment. The importance of influencing organizational culture and leadership’s role in empowering staff engineers is also discussed.

  15. 15
    Article
    Avatar of infoqInfoQ·2y

    Podman Desktop 1.13 Launches with Hyper-V Support and Additional Enhancements

    Podman Desktop 1.13 offers significant enhancements, including support for managing Podman machines with Hyper-V on Windows, a new integrated image search feature, and redesigned empty state pages for containers, images, pods, and Kubernetes. The release also includes a reorganized Kubernetes navigation and an Image Layer Explorer extension. Notably, some users are experiencing issues updating on Windows, requiring manual downloads.

  16. 16
    Article
    Avatar of infoqInfoQ·2y

    Java Virtual Threads: A Case Study

    Java Virtual Threads, introduced in JDK 21, offer a new lightweight, scalable approach to concurrency. However, they do not present clear advantages over Open Liberty's existing autonomic thread pool for typical cloud-native Java workloads. Performance evaluations revealed that while virtual threads ramp up faster, their CPU throughput is generally lower for CPU-intensive tasks. Memory footprint benefits are inconsistent and can be outweighed by other JVM memory usages. Some unexpected performance issues due to interactions with the Linux kernel and ForkJoinPool were also observed.

  17. 17
    Article
    Avatar of infoqInfoQ·2y

    ASP.NET Core Updates in .NET 9 Preview 2: Blazor, OIDC, OAuth and Configuring HTTP.sys

    ASP.NET Core in .NET 9 Preview 2 brings updates including Blazor component constructor injection, WebSocket compression for Blazor interactive server components, customizing OAuth and OIDC authorization parameters, and configuring HTTP.sys extended authentication flags.

  18. 18
    Article
    Avatar of infoqInfoQ·2y

    Decathlon Adopts Backend for Frontend (BFF) Pattern to Empower FE Teams

    Decathlon has adopted the Backend for Frontend (BFF) pattern to empower frontend teams. The BFF pattern allows for better separation of concerns and flexibility in supporting different user experiences. It comes with challenges, such as inconsistent duplication of business logic and fault tolerance. Decathlon also discusses alternatives to BFF, such as over-the-air deployments, HATEOAS, and server-driven UI.

  19. 19
    Article
    Avatar of infoqInfoQ·1y

    JetBrain's Webstorm IDE for JavaScript Development Now Free for Non-Commercial Purposes

    JetBrain's WebStorm IDE for JavaScript development is now free for non-commercial use. Users must agree to anonymized usage data collection but gain access to the same features as paid users, including AI-powered code completion. This move aims to increase adoption among casual and open-source developers. However, non-commercial license users will use the limited Code With Me Community feature for collaborative development. Developers are debating whether to switch from other IDEs like Visual Studio Code.

  20. 20
    Article
    Avatar of infoqInfoQ·2y

    ASP.NET Core Updates in .NET 9 Preview 4: Support for OpenAI Doc Generation, HybridCache and More

    Microsoft released .NET 9 Preview 4 with updates to ASP.NET Core, including support for OpenAPI document generation, HybridCache API, and static SSR pages in Blazor Web apps. Other improvements include preventing 503 errors during app recycle in IIS.

  21. 21
    Article
    Avatar of infoqInfoQ·2y

    Best Practices to Secure Web Applications

    Loiane Groner discusses the importance of incorporating security measures throughout the software development lifecycle to prevent vulnerabilities and costly fixes post-production. She emphasizes the need for API security by focusing not only on authentication but also better authorization practices. Groner provides practical tips on input validation, password/key exposure prevention, file upload security, and proper exception handling and logging. She also highlights the importance of testing and the role of AI in improving security practices. Groner encourages continuous education and mentoring for developers to build security into their coding practices.

  22. 22
    Article
    Avatar of infoqInfoQ·2y

    How to Minimize Latency and Cost in Distributed Systems

    Distributed systems across multiple availability zones can incur high data transfer costs and performance issues. Zone Aware Routing helps optimize latency and costs by directing traffic within the same availability zone. Implementing this requires tools like Istio and support from distributed databases. It's crucial to handle uneven service distribution to avoid hotspots and ensure system reliability.

  23. 23
    Article
    Avatar of infoqInfoQ·2y

    Netflix Adopts Virtual Threads: A Case Study on Performance and Pitfalls

    Netflix has updated its Java stack to Java 21, leveraging features like generational ZGC and virtual threads to enhance performance across its microservices. However, they encountered challenges, particularly with virtual threads causing deadlock-like situations in SpringBoot applications, due to blocking operations and OS thread limitations. Diagnosis revealed that virtual threads couldn’t be scheduled due to locks held by other threads. Despite these issues, Netflix remains optimistic about virtual threads' future potential. Their real-time monitoring system, Atlas Streaming Eval, was crucial in identifying and diagnosing these issues.

  24. 24
    Article
    Avatar of infoqInfoQ·2y

    OpenAI Releases Official .NET Library

    OpenAI has released the first beta version of its official .NET library, which supports the entire OpenAI API and integrates with GPT-4o. It provides a unified experience for .NET developers and makes integration with both OpenAI and Azure OpenAI easier. User feedback is encouraged to refine the library.

  25. 25
    Article
    Avatar of infoqInfoQ·1y

    Spring Framework 6.2 and Spring Boot 3.4 Improve Containers, Actuators Ahead of New 2025 Generations

    VMware released Spring Framework 6.2 and Spring Boot 3.4, sticking to Java 17 and Jakarta EE 9 baselines. Key improvements include structured logging, enhanced Docker support, and new actuator features. They also announced Spring Framework 7 and Spring Boot 4 for November 2025, which will adopt Jakarta 11, JSpecify for null-safety, and faster startup with Project Leyden. Noteworthy updates include support for Elastic Common Schema, new container images, and more secure OCI image building. Juergen Hoeller and Sébastien Deleuze discussed the strategic alignment with GraalVM and Project Leyden, emphasizing their role in optimizing startup performance.