swyx Profile picture
27 Dec, 11 tweets, 10 min read
In 1976, Stuart Feldman made Make, the build system that secretly runs ~all open source.

In 2021, @jaredpalmer spent the year working on a new tool that is up to 85% faster. @Vercel snapped it up last month.

Why @TurboRepo will blow up in 2022:

dev.to/swyx/why-turbo…
The origin story starts with this looongstanding open issue on TSDX from @n_moore. As an early helper on TSDX I shied away from it bc I thought that it should be solved by dedicated tooling like @yarnpkg.

Jared went one step further and *built it*.

Big monorepo shops like Facebook and Google have loads of tooling to make monorepos work, but this class of tooling never made it out into open source.

@TurboRepo does 3 things:
- Make monorepos zero config
- Make monorepos incrementally adoptable
- Make monorepos scale
What @TurboRepo does:

- Read your build pipeline from `turbo` config in package.json
- Generate dependency graph
- Fingerprints inputs
- Executes each task in turn
- Caches output/logs

On subsequent runs, if a task matches a fingerprint, it restores from cache and replays logs.
The API surface area of @TurboRepo is shockingly small:

1️⃣`npx create-turbo@latest myrepo` scaffolds a new monorepo
2️⃣`turbo run build` runs the `build` task
3️⃣configure pipeline in package.json `turbo` key

Thats it! Turbo parallelizes tasks based on DAG turborepo.org/docs/reference…
Remote Caching: Dropbox for your dist dir

The showstopper, still in beta, but the reason why @Vercel's acquisition makes total business sense (apart from gaining the imprimatur of having @jaredpalmer on staff).

Available for *FREE*.
How is @TurboRepo so fast?

- Efficient scheduler + rebuilder system ensures you never recompute work that has been done before
- Parallelize as much as possible
- 74% written in Go (see: "Systems core, Scripting shell" in Third Age thesis)
Why @TurboRepo will be a big deal in 2022:

- "Zero config" - lots of value out of the box
- Declarative build pipeline
- Great debugging/profiling
- Great docs/marketing
- Devs have been hearing nonstop about the benefits of monorepos but always held back by tooling
For more on TurboRepo, including notes on future roadmap, check out my blogpost:

dev.to/swyx/why-turbo…

Note that I am not affiliated with the project, am just excited about it and am sharing what I #LearnInPublic. All inaccuracies are my fault.
If you have time, watch @jaredpalmer and @leeerob go through the @turborepo demo:



As a former monorepo skeptic, IMO this is the time to really dig into them as they are set to explode in 2022.
Added a section to give some spotlight to @NxDevTools as well, as @jeffbcross has been patiently answering questions in the replies. They have a comparison page up on their docs: nx.dev/l/r/guides/tur…

Others have also created perf benchmarks:

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with swyx

swyx Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @swyx

31 Oct
Trying out @factoriogame for the first time this weekend

If you don't hear from me... you'll know its going well screenshot of factorio game
@factoriogame streaming it actually DM to jump on stream and chat if we know each other
Before I attempt the last tutorial I'm checking out a few tips and tricks videos to see what I'm doing suboptimally and there's a LOT! man, tutorial was good but I was doing so much manually that they could've just told me outright...

this is the best one
Read 4 tweets
12 Oct
This year I've done a total 180 on open source strategy.

Remember Elastic making a fuss with "Amazon: NOT OK"? I was quite persuaded. If MongoDB, Redis, Cockroach, Confluent relicensed and do fine, maybe SSPL just becomes acceptable "open source".

Now I think MIT is just fine.
Probably my biggest test of confidence was in March when @martin_casado and @davidu pushed back on the open source religion - if your monetization is SaaS, then open source is just marketing (there's nuance here, pls read his replies before reacting)

Open sourcing has a cost - at @temporalio it impacts decisionmaking in engineering, product, docs, devrel. Tradeoffs we wouldn't have if we just had a free tier.

But look at how extensively @NetflixEng has been able to adapt our SDKs and devtools:
Read 12 tweets
11 Sep
Never thought I would see a frontend eng team celebrate shipping a static marketing site with 847kb of JS.

Until I saw what it used to be…

notion.so/blog/migrating…
I'm no perf expert or perf shamer (let he who is without sin...)

But here's what I do believe:

1. local Lighthouse runs are not credible. Use webpagetest or web.dev/measure.

2. you do NOT have to use the same tech for app and site! :)
in fact i’m -so- not a perfshamer I shall now say the thing I’m not supposed to say:

before today you didnt know or care that Notion had a 9.1MB JS marketing site; if it impacted them enough they would’ve fixed it sooner; you may have a fast site but they have 10 million users.
Read 4 tweets
28 Aug
Most people know the 4 key metrics of Dev Ops:

- Delivery lead time
- Deployment frequency
- Mean time to restore service
- Change fail rate

What would the 4 key metrics of Dev Experience be?
my picks:

🌏 Time to World Tour

Anyone can do "Hello World" with `git clone` and not teach a thing. More impt to give the developer a useful mental model of what they should know in short time.

You can't visit all 192 countries, but you can show that there are 7 continents.
🏃‍♀️ Time to Implement Change

Anyone can build brittle systems. But great DX optimizes for 1-2 standard deviation changes in requirements:

- find helpful docs fast (better: no docs needed)
- low edit distance
- smooth migration paths

Read 5 tweets
1 Jul
"Broccoli positions": Opinions that may be good for you, but make the person extremely unpopular/exposes them to looking stupid.

Diametric opposite of @shreyas' Apple pie positions.

Some I've seen, no particular order:
"No amount of hiring will help us."

"This isn't good enough. Ship it."

Better than never-shipping perfection.

The more stakeholders, the better you get at not-shipping.

Make sure to build in the feedback loop or you won't know what's embarrassing.
Read 9 tweets
22 Apr
I'm turning 35 today! 🎉

As I grow older, I'm realizing the value of principles to make decisions and guide behavior. What are yours?

Here's 35 of mine:
This is a thread of 35 Principles from my 35 years, but a full writeup of these will be available on my blog: swyx.io/35-principles/

and discussed on newsletter ✉️ (good reads every week!)
1. Life is Too Short for Short Term Games

We only have so many years for long term games to compound. Make 'em count.

Read 38 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(