Monday, January 26, 2026

see who has signed an app on MacOS

Via https://www.youtube.com/watch?v=1UDUtO7LY0k

 Apple Menu > About this Mac > More info button > (Search for System Report on left-hand panel)

In System Report, click the System Report button, then Software > Applications on left-hand panel.

Scroll down to the app in question.

Our self-signed OpenSpace builds show up as "Unknown". Sheepit Mac client also shows "Unknown", so there is a chance that I can edit the manifest of the app to run a script on double-click in order to allow the Mac build to run with a double-click on the app file.

Saturday, January 24, 2026

to record a stereo track in Reaper

The default tracks are mono in Reaper. So, to record from a stereo source, as the LLM-powered search says, "create a new track and set it to record from a stereo input by selecting "Input Stereo/Input 1 + Input 2" in the track settings. Make sure to arm the track for recording and then start your audio source to capture the stereo sound."

how to install steamvr

 How to Download SteamVR (Step-by-Step Guide) - https://www.digitalcitizen.life/how-to-download-steam-vr/

SteamVR how to Record/Stream VR in full screen - https://www.youtube.com/watch?v=mk07OTBZZmc

would be useful to see the vr screen on the desktop.

SteamVR = hamburger menu > display VR screen

(Edit - these were for trying out various VR options with OpenSpace. Was not very successful.)

Tuesday, January 20, 2026

Azure Storage minimum TLS notification

We got an email "Action required: Update the minimum TLS version of your Azure Storage account to 1.2 or later by 3 February 2026".

Updated the affected storage accounts to TLS 1.2 as required below - they were just backups/files from 2018 - but then, got the message that the old backups can be deleted.

So I have deleted the three storage accounts and their contents now - last modified in 2018 (wordpress files), 2020 and 2021 (server logs). The wordpress files are being served from github pages instead now.

Saturday, January 17, 2026

allowing a non-root user to restart a service on Ubuntu Linux server

As described by ChatGPT, the preferred method was to create sudoers rules for the relevant service(s).

sudo visudo -f /etc/sudoers.d/ourapi

and inside that file, write

deployuser ALL=NOPASSWD: /usr/bin/systemctl restart ourapi.service, \
                         /usr/bin/systemctl start ourapi.service, \
                         /usr/bin/systemctl stop ourapi.service, \
                         /usr/bin/systemctl status ourapi.service

where ourapi.service is the service and deployuser is the non-root user.

Here, we double-checked the location of systemctl using 
which systemctl

After doing this, on logging on as deployuser, we can do things like

sudo systemctl start ourapi.service

where it will prompt for deployuser's password and then carry out the command.

But a caveat - we need to type exactly the same command as mentioned in the custom sudoers file - even equivalent commands like

sudo systemctl start ourapi

will not work unless we add that to the sudoers file also.

Friday, January 16, 2026

Azure supported VM sizes

Some Azure VM sizes become unavailable in some regions - case in point, after upgrading to 16 GB RAM for a day, I could not go back to the B-series 8 GB RAM VM in that Central India location (which had shown quota limited before I stopped it). Went back to a slightly more expensive D2asv4.

Edit - I had noted on 7th Jan that the size was Standard B2as v2 - vCPUs = 2, RAM = 8 GiB - and this was "insufficient quota" in Central India at the moment. It is Rs. 2998 per month. 

We then temporarily changed to D4as_v4 for a few hours, which is 7.5k per month. Stop the VM, change the size and then start the VM. And after the work was done, B2as v2 was not available, so we went to D2asv4 which is Rs. 3,778 per month.

some quirks of my KVM setup and Apple keyboard layout

Currently using this product, 

HDMI KVM Switch 4 Port - 

there were some quirks which I had to work around. 
  1. The Dell desktop running Linux Mint needed the USB keyboard to be mapped to it while booting, or else it would boot into Windows instead, even though the default boot sequence was set to Linux. Probably because the "fail-safe" boot option is different, when it beeps to indicate "No keyboard detected."
  2. The KVM switch defaults to number 4 on power up, not number 1. So, the Dell desktop needs to be connected to 4 and not 1, for booting up without having to hit the KVM switch.
  3. The Mac mini can boot OK without having the KVM mapped to it, but if we leave it on and not logged in, the login screen blanks and we can't get the screen to come back to life with the keyboard or mouse - we need to short-press the power button.
  4. The Mac mini default keyboard mapping was showing the Indian rupee symbol instead of the backtick symbol ` for the key to the left of 1 (perhaps after the upgrade to MacOS Tahoe). Since I need ` for markdown on github etc, changed the keyboard layout to "US" from "ABC India" which was the default. For this, following this,
    chose Apple menu > System Settings, then searched for Keyboard in the sidebar. There, Input sources > Edit button, the small + button at the bottom left to add Input sources. Quite easy to miss.

Friday, January 09, 2026

OpenSpace stopped working with undefined symbol: sqlite3_column_table_name

After some packages were updated / upgraded / autoremoved, openspace, which used to work fine, stopped working (on Linux Mint, using the Ubuntu 24.04 deb) with the error message

./OpenSpace: symbol lookup error: /lib/x86_64-linux-gnu/libgdal.so.34: undefined symbol: sqlite3_column_table_name

As suggested by ChatGPT, a reinstall of gdal and sqlite fixed it

sudo apt update
sudo apt install --reinstall libsqlite3-0 libsqlite3-dev libgdal34

https://github.com/hn-88/OpenSpace-AppImage/issues/86 has the full answer given by ChatGPT

Thursday, December 25, 2025

can't update a git submodule from github web interface

Short answer - not currently possible to do it from the web interface. Discussion about this is at https://github.com/orgs/community/discussions/15079#discussioncomment-9292900

The same terminal commands are needed as referenced in the earlier post, https://hnsws.blogspot.com/2025/04/change-submodule-for-git-repository.html

In my case, since I'm using github actions to build OpenSpace (which I don't have commit access to), what I can do is to just 

cd whichever/submodule/parentdirectory
rm -Rf submoduledirectory
git clone https://fresh.git.subdirectory.url submoduledirectory
cd submoduledirectory
git checkout whatever-branch

before the configure and build steps. Or, of course, if just updating the branch is needed, only the git checkout line would be needed.

Wednesday, December 24, 2025

test a Mac app to see if it has everything it needs packaged

One way would be to remove all homebrew packages, which would not be recommended - apparently this can be done like
brew remove --force $(brew list --formula) --ignore-dependencies
(not tested)

But an easier way is to just rename the homebrew directory, for eg on Apple Silicon Macs,
sudo mv /opt/homebrew /opt/homebrew-backup

(and after finishing the tests, rename it back.)

Sunday, December 21, 2025

adding a 'slow-send' functionality for Google Apps mailing list

I've updated the github repo Google-Apps-Script-mailing-list with a script file which does 'slow-send' for large mailing lists which can be sent over several days. 


Features - 
  • time-based trigger, programmatically created and removed
  • sends emails to each recipient individually, ramping up from sending
    24 emails per day (once an hour)
    to 96 (once every 15 minutes)
    to 144 (once every 10 minutes)
    to 288 emails per day (once every 5 minutes). This could be increased further, too.
  • uses GmailApp instead of MailApp, so we can have features like name (of sender), alias, reply-to, etc.

Saturday, December 20, 2025

uninstalling coderabbit

I had signed up for the free trial of coderabbit, but did not find the free plan's functionality of "summarizing pull requests" to be of much use. In order to "uninstall" it, followed the method at 

To revote authorization, on any github page after logging in, profile picture on top right > Settings > Integrations (on lhs) > Applications > Authorized GitHub Apps tab > click Revoke button for coderabbit.

Thursday, December 18, 2025

how to do a homebrew install - avidemux - example

The workflow of installing an app with homebrew, with avidemux as an example, from https://www.avidemux.org/smf/index.php?topic=9960.msg53651#msg53651

After installation an App will be created in your Applications folder and there is finally a audio output device available (you have to select it in the preferences of the App: Edit -> Preferences -> Audio -> AudioDevice: "CoreAudio").

(1) Install XCode and the Command Line Tools of XCode.

(2) Install Homebrew using the following Terminal command:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

(Perhaps these steps 1 & 2 are now superceded by the instructions at brew.sh)


(3) Install the latest version of Avidemux (nightly version, recommended) using the following Terminal command:

brew install --HEAD avidemux


(4) When the installation has finished, you are asked to make an alias of the app in your Application folder using this command:

brew linkapps

--------------------------------
If you want to update Avidemux to the latest nightly version:

brew rm -f avidemux
brew install --HEAD avidemux


If you want to install the "stable" version of Avidemux (Milestone):

brew install avidemux


set up file sharing on Mac

In order to move files from the internal drive of the Mac to an external NTFS drive, though Mounty does work, it has the issue that after we finish copying, unmouting the drive seems to make Finder unresponsive. Copying over the network to the Linux machine seems to be more hassle-free.

This has the how-to, and the official documentation is at

Apple menu > System Settings > (searched for Sharing) and enable "File Sharing" and in my case, allowed full disk access to my user.

Setting up smb share as it would help Windows also.

For setting up file sharing on Linux Mint - https://www.siberoloji.com/how-to-set-up-file-sharing-on-linux-mint/ (this seems to be an outdated post? It mentions 
sudo apt install samba samba-common system-config-samba
and we get
E: Unable to locate package system-config-samba 

So, not doing this right now.)

file transfer - Android to and from Mac

Macdroid for USB transfers, but only free for Android to Mac - 

JustBeamIt - works over wifi? but very slow, and link times out after 10 minutes. <1 Mbps. Suitable only for small files.

Filesharing - maybe if we connect both machines with wired connections (Android phone connected via USB to Linux box, and that to Mac with wired LAN), this might be fastest.

Wednesday, December 17, 2025

fix mp4 on mac

Solution according to Copilot / ChatGPT for unplayable mp4 video file when ffmpeg is aborted with Ctrl+C on Mac - (for a file encoded with hvc1 codec)

ffmpeg -i gputestfixed.mp4 
  -map 0 \
  -c copy \
  -movflags +faststart \
  -tag:v hvc1 \
  qtplayable.mp4

hardware accelerated encoding on mac


-c:v h264_videotoolbox \ # use Apple Silicon hardware acceleration

Just like
ffmpeg -h encoder=hevc_nvenc

(Trying on Linux running on a PC, 
Codec 'h264_videotoolbox' is not recognized by FFmpeg - will work only on Mac.)

libx265 itself went at 20+fps.

hevc_videotoolbox with warping went at 33 fps.

using py-ffmpeg-warp on Mac

Trying to run py-ffmpeg-warp on the Mac mini, ran into module not found errors.

ModuleNotFoundError: No module named '_tkinter' on mac
had the simple solution as suggested in stackoverflow,

brew install python-tk 

But other modules like scipy, pillow, etc could not be installed this way. ChatGPT suggested a virtual environment to avoid breakage.

1. Create a venv (once per project)
python3 -m venv ~/venvs/gui_env
(this path is just an example.)

2. Activate it
source ~/venvs/gui_env/bin/activate
prompt changes to something like:
(gui_env) %

3. Install the required packages
python -m pip install --upgrade pip
python -m pip install numpy scipy pillow

So, when I want to run py-ffmpeg-warp, I could run the following manually - 

source ~/venvs/gui_env/bin/activate
cd /home/path/to/py/script
python3 py-ffmpeg-warp.py

Or maybe even put those lines in a script as mentioned at https://linuxconfig.org/how-to-use-a-bash-script-to-run-your-python-scripts


ntfs write on MacOS

Current Apple Silicon Macs only have read-only NTFS access out of the box. In order to write to NTFS, we need to jump through some hoops. 


free option seems to be via terminal

brew install --cask macfuse

But
brew install ntfs-3g
ntfs-3g: Linux is required for this software.

Then, ChatGPT suggested

which has installation instructions lower down in that page. FUSE is a bit slow compared to the natively supported exFAT etc, but usually sufficient for our use since our low-cost NTFS external hard disks are also slow.