Every language is fast
- 1.8k words
- 9 mins
Rust is obviously fast. C’s performance is second-to-none. Assembly is probably even faster. But I’ve also heard Node.js described as fast too, while others say none of this even matters because I/O.
Can all these claims be true?
Benchmarking JavaScript is hard
- 1.2k words
- 6 mins
Benchmarks try to measure the performance of a bit of code in isolation. Using them in JavaScript can have some pretty misleading results.
To see why, let’s take a closer look at how JavaScript engines work.
Conditional overloads that work when conditional types fail
- 1.4k words
- 8 mins
How can we define methods that have different signatures depending on a type parameter?
Let’s take a look!
Exposing utility types
- 900 words
- 5 mins
What do you do when you have a bunch of utility types that are closely related to a class or interface? Should you expose them or not?
Fixing type inference in generic rest parameters
- 700 words
- 4 mins
It turns out that combining generics with rest arguments is kind of tricky in TypeScript. Let’s see where the normal approach fails and how we can use tuples to fix it!
Scalability is not performance
- 1.4k words
- 8 mins
Scalability is sometimes confused with performance, but it’s not at all the same thing.
In this post, we’ll take a closer look at what both of those things mean, with the help of a simple model!
Debugging the debugger to inspect pages with code
- 1.6k words
- 8 mins
Using the right approach, you can get past the Chrome inspector’s UI and call its internal API directly.
This lets us debug live webpages using JavaScript instead of buttons!
Treating types as values with type-level maps
- 1.6k words
- 8 mins
With a shift in perspective, we can view complex type declarations as another kind of code. Code where types are values.
There’s no better example of this than the type-level map. Let’s take a closer look!
iframes and when JavaScript worlds collide
- 1.5k words
- 8 mins
Every iframe gets a complete copy of the JS web environment, down to every prototype chain.
Let’s see what horrifying things can happen when we interact with it!
How can you make a synthetic iframe?
- 1000 words
- 5 mins
A synthetic iframe is one that doesn’t have web address. It's filled by its parent page instead.
Let’s take a look at every single way you can create one.
What is a DOM node? A peek under the hood
- 1.1k words
- 6 mins
What makes an object a DOM node? Is it the prototype or something else?
The answer turns out to be surprisingly complicated!
What is an iframe? An overview
- 1.3k words
- 7 mins
Iframes are omnipresent and very useful, yet they're also complicated and confusing.
Let’s take a broad look at how they work.
How many types of script tags are there?
- 2.0k words
- 10 mins
There used to be just one type of script tag, but after decades of web standards development, we have tons of them.
Let’s take a look at every single one!
