InfoQ Homepage Articles
-
The Process of Creating Decentralized Apps (dApps)
A decentralized application has a different architectural approach; they are working on distributed ledger technology called blockchain, where there is no central point of failure nor third parties involved. A revolutionary and attractive technology for new opportunities. This article covers creating such applications and why they are needed, as well as challenges during implementation.
-
The Unit in Unit Testing
In this article, we will focus on how developers should consider using fake objects instead of mock objects, as fake objects offer similar isolation benefits while driving high confidence, clear documentation, and loose coupling between implementation and test code.
-
How Practicing TCR (Test && Commit || Revert) Reduces Batch Size
The practice of test && commit || revert teaches how to write code in smaller chunks, further reducing batch size. TCR yields high coverage by design, which smooths the downstream testing pipeline.
-
Environment-as-a-Service (EaaS) as a Technique to Raise Productivity in Teams
In essence, EaaS addresses developer productivity issues by providing settings that make it simple for developers to test and mimic real-world uses of their system. This article discusses the benefits of EaaS.
-
How I Contributed as a Tester to a Machine Learning System: Opportunities, Challenges and Learnings
Have you ever wondered about systems based on machine learning? In those cases, testing takes a backseat. And even if testing is done, it’s done mostly by developers themselves. A tester’s role is not clearly portrayed. Testers usually struggle to understand ML-based systems and explore what contributions they can make. This is a journey of assuring quality of ML-based systems as a tester.
-
Building Functional .NET Applications: a Guide for Choosing between F# vs C#
C# and F# are languages, each with growing user bases, that approach functional programming in fundamentally different ways. C# relies on object-oriented, imperative principles, and F# relies on functional principles. Some developers are using F# as a complement to C#, rather than relying on the functional capabilities that exist natively in C#.
-
Moving Past Simple Incident Metrics: Courtney Nash on the VOID
The Verica Open Incident Database (VOID) is assembling publically available software-related incident reports. InfoQ talks with Courtney Nash about their recent findings including how MTT* metrics may not be beneficial, the average time to incident resolution, and the importance of studying near-miss reports.
-
PHP 8 - Arrays, Variables, Operators, Exception Handling and More
In this article, we discuss new features brought by PHP 8 related to arrays, variables, operators, and exception handling. We also discussed some trait-, class-, and function-related features. This article concludes the PHP 8 article series.
-
Secure Delivery: Better Workflows for Secure Systems and Pain-Free Delivery
The software delivery process has been transformed in the last decade; we’ve adopted well-understood workflows around functions such as testing, release management and operational support. In this article we'll explore the impact that security workflows have on software delivery, explain the root causes and share battle-proven techniques to show how we can make delivering secure software easier.
-
Understanding and Debugging Deep Learning Models: Exploring AI Interpretability Methods
ML interpretability refers to a user's ability to explain decisions made by an ML system. Interpretability increases confidence in the model, reduces bias, and ensures that model is compliant and ethical. In this article, author Andrew Hoblitzell discusses several methods of ML interpretability and dives deep into Local Interpretable Model-Agnostic Explanations (LIME) and Shapley Values.
-
Containers and Serverless—Rivals or Cohorts?
This article will try to decode these technologies and explore how developers should consider containers or serverless functions within their tech stack. For example, if your application has a longer startup time, then a container would suit the need better. Highly efficient stateless functions that need to scale up and down massively would benefit from running serverless functions.
-
Hard-Won Lessons from the Trenches: Failure Modes of Platform Engineering — and How to Avoid Them
Platform Engineering is a hot topic with many orgs hoping to reap the benefits. However, it is easy to go astray. This article reviews the common pitfalls of building a platform and how to avoid them.