Skip to content

Latest commit

 

History

History
257 lines (196 loc) · 6.46 KB

File metadata and controls

257 lines (196 loc) · 6.46 KB

Project Renaming: hsearch → recur

The Change

Old Name: hsearch (hierarchical search)
New Name: recur (recursive hierarchical search)

The Reason

Honoring Dennis M. Ritchie (1941-2011)

Dennis Ritchie's 1968 PhD thesis at Harvard University, "Program Structure and Computational Complexity", explored recursive functions and hierarchical program structures - the foundational concepts that:

  1. Led to the hierarchical Unix filesystem (1969)
  2. Influenced the C language's include system (1972)
  3. Inspired hierarchical naming in modern programming

recur is our tribute to his pioneering work on recursive hierarchies.

The Connection

Dennis Ritchie's Journey

1968: PhD Thesis - Recursive hierarchies in theory
      ↓
1969: Unix - Recursive filesystem in practice
      ↓
1972: C Language - Hierarchical includes
      ↓
1973: grep (Ken Thompson) - Text search without hierarchy
      ↓
2011: Dennis Ritchie passes away (15 years ago)
      ↓
2026: recur - Hierarchical search honoring his work (58 years later!)

The Name Evolution

Aspect hsearch recur
Meaning "Hierarchical search" "Recursive hierarchical search"
Length 7 chars 5 chars (like grep, awk, sed)
Memorability Descriptive Short, punchy
Tribute Generic Honors Dennis Ritchie
Philosophy Modern Unix + Modern

What Changed

File Names

proposals/hsearch/          → proposals/recur/

Package Name

# Cargo.toml
[package]
name = "hsearch"            name = "recur"

Binary Name

hsearch files "Module.*"    → recur files "Module.*"
hsearch find "pattern"      → recur find "pattern"
hsearch tree "Service"      → recur tree "Service"

Repository

github.com/userlevelup/hsearch  → github.com/userlevelup/recur

Documentation

HSEARCH-PROPOSAL.md         → RECUR-PROPOSAL.md
hsearch README              → recur README
                            + RECUR-TRIBUTE.md (new)

What Stayed the Same

  • ✅ All functionality identical
  • ✅ All code works exactly as before
  • ✅ Pattern syntax unchanged: Module.*, Module.**
  • ✅ Commands unchanged: files, find, tree, related, id
  • ✅ MIT License
  • ✅ Rust implementation
  • ✅ Unix philosophy

Usage Examples (Updated)

Before (hsearch)

hsearch find "async" --scope "Controller"
hsearch tree "LevelController"
hsearch files "Module.SubModule.*"
hsearch related "Service.Ops.cs"
hsearch id "ulu.role.*"

After (recur)

recur find "async" --scope "Controller"
recur tree "LevelController"
recur files "Module.SubModule.*"
recur related "Service.Ops.cs"
recur id "ulu.role.*"

Everything else is identical!

Installation (Updated)

Before

cargo install hsearch

After

cargo install recur

The Tribute

New document: RECUR-TRIBUTE.md

Explains:

  • Dennis Ritchie's 1968 PhD thesis
  • His work on Unix and C
  • How recur honors his legacy
  • The 58-year timeline from thesis to tool

Why This Name Is Better

1. Shorter & More Unix-Like

grep  - 4 chars (1973)
awk   - 3 chars (1977)
sed   - 3 chars (1974)
recur - 5 chars (2026) ✓
hsearch - 7 chars ✗

2. Honors a Giant

  • Dennis Ritchie created C and co-created Unix
  • His thesis pioneered recursive hierarchy concepts
  • He passed away in 2011 (same week as Steve Jobs, but less noticed)
  • This is our tribute to his often-overlooked genius

3. Captures the Essence

  • Recursive: The tool searches recursively
  • Hierarchical: It understands hierarchies
  • recur: Short for both meanings

4. Memorable

  • Easy to type: recur
  • Easy to say: "ree-cur"
  • Easy to remember: Sounds like "occur", "incur", "recur"

5. Respectful of History

grep = "Global Regular Expression Print" (Ken Thompson, 1973)
recur = "Recursive Hierarchical Search" (Honoring Dennis Ritchie, 2026)

Marketing Impact

Before (hsearch)

  • "A hierarchical search tool"
  • Generic, descriptive
  • No emotional connection

After (recur)

  • "Honoring Dennis Ritchie's 1968 thesis on recursive hierarchies"
  • Meaningful story
  • Connects to Unix/C heritage
  • Appeals to developers who respect history

Technical Comparison

Feature hsearch recur
Functionality ✓ (identical)
Code ✓ (same)
Performance ✓ (same)
Documentation ✓✓ (enhanced with tribute)
Emotional impact ✓✓ (honoring Ritchie)
Unix philosophy ✓✓ (explicit connection)

Migration Path

For Early Adopters (if any)

# Uninstall old
cargo uninstall hsearch

# Install new
cargo install recur

# Update scripts
sed -i 's/hsearch/recur/g' *.sh

For New Users

Just use recur from the start. It's the official name.

Next Steps

  1. ✅ Create proposals/recur/ directory structure
  2. ✅ Update Cargo.toml with new name
  3. ✅ Create RECUR-TRIBUTE.md document
  4. ✅ Update README with tribute
  5. ✅ Update all documentation
  6. Create GitHub repository: github.com/userlevelup/recur
  7. Publish to crates.io as recur
  8. Create blog post about the tribute
  9. Submit to r/rust and r/programming

The Message

"Dennis Ritchie's 1968 thesis explored recursive hierarchies. 58 years later, recur brings that vision to code search."

This isn't just a tool—it's a tribute to one of computing's greatest pioneers.

Files to Update

When moving from proposals/hsearch to final implementation:

  • Cargo.toml - Package name
  • README.md - Tool name and tribute
  • RECUR-TRIBUTE.md - New document
  • src/main.rs - CLI help text
  • src/lib.rs - Module docs
  • .github/workflows/ - CI config (when created)
  • All examples in docs
  • Issue templates (when created)

Summary

hsearch was a good name. recur is a great name that:

  1. ✅ Honors Dennis Ritchie's pioneering work
  2. ✅ Fits Unix naming conventions (short, memorable)
  3. ✅ Captures both "recursive" and "hierarchical"
  4. ✅ Creates emotional connection to computing history
  5. ✅ Is unique (no conflicts)
  6. ✅ Easy to remember and type
  7. ✅ Respects the legacy of C and Unix

recur: In honor of Dennis M. Ritchie (1941-2011) and his 1968 thesis on recursive hierarchies.

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." — Dennis Ritchie