topic: TypeScript
Everything I’ve written on the subject, from the beginning of this version of the site.
-
2019
-
Nov
-
17
-
28
-
A JSON Feed Apology and Explanation—JOURNAL
All my best efforts and this is still where we end up!
-
-
-
-
2020
-
Apr
-
29
-
The Infra Engineer’s Blind Spot—JOURNAL
Why I ended up down a rabbit hole instead of shipping.
-
-
-
May
-
25
-
Making Illegal States Unrepresentable—In TypeScript—JOURNAL
Showing how Scott Wlaschin’s approach in F♯ translates to a language with a very different type system.
-
-
-
Jun
-
07
-
Building the Slow Way—JOURNAL
Or, part of why rewrite is taking a while: I’m in this for the long haul.
-
-
-
Sep
-
04
-
Tracking in the Glimmer VM↩︎—❈—ELSEWHERE
Chris Garrett (@pzuraq) explains to me how autotracking and the Glimmer (Ember) template layer connect!
-
-
05
-
Data Constructors, Part 1: Understanding by Implementing —JOURNAL
Understanding an idea from Standard ML-like languages by implementing it in (boring) TypeScript.
-
-
-
Oct
-
13
-
Data Constructors, Part 2: Better TypeScript —JOURNAL
A deep dive on more idiomatic TypeScript implementations of ML-style data constructors.
-
-
24
-
Writing Robust TypeScript Libraries—JOURNAL
A subtler art than it might at first appear, if you intend to support JS or even loose mode TS.
-
-
31
-
Notes on Thoughtbot’s “Stop Using 'any'”—JOURNAL
A couple tweaks and improvements to a good post!
-
-
-
-
2021
-
Jan
-
22
-
Using Classes for Functional Programming—JOURNAL
We tend to think classes are inherently for object-oriented programming, but they are much more flexible than that in JavaScript and TypeScript (and other languages too).
-
-
-
Mar
-
23
-
RFC: Semantic Versioning for TypeScript Types ↩︎—❈—ELSEWHERE
In which years of thinking and months of design come to fruition.
-
-
31
-
Keep It Local—ELSEWHERE
Or: (part of) what “reasoning about your code” really means; being my EmberConf 2021 talk.
-
-
-
Nov
-
18
-
Reading “A Functional Programming Language with Versions”—LIBRARY
The first academic research I’m aware of which actually takes Semantic Versioning seriously!
-
-
-
Dec
-
31
-
Reading Settings!—JOURNAL
A few notes on pairing
prefers-color-scheme
and user configurability, as well as adding a little reading mode switch.
-
-
-
-
2022
-
Jan
-
25
-
28
-
Announcement: Speaking at TypeVille 2022 —ELSEWHERE
On the subject of “Types as Tools for Thought”
-
-
-
Apr
-
18
-
Semantic Versioning for TypeScript Types 1.0.0-beta.1↩︎—❈—ELSEWHERE
After years of work, I’ve published the first beta of the spec for semantic versioning for TypeScript types!
-
-
20
-
The Road to TypeScript↩︎—❈—ELSEWHERE
My EmberConf 2022 talk (with, again, a lot of non-Ember interest).
-
-
22
-
SemVer for TS in Practice—JOURNAL
Showing how the recommendations from www.semver-ts.org can actually work in the real world.
-
-
28
-
Misusing TypeScript Assertion Functions for Fun and Profit—JOURNAL
A horrible (but very useful) hack I came up with yesterday for adding types to some old code.
-
-
-
May
-
19
-
Whiskey, Web, and Whatnot: Bringing Types to Ember ↩︎—❈—ELSEWHERE
Chatting with the good folks at ShipShape about TypeScript, Ember, composing, whiskey, and more.
-
-
-
Sep
-
01
-
Open Source—JOURNAL
Notes on the sheer scale of recently-completed open source efforts of mine.
-
-
16
-
-
Dec
-
16
-
Wacky Tricks We Use in Publishing TypeScript Types (for Ember.js)↩︎—❈—ELSEWHERE
A walkthrough of the shenanigans we have to do to make TypeScript understand how to import
@ember
packages fromember-source
.
-
-
-
-
2023
-
Jan
-
01
-
2022 in Review: Professional —JOURNAL
My fourth year at LinkedIn: odd, and challenging—with some failures!—but not bad.
-
-
-
Jul
-
11
-
Je ne sais quoi—JOURNAL
Programming languages, cameras, computers, and other technologies—and feel.
-
-
17
-
Is TypeScript Good?—A Reply to Rach Smith—JOURNAL
Taking a thoughtful post as an excuse to discuss software system dynamics through the lens of TypeScript.
-
-
-
Sep
-
06
-
Software Unscripted: Type System Complexity ↩︎—❈—ELSEWHERE
Along with Rust, TypeScript, SemVer, open source ecosystems and maintenance, and more!
-
-
-
Oct
-
20
-
Glint Deep Dives↩︎—❈—ELSEWHERE
A 6-part YouTube explainer series digging deep into Glint!
-
-
-
Nov
-
03
-
How to Do a TypeScript Conversion —JOURNAL
Addressing a very common question: do-it-as-you-go or follow the dependency graph?
-
-
-
Dec
-
07
-
The Wizardry Frontier—JOURNAL
Against the idea that accessibility and reliability (or other such dichotomies) must remain at odds in programming languages.
-
-
28
-
-
-
2024
-
May
-
06
-
The Cutting Edge of Versioning (LambdaConf 2024)—ELSEWHERE
Semantic Versioning, library & framework evolution, programming language design, type systems, and you.
-
-
-
Jun
-
26
-
Changelog Interviews #597: Major.Semver.Patch ↩︎—❈—ELSEWHERE
Teaming up with Predrag Gruevski to talk SemVer with Adam and Jerod.
-
-
-
Dec
-
03
-
dprint—NOTES
A very fast auto-formatter!
-
True Myth 8.1.0—ELSEWHERE
Adding some test helpers!
-
-
14
-
Runtime or Types?—NOTES
A false dichotomy! They always go together.
-
-
16
-
To Throw or Not to Throw in TypeScript?—NOTES
Taking a bit of inspiration from Rust and ending up with much more reliable TypeScript.
-
-
-
-
2025
-
Jan
-
02
-
True Myth v8.2.0—Now With a
Task
Type!—ELSEWHERELiterally seven years in the making. But it happened!
-
-
09
-
True Myth v8.3.0—ELSEWHERE
Lots of async combinators, a new
Result
helper… and some deprecations.
-
-
11
-
True Myth v8.4.0—ELSEWHERE
Probably the last 8.x release:
Task
is feature complete!
-
-
21
-
The Essence of Successful Abstractions—JOURNAL
Complexity has to live somewhere; but it does not have to live everywhere.
-
-
24
-
A Reasonable Error Printing Utility in TypeScript—NOTES
Something I want all the time in JS/TS now that I am used to it in Rust—thanks to anyhow!
-
Tasks You Can Retry: True Myth v8.5.0 —ELSEWHERE
I know, I said we were done, but then someone had a good suggestion!
-
-
29
-
TypeScript 5.8 Checks Runtime Code for Conditional Types!—NOTES
One of those “if you know, you know” releases.
-
-
-
Mar
-
11
-
TypeScript Native Port: Some Questions—NOTES
Faster is good! The rest of this announcement is… strange.
-
-
-
Apr
-
15
-
True Myth Releases: 8.6, 9.0, and a New Docs Site!—ELSEWHERE
Continuing the year of shipping with more True Myth goodies.
-
-
-
Jun
-
14
-
true-myth-zod—ELSEWHERE
The Year of Shipping continues!
-
-
-
Jul
-
31
-
true-myth-zod v0.1.2—ELSEWHERE
AKA the first version that actually works.
-
-
-
Aug
-
01
-
isolatedDeclarations
and Zod —NOTESOne strategy for using TypeScript’s
isolatedDeclarations
flag with inference-driven libraries like Zod.
-
-
24
-
True Myth 9.1.0: Standard Schema and More!—ELSEWHERE
Doing my best to keep making True Myth more useful in more places.
-
-
-
That’s it for this topic… but there are many, many more!