testsAndMisc/linux_configuration/docs/security-hardening/02-language-choice.md
Krzysztof kuhy Rudnicki 346eb1f00b Bring every markdown file under the cap
Twelve prose violations to zero. Eight files split into per-topic
subdirectories with the original left as an index; both SKILL.md files
keep their frontmatter so discovery still works, with detail moved to
references/.

Deleted docs/cleanup-2026-05/ (7 files) and linux_configuration/docs/
VERIFICATION.md on the user's ruling: unreferenced records of finished
work whose rules are now enforced by the polling, shellcheck and shfmt
hooks. PACMAN_WRAPPER_SECURITY.md was split instead - unlike those, it
documents live guarantees.

Every split verified by a sorted diff against HEAD: zero content lines
lost, only the new headings and index links added.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-16 19:25:59 +02:00

45 lines
1.7 KiB
Markdown

## Part 2: Language Considerations
### Shell (Bash) Limitations
**Pros:**
- Native to the system, no dependencies
- Direct access to systemd, chattr, filesystem
- Fast for simple operations
**Cons:**
- No persistent daemon capability (need systemd for that)
- Race conditions in file operations
- Complex state management is fragile
- No proper event loop for window monitoring
- Cannot easily monitor process list in real-time
### Python Advantages for Certain Tasks
**Where Python would be better:**
1. **Process monitoring daemon** - Watch for Steam/browsers in real-time with proper event loop
2. **Window management** - Using `python-xlib` for proper X11 interaction
3. **Complex state machines** - Like the screen locker
4. **Cross-repo integration** - The screen_lock.py already shows good patterns
### Recommendation
| Component | Keep Bash | Move to Python | Reason |
| ----------------- | --------- | -------------- | ------------------------------------ |
| hosts guard | ✅ | | Simple file ops, systemd integration |
| shutdown schedule | ✅ | | Systemd timers, config files |
| screen locker | | ✅ Already | Complex UI, state machine |
| pacman wrapper | ✅ | | Must intercept pacman |
| compulsive block | | ✅ | Needs daemon for auto-close |
| music wrapper | | ✅ | Needs real-time process monitoring |
**New Python Daemon Needed:** A single "digital wellbeing daemon" that:
1. Monitors running processes
2. Auto-closes apps after timeout
3. Enforces Steam/browser mutual exclusion
4. Can be controlled via DBus