{"id":19590526,"url":"https://github.com/mudssrali/til","last_synced_at":"2026-01-30T20:02:43.693Z","repository":{"id":116504314,"uuid":"258749240","full_name":"mudssrali/til","owner":"mudssrali","description":"📝 Today I Learn","archived":false,"fork":false,"pushed_at":"2024-11-01T19:13:25.000Z","size":80,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-13T21:06:27.520Z","etag":null,"topics":["dev-life","til","today-i-learn","writing"],"latest_commit_sha":null,"homepage":null,"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/mudssrali.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}},"created_at":"2020-04-25T10:34:35.000Z","updated_at":"2024-11-01T19:13:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"ca21b717-db67-4e17-829e-a4fc03ef9e06","html_url":"https://github.com/mudssrali/til","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mudssrali/til","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mudssrali%2Ftil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mudssrali%2Ftil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mudssrali%2Ftil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mudssrali%2Ftil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mudssrali","download_url":"https://codeload.github.com/mudssrali/til/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mudssrali%2Ftil/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dev-life","til","today-i-learn","writing"],"created_at":"2024-11-11T08:25:10.016Z","updated_at":"2026-01-30T20:02:43.669Z","avatar_url":"https://github.com/mudssrali.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# TIL\n\n\u003e 📝 Today I Learn\n\nA collection of concise write-ups on small things I learn day to day across a\nvariety of languages and technologies.\n\n---\n\n**Quick Links for Categories:**\n\nFront-end\n\n- [CSS](#css)\n- [HTML](#html)\n- [Javascript](#javascript)\n- [React](#react)\n- [React Router](#react-router)\n- [React Redux](#react-redux)\n- [React Animation](#react-animation)\n- [Typescript](#typescript)\n- [AI-Google Blog](#ai-google-blog)\n\nBackend\n\n- [C-Sharp](#c-sharp)\n- [Elixir](#elixir)\n- [PostgreSQL](#postgresql)\n\nRandom Readings\n\n- [Articles](#articles)\n\n### Articles\n\n- [International Phone Number Format](https://www.cm.com/blog/how-to-format-international-telephone-numbers/)\n- [The first modern pandemic (short read)](https://www.gatesnotes.com/Health/Innovation-for-COVID)\n- [Android SMS Limit-1](https://android.googlesource.com/platform/frameworks/base/+/master/telephony/java/android/telephony/SmsMessage.java)\n- [Android SMS Limit-2](https://developer.android.com/reference/kotlin/android/telephony/SmsMessage)\n- [CircleCi overview](https://circleci.com/docs/2.0/about-circleci/)\n- [Share like a native app with the Web Share API](https://web.dev/web-share/)\n- [Getting Started - Chrome Extensions](https://developer.chrome.com/extensions/getstarted)\n- [How to write idempotent Bash scripts](https://arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/)\n- [Process pools with Elixir's Registry](https://andrealeopardi.com/posts/process-pools-with-elixirs-registry/)\n- [Rebuilding our tech stack for the new Facebook.com - IMP](https://engineering.fb.com/web/facebook-redesign/)\n- [Designing very large (JavaScript) applications - IMP](https://medium.com/@cramforce/designing-very-large-javascript-applications-6e013a3291a3)\n- [Hoisting in Javascript](https://medium.com/javascript-in-plain-english/https-medium-com-javascript-in-plain-english-what-is-hoisting-in-javascript-a63c1b2267a1)\n- [Understanding hoisting in Javascript](https://scotch.io/tutorials/understanding-hoisting-in-javascript)\n- [C4-Architecture Model - `IMP`](https://www.infoq.com/articles/C4-architecture-model/)\n- [How to Start Freelancing (The Basics) - `IMP`](https://dev.to/study_web_dev/how-to-start-freelancing-the-basics-52d7)\n- [Modern Touch-Friendly Design - `IMP`](https://addyosmani.com/blog/touch-friendly-design/)\n- [Dynamic Imports in Javascript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import)\n- [First Class Function - `IMP`](https://developer.mozilla.org/en-US/docs/Glossary/First-class_Function)\n- [Support for theme-color in Chrome 39 for Android](https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android)\n- [Symmetric key encryption and decryption in cryptography: A Study of Fernet algorithm](https://topic.alibabacloud.com/a/symmetric-font-colorredkeyfont-encryption-and-decryption-in-cryptography-a-study-of-fernet-algorithm_8_8_30274822.html)\n- [The effects of remote work on collaboration among information workers](https://www.nature.com/articles/s41562-021-01196-4)\n\n- [What is a progressive JPEG?](https://www.liquidweb.com/kb/what-is-a-progressive-jpeg/)\n\n- [The Delivery Hero Reliability Manifesto](https://tech.deliveryhero.com/our-reliability-manifesto/)\n\n- [Operational transformation](https://en.wikipedia.org/wiki/Operational_transformation)\n- [OO - Dynamic Dispatch](https://en.wikipedia.org/wiki/Dynamic_dispatch)\n- [The components of a URL](https://www.ibm.com/docs/en/cics-ts/5.2?topic=concepts-components-url)\n\n### Unread Articles\n\n- [Native image lazy-loading for the web!](https://addyosmani.com/blog/lazy-loading/)\n- [Optimize Cumulative Layout Shift](https://web.dev/optimize-cls/)\n- [Second-guessing the modern web](https://macwright.org/2020/05/10/spa-fatigue.html)\n- [The melting pot of JavaScript](https://increment.com/development/the-melting-pot-of-javascript/)\n\n### CSS\n\n- [Wiring-up tailwind.css](https://github.com/Mudassar045/tailwindcss-components)\n- [Tailwindcss responsiveness](https://tailwindcss.com/docs/responsive-design)\n- [Smooth scrolling using css](css/1.md)\n- [Tailwindcss - Pseudo Class variants](https://tailwindcss.com/docs/pseudo-class-variants)\n- [Tailwindcss - Adding base styles](https://tailwindcss.com/docs/adding-base-styles)\n- [Preventing Page Scrolling on Modal Popup](https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/)\n- [CSS Marker for \u003cli\u003e](https://web.dev/css-marker-pseudo-element/)\n\n### HTML\n\n- [Change image on change prefers-color-scheme](html/1.md)\n\n### Javascript\n\n- [Append Item to array](javascript/1.md)\n- [Map can have empty-string, null or undefined as key](javascript/2.md)\n- [cond-flow, lodash _cond | Elixir cond replication](https://github.com/erikmueller/cond-flow)\n- [learn about jest - javascript and typescript test-runner](https://github.com/mudassar045/cond-construct)\n- [Publish npm package](https://www.npmjs.com/package/cond-construct)\n- [Scope](https://developer.mozilla.org/en-US/docs/Glossary/Scope)\n- [Hoisting - MDN](https://developer.mozilla.org/en-US/docs/Glossary/Hoisting)\n- [What is closure](https://medium.com/javascript-scene/master-the-javascript-interview-what-is-a-closure-b2f0d2152b36)\n- [Dynamic Imports](javascript/dynamic-imports.md)\n- [Javascript - Introduction to Events](https://www.quirksmode.org/js/introevents.html)\n- [https://www.quirksmode.org/js/events_order.html](Event order)\n- [Object.is()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Description)\n- [Read files in JavaScript](https://web.dev/read-files/)\n### React\n\n- [Capture Click Handlers](react/capture-click.md)\n- [Learn to use react-pdf-renderer to generate pdfs](https://github.com/diegomura/react-pdf/)\n- [Learn to use react-pdf to view pdf file in react-app](https://github.com/wojtekmaj/react-pdf)\n- [Building and deploying Next.js app on Netlify](https://www.netlify.com/blog/2020/05/04/building-a-markdown-blog-with-next-9.3-and-netlify/)\n- [Learning about RBAC](./react/rbac.md)\n- [useMemo Hook](./useMemo.md)\n- [Implement useState with useReducer](https://kentcdodds.com/blog/how-to-implement-usestate-with-usereducer)\n### React Router\n\n- [useParams](https://reacttraining.com/blog/react-router-v5-1/#useparams)\n\n### React Redux\n\n- [Learning about plain Redux](https://github.com/Mudassar045/redux-learn)\n- [dispatch() is automatically injected from state's store to the component which uses connect](https://stackoverflow.com/questions/42871136/dispatch-function-in-react-redux)\n\n### React Animation\n\n- [Know the basics of Bespoke](https://github.com/bespokejs/bespoke)\n- [React Spring - Trails API](https://www.react-spring.io/docs/hooks/use-trail)\n\n### Typescript\n\n- [Discriminated Unions](https://github.com/Mudassar045/typescript-cheatsheet#discriminated-unions)\n- [Typescript 3.9 Beta](https://devblogs.microsoft.com/typescript/announcing-typescript-3-9-beta)\n- [// @ts-expect-error](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-9.html)\n- [TypeScript Next.js Cheat Sheet](https://www.saltycrane.com/cheat-sheets/typescript/next.js/latest/)\n\n### C-Sharp\n\n### Elixir\n\n- [All Values For A Key In A Keyword List](elixir/1.md)\n- [Concurrency Primitives - Concurrency Principles](https://github.com/Mudassar045/iexSmix#concurrency-principles)\n- [case cond](https://elixir-lang.org/getting-started/case-cond-and-if.html#cond)\n- [Concurrency Primitives - Creating process](https://github.com/Mudassar045/iexSmix#working-with-processes)\n- [Concurrency Primitives - Message passing](https://github.com/Mudassar045/iexSmix#message-passing)\n- [Concurrency Primitives - Synchronous Sending of Messages](https://github.com/Mudassar045/iexSmix#synchronous-sending)\n- [Phoenix Framework with LiveView](https://www.phoenixframework.org/blog/build-a-real-time-twitter-clone-in-15-minutes-with-live-view-and-phoenix-1-5)\n-\t[Concurrency Primitives - Stateful Server Process](https://github.com/Mudassar045/iexSmix#53-stateful-server-processes)\n- [Registry](https://hexdocs.pm/elixir/Registry.html)\n- [Concurrency Primitives - Keeping a process state](https://github.com/Mudassar045/iexSmix#keeping-a-process-state)\n- [Concurrency Primitives - Learn Mutable Process State](https://github.com/Mudassar045/iexSmix#mutable-state)\n- [GenServer - Basic implementation](https://github.com/Mudassar045/iexSmix#chapter-6-generic-server-processes)\n- [`Import` vs `use`](https://stackoverflow.com/questions/28491306/elixir-use-vs-import?rq=1)\n- [Application Behaviour](https://hexdocs.pm/elixir/Application.html)\n- [Append To A Keyword List](elixir/append-to-a-keyword-list.md)\n- [Count the currently running process](elixir/2.md)\n- [Concatenate two list](elixir/3.md)\n- [IO.inspect OPts](elixir/4.md)\n- [Processing Large CSV files with Elixir Streams](https://www.poeticoding.com/processing-large-csv-files-with-elixir-streams/)\n- [Generate signature in Elixir and PHP using hmac](https://stackoverflow.com/questions/32601860/generate-signature-in-elixir-and-php-using-hmac)\n- [Is there any way to send a string from Elixir to PHP securely?(no SSL)](https://stackoverflow.com/questions/34845437/is-there-any-way-to-send-a-string-from-elixir-to-php-securelyno-ssl)\n- [Cowboy-Session Secure ERL](https://github.com/spawngrid/cowboy_session/blob/master/src/cowboy_session_secure.erl#L63)\n\n- [Bootstrapping a multiplayer server with Elixir at X-Plane](https://elixir-lang.org/blog/2021/07/29/bootstraping-a-multiplayer-server-with-elixir-at-x-plane/)\n- [Robust job processing in Elixir, backed by modern PostgreSQL](https://github.com/sorentwo/oban)\n- [Announcing Delta for Elixir](https://slab.com/blog/announcing-delta-for-elixir/)\n- [Elixir Best Practices - Deeply Nested Maps](https://dockyard.com/blog/2016/02/01/elixir-best-practices-deeply-nested-maps)\n\n- [Syn - global Process Registry and Process Group manager](https://github.com/ostinelli/syn)\n\n    Related Links:\n    - [Eventual Consistency](https://en.wikipedia.org/wiki/Eventual_consistency)\n    - [CAP Theorem](https://en.wikipedia.org/wiki/CAP_theorem)\n    - [Atomicity_(database_systems)](https://en.wikipedia.org/wiki/Atomicity_(database_systems))\n    - [Leader Election](https://en.wikipedia.org/wiki/Leader_election)\n    - [Erlang - Global](https://www.erlang.org/doc/man/global.html)\n    - [Erlang - pg](https://www.erlang.org/doc/man/pg.html)\n- [GenStage - How Discord handles push request bursts of over a million per minute](https://blog.discord.com/how-discord-handles-push-request-bursts-of-over-a-million-per-minute-with-elixirs-genstage-8f899f0221b4)\n- [Delivering social change with Elixir at Change.org](https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/)\n- [Broadway - Change.org - Our Elixir Bandit Service](https://medium.com/making-change-org/our-elixir-bandit-service-e2b6af6eebc4)\n### PostgreSQL\n  \n### GraphQL\n- [Graphql with Node, MySQL, Apollo and ReactJS](https://subscription.packtpub.com/video/web_development/9781838823009)\n\n### AI-Google Blog\n\n- [The C4_200M Synthetic Dataset for Grammatical Error Correction](https://ai.googleblog.com/2021/08/the-c4200m-synthetic-dataset-for.html)\n\n### System Architecture \u0026 Desing\n- [Top 7 Ways to 10x Your API Performance](https://www.youtube.com/watch?v=zvWKqUiovAM)\n- [Session Vs JWT: The Differences You May Not Know!](https://www.youtube.com/watch?v=fyTxwIa-1U0)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmudssrali%2Ftil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmudssrali%2Ftil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmudssrali%2Ftil/lists"}