{"id":19234438,"url":"https://github.com/andornaut/til","last_synced_at":"2026-03-15T11:02:53.967Z","repository":{"id":47295991,"uuid":"62395111","full_name":"andornaut/til","owner":"andornaut","description":"Today I Learned","archived":false,"fork":false,"pushed_at":"2024-11-03T19:56:35.000Z","size":516,"stargazers_count":11,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-03T20:28:40.427Z","etag":null,"topics":["documentation"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andornaut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-01T13:32:11.000Z","updated_at":"2024-11-03T19:56:39.000Z","dependencies_parsed_at":"2024-01-19T15:27:58.263Z","dependency_job_id":"dda765df-4de5-438f-b376-38ed30ae3643","html_url":"https://github.com/andornaut/til","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Ftil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Ftil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Ftil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andornaut%2Ftil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andornaut","download_url":"https://codeload.github.com/andornaut/til/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223849225,"owners_count":17213640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation"],"created_at":"2024-11-09T16:13:44.993Z","updated_at":"2026-03-15T11:02:53.668Z","avatar_url":"https://github.com/andornaut.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Today I Learned\n\n## Usage\n\n```\ngem install mdtoc rake\n# Update Markdown table of contents and push changes to the git repository\nrake\n```\n\n## Table of contents\n\n\u003c!-- mdtoc --\u003e\n  * [3D Printing](docs/3d-printing.md#3d-printing)\n    * [Communities](docs/3d-printing.md#communities)\n    * [Documentation and guides](docs/3d-printing.md#documentation-and-guides)\n    * [Hardware](docs/3d-printing.md#hardware)\n      * [BambuLab P1P](docs/3d-printing.md#bambulab-p1p)\n        * [Device discovery across subnets using pfSense](docs/3d-printing.md#device-discovery-across-subnets-using-pfsense)\n    * [Supplies](docs/3d-printing.md#supplies)\n    * [Software](docs/3d-printing.md#software)\n    * [Stores](docs/3d-printing.md#stores)\n      * [Filament](docs/3d-printing.md#filament)\n  * [Android](docs/android.md#android)\n    * [ADB Debugging](docs/android.md#adb-debugging)\n    * [Android TV / Google TV](docs/android.md#android-tv--google-tv)\n      * [Projectivy Launcher](docs/android.md#projectivy-launcher)\n        * [Installation and setup](docs/android.md#installation-and-setup)\n      * [YouTube app alternatives](docs/android.md#youtube-app-alternatives)\n        * [SmartTube](docs/android.md#smarttube)\n      * [TV Apps](docs/android.md#tv-apps)\n  * [Ansible](docs/ansible.md#ansible)\n    * [Debugging](docs/ansible.md#debugging)\n    * [Ansible Galaxy](docs/ansible.md#ansible-galaxy)\n  * [Apache](docs/apache.md#apache)\n    * [Describe virtualhost configuration](docs/apache.md#describe-virtualhost-configuration)\n  * [Artificial Intelligence (AI)](docs/artificial_intelligence.md#artificial-intelligence-ai)\n    * [Chat services](docs/artificial_intelligence.md#chat-services)\n    * [Platforms](docs/artificial_intelligence.md#platforms)\n    * [Software](docs/artificial_intelligence.md#software)\n      * [Software development tools](docs/artificial_intelligence.md#software-development-tools)\n    * [Articles and blogs](docs/artificial_intelligence.md#articles-and-blogs)\n    * [Books](docs/artificial_intelligence.md#books)\n    * [Courses](docs/artificial_intelligence.md#courses)\n    * [Videos](docs/artificial_intelligence.md#videos)\n  * [bash](docs/bash.md#bash)\n    * [Books](docs/bash.md#books)\n    * [Command combination operator](docs/bash.md#command-combination-operator)\n    * [Here Documents](docs/bash.md#here-documents)\n    * [Run on exit (trap)](docs/bash.md#run-on-exit-trap)\n  * [Chrome](docs/chrome.md#chrome)\n    * [Developer Tools](docs/chrome.md#developer-tools)\n      * [Troubleshooting](docs/chrome.md#troubleshooting)\n  * [Cryptography](docs/cryptography.md#cryptography)\n    * [Change homedir encryption password](docs/cryptography.md#change-homedir-encryption-password)\n    * [Encrypt storage device](docs/cryptography.md#encrypt-storage-device)\n    * [Generate CSR](docs/cryptography.md#generate-csr)\n  * [Cursor](docs/cursor.md#cursor)\n    * [Keyboard shortcuts](docs/cursor.md#keyboard-shortcuts)\n  * [Docker](docs/docker.md#docker)\n    * [List containers by image name](docs/docker.md#list-containers-by-image-name)\n    * [Print volumes](docs/docker.md#print-volumes)\n    * [Remove all volumes](docs/docker.md#remove-all-volumes)\n  * [Electronics](docs/electronics.md#electronics)\n    * [Documentation and guides](docs/electronics.md#documentation-and-guides)\n    * [Supplies](docs/electronics.md#supplies)\n    * [Tools](docs/electronics.md#tools)\n    * [Stores](docs/electronics.md#stores)\n      * [PCB fabrication](docs/electronics.md#pcb-fabrication)\n  * [Firefox](docs/firefox.md#firefox)\n    * [Misc. about:config settings](docs/firefox.md#misc-aboutconfig-settings)\n    * [Credit card autofill / autocomplete](docs/firefox.md#credit-card-autofill--autocomplete)\n    * [Right-click bug with BSPWM](docs/firefox.md#right-click-bug-with-bspwm)\n    * [Add-ons (browser extensions) in Firefox Nightly on Android](docs/firefox.md#add-ons-browser-extensions-in-firefox-nightly-on-android)\n    * [Bypass HSTS HTTPS/TLS certificate error](docs/firefox.md#bypass-hsts-httpstls-certificate-error)\n  * [Git](docs/git.md#git)\n    * [How-tos](docs/git.md#how-tos)\n      * [Initialize a repo](docs/git.md#initialize-a-repo)\n      * [Show commit log with branches and tags](docs/git.md#show-commit-log-with-branches-and-tags)\n      * [Create a patch](docs/git.md#create-a-patch)\n      * [Create a symbolic branch link](docs/git.md#create-a-symbolic-branch-link)\n      * [Fetch changes from origin/master without checking out master](docs/git.md#fetch-changes-from-originmaster-without-checking-out-master)\n      * [Clean-up local branches](docs/git.md#clean-up-local-branches)\n      * [Prune tracking branches](docs/git.md#prune-tracking-branches)\n      * [List merged branches on origin](docs/git.md#list-merged-branches-on-origin)\n      * [See commit history for the last two commits, including the diff](docs/git.md#see-commit-history-for-the-last-two-commits-including-the-diff)\n      * [Squash all but first commit](docs/git.md#squash-all-but-first-commit)\n      * [Pull a --force pushed branch](docs/git.md#pull-a---force-pushed-branch)\n      * [Change origin URL](docs/git.md#change-origin-url)\n      * [Project-specific configuration](docs/git.md#project-specific-configuration)\n      * [Convert a mercurial repo to git](docs/git.md#convert-a-mercurial-repo-to-git)\n      * [Ignore/unignore changes to a file](docs/git.md#ignoreunignore-changes-to-a-file)\n      * [Ignore lock files when doing `git diff`](docs/git.md#ignore-lock-files-when-doing-git-diff)\n      * [Delete tag](docs/git.md#delete-tag)\n      * [Undo commits](docs/git.md#undo-commits)\n      * [Get default branch name](docs/git.md#get-default-branch-name)\n      * [Set default branch](docs/git.md#set-default-branch)\n    * [Github](docs/git.md#github)\n      * [Collapsable section markdown](docs/git.md#collapsable-section-markdown)\n      * [Search](docs/git.md#search)\n      * [Tips](docs/git.md#tips)\n  * [Gnome](docs/gnome.md#gnome)\n    * [gnome-screensaver settings](docs/gnome.md#gnome-screensaver-settings)\n      * [Screensaver lockscreen background](docs/gnome.md#screensaver-lockscreen-background)\n    * [GTK](docs/gnome.md#gtk)\n    * [OSD](docs/gnome.md#osd)\n    * [Printing](docs/gnome.md#printing)\n  * [Go](docs/go.md#go)\n    * [Books](docs/go.md#books)\n    * [Vendor](docs/go.md#vendor)\n  * [Hardware](docs/hardware.md#hardware)\n    * [Hardware info](docs/hardware.md#hardware-info)\n    * [Firmware](docs/hardware.md#firmware)\n    * [System stability](docs/hardware.md#system-stability)\n    * [Webcam](docs/hardware.md#webcam)\n    * [Make USB audio device the default](docs/hardware.md#make-usb-audio-device-the-default)\n    * [Pulseaudio: set default headphone output](docs/hardware.md#pulseaudio-set-default-headphone-output)\n    * [Pulseaudio / ALSA: save pavucontrol configuration](docs/hardware.md#pulseaudio--alsa-save-pavucontrol-configuration)\n    * [Fan control](docs/hardware.md#fan-control)\n    * [Configure an HP printer](docs/hardware.md#configure-an-hp-printer)\n  * [iTerm2](docs/iterm2.md#iterm2)\n    * [Copy / Paste](docs/iterm2.md#copy--paste)\n    * [Unlimited scrollback buffer](docs/iterm2.md#unlimited-scrollback-buffer)\n    * [Avoid accidentally closing iterm2](docs/iterm2.md#avoid-accidentally-closing-iterm2)\n  * [JavaScript](docs/javascript.md#javascript)\n    * [Books](docs/javascript.md#books)\n    * [Articles](docs/javascript.md#articles)\n    * [Install NVM on Linux](docs/javascript.md#install-nvm-on-linux)\n    * [Install NVM on macOS](docs/javascript.md#install-nvm-on-macos)\n    * [Getting started](docs/javascript.md#getting-started)\n    * [React](docs/javascript.md#react)\n      * [Accessibility](docs/javascript.md#accessibility)\n      * [Performance](docs/javascript.md#performance)\n    * [Storybook](docs/javascript.md#storybook)\n    * [TypeScript](docs/javascript.md#typescript)\n  * [JetBrains IDEs](docs/jetbrains-ides.md#jetbrains-ides)\n    * [Colors](docs/jetbrains-ides.md#colors)\n    * [Fixes and Customisations](docs/jetbrains-ides.md#fixes-and-customisations)\n    * [Avoid error when editing files on Nix filesystems](docs/jetbrains-ides.md#avoid-error-when-editing-files-on-nix-filesystems)\n    * [External Tools](docs/jetbrains-ides.md#external-tools)\n    * [Shortcuts](docs/jetbrains-ides.md#shortcuts)\n  * [JSON](docs/json.md#json)\n    * [Formatting](docs/json.md#formatting)\n  * [Keyboards](docs/keyboards.md#keyboards)\n    * [Communities](docs/keyboards.md#communities)\n    * [Documentation and guides](docs/keyboards.md#documentation-and-guides)\n    * [Keyboards](docs/keyboards.md#keyboards)\n    * [Supplies](docs/keyboards.md#supplies)\n    * [Tools](docs/keyboards.md#tools)\n    * [Software](docs/keyboards.md#software)\n      * [Firmware](docs/keyboards.md#firmware)\n    * [Stores](docs/keyboards.md#stores)\n  * [Kubernetes](docs/kubernetes.md#kubernetes)\n    * [Minikube](docs/kubernetes.md#minikube)\n  * [Leadership](docs/leadership.md#leadership)\n    * [Books](docs/leadership.md#books)\n    * [Articles and guides](docs/leadership.md#articles-and-guides)\n    * [Courses](docs/leadership.md#courses)\n    * [Newsletters](docs/leadership.md#newsletters)\n    * [Metrics and analytics](docs/leadership.md#metrics-and-analytics)\n  * [macOS](docs/macos.md#macos)\n    * [Initial setup](docs/macos.md#initial-setup)\n    * [Keyboard Shortcuts](docs/macos.md#keyboard-shortcuts)\n    * [Customizations](docs/macos.md#customizations)\n      * [Reduce menu (top bar) transparency](docs/macos.md#reduce-menu-top-bar-transparency)\n      * [Dock](docs/macos.md#dock)\n      * [Disable \"Click wallpaper to reveal desktop\"](docs/macos.md#disable-click-wallpaper-to-reveal-desktop)\n      * [Prevent CMD+h from hiding windows](docs/macos.md#prevent-cmdh-from-hiding-windows)\n      * [Press CMD+Enter to open Alacritty](docs/macos.md#press-cmdenter-to-open-alacritty)\n    * [KVM](docs/macos.md#kvm)\n      * [Fix flakiness](docs/macos.md#fix-flakiness)\n    * [Troubleshooting](docs/macos.md#troubleshooting)\n      * [Increase maxfiles](docs/macos.md#increase-maxfiles)\n      * [Bypass macOS app installation restrictions](docs/macos.md#bypass-macos-app-installation-restrictions)\n      * [Fix OpenSSL errors](docs/macos.md#fix-openssl-errors)\n      * [Reinstall xcode](docs/macos.md#reinstall-xcode)\n      * [Remove RODE Connect virtual audio devices](docs/macos.md#remove-rode-connect-virtual-audio-devices)\n      * [Prevent Google Meet from changing the input device volume level](docs/macos.md#prevent-google-meet-from-changing-the-input-device-volume-level)\n      * [Restart audio system](docs/macos.md#restart-audio-system)\n      * [External monitor flickers](docs/macos.md#external-monitor-flickers)\n  * [Make](docs/make.md#make)\n    * [Pass all args to target](docs/make.md#pass-all-args-to-target)\n  * [Man](docs/man.md#man)\n    * [Section numbers](docs/man.md#section-numbers)\n    * [Searching for documentation](docs/man.md#searching-for-documentation)\n  * [MySQL](docs/mysql.md#mysql)\n    * [Show table constraints](docs/mysql.md#show-table-constraints)\n  * [Networking](docs/networking.md#networking)\n    * [Disable dnsmasq / systemd-resolved](docs/networking.md#disable-dnsmasq--systemd-resolved)\n    * [List DNS servers](docs/networking.md#list-dns-servers)\n    * [Show processes listening or connecting to the network](docs/networking.md#show-processes-listening-or-connecting-to-the-network)\n    * [HTTPS SSH tunnel (port forward through jump box)](docs/networking.md#https-ssh-tunnel-port-forward-through-jump-box)\n    * [nmcli](docs/networking.md#nmcli)\n    * [Test performance](docs/networking.md#test-performance)\n    * [Wifi](docs/networking.md#wifi)\n    * [Serial console](docs/networking.md#serial-console)\n  * [NPM](docs/npm.md#npm)\n    * [Install Node and NPM using NVM](docs/npm.md#install-node-and-npm-using-nvm)\n    * [Linking](docs/npm.md#linking)\n    * [Publishing](docs/npm.md#publishing)\n  * [pfSense](docs/pfsense.md#pfsense)\n    * [Increase swap](docs/pfsense.md#increase-swap)\n    * [Domain Overrides over OpenVPN](docs/pfsense.md#domain-overrides-over-openvpn)\n    * [VPN](docs/pfsense.md#vpn)\n      * [Remote access](docs/pfsense.md#remote-access)\n    * [Fix boot loop](docs/pfsense.md#fix-boot-loop)\n  * [Pixel Art](docs/pixel-art.md#pixel-art)\n    * [Aseprite (software)](docs/pixel-art.md#aseprite-software)\n      * [Keyboard shortcuts](docs/pixel-art.md#keyboard-shortcuts)\n    * [Learning and tutorials](docs/pixel-art.md#learning-and-tutorials)\n  * [PostgreSQL](docs/postgresql.md#postgresql)\n    * [Diff schemas](docs/postgresql.md#diff-schemas)\n    * [Query user password hash](docs/postgresql.md#query-user-password-hash)\n    * [Terminate all connections to a database](docs/postgresql.md#terminate-all-connections-to-a-database)\n    * [Show connections information](docs/postgresql.md#show-connections-information)\n    * [Log all queries](docs/postgresql.md#log-all-queries)\n  * [Python](docs/python.md#python)\n    * [Books](docs/python.md#books)\n    * [Newsletters](docs/python.md#newsletters)\n    * [Getting started](docs/python.md#getting-started)\n    * [Libraries and frameworks](docs/python.md#libraries-and-frameworks)\n    * [Tools](docs/python.md#tools)\n    * [How-tos](docs/python.md#how-tos)\n      * [Getting started with Poetry](docs/python.md#getting-started-with-poetry)\n      * [Develop a non-redistributable (no setup.py) local package using Pipenv](docs/python.md#develop-a-non-redistributable-no-setuppy-local-package-using-pipenv)\n      * [VS Code test discovery doesn't find any tests](docs/python.md#vs-code-test-discovery-doesnt-find-any-tests)\n  * [Rails](docs/rails.md#rails)\n    * [Common commands](docs/rails.md#common-commands)\n    * [Debugging](docs/rails.md#debugging)\n    * [Testing](docs/rails.md#testing)\n  * [Retro games](docs/retro-games.md#retro-games)\n    * [Hardware](docs/retro-games.md#hardware)\n      * [Anbernic RG35XX+ and RG40XXV](docs/retro-games.md#anbernic-rg35xx-and-rg40xxv)\n        * [MinUI](docs/retro-games.md#minui)\n        * [Mustard OS / muOS](docs/retro-games.md#mustard-os--muos)\n          * [Keyboard shortcuts](docs/retro-games.md#keyboard-shortcuts)\n      * [Analogue Pocket](docs/retro-games.md#analogue-pocket)\n      * [Miyoo Mini+](docs/retro-games.md#miyoo-mini)\n        * [OnionOS](docs/retro-games.md#onionos)\n          * [Boxart](docs/retro-games.md#boxart)\n          * [Enable FTP server](docs/retro-games.md#enable-ftp-server)\n          * [RetroArch Core BIOS files](docs/retro-games.md#retroarch-core-bios-files)\n      * [Retroid Pocket Mini](docs/retro-games.md#retroid-pocket-mini)\n        * [Rocknix custom firmware](docs/retro-games.md#rocknix-custom-firmware)\n          * [In-game keyboard shortcuts](docs/retro-games.md#in-game-keyboard-shortcuts)\n      * [Xbox Series](docs/retro-games.md#xbox-series)\n        * [USB disk drive permissions](docs/retro-games.md#usb-disk-drive-permissions)\n        * [Disable Kiosk Mode](docs/retro-games.md#disable-kiosk-mode)\n        * [Fix \"Failed to load content\" error](docs/retro-games.md#fix-failed-to-load-content-error)\n    * [RetroArch](docs/retro-games.md#retroarch)\n      * [Cache directory](docs/retro-games.md#cache-directory)\n      * [Cores](docs/retro-games.md#cores)\n      * [Drivers](docs/retro-games.md#drivers)\n      * [Rewind](docs/retro-games.md#rewind)\n        * [Configure the controller right-analog stick](docs/retro-games.md#configure-the-controller-right-analog-stick)\n        * [Disable rewind for cores that don't support it](docs/retro-games.md#disable-rewind-for-cores-that-dont-support-it)\n      * [Shaders](docs/retro-games.md#shaders)\n      * [Thumbnails](docs/retro-games.md#thumbnails)\n      * [Video drivers](docs/retro-games.md#video-drivers)\n    * [Games](docs/retro-games.md#games)\n      * [Atari - 7800 - May 1986](docs/retro-games.md#atari---7800---may-1986)\n      * [Atari - Jaguar - November 23, 1993](docs/retro-games.md#atari---jaguar---november-23-1993)\n      * [Atari - Lynx - September 1, 1989](docs/retro-games.md#atari---lynx---september-1-1989)\n      * [NEC - PC Engine CD - TurboGrafx-CD - December 4, 1988](docs/retro-games.md#nec---pc-engine-cd---turbografx-cd---december-4-1988)\n      * [NEC - PC Engine - TurboGrafx 16 (PCE, TG-16) - October 30, 1987](docs/retro-games.md#nec---pc-engine---turbografx-16-pce-tg-16---october-30-1987)\n      * [Nintendo - Game Boy (GB) - April 21, 1989](docs/retro-games.md#nintendo---game-boy-gb---april-21-1989)\n      * [Nintendo - Game Boy Advance (GBA) - March 21, 2001](docs/retro-games.md#nintendo---game-boy-advance-gba---march-21-2001)\n      * [Nintendo - Game Boy Color (GBC) - October 21, 1998](docs/retro-games.md#nintendo---game-boy-color-gbc---october-21-1998)\n      * [Nintendo - GameCube (GCN) - September 14, 2001](docs/retro-games.md#nintendo---gamecube-gcn---september-14-2001)\n      * [Nintendo - Nintendo 64 (N64) - June 23, 1996](docs/retro-games.md#nintendo---nintendo-64-n64---june-23-1996)\n      * [Nintendo - Nintendo DS (NDS) - November 21, 2004](docs/retro-games.md#nintendo---nintendo-ds-nds---november-21-2004)\n      * [Nintendo - Nintendo Entertainment System (FC, NES) - October 18, 1985](docs/retro-games.md#nintendo---nintendo-entertainment-system-fc-nes---october-18-1985)\n      * [Nintendo - Super Nintendo Entertainment System (SFC, SNES) - November 21, 1990](docs/retro-games.md#nintendo---super-nintendo-entertainment-system-sfc-snes---november-21-1990)\n      * [Pico-8 - April 2015](docs/retro-games.md#pico-8---april-2015)\n      * [Sega - 32X - November 21, 1994](docs/retro-games.md#sega---32x---november-21-1994)\n      * [Sega - Dreamcast (DC) - November 27, 1998](docs/retro-games.md#sega---dreamcast-dc---november-27-1998)\n      * [Sega - Game Gear (GG) - October 6, 1990](docs/retro-games.md#sega---game-gear-gg---october-6-1990)\n      * [Sega - Master System - Mark III (MS) - October 20, 1985](docs/retro-games.md#sega---master-system---mark-iii-ms---october-20-1985)\n      * [Sega - Mega-CD - Sega CD - December 12, 1991](docs/retro-games.md#sega---mega-cd---sega-cd---december-12-1991)\n      * [Sega - Mega Drive - Genesis (MD) - October 29, 1988](docs/retro-games.md#sega---mega-drive---genesis-md---october-29-1988)\n      * [Sega - Saturn (SS) - November 22, 1994](docs/retro-games.md#sega---saturn-ss---november-22-1994)\n      * [Sony - PlayStation (PSX) - December 3, 1994](docs/retro-games.md#sony---playstation-psx---december-3-1994)\n      * [Sony - PlayStation 2 (PS2) - March 4, 2000](docs/retro-games.md#sony---playstation-2-ps2---march-4-2000)\n      * [Sony - PlayStation Portable (PSP) - December 11, 2004](docs/retro-games.md#sony---playstation-portable-psp---december-11-2004)\n      * [The 3DO Company - 3DO - October 4, 1993](docs/retro-games.md#the-3do-company---3do---october-4-1993)\n    * [PC Games](docs/retro-games.md#pc-games)\n      * [Engine (re-)implementations](docs/retro-games.md#engine-re-implementations)\n      * [Port for Linux-based handhelds](docs/retro-games.md#port-for-linux-based-handhelds)\n        * [Running steam console in Flatpak (used to download some PortMaster port files)](docs/retro-games.md#running-steam-console-in-flatpak-used-to-download-some-portmaster-port-files)\n  * [Ruby](docs/ruby.md#ruby)\n    * [Books](docs/ruby.md#books)\n    * [Articles and blogs](docs/ruby.md#articles-and-blogs)\n    * [Newsletters](docs/ruby.md#newsletters)\n    * [Getting started](docs/ruby.md#getting-started)\n      * [Install Ruby on macOS](docs/ruby.md#install-ruby-on-macos)\n    * [Gems - Frameworks and libraries](docs/ruby.md#gems---frameworks-and-libraries)\n    * [IDEs](docs/ruby.md#ides)\n      * [Rubymine](docs/ruby.md#rubymine)\n      * [Visual Studio Code](docs/ruby.md#visual-studio-code)\n    * [Testing](docs/ruby.md#testing)\n    * [Gems and bundler - package managment and dependencies](docs/ruby.md#gems-and-bundler---package-managment-and-dependencies)\n    * [Debugging](docs/ruby.md#debugging)\n  * [Rust](docs/rust.md#rust)\n    * [Books](docs/rust.md#books)\n    * [Articles, blogs, and courses](docs/rust.md#articles-blogs-and-courses)\n    * [Getting started](docs/rust.md#getting-started)\n    * [Testing](docs/rust.md#testing)\n    * [Macros](docs/rust.md#macros)\n    * [Cargo](docs/rust.md#cargo)\n      * [Cargo.toml overriding direct and transitive dependencies](docs/rust.md#cargotoml-overriding-direct-and-transitive-dependencies)\n    * [Visual Studio Code](docs/rust.md#visual-studio-code)\n      * [Debugging extensions](docs/rust.md#debugging-extensions)\n      * [Tasks](docs/rust.md#tasks)\n    * [Crates - Frameworks and libraries](docs/rust.md#crates---frameworks-and-libraries)\n    * [Software](docs/rust.md#software)\n    * [Troubleshooting](docs/rust.md#troubleshooting)\n  * [Slack](docs/slack.md#slack)\n    * [Useful commands](docs/slack.md#useful-commands)\n  * [Software Engineering](docs/software-engineering.md#software-engineering)\n    * [Books](docs/software-engineering.md#books)\n      * [Architecture and design](docs/software-engineering.md#architecture-and-design)\n      * [Career](docs/software-engineering.md#career)\n      * [Computer science](docs/software-engineering.md#computer-science)\n      * [Operating systems and networking](docs/software-engineering.md#operating-systems-and-networking)\n    * [Articles and guides](docs/software-engineering.md#articles-and-guides)\n  * [SSH](docs/ssh.md#ssh)\n    * [Agent forwarding](docs/ssh.md#agent-forwarding)\n    * [Share connections](docs/ssh.md#share-connections)\n  * [systemd](docs/systemd.md#systemd)\n    * [systemctl commands](docs/systemd.md#systemctl-commands)\n    * [journalctl commands](docs/systemd.md#journalctl-commands)\n      * [Remove service](docs/systemd.md#remove-service)\n    * [User units](docs/systemd.md#user-units)\n      * [Lingering](docs/systemd.md#lingering)\n      * [Create a service to restart an always-on USB port](docs/systemd.md#create-a-service-to-restart-an-always-on-usb-port)\n  * [tmux](docs/tmux.md#tmux)\n    * [Books](docs/tmux.md#books)\n    * [Common commands](docs/tmux.md#common-commands)\n    * [Keyboard shortcuts](docs/tmux.md#keyboard-shortcuts)\n      * [Scrolling](docs/tmux.md#scrolling)\n    * [Usage](docs/tmux.md#usage)\n    * [Troubleshooting](docs/tmux.md#troubleshooting)\n  * [Ubuntu](docs/ubuntu.md#ubuntu)\n    * [Applications and packages](docs/ubuntu.md#applications-and-packages)\n      * [Desktop environment](docs/ubuntu.md#desktop-environment)\n      * [Monitoring and statistics commands](docs/ubuntu.md#monitoring-and-statistics-commands)\n      * [Search for installed applications](docs/ubuntu.md#search-for-installed-applications)\n      * [Search for Ubuntu packages by filename](docs/ubuntu.md#search-for-ubuntu-packages-by-filename)\n      * [Default applications](docs/ubuntu.md#default-applications)\n      * [Post-install cleanup / Uninstall packages](docs/ubuntu.md#post-install-cleanup--uninstall-packages)\n      * [Flatpak](docs/ubuntu.md#flatpak)\n    * [How-tos](docs/ubuntu.md#how-tos)\n      * [Upgrade Ubuntu from LTS to non-LTS](docs/ubuntu.md#upgrade-ubuntu-from-lts-to-non-lts)\n      * [Disable release upgrade notifications](docs/ubuntu.md#disable-release-upgrade-notifications)\n      * [Disable language switcher](docs/ubuntu.md#disable-language-switcher)\n      * [Magic SysRq Keys](docs/ubuntu.md#magic-sysrq-keys)\n      * [Mount a network share in fstab](docs/ubuntu.md#mount-a-network-share-in-fstab)\n      * [Preserve $PATH when using sudo](docs/ubuntu.md#preserve-path-when-using-sudo)\n      * [Increase inotify watches](docs/ubuntu.md#increase-inotify-watches)\n      * [Temporarily change the date/time using timedatectl](docs/ubuntu.md#temporarily-change-the-datetime-using-timedatectl)\n      * [Wipe storage device using hdparm](docs/ubuntu.md#wipe-storage-device-using-hdparm)\n      * [Use debconf](docs/ubuntu.md#use-debconf)\n      * [Use Netplan](docs/ubuntu.md#use-netplan)\n      * [Install and configure NetworkManager](docs/ubuntu.md#install-and-configure-networkmanager)\n      * [Allow adm users to shutdown and reboot the system](docs/ubuntu.md#allow-adm-users-to-shutdown-and-reboot-the-system)\n      * [Upgrade to the latest kernel](docs/ubuntu.md#upgrade-to-the-latest-kernel)\n        * [Install a HWE kernel](docs/ubuntu.md#install-a-hwe-kernel)\n        * [Install a pre-packaged mainline kernel](docs/ubuntu.md#install-a-pre-packaged-mainline-kernel)\n        * [Compile your own kernel](docs/ubuntu.md#compile-your-own-kernel)\n        * [Uninstall old kernel packages](docs/ubuntu.md#uninstall-old-kernel-packages)\n      * [Install kernel module (driver) for Realtek r8125 2.5G enternet](docs/ubuntu.md#install-kernel-module-driver-for-realtek-r8125-25g-enternet)\n      * [Install AMD GPU DKMS kernel module (driver)](docs/ubuntu.md#install-amd-gpu-dkms-kernel-module-driver)\n    * [Debugging and troubleshooting](docs/ubuntu.md#debugging-and-troubleshooting)\n      * [Fix broken grub install](docs/ubuntu.md#fix-broken-grub-install)\n      * [apt update 404](docs/ubuntu.md#apt-update-404)\n      * [Redshift.conf is not read when it is a symlink](docs/ubuntu.md#redshiftconf-is-not-read-when-it-is-a-symlink)\n      * [gnome-control-center segmentation fault on startup](docs/ubuntu.md#gnome-control-center-segmentation-fault-on-startup)\n      * [SSH RSA authentication is not working](docs/ubuntu.md#ssh-rsa-authentication-is-not-working)\n      * [Disable brltty which can interfere with serial-\u003eUSB adapters](docs/ubuntu.md#disable-brltty-which-can-interfere-with-serial-usb-adapters)\n  * [Vim](docs/vim.md#vim)\n    * [Books](docs/vim.md#books)\n    * [Commands](docs/vim.md#commands)\n    * [Tips](docs/vim.md#tips)\n    * [Key combinations](docs/vim.md#key-combinations)\n  * [Virtualbox](docs/virtualbox.md#virtualbox)\n    * [Troubleshooting](docs/virtualbox.md#troubleshooting)\n  * [Visual Studio Code](docs/vscode.md#visual-studio-code)\n    * [Keyboard shortcuts](docs/vscode.md#keyboard-shortcuts)\n    * [Add CLI executable on macOS](docs/vscode.md#add-cli-executable-on-macos)\n    * [Enable key repeating on macOS](docs/vscode.md#enable-key-repeating-on-macos)\n    * [Extensions](docs/vscode.md#extensions)\n      * [Language-specific extensions](docs/vscode.md#language-specific-extensions)\n  * [wget](docs/wget.md#wget)\n    * [Download recursively](docs/wget.md#download-recursively)\n  * [Woodworking](docs/woodworking.md#woodworking)\n    * [Wood (lumber)](docs/woodworking.md#wood-lumber)\n      * [Lumber yards](docs/woodworking.md#lumber-yards)\n      * [Cost of wood](docs/woodworking.md#cost-of-wood)\n  * [Xorg](docs/xorg.md#xorg)\n    * [xrandr](docs/xorg.md#xrandr)\n    * [xset](docs/xorg.md#xset)\n    * [Find the program that grabbed a key combination](docs/xorg.md#find-the-program-that-grabbed-a-key-combination)\n    * [Mouse cursor theme](docs/xorg.md#mouse-cursor-theme)\n\u003c!-- mdtoc-end --\u003e\n\nTable of contents generated using [mdtoc](https://github.com/andornaut/mdtoc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandornaut%2Ftil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandornaut%2Ftil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandornaut%2Ftil/lists"}