An open API service indexing awesome lists of open source software.

https://github.com/khanhicetea/today-i-learned

We constantly learn new things. This is a repo to share my learnings everyday.
https://github.com/khanhicetea/today-i-learned

learning-by-doing til today-i-learned

Last synced: 8 days ago
JSON representation

We constantly learn new things. This is a repo to share my learnings everyday.

Awesome Lists containing this project

README

          

# Today I Learned

We constantly learn new things. This is a repo to share those learnings.
TILs are short Markdown documents (a few sentences + example code) explaining
concepts, bits of syntax, commands, or tips we've recently learned.

Today-I-Learned (TIL) is inspired by Thoughbot, TIL is a repository for everyone to share what we have learn today.

This repo has a tool that help you to manage and write down what you learned in scientific way.

# What I learned

| Table of Contents | :point_down: |
| -------- | -------- |
| :new: **Top 5 recent learning** | |
| [Storing master key inside MacOS keychain](crypto/storing-master-key-inside-macos-keychain.md) [crypto] | 2024-10-14 |
| [Run multiple AlpineJS inits and effects on same element](javascript/run-multiple-alpinejs-inits-and-effects-on-same-element.md) [javascript] | 2024-09-30 |
| [HTML Form no trigger submit when press Enter key on input](web/html-form-no-trigger-submit-when-press-enter-key-on-input.md) [web] | 2024-09-19 |
| [Using Curl to check downtime and ssl cert expiration](bash/using-curl-to-check-downtime-and-ssl-cert-expiration.md) [bash] | 2024-08-10 |
| [PHP memory allocation when passing arguments into function](php/php-memory-allocation-when-passing-arguments-into-function.md) [php] | 2024-08-06 |
| :books: **ansible** [ 1 articles ] | |
| 1. [Run shell command in all hosts](ansible/Run-shell-command-in-all-hosts.md) | 2019-02-18 |
| :books: **apps-script** [ 1 articles ] | |
| 2. [Getting database from data range to array of enum objects](apps-script/getting-database-from-data-range-to-array-of-enum-objects.md) | 2023-09-03 |
| :books: **bash** [ 5 articles ] | |
| 3. [Simple HTTP server function helper](bash/simple-http-server-function-helper.md) | 2017-10-05 |
| 4. [Internal Variables in BASH](bash/Internal-Variables-in-BASH.md) | 2018-08-06 |
| 5. [Curl extract info from verbose mode](bash/Curl-extract-info-from-verbose-mode.md) | 2018-08-07 |
| 6. [Telnet server through SSL or TLS](bash/Telnet-server-through-SSL-or-TLS.md) | 2018-11-13 |
| 7. [Using Curl to check downtime and ssl cert expiration](bash/using-curl-to-check-downtime-and-ssl-cert-expiration.md) | 2024-08-10 |
| :books: **chrome-dev** [ 1 articles ] | |
| 8. [Debugging Chrome extension](chrome-dev/Debugging-Chrome-extension.md) | 2015-11-30 |
| :books: **crypto** [ 2 articles ] | |
| 9. [Encrypt and decrypt file using openssl command line](crypto/Encrypt-and-decrypt-file-using-openssl-command-line.md) | 2018-05-17 |
| 10. [Storing master key inside MacOS keychain](crypto/storing-master-key-inside-macos-keychain.md) | 2024-10-14 |
| :books: **css** [ 2 articles ] | |
| 11. [[Bug] Input lost focus after typing 1 character in Safari Browser](css/[Bug]-Input-lost-focus-after-typing-1-character-in-Safari-Browser.md) | 2018-11-01 |
| 12. [CSS Selector element has an attribute which contains some string](css/css-selector-element-has-an-attribute-which-contains-some-string.md) | 2023-08-21 |
| :books: **database** [ 4 articles ] | |
| 13. [Basics about sqlite command line tool](database/Basics-about-sqlite-command-line-tool.md) | 2017-04-25 |
| 14. [Indexes on multiple columns](database/indexes-on-multiple-columns.md) | 2017-10-13 |
| 15. [Use temporarily data from another database in SQLite](database/Using-temporary-another-database-in-SQLite.md) | 2018-05-02 |
| 16. [SQL Wildcard Characters](database/SQL-Wildcard-Characters.md) | 2018-07-26 |
| :books: **devops** [ 6 articles ] | |
| 17. [Checking forced push conflicts on source code in auto testing](devops/Checking-forced-push-conflicts-on-source-code-in-auto-testing.md) | 2017-05-19 |
| 18. [Free sandbox server for development](devops/Free-sandbox-server-for-development.md) | 2017-08-04 |
| 19. [Using netcat to wait a TCP service](devops/using-netcat-to-wait-a-tcp-service.md) | 2017-10-13 |
| 20. [Ansible running host pattern](devops/Ansible-running-host-pattern.md) | 2018-01-22 |
| 21. [Improve apt package manager speed by changing source list mirrors](devops/improve-apt-package-manager-speed-by-changi-by-changing-source-list-mirrors.md) | 2019-04-03 |
| 22. [Cronjob monitoring web endpoint and alert to Telegram](devops/cronjob-monitoring-web-endpoint-and-alert-to-telegram.md) | 2024-04-12 |
| :books: **docker** [ 9 articles ] | |
| 23. [Changing channel from alpha to stable will remove ALL DATA](docker/Changing-channel-from-alpha-to-stable-will-remove-ALL-DATA.md) | 2017-05-24 |
| 24. [Reducing docker image the right way](docker/Reducing-docker-image-the-right-way.md) | 2017-05-24 |
| 25. [Reduce init time MySQL docker image](docker/Reduce-init-time-MySQL-docker-image.md) | 2017-11-22 |
| 26. [Build lightweight image by using multistage](docker/Build-lightweight-image-by-using-multistage.md) | 2018-02-23 |
| 27. [SSH to docker host in Docker for Mac](docker/SSH-to-docker-host-in-Docker-for-Mac.md) | 2018-12-03 |
| 28. [Can not run downloaded binary inside alpine linux because of missing shared libs](docker/Can-not-run-downloaded-binary-inside-alpine-linux-because-of-missing-shared-libs.md) | 2019-02-02 |
| 29. [Run container processes as non-root user](docker/run-container-processes-as-non-root-user.md) | 2019-03-30 |
| 30. [Using extra hosts to add custom ip of hostnames to Docker container](docker/using-extra-hosts-to-add-custom-ip-of-hostnames-to-docker-container.md) | 2022-03-16 |
| 31. [Becareful on using port mapping of Docker in Development](docker/becareful-on-using-port-mapping-of-docker-in-development.md) | 2022-03-17 |
| :books: **elasticsearch** [ 1 articles ] | |
| 32. [Basics of Elasticsearch](elasticsearch/Basics-of-Elasticsearch.md) | 2018-01-25 |
| :books: **git** [ 5 articles ] | |
| 33. [Resolving conflict like a boss](git/resolving-conflict-like-a-boss.md) | 2017-06-13 |
| 34. [using git hooks to improve working flow](git/using-git-hooks-to-improve-working-flow.md) | 2017-11-22 |
| 35. [Fastly conflict detector script](git/Fastly-conflict-detector-script.md) | 2017-11-27 |
| 36. [Put .git data outside project directory](git/Put-.git-data-outside-project-directory.md) | 2018-05-29 |
| 37. [Running git command using another ssh key](git/Running-git-command-using-another-ssh-key.md) | 2018-06-26 |
| :books: **google-sheet** [ 1 articles ] | |
| 38. [Insert fastly current date time to cell in Google Spreadsheets](google-sheet/insert-fastly-current-date-time-to-cell.md) | 2021-03-09 |
| :books: **hostingpanel** [ 1 articles ] | |
| 39. [DirectAdmin change document root to public directory](hostingpanel/directadmin-change-document-root-to-public-directory.md) | 2022-03-09 |
| :books: **http** [ 4 articles ] | |
| 40. [ab failed responses](http/ab-failed-responses.md) | 2017-04-21 |
| 41. [Create cross-platform downloading app URL](http/Create-crossplatform-downloading-app-URL.md) | 2018-01-03 |
| 42. [Reuse cookies between multi requests in Curl tool](http/Reuse-cookies-between-multi-requests-in-Curl-tool.md) | 2018-05-22 |
| 43. [HTTP Status Codes : 301+302 vs 307+308](http/http-status-307-and-308-vs-301-and-302.md) | 2023-08-20 |
| :books: **ios** [ 2 articles ] | |
| 44. [Flush DNS cache on iOS device](ios/Flush-DNS-cache-on-iOS-device.md) | 2018-03-14 |
| 45. [Install CA root certificate on iOS device](ios/Install-CA-root-certificate-on-iOS-device.md) | 2018-03-14 |
| :books: **java** [ 1 articles ] | |
| 46. [Runing old java applets on brower](java/Runing-old-java-applets-on-brower.md) | 2017-08-06 |
| :books: **javascript** [ 13 articles ] | |
| 47. [Eval function and with block](javascript/Eval-function-and-with-block.md) | 2017-08-10 |
| 48. [Scope and Closure](javascript/Scope-and-Closure.md) | 2017-08-10 |
| 49. [Debug js code using console.trace](javascript/Debug-js-code-using-console.trace.md) | 2018-01-07 |
| 50. [Define property of an object in hacking way](javascript/Define-property-of-an-object-in-hacking-way.md) | 2018-01-07 |
| 51. [Tracking changes of cookie on webpage](javascript/Tracking-changes-of-cookie-on-webpage.md) | 2018-01-10 |
| 52. [Trigger event after setting val in jQuery](javascript/Trigger-event-after-setting-val-in-jQuery.md) | 2018-01-14 |
| 53. [Detect HTTP Response 304 Status Code in AJAX](javascript/Detect-HTTP-Response-304-Status-Code-in-AJAX.md) | 2018-10-25 |
| 54. [View all parameters passed to callback function without reading docs](javascript/View-all-parameters-passed-to-callback-function-without-reading-docs.md) | 2018-10-30 |
| 55. [View function source in developer tool console](javascript/View-function-source-in-developer-tool-console.md) | 2018-11-21 |
| 56. [Critical notice of string DOM manipulation using jQuery](javascript/Critical-notice-of-string-DOM-manipulation-using-jQuery.md) | 2019-01-10 |
| 57. [JSON Parse is faster than Javascript Object declaration](javascript/json-parse-is-faster-than-javascript-object-declaration.md) | 2019-11-23 |
| 58. [Script tags in remote HTML request won't run when using innerHTML](javascript/script-tags-in-remote-html-request-wont-run-when-using-innerhtml.md) | 2024-05-06 |
| 59. [Run multiple AlpineJS inits and effects on same element](javascript/run-multiple-alpinejs-inits-and-effects-on-same-element.md) | 2024-09-30 |
| :books: **js** [ 5 articles ] | |
| 60. [Array group by function in JS](js/array-group-by-function-in-js.md) | 2023-08-25 |
| 61. [ES6 Module import in client browsers](js/es6-module-import-in-client-browsers.md) | 2023-08-29 |
| 62. [JS DOM event deepdive using SvelteJS demo](js/js-dom-event-deepdive-using-sveltejs-demo.md) | 2023-09-01 |
| 63. [Be careful when using built-in btoa from window to decode base64](js/be-careful-when-using-built-in-btoa-from-window-to-decode-base64.md) | 2023-11-29 |
| 64. [Detect ViteHMR dev server is running](js/detect-vitehmr-dev-server-is-running.md) | 2024-08-04 |
| :books: **laravel** [ 2 articles ] | |
| 65. [Split a Collection items into 2 groups using 1 boolean function](laravel/split-a-collection-into-2-groups-using-1-boolean-function.md) | 2023-11-25 |
| 66. [Generate routing stubs for IDEs](laravel/generate-routing-stubs-for-ides.md) | 2024-02-24 |
| :books: **linux** [ 5 articles ] | |
| 67. [Remap Capslock to Control key](linux/remap-capslock-to-control-key.md) | 2017-08-08 |
| 68. [Send ENTER key to kernel](linux/Send-ENTER-key-to-kernel.md) | 2017-09-27 |
| 69. [Using watch command to tracking changes in period time](linux/Using-watch-command-to-tracking-changes-in-period-time.md) | 2017-10-20 |
| 70. [Disable IPv6 to stop getting stuck in network](linux/Disable-IPv6-to-stop-getting-stuck-in-network.md) | 2018-01-16 |
| 71. [Make cron job runs every seconds](linux/Make-cron-job-runs-every-seconds.md) | 2018-11-15 |
| :books: **mac-osx** [ 2 articles ] | |
| 72. [Shortcut keyboard improve productivity](mac-osx/Shortcut-keyboard-improve-productivity.md) | 2015-11-30 |
| 73. [Warning on MacOS upgrade major system](mac-osx/warning-on-macos-upgrade-major-system.md) | 2023-10-13 |
| :books: **mysql** [ 8 articles ] | |
| 74. [Index is useless when use function on indexed field](mysql/Index-is-useless-when-use-function-on-indexed-field.md) | 2015-12-01 |
| 75. [String problems can cause logical bugs in application](mysql/string-problems-can-cause-logical-bugs-in-application.md) | 2017-02-17 |
| 76. [UNION vs UNION ALL](mysql/union-vs-union-all.md) | 2017-02-23 |
| 77. [Mysql dumping only table structure](mysql/Mysql-dumping-only-table-structure.md) | 2017-05-17 |
| 78. [Mycli : a new good cli MySql Client](mysql/mycli-:-a-new-good-cli-mysql-client.md) | 2017-09-01 |
| 79. [Sleeping connections in MySQL](mysql/Sleeping-connections-in-MySQL.md) | 2018-01-04 |
| 80. [The safest way to reset root password of MySQL Server](mysql/safest-way-to-reset-root-password-of-mysql-server.md) | 2018-08-25 |
| 81. [Export MySQL data by specified query to CSV file](mysql/Export-MySQL-data-by-specified-query-to-CSV-file.md) | 2019-03-12 |
| :books: **nature** [ 1 articles ] | |
| 82. [Tại sao biển xanh lại mặn ? :lol:](nature/tai-sao-bien-xanh-lai-man.md) | 2018-01-14 |
| :books: **networking** [ 6 articles ] | |
| 83. [TCP FIN timeout](networking/tcp-fin-timeout.md) | 2017-09-07 |
| 84. [How SMTP works](networking/How-SMTP-works.md) | 2017-10-04 |
| 85. [Set up simple rate limiting on specified port using UFW](networking/Set-up-simple-rate-limiting-on-specified-port-using-UFW.md) | 2018-01-16 |
| 86. [List opening ports or listening UNIX sockets](networking/List-opening-ports-or-listening-UNIX-sockets.md) | 2018-02-21 |
| 87. [Setup wildcard domains .test for development in MacOS](networking/Setup-wildcard-domains-.local-for-development-in-MacOS.md) | 2018-04-24 |
| 88. [Use NGINX as a TCP,UDP load balancer](networking/use-nginx-as-a-tcp,udp-load-balancer.md) | 2019-04-03 |
| :books: **php** [ 14 articles ] | |
| 89. [Eloquent Many-to-Many Relationship](php/Eloquent-Many-to-Many-Relationship.md) | 2015-12-02 |
| 90. [Run built-in server via Docker](php/Run-built-in-server-via-Docker.md) | 2015-12-04 |
| 91. [F-cking stupid limit of input vars](php/Fcking-stupid-limit-of-input-vars.md) | 2016-03-08 |
| 92. [Using VarDumper in PHPUnit](php/using-vardumper-in-phpunit.md) | 2017-02-23 |
| 93. [Persistent connection to MySQL](php/Persistent-connection-to-MySQL.md) | 2017-02-28 |
| 94. [realpath function](php/realpath-function.md) | 2017-08-06 |
| 95. [try, catch and finally in PHP](php/try,-catch-and-finally-in-PHP.md) | 2018-05-04 |
| 96. [Never autostart XDebug in cli environment](php/Never-autostart-XDebug-in-cli-environment.md) | 2018-05-07 |
| 97. [Getting back Whoops error pages in Laravel 9](php/getting-back-whoops-error-pages-in-laravel-9.md) | 2022-03-13 |
| 98. [Minimize Google PHP SDK before deploying on production](php/minimize-google-php-sdk-before-deploying-on-production.md) | 2022-03-14 |
| 99. [Laravel run scheduled command within parent environment](php/laravel-run-scheduled-command-within-parent-environment.md) | 2022-03-15 |
| 100. [Cache storage utils using redis server](php/cache-storage-utils-using-redis-server.md) | 2023-10-08 |
| 101. [Transform array to object shorthand](php/transform-array-to-object-shorthand.md) | 2023-12-08 |
| 102. [PHP memory allocation when passing arguments into function](php/php-memory-allocation-when-passing-arguments-into-function.md) | 2024-08-06 |
| :books: **programming** [ 1 articles ] | |
| 103. [Get random number from computer](programming/Get-random-number-from-computer.md) | 2018-05-14 |
| :books: **python** [ 7 articles ] | |
| 104. [String Format Unicode params](python/String-Format-Unicode-params.md) | 2015-12-01 |
| 105. [Reference assign object variable](python/Reference-assign-object-variable.md) | 2015-12-04 |
| 106. [HTTP2 supported for python requests library](python/HTTP2-supported-for-python-requests-library.md) | 2017-08-04 |
| 107. [Exporting environment variables on virtual env activate](python/Exporting-environment-variables-on-virtual-env-activate.md) | 2018-04-30 |
| 108. [Do not use mutable objects as default parameters](python/Do-not-use-mutable-objects-as-default-parameters.md) | 2018-07-24 |
| 109. [Context Managers in Python](python/Context-Managers.md) | 2018-07-24 |
| 110. [Setter and getter behavior of class property in Python3](python/Setter-and-getter-behavior-of-class-property-in-Python3.md) | 2018-07-30 |
| :books: **quote** [ 1 articles ] | |
| 111. [Random quote 23 Feb 2017](quote/random-quote-23-feb-2017.md) | 2017-02-23 |
| :books: **redis** [ 1 articles ] | |
| 112. [Transaction style in Redis](redis/Transaction-style-in-Redis.md) | 2018-01-31 |
| :books: **svelte** [ 2 articles ] | |
| 113. [SvelteJS : Reactivity via variable assignment](svelte/reactivity-via-assignment-variable.md) | 2023-08-28 |
| 114. [Reactive statement explicit dependencies like React useEffect](svelte/reactive-statement-explicit-dependencies-like-react-useeffect.md) | 2023-11-12 |
| :books: **swift** [ 1 articles ] | |
| 115. [XCode automatic format code on build time](swift/xcode-automatic-format-code-on-build-time.md) | 2024-02-28 |
| :books: **sysadmin** [ 34 articles ] | |
| 116. [FTP via curl tool](sysadmin/FTP-via-curl-tool.md) | 2015-12-03 |
| 117. [View real-time logs using websocketd](sysadmin/View-real-time-logs-using-websocketd.md) | 2015-12-04 |
| 118. [Commands](sysadmin/Commands.md) | 2015-12-30 |
| 119. [Bash shell shortcuts](sysadmin/Bash-shell-shortcuts.md) | 2016-03-26 |
| 120. [Stats your top-10 frequently commands](sysadmin/Stats-your-top-10-commands.md) | 2016-03-26 |
| 121. [Compressing and Extracting files with rar in Linux](sysadmin/Compressing-and-Extracting-files-with-rar-in-Linux.md) | 2017-05-17 |
| 122. [Grant user to use sudo without password](sysadmin/Grant-user-to-use-sudo-without-password.md) | 2017-05-18 |
| 123. [wget Output flag](sysadmin/wget-Output-flag.md) | 2017-05-19 |
| 124. [Using BSD find util to find and exec command on file and folder](sysadmin/Using-BSD-find-util-to-find-and-exec-command-on-file-and-folder.md) | 2017-05-22 |
| 125. [zcat : decompressing pipe tool](sysadmin/zcat-:-decompressing-pipe-tool.md) | 2017-05-22 |
| 126. [Gearman bash worker and client](sysadmin/gearman-bash-worker-and-client.md) | 2017-06-15 |
| 127. [Cleaning up old linux kernels](sysadmin/Cleaning-up-old-linux-kernels.md) | 2017-08-06 |
| 128. [Create SSH tunnel manually](sysadmin/create-ssh-tunnel-manually.md) | 2017-09-01 |
| 129. [Enable reverse proxy in CentOS](sysadmin/enable-reverse-proxy-in-centos.md) | 2017-09-01 |
| 130. [Ansible playbook : skip to task](sysadmin/ansible-:-skip-to-task.md) | 2017-09-05 |
| 131. [Grep : find a string in folder](sysadmin/grep-:-find-a-string-in-folder.md) | 2017-09-05 |
| 132. [Lock and unlock a user password](sysadmin/lock-and-unlock-a-user-password.md) | 2017-09-07 |
| 133. [Generate dhparam file faster](sysadmin/generate-dhparam-file-faster.md) | 2017-09-07 |
| 134. [Blocking specified country to prevent from DDOS](sysadmin/blocking-specified-country-to-prevent-from-ddos.md) | 2017-09-25 |
| 135. [BASH exiting on first error](sysadmin/bash-exiting-on-first-error.md) | 2017-09-26 |
| 136. [BASH return a value in function](sysadmin/bash-return-a-value-in-function.md) | 2017-09-26 |
| 137. [BASH tracing commands](sysadmin/BASH-tracing-commands.md) | 2017-09-27 |
| 138. [TIME command output meaning](sysadmin/time-command-output-meaning.md) | 2017-10-04 |
| 139. [Using netcat as tiny TCP debug tool](sysadmin/using-netcat-as-tiny-tcp-debug-tool.md) | 2017-10-07 |
| 140. [Getting your external IP](sysadmin/Getting-your-external-IP.md) | 2017-11-24 |
| 141. [Use journalctl to check system logs](sysadmin/Use-journalctl-to-check-system-logs.md) | 2018-01-22 |
| 142. [Prevent source hacking from .git directory exposing](sysadmin/prevent-source-hacking-from-.git-directory-exposing.md) | 2018-03-01 |
| 143. [Cut file content from line to line](sysadmin/Cut-file-content-from-line-to-line.md) | 2018-03-25 |
| 144. [Prepend line number to file](sysadmin/Prepend-line-number-to-file.md) | 2018-03-25 |
| 145. [Create a sequence of numbers](sysadmin/Create-a-sequence-of-numbers.md) | 2018-03-25 |
| 146. [Send a file through networking via netcat](sysadmin/Send-a-file-through-networking-via-netcat.md) | 2018-04-10 |
| 147. [Create tiny chat channel via netcat](sysadmin/Create-tiny-chat-channel-via-netcat.md) | 2018-04-10 |
| 148. [View DNS history of a domain](sysadmin/View-DNS-history-of-a-domain.md) | 2018-05-08 |
| 149. [Curl override Name Resolution with specific IP address](sysadmin/Curl-override-Name-Resolution-with-specific-IP-address.md) | 2018-08-18 |
| :books: **tools** [ 2 articles ] | |
| 150. [Base 64 encode and decode builtin tool](tools/base-64-encode-and-decode-builtin-tool.md) | 2017-04-21 |
| 151. [Zip compressing list of files](tools/zip-compressing-list-of-files.md) | 2017-09-25 |
| :books: **varnish** [ 1 articles ] | |
| 152. [Check vcl file syntax before restarting](varnish/Check-vcl-file-syntax-before-restarting.md) | 2018-01-31 |
| :books: **vim** [ 2 articles ] | |
| 153. [Using mark to bookmark checkpoints in files](vim/Using-mark-to-bookmark-checkpoints-in-files.md) | 2018-01-30 |
| 154. [Convert tabs to spaces](vim/Convert-tabs-to-spaces.md) | 2018-02-21 |
| :books: **web** [ 9 articles ] | |
| 155. [Cloudflare Error 522 Connection Time out](web/Cloudflare-Error-522-Connection-Time-out.md) | 2017-05-18 |
| 156. [Ping Google to crawl updated content](web/ping-google-to-crawl-updated-content.md) | 2017-08-08 |
| 157. [Using web proxy to bypass firewalls](web/Using-web-proxy-to-bypass-firewalls.md) | 2017-12-07 |
| 158. [HSTS rule in browser](web/HSTS-rule-in-browser.md) | 2018-01-03 |
| 159. [Bypass CORS by using JSONP callback](web/Bypass-CORS-by-using-JSONP-callback.md) | 2018-01-08 |
| 160. [Sending Cookie in AJAX CORs request](web/sending-cookie-in-ajax-cors-request.md) | 2018-03-01 |
| 161. [Can not get real IP address from Load Balancer SSL Passthrough](web/Can-not-get-real-IP-address-from-Load-Balancer-SSL-Passthrough.md) | 2019-03-14 |
| 162. [Smallest inline dummy image in HTML](web/smallest-inline-dummy-image-in-html.md) | 2024-01-15 |
| 163. [HTML Form no trigger submit when press Enter key on input](web/html-form-no-trigger-submit-when-press-enter-key-on-input.md) | 2024-09-19 |

# Instruction

- Step 1: Fork this repo (blank-repo with **only tool** and **readme file**).
- Step 2: Start writting down what you learned in **everyday**.
+ Create a **topic** by:

```bash
./til [EDITOR]
```

- Ex:

```bash
./til bash "Bash Conditional Expression" vim
```

- If you tired of typing the quote mark:

```bash
./til bash Bash-Conditional-Expression
./til bash Bash=Conditional=Expression
```

DO NOT mix the `-` and `=` together!
+ It will create 1 file whose name which is the SUBJECT in lower case: `bash/160510-bash-conditional-expression.md`.
+ **Write** it! **Save** it!
- Step 3: Commit what you learned today by `./til commit`. After that, if you want to push it to _repository_, just **Enter**

# License

© 2018 khanhicetea.
Distributed under the [Creative Commons Attribution License][license].

[license]: http://creativecommons.org/licenses/by/3.0/