56,966 blogs · [ { "id": "01a0e72b-6f23-7383-9e9d-750dccba3efc", "title": "A Small Year for tsc, a Giant Year for TypeScript", "url": "https://effectivetypescript.com/2025/12/19/ts-2025/", "published_at": "2025-12-19T20:00:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dccf25bd0", "title": "What TypeScript & Elixir Can Learn from each Other (Advent of Code 2024)", "url": "https://effectivetypescript.com/2025/11/24/advent2024-elixir/", "published_at": "2025-11-24T18:22:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcd7751bf", "title": "Item 74: Know How to Reconstruct Types at Runtime", "url": "https://effectivetypescript.com/2024/10/31/runtime-types/", "published_at": "2024-10-31T14:30:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcd91b434", "title": "Notes on TypeScript 5.6", "url": "https://effectivetypescript.com/2024/09/30/ts-56/", "published_at": "2024-09-30T16:15:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcdd9fec7", "title": "A keyof puzzle", "url": "https://effectivetypescript.com/2024/08/30/keyof-puzzle/", "published_at": "2024-08-30T13:00:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dceb62126", "title": "A TypeScripter's Take on Zig (Advent of Code 2023)", "url": "https://effectivetypescript.com/2024/07/17/advent2023-zig/", "published_at": "2024-07-17T19:50:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcf10f977", "title": "TypeScript 5.5: A Blockbuster Release", "url": "https://effectivetypescript.com/2024/07/02/ts-55/", "published_at": "2024-07-02T17:00:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcf4551fc", "title": "Item 36: Use a Distinct Type for Special Values", "url": "https://effectivetypescript.com/2024/06/13/special-values/", "published_at": "2024-06-13T17:30:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcfa642b4", "title": "Now Available: Effective TypeScript, Second Edition", "url": "https://effectivetypescript.com/2024/05/21/second-edition/", "published_at": "2024-05-21T21:30:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dcfd08418", "title": "The Making of a TypeScript Feature: Inferring Type Predicates", "url": "https://effectivetypescript.com/2024/04/16/inferring-a-type-predicate/", "published_at": "2024-04-16T17:30:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd0494e38", "title": "Flow Nodes: How Type Inference Is Implemented", "url": "https://effectivetypescript.com/2024/03/24/flownodes/", "published_at": "2024-03-25T03:00:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd0849157", "title": "The Hidden Side of Type Predicates", "url": "https://effectivetypescript.com/2024/02/27/type-guards/", "published_at": "2024-02-27T15:45:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd16f5305", "title": "Effective TypeScript Talk at Etsy (Dec 2020)", "url": "https://effectivetypescript.com/2024/01/31/etsy/", "published_at": "2024-01-31T22:40:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd1d540f1", "title": "Don't Write Traditional Getter and Setter Methods in JavaScript and TypeScript", "url": "https://effectivetypescript.com/2023/12/31/getters-setters/", "published_at": "2023-12-31T22:20:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd22339ce", "title": "Using infer to unpack nested types", "url": "https://effectivetypescript.com/2023/11/29/infer-deep/", "published_at": "2023-11-29T21:07:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd26a1a27", "title": "Overload on the type of this to specialize generics (The Lost Item)", "url": "https://effectivetypescript.com/2023/10/27/specialize-this/", "published_at": "2023-10-27T14:50:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd2a563cf", "title": "The Saga of the Closure Compiler, and Why TypeScript Won", "url": "https://effectivetypescript.com/2023/09/27/closure-compiler/", "published_at": "2023-09-27T20:45:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd301bdad", "title": "TypeScript and SQL: Six Ways to Bridge the Divide", "url": "https://effectivetypescript.com/2023/08/29/sql/", "published_at": "2023-08-29T21:30:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd3d55a37", "title": "Recommendation Update: ✂️ Use knip to detect dead code and types", "url": "https://effectivetypescript.com/2023/07/29/knip/", "published_at": "2023-07-29T14:20:00+00:00" }, { "id": "01a0e72b-6f23-7383-9e9d-750dd49e28ad", "title": "Notes on TypeScript 5.1", "url": "https://effectivetypescript.com/2023/06/27/ts-51/", "published_at": "2023-06-27T20:40:00+00:00" } ] posts Claim your blog
Back to effectivetypescript.com
Blog · corpus.blog/blogs/effectivetypescript.com/posts

effectivetypescript.com

effectivetypescript.com

2025

2024

2023