Modules Begone: A New Programming Paradigm Based on a Global Function Database

2025-04-04

This article proposes a revolutionary programming paradigm: abandoning modules in favor of a global function database. All functions have unique names and rich metadata, stored in a searchable key-value database. This simplifies open-source contributions (contributing a single function is sufficient), eliminates the module partitioning problem, and facilitates function lookup and reuse. The author argues that this approach is more beneficial for the development and maintenance of large programs and proposes specific implementation ideas and extensions, such as function rating and peer review mechanisms.

Read more
Development modularization

Critical Vulnerability in Kubernetes Ingress-Nginx: Arbitrary Code Execution

2025-03-24

Multiple critical vulnerabilities have been discovered in Kubernetes Ingress-Nginx, the most severe (CVE-2025-1974) with a CVSS score of 9.8, allowing for arbitrary code execution and potential cluster-wide Secret leakage. All versions prior to v1.11.5 and v1.12.1 are affected. Immediate upgrade to the latest version or temporary disabling of the Validating Admission Controller is strongly recommended.

Read more
Development

Upspin Shutting Down: Community Too Small to Sustain

2025-02-15

Upspin, a distributed storage system designed to foster data sharing, is shutting down its central infrastructure—the keyserver—on May 6th due to insufficient community engagement. While Upspin offered strong end-to-end encryption and ease of use, along with a backlog of valuable improvements, the maintenance effort outweighs the current community size. The developers thank all contributors and leave the door open for future possibilities.

Read more

Linus vs. Tanenbaum: A Clash of OS Design Philosophies

2025-02-08

This thread captures a heated debate between Linus Torvalds, creator of Linux, and Andrew S. Tanenbaum, author of Minix. The core disagreement centers on operating system design philosophy: Linus advocated leveraging the strengths of specific hardware (like the 386), while Tanenbaum prioritized portability and operation on low-end hardware. Linus criticized Minix's design limitations in performance and functionality, while Tanenbaum countered that Linux was too hardware-dependent. This debate highlights contrasting OS design approaches and reflects the impact of hardware limitations on software development at the time.

Read more