Project ideas from Hacker News discussions.

How would you know whether an ancient culture had zero?

📝 Discussion Summary (Click to expand)

Theme 1 – Zero’s dual nature (placeholder vs. cardinal value) and its historical treatment
- “Zero has two roles: as a positional placeholder and as a cardinal value (nothingness or net-zero). This only addresses the former.”lisp2240
- “Afaict, most ancient civization have conception of ‘nothingness’ or ‘emptiness’. The dispute is often whether they consider it as a number or not.”j16sdiz
- “Looks like translating a positional numbering system from ancient cultures than ruling out or not if they had the concept of zero.”gmuslera

Theme 2 – Distinction between zero and null in type systems / programming languages
- “We have both. Zero and Null are different data types.”philipov

Theme 3 – Need for an explicit “hole” or absence construct in code editors and languages
- “What I wonder is: why has nobody noticed that code editors lack a concept of 0? … We’ve rearranged every part of the coding process in a twisted‑up way, all for the lack of a way to express lack.”conartist6
- “If you want to be more clear about what I mean, look to tools which can express holes like https://scratch.mit.edu and https://hazel.org. They give the feeling of letting things snap together like lego bricks. Indeed, lego bricks themselves function because of the negative space (the holes) in them!”conartist6
- “A million variations exist. I’m looking for a programming‑language‑agnostic concept. The closest you’ll find are templating languages like Handlebars.”conartist6


🚀 Project Ideas

Generating project ideas…

Universal Hole Syntax & LSP Plugin

Summary

  • Provide a language‑agnostic hole token (e.g., <??>) with IDE support so developers can explicitly mark “unfilled code” and get warnings or stubs.
  • Core value: makes the concept of a hole visible, reducing bugs and clarifying intent in any language.

Details

Key Value
Target Audience Polyglot developers, educators, language‑tool builders
Core Feature Configurable hole token with LSP support: syntax highlighting, hover info, refactor‑to‑fill, and build‑time warnings for unfilled holes
Tech Stack TypeScript/JavaScript LSP server, Tree‑sitter grammars, VS Code extension (also Neovim via LSP)
Difficulty Medium
Monetization Revenue-ready: SaaS tier for team collaboration + private registry of hole templates

Notes

  • Directly answers conartist6’s complaint that “code editors lack a concept of 0” by giving a syntactic hole that can be seen and manipulated.
  • Enables discussion on how explicit hole notation could improve teaching, refactoring, and language interoperability.

HoleBlock Visual Programming Studio

Summary

  • Drag‑and‑drop block editor where each block has explicit input/output holes; snapping blocks together generates code in multiple target languages.
  • Core value: gives a concrete, language‑agnostic way to compose programs while making the “hole” concept tangible, similar to Scratch but for any language.

Details

Key Value
Target Audience Beginners, educators, visual programmers seeking language‑agnostic composition
Core Feature Canvas with snap‑together holes; pluggable code‑generation backends (JS, Python, Rust, etc.)
Tech Stack React + Blockly fork, WebAssembly language backends, Electron/PWA wrapper
Difficulty High
Monetization Hobby

Notes

  • Embodies conartist6’s desire for a “programming‑language‑agnostic concept” of a hole, inspired by Scratch/Hazel.
  • Provides a practical tool for classrooms and workshops, likely to spark HN discussion about visual vs textual programming.

HoleGuard Static Analyzer

Summary

  • Scans codebases for implicit hole patterns (TODO, FIXME, empty functions) and enforces explicit hole annotations; fails the build if holes remain unfilled.
  • Core value: turns the invisible “missing code” problem into a detectable, enforceable rule, improving code quality and safety.

Details

Key Value
Target Audience Software teams, safety‑critical projects, code‑quality enthusiasts
Core Feature Configurable hole annotations, CI integration, language‑specific parsers (Tree‑sitter), reports and blocks builds on unfilled holes
Tech Stack Rust core, Tree‑sitter parsers, GitHub Action / CLI
Difficulty Medium
Monetization Revenue-ready: per‑seat pricing for enterprise teams

Notes

  • Satisfies the call for a syntax‑level way to express “lack” (conartist6) by requiring an explicit hole marker that tooling can track.
  • Could generate lively debate on how strict hole enforcement impacts development velocity versus safety.

Read Later