Moonglade

Modern Markdown blogging with AI-powered localization and search.

Tag: Software Development



Finding the Root Cause of Mystical Problems - The Bisection Debugging Method

This article proposes a general problem-solving strategy called the "Squeeze Debugging Method," designed to rapidly identify technical failures that behave normally in ideal environments but exhibit anomalies in specific ones. The core logic of this method involves constructing an ideal environment E2 that guarantees normal program execution and comparing it with the actual environment E1 where the anomaly occurs, thereby identifying the set of differences between the two. Subsequently, through a bidirectional approach, the characteristics of the ideal environment are incrementally applied to the faulty environment, or vice versa, while observing whether the anomalous behavior changes, thus narrowing down the range of potential causes. The article emphasizes that this method is particularly effective for "mystical" issues that are difficult to resolve through conventional search methods. Its objective is to identify "potential conditions" that may contribute to the problem, rather than establishing strict necessary and sufficient conditions. Through two case studies—Spotify failing to run and an aircraft engine startup failure—the article demonstrates how to execute this debugging process in practice. It highlights that this method efficiently helps developers or users quickly identify key influencing factors from complex environmental variables, enabling them to independently resolve difficult-to-reproduce or pinpoint anomalies.

Views 796
Computer Science Debugging Environment Analysis Problem Solving Software Development System Issues

The Trend of De-globalization in the Software Engineering Field

This article explores how geopolitical shifts are driving software engineering from "globalization" toward "deglobalization." Over the past two decades, US-China technological collaboration enabled applications to adopt global architectures, leveraging distributed systems and the eventual consistency model from the CAP theorem to deliver low-cost, low-latency global services. However, since 2020, an international trust crisis has led customers to move away from reliance on public clouds or internet connectivity, demanding instead stable services within fully physically isolated "air-gapped" environments. This shift implies that software is no longer merely delivered as a SaaS subscription or via physical media, but must accommodate maintenance needs in private clouds, on-premises deployments, or even within isolated organizational structures. In the future, a key challenge in software engineering will be tolerating complete network isolation; the core of sales may shift from code to organizational structures with full operational capabilities, to address an increasingly fragmented and distrustful global market landscape.

Views 1,010
AirGap CAP Theorem China Globalization Multi-tenant Software Development

Why Should the Software Customization Industry Develop a Software Subscription Model?

This article highlights the widespread challenges faced by domestic public institutions and non-internet enterprises in China, including poor software quality, numerous vulnerabilities, and a lack of ongoing maintenance. The root cause lies in the perpetual license procurement model, which weakens the vendor's responsibility after delivery, leading to significant technical debt. The article advocates for a shift toward software subscription models (SaaS), where usage rights and services are purchased based on time and volume, rather than acquiring source code through a one-time purchase. A case study comparing a university's academic administration system demonstrates that the subscription model ensures 99% system availability, with the vendor's professional team responsible for monitoring, iteration, and bug fixes, thereby completely relieving the client of operational burdens and risks. From a cost perspective, although annual fees for subscriptions may appear higher, this model avoids the substantial losses and additional labor costs associated with software defects under the perpetual license model. Furthermore, service providers are incentivized to retain customers by adopting advanced technologies such as DevOps to reduce marginal costs. Additionally, flexible pricing based on daily or per-user usage lowers the barrier to trial for clients, as evidenced by the successful transition of Microsoft Office 365. Despite concerns regarding data localization and asset reporting, the subscription model is becoming the mainstream direction for improving overall IT service quality due to its clear division of responsibilities, high service quality, and alignment with future industry trends.

Views 466
China DevOps SaaS Software Development Software Subscription Subscription