| Age | Commit message (Collapse) | Author |
|
The source .MOV is removed only when the stabilized output decodes
cleanly in the verify pass, so a failed encode never loses the original.
|
|
trf_dir was declared local in main(), so the EXIT trap referencing it
fired after main returned — under set -u that became an unbound variable
error and the script exited non-zero even though stabilization succeeded.
Hoist trf_dir to script scope and guard the trap.
|
|
Reusable wrapper around the workflow from the fujifilm-video-stabilization
skill: parallel pass-1 motion detection, serial pass-2 stabilize+sharpen+encode
on Intel VAAPI (software libx265 fallback), skip-existing outputs, and a
decode/size verification pass at the end.
Usage:
stabilize-video [DIR] # all *.MOV in DIR
stabilize-video ~/Videos
stabilize-video clip1.MOV clip2.MOV # explicit files
Outputs stabilised-<base>.mp4 next to each source.
|
|
|
|
|
|
|
|
hexai dropped the tmux-edit popup editor feature; drop the tmux
keybinding, update-tool lists, and the orphaned tmux-edit-send script
that duplicated it but was no longer bound to anything.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019f0cc8-1a8f-71ab-8a1c-914d7cdb055a
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019f0cc8-1a8f-71ab-8a1c-914d7cdb055a
Co-authored-by: Amp <amp@ampcode.com>
|
|
Backs up ~ to encrypted ZFS dataset on f2 (zdata/enc/earth-backup) via
rsync over SSH. Excludes caches, trash, build artifacts, git checkouts,
syncthing, and media libraries. Adds systemd user service+timer (daily)
and enables it via Rex home_systemd_user task.
Amp-Thread-ID: https://ampcode.com/threads/T-019f0cc8-1a8f-71ab-8a1c-914d7cdb055a
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
Probe the LAN /api/server/ping endpoint with a short timeout and use it
when reachable, otherwise fall back to the public HTTPS URL. Fixes the
indefinite hang when running off the home LAN.
Amp-Thread-ID: https://ampcode.com/threads/T-019ed713-5af1-72a2-8a4e-27ee32c1d6d5
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Mirrors the default Prefix+( / Prefix+) bindings but filtered to
sessions whose name starts with the 'A-' agent-workload prefix.
Logic lives in scripts/tmux-cycle-a-session.
Amp-Thread-ID: https://ampcode.com/threads/T-019e7daf-7dbc-720d-a818-d971666b01e0
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
|
|
- Remove unused gitsyncer host entry for paul@t450:git
- Remove 'playground' from repository list
- Enhance umount logic to handle already-unmounted NFS mounts gracefully
|
|
Before shutting down f3s Beelink hosts (f0/f1/f2/f3), attempt to
umount all NFS filesystems currently mounted on earth. NFS mounts on
earth go through stunnel (127.0.0.1:2323 -> 192.168.1.138:2323 CARP
VIP on f0/f1). If any mount is active and cannot be umounted, the
shutdown is aborted to prevent data loss or a hung filesystem.
- Add umount_nfs_mounts() that reads /proc/mounts for nfs/nfs4 types,
attempts to umount each, and returns 1 if any fail
- Call umount_nfs_mounts before proceeding in shutdown, shutdown-f3,
and shutdown-all cases (shutdown-pis skipped: Pis do not serve NFS)
- Update all comments to explain the NFS-over-stunnel architecture and
the safety rationale
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
Task: z9
|
|
|
|
When the API returns null for nextPage, Python's .get('nextPage','') still
returns None (key exists), and print(None) yields "None" — a non-empty string.
The loop then tried to fetch page "None", curl failed, and set -e killed the
script silently. Use 'or ""' to coerce None to empty string.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
declare -A with inline \$() substitutions can silently drop entries in some
bash versions; assign keys after declaration to ensure both accounts load.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Downloads each asset to <filename>.tmp first, renaming to the final path
only on success. Also cleans up stale .tmp files from aborted previous runs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
The Immich search API's 'total' field only reflects the current page size,
not the actual total. Fix by first paginating all pages to collect the full
asset list, then downloading with accurate [X/total] progress.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Exports images (no videos) from paul and albena accounts for a configurable
date range via the Immich REST API, skipping already-downloaded files.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d3931-728f-71fa-9296-5e3a40694873
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Notes with 'work' tag were routed to worklog_add! which wrote a raw
txt file to worktime dir, losing the +work tag. Now they go through
task_add! creating a proper Taskwarrior task with +work that gets
exported to worktime via taskwarrior::export.
Amp-Thread-ID: https://ampcode.com/threads/T-019c85e5-1074-70cc-a6a3-9f1b68abee3d
Co-authored-by: Amp <amp@ampcode.com>
|
|
Script to easily toggle Pi-hole DNS on/off for active network connections
using NetworkManager. Includes OS check to ensure it only runs on Fedora.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
|