# TIL

> Today I Learned

Things I Learned today, found on [Simon's Blog](https://simonwillison.net/2020/Apr/20/self-rewriting-readme/), and repo can be found here: [Repo](https://github.com/jbranchaud/til)

***192 TILs so far.***

***

## Recently Added/Updated TILs

* [Clear Journald Logs](https://til.devjugal.com/linux/journalctl/clear-journalctl-logs)
* [Run Docker using Colima in MacBook](https://til.devjugal.com/macos/run-docker-using-colima)
* [Run MTR on MacOS without sudo](https://til.devjugal.com/macos/run-mtr-without-sudo)
* [Docker Exec (docker exec)](https://til.devjugal.com/docker/docker-exec)
* [Docker Publish Port](https://til.devjugal.com/docker/docker-publish-port)

***

## Categories

* [Linux](#linux)
* [Ansible](#ansible)
* [Caddy](#caddy-server)
* [Cheatsheets](#cheatsheets)
* [Docker](#docker)
* [Git](#git)
* [Github](#github)
* [Go](#go)
* [Learning Resources](#learning-resources)
* [MacOS](#macos)
* [Miscellaneous](#miscellaneous)
* [Python](#python)
* [Rclone](#rclone)
* [ReactJS](#reactjs)
* [Vagrant](#vagrant)
* [VSCode](#vscode)
* [WSL](#wsl)

***

## [Linux](https://til.devjugal.com/linux)

* [Add Swap Space To System](https://til.devjugal.com/linux/add-swap-space-to-system)
* [Add User To System](https://til.devjugal.com/linux/add-user-to-system)
* [Beautify Logs](https://til.devjugal.com/linux/beautify-logs)
* [Benchmark System](https://til.devjugal.com/linux/benchmark-system)
* [Ccze Scrolling Output](https://til.devjugal.com/linux/ccze-scrolling-output)
* [Change Default Shell](https://til.devjugal.com/linux/change-default-shell)
* [Change Hostname Of A system](https://til.devjugal.com/linux/change-hostname-of-a-system)
* [Changing User Password In Shell Script](https://til.devjugal.com/linux/changing-user-password-in-shell-script)
* [Check Group Of A User](https://til.devjugal.com/linux/check-group-of-a-user)
* [Check If A Package Is Installed Or Not](https://til.devjugal.com/linux/check-if-a-package-is-installed-or-not)
* [Check If A Port Is In Use](https://til.devjugal.com/linux/check-if-a-port-is-in-use)
* [Check If A User Exists](https://til.devjugal.com/linux/check-if-a-user-exists)
* [Check Open Port](https://til.devjugal.com/linux/check-open-port)
* [CMake Parallel Build with All Cores](https://til.devjugal.com/linux/cmake-parallel-build-with-all-cores)
* [Create Symbolic Links](https://til.devjugal.com/linux/create-symbolic-links)
* [Determine Which Process Is Using a File](https://til.devjugal.com/linux/determine-which-process-is-using-a-file)
* [Enable SSH Server](https://til.devjugal.com/linux/enable-ssh-server)
* [Fix Permission For Newly Created Partitions](https://til.devjugal.com/linux/fix-permission-for-newly-created-partitions)
* [Fix Windows And Linux Different Time Issue](https://til.devjugal.com/linux/fix-windows-and-linux-different-time-issue)
* [Get Arch Of System](https://til.devjugal.com/linux/get-arch-of-system)
* [Increase Limit of Inotify Watchers](https://til.devjugal.com/linux/increase-limit-of-inotify-watchers)
* [Install Latest NodeJS In Linux](https://til.devjugal.com/linux/install-latest-nodejs-in-linux)
* [Install Pavucontrol](https://til.devjugal.com/linux/install-pavucontrol)
* [Install Postman](https://til.devjugal.com/linux/install-postman)
* [Kill A Process In Linux](https://til.devjugal.com/linux/kill-a-process-in-linux)
* [Mount Partition On System Startup](https://til.devjugal.com/linux/mount-partition-on-system-startup)
* [OpenVPN Server](https://til.devjugal.com/linux/openvpn-server)
* [Ping over TCP](https://til.devjugal.com/linux/ping-over-tcp)
* [Pipe Password to Sudo](https://til.devjugal.com/linux/pipe-password-to-sudo)
* [Remove PPA From System](https://til.devjugal.com/linux/remove-ppa-from-system)
* [Remove User Password](https://til.devjugal.com/linux/remove-user-password)
* [Root Check in Scripts](https://til.devjugal.com/linux/root-check)
* [Run Go Binaries Without Installing Go](https://til.devjugal.com/linux/run-go-binaries-without-installing-go)
* [Set Different Time Zone](https://til.devjugal.com/linux/set-different-time-zone)
* [Show Disk Usage By Directories](https://til.devjugal.com/linux/show-disk-usage-by-directories)
* [Show Public IP](https://til.devjugal.com/linux/show-public-ip)
* [Show Size of Current Directory](https://til.devjugal.com/linux/show-size-of-current-directory)
* [System Ugprade](https://til.devjugal.com/linux/system-upgrade)
* [Tar Exclude Directories](https://til.devjugal.com/linux/tar-exclude-directories)
* [Tar Retain File Permissions](https://til.devjugal.com/linux/tar-retain-file-permissions)
* [Why All Users Can Write to /tmp](https://til.devjugal.com/linux/why-all-users-can-write-to-tmp)

### [Alpine Linux](https://til.devjugal.com/linux/alpine)

* [Adding User On Alpine](https://til.devjugal.com/linux/alpine/adding-user-on-alpine)
* [Chaning Timezone On Alpine](https://til.devjugal.com/linux/alpine/changing-timezone-on-alpine)
* [Installing Ansible On Alpine](https://til.devjugal.com/linux/alpine/installing-ansible-on-alpine)
* [Installing Dig On Alpine](https://til.devjugal.com/linux/alpine/installing-dig-on-alpine)
* [Installing Pip On Alpine](https://til.devjugal.com/linux/alpine/installing-pip-on-alpine)
* [Installing Python2 On Alpine](https://til.devjugal.com/linux/alpine/installing-python2-on-alpine)

### [Apt](https://til.devjugal.com/linux/apt)

* [APT Fix Broken Packages](https://til.devjugal.com/linux/apt/apt-fix-broken-packages)
* [APT Hold Packages From Upgrade](https://til.devjugal.com/linux/apt/apt-hold-packages-from-upgrades)

### [Arch Linux](https://til.devjugal.com/linux/arch)

* [Install Docker Compose](https://til.devjugal.com/linux/arch/install-docker-compose)
* [Install Docker](https://til.devjugal.com/linux/arch/install-docker)
* [Install Pip](https://til.devjugal.com/linux/arch/install-pip)

### [Bash](https://til.devjugal.com/linux/bash)

* [Bash List Only Directories](https://til.devjugal.com/linux/bash/bash-list-only-directories)
* [BashTOP Resource Monitor](https://til.devjugal.com/linux/bash/bashtop-resource-monitor)
* [Case Statements](https://til.devjugal.com/linux/bash/case-statements)
* [Concatenate Strings](https://til.devjugal.com/linux/bash/concatenate-strings)
* [Custom Shell Prompt](https://til.devjugal.com/linux/bash/custom-shell-prompt)
* [Length of String in Variable](https://til.devjugal.com/linux/bash/length-of-string-in-variable)
* [Test Regular Expression Against A String](https://til.devjugal.com/linux/bash/test-regular-expression-against-a-string)
* [Pass Arguments while Piping](https://til.devjugal.com/linux/bash/pass-arguments-while-piping)
* [Read Command Output In Reverse Order](https://til.devjugal.com/linux/bash/read-command-output-in-reverse-order)
* ["set -e" In Scripts](https://til.devjugal.com/linux/bash/set-e-in-scripts)
* [Set MacOS Like Terminal Font](https://til.devjugal.com/linux/bash/set-macos-like-terminal-font)
* [Set Unlimited Bash History](https://til.devjugal.com/linux/bash/set-unlimited-bash-history)
* [Shell Formatter](https://til.devjugal.com/linux/bash/shell-formatter)
* [Yes](https://til.devjugal.com/linux/bash/yes)

### [Curl](https://til.devjugal.com/linux/curl)

* [Fix Failed Writing Body While Piping](https://til.devjugal.com/linux/curl/fix-failed-writing-body-while-piping)
* [Use Proxy Server in cURL](https://til.devjugal.com/linux/curl/use-proxy-server-in-curl)

### [Fedora](https://til.devjugal.com/linux/fedora)

* [Fix Clear Command Not Found](https://til.devjugal.com/linux/fedora/fix-clear-command-not-found)
* [Install RPM Packages in Fedora](https://til.devjugal.com/linux/fedora/install-rpm-packages-in-fedora)

### [GPG](https://til.devjugal.com/linux/gpg)

* [Fix "Inappropriate ioctl for device" Error](https://til.devjugal.com/linux/gpg/fix-inappropriate-ioctl-for-device-error)
* [GPG Import Keys](https://til.devjugal.com/linux/gpg/gpg-import-keys)
* [GPG Test](https://til.devjugal.com/linux/gpg/gpg-test)
* [GPG Trust Key](https://til.devjugal.com/linux/gpg/gpg-trust-key)
* [GPG Verify Signature](https://til.devjugal.com/linux/gpg/gpg-verify-signature)

### [Grep](https://til.devjugal.com/linux/grep)

* [Grep Case Insensitive Search](https://til.devjugal.com/linux/grep/grep-case-insensitive-search)
* [Grep Count Occurance](https://til.devjugal.com/linux/grep/grep-count-matches)
* [Grep Exact Match](https://til.devjugal.com/linux/grep/grep-exact-match)
* [Grep Invert Search](https://til.devjugal.com/linux/grep/grep-invert-search)
* [Grep On Continous Stream](https://til.devjugal.com/linux/grep/grep-on-continous-stream)
* [Grep Quiet Mode](https://til.devjugal.com/linux/grep/grep-quiet-mode)
* [Grep Search For Multiple Strings](https://til.devjugal.com/linux/grep/grep-search-for-multiple-strings)
* [Remove Empty Lines](https://til.devjugal.com/linux/grep/remove-empty-lines)

### [Journalctl](https://til.devjugal.com/linux/journalctl)

* [Clear Journald Logs](https://til.devjugal.com/linux/journalctl/clear-journalctl-logs)
* [Get Errors in Running Services using Journalctl](https://til.devjugal.com/linux/journalctl/get-errors-in-running-services-using-journalctl)

### [Networking](https://til.devjugal.com/linux/networking)

* [Install Dig](https://til.devjugal.com/linux/networking/install-dig)
* [Install MTR](https://til.devjugal.com/linux/networking/install-mtr)
* [Set Metric For A Network Using nmcli](https://til.devjugal.com/linux/networking/set-metric-for-a-network-using-nmcli)
* [WireGuard Server](https://til.devjugal.com/linux/networking/wireguard-server)

### [Raspberry Pi](https://til.devjugal.com/linux/raspberry-pi)

* [Disable Swap Memory on SD Card](https://til.devjugal.com/linux/raspberry-pi/disable-swap-memory-on-sd-card)

### [SSH](https://til.devjugal.com/linux/ssh)

* [Reconnect To a Disconnected SSH Session](https://til.devjugal.com/linux/ssh/reconnect-to-a-disconnected-ssh-session)
* [Run A Local Script On Remote SSH Server](https://til.devjugal.com/linux/ssh/run-a-local-script-on-remote-ssh-server)
* [Screen](https://til.devjugal.com/linux/ssh/screen)
* [Tmux](https://til.devjugal.com/linux/ssh/tmux)

### [Systemd](https://til.devjugal.com/linux/systemd)

* [Create A Service](https://til.devjugal.com/linux/systemd/create-a-service)
* [Create A Systemd Timer](https://til.devjugal.com/linux/systemd/create-a-systemd-timer)
* [List Systemd Services Of A User](https://til.devjugal.com/linux/systemd/list-services-of-a-user)
* [Prevent Systemd Timers From Overlapping](https://til.devjugal.com/linux/systemd/prevent-systemd-timers-from-overlapping)
* [Watch Systemd Service Status](https://til.devjugal.com/linux/systemd/watch-systemd-service-status)

### [Tcpdump](https://til.devjugal.com/linux/tcpdump)

* [Capture ICMP Packets](https://til.devjugal.com/linux/tcpdump/capture-icmp-packets)
* [Capture Traffic By IP Or A Network](https://til.devjugal.com/linux/tcpdump/capture-traffic-by-an-ip-address-or-a-network)

### [Ubuntu Linux](https://til.devjugal.com/linux/ubuntu)

* [Get Clipboard History](https://til.devjugal.com/linux/ubuntu/get-clipboard-history)
* [Install HMAC256 On Ubuntu](https://til.devjugal.com/linux/ubuntu/install-hmac256-on-ubuntu)
* [Obtaining a List of Ubuntu Repository Mirror Servers](https://til.devjugal.com/linux/ubuntu/obtaining-a-list-of-ubuntu-repository-mirror-servers)

### [Wget](https://til.devjugal.com/linux/wget)

* [Basic Authentication](https://til.devjugal.com/linux/wget/basic-auth)

## [Ansible](https://til.devjugal.com/ansible)

* [Add Authorized SSH Key to User using Ansible](https://til.devjugal.com/ansible/add-ssh-key-to-user-using-ansible)
* [Ansible Add User to System](https://til.devjugal.com/ansible/add-user-to-system)
* [Ansible Configure Default Inventory File](https://til.devjugal.com/ansible/ansible-configure-default-inventory-file)
* [Ansible Disable Python Interpreter Warnings](https://til.devjugal.com/ansible/ansible-disable-python-interpreter-warnings)
* [Ansible Pause Playbook Execution](https://til.devjugal.com/ansible/ansible-pause-playbook-execution)
* [Ansible Test Connection](https://til.devjugal.com/ansible/ansible-test-connection)
* [Run Ansible Playbook Locally](https://til.devjugal.com/ansible/run-ansible-playbook-locally)
* [Setting a Password in Ansible Inventory File](https://til.devjugal.com/ansible/setting-a-password-in-ansible-inventory-file)

## [Caddy Server](https://til.devjugal.com/caddy)

* [Caddy Write Logs to a File](https://til.devjugal.com/caddy/caddy-write-logs-to-a-file)
* [Return Client IP Address As Plain Text](https://til.devjugal.com/caddy/return-client-ip-address-as-plain-text)

## [Cheatsheets](https://til.devjugal.com/cheatsheets)

* [Bash Cheatsheet](https://til.devjugal.com/cheatsheets/bash-cheatsheet)
* [Grep Cheatsheet](https://til.devjugal.com/cheatsheets/grep-cheatsheet)
* [Markdown Cheatsheet](https://til.devjugal.com/cheatsheets/markdown-cheatsheet)
* [MongoDB Cheatsheet](https://til.devjugal.com/cheatsheets/mongodb-cheatsheet)
* [Networking Cheatsheet](https://til.devjugal.com/cheatsheets/networking-cheatsheet)
* [Python Cheatsheet](https://til.devjugal.com/cheatsheets/python-cheatsheet)
* [ReactJS Cheatsheet](https://til.devjugal.com/cheatsheets/reactjs-cheatsheet)
* [Regex Cheatsheet](https://til.devjugal.com/cheatsheets/regex-cheatsheet)

## [Docker](https://til.devjugal.com/docker)

* [Docker Build Multiple Tags At Once](https://til.devjugal.com/docker/docker-build-multiple-tags-at-once)
* [Docker Exec](https://til.devjugal.com/docker/docker-exec)
* [Docker Publish Port](https://til.devjugal.com/docker/docker-publish-port)
* [Docker Run Without Cache](https://til.devjugal.com/docker/docker-run-without-cache)
* [Docker Run](https://til.devjugal.com/docker/docker-run)
* [Fix UFW Security Flaw](https://til.devjugal.com/docker/fix-ufw-security-flaw)
* [Install Docker](https://til.devjugal.com/docker/install-docker)
* [Install Ping in Docker](https://til.devjugal.com/docker/install-ping-in-docker)
* [Pass Build Time Arguments To Docker Build](https://til.devjugal.com/docker/pass-build-time-arguments-to-docker-build)
* [Remove Container When It Exits](https://til.devjugal.com/docker/remove-container-when-it-exits)
* [Remove Unused Data](https://til.devjugal.com/docker/remove-unused-data)
* [Run Docker without root](https://til.devjugal.com/docker/run-docker-without-root)
* [Setup Docker Buildx For Multi Arch Builds](https://til.devjugal.com/docker/setup-docker-buildx-for-multi-arch-builds)

## [Git](https://til.devjugal.com/git)

* [Change Last Commit Message](https://til.devjugal.com/git/change-last-commit-message)
* [Delete Tag](https://til.devjugal.com/git/delete-tag)
* [Get Tag Names in Git](https://til.devjugal.com/git/get-tag-names-in-git)
* [Save Credentials for Remotes in Git](https://til.devjugal.com/git/save-credentials-for-remotes)
* [Show Commit Only From One Author](https://til.devjugal.com/git/show-commit-only-from-one-author)
* [View Git Commit Changes](https://til.devjugal.com/git/view-git-commit-changes)

## [GitHub](https://til.devjugal.com/github)

### [GitHub Actions](https://til.devjugal.com/github/actions)

* [Setting An Environment Variable](https://til.devjugal.com/github/actions/setting-an-environment-variable)
* [Running Jobs in a Container](https://til.devjugal.com/github/actions/running-jobs-in-a-container)

## [Go](https://til.devjugal.com/go)

* [Convert String To Uppercase in Go](https://til.devjugal.com/go/convert-string-to-uppercase)
* [List All Possible GOOS And GOARCH](https://til.devjugal.com/go/list-all-possible-goos-and-goarch)
* [Print Go Version](https://til.devjugal.com/go/print-go-version)
* [Resolve Hostname To IP Address](https://til.devjugal.com/go/resolve-hostname-to-ip-address)
* [Trim Whitespaces From String](https://til.devjugal.com/go/trim-whitespaces-from-string)
* [Update Project Libraries To Latest](https://til.devjugal.com/go/update-project-libraries-to-latest)

## [Learning Resources](https://til.devjugal.com/learning-resources)

* [Algorithms](https://til.devjugal.com/learning-resources/algorithms)
* [DevOps](https://til.devjugal.com/learning-resources/devops)
* [Git](https://til.devjugal.com/learning-resources/git)
* [Linux](https://til.devjugal.com/learning-resources/linux)
* [Networking](https://til.devjugal.com/learning-resources/networking)
* [Programming Languages](https://til.devjugal.com/learning-resources/programming-languages)

## [MacOS](https://til.devjugal.com/macos)

* [Run Docker using Colima](https://til.devjugal.com/macos/run-docker-using-colima)
* [Run MTR without sudo](https://til.devjugal.com/macos/run-mtr-without-sudo)

## [Miscellaneous](https://til.devjugal.com/miscellaneous)

* [Good Reads](https://til.devjugal.com/miscellaneous/good-reads)
* [Must Read Sites](https://til.devjugal.com/miscellaneous/must-read-sites)
* [Useful Sites](https://til.devjugal.com/miscellaneous/useful-sites)

## [Python](https://til.devjugal.com/python)

* [Add An Item To Dictionary](https://til.devjugal.com/python/add-an-item-to-dictionary)
* [Check If A Key Exists In Dictionary](https://til.devjugal.com/python/check-if-a-key-exists-in-dictionary)
* [Check If a String is Empty](https://til.devjugal.com/python/check-if-a-string-is-empty)
* [Check Image Size](https://til.devjugal.com/python/check-image-size)
* [Check Python Version Programmatically](https://til.devjugal.com/python/check-python-version-programmatically)
* [Convert List To Tuple](https://til.devjugal.com/python/convert-list-to-tuple)
* [Execute Python Code in Command Shell](https://til.devjugal.com/python/execute-python-code-in-command-shell)
* [Formatted Strings](https://til.devjugal.com/python/formatted-strings)
* [Get IP Address From Hostname](https://til.devjugal.com/python/get-ip-address-from-hostname)
* [Limit Floating Point To Two Decimal Places](https://til.devjugal.com/python/limit-floating-point-to-two-decimal-places)
* [Measure Latency Using TCP](https://til.devjugal.com/python/measure-latency-using-tcp)
* [Pass List as Argument to a Function](https://til.devjugal.com/python/pass-list-as-argument-to-a-function)
* [Print Tabular Data](https://til.devjugal.com/python/print-tabular-data)
* [Python Padding Strings](https://til.devjugal.com/python/python-padding-strings)
* [Read A File Line By Line](https://til.devjugal.com/python/read-a-file-line-by-line)
* [Remove A File](https://til.devjugal.com/python/remove-a-file)
* [Remove Trailing Spaces And New Lines From A String](https://til.devjugal.com/python/remove-trailing-spaces-and-new-lines-from-a-string)
* [Run Python Script in Background](https://til.devjugal.com/python/run-python-script-in-background)
* [Split String with Delimiter](https://til.devjugal.com/python/split-string-with-delimiter)
* [Validate IP Address](https://til.devjugal.com/python/validate-ip-address)

### [Pipenv](https://til.devjugal.com/python/pipenv)

* [Install Dependencies System Wide](https://til.devjugal.com/python/pipenv/install-dependencies-system-wide)
* [Remove Virtualenv](https://til.devjugal.com/python/pipenv/remove-virtualenv)

## [Rclone](https://til.devjugal.com/rclone)

* [Limit Upload Download Speeds in Rclone](https://til.devjugal.com/rclone/limit-upload-download-speeds)

## [ReactJS](https://til.devjugal.com/reactjs)

* [ReactJS Resources](https://til.devjugal.com/reactjs/reactjs-resources)

## [Vagrant](https://til.devjugal.com/vagrant)

* [Increase RAM And CPU On Vagrant Machine](https://til.devjugal.com/vagrant/increase-ram-and-cpu-on-vagrant-machine)
* [Vagrant Specify Disk Size](https://til.devjugal.com/vagrant/vagrant-specify-disk-size)

## [VSCode](https://til.devjugal.com/vscode)

* [Fix Icons Not Displaying in Terminal](https://til.devjugal.com/vscode/fix-icons-not-displaying-in-terminal)
* [Install VS Code on a Linux Server](https://til.devjugal.com/vscode/install-vs-code-on-a-linux-server)

## [WSL](https://til.devjugal.com/wsl)

* [Convert WSL1 to WSL2](https://til.devjugal.com/wsl/convert-wsl1-to-wsl2)
* [Enable Systemd Support in WSL2](https://til.devjugal.com/wsl/enable-systemd-support-in-wsl2)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://til.devjugal.com/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
