Skip to content

Useful Links

jdrch edited this page May 3, 2024 · 610 revisions

WARNING: The links on this page are not necessarily exhaustive with respect to each heading/topic

Academic Publishing

The state of academic publishing in 3 graphs, 6 trends, and 4 thoughts

ACPI

Advanced Configuration and Power Interface (ACPI) Specification

Advertising

Ban Targeted Advertising? An Empirical Investigation of the Consequences for App Development

Age-Gap Relationships

Age Gap Relationships: The Case for Marrying an Older Man

Amazon Kindle

How to send books to your Kindle — even if they’re not from Amazon

AMOLED

No, “AMOLED Black” Does NOT Save More Battery Than Dark Gray

Android

Developer Options

Minimum Width

px = dp(dpi/160)

dp = 160px/dpi

  • Use DisplayInfo to find dpi
  • px is display horizontal resolution

Kernel

State of Android on Mainline Kernels

Updates

Why ARM requires per-device kernel builds (and x86 doesn't)

LineageOS

How to determine upstream AOSP security patch status

Search the page at the following URL for “security string” :

https://github.com/LineageOS/android_build/blob/lineage-X.Y/core/version_defaults.mk

Where X.Y is the LineageOS version you’re using, e.g. 16.0. You should see a date which corresponds to an upstream Android patch date.

ANSYS

Benchmarks

CFD

Mechanical 2020 R1

Extreme Thermal Expansion Modeling in ANSYS Mechanical (Workbench)

  • How to resolve the "The shared license is current not available for this application" error

    • Click Start
    • Search for Server (or Client) ANSLIC_ADMIN Utility 2020 R1
    • Click Run as Administrator
    • In the window that pops up, click Set License Preferences for User YourUsername
    • Click the 2020 R1 radio button and click OK
    • Ensure all the tabs in the window that pops up have the Use a separate license for each application
    • Click Apply
    • Click OK
  • How to resolve Model cells opening as Read-Only

    • On the License Server:
      • Click Start
      • Click Ansys Inc License Manager
      • Right-click on SERVER ANSLIC_ADMIN
      • Click Run as Administrator
      • Go to Set Site Preferences -> Specify Product Order -> v12 and higher
      • Click Reset to Default
    • On the workstation, after the above has been completed:
      • Open Workbench
      • Go to Tools -> License Preferences
      • Click Reset to Default
      • Quit and reopen Workbench
  • Intro to ANSYS ACT for Mechanical

  • Get Cracking with ANSYS Workbench 19.2

Sherlock

Import formats supported

Antennas

AntennaSearch

Antisemitism

What is antisemitism?

Apple

Manuals, Specs, and Downloads

iOS

FS Bookmarks: A Shortcut to Reopen Files and Folders Directly in the Files App

Macs

Some Macs are getting fewer updates than they used to. Here’s why it’s a problem

macOS

macOS: Who's Behind This Network Connection?

Applications

How to find out whether an application targets Intel, iOS, etc.

  1. System Settings -> General -> About -> System Report -> Software -> Applications
  2. Look at the Kind column

Time Machine

Network Time Machine Backups: Moving on from the Time Capsule

apt

Aquantia

Drivers

Marvell acquired Aquantia in late 2019, and so drivers are now found at the Marvell website. Unfortunately, they haven't made it easy to find support or drivers for legacy Aquantia products. To do so:

  1. Find your Aquantia NIC part number
  2. Go here and filter by your OS and the part number from 1) above

You should find the driver download there. From what I've seen in various forum threads, the direct from the OEM driver update typically fixes link rate/stability issues.

ARM

How to ensure your board can boot generic kernels

Artificial Gravity

Artificial Intelligence

Backup

Best practices for data protection

Strategy

How many copies of data are needed

3-2-1

How to select HDD capacity

Buy the largest capacity HDDs per bay or slot you can afford. Unit storage cost isn't a bad metric, but as fleet size grows, footprint costs begin to dominate. For example, it's less expensive in the long run to have 1 machine with 4x16 TB HDDs than 4 machines with 4x4 TB HDDs each. See the Retiring Pods section here for a case study.

Baloo file indexer

How to disable:

$ balooctl suspend
$ balooctl disable

Bash

Beams

Fixed beam calculator

Benchmarks

CPUs

Passmark Software - CPU Benchmark Charts

GPUs

Passmark Software - Video Card (GPU) Benchmark Charts

BIOS

SOLUTION: Switch Windows 10 from RAID/IDE to AHCI operation. Note that you will also have to switch to AHCI in the BIOS.

Blood Pressure Monitors

Validate BP

BlueSky

How to create a feed

How to create hyperlinks

Use Markdown syntax in the deck.blue app.

Broadband

Fixed Broadband Deployment Data (FCC broadband map)

Brother

BSD

FreeBSD

How to enable sudo for a user

Append username ALL=(ALL) ALL to /etc/sudoers or /usr/local/etc/sudoers

How to set up multiple monitors on Dell OptiPlex 390 SFF

  • Connect HDMI monitor only
  • UEFI boot into the live USB
  • Click Xorg Setup
  • In the window that pops up, select Intel
  • Click OK
  • In the list that follows, select xf86-video-intel
  • Click OK
  • Complete installation process
  • Reboot
  • Connect VGA monitor
  • Reboot

The 2 monitors should now have an extended desktop. Use Meta -> Display Settings to configure them.

How to set up UEFI boot on Dell OptiPlex 390 SFF

  • UEFI boot into the live USB
  • Install FuryBSD
  • Enter BIOS
  • In the boot sequence, delete all other entries except the UEFI one, and ensure the UEFI radio button is selected
  • Click Add boot option
  • Browse down through each successive folder to find a file that looks like bootx64.efi and select it
  • Name the boot method FuryBSD
  • Click OK
  • Ensure FuryBSD is checked in the UEFI boot list
  • Click Apply
  • Click Exit

KDE

How to fix keyboard keys triggering the wrong things (such as End raising the Application Menu)

  • Add export XKB_DEFAULT_RULES=evdev to ~/.xprofile. If the file does not exist, create it first and then add the line
  • Reboot

Ports

Resilio Sync

How to set up

  1. Download the FreeBSD archive from the Resilio Sync website
  2. Extract the FreeBSD archive
  3. Place the rslsync binary in /bin
as root
  1. Start Resilio Sync by running cd /bin && sudo ./rslsync
  2. To run Resilio Sync at boot, add the following entry to /etc/crontab: @reboot root cd /bin && ./rslsync
as MyUsername
  1. Complete 1) of as root instructions
  2. Kill the rslsync process
  3. Copy .sync from /bin to ~/
  4. Change the permissions and ownership of the .sync copy to grant MyUsername rwx and ownership
  5. Start Resilio Sync by running cd /bin && ./rslsync --storage /absolute/path/to/home/.sync/folder (Source)
  6. To run Resilio Sync at boot, add the following entry to /etc/crontab: @reboot MyUsername cd /bin && ./rslsync --storage /absolute/path/to/home/.sync/folder

How to update

as MyUsername
  1. Download the new archive
  2. Extract the new archive
  3. Kill the rslsync process
  4. Overwrite /bin/rslsync with the binary extracted in 2)
  5. Run # chmod +x /bin/rslsync
  6. Run ./rslsync --storage /absolute/path/to/home/.sync/folder to start rslsync

Btrfs

Creation

Use default values

fstab

Tab separated:

UUID=Insert_UUID_Here /path/to/Btrfs/filessystem btrfs defaults,autodefrag 0 0

Scheduled scrubs

Should be performed monthly. Put the following in the root crontab:

@monthly btrfs scrub start /path/to/Btrfs/filessystem

Bufferbloat

A priori avoidance of Bufferbloat (buffering-induced latency spikes) in wireless routers and access points

Cable Internet Service

Effect of poor cabling on a service loop

Cars

Maintenance

Sales

Numbers

Prices

Average New-Vehicle Prices Continue to Surpass $40,000, Up More Than 5% in January 2021, According to Kelley Blue Book

Carbon Monoxide Detectors

Where should I place a carbon monoxide detector?

Certificates

Everything you should know about certificates and PKI but are too afraid to ask

CGNAT

How to check if the ISP uses Carrier-grade NAT (CGN)

chkrootkit

INFECTED: Possible Malicious Linux.Xor.DDoS installed false positive occurs whenever there is an executable in /tmp

clamav

How to configure

CLIs vs. GUIs

Most system administrators prefer firewall GUIs over CLIs

Cockpit

Color Pallettes

Computer Science

Ultimate physical limits to computation

Cost of Living

Cost of Living Calculator

COVID-19

cp command

  • Syntax
  • How to copy new scripts to Termux script folder on Android:

cp /sdcard/SourceFolder/Script.sh ~/.termux/tasker/Script.sh

e.g. cp /sdcard/Sync/Scripts/Shell/MoveFilesToSync.sh ~/.termux/tasker/MoveFilesToSync.sh

cron

How to Schedule and Automate tasks in Linux using Cron Jobs

crontab

How to edit the root crontab in Debian & openSUSE

Pretty much anything that requires sudo needs to be put here:

# -E crontab -e

CVEs

Search CVE List

dd

Full Metal Backup Using the dd Command

Debian

How to determine Debian version number

$ cat /etc/debian_version

Deep Learning

Deep Learning and Traditional Machine Learning: Choosing the Right Approach

Dell

BIOS updates using a USB stick

  1. Follow Steps 2.1 to 2.6 here
  2. Download the BIOS file into the top level of the bootable USB
  3. Follow these instructions

Desktop Environments

DHCP

DHCP Scope - This is an excellent, concise writeup of how DHCP works

digiKam

Nightly Windows 64-but builds - If you're having trouble installing the stable release on Windows, try this instead

Discrimination

A Discrimination Report Card

Disk Erasure

Windows

Eraser

Display Managers

How to Check if You are Using Wayland or Xorg?

Disqus

What HTML tags are allowed within comments

DNA

When Bad DNA Tests Lead to False Convictions

DNS

Dolby

Atmos

5.1 Virtual speaker setup

Downloading

How to search and download unpopular and old files on the internet

Electrical Engineering

A Plug-and-Play Microgrid for Rooftop Solar - An excellent description of the power quality/power factor issues inherent in renewable energy sources, and how to overcome them

Energy

Electricity Data Explorer

Ethernet

How to connect pre-wired Ethernet ports

Situation: you find out your home has been prewired for Ethernet. How do you use the ports to connect your devices?

  1. Each Ethernet wall port should be fed by an Ethernet cable run from the port to a central location. That central location, which we'll call a junction box, is usually in the basement, a closet, the attic, or in the garage. Locate the patch panel before you move in and place items that might make it harder to find
  2. Determine which Category (5, 5E, 6, 6A, 7, 7A, or 8) of cable you have. It is usually printed along the length of the cables. This will determine your network's top (theoretical) speed. Cat 5 is good for 100 Mb/s, 5E & above for 1 Gb/s, Cat 6A & above for 10 Gb/s, and Cat 8 for 20 Gb/s
  3. If the cables aren not yet terminated (read: if they do not end in a male or female Ethernet jack), terminate them with a patch panel. You can either DIY this or have a structured cabling contractor do it for you
  4. Use cable testing tools to match the cables at the patch panel with other terminations in the home
  5. Connect your router (or switch downstream of your router) to the patch panel ports that have matches in the previous step

If there is no junction box in step 1, then detach the wall plates from the wall and ensure they're being fed by Ethernet cable. If they aren't, then consider these options. If they are, then your cabling may be point-to-point. Locate all cable terminations in the home and test them round-robin with the testing tools from Step 4, making notes as you go along to match ports with each other. A network connection can be established between any 2 matching port pairs. If you're unable to find any matching pairs, then your cables are somewhere that's not a junction box. Scour all closets, attics, cupboards, basements, sheds, and garages. Use the tracing probe to help. If you still can't find where your cables are going, contact a structured cabling contractor to see what's going on.

Cables

Troubleshooting speed differences

Evernote

Move from Evernote to OneNote - The official Microsoft guide for this omits a lot of important details. This will fill you in.

EVs

exim4

Instant fix for Exim4 ‘mailing to remote domains not supported’ error

Fans

Effects of Grill Patterns on Fan Performance/Noise

Far Manager

Far 3 Keyboard Shortcuts

Fedora

How to su

Use sudo -i instead

How to change user emails

  • Run # nano /etc/aliases
  • Add emails to the above such as root: email@address.com
  • Run # dnf install exim
  • # newaliases

How to prevent laptop suspension when lid is closed

Do this and this

find

Syntax

Finite Element Analysis (FEA)

Finite Element Modeling (FEM)

FEM vs. FVM - A comparison of both methods for CFD applications

Firefox

fish shell

How to Install, Configure and Run the Fish Shell

Fitness

Fuchsia

Playing Around With The Fuchsia Operating System

Github

Creating releases

Google

App Passwords

Sign in with app passwords

Calendar

How to sync ALL shared Google Calendars to Windows 10 Calendar app

Messages

Messages Community

Pixel

Learn when you'll get software updates on Google Pixel phones

GORE-TEX

Footwear Care Instructions

GParted

Manual

GPG

Gpg4Win

Kleopatra

How to set the passphrase timer

HDDs

4Kn vs. 512e

4Kn and 512e drives have the same performance except for when they are used with 512n apps and OSes. In that case, 4Kn HDDs have no support, while 512e HDDs suffer a read-modify-write performance penalty relative to 512n HDDs.

In other words, a 512e HDD is a 4Kn HDD with backwards compatibility with 512n apps and OSes.

Per an anonymous Seagate engineering source, 512e HDDs outsell 4Kn HDDs by a wide margin among datacenter and hyperscale customers.

How to tell if an HDD is SMR

  • Windows: Trim should be listed under Features for the HDD in CrystalDiskInfo
  • Linux: TRIM should be listed under Commands/features: in the output of # hdparm -I /dev/DiskName

Noise

HDD noise dependent on mounting

Power consumption

How to calculate HDD max power consumption (you will need the HDD user manual to find the needed input data):

Method 1

This is the easiest method, but it is conservative and therefore may unrealistically overestimate power usage by adding the max powers for each voltage under different conditions that are unlikely to occur simultanously:

  1. Find the input voltages (usually 5 VDC and 12 VDC)
  2. Multiply each input voltage by its maximum corresponding current value
  3. Sum all the results of 2) above.

Example (p. 12, Table 6):

Max Power = (5 VDC *1.22 A) + (12 VDC *2.88 A) = 40.66 W

Method 2

  1. Same as above
  2. Multiple each input voltage by each listed corresponding current
  3. Sum the results of the above per condition. Using the previous example, sum the 5 VDC and 12 VDC powers (voltage x current) for each line in Table 6 separately
  4. Pick the highest result from Step 3

Recovery

  1. If the HDD is in an enclosure, shuck it and connect it to a SATA dock or (preferably) an internal SATA port. If the HDD is already internal, try it on or in a different PC.
  2. If the host OS detects the HDD as newly connected in 1) above, copy all the data off it. If the OS does not detect the drive, you'll need a professional data recovery service.

Seagate

SMR HDDs

HDHomeRun

How to fix the HDHomeRun app getting stuck on the Recorded screen or being unable to find any tuners

HDR

VESA DisplayHDR Certified Products

Homelab

Home Lab Beginners guide – Hardware

IEEE

Region 4 Google Map

Illumos

OpenIndiana

Backup

Which OpenIndiana directories to backup for bare metal recovery

Disk Upgrade

Use the ZFS mirroring capability:

# zpool attach -f ... ... ...

You could also use:

# zpool replace [-f] pool device [new_device]

Wait for the resilver to complete. The result will be a two-way mirror, in the case of the first command. Then, detach the small disk and try booting from the big one, again for the first command.

General documentation

# svccfg setnotify -g to-maintenance,to-offline,to-degraded mailto:MyEmailAddress@gmail.com

How to set up and customize Bash

Per this reference, interactive login shells (e.g. SSH) read from ~/.bash_profile, while interactive non-login shells (e.g. terminal window) read from ~/.bashrc. OpenIndiana lacks a default ~/.bash_profile, so create that first using touch .bash_profile.

Put the following in .bash_profile and then save it:

# Point .bash_profile to .bashrc if Bash is the current shell

# If running bash
if [ -n "$BASH_VERSION" ]; then
    # Include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

An example of .bashrc file is shown below:

#
# Define default prompt to <username>@<hostname>:<path><"($|#) ">
# and print '#' for user "root" and '$' for normal users.
#

# Standardized Bash prompt: https://github.com/jdrch/Hardware/issues/113
typeset +x PS1="\[\033[01;32m\]\u\[\033[01;34m\]@\h \[\033[35m\]\D{%F %T}\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

# Useful aliases
alias ls='ls --color=auto'
# alias dir='dir --color=auto'
# alias vdir='vdir --color=auto'

# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'

alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
export HISTSIZE=1000
export HISTFILESIZE=2000
export HISTTIMEFORMAT='%F %T '

shopt -s histappend

# Tell OS where to find packages
export PATH="/usr/gnu/bin:/usr/bin:/usr/sbin:/sbin:/opt/local/sbin:/opt/local/bin:$HOME/bin:$HOME/.local/bin:/opt/local/sbin:/opt/local/bin:$PATH"

# Tell OS where to find man pages
export MANPATH=/opt/local/man:/usr/gnu/share/man:/usr/share/man:/usr/X11/share/man:$MANPATH

# Set default editor
export EDITOR=nano

If your history isn't persistent across sessions, change ownership of .bash_history to yourself via # chown YourUsername .bash_history. Your history settings should follow this format (the last line should always be there):

export HISTSIZE=1000
export HISTFILESIZE=2000
export HISTTIMEFORMAT='%F %T '

shopt -s histappend

To customize your root shells, repeat the same process for /root/.bash_profile (create it if it doesn't exist) and /root/.bashrc.

Log out and login again (via SSH or locally) to force your changes to take effect and test them.

Packages and publishers (repositories)

crontab

Services

How to create and start a service: see Steps 10 - 14

ZFS

How to determine which drives a zpool is on

$ zpool status -v ZPoolName

Immigration

Immigrant and Native Consumption of Means‐​Tested Welfare and Entitlement Benefits in 2020

iMessage

Why Apple’s iMessage Is Winning: Teens Dread the Green Text Bubble

initramfs

Recreate initramfs: update-initramfs -u -k all

Interstellar Trade

Theory of Interstellar Trade

IoT

Why Smart TVs, x86-64, Raspberry Pis, and consoles are the only IoT devices allowed in my house

IPTV Smarters

Roku App

ISA

Jupyter

How to install

Linux

Instructions

BSD

FreeBSD

# pkg install py37-jupyterlab py37-graphviz py37-twisted

KDE

KSysGuard

Explanation of memory usage as displayed, and workaround

KeePass

How to update plugins

Latency

Layoffs

Mourning after Job Loss is Similar to Death of Relative

Lenovo

How to fix excessive reverse DNS lookups

Levi's

How to find a product style code

Linux

How to change file or folder permissions

# chown -R GrantedUser FileOrFolderPath
chmod 700 FileOrFolderPath

Logical Volume Management

Logical Volume Management Explained on Linux

Logitech

If the mouse wheel scroll functionality randomly stops working, disable smooth scrolling in Logitech Options

Lossless audio

ABX High Fidelity Test - Spotify HQ edition

LTO-8

mail

Memory

Bandwidth

Memory Bandwidth Napkin Math

Microsoft Excel

Try LAMBDA: Custom functions without code

How to batch delete Excel columns whose top cell does not contain a given string?

If given string = "GivenString":

  1. Press Alt + F11 keys simultaneously to open the Microsoft Visual Basic Application window
  2. In the Microsoft Visual Basic Application window, click Insert > Module
  3. Enter the following code into the Module window:
Sub DeleteSpecifcColumn()
    Dim lastCol As Long
    Dim i As Long
    Dim ws As Worksheet
    Dim strSearch As String
    
    'What worksheet should we use?
    Set ws = ActiveSheet
    'What are we looking for?
    strSearch = "GivenString"
    
    Application.ScreenUpdating = False
    
    With ws
        'How many columns are there?
        lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        
        'Cycle right to left since we're deleting stuff
        For i = lastCol To 1 Step -1
            If InStr(1, .Cells(1, i).Value, strSearch) > 0 Then
                'Keep it, do nothing
            Else
                .Cells(1, i).EntireColumn.Delete
            End If
        Next i
    End With
    
    Application.ScreenUpdating = True
End Sub
  1. Press the F5 key to run the code

Sources:

Microsoft OneNote

20XX

How to move Microsoft OneNote 2016 (& later?) notes from one PC to another

Microsoft Outlook

Microsoft Windows

Admin Center

NOTE: Admin Center works on FQDN environments only.

Maintenance

How to keep your Windows installation healthy over the years without ever having to reinstall

Do

  • Ensure the latest stable BIOS and driver releases are installed. You can subscribe to email or RSS notifications from many OEMs
  • Install updates as soon as they are offered for your PC
  • Ensure the latest application releases are installed
  • Be patient

Don't

  • Run unsupported configurations
  • Edit the Windows registry directly unless it's for a mission critical feature
  • Enable optional features (under Turn Windows Features On or Off) unless they are mission critical
  • Install beta drivers unless they are mission critical or they address a mission critical bug
  • Use Windows customizers
  • Force updates on machines for whom the update hasn't been offered via Microsoft Update
  • Delete your recovery partition
  • Multiboot. Aside from Boot Camp, Windows is neither developed nor tested for this
  • Be impatient, such as turning off your computer during an update unless it's stalled for literally 24 hours

Microsoft Update

Windows 10: How long will your next feature update take to install? Answer: 7 minutes

[[Pro for Workstations] and Enterprise] vs. Pro performance

The Windows and Multithreading Problem (A Must Read)

Current

Legacy

These are articles based on previous gen Windows releases. While they may not be 100% accurate with respect to current releases, they do a fairly good job of giving a general idea of how Storage Spaces behaves and functions internally.

Use this method if you're getting weird errors creating a storage pool in Control Panel's Storage Spaces GUI.

WARNING: Be careful when copying and pasting PowerShell code as sometimes important characters such as dashes or quotes get removed during the operation. Why? Your guess is as good as mine.

This example assumes you'll be using all poolable drives in your storage pool.

  1. Ensure the target drives are not part of a DrivePool or any similar volume spanning solution. If they are, remove them from the spanned volume or DrivePool
  2. Delete any volumes on the target drives in Windows Disk Management
  3. If it's not installed already, download and install the latest stable PowerShell release
  4. Run PowerShell as Administrator
  5. Find out if your target target drives can be pooled by running Get-PhysicalDisk and checking the Can Pool column value. If it's True, skip to Step 8. If it's False:
  6. Run Reset-PhysicalDisk -FriendlyName "PhysicalDiskn" for each drive, where n is the number in the Number column of Get-PhysicalDisk's output in Step 5
  7. Reboot the PC
  8. Run Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk | Where-Object CanPool -eq $True. The output should be the drives you reset in Step 6, e.g.
PS C:\Windows\System32> Get-StoragePool -IsPrimordial $true | Get-PhysicalDisk | Where-Object CanPool -eq $True

Number FriendlyName         SerialNumber MediaType CanPool OperationalStatus HealthStatus Usage           Size
------ ------------         ------------ --------- ------- ----------------- ------------ -----           ----
0      ST12000NM0007-2A1101 12345678     HDD       True    OK                Healthy      Auto-Select 10.91 TB
1      ST12000DM0007-2GR116 87654321     HDD       True    OK                Healthy      Auto-Select 10.91 TB
  1. Run Get-StorageSubsystem, e.g.
PS C:\Windows\System32>  Get-StorageSubSystem

FriendlyName                     HealthStatus OperationalStatus
------------                     ------------ -----------------
StorageSubsystemFriendlyNameString Healthy      OK
  1. Create the storage pool by running New-StoragePool -FriendlyName YourDesiredPoolName -StorageSubsystemFriendlyName 'StorageSubsystemFriendlyNameString' -PhysicalDisks (Get-PhysicalDisk -CanPool $True). Alternatively, if you want to use a specified subset of the eligible disks, run a command of the form New-StoragePool –FriendlyName YourDesiredCamelCasePoolName –StorageSubsystemFriendlyName 'StorageSubsystemFriendlyNameString' –PhysicalDisks (Get-PhysicalDisk PhysicalDiska, PhysicalDiskb, PhysicalDiskc), where a, b, and c have the same definiton as n in Step 6

Your storage pool should now be created, and you can create storage spaces on it using Control Panel's Storage Spaces GUI.

Reference (Good luck understanding it.)

How to create a Storage Space using PowerShell

The following will create a single column, 2-way mirror storage space that consumes all the available space on the pool using the same parameters as above:

  1. Open an elevated PowerShell prompt
  2. Run New-VirtualDisk -StoragePoolFriendlyName YourDesiredPoolName -FriendlyName YourDesiredVirtualDiskName -ResiliencySettingName Mirror -NumberOfDataCopies 2 -ProvisioningType Fixed -UseMaximumSize -NumberOfColumns 1 -Verbose

Note that -UseMaximumSize cannot be invoked with -ProvisioningType Thin spaces, as thin spaces dynamically expand in situ with storage demand.

Confirm that the virtual disk has been created as specified:

PS C:\Windows\System32> Get-VirtualDisk

FriendlyName ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus     Size FootprintOnPool StorageEfficiency
------------ --------------------- --------------------- ----------------- ------------     ---- --------------- -----------------
YourDesiredVirtualDiskName  Mirror                1                     OK                Healthy      10.91 TB        21.82 TB            50.00%

To create a volume on the storage space, simply open Disk Manager. You'll get a prompt to initialize the new disk you created. Initialize it as GPT and then proceed to create a volume on it as you would otherwise. You then need to enable ReFS integrity streams on the volume via Set-FileIntegrity H:\ -Enable $True. Do not forget this step as otherwise ReFS will not have data checksumming, which is pretty much the #1 reason to use it instead of NTFS.

Reference: Step By Step: How To Create A Two-Way Mirrored Storage Space via PowerShell? #StorageSpaces #PowerShell

How to extend an ReFS volume

The information available on this is sparse and a bit confusing, but basically it appears you can only expand volumes by 20% at time. This just means it will take multiple expansions when you add new disks. Threads on the subject:

How to upgrade a storage pool

See Option 2. I'd recommend you run this command after every semi annual Windows release, as ReFS/Storage Pool updates are delivered with Windows releases.

Word

How to Backup and Restore Unsaved Word Documents – Windows 10 Tips

MobaXterm

  • How to fix the Installer not responding error:
    • Open an elevated PowerShell prompt at the installer's location
    • Run the installer ./MobaXterm_installer_Version_Branch.msi
    • When the error message pops up again, click Retry
    • The installation should then proceed as normal

MoCA

Setup guide

nano

Getting started

Napp-it

Nautilus

  • How to fix Nautilus not starting: $ tracker3 reset --filesystem

Networking

NFS

For v4:

Debian Stable Server, FreeBSD RELEASE Client

Server

# apt install nfs-kernel-server

/etc/exports

Needs the following line:

/Path/To/Shared/Folder ClientIPAddressOrHostname(rw,async,no_subtree_check,no_root_squash)

If you need to export the same path to multiple clients, do this.

Restart the NFS server to load your changes: # systemctl restart nfs-kernel-server

Client

Terminal (Debian & Debian-based distros)

# mount -t nfs -o nfsv4 ServerIPAddress:/PathToServerShare /LocalMountPath

Terminal (openSUSE)

# mount -t nfs -o nfsvers=4 ServerIPAddress:/PathToServerShare /LocalMountPath

/etc/fstab

Needs the following line:

ServerIPAddress:/PathToServerShare /LocalMountPath nfs rw,nfsv4acls 0 0

OpenIndiana Hipster Server, Raspberry Pi OS Stable Client

Assuming rpool1 is pool to be shared:

Server

Terminal

Run the following command:

# zfs set sharenfs='rw=@ClientIPAddress/32,root=@ClientIPAddress/32' ZFS-Dataset-To-Be-Shared

There is no need to restart anything after running that command; the OS automatically applies the settings and publishes the new share with them.

See Set up an NFSv4 client heading at the above link.

# apt install nfs-common

Terminal

# mount -t nfs -o proto=tcp,port=2049 ServerIPAddress:/Path/To/Remote/Directory/On/Shared/ZFS/Dataset /Local/Mount/Path

/etc/fstab

Needs the following line:

ServerIPAddress:/Path/To/Remote/Directory/On/Shared/ZFS/Dataset /Local/Mount/Path nfs auto 0 0

nnn

Keyboard and mouse

NTFS

NTP

Combine the below to set up:

OBS Studio

How to set up background replacement with a physical green screen and a virtual camera that can be used in other apps

Open Source

OpenRC

My OpenRC advice is to interact with it only:

  1. For apps included in your distribution base
  2. For apps that explicitly support it
  3. Never otherwise

Converting between OpenRC and rc.d

General documentation (written for Gentoo Linux)

Operating System Market Share

openSUSE

How to determine current release

$ cat /etc/*release

OpenVPN

How to connect to the NETGEAR BR500 router using OpenVPN-GUI on Windows

Oracle

Solaris

The sudden death and eternal life of Solaris

Passkeys

Passkeys: A Shattered Dream

PC Shipments

2021

Q1

PC Shipments Show Continued Strength in Q1 2021 Despite Component Shortages and Logistics Issues, According to IDC

pfSense

Phones

Mobile

Smart

Why compact smartphones are dead

See here and here

Physics

dB: What is a decibel?

Pi-hole

pip for Python 3

Installation

Updating

Run:

pip3 install -U pip

Podcasts

Get podcasts RSS feed URLs

POSIX

Open System Software for Critical Applications (why POSIX is still relevant)

Postfix

Power over Ethernet

PowerShell

How to handle spaces in paths

Unlike Unix-like OSes, which enclose an entire path containing spaces in quotes, PowerShell syntax encloses only the folders with spaces, e.g. C:\'Program Files'\'Far Manager'\far.exe

How to set an alias for an executable

  1. Use this syntax
  2. Add the command to your PowerShell profile file (see customization instructions above for location thereof)
  3. Save the profile file
  4. Relaunch PowerShell. The alias should now work

Prepping

Disaster planning for regular folks

Press fit

Best Practices for Press-Fit Assembly

Printed Circuit Boards (PCBs)

Standoffs

How Pushout, Pull-through, Torque-out, etc. are determined

Privacy

Mozilla Privacy Buying Guide

PSUs

What is PSU Efficiency and Why is it Important?

ATX12VO Standard

Single Rail Power Supply Desktop Platform Form Factors ATX12VO (12 V Only)

Modular

Pushover

Psychology

Lonely people see the world differently, according to their brains

Wiki

Race

RAID

DRAID (Distributed RAID)

Distributed RAID was launched in 7.6.0 and allows a RAID5 or RAID6 array to be distributed over a larger set of drives. Previously if you created a RADI5 array over 8 drives, the data was striped across them with each stripe having a data strip on 7 of the drives and a parity strip on the 8th. In distributed RAID5 you specify the stripe width and the number of drives separately so you can still have 7 data strips protected by a parity strip but those 8 drives are selected from 64. On top of that we added distributed sparing, this is the idea that instead of having a spare sat on the side that isn't being used, each drive in the array gives up some of its capacity to make a spare.

Raspberry Pi

Which logs to check in case of crashes and other problems:

  • /var/log/messages
  • /var/log/kern.log

Raspberry Pi OS

Reddit

Markdown syntax

Reddit Enhancement Suite

How to set up Reddit Enhancement Suite on Firefox

ReFS

ReFS integrity streams

Resilio Sync

Android

Sync interface on Android

Linux

Resonance

What is a Vibration Resonance? (How to read a resonance plot)

restic

Right Wing

The genetic underpinnings of right-wing authoritarianism and social dominance orientation explain political attitudes beyond Big Five personality

Roku

Developer environment setup

Routers

SmallNetBuilder Router Charts

rpi-clone

If you get the already mounted or mount point busy. error:

(Assuming the target card is /dev/sda

  1. Create a new partitional table on the target card in GParted (this will format the target card)
  2. Ensure the card isn't mounted:
    1. $ df -l.
    2. If the card isn't listed, proceed to next step. If it is listed, unmount it via # umount /dev/sda
  3. Run rpi-clone

rsync

How to fix the rsync: set_acl: sys_acl_set_file(var/log/journal, ACL_TYPE_ACCESS): Operation not supported (95) error

S.M.A.R.T.

ATA S.M.A.R.T. attributes

Sales/Shipments

2020-09-01 - IDC - Desktop vs. Detachable Tablet vs. Notebook vs. Slate Tablet vs. Workstation

Samsung One UI

Keyboard Shortcuts

Press Meta + \ on a connected physical keyboard to bring up a comprehensive list

Scheduled Tasks

  • How to fix Task Start Failed & Launch Failure errors
    • Select the problematic task
    • Click Properties
    • In the Triggers tab, highlight the trigger
    • Click Edit...
    • In the Edit Trigger window, in the Begin the task: dropdown menu, select On a schedule
    • Select the One time radio button
    • In the Advanced Settings section, check the Repeat task every: box
    • In the Repeat task every: dropdown menu, select your preferred interval
    • In the for a duration of: dropdown menu, select Indefinitely
    • Check the Enabled box
    • Click OK
    • Click OK

Reference

Task names are both unique and persistent. What the latter means is that even if you delete a task, if you create another task with the same name it will inherit all the history (and behavior!!!) of the deleted task.

Often, the best fix for a malfunctioning task is to completely delete it, then recreate it from scratch directly on the target machine using a different unique task name.

Scripting (Linux)

Science fiction

Hard

Atomic Rockets

Sexual assault

Crying Rape

SharePoint

How to view all the SharePoint files you have access to

Signal transmission speeds

Velocity Factors for various media

Slavery

Slave Voyages

smartmontools

https://www.smartmontools.org/wiki/TocDoc

Smoke Alarms

Installing and maintaining smoke alarms

Snapper

Social Media

Toward a unified taxonomy of text-based social media use

Sony PlayStation 5

Runs FreeBSD 12

Space Colonization

What would it take to build a self-sustaining astronaut ecosystem on Mars?

Space Travel

Astrogation

The Astrogator's Guild

Landing

How to Land on a Planet Safely

Spaceflight

Realizing “2001: A Space Odyssey”: Piloted Spherical Torus Nuclear Fusion Propulsion (Discovery II design)

SpaceX

After Thursday’s flight, Starship is already the most revolutionary rocket ever built

Speed tests

  • This is the premier, most realistic internet connection diagnostic test online
  • Run this test on a wired connection to your router or modem, if you can. Tests run on wireless connections are inconclusive due to the basic physics limitations of Wi-Fi
  • If you were sent to this link from a discussion thread containing a problem you're having, please post your results (link on the results page) back in the thread. Doing so will help users on the thread diagnose your issues. The quality of the advice you receive is directly proportional to the quality of the information you provide

How to fix scores

≥ A: Nothing to worry about for Bufferbloat or Quality

In the downstream direction:

  1. Check your modem's specifications to ensure it can handle the connection speed you're paying for. If you're on a cable connection, you should have a DOCSIS 3.1 modem at the very least. If not, get a new modem
  2. Flash your existing router with DD-WRT, if supported
    • WARNING:
      • Although DD-WRT supports SQM, DD-WRT itself may not be stable or performant on your particular router
      • Flashing 3rd party firmware may cause other issues with your router. If you are not willing to work around, report, and debug these issues, do Option 2 below instead
      • DD-WRT builds may have been tested with your router's chipset, but not necessarily with your exact router model
  3. Get a new standalone wired (you will need a separate wireless AP if you choose this) or combo wired + wireless router with a faster CPU and more RAM. A router that supports later specs and/or higher speeds will typically fulfill this

Quality

Quality scores are typically indicative of internet connection signal strength at your modem (from your ISP). Unfortunately, most of the time this not something you can fix on your own. Contact your ISP, describing your symptoms, and tell them your modem (or ONT, if you have a fiber connection) may be experiencing low signal strength. They may either send a tech out for an onsite visit or otherwise fix the problem remotely via changes upstream of your modem. If you are indeed experiencing low signal strength and/or the issue is on their end most ISPs will not charge for the onsite visit.

A typical "good" signal strength for cable modems is somewhere between +/- 7 dB.

Still having problems despite OK scores

Try using a VPN with an endpoint in a major city nearby or in a major city near the datacenter of the service you're trying to use.

Probably the closest competitor to DSLreports' gold standard test. Unlike the latter, its Network Quality Score gives immediate, actionable results as opposed to jargon.

Speedtest.net

Good indicator of ping; some ISPs don't like it because they think it underestimates speed.

Speedtest Global Index: Good way of seeing how fast your connection is compared to the average in your country and worldwide. The further below your country or worldwide aveage your connection speed is, the more likely you are to have problems.

Automated, repeated testing over time. Probably good for investigating intermittent or episodic issues.

Your ISP

e.g. Mediacom Cable Speed Test

This is the speedtest your ISP is most likely to believe. They're not entirely wrong; the other tests have a lot of variables the ISP arguably has no control over. However, if your results here are frequently significantly lower than what you pay for, you certainly have grounds to contact your ISP about it.

SSDs

SSH

How to set up SSH server on Windows

  1. Follow these instructions
  2. Set the desired default shell. For PowerShell 7.x, run: New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force
  3. (Optional) If you want to perform tasks that require admin privileges, you'll need to ensure each SSH session automtically starts with those by following Step 1
  4. If you're not on a domain, SSH into the server using user@hostname or user@ip_address

STEM

Messages Matter Full Research Findings

Stress Analysis

Lug Analysis

Structured Cabling

Sublime Text

How to install packages

  1. Install Package Control
  2. Launch the command palette: Ctrl + Shift + P
  3. Search for Install
  4. Highlight Package Control: Install Package
  5. Press Enter
  6. Enter the name of the package you want to install
  7. Press Enter

The package will now install

sudo

How to run multiple sudo commands on the same line: sudo some-command && sudo some-other-command or sudo sh -c "some-command && some-other-command"

SyncBack

BETA versions

Synology

RAID Calculator

Sysmon

How to unistall Sysmon

systemd

Teamviewer

Linux

How to fix W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://linux.teamviewer.com/deb stable InRelease: The following signatures couldn't be verified because the public key is not available error

curl -L https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc | gpg --dearmor | sudo apt-key add -
# cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d
# apt update

Telegram

Ubuntu

  • Close the desktop app window
  • Delete ~/.local/share/TelegramDesktop/
  • Launch the desktop app again

Termux

How to set up on Android 14

  • Download & install F-Droid
  • Install Termux
  • The 1st time you open Termux, run chmod 400 $PREFIX/libexec/termux-am/am.apk
  • Run termux-setup-storage. If the command appears to not complete (the prompt doesn't return), exit and restart Termux
  • Check for the existence of the ~/storage folder. All the phone's internal common storage folders are mounted there

Termux:Tasker

Thunderbolt

USB 4.0 vs Thunderbolt 4.0: Differences and Similarities

TikTok

TikTok owner has strong First Amendment case against US ban, professors say

Time Travel

Young physicist ‘squares the numbers’ on time travel - An explanation of how to time travel without creating paradoxes

Time Zones

Conversion

World Time Buddy

Tires

Tire Test Results : In Search of the Fastest Tire and Wheel Width Combination

Todoist

Priority Levels

Any task that, if not accomplished, will, at the least:

Priority 1

  • cost more money than if accomplished
  • result in
    • missed deadline at work
    • data loss
    • service interruption
    • membership loss
    • security compromise
  • severely damage relationship with any of
    • family member
    • friend
    • close professional contact
  • negatively impact physical health

Priority 2

  • damage professional
    • reputation
    • brand
  • moderately damage relationship with any of
    • family member
    • friend
    • close professional contact
  • negatively impact mental health
  • result in
    • membership warning
    • performance compromise

Priority 3

  • slightly damage relationship with any of
    • family member
    • friend
    • close professional contact

Priority 4

All other things that do not fit into the above 3 categories

TPM

TPM 1.2, 2.0 and fTPM (firmware-based TPM) Information

tsch

Ubiquiti

UniFi

Controller

Cloud Key

Cloud Keys are easily corrupted by power failures

Ubuntu

unattended-upgrades

GitHub. Run sudo dpkg-reconfigure unattended-upgrades to enable it.

UNIX

unRAID

Calculator

Veeam

Agent for

Linux FREE

Windows FREE

User Guide

Backup & Replication

User Guide

vi

vi Editor in UNIX

How to exit

  1. Type :wq
  2. Hit Enter

vifm

Cheatsheet

vim

How to enable syntax highlighting

  • Press Esc
  • Type :syntax on
  • Press Enter

Visual Studio Code

With GitHub

  1. Install Visual Studio Code
  2. Install Git. Select all the default options if you're on a personal computer. If you're on an enterprise domain machine, select the Windows certificate option
  3. When committing code, ensure your commit has a message. Otherwise the commit will fail

VLC

Builds

Volume Shadow Copy

VPNs

Battle of the VPNs: Which one is fastest? (speed test)

Wi-Fi

Access Point

Placement

The Ars Technica semi-scientific guide to Wi-Fi Access Point placement

The above article also explains that mesh wireless systems underperform under heavy network load (one of the problems they are marketed as solving.) FTA:

Under heavy network load, cheap wired access points like Ubiquiti UAP-AC-Lites or TP-Link EAP-225v3s absolutely smoke even the best mesh kits, if the mesh kits are limited to Wi-Fi backhaul only.

Using a Router as an AP

The below also applies to using a router as the downstream half of a wirless bridge.

Do NOT do this, because most consumer routers become unreachable from the LAN when in AP mode. As such, if you want to change any setting at all, you have to factory reset the router and set up AP mode from scratch with your desired setting

Also, if router's Wi-Fi speed rating is less than AC1750, its performance in modern wireless environments is going to be awful.

DFS

SmallNetBuilder's Wi-Fi Dynamic Frequency Selection (DFS) FAQ

Performance

Deriving max theoretical Wi-Fi data rates from (near-)1st principles

Physical blocking

If you have multipe APs and want 1 of the APs to be exclusively (read: clients cannot see any other AP) acessible only within a defined space, you can Faraday Cage that space.

Range

Improvement

As a general rule, the fewer wireless client devices you have, the better your wireless performance will be.

The following are ways to improve your wireless range, from best to worst:

  1. Run Ethernet (copper or fiber) cable. Fiber is has a faster theoretical max speed, but is more brittle, requires more expensive gear, has very little client device support, cannot carry power, and has fewer capable installers. Copper cable generally has lower theoretical speeds, but has none of fiber's disadvantages. Generally speaking, unless you need network speeds in excess of 10 Gb/s, stick to Cat 6A or Cat 8 (<= 30 m runs only) copper cable. DO NOT USE Cat 7 AS IT IS NOT A TIA STANDARD. There are several ways to do run cable, all of which can be combined with each other:
    1. Run naked cable along the walls (in the seams between the wall and floor, floor and ceiling, or multiple walls). Use cord protectors to get the cable across foot traffic pathways, such as across doorways. OPTIONAL: use cable stables to attach the cable to the wall
      1. Advantages:
        1. Least expensive option
        2. Same performance as other more expensive options
        3. Easy reconfiguration
        4. If no cable staples are used, no alteration of building structure necessary (good for renters)
        5. No plenum rated cable required
      2. Disadvantages:
        1. Some people find exposed Ethernet cable and even cord protectors aesthetically unattractive
        2. Cables not in cord protectors or in unsecured cord protectors may be tripped over
        3. Cables not in cord protectors may be damaged by foot traffic, pets, children, etc.
        4. Extreme cable lengths may be needed for some runs, especially for larger homes
        5. High probability of cable tangles
        6. Secured non-velcro cord protectors need adhesive to stay put, which may damage flooring and carpeting
        7. Velcro cord protectors do not work on cut-pile carpet or non-carpet surfaces
        8. Wall alteration if cable staples are used
    2. Same as above, but adding cable raceways to hide the cable in the seams and route it around pathways
      1. Advantages:
        1. Some people find it more attractive than running naked cable
        2. Cables less likely to be damaged than if they were naked
        3. Same performance as more expensive options
        4. Lower probability of cable tangles
        5. No plenum rated cable required
        6. If no cable stables are used, no structural alteration to house needed if raceways aren't attached to the wall
      2. Disadvantages:
        1. Some people find raceways just as aesthetically unattractive as naked cable
        2. Raceways will be loose unless they are attached to the wall
        3. Attaching raceways to the wall might structurally alter the building (not good for renters)
        4. The combined thickness of cables on a given route may be too large for the raceway
        5. Wall alteration if cable staples are used
    3. Internally wire your home for Ethernet
      1. Advantages:
        1. Most aesthetically attractive option
        2. More direct route to clients means shorter runs
        3. Lowest probability of cable tangles
        4. Adds value to your home (if properly finished)
        5. Minimizes need for cord protectors and raceways
      2. Disadvantages
        1. Requires cutting into the walls of the building (not for renters)
        2. Most expensive option, even if you DIY
        3. Can reduce the value of your home if finished poorly (professional installation is a good investment)
        4. Needs special plenum-rated cable for runs routed through air ducting for fire safety
  2. Use MoCA adapters. If you don't have an RG6 coax outlet available where you need MoCA, then either run Ethernet cable (preferred), run RG6 coax cable, or see one of the following options. Any structural cabling or electrical contractor can run RG6 cable for you
  3. Get a better combo router or AP (see previous AP link)
  4. Use Powerline adapters. WARNING: Powerline adapters are very susceptible to noise and far less reliable than MoCA and Ethernet. If you do not have an electrical outlet nearby, then - in order of descending preference - run Ethernet cable, run coax cable, or install an electrical outlet. You will most likely need a licensed electrician for the outlet option for your own immediate safety and long term fire/electric shock safety of your home
  5. LAST RESORT: Deploy a wireless backhaul (communication between the satellite and base station) mesh network. WARNING: Mesh networks come with their own issues and are incredibly painful to troubleshoot

For the Ethernet, MoCA, and Powerline solutions: depending on your situation you can either connect the long range client via direct cabling or place a switch + standalone AP there. You can also use deploy a mesh network using the Ethernet, MoCA, or Powerline cabling for backhaul.

NEVER deploy a wireless extender; it will absolutely destroy your Wi-Fi performance.

Troubleshooting

Check for excessive DNS lookups from clients

WARNING: This is an advanced, involved troubleshooting method that involves network reconfiguration (setting Pi-hole as your network's DNS and DHCP server, then rebooting all your network clients for the setting to take effect).

  1. Install & setup Pi-hole (see above)
  2. In the Pi-hole dashboard, look for clients making an inordinate number of DNS lookups relative to their use. Check the query logs for such clients. Typically the lookups will be repetitive, such as multiple reverse lookups for another client on the LAN
  3. Use this method to find which process on each affected client is making the excessive lookups
  4. Disable the process found in the above step
  5. Repeat Step 2. If the excessive DNS queries are gone, you've solved the problem

Windows 11

How to install Windows 11 on almost any unsupported PC

Supported CPUS

Windows Subsystem for Linux (WSL)

Automatically update WSL distributions using the Windows Scheduler

winget

apt equivalents

  • # apt update = > winget source update --name winget or winget source update winget (Requires starting SSH session with admin privileges. Follow Step 1 to set that up)
  • # apt install packagename = > winget install -e -id packagename
  • # apt remove packagename = > winget remove -e -id packagename

How to find out where packages are installed

winget --info

WireGuard

Wireless Charging

Wirless charging uses 47% more power than wired charging

Workday

How to convert a Workday job listing login redirect to the actual job listing

Xbox

Zabbix

Documentation

ZFS

Deduplication

How to check whether a zpool would benefit from deduplication:

  • # zdb -S zpoolName
  • Check the value of the dedup output. Do not enable deduplication if dedup ≤ 2

How to clone an all-ZFS boot HDD

# zfs send -R replicates everything, including all properties you need to make the target system bootable

zsh

zfsnap

znapzend

zrep

zypper

  • If you get a not found on this medium error during # zypper dup, run # zypper ref and then run # zypper dup again
  • List all repositories: # zypper lr -E -e - |grep name=
  • man page
  • Remove a repository: zypper rr repo_name
  • Wiki

apt equivalents

  • # apt update = # zypper ref
  • # apt dist-upgrade = # zypper dup
  • # apt clean = # zypper clean
  • # apt autoremove = # zypper dup --remove-orphaned
Clone this wiki locally