Fundamentals

Showing 100 articles max
Dabaoshi
Dabaoshi
Aug 16, 2026 · Fundamentals

CAS and Java Atomic Classes Explained: Mechanics, Pitfalls, and LongAdder

This article demystifies Java's Compare‑And‑Swap (CAS) instruction, shows how atomic classes like AtomicInteger achieve lock‑free increments, discusses CAS's three main drawbacks, surveys the entire java.util.concurrent.atomic family, and explains how LongAdder improves high‑contention counting.

Atomic ClassesCASJava
0 likes · 15 min read
CAS and Java Atomic Classes Explained: Mechanics, Pitfalls, and LongAdder
CTO Full-Stack Academy
CTO Full-Stack Academy
Aug 16, 2026 · Fundamentals

Mastering Maven: A Complete Guide to Java Build Management

This article explains Maven's role as a Java project manager, covering its core concepts, lifecycle, repositories, plugins, scopes, inheritance, practical setup steps, common use cases, advantages, drawbacks, real‑world project examples, and typical pitfalls.

Javabuild automationdependency management
0 likes · 17 min read
Mastering Maven: A Complete Guide to Java Build Management
TonyBai
TonyBai
Aug 16, 2026 · Fundamentals

Can Writing Rust Code Provide the Same Brain Protection as Taxi Driving? A Thought Experiment

A 2024 epidemiological study found taxi and ambulance drivers have the lowest Alzheimer death rates, likely due to continuous real‑time spatial mapping, and this article analogizes that mental‑map exercise to the ownership and borrowing discipline required by Rust programmers, while highlighting the lack of direct evidence.

Alzheimer'sCognitive LoadEpidemiology
0 likes · 13 min read
Can Writing Rust Code Provide the Same Brain Protection as Taxi Driving? A Thought Experiment
Deepin Linux
Deepin Linux
Aug 16, 2026 · Fundamentals

Embedded Development Pitfall Guide: Are You Using Global Variables Correctly?

Global variables are convenient in embedded projects but can cause memory waste, tight module coupling, hard‑to‑track bugs, and portability issues, especially in RTOS multitasking; this article explains the underlying memory layout, common traps, and practical techniques to use globals safely.

Best PracticesRTOSconcurrency
0 likes · 19 min read
Embedded Development Pitfall Guide: Are You Using Global Variables Correctly?
IT Learning Made Simple
IT Learning Made Simple
Aug 15, 2026 · Fundamentals

Turing Machine: Uncovering the Essence of Computation

This article explains how Alan Turing's fictional machine defines what computation is, describes its five components, shows its ability to perform any calculation, compares it to modern computers, and introduces the halting problem and Turing test as foundational concepts in computer science.

Computation TheoryComputer Science FundamentalsHalting Problem
0 likes · 6 min read
Turing Machine: Uncovering the Essence of Computation
Data Party THU
Data Party THU
Aug 15, 2026 · Fundamentals

Can You Build a DIY Radio Telescope to Detect Dark Matter?

The article explains how to construct a simple radio telescope using household materials, capture the 21‑cm hydrogen line, analyze Doppler‑shifted spectra to measure cloud velocities at various galactic radii, and demonstrate the flat rotation curve that signals the presence of dark matter.

DIYastronomydark matter
0 likes · 9 min read
Can You Build a DIY Radio Telescope to Detect Dark Matter?
samdeepthink
samdeepthink
Aug 15, 2026 · Fundamentals

Why Stable Requirements Don't Make Code Legacy

The article argues that code age or outdated technology alone doesn't define legacy code; instead, when product requirements evolve and the old code must be repeatedly patched, it becomes legacy, while unchanged requirements allow even decade‑old code to remain good.

code qualitylegacy coderequirements
0 likes · 4 min read
Why Stable Requirements Don't Make Code Legacy
Architect's Guide
Architect's Guide
Aug 15, 2026 · Fundamentals

How Architects Can Master Technical Documentation

The article explains why seasoned engineers struggle with writing technical documents, identifies two root causes—rigid thinking and limited writing skill—and presents ten concrete guidelines, illustrated with real‑world examples, to help architects produce clear, structured, and reader‑friendly documentation.

ArchitectureBest Practicesdiagrams
0 likes · 46 min read
How Architects Can Master Technical Documentation
Deepin Linux
Deepin Linux
Aug 15, 2026 · Fundamentals

Analyzing New Heap Allocation Overhead in Linux Virtual Address Space

This article explains Linux process virtual address spaces, details the multi‑step internals of the C++ new operator, and analyzes its memory‑fragmentation, time, and space overheads through code examples and benchmarks, then offers practical mitigation techniques such as memory pools and smart pointers.

C++LinuxVirtual Memory
0 likes · 26 min read
Analyzing New Heap Allocation Overhead in Linux Virtual Address Space
Machine Heart
Machine Heart
Aug 14, 2026 · Fundamentals

How DeepSeek Harness Enables Agents to Rewrite Themselves at Runtime

The article analyzes DeepSeek Harness's plugin‑based architecture, its Cordis core for reversible side‑effects, the four operational modes—including a creation mode that lets agents dynamically add or remove components—and the underlying research paper that formalizes spatiotemporal composability for self‑modifying AI agents.

CordisDeepSeekdynamic composition
0 likes · 16 min read
How DeepSeek Harness Enables Agents to Rewrite Themselves at Runtime
IT Learning Made Simple
IT Learning Made Simple
Aug 14, 2026 · Fundamentals

Why the Von Neumann Architecture Is the ‘Relativity Theory’ of Computing

The article explains how the von Neumann architecture, introduced by John von Neumann in 1945, established the stored‑program concept that underpins all modern computers, describes its five core components, the classic CPU‑memory bottleneck, and the cache, pipeline and parallel techniques used to mitigate it, while contrasting it with the Harvard architecture and offering everyday analogies.

CPU bottleneckHarvard architecturecache
0 likes · 6 min read
Why the Von Neumann Architecture Is the ‘Relativity Theory’ of Computing
IT Services Circle
IT Services Circle
Aug 14, 2026 · Fundamentals

Do You Still Need to Learn Programming in the Age of AI?

Even though AI tools can generate thousands of lines of code from a single prompt, ordinary people still need basic programming knowledge to understand the runtime environment, install dependencies, interpret errors, adjust generated code, and evaluate its correctness.

AIAutomationcoding fundamentals
0 likes · 7 min read
Do You Still Need to Learn Programming in the Age of AI?
samdeepthink
samdeepthink
Aug 14, 2026 · Fundamentals

Why Our C++ Inventory Service Restarted Every Night: Memory Management Lessons

The article recounts how a C++‑based real‑time inventory system on 30 machines was forced to reboot nightly to free memory, illustrating the pitfalls of manual memory management and arguing that languages offering safer resource handling improve developer productivity and reduce error‑prone code.

C++Java migrationlanguage choice
0 likes · 3 min read
Why Our C++ Inventory Service Restarted Every Night: Memory Management Lessons
Dabaoshi
Dabaoshi
Aug 13, 2026 · Fundamentals

Why Concurrency Is Hard: The Surprising Result of Two Threads Incrementing an int

The article explains why Java concurrency is difficult by showing that two threads each incrementing an int ten thousand times may not produce twenty thousand, then explores the motivations for multithreading, the differences between concurrency and parallelism, and the three core challenges of visibility, atomicity, and ordering.

AtomicityJavaMultithreading
0 likes · 23 min read
Why Concurrency Is Hard: The Surprising Result of Two Threads Incrementing an int
Dabaoshi
Dabaoshi
Aug 13, 2026 · Fundamentals

Design Patterns 23 – Final Overview: Mapping All 23 Patterns onto One Diagram

The article wraps up the "Design Pattern Dissection" series by showing how the 23 GoF patterns appear in JDK, Spring and MyBatis, clarifying the most confusing pattern pairs, warning against over‑design, and presenting a comprehensive map that links each pattern to the seven core design principles.

Design PatternsGoFJava
0 likes · 12 min read
Design Patterns 23 – Final Overview: Mapping All 23 Patterns onto One Diagram
Liangxu Linux
Liangxu Linux
Aug 13, 2026 · Fundamentals

Why Do Embedded Developers Prefer UART Over SPI, I2C, or USRT for Debugging?

UART remains the go‑to debugging interface in embedded projects because it needs only three wires, works asynchronously, enjoys universal driver support, and benefits from decades of Unix‑style console tradition, whereas SPI and I2C were never designed for simple human‑machine interaction.

I2CLinuxSPI
0 likes · 7 min read
Why Do Embedded Developers Prefer UART Over SPI, I2C, or USRT for Debugging?
samdeepthink
samdeepthink
Aug 13, 2026 · Fundamentals

How I Evaluate Whether Code Is Quality‑OK: Ensuring Stability and Clarity

The article explains how to judge code quality by focusing on stability—handling exceptions, retries, and alerts—and clarity—organizing logic into readable, maintainable steps—illustrated with a real‑world document‑sync example and simple function patterns.

Stabilitycode qualityexception handling
0 likes · 5 min read
How I Evaluate Whether Code Is Quality‑OK: Ensuring Stability and Clarity
Linux Tech Enthusiast
Linux Tech Enthusiast
Aug 13, 2026 · Fundamentals

5 Essential Linux File Comparison Tools Compared

This article introduces five core Linux file comparison utilities—diff, colordiff, wdiff, vimdiff, and sdiff—explaining their syntax, key options, installation steps, and practical examples so readers can choose the right tool for their workflow.

Linuxcolordiffcommand-line
0 likes · 8 min read
5 Essential Linux File Comparison Tools Compared