HN user

Rauchg

3,589 karma

Guillermo Rauch. https://twitter.com/rauchg https://vercel.com

Posts110
Comments277
View on HN
vercel.com 11mo ago

We Built Serverless Servers

Rauchg
6pts0
silkhq.co 1y ago

Silk: Native-like swipeable sheets for the Web

Rauchg
6pts0
next-master.vercel.app 1y ago

NextMaster: McMaster-Carr in Next.js

Rauchg
25pts13
pipedream.com 1y ago

Pipedream Connect

Rauchg
4pts1
swift-ai.vercel.app 2y ago

Show HN: A fast OSS voice assistant

Rauchg
82pts29
magic-spell.vercel.app 2y ago

Magic Spell: AI prompting for <textarea>

Rauchg
3pts1
demo.hume.ai 2y ago

Hume – voice AI with emotional intelligence

Rauchg
16pts3
v0.dev 2y ago

V0 (Generative UI) is now in public beta

Rauchg
24pts3
vercel.com 2y ago

Partial pre-rendering: a novel rendering model for web applications

Rauchg
2pts0
twitter.com 2y ago

Partial Pre-Rendering Explained

Rauchg
1pts0
dagster.io 2y ago

Speeding up the dbt docs by 20x with React Server Components

Rauchg
4pts0
twitter.com 3y ago

Migrating Rauchg.com to Next.js App Router and RSC

Rauchg
2pts0
clerk.com 3y ago

Clerk Raises $15M Series A

Rauchg
1pts0
sharegpt.com 3y ago

Share GPT – Chrome extension for one click ChatGPT sharing

Rauchg
2pts0
github.com 3y ago

Mailing: Build and test and send emails with React

Rauchg
2pts0
www.makeswift.com 4y ago

Makeswift 2.0: visual builder for Next.js

Rauchg
1pts0
reflect.app 4y ago

Reflect: An App to Think Better

Rauchg
2pts0
swr.vercel.app 4y ago

SWR 1.0: The React hook for speedy data-fetching

Rauchg
3pts0
nextjs.org 5y ago

Next.js 10.1 – 3x Faster Refresh, Image Improvements, Apple Silicon Support

Rauchg
7pts3
next-server-components.vercel.app 5y ago

React Server Components demo using Next.js

Rauchg
3pts0
rauchg.com 5y ago

Books People (Re)Read

Rauchg
1pts0
medium.com 6y ago

The Hitchhiker’s Guide to Next.js

Rauchg
9pts0
rauchg.com 6y ago

Develop, Preview, Test

Rauchg
3pts0
rauchg.com 6y ago

Static Hoisting

Rauchg
3pts0
static-tweet.now.sh 6y ago

Incremental Static Generation with Next.js

Rauchg
2pts0
rauchg.com 6y ago

2019 in Review

Rauchg
124pts31
swr.now.sh 6y ago

SWR – React Hooks for Remote Data Fetching

Rauchg
16pts0
zeit.co 7y ago

Serverless Machine Learning with Lambda Functions

Rauchg
5pts0
zeit.co 7y ago

Ncc: Node.js Compiler Collection

Rauchg
58pts22
zeit.co 7y ago

Now 2.0

Rauchg
415pts117

R2S was a painful one, but Lachlan was a dream of a security researcher to partner with. Not just from a responsible disclosure POV, but things like hopping on multiple calls with Meta and our team to help us validate remediations. Thank you Lachlan for helping make the internet safer (and great job on figuring out this 'labyrinth' of a vulnerability)

Linux from Scratch 6 months ago

This was a pivotal project for me as a young lad learning Linux and software engineering back in the day. Can't recommend it enough. So many little frustrations and painpoints to overcome, wasn't easy , and shows you the ropes of what's to come.

We collaborated with many industry partners to proactively deploy mitigations due to the severity of the issue.

We still strongly recommend everyone to upgrade their Next, React, and other React meta-frameworks (peer)dependencies immediately.

Heard and appreciate the feedback. We’re well aware of the DX papercuts in Middleware. With 15.5 we made a big step in supporting Node runtime[1] which addresses a slew of issues people have reported over time.

If I went back in time, I would have called it Routing Middleware or Routing Handler. A specific hook to intercept during the routing phase, which can be delivered to the CDN edge for specialized providers. It’s also a somewhat advanced escape hatch.

Since OP mentions logging, it’s worth noting that for instrumentation and observability we’ve embraced OpenTelemetry and have an instrumentation.ts convention[2]

[1] https://nextjs.org/blog/next-15-5#nodejs-middleware-stable

[2] https://nextjs.org/docs/app/api-reference/file-conventions/i...

I've been acting mostly as the 'ideas guy' and helping with the architecture / QA. It's a great way for me to dogfood Vercel and build empathy as a user in an external org, using external services.

JS is used for fast page transitions and stuff like that, but funny enough I'm pretty sure I end up shipping less JS overall by running server-side JS.

Last I checked, a Tweet embed alone was several mbs of JS, and it causes a bunch of layout shift and loads third party resources. On my blog they're pre-rerendered and shipped statically[1]

Probably the strongest reason though is to not set a 'power cap' on your project unnecessarily. It'd suck to have to rewrite a project because you got trapped in a local maxima, which is why i always share you can have your 100 lighthouse cake & eat it too.

[1] https://rauchg.com/2021/making-the-web-faster#next-momentum

I appreciate your good faith engagement and legitimate questions.

Three quick reactions:

- The employee did not find location information on our platform. Our security team is certain of this and that the system worked as intended, but the employee misused it.

- Everyone at the company takes PII and protecting customer data extremely seriously. We have and we will continue to reinforce this in light of this situation.

- Our ToS are specifically designed to protect our customers. Note that in the terms folks are discussing we mention “only in connection to providing our services”. That said I’ll be following up internally to see if more clarifications can be made (I’ve seen companies provide high level summaries in the past to help with the legalese interpretation)

Hey folks,

Some clarifications:

- Leap AI (tryleap.ai) created a template which is a demo, incomplete version of other popular products.

- Templates get submitted to the marketplace all the time. One of Vercel’s devrel promoted it. The idea is to help people learn from a realistic, complete example

- This template has nothing to do with the code or data of any existing hosted Vercel app

Happy to clarify anything else further

Turns out Vercel are trying to kill solutions like Tamagui

No one is trying to kill Tamagui. Why would we want that?

the higher ups there are investors in Tailwind

I don’t know any investors in Tailwind at Vercel. I’m certainly not one. I don’t think they’ve even taken outside investment. And it’d be against our ethical and fiduciary responsibilities to favor one solution over another on that basis.

are trying to consolidate styling around it for their own ecosystem benefit

Tailwind is a great solution that’s earned the hearts and minds of the community, and that’s why we include it as an option in `create-next-app`.

It’s an option because you can bring your own styling solutions to Next if you’d like (like yours: https://tamagui.dev/docs/guides/next-js)

Maybe your perception is backwards? Large parts of the ecosystem are consolidating on Tailwind, and it’s our job to provide sensible defaults according to that.

Good article! I always notice this same effect when I visit my parents in Argentina or I'm in Europe.

Using a global CDN can help get your assets to your users quicker, and most companies by this point are using something like Cloudflare or Vercel, but many still only serve static or cached content this way. Very frequently the origin server will still be a centralized monolith deployed in only one location, or there will only be a single database cluster.

Notably: even if the source of truth is single-region, there's a lot that can be done to improve the experience by flushing parts of the page at the edge.

Check out https://how-is-this-not-illegal.vercel.app/ where the layout.tsx[1] file is edge-rendered right away with placeholders, and then the edge renderer streams the content when the single-region database responds.

Furthermore, consider that parts of the page (like the CMS content) can also be cached and pushed to the edge more easily than, say, a shipping estimate or personalized product recommendations, so you can have content as part of that initial placeholder flush. We have an e-commerce example that shows this[2].

[1] https://github.com/rauchg/how-is-this-not-illegal/blob/main/...

[2] https://app-router.vercel.app/streaming/edge/product/1

Do note that while Astro is a fine choice, your blog has much snappier page transitions with speculative prefetching and pre-rendering, while maintaining an equally good Lighthouse score.

As projects scale this matters more. For example, hard page transitions will accrue the cost of re-initializing the entire application’s scripts for every click.

Totally, I don't like surprising behaviors either. At the time we made that decision the `CDN-Cache-Control` proposal didn't exist, so it was a tricky spot.

There also really wasn't a UI opportunity in this case (although one thing we thought about was a setting to control it and turn off the Vercel override).

Unless I'm misunderstanding you: it's not about dev or prod. It's that you want Vercel to cache a dynamic page, but not your visitor. That allows you to be in control of the ship: if you purge the CDN, you don't risk a customer having a stale page.

I've seen a lot of customers get burn by sending `max-age` as a way of getting their CDN to cache, not realizing they're inadvertently caching on users' machines. Sometimes it's a seemingly harmless "5 minutes", but that can be damaging enough for rapidly changing pages (imagine breaking news on a homepage).

The gist is (which the support engineer referred to as the internal RFC): instead of stripping `cache-control` `s-maxage` / `stale-while-revalidate` values, we should support Targeted HTTP Cache Control[1] (i.e.: `cdn-cache-control` and `vercel-cache-control`).

Vercel strips them because (1) at the time this RFC didn't exist and (2) most of the time you we found customers don't want to cache on the browser side or proxying CDNs, which makes purging and reasoning about cache staleness very difficult.

Another example there is the default `cache-control: public, max-age=0, must-revalidate`. Without that, browsers have very unintuitive caching behavior for dynamic pages.

Customers want to deploy and see their changes instantly. They want to their customers "go to our blog to see the news" and not have to second guess or fear the latest content will be there.

I appreciate Max's feedback and we'll continue to improve the platform.

[1] https://httpwg.org/specs/rfc9213.html