{"id":24151236,"url":"https://github.com/arshad115/today-i-learned","last_synced_at":"2025-09-19T18:31:01.809Z","repository":{"id":70350510,"uuid":"144981092","full_name":"arshad115/today-i-learned","owner":"arshad115","description":":memo: TIL - Today I Learned - Sharing small snippets of code or tips which I learn and share. I am a software engineer, web developer, android developer and a data scientist. Not bragging, just learning them.  ;)","archived":false,"fork":false,"pushed_at":"2025-09-04T13:19:19.000Z","size":244,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-04T14:26:50.317Z","etag":null,"topics":["android","angular","css","easyphp","firebase","firebase-console","git","javascript","learning","node","nodejs","php","programming","share","sql","til","tips-and-tricks","today-i-learned","todayilearned","vuejs"],"latest_commit_sha":null,"homepage":"https://arshadmehmood.com/today-i-learned/","language":"Python","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/arshad115.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2018-08-16T11:53:47.000Z","updated_at":"2025-09-04T13:19:23.000Z","dependencies_parsed_at":"2024-02-19T22:27:32.945Z","dependency_job_id":"0e050959-a97c-463b-92ad-1f9ae4b3281f","html_url":"https://github.com/arshad115/today-i-learned","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arshad115/today-i-learned","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arshad115%2Ftoday-i-learned","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arshad115%2Ftoday-i-learned/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arshad115%2Ftoday-i-learned/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arshad115%2Ftoday-i-learned/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arshad115","download_url":"https://codeload.github.com/arshad115/today-i-learned/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arshad115%2Ftoday-i-learned/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275982520,"owners_count":25564149,"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-09-19T02:00:09.700Z","response_time":108,"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":["android","angular","css","easyphp","firebase","firebase-console","git","javascript","learning","node","nodejs","php","programming","share","sql","til","tips-and-tricks","today-i-learned","todayilearned","vuejs"],"created_at":"2025-01-12T09:14:55.373Z","updated_at":"2025-09-19T18:31:01.785Z","avatar_url":"https://github.com/arshad115.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\npermalink: \"/today-i-learned/readme/\"\nreadme: true\n---\n\n# 📚 Today I learned\n\u003e 🎓 Today I Learned\n\n[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://arshadmehmood.com)[![forthebadge](https://forthebadge.com/images/badges/for-you.svg)](https://arshadmehmood.com)[![forthebadge](https://forthebadge.com/images/badges/contains-cat-gifs.svg)](https://arshadmehmood.com)[![forthebadge](https://forthebadge.com/images/badges/uses-badges.svg)](https://arshadmehmood.com)\n\n📝 Today I Learned - Sharing and documenting the things I learn on a daily basis. I share tiny snippets of code here which too small for a blog post but fit here. These are tiny things which make a big difference. Over the time they are lost and documenting them along the way would be beneficial for everyone. Many a times, I also come back to my til, because all the information is ordered and easy to access. Contains a cat gif, because, cats make people happy. Scroll to the bottom, to see the cat gif. 😸\n\n🌐 For a steady stream of TILs and my other blog posts, checkout my website [arshadmehmood.com](https://arshadmehmood.com). To read these tils in a nice, beautiful looking way, read them [here on my blog](https://arshadmehmood.com/today-i-learned/).\n\n_📚 126 TILs and counting... 🚀_\n\n\n\n\n\n\n\n\n---\n\n### 🚀 How to Use This Repository\n\n📖 **Browse by Category**: Click on any category below to jump to that section\n🔍 **Search**: Use `Ctrl+F` (or `Cmd+F` on Mac) to search for specific topics\n🌐 **Web Version**: Visit [arshadmehmood.com/today-i-learned](https://arshadmehmood.com/today-i-learned/) for a better reading experience\n⭐ **Star this repo**: If you find it useful, consider giving it a star!\n\n### 📊 Quick Stats\n\n🎯 **Total TILs:** 126\n📁 **Categories:** 20\n\n🔥 **Top Categories:**\n1. 🐍 Python: **37** TILs\n2. 🅰️ Angular 2+: **18** TILs\n3. 📝 Git: **12** TILs\n4. ⚡ JavaScript: **9** TILs\n5. 🔧 Other: **6** TILs\n\n### 📋 Categories\n\n* [🤖 Android](#-android)\n* [🅰️ Angular 2+](#🅰️-angular-2)\n* [💎 C#](#-c)\n* [🎨 CSS](#-css)\n* [🐳 Docker](#-docker)\n* [📘 Facebook](#-facebook)\n* [🔥 Firebase](#-firebase)\n* [📝 Git](#-git)\n* [🐙 GitHub](#-github)\n* [⚡ JavaScript](#-javascript)\n* [💎 Jekyll](#-jekyll)\n* [🌐 Nginx](#-nginx)\n* [💚 Node.js](#-nodejs)\n* [🔧 Other](#-other)\n* [🐘 PHP](#-php)\n* [💻 Programming](#-programming)\n* [🐍 Python](#-python)\n* [🗄️ SQL](#️-sql)\n* [📘 TypeScript](#-typescript)\n* [💚 Vue.js](#-vuejs)\n\n---\n\n### 🤖 Android\n- [Circular ImageView with Picasso](android/circular-imageview-with-picasso.md)\n- [Create region in Android studio](android/create-region-android-studio.md)\n- [Load data in webView second time](android/load-data-in-webview-second-time.md)\n- [Show logs from TimingLogger](android/show-logs-from-timinglogger.md)\n- [String array in XML](android/string-array-in-xml.md)\n\n### 🅰️ Angular 2+\n- [Add a Window Resize event listener for a component](angular2/add-window-resize-event-listener-comopnent.md)\n- [Add Dynamic Css Style Properties](angular2/add-dynamic-css-style-properties.md)\n- [Add SEO to an Angular App](angular2/add-seo-to-an-angular-app.md)\n- [Apply two or more pipes](angular2/apply-more-than-one-pipe.md)\n- [Bind local method to Dom event listener](angular2/bind-local-method-to-dom-eventlistener.md)\n- [Close Dialog from typescript](angular2/close-dialog-from-typescript.md)\n- [Disable closing the dialog on clicking outside the dialog window in Angular](angular2/disable-dialog-close-on-click-outsite.md)\n- [Get query parameters](angular2/get-query-parameters.md)\n- [Hide an element based on window size](angular2/hide-element-based-on-window-size.md)\n- [Pass data to routerLink](angular2/pass-data-to-routerlink.md)\n- [Pretty Print Json Object In Template](angular2/pretty-print-json-object-in-template.md)\n- [Safe template data binding with ngOnInit](angular2/ngOnInit-variable-undefined.md)\n- [Select Option With Default Value](angular2/select-option-with-default-value.md)\n- [Send Multipart Form Data With Post Request](angular2/send-multipart-form-data-with-post-request.md)\n- [Specify port for ng serve](angular2/specify-port-for-ng-serve.md)\n- [Update Data Model from any component or service using @Input Decorator](angular2/update-data-model-from-any-component-service-using-input-decorator.md)\n- [Use div contenteditable property with template model binding](angular2/use-div-contenteditable-with-template-model-binding.md)\n- [Using and importing custom font in Angular 5](angular2/importing-custom-font.md)\n\n### 💎 C#\n- [Cast or deserialize a Json object to a class in C#](csharp/cast-json-object-to-class.md)\n- [Create A Stream From String](csharp/create-a-stream-from-string.md)\n- [Create Stream from a Base64 String](csharp/create-stream-from-base64-string.md)\n- [Encode/Decode Base64 string in C#](csharp/encode-decode-base64-string.md)\n- [Ldap Query Search Filter Syntax](csharp/ldap-query-search-filter-syntax.md)\n- [Wait N Seconds Without Blocking Ui](csharp/wait-n-seconds-without-blocking-ui.md)\n\n### 🎨 CSS\n- [Float Left/Right with display:flex](css/float-left-right-with-display-flex.md)\n- [RTL list with boostrap](css/rtl-list-with-bootstrap.md)\n- [Star ratings with percentage](css/star-rating-with-percentage.md)\n\n### 🐳 Docker\n- [Check Postgres db table in Docker](docker/check-postgres-db-table-in-docker.md)\n- [Docker Build and Push: docker build/push vs docker buildx](docker/build-and-push-with-docker.md)\n- [Multiple Ways to Run a Docker Container](docker/multiple-ways-to-run-a-docker-container.md)\n\n### 📘 Facebook\n- [Deeplinking Applinks for Facebook](facebook/deeplinking-applinks-for-facebook.md)\n\n### 🔥 Firebase\n- [Add Cache-Control headers](firebase/add-cache-control-header.md)\n- [Get Firebase Project Name](firebase/get-firebase-app-name.md)\n- [Where to find Firebase cloud messaging server API key in firebase console](firebase/where-to-find-firebase-cloud-messaging-server-api-key-in-firebase-console.md)\n\n### 📝 Git\n- [Add or link another git repository as a submodule](git/add-another-repository-as-submodule.md)\n- [Clone without folder](git/clone-wtihout-folder.md)\n- [Delete local branch](git/delete-local-branch.md)\n- [Delete remote branch](git/delete-remote-branch.md)\n- [Fixing Detached HEAD in a Git Submodule](git/fix-detached-head-submodule.md)\n- [Ignore local commits and pull repository from the remote branch](git/ignore-local-commits-and-pull.md)\n- [Move Commits To A New Branch](git/move-commits-to-a-new-branch.md)\n- [Pull changes from the master or other branch](git/pull-changes-from-the-master-or-other-branch.md)\n- [Remove staged files](git/remove-staged-files.md)\n- [Revert Changes from Folder to Branch](git/revert-changes-from-folder-to-branch.md)\n- [Revert the latest commit](git/revert-latest-commit.md)\n- [Undo git pull](git/undo-git-pull-how-to-bring-repos-to-old-state.md)\n\n### 🐙 GitHub\n- [Add a license to an exisiting Github Repository](github/add-a-license-to-existing-repository.md)\n- [Codeblock highlighting programming languages supported by Github](github/codeblock-highlighting-languages-supported-by-github.md)\n- [Get Github Repository size with BASH](github/get-github-repo-size-with-bash.md)\n\n### ⚡ JavaScript\n- [Add an attribute to a json object using spread operator](javascript/add-attribute-to-json-object-using-spread-operator.md)\n- [Document getElementById check if not null](javascript/document-getelementbyid-check-if-not-null.md)\n- [Filter a Javascript Array](javascript/filter-array.md)\n- [Get only unique values from a Javascript Array](javascript/get-unique-array.md)\n- [Local Storage](javascript/local-storage.md)\n- [Remove class name from element](javascript/remove-class-name.md)\n- [Remove element from DOM](javascript/remove-element-from-dom.md)\n- [Replace Everything Before A Certain Point Using Regex](javascript/replace-everything-before-a-certain-point-using-regex.md)\n- [Trim/Remove first or last character in Javascript](javascript/trim-remove-character-from-start-or-end.md)\n\n### 💎 Jekyll\n- [Setting up jekyll/Github Pages environment](jekyll/setting-up-jekyll-environment.md)\n\n### 🌐 Nginx\n- [How To Test Nginx Config File](nginx/how-to-test-nginx-config-file.md)\n\n### 💚 Node.js\n- [Get directory name and filename of the current module in Nodejs](nodejs/get-directory-name-and-filename-of-current-module.md)\n- [Running NPM Scripts in Parallel or Sequentially](nodejs/run-npm-scripts-in-parallel-or-sequentially.md)\n\n### 🔧 Other\n- [Add a new file type to context menu in Windows 10](other/add-new-file-type-to-context-menu-in-windows-10.md)\n- [Add Current User As The Owner Of A Folder](other/add-current-user-as-the-owner-of-a-folder.md)\n- [Configure and connect Mysql Workbench with SSH connection](other/configure-and-connect-mysql-workbench-with-ssh-connection.md)\n- [Enable Curl in PHP.ini running on EasyPHP](other/enable-curl-apache-easyphp.md)\n- [List installed packages on Linux](other/list-installed-packages-linux.md)\n- [Take permissions of a folder using sudo on Linux](other/take-permissions-of-a-folder-sudo.md)\n\n### 🐘 PHP\n- [Allow CORS - Cross origin resource sharing](php/allow-cross-origin-resource-sharing-cors.md)\n- [Compress string or data](php/compress-string-data.md)\n- [Enable gzip compression](php/enable-gzip-compression.md)\n- [Fetch MySql column values as array](php/fetch-mysql-column-values-as-comma-separated-values.md)\n- [Install mbstring on Linux](php/install-mbstring-on-linux.md)\n\n### 💻 Programming\n- [Programming languages case styles](programming/programming-languages-case-styles.md)\n\n### 🐍 Python\n- [Check If String Is Numeric](python/check-if-string-is-numeric.md)\n- [Check Palindrome](python/check-palindrome.md)\n- [Combine or merge two pandas Dataframes using a index](python/combine-pandas-dataframes-on-a-index.md)\n- [Convert dictionary values or keys to list](python/convert-dictionary-keys-values-list.md)\n- [Convert list to dictionary with indexes](python/convert-list-to-dictionary-with-indexes.md)\n- [Convert List To String](python/convert-list-to-string.md)\n- [Delete key from dictionary](python/delete-key-from-dictionary.md)\n- [Docstring for describing functions](python/docstring-for-describing-functions.md)\n- [Enumerate list / get index in for loop](python/enumerate-list.md)\n- [For Each Loop With Index](python/for-each-loop-with-index.md)\n- [Get a list of dictionary values](python/dictionary-get-list-of-values.md)\n- [Get json from a URL](python/get-json-from-url.md)\n- [Get unique elements from a list](python/get-unique-elements-from-a-list.md)\n- [Get unique elements from a list of lists](python/get-unique-elements-from-a-list-of-lists.md)\n- [Iterate Over Dictionary Key Value Pairs](python/iterate-over-dictionary-key-value-pairs.md)\n- [Iterate Over Nested Lists](python/iterate-over-nested-lists.md)\n- [Label plot lines in matplotlib](python/label-plot-lines-in-matplotlib.md)\n- [Positive infinity](python/infinity.md)\n- [Print Object To String](python/print-object-to-string.md)\n- [Python null object singleton](python/python-null-object-singleton.md)\n- [Read json file to pandas Dataframe](python/read-json-file.md)\n- [Remove word starting with a specific character](python/remove-word-starting-with-a-specific-character.md)\n- [Replace multiple terms from a string](python/replace-multiple-terms-from-a-string.md)\n- [Replace URLs using Regex](python/replace-urls-with-regex.md)\n- [Reservoir sampling a list](python/reservoir-sampling-a-list.md)\n- [Reverse string](python/reverse-string.md)\n- [Select columns from a pandas dataframe](python/select-columns-from-a-pandas-dataframe.md)\n- [Set difference](python/set-difference.md)\n- [Set intersection](python/set-intersection.md)\n- [Shallow copy a dictionary](python/shallow-copy-a-dictionary.md)\n- [Shuffle list](python/shuffle-list.md)\n- [Sort dictionary by value](python/sort-dictionary-value.md)\n- [Split dictionary into chunks](python/split-dictionary-into-chunks.md)\n- [String Starts With A List Of Strings](python/string-starts-with-a-list-of-strings.md)\n- [Strip Non Alphabetical Or Non Alphanumeric Characters In A String](python/strip-non-alphabetical-or-non-alphanumeric-characters-in-a-string.md)\n- [Trim strings in Python](python/trim-strings-in-python.md)\n- [using set() + len()](python/check-if-list-contains-unique-elements.md)\n\n### 🗄️ SQL\n- [Find all tables with a specific column name](sql/find-all-tables-with-a-specific-column-name.md)\n- [Return results in json](sql/return-results-in-json.md)\n- [Search for a table name in a database](sql/search-for-table-name-in-a-database.md)\n- [Select all columns from the joined table and some from the other](sql/select-all-columns-from-joined-table-and-some-from-other-table.md)\n- [View table schema using SQL](sql/view-table-schema-using-sql.md)\n\n### 📘 TypeScript\n- [Ignore a typerscript error](typescript/ignore-a-typescript-error.md)\n\n### 💚 Vue.js\n- [Add dynamic Css Style or Class](vuejs/add-dynamic-css.md)\n- [Conditional rendering with if else](vuejs/conditional-rendering-with-if-else.md)\n- [OnClick Event Handling](vuejs/onclick-event-handling.md)\n- [Optional parameters in Vue Router](vuejs/vue-router-optional-paramters.md)\n---\n### 🐱 Catz\n![Alt Text](https://media.giphy.com/media/vFKqnCdLPNOKc/giphy.gif)\n\n## 💡 Inspiration\nI shamelessly stole this idea from [wajahatkarim3/Today-I-Learned](https://github.com/wajahatkarim3/Today-I-Learned), then I also saw other similar repositories and decided to share my own repo of what I learn everyday.\n\n## 🤝 Contributing\n\nThe best way you can contribute is to support the idea of keeping track of things you learned. Just create a public repo and start writing and sharing notes. This is way better than keeping them to yourself.\n\n## 📄 License\n\n\u0026copy; 2018-2025 Arshad Mehmood\n\nThis repository is licensed under the MIT license. See `LICENSE` for\ndetails.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farshad115%2Ftoday-i-learned","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farshad115%2Ftoday-i-learned","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farshad115%2Ftoday-i-learned/lists"}