Thursday, January 29, 2026

pdfs - make smaller - split or join

There was a requirement to 
1. Make some pdfs smaller than 200 kB to enable uploading on a govt. website
2. Split some pages of the pdf into separate documents.

I used pdfsam - https://pdfsam.org/download-pdfsam-basic/ - to do the separation and merging, 
and the online tool
to compress the pdf size.

Monday, January 26, 2026

troubleshooting dot net server crash on AWS

First, checked if the AWS dashboard has any troubleshooting info for me. But "This user does not have permissions to view AWS Health events" - so I wouldn't get much help from it. Used my earlier post on investigating another Linux server crash as well as ChatGPT for going step by step.

ChatGPT suggested these,
dmesg -T | grep -i oom
journalctl -k | grep -i oom
which had no results. No out-of-memory events seen with those commands.

du -sh /var/log showed 4 GB of journal
journalctl --disk-usage
also showed nearly 4 GB of current and archived logs.

But the system had enough hard disk space left, 
df -h
showed around 30% remaining for the OS disk. 

Checking authentication log with
tail /var/log/auth.log -n4000 | more
found an entry
2026-01-25T14:38:58.186744+05:30 ip-10-0-0-73 systemd-logind[600]: New seat seat0.

But ChatGPT said that's normal, this is apparently done for each login.

Then, copy-pasting the lines just before the crash from syslog, using T13 since the crash was around 13:30

sudo cat  syslog | grep T13 > /home/theadminaccount/syslogsnippet.txt

ChatGPT immediately found the issue. 

ourtestapi.service: Scheduled restart job, restart counter is at 101203
and the reason the service was failing was
The application '/home/thepath/www/ourapi/ourtest.dll' does not exist.

Stopped the service, disabled it, and deleted it from /etc/systemd/system
sudo systemctl stop ourtestapi
sudo systemctl disable ourtestapi
sudo rm /etc/systemd/system/ourtestapi.service

Additionally, as ChatGPT suggested, set up some limits for journalctl's logging by editing
/etc/systemd/journald.conf
and uncommenting these lines and adding values for them - under
[Journal]

SystemMaxUse=900M
SystemKeepFree=1G

RuntimeMaxUse=100M

MaxRetentionSec=30day

and restarted,
sudo systemctl restart systemd-journald

Also vacuumed (removed archived logs) with
sudo journalctl --vacuum-size=3000M
(0 bytes removed - archives were smaller than that)
sudo journalctl --vacuum-size=300M
(500M of archives were removed.)

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.

Sunday, January 25, 2026

robot voice or walkie-talkie effect in Reaper

Walkie-talkie effect in Reaper - https://www.youtube.com/watch?v=PRQHC5EciDs - uses ReaEq and static noise. I just used ReaEq, no static.

vocoder for robotic voice - https://www.youtube.com/watch?v=FPzFzJMRUvw - but I didn't use this, used narrow bandpass equalization instead.

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.

Sunday, January 18, 2026

Issue Receiving Microsoft Authenticator Approval Notification

I had created a guest account on [our] tenant on portal.azure.com for an external email 
someoutlookemail@outlook.com
in order for developers to restart the dev VM if required. 

They have not signed on for a long time, I guess, and now they're getting this error message. 

Sign-in failed.

Error code: interaction_required

... This tenant has been blocked due to inactivity ... see aka.ms/TenantLifeCycle ...

Contacting Microsoft support did not seem to be an option due to having free non-profit credits and not having a paid plan. 

So, though my initial reaction was to direct them to this page,
the workaround was to give the devs restart permissions on the dot net custom services as in this post - https://hnsws.blogspot.com/2026/01/allowing-non-root-user-to-restart.html

Edit - now I see that they might have tried to log in to another tenant and not the current tenant? Because the aka.ms/TenantLifeCycle link talks about tenants, etc.

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

Tuesday, January 06, 2026

env vars on Mac

Did some searching on how to make OpenSpace on Mac pick up environment variables. 

Later edit: simple solution used later seems to be to just use a .command file which would launch OpenSpace in a terminal similar to using a .sh file on Linux. We can also put any required variable initialization there - like Start-OpenSpace.command which has
#!/bin/bash
cd "$(dirname "$0")"
./OpenSpace.app/Contents/MacOS/OpenSpace

Various methods tried - 

(has contradictory info? Mac official docs?)


To make a Mac app pick up environment variables when running in debug mode inside Xcode, you can set the environment variables in the scheme settings. Go to your project scheme, select "Edit Scheme," and under the "Run" section, add your environment variables in the "Environment Variables" section.

 Apple discuss.bitrise.io

From Google's AI-assisted search,

To set environment variables for a Mac app so they are available whether the application is launched by double-clicking or from the terminal, you can use several methods depending on your needs. The most reliable methods involve modifying the launch configuration of the app or using system-wide settings. [1, 2, 3, 4]

1. Using a shell script wrapper (Recommended for app distribution) [5]

The most robust approach, especially if you need specific variables bundled with the app itself, is to use a custom shell script as the actual executable, which then launches the real application.
  • Modify : Right-click your file and select "Show Package Contents". Navigate to the directory and open the file (using a text editor or Xcode).
  • Change Executable: Change the value for the key (CFBundleExecutable) from your app's actual binary name (e.g., ) to a new script name (e.g., ).
  • Create the script: In the directory, create the file specified in the (e.g., ).
  • Add variables and launch command: Add the following to the script, replacing and / with your own values: [7, 8, 9, 10, 11]
  • Make the script executable: Open your terminal, navigate to the directory, and run the command: . [12]
This method ensures the variables are set regardless of how the script is executed. [13]

2. Setting system-wide environment variables (For development or user's own machine)

If you just need these variables on your local machine and want them available for all applications launched in the standard macOS environment (terminal, double-click, etc.), you should add them to your shell configuration file.
  • Open a terminal: The file you need to edit depends on your default shell.
    • For Zsh (macOS default since Catalina): or
    • For Bash (older macOS default): or
  • Add variables: Add lines to the appropriate file:
  • Apply changes: Restart your terminal or run the source command (e.g., ) for the changes to take effect in the terminal sessions. For applications launched via double-click, you may need to log out and log back in to macOS. [14, 15, 16, 17, 18]
3. Using (Advanced, not recommended in modern macOS) [19]

In older versions of macOS, the file could be used for system-wide settings. This method is deprecated and not guaranteed to work reliably in modern macOS versions [1]. [20, 21, 22, 23]

Summary of methods
Method [24, 25, 26, 27, 28]Works from Terminal?Works from Double-click?Best For
Shell Script WrapperYesYesDistributing an app with specific variables
Shell ConfigurationYesYes (after login/restart)Development on your local machine


AI responses may include mistakes.