Mostly work related stuff which I would've entered into my "Log book". Instead of hosting it on an intranet site, outsourcing the hosting to blogger!
Sunday, September 28, 2025
Youtube 360 VR videos with a poor internet connection
internet problems with our old wifi router
Tuesday, September 23, 2025
Google Apps Script - get the email of signed in user
Monday, September 22, 2025
warping with ffmpeg - and some filter_complex examples
ffmpeg -i input.mp4 -i map_x_directp2.pgm -i map_y_directp2.pgm -i weight_alpha_mask.png -filter_complex " [0:v]scale=3840:2160[scaled]; [scaled][1:v][2:v]remap[remapped]; [3:v]format=gray,scale=3840:2160,colorchannelmixer=rr=1:gg=1:bb=1[mask_rgb]; [remapped][mask_rgb]blend=all_mode=multiply[out] " -map "[out]" -map 0:a -c:v hevc_nvenc -preset p5 \
-cq 23 -rc vbr -maxrate 15M -bufsize 26M \ -c:a aac -b:a 128k output.mp4
-t for the duration should come just before the filter_complex -
Thursday, September 18, 2025
dd command to create linux boot disk
via https://linuxvox.com/blog/create-usb-boot-linux-mint/
sudo dd if='/path/to/linuxmint-22-cinnamon-64bit.iso' of=/dev/sdd bs=4M status=progress
2810183680 bytes (2.8 GB, 2.6 GiB) copied, 140 s, 20.1 MB/s
So, on my machine, it took less than three minutes to create a 2.8 GB boot disk.
Wednesday, September 17, 2025
Fujitsu mini PC not booting
Edwiser Bridge Plugin for Moodle
Tuesday, September 16, 2025
the find command and mtime - finding disk space used by old files
Asked ChatGPT, "linux commandline to list total disk space used of all files created or modified inside a directory more than one year ago" and got the following -
You can do this with find + du or find + stat + awk.
Here’s a one-liner that lists the total disk space used by files in a directory older than one year:
find /path/to/dir -type f -mtime +365 -printf "%s\n" | \
awk '{sum+=$1} END {print sum/1024/1024 " MB"}'
Explanation:
-
find /path/to/dir→ search inside that directory. -
-type f→ only files. -
-mtime +365→ modified more than 365 days ago (roughly one year). -
-printf "%s\n"→ print file sizes in bytes. -
awk→ sums up sizes and prints total in MB (divide by1024/1024).
If you prefer human-readable output directly:
find /path/to/dir -type f -mtime +365 -print0 | du --files0-from=- -ch | tail -n1
This gives you a total in du’s human-readable format.
Asked ChatGPT, "tree view of files and directories larger than 1 GB from linux command line" and got the following -
You can combine find, du, and tree-style output to list only files/directories larger than 1 GB in a tree view. Here are a couple of approaches:
1. Using find with tree
find /path/to/search -type f -size +1G -print | tree --fromfile
-
find ... -size +1G→ finds files > 1 GB -
tree --fromfile→ prints a tree structure from the list
If you want directories too (based on contents size), use du instead (see below).
2. Using du for directories/files with sizes
du -h --threshold=1G --max-depth=3 /path/to/search | sort -h
-
--threshold=1G→ only show entries larger than 1 GB -
--max-depth=3→ how deep to go -
sort -h→ human-readable sort
This shows sizes and paths (not tree formatting, but size summary is clearer).
3. Pretty tree-like display with du
du -h --threshold=1G --max-depth=3 /path/to/search | sort -hr |
awk '{print $2}' | tree --fromfile
This gives you a tree structure of directories/files whose total size is ≥ 1 GB.
✅ If you want only the largest offenders (say top 20 big files/directories over 1 GB), you can do:
find /path/to/search -type f -size +1G -exec du -h {} + | sort -hr | head -20
For this, I had to sudo apt install tree
Sunday, September 14, 2025
started using github projects for task tracking
How to use github projects - a getting started video -
https://www.youtube.com/watch?v=oPQgFxHcjAw
Opened a private repo with issues, and with ChatGPT's help, linked it to a project. (Projects --> New Project in the github web UI for that repo). Automation to create a new issue worked after some tweaking - the github actions yml is copy-pasted below:
name: Instantiate Planetarium Show Task
on:
workflow_dispatch:
inputs:
show_title:
description: 'Title of the Planetarium Show'
required: true
deadline:
description: 'Deadline'
required: false
permissions:
issues: write
contents: read
jobs:
create_task_issue:
runs-on: ubuntu-latest
steps:
- name: Build issue content
run: |
echo "## Show Details" > issue.md
echo " " >> issue.md
echo "**Show Title:** " >> issue.md
echo "${{ github.event.inputs.show_title }}" >> issue.md
echo "" >> issue.md
echo "**Deadline:** " >> issue.md
echo "${{ github.event.inputs.deadline }}" >> issue.md
echo "" >> issue.md
echo "## Steps" >> issue.md
echo "" >> issue.md
echo "- [ ] Create script" >> issue.md
echo "- [ ] Create Hindi translation" >> issue.md
echo "- [ ] Create Telugu translation" >> issue.md
echo "- [ ] Review Hindi translation" >> issue.md
echo "- [ ] Review Telugu translation" >> issue.md
echo "- [ ] Record Hindi VO" >> issue.md
echo "- [ ] Record Telugu VO" >> issue.md
echo "- [ ] Edit Hindi VO" >> issue.md
echo "- [ ] Edit Telugu VO" >> issue.md
echo "- [ ] Warp ready for our theatre" >> issue.md
echo "- [ ] Eng-Hin-Tel audio" >> issue.md
echo "- [ ] Final audio mix" >> issue.md
echo "- [ ] Save backups" >> issue.md
echo "- [ ] Post on website" >> issue.md
echo "" >> issue.md
echo "---" >> issue.md
echo "" >> issue.md
echo "" >> issue.md
- name: Create issue from template
uses: peter-evans/create-issue-from-file@v4
with:
title: "[Show] ${{ github.event.inputs.show_title }}"
content-filepath: issue.md
token: ${{ secrets.GITHUB_TOKEN }}
labels: show,task
This script had to be re-written due to ChatGPT repeatedly using heredoc syntax which would clash with github's yml. I had to explicitly ask it to "Please use echo >> on each line, and no heredoc."
One more automation script to automatically move the items in the project from "TODO" to "In Progress" when any of the checkboxes above were clicked, failed. ChatGPT usually fails when the documentation is not complete and / or there are conflicting earlier documentation pages, as in this case. It would repeatedly suggest using
permissions: issues: write projects: write
when actually such a permission is no longer accepted by Github - it was part of "classic projects" - https://docs.github.com/en/enterprise-server@3.16/issues/planning-and-tracking-with-projects/creating-projects/migrating-from-projects-classic.
Apparently with projectsV2, the REST api does not work, only GraphQL API works. And it needs a classic personal access token to work. And the code generated by ChatGPT had errors which I could not get it to fix after multiple iterations over multiple days, so I just left updates to be done manually by clicking on the drop-down seen in the linked project for each issue. I could probably read the GraphQL API documentation and try again, but right now, not motivated to do so.
Tuesday, September 09, 2025
unable to use key-based auth
Monday, September 08, 2025
forcing 2FA for all cloudflare users
After a cloudflare advisory asking us to rotate credentials due to a "Compromise Impacting Cloudflare Salesforce Cases", I was asked to force 2FA for all cloudflare users.
https://developers.cloudflare.com/fundamentals/user-profiles/2fa/
The force-2FA option is available for super-admins in the cloudflare admin panel, at
Manage Account > Members > Members 2FA enforcement.
Saturday, September 06, 2025
getting referral ids for Moodle course enrolments
https://github.com/hn-88/moodle-plugin-local-referrals/tree/main/temporary%20python%20code
error_log('[local_referrals] function on_user_enrolled() ... ');
the referral id in $SESSION was being set to null when the user was logging in to our site.
https://github.com/hn-88/moodle-plugin-local-referrals/
https://github.com/hn-88/moodle-plugin-local-referrals/wiki
