Project ideas from Hacker News discussions.

Why are there both TMP and TEMP environment variables? (2015)

📝 Discussion Summary (Click to expand)

1️⃣ Legacy naming quirks & cross‑OS confusion
The discussion repeatedly points out how the innocuous “null” filename stems from DOS’s missing /dev/null, leading developers to try null (or /dev/nul) and create surprisingly widespread side‑effects.

"One day a small file turned up in everyone's network home directory called null. A nix person had evidently had a go at writing a .bat file." – lelanthran
"Unix programmer remembered that there's no /dev/null in DOS and that it's something shorter, and tried null which worked." –
3form
"Fun fact: “/dev/nul” (with only one L) would have worked, even if there is no directory with that name." –
rep_lodsb*

2️⃣ Calls for a unified configuration standard Participants lament the chaotic scattering of “dotfiles” and configuration directories, advocating for enforcement of standards like XDG Base Directory or a common .config folder across distros.

"As these things go, there obviously is a standard for this called the XDG Base Directory Specification." – 9dev (link omitted for brevity)
"I'd love to see a distro that was able to enforce a .config folder somehow would be a winner for me." – ozlikethewizard > "Projects like suckless are configured by changing source and recompiling… a similar modern approach." – fredoralive

3️⃣ Nostalgia for retro low‑level hacking
Several users reminisce about patching CP/M binaries, editing CP/M config bytes, and hand‑tweaking Z80/8080 machine code—viewing it as a cool, performant alternative to today’s heavier abstractions.

"My recollection is that most CP/M programs were configured via patching." – Semaphor
"The patching code had to be in Z80/8080 machine code. I wrote higher performance keyboard and display routines for my copy of Wordstar using this feature." – zabzonk
"Stuff like that is also cool… patching machine code to improve performance of a compiled app? Very cool!" – Semaphor

These three themes capture the bulk of the discussion: historical filename mishaps, the push for standardized config locations, and reverence for low‑level retro programming tricks.


🚀 Project Ideas

[Legacy Config Chaos Cleaner]

Summary

  • Scans a user's home directory for misnamed config files (e.g., null, stray config.ini) and flags them as non‑standard.
  • Bulk‑renames or moves them into an XDG‑compliant ~/.config/<app> hierarchy and updates application references automatically.

Details

Key Value
Target Audience Developers and power users with legacy setups; HN community nostalgic for old DOS/Unix quirks
Core Feature Automatic detection & migration of stray config files to XDG Base Directory
Tech Stack Python script + watchdog; uses pathlib; optional Docker container for isolation
Difficulty Medium
Monetization Hobby

Notes

  • HN commenters repeatedly lament “Ensure they always point to the same path” – a perfect fit for an automated fixer.
  • Could be packaged as a CLI tool or VS Code extension, sparking discussion on best‑practice config handling.
  • Potential utility for retro‑computing forums and modern devops tooling.

[Config Unifier Dashboard]

Summary

  • Web UI that visualizes each installed app’s current configuration directory and lets users set a preferred base path (e.g., %LOCALAPPDATA%/MyConfigs). - Enforces the chosen path globally via a lightweight shim that rewrites environment variables for launched programs.

Details

Key Value
Target Audience System administrators and power users managing mixed‑OS workstations; HN users interested in standardisation
Core Feature Centralised config‑path configuration and runtime redirection
Tech Stack React front‑end; Node.js/Express API; SQLite for storage; Electron for desktop wrapper
Difficulty Medium
Monetization Revenue-ready: subscription $5/mo per user

Notes

  • Directly addresses “Why does a terminal emulator need to be so complicated?” sentiment by simplifying config management. - Could integrate with package managers to auto‑apply XDG patches, fueling lively HN debate.
  • Offers clear SaaS upside while still being useful as an open‑source desktop app.

[XDG Enforcer Daemon]

Summary

  • Background service that intercepts filesystem calls for legacy apps that write to hard‑coded locations and redirects them to XDG‑compliant directories.
  • Provides per‑application rules to preserve backward compatibility while enforcing standard paths.

Details

Key Value
Target Audience Enterprise IT teams and power users running legacy Windows/DOS tools on Linux; HN users discussing CP/M patching
Core Feature Runtime path redirection with configurable rule engine
Tech Stack Rust daemon; FUSE for filesystem overlay; libsystemd for integration
Difficulty High
Monetization Revenue-ready: enterprise licensing tier $500/year

Notes

  • Echoes comment “I would have liked that better for a lot of programs than the dotfiles they litter” – a clear pain point.
  • Could be marketed as a SaaS add‑on for CI pipelines, sparking discussion on utility vs. complexity.
  • High technical barrier encourages deep engagement from HN’s developer community.

Read Later