til
| Name | Last commit date |
|---|---|
| misc | |
| poetry | |
| programming | |
| technology | |
| README.md | |
| update_readme.py |
Today I Learned
Short notes on things I learn day to day. Inspired by Simon Willison.
119 TILs so far.misc
- TIL 06-18-2025 - 2025-06-18
poetry
- Chinese Classics & Poetry — Vivien's Recommendations - 2024-12-10
programming
- Use Zod to validate File input - 2025-06-17
- Remove debugger statements in Vite - 2025-06-15
- Type declarations for a Vite app - 2025-06-11
- User-defined type guard in TypeScript - 2025-06-10
- TypeScript Template Literal Types - 2025-06-09
- TypeScript: Satisfies operator - 2025-06-08
- Inferring the types from a Remix loader - 2025-06-07
- Array.prototype.reduce() can be typed in TypeScript - 2025-06-06
- TypeScript: ElementRef for React.useRef - 2025-06-05
- TypeScript: Type-only imports and exports - 2025-06-04
- Extending HTML Element Types in React 18 - 2025-06-03
- Overriding HTML Attributes in React TypeScript - 2025-06-02
- TypeScript: @ts-expect-error - 2025-06-01
- TypeScript: Exhaustiveness checking in switch with union type - 2025-05-31
- TypeScript Exact Types - 2025-05-30
- TypeScript: exactOptionalPropertyTypes - 2025-05-29
- TypeScript Config: noUnCheckedIndexAccess - 2025-05-28
- TypeScript: Callable interface - 2025-05-27
- TypeScript Assertion Functions - 2025-05-26
- TypeScript narrow Array.includes() - 2025-05-25
- The Details disclosure element - 2025-05-23
- SvelteKit Sync - 2025-05-21
- Svelte components have file location meta data - 2025-05-20
- Deep clone object with structuredClone() - 2025-05-19
- Spaces vs tabs: It's an accessibility issue - 2025-05-18
- Microfrontend using single-spa - 2025-05-17
- setTimeout(): Node.js vs Web - 2025-05-16
- Implementing a custom RTK Query baseQuery - 2025-05-15
- Remove React app from the DOM - 2025-05-13
- Automatically handle
updated_atcolumn - 2025-05-11 - Use pnpm's shell-emulator to execute scripts on all platforms - 2025-05-10
- Make changes to a dependency using pnpm patch - 2025-05-09
- Today I Learned: PHP - 2025-05-08
- Using Nunjucks Macros in Eleventy - 2025-05-07
- Null is a billion-dollar mistake - 2025-05-06
- Show data about an npm package using npm view - 2025-05-05
- npm using latest version of package - 2025-05-04
- npm disable audit in .npmrc - 2025-05-03
- Accessing stdin with file descriptor 0 - 2025-05-02
- Next.js statically typed links - 2025-04-30
- Netlify Node.js Version - 2025-04-29
- Module Federation - 2025-04-28
- Logging variables in Chrome DevTools using logpoints - 2025-04-26
- JSON.stringify replacer parameter - 2025-04-25
- JSON.parse reviver parameter - 2025-04-24
- JavaScript WeapMap - 2025-04-23
- JavaScript: Tagged Template Literals - 2025-04-22
- JavaScript Symbol.iterator - 2025-04-21
- Spread operator clones enumerables properties - 2025-04-20
- Signals - 2025-04-19
- JavaScript: scrollend event - 2025-04-18
- Using Promise.race() to implement request timeout - 2025-04-17
- JavaScript: Negative Zero (-0) - 2025-04-16
- Math.random() vs Crypto.getRandomValue() - 2025-04-15
- JavaScript Map - 2025-04-14
- JavaScript Import Map - 2025-04-13
- Fetch Response.statusText - 2025-04-12
- Copy a function in JavaScript - 2025-04-11
- JavaScript Barrel File - 2025-04-09
- Add an object to existing JSON using jq - 2025-04-08
- import.meta - 2025-04-06
- The Mark Text element - 2025-04-05
- Hex color notation have an alpha channel - 2025-04-04
- ESLint's
no-restricted-syntaxrule - 2025-03-21 - Dart Supports Underscore Digit Separators - 2025-03-11
- Cypress cy.clock() - 2025-03-10
- CSS pseudo-classes and pseudo-elements - 2025-03-09
- CSS :is() pseudo-class - 2025-03-08
- CSS :has() pseudo-class - 2025-03-07
- CSS property: font-variant-numeric - 2025-03-06
- CSS ::first-letter pseudo-element - 2025-03-05
- CSS.escape() - 2025-03-04
- Add custom config to Axios requests - 2025-03-01
- Get current page URL in Astro - 2025-02-28
- Astro's image integration - 2025-02-27
- Add color using FORCE_COLOR - 2025-02-24
- There are actually 50 CSS length units - 2025-02-23
- There are 44 CSS length units - 2025-02-22
- There are 22 - 2025-02-21
technology
- X-Robots-Tag - 2025-06-16
- Delete lines in vi - 2025-06-14
- Using Netlify Redirects to build a URL Shortener - 2025-06-13
- Using GitHub Actions to push changes - 2025-06-12
- The Idiomatic Text element - 2025-05-24
- Using the
tarcommand - 2025-05-22 - Rename an AWS Lightsail instance - 2025-05-14
- Proxying using Netlify Redirects - 2025-05-12
- Nginx Nested Locations - 2025-05-01
- Recursively delete .DS_Store - 2025-04-27
- Send analytics data using the Beacon API - 2025-04-10
- Smart App Banners - 2025-04-07
- GitHub Issue Forms - 2025-04-03
- Create a release in GitHub using API - 2025-04-02
- Show contents of Git stash - 2025-04-01
- Restore a deleted file in Git - 2025-03-31
- Replace a Git Repository with a New One - 2025-03-30
- Git Remove All Commits - 2025-03-29
- Git: push --force-with-lease - 2025-03-28
- Git: Work with multiple accounts - 2025-03-27
- Use same git commit message as previous commit - 2025-03-26
- Checkout previous branch in Git - 2025-03-25
- Add to previous Git commit - 2025-03-24
- Get last modified date using GitHub GraphQL API - 2025-03-23
- Redirect stderr to stdout using 2>&1 - 2025-03-22
- Enable HTTP/2 in Vite's Dev Server by using HTTPS - 2025-03-20
- EditorConfig Glob Expressions - 2025-03-19
- How to Stop All Docker Containers - 2025-03-18
- Push Docker image to self-hosted registry - 2025-03-17
- Docker: Copy files from another image - 2025-03-16
- List the files with the most disk usage - 2025-03-15
- Override web content and HTTP response headers locally - 2025-03-14
- Emulate a focused page in DevTools - 2025-03-13
- Delete files by modified date - 2025-03-12
- No browser cache with self-signed certificates - 2025-03-03
- Buttons can have a value like input elements - 2025-03-02
- GPTBot is OpenAI’s web crawler - 2025-02-26
- Add features to your Netlify site with Snippet Injection - 2025-02-25