SShortSingh.
Back to feed

How a Developer Used Differential Testing to Validate Ancient I Ching Logic

0
·1 views

A software developer building a deterministic engine for I Ching hexagram casting encountered a core validation problem: tests written from the same flawed understanding as the code will pass even when both are wrong. With no authoritative modern spec — the classical Chinese source texts are 3,000 years old and interpreted inconsistently by competing scholars — traditional expert review proved unscalable and unreliable. To break this self-validation loop, the developer borrowed a technique from compiler engineering called differential testing, comparing outputs against two independent MIT-licensed implementations: najia and yigram-najia-rules. A field in the output was only considered correct when all three separate codebases agreed, dramatically reducing the chance that two implementations shared the same underlying bug. The approach reframes correctness as a reproducible, automated engineering fact rather than an appeal to human authority.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Developer Compares Free Online Table Makers, Launches Own Open-Source Tool

A developer evaluated several popular free table-building tools and found each lacking in key areas. Tools like Tables Generator and Markdown Tables Generator are functional but limited in scope, while Google Sheets and Notion are workarounds rather than dedicated table builders. A common shortcoming across all options was the absence of clean multi-format export capabilities. In response, the developer built Tablesmit, a free, open-source table builder that supports drag-to-resize, cell merging, and column types. Tablesmit allows export to PDF, Excel, LaTeX, CSV, and PNG without requiring an account.

0
ProgrammingDEV Community ·

Developer builds open-source manga reader with 38,000+ titles and privacy-first design

A developer has launched Mani Reader, an open-source manga reading platform built with Next.js 14, TypeScript, Tailwind CSS, and GSAP animations. The platform provides access to over 38,000 manga, manhwa, and manhua titles by leveraging the Consumet ecosystem, eliminating the need to manually maintain a content library. The project was motivated by frustration with existing manga sites that suffer from heavy ads, slow performance, and excessive user tracking. To address privacy concerns, Mani Reader includes an Incognito Mode that limits data collection without compromising usability. The codebase is publicly available on GitHub, and the developer is inviting contributions from the open-source community.

0
ProgrammingHacker News ·

ZeroFS Launches Log-Structured Filesystem Built for S3 Storage

A developer has introduced ZeroFS, a log-structured filesystem designed to work on top of Amazon S3 object storage. The project was shared on Hacker News under the 'Show HN' category, attracting early community attention. Log-structured filesystems organize data as sequential logs, which can improve write performance and simplify storage management. ZeroFS aims to bring this architecture to cloud object storage, enabling filesystem-like access over S3. The project is accessible via its official website at zerofs.net and has begun gathering feedback from the developer community.

0
ProgrammingDEV Community ·

Developer builds Mermaid diagram editor, pivots to solving documentation drift

A developer built MermaidCreator, a Mermaid diagram editor featuring a visual canvas, code editor, and AI-powered diagram generation from prompts or whiteboard photos, using Next.js, Supabase, Stripe, and Claude. The core technical lesson was maintaining a single source of truth in the app's store, where visual edits, code edits, and previews stay in sync to avoid bugs. After completing the editor, the developer identified a deeper problem: architecture diagrams become outdated within weeks as codebases evolve, rendering them unreliable. To address this, the app was extended to index docs, Mermaid blocks, API routes, and dependencies from GitHub, Notion, Confluence, and Google Docs, flagging changes that affect existing diagrams for human review. Accepted fixes can be automatically pushed back as GitHub pull requests, though the developer remains uncertain whether the project will become a commercial product.