Mumbai is so enormous economically that its GDP of $260B is higher than all of West Bengal
Mumbai would be the 6th largest state economy all by itself
Cities are the real big drivers of economies, megacities are states in themselves
auto-growing <textarea> without JavaScript!
CSS is getting field-sizing: content; to size inputs by their contents.
Dropped in Chrome Canary today, demo here:
The greatest lie told to the public is that people make apps to sell data. Data has no value—you can buy a complete data set on the entire US population for under $10,000.
In reality, we actually do it to sell engagement. Attention is more valuable than a spreadsheet. And you only capture people’s attention by creating valuable & novel experiences.
This misconception has made people fear trying new products, which has hampered innovation in how we communicate and entrenched the positions of incumbent companies.
And it has also narrowed the audiences who developers can build for. So when you ask why there are so many silly teen apps, it’s because it’s one of the few audiences that haven’t been deluded by the narrative yet.
ok time’s up
here’s the deal with server actions
if you’re excited about them you’re wrong
if you’re mad about them you’re wrong
let’s do this
unfortunately @t3dotgg was right - the key thing the haters are misunderstanding is that NextJS is a backend framework
in your head think about it like express or any other http server - you wouldn’t be surprised if you could return html and do a database call right next to it
except it’s a better express because it lets you build all kinds of complex interactive clients via React
fundamentally there’s nothing wrong with this - you’ve been doing it forever in every other language, just never with this kind of focus on the frontend bits
but sorry nextjs fans you’re wrong too for dismissing people’s worries about “separation of concerns”
the only real job you have as a programmer is encapsulation - figuring out what details to hide and what to expose
and because this is your one job, of course you’re all terrible at it
forcing a hand rolled API layer at least guaranteed some level of thought and blast zone for refactoring
with that gone, doing the wrong thing just got a lot easier
it’s why in past generations, the frameworks had some encapsulation ideas built in (to varying degrees of being useful)
all the acronyms, MVC, MVVM, DDD yes can be overkill but the root ideas exist for a reason
https://t.co/GATDGb5Ia8 had these ideas baked in, elixir’s phoenix has a tutorial about bounded contexts right at the beginning, PHP only got lambos once Laravel nudged you into a stricter structure
are they perfect? no. but they’re a hell of a lot better than whatever you’re about to come up with given that NextJS has no philosophy on this problem at all
so a lot of you are about to repeat all the same mistakes we’ve seen a generation ago if you don’t slow down
@paulg I found early on just asking myself: “would I hire this person if I knew what i know now?” seemed to always produce the correct answer. Additionally can make all the founders put their answer in a hat and reveal at once. Do it for every person on the team.
It's been 2 years since we sold @teachable for a healthy 9-figure amount
In that time, I've traveled to lots of places, invested & worked with 50+ startups and had a ~lot~ of time to reflect on the journey
Here are all the things I'd do differently if I started over:
I devoured 50 years of Warren Buffett shareholder letters.
The result?
12 timeless principles from the greatest investor in the world.
Here are the golden nuggets🧵
Microservices solves a technical and organizational scaling problem.
If you don't have the problem, you don't need the added complexity.
Your boring codebase + Ubuntu VMs can easily handle a few million customers or a few thousands concurrent users.
Create the problem first!
Work Hard
If you want to accomplish anything in life, you have to work hard.
Don't believe the hype. Hard work isn't the sexy, flashy Instagram posts saying "rise & grind”—it's the ugly, painful effort in the dark, when no one is watching.
If you want something, go get it.
Just got some amazing advice from an old colleague I hadn't seen in 5+ years.
When choosing a company to be a part of, consider the people first and foremost. I cannot stress this enough.
Those colleagues will one day make up your network and have a huge impact on your future.