- Export a QR code from Google Authenticator
- Open the Google Authenticator Android app
- Tap ☰ › Transfer accounts › Export accounts
- Laboriously deselect all accounts except the one you want to export
- Tap Next
- Decode the
otpauth-migration
URI from the QR code- Take a screenshot of the QR code on the screen by holding Power+Volume Down
- Open the screenshot in Google Photos or another app that can decode QR codes
📃 Edit using gpedit.msc
› Computer Configuration > Administrative Templates › Network > SSL Configuration Settings > SSL Cipher Suite Order.
🅰 These cipher suites will grant you an A+ ranking on Qualys SSL Labs SSL Server Test and testssl.sh.
⚡ Changes require a reboot to take effect.
🍦 Default cipher suite orders are listed on Microsoft Learn for Server 2019, [Server 2022](https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-wi
sudo mkdir -p /mnt/aegir | |
sudo mount -t cifs -o username=ben,uid=ben //aegir.aldaviva.com/Ben /mnt/aegir |
- Go to https://store.rg-adguard.net.
- Search for the HEVC Video Extensions from Device Manufacturer (
Microsoft.HEVCVideoExtension
) app by entering the following store URL.https://www.microsoft.com/en-us/p/hevc-video-extensions-from-device-manufacturer/9n4wgh0z6vhq
- Do not use the normal HEVC Video Extensions app URL, because that can't play HEVC videos in Windows Media Player for some inscrutable reason.
- Download the x64 appx file, or whatever your Windows architecture is.
- You may have to right click › Save Link As because the URL scheme is http, not https, if your browser is set to enforce HTTPS-only mode.
- If it tries to save as a filename that's just a GUID, you may copy the correct .appx filename and save it as that instead.
grep --include '*.js' --recursive --invert-match --line-regexp --count --exclude-dir='lib' --exclude-dir='thirdparty' --exclude-dir='vendor' '\s*' . | awk -F : '{ sum += $2 } END { print sum }' |
#!/bin/sh | |
SCRIPT_FILE=/root/dotnet-install.sh | |
INSTALLATION_DIR=/usr/share/dotnet | |
sudo rm -f $SCRIPT_FILE | |
echo Downloading installation script | |
sudo wget -q https://dot.net/v1/dotnet-install.sh -O $SCRIPT_FILE | |
sudo chmod o+x $SCRIPT_FILE |
import xapi from 'xapi'; | |
const cameraBrightnessCheckboxWidgetId = "camera_brightness_checkbox"; | |
const brightnessModeConfiguration = xapi.Config.Cameras.Camera["1"].Brightness.Mode; | |
brightnessModeConfiguration.on(renderBrightnessCheckbox); | |
render(); | |
async function render(){ | |
return renderBrightnessCheckbox(await brightnessModeConfiguration.get()); |
- Restore
- Advanced Mode
- Restore an entire volume
- Pick the Source snapshot and wait for it to finish matching
- For the Destination, pick any drive (it won't be overwritten) and create a new Subvolume in it (it's just a new subdirectory which will contain the restored files)
- Change the restore method to Restore Missing Files Only
- In Files Chosen, deselect the root drive so that there are 0 files chosen
- In Options → More Choices → Windows → System, ensure Restore System State is checked. I also disabled Restore Security Information because registry hive files have very restrictive permissions by default, which makes them harder to work with while restoring.
- Restore
- Go to
vivaldi://extensions/
- Temporarily enable Developer mode
- Drag and drop the CRX file into the Extensions page
- If the drop target does not work, try entering
vivaldi://extensions/
into the URL bar once again - Accept the confirmation prompt to install the extension
- Turn off Developer mode if it was off before you started