While you won't get access to the videos, you can just try running the exercises yourself and see what you learn.
Pro Essentials will get you shipping apps. Type Transformations, Generics and Advanced Patterns will ensure you get up to wizard status.
So once you've read the book, self-directed your way through all my free and paid courses, it's time to dive into my social media content.
And, folks, there's a lot of it.
My articles on Total TypeScript are a great place to start if you like written content.
There are nearly 100 articles here, written with the same tools I used to write the book. They cover all sorts of topics, so just pick what you fancy reading.
If you prefer videos, my YouTube channel has a similar vibe. I do updates on the latest TS releases, deep-dives into specific topics, and shorter tip videos.
You've got three options. type, interface or an inline object literal.
Inline object literals might be fast to write, but it means you can't extract the type out for use elsewhere in your codebase:
This makes them hard to recommend.
So, interface vs type again. As I've said before, I prefer type.
But let's say you're building an input that needs to take all the props of 'input', but with an extra label.
For those cases, you must use interfaces:
Using an intersection here will slow down TypeScript on the scale of a large codebase. interface extends is the way to go.
This means that it's a good idea to get into the habit of using interfaces for each prop declaration.
I recommend using a code snippet to declare the interface for you:
All the speed of an object literal, but all the reusability and TS performance of an interface.
Want to share outside of X? Head to Total TypeScript:
Anyone know if it's possible to detect a QR code (or even just a fiducial) from a video using ffmpeg?
I'm asking for a slightly hilarious reason.
I use ffmpeg for automatically editing my videos. When I screw up a take, I want to be able to hold up a QR code on a paddle to tell my editing software to discard that take.
Another MUCH SIMPLER solution.
Assign a keyboard shortcut to a @scriptkitapp script which adds the current datetime to a global json file.
I can use this keyboard shortcut to mark the current take as 'discarded'.