$paths = @(
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*"
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
Get-ItemProperty $paths -ErrorAction SilentlyContinue |
Where-Object DisplayName |
Select-Object DisplayName, UninstallString, QuietUninstallString |
Format-ListFind Bitlocker recovery key ID in Linux
Using cryptsetup you can get ID (GUID) for every protector used. Look for VMK protected with recovery passphrase to get the recovery key.
sudo cryptsetup bitlkDump /dev/sdbX
Create exFAT partition in Linux
- Using
fdiskcreate partition with type Microsoft Basic Data - Format the partition
mkfs.exfat /dev/sdbX
Convert Windows 7 VM from VirtualBox to Hyper-V
I used qemu utils in WSL for the disk conversion:
sudo apt install qemu-utils
qemu-img convert -f vdi -O vhdx "Windows 7.vdi" "Windows 7.vhdx"
VM in Hyper-V has to be created as Generation 1 with disk in IDE controller. The problem is that VirtualBox uses SATA driver by default. So after VM started I got BSOD 0X0000007B. I had to load PCI driver after start of Windows. To do it I have used startup repair to get into the command prompt and executed the following commands. It assumes that the original Windows system disk is mounted as D:.
reg load HKLM\OFFLINE D:\Windows\System32\Config\SYSTEM
reg add "HKLM\OFFLINE\ControlSet001\Services\atapi" /v Start /t REG_DWORD /d 0 /f
reg add "HKLM\OFFLINE\ControlSet001\Services\intelide" /v Start /t REG_DWORD /d 0 /f
reg unload HKLM\OFFLINE
Cloudflare malware blocking DNS
They also have adult content blocking see Cloudflare blog for details.
- 1.1.1.2
- 1.0.0.2
- 2606:4700:4700::1112
- 2606:4700:4700::1002
MacOS lock / unlock times
You can find lock / unlock times in log using terminal. The script below searches for records in last 8 hours, but you may change it using --last parameter. See lockunlock for details.
log show --last 8h --style syslog \
--predicate 'process == "loginwindow"' | grep -iE "user is active, releasing the activity semaphore|going inactive, create activity semaphore"
Bitwarden SSH Agent from WSL
So you already use Bitwarden as OpenSSH agent in Windows. In WSL you may also use ssh.exe and ssh-add.exe as alternatives to ssh / ssh-add.
Just add the following aliases to your ~/.bashrc:
alias ssh='ssh.exe'
alias ssh-add='ssh-add.exe'
AdGuard Public DNS
Public DNS servers that can be used to block ads.
94.140.14.14
94.140.15.15
iRedMail and Dovecot fulltext search
I already have quite a large mailbox and I started running into timeout issues when searching in Roundcube mail. AI gave me some instructions for installing the dovecot-fts-xapian plugin, but I kept encountering various errors:
Warning: FTS Xapian: missing configuration - Using default values
Warning: FTS Xapian: Memory too low (text) 'std::bad_alloc'
The problem was incomplete configuration, but the AI didn’t know what to do. I found the correct instructions on GitHub.
(...)
protocols = imap pop3 sieve lmtp
mail_plugins = (...) fts fts_xapian
plugin {
fts = xapian
fts_xapian = verbose=0
fts_autoindex = yes
fts_enforced = yes
(...)
}
service indexer-worker {
# Increase vsz_limit to 2GB or above.
# Or 0 if you have rather large memory usable on your server, which is preferred for performance)
vsz_limit = 2G
# This one must be 0
process_limit = 0
}
(...)
Streaming music from Nextcloud
My music library is something I listen to daily, mainly while working. Years ago, I started with ownCloud Music, but I struggled with rating songs and then filtering them into playlists. I tried various players, whether based on Ampache or Subsonic, but none of them fully suited me.
Eventually, I ended up using Ample, but I ran into memory issues in the browser — during long playback sessions, the browser would start to lag and had trouble handling memory.
In the end, I created my own fork of Ample.fm, where I reworked many parts and resolved the memory issues. Another challenge was having a player for iOS, since background playback via HTML5 doesn’t work very well there — after some time, iOS simply stops the playback. So I also built my own native iOS app that works as a wrapper around Ample.fm.
So my recommendation would be:
- Install Nextcloud Music
- On Web / Desktop use Ample.fm
- On iOS use Ample.fm native app
- On Android Ample.fm can be installed as PWA