{"id":31948136,"url":"https://github.com/gkhays/til","last_synced_at":"2025-10-14T11:52:59.617Z","repository":{"id":140740817,"uuid":"265990030","full_name":"gkhays/til","owner":"gkhays","description":"Today I Learned","archived":false,"fork":false,"pushed_at":"2025-10-03T16:44:40.000Z","size":1759,"stargazers_count":22,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-03T18:44:00.894Z","etag":null,"topics":["ansible","chrome","docker","javascript","microsoft-teams","ubuntu","vmware"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gkhays.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-22T01:28:36.000Z","updated_at":"2025-10-03T16:44:43.000Z","dependencies_parsed_at":"2023-12-18T18:54:23.924Z","dependency_job_id":"57dbc11e-4082-4ea9-b4f3-af43a4a69c2c","html_url":"https://github.com/gkhays/til","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gkhays/til","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkhays%2Ftil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkhays%2Ftil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkhays%2Ftil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkhays%2Ftil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gkhays","download_url":"https://codeload.github.com/gkhays/til/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gkhays%2Ftil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019038,"owners_count":26086518,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ansible","chrome","docker","javascript","microsoft-teams","ubuntu","vmware"],"created_at":"2025-10-14T11:52:55.019Z","updated_at":"2025-10-14T11:52:59.609Z","avatar_url":"https://github.com/gkhays.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# TIL\n\n\u003e Today I Learned\n\nMy \"Today I Learned\" (TIL) snippets, inspired by [jbranchaud/til](https://github.com/jbranchaud/til). I'd also like to point out [simonw/til](https://github.com/simonw/til).\n\n---\n\n### Categories\n\n-   [Ansible](#ansible)\n-   [Authentication](#authentication)\n-   [AWS](#aws)\n-   [Bash](#bash)\n-   [Chrome](#chrome)\n-   [Docker](#docker)\n-   [Dropwizard](#dropwizard)\n-   [Electron](#electron)\n-   [Git](#git)\n-   [GitHub](#github)\n-   [Helm](#helm)\n-   [H2](#h2)\n-   [HTML](#html)\n-   [HTTP](#http)\n-   [Java](#java)\n-   [JavaScript](#javascript)\n-   [Kubernetes](#k8s)\n-   [Linux](#linux)\n-   [Markdown](#markdown)\n-   [Maven](#maven)\n-   [Microsoft Teams](#microsoft-teams)\n-   [Obsidian](#obsidian)\n-   [PostgreSQL](#postgresql)\n-   [Postman](#postman)\n-   [PowerShell](#powershell)\n-   [Raspberry Pi](#raspberry-pi)\n-   [RDP](#rdp)\n-   [React](#react)\n-   [Rust](#rust)\n-   [SSH](#ssh)\n-   [Terraform](#terraform)\n-   [Terragrunt](#terragrunt)\n-   [Ubuntu](#ubuntu)\n-   [VIM](#vim)\n-   [VMware](#vmware)\n-   [VSCode](#vscode)\n-   [Wget](#wget)\n-   [Windows](#windows)\n-   [WSL](#wsl)\n\n---\n\n### Ansible\n\n-   [Ansible configuration directory should not be world writable](ansible/ansible-cfg.md)\n\n### Authentication\n\n-   [JSON Web Token (JWT) debugger](authentication/jwt-io.md)\n\n### AWS\n\n-   [List MFA Devices](aws/list-mfa.md)\n-   [List CIDR Blocks in Use](aws/list-cidr.md)\n-   [List EC2 Instances Filtered by AMI](aws/ec2-by-ami.md)\n-   [List RDS Cluster Snapshots](aws/list-snapshots.md)\n-   [Exit Assumed IAM Role](aws/exit-assumed.md)\n\n### Bash\n\n-   [Get Multiple Values from a Bash Function](bash/multiple-return-values.md)\n-   [Move Multiple Files](bash/move-multiple-files.md)\n-   [Expand Parameters](bash/expand-variables.md)\n\n### Chrome\n\n-   [Chrome Proxy](chrome/proxy.md)\n-   [How to Obtain a HAR Capture](chrome/har-capture.md)\n\n### Docker\n\n-   [Compose, Build, and Tag](docker/compose-build.md)\n-   [Docker container statistics](docker/stats.md)\n-   [The difference between CMD and ENTRYPOINT](docker/cmd-entrypoint.md)\n-   [Docker Compose Restart Policy](docker/docker-compose-restart.md)\n-   [Docker Health Check](docker/health-check.md)\n-   [Format Docker Inspect with jq](docker/format-jq.md)\n-   [Override the Entry Point](docker/entrypoint.md)\n-   [Volume Mounts on Windows](docker/windows-volume.md)\n-   [Docker Import](docker/import.md)\n-   [Extract File from Docker Image](docker/extract-file.md)\n\n### Dropwizard\n\n-   [Set the root path](dropwizard/root-path.md)\n-   [Shutdown options for Dropwizard](dropwizard/shutdown.md)\n-   [Database transactions in non-Jersey resources](dropwizard/unitofwork-proxy.md)\n-   [Environment variables](dropwizard/env-var.md)\n-   [Add Swagger Documentation to Dropwizard](dropwizard/swagger.md)\n-   [Change Log Level Using Admin Task](dropwizard/log-level.md)\n-   [Run a Background Process in Dropwizard](dropwizard/background-process.md)\n-   [Update Deprecated API Reference](dropwizard/deprecated-hibernate.md)\n\n### Electron\n\n-   [Exclude Files from an Electron Project](electron/exclude-files.md)\n\n### Git\n\n-   [Recover Deleted Branch](git/recover-deleted.md)\n-   [Bypass Git Hooks](git/skip-hooks.md)\n-   [Use Credential Manager Under WSL](git/cred-wsl.md)\n-   [Merge Individual Files](git/merge-single-file.md)\n-   [Checkout a Tag](git/checkout-tag.md)\n-   [Remove a Tag](git/remove-tag.md)\n-   [Modify Commit Message](git/modify-msg.md)\n-   [Rename a Tag](git/rename-tag.md)\n-   [Change Commit for Tag](git/change-tag.md)\n-   [Revert a Revert](git/revert-revert.md)\n-   [Find Commit by Git Hash](git/commit-hays.md)\n-   [Get the Commit Hash](git/retrieve-hash.md)\n-   [Locate Branches the Commit is On](git/commit-branch.md)\n-   [Signing Commits](git/commit-sig.md)\n-   [Remove Unused Branches](git/remove-unused-branches.md)\n-   [Remove from Git but Keep Local File](git/local-not-git.md)\n\n### GitHub\n\n-   [Create Empty Folder with Online Editor](github/empty-dir.md)\n-   [GitHub CLI](github/gh-cli.md)\n-   [Add an Image to a Wiki](github/wiki-img.md)\n-   [Filter API Results with JQ](github/api-jq.md)\n-   [GitHub Statistics in Your README](github-stats.md)\n\n### Golang\n\n-   [Repeat a String in Go](golang/repeat-string.md)\n-   [Reduce the Size of a Go Binary](golang/reduce-size.md)\n\n### Helm\n\n-   [Side Effect of the Ingress Host Entry](helm/host-entry.md)\n\n### H2\n\n-   [Import Data to H2 From PostgreSQL](h2/import-postgres.md)\n\n### HTML\n\n-   [Open a New Tab or Window from Form](new-tab.md)\n-   [Disable Autocomplete](disable-autocomplete.md)\n-   [Remove Indent from Lists](remove-indent.md)\n-   [HTML 5 Details Tag](html/html5-details.md)\n\n### HTTP\n\n-   [A simple HTTP Request \u0026 Response Service](http/httpbin.md)\n\n### Java\n\n-   [Execute a Java Class with JShell](java/jshell-run-class.md)\n-   [Use Jackson to deserialize an array of objects](java/jackson-deserialize-array.md)\n-   [Ignore null values with Jackson](java/jackson-ignore-null.md)\n-   [Add Classpath to Shaded JAR](java/shaded-classpath.md)\n-   [Import External Library in JShell](java/jshell-import-jar.md)\n-   [Hide Password in Command Line Argument using Argparse4j](java/noshow-pass.md)\n-   [Convert Hex to Base64](java/hex-to-base64.md)\n-   [Get URI information](java/uri-info.md)\n-   [Shebang! Run Single File Java as Script](java/java-shebang.md)\n-   [Display Contents of JAR Manifest](java/jar-manifest.md)\n-   [Check Certificates in a Keystore](java/keystore-certs.md)\n-   [Update Manifest inside JAR](java/update-manifest.md)\n-   [Java Console Application Spinner](java/console-spinner.md)\n-   [Java Simple Web Server](java/java-simple-webserver.md)\n\n### JavaScript\n\n-   [Reload a Page](javascript/reload-page.md)\n-   [Set JavaScript Console Log Level](javascript/console-log-level.md)\n-   [JavaScript Hoisting](javascript/why-let.md)\n\n### Kubernetes\n\n-   [Switch Context](k8s/context.md)\n-   [Copy Files from a Pod](k8s/kubectl-cp.md)\n-   [Obtain Previous Container's Crash Log](k8s/crash-log.md)\n-   [List Recently Deleted Pods](k8s/deleted-pods.md)\n\n### Linux\n\n-   [Type List Backwards](linux/list-backwards.md)\n-   [Get Version and Details of Package Using Zypper](linux/zypper-details.md)\n-   [TCP Command-Line Tool](linux/tcpserver.md)\n\n### Markdown\n\n-   [List in Markdown Table Cell](markdown/list-in-table.md)\n-   [Internal, Relative Links](markdown/internal-links.md)\n-   [Note and Warning Emphasis](markdown/note-warning.md)\n-   [Comments in Markdown](markdown/comments.md)\n\n### Maven\n\n-   [Maven Parallel Build](maven/parallel-build.md)\n-   [Special Characters in Maven Settings](maven/settings-special-char.md)\n-   [Set Execute Permission in Maven](maven/set-execute-permission.md)\n\n### Microsoft Teams\n\n-   [Navigate from the keyboard](msteams/navigate.md)\n-   [Export Wiki as PDF Document](msteams/export-wiki.md)\n\n### Obsidian\n\n-  [Callouts](obsidian/callouts.md)\n-  [Change Location of Images](obsidian/image-location.md)\n-  [How to Embed YouTube Videos](obsidian/youtube-videos.md)\n\n### PostgreSQL\n\n-   [Export tables to CSV](postgres/export-csv.md)\n-   [Change password](postgres/change-password.md)\n-   [Dump a Database from a Docker Container](postgres/dump-container.md)\n-   [PostgreSQL Is Ready Utility](postgres/pg-isready.md)\n-   [Analyze a PostgreSQL Database from the Command Line](postgres/analyze-db.md)\n\n### Postman\n\n-   [Load payload from file](postman/file-payload.md)\n-   [Show Request Headers](postman/request-headers.md)\n\n### PowerShell\n\n-   [Get Windows Capability](powershell/get-capability.md)\n-   [Scoop](powershell/scoop.md)\n-   [Equivalent of Which in PowerShell](powershell/which.md)\n-   [How to Dot Source in PowerShell](powershell/source.md)\n-   [Generate a GUID](powershell/guid.md)\n\n### Python\n\n-   [UV Python Package and Project Manager](python/uv.md)\n\n### Raspberry Pi\n\n-   [Play Sound from Unattended Session](pi/headless-sound.md)\n\n### RDP\n\n-   [Multiple Monitors with Remote Desktop Session](rdp/multi-monitor.md)\n\n### React\n\n-   [How to Use Comments in React](react/comments.md)\n\n### Rust\n\n-   [Isolating a Rust Application in a Docker Container](rust/rust-in-docker.md)\n\n### SSH\n\n-   [sshpass](ssh/sshpass.md)\n-   [ssh-copy-id](ssh/ssh-copy-id)\n-   [Show SSH Key Hashes](ssh/ssh-hash.md)\n-   [Remove Passphrase from SSH Key](ssh/remove-passphrase.md)\n\n### Terraform\n\n-   [Create a graph of Terraform resources](terraform/tform-graph.md)\n\n### Terragrunt\n\n-   [Fix empty tuple error](terragrunt/fix-empty-tuple.md)\n\n### Ubuntu\n\n-   [Recover root password on Ubuntu 18.04](ubuntu/recover-passwd.md)\n-   [Disable ipv6 in Ubuntu](ubuntu/disable-ipv6.md)\n-   [Troubleshoot reverse lookups on Ubuntu 18.04](ubuntu/dhcp-reverse.md)\n-   [Set Default Java Version](ubuntu/default-java.md)\n\n### Vim\n\n-   [Alternative to Escape Key](vim/esc-alt.md)\n\n### VMware\n\n-   [Force BIOS Setup](vmware/force-bios.md)\n\n## VSCode\n\n-   [Change VSCode Terminal Font](vscode/terminal-font.md)\n-   [Attach a Source JAR](vscode/source-jar.md)\n-   [Search and Replace Tabs in VSCode](vscode/replace-tabs.md)\n\n### Wget\n\n-   [Output JSON Response to Stdout](wget/get-stdout.md)\n\n### Windows\n\n-   [Retrieve Windows product key](windows/productkey.md)\n-   [Look up RGB codes with Microsoft Paint](windows/paint-dropper-tool.md)\n-   [Command Line Interface to Windows Credential Manager](windows/cred-cli.md)\n-   [Decode Base64 on the Command Line](windows/base64-decode.md)\n-   [Set up Powerline in Windows Terminal](windows/powerline-winterm.md)\n-   [Add Cmder to Windows Terminal](windows/cmder-winterm.md)\n-   [Applications Virtual Folder Shortcut](windows/apps-shortcut.md)\n-   [Using Windows 10 Snip \u0026 Sketch](windows/snip-sketch.md)\n-   [Add Git Bash to Windows Terminal](windows/gitbash-winterm.md)\n\n### WSL\n\n-   [Map WSL Disk as Network Drive](wsl/map-wsl-disk.md)\n-   [Browse WSL Files from Windows Explorer](wsl/browse-explorer.md)\n-   [Set Terminal Starting Directory to WSL Home](wsl/wsl-starting-dir.md)\n-   [Limit WSL 2 Memory](wsl/limit-memory.md)\n\n## Acknowledgements\n\nI \"borrowed\" this idea from [jbranchaud/til](https://github.com/jbranchaud/til).\n\n## License\n\n\u0026copy; 2020 Garve Hays\n\nThis repository is licensed under the MIT license. See `LICENSE` for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgkhays%2Ftil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgkhays%2Ftil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgkhays%2Ftil/lists"}