Max
checkmatez.bsky.social
Max
@checkmatez.bsky.social
Software tinkerer with passion for JavaScript, teaching and chess.
Reposted by Max
⚔️introducing TypeSlayer⚔️ A #typescript type performance benchmarking and analysis tool. A summation of everything learned from the benchmarking required to make the Doom project happen.

It's got MCP support, Perfetto, Speedscope, Treemap, duplicate package detection, and more.
December 11, 2025 at 3:44 AM
Reposted by Max
this fall I worked with the core Git folks on writing an official data model for Git and it just got merged! I learned a few new things from writing it. github.com/git/git/blob...
git/Documentation/gitdatamodel.adoc at master · git/git
Git Source Code Mirror - This is a publish-only repository but pull requests can be turned into patches to the mailing list via GitGitGadget (https://gitgitgadget.github.io/). Please follow Documen...
github.com
December 2, 2025 at 5:01 PM
Reposted by Max
If you're tired of supporting tsconfigs too, I've wrote something.

github.com/bluwy/tsconf...
GitHub - bluwy/tsconfig-grimoire: A collection of sacred information to deal with tsconfig.json for tooling authors and maintainers
A collection of sacred information to deal with tsconfig.json for tooling authors and maintainers - bluwy/tsconfig-grimoire
github.com
December 2, 2025 at 7:43 AM
Reposted by Max
We have updated our API documentation!

It is now much faster, has new helpful features, with sample code in almost 40 programming languages, and makes testing and debugging much easier.

➡️ Check it out: lichess.org/api

www.youtube.com/shorts/VeKMM...
We have updated our API documentation! Much faster, new features, easier testing and debugging.
YouTube video by Lichess
www.youtube.com
November 24, 2025 at 12:35 PM
Reposted by Max
Don't [...spread] or .split() your strings!

Use Intl.Segmenter API. Available in every JS runtime
October 23, 2025 at 2:55 PM
Reposted by Max
📝 Importing vs fetching JSON

JSON imports are now supported cross-browser, but when would you use them rather than fetch()?

jakearchibald.com/2025/importi...
Importing vs fetching JSON
They behave differently, so make sure you pick the right one.
jakearchibald.com
October 22, 2025 at 2:50 PM
Reposted by Max
I did get around to blogging this.

frontendmasters.com/blog/modern-...

Hopefully the step-by-step syntax stuff in here makes shape() a little more approachable.
Modern CSS Round-Out Tabs
We can use `shape()` to carve away the edges of an element to look like a folder tab. By hand.
frontendmasters.com
October 14, 2025 at 6:14 PM
Reposted by Max
I remember when prettier came out and we tried it on a project, I called it "uglier" and removed it almost immediately.

Little did I know that it mostly doesn't matter _how_ you format something - what matters is that everyone uses the same style.

In that sense, prettier is goated 🐐.
Vjeux » Birth of Prettier
blog.vjeux.com
October 6, 2025 at 8:18 AM
Reposted by Max
i wrote about atproto and why it matters
Open Social — overreacted
The protocol is the API.
overreacted.io
September 26, 2025 at 3:33 PM
Reposted by Max
ECMAScript excitement 😉

@jason-williams.co.uk from TechAtBloomberg announces the release of Boa's Rust-based implementation of TC39 Stage 3 Temporal 🎉

Chrome estimates this will ship in Chromium 143 🎉🎉

Temporal is the shiny replacement for the broken JS Date API ✨
boajs.dev Boa @boajs.dev · Sep 24
Temporal_rs has been released!!!

This is the first public release of Temporal_rs, a Rust implementation of the Temporal API powering Boa, Kiesel, V8 plus other engines.

This will be shipping in Chromium soon

More info in our blog post: boajs.dev/blog/2025/09...
Temporal_rs is here! The datetime library powering Temporal in Boa, Kiesel, and V8 | Boa JS
clock banner
boajs.dev
September 24, 2025 at 3:40 PM
Reposted by Max
I’m Not a Robot, a game about solving CAPTCHAs, is out now!

good luck :)

> neal.fun/not-a-robot/
September 16, 2025 at 2:50 PM
Reposted by Max
I got tired of looking up the syntax for checking what processes are running on the 3000 port, so I created an alias for it:
September 8, 2025 at 4:08 PM
Reposted by Max
We've had a few people ask about type-aware linting, eslint's new concurrent linting mode, and why they don't play well together. So we (the ts-eslint team) wrote a short post breaking down why and the design limitations we're constrained by.

github.com/typescript-e...
Interaction with multithread linting · typescript-eslint typescript-eslint · Discussion #11568
Body ESlint v9.34.0 has added support for multithread linting: https://eslint.org/blog/2025/08/multithread-linting/ One word that isn't mentioned in that blog post is "TypeScript." If you use linti...
github.com
September 6, 2025 at 1:11 PM
Reposted by Max
✨ Big O ✨

Let me take you on a visual introduction to what big O notation is in my new blog post: samwho.dev/big-o.

With big O notation you can better understand how algorithms will perform in practice, finding orders of magnitude improvements often with very simple changes to your code.
August 23, 2025 at 2:35 PM
Reposted by Max
Have you ever considered that your PM is “vibe coding” you
August 18, 2025 at 10:50 PM
Reposted by Max
July 24, 2025 at 8:41 PM
Reposted by Max
In my latest video over on @syntax.fm I explain what MCP is, why it's needed and show how to build and debug your own MCP server.

Watch 🍿: www.youtube.com/watch?v=1Fqi...
MCP Explained | What, Why and How
YouTube video by Syntax
www.youtube.com
July 1, 2025 at 1:40 PM
Reposted by Max
ECMAScript excitement 😉

Firefox 139 ships the TC39 Stage 3 Temporal proposal 🎉

It's about time.

Congrats to those who worked on the implementation including Andre Bargull & Dan Minor 👍

developer.mozilla.org/en-US/docs/M...
Firefox 139 for developers - Mozilla | MDN
This article provides information about the changes in Firefox 139 that affect developers. Firefox 139 is the current Beta version of Firefox and ships on May 27, 2025.
developer.mozilla.org
May 28, 2025 at 6:03 AM
Reposted by Max
Hilarious use case for a mapped type:

Use it to rename an object key your backend developers consistently misspell

parms -> params
May 26, 2025 at 10:32 AM
Reposted by Max
🚀 Ready to supercharge your PostgreSQL workflow?

Meet the new Microsoft PostgreSQL extension for VS Code - packed with powerful tools like:
🤖 Agent mode integration
💡 Schema visualization
⚡ Instant Docker PostgreSQL
🔎 IntelliSense-powered queries

Learn more: aka.ms/Blog/Postgre...
May 23, 2025 at 5:46 PM
Reposted by Max
I wrote up how I am using Claude code these days. It is fun. I built a basic interpreter.

Check it here and let me know if this matches what you are doing!

harper.blog/2025/05/08/b...
Basic Claude Code | Harper Reed's Blog
A detailed walkthrough of using Claude Code AI assistant for software development, including workflow tips, testing practices, and practical examples from real projects. Covers defensive coding strategies, TDD, and team implementation.
harper.blog
May 8, 2025 at 2:08 PM
Reposted by Max
The technique problem with legacy code is that since it wasn't written with tests, it's hard to write tests without changing the code, and it's scary to change working code without having tests.

Writing tests last forces you into this legacy code situation.
May 14, 2025 at 8:24 AM
Reposted by Max
Have you ever wished the browser would look at a background color and pick black or white for the text — whichever one provides more contrast?

Now, the `constrast-color()` function in CSS does just that.

webkit.org/blog/16929/c...
How to have the browser pick a contrasting color in CSS
Have you ever wished you could write simple CSS to declare a color, and then have the browser figure out whether black or white should be paired with that color?
webkit.org
May 13, 2025 at 6:28 PM
Reposted by Max
i think every react developer should watch this talk. if you want to cut to the chase, here is a timestamp where it kicks into high gear. (the stuff before is also very interesting, so maybe you'll rewind and watch the whole talk). but just listen for a few minutes and then keep watching if curious?
May 8, 2025 at 11:38 PM
Reposted by Max
ECMAScript explanations 😉

Rezvan Mahdavi Hezaveh has written an explainer blog post describing how the new `using` keyword works 🎉

Now shipping in Chrome 134.

This feature was championed in TC39 by @chronicles.org 👍

v8.dev/features/exp...
May 13, 2025 at 10:51 PM