mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 18:23:07 +02:00
- Add pre-commit hook (check_polling_antipatterns.sh) to detect fork-storm anti-patterns - Update .pre-commit-config.yaml with no-polling-antipatterns hook registration - Add comprehensive documentation (6 guides, 1000+ lines total) Detects and blocks: * while true + sleep patterns (suggests event-driven I/O) * $(date +...) subprocess forks (suggests /proc/uptime or bash printf) * pgrep/xdotool in polling functions (expensive fork overhead) * aggressive polling (sleep < 1s causing fork storms) * heavy piped commands (| awk | grep | tr with multiple forks) Documentation included: - SHELL_SCRIPT_QUALITY_GUIDELINES.md: 3-layer guide for developers/reviewers - SHELL_QUALITY_IMPLEMENTATION_SUMMARY.md: Technical implementation reference - COMPLETE_IMPLEMENTATION_SUMMARY.md: Full overview and integration guide - QUICK_REFERENCE_SHELL_QUALITY.md: Visual checklist and quick lookup - DELIVERABLES_INDEX.md: Index of all deliverables and next steps - shell.instructions.md: R1-R8 polling optimization rules (in ~/.copilot/instructions/) System impact: - Prevents new scripts from introducing fork-storm regressions - Already active optimizations: network_monitor.sh zero-fork, battery 1s->5s, music adaptive sleep - Expected daily savings: ~1-2 CPU-hours from eliminated fork overhead Related: Resolves previous fork-storm issue identified on May 3 causing 728k CPU-seconds |
||
|---|---|---|
| .github | ||
| .vscode | ||
| C | ||
| CPP | ||
| docs/superpowers | ||
| horatio | ||
| linux_configuration | ||
| phone_focus_mode | ||
| pomodoro_app | ||
| python_pkg | ||
| robotgo_demo | ||
| scripts | ||
| sonic_pi | ||
| TS | ||
| .binary-allowlist | ||
| .copilotignore | ||
| .fvmrc | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| COMPLETE_IMPLEMENTATION_SUMMARY.md | ||
| DELIVERABLES_INDEX.md | ||
| eslint.config.mjs | ||
| lint_python.sh | ||
| out.json | ||
| package-lock.json | ||
| package.json | ||
| POLLING_OPTIMIZATION_REPORT.md | ||
| pyproject.toml | ||
| QUICK_OPTIMIZATION_GUIDE.md | ||
| QUICK_REFERENCE_SHELL_QUALITY.md | ||
| README.md | ||
| requirements-dev.txt | ||
| requirements.txt | ||
| run.sh | ||
| setup.sh | ||
| SHELL_QUALITY_IMPLEMENTATION_SUMMARY.md | ||
| SHELL_SCRIPT_QUALITY_GUIDELINES.md | ||
testsAndMisc
A collection of personal projects, scripts, and experiments — from a GPS-based phone focus tool to C/C++ demos, with CI, linting, and pre-commit hooks across the board.
Highlights
Phone Focus Mode
Location-based app restriction for rooted Android. Automatically disables non-whitelisted apps within 500 m of home using ADB + Magisk. Features Haversine distance calculation, hysteresis to prevent toggling, fail-safe unlock, and state persistence. Bash, Android ADB.
Linux Configuration
Automated Arch Linux setup: fresh-install scripts, i3 window manager config, LaTeX environment, and system tests. Includes documentation and test result logging.
Scripts
Utility scripts for development workflows — C/C++ build file validation, secret detection, and custom makepkg helpers.
Other Projects
| Directory | Description |
|---|---|
poker_modifier_app/ |
Browser-based poker hand modifier (HTML/JS) |
pomodoro_app/ |
Pomodoro timer (Flutter) |
Bash/ |
FFmpeg build scripts |
C/, CPP/, TS/ |
Language-specific experiments |
sonic_pi/ |
Music programming experiments |
robotgo_demo/ |
Go desktop automation demo |
python_pkg/ |
Python package structure example |
Tooling
- Python linting: Ruff with all rules enabled (see
pyproject.toml) - JS/TS linting: ESLint (flat config)
- CI: GitHub Actions — lint, build, and test on push
- Testing: pytest (Python), custom shell-based test harness for scripts