YouTube: http://youtube.com/@housecor
Consulting: http://reactjsconsulting.com ⚛️
2014: Class state
2016: Redux
2018: useState, useReducer, useContext
2020: React query
2021: Zustand for globals
2024: useOptimistic, useTransition, useFormStatus, useActionState, RSC
2025: Tanstack DB or sync engine (Zero, Electric, Convex)
2014: Class state
2016: Redux
2018: useState, useReducer, useContext
2020: React query
2021: Zustand for globals
2024: useOptimistic, useTransition, useFormStatus, useActionState, RSC
2025: Tanstack DB or sync engine (Zero, Electric, Convex)
In some cases, TS even uses the exact same syntax as JS for a different purpose.
The difference?
JS features focus on values.
TS features focus on types.
Here's a few examples.
In some cases, TS even uses the exact same syntax as JS for a different purpose.
The difference?
JS features focus on values.
TS features focus on types.
Here's a few examples.
Solution: Use a template literal type.
Full "TypeScript: Deep Dive" course: dometrain.com/course/deep-...
Solution: Use a template literal type.
Full "TypeScript: Deep Dive" course: dometrain.com/course/deep-...
Solution: Use TypeScript's never type.
Here's how:
Full course: dometrain.com/course/deep-...
Solution: Use TypeScript's never type.
Here's how:
Full course: dometrain.com/course/deep-...
Solution: Consider an assertion function.
20% off the full course: dometrain.com/course/deep-...
Solution: Consider an assertion function.
20% off the full course: dometrain.com/course/deep-...
“TypeScript: Deep Dive” explores advanced TS concepts:
- Utility types
- Generics
- Mapped types
- Conditional types
- Template literal types
- Runtime validation
- Decorators
- tsconfig techniques
And over 250+ examples!
Get 20% off at launch here: dometrain.com/course/deep-...
“TypeScript: Deep Dive” explores advanced TS concepts:
- Utility types
- Generics
- Mapped types
- Conditional types
- Template literal types
- Runtime validation
- Decorators
- tsconfig techniques
And over 250+ examples!
Get 20% off at launch here: dometrain.com/course/deep-...
I wanted a count of all the exercise files in my new course.
ChatGPT provided the correct Bash command immediately.
I wanted a count of all the exercise files in my new course.
ChatGPT provided the correct Bash command immediately.
I’ve been heads down for 3 months creating my most ambitious course yet:
“TypeScript: Deep Dive”
Just recorded the final clip. This course is 7 hours of advanced features, tips, patterns, and tricks to level up your TS skills.
Publishing this week on Dometrain!
I’ve been heads down for 3 months creating my most ambitious course yet:
“TypeScript: Deep Dive”
Just recorded the final clip. This course is 7 hours of advanced features, tips, patterns, and tricks to level up your TS skills.
Publishing this week on Dometrain!
SpaceX survives because, like Tesla, they're profitable. They're able to do things cheaper than alternatives, because they innovated and created reusable rockets.
SpaceX survives because, like Tesla, they're profitable. They're able to do things cheaper than alternatives, because they innovated and created reusable rockets.
Tesla is an obvious American success story. Without Tesla, EVs would likely still be rare.
What system do you propose to avoid successful entrepreneurs getting too wealthy for your taste?
Tesla is an obvious American success story. Without Tesla, EVs would likely still be rare.
What system do you propose to avoid successful entrepreneurs getting too wealthy for your taste?
With 1, new code is held to a strict standard, and existing code can selectively have looser typing rules via nested tsconfigs, or by disabling TS in spots if necessary.
With 1, new code is held to a strict standard, and existing code can selectively have looser typing rules via nested tsconfigs, or by disabling TS in spots if necessary.
1. Start strict, and loosen in spots as needed.
2. Start loose, and migrate to stricter rules over time.
I prefer 1. It's safer.
Default strict. Loosen when necessary.
1. Start strict, and loosen in spots as needed.
2. Start loose, and migrate to stricter rules over time.
I prefer 1. It's safer.
Default strict. Loosen when necessary.
How? It includes expect-type now by default. Handy.
Example:
How? It includes expect-type now by default. Handy.
Example:
His wealth primarily stems from *equity* in those companies, and he funded them in hard times despite many near bankruptcies. Both SpaceX and Tesla would likely have went under without his financial support.
His wealth primarily stems from *equity* in those companies, and he funded them in hard times despite many near bankruptcies. Both SpaceX and Tesla would likely have went under without his financial support.
It seems fine at first, but at some point you need to understand how to code.
It seems fine at first, but at some point you need to understand how to code.
Solution: Instead of coding against these APIs directly, wrap access in an interface.
Solution: Instead of coding against these APIs directly, wrap access in an interface.
When I correct an LLM it “forgets” and makes the mistake again later.
Solution:
1. Create a llm-learning file.
2. Tell the LLM to write to that file each time I correct it. (I use copilot-instruction.md to instruct Copilot)
Now it “learns” over time!
When I correct an LLM it “forgets” and makes the mistake again later.
Solution:
1. Create a llm-learning file.
2. Tell the LLM to write to that file each time I correct it. (I use copilot-instruction.md to instruct Copilot)
Now it “learns” over time!