> I don’t see enough value in the added complexity and the increasingly complicated API surface.
This very much. For my own work and personal projects, the pages router has been more than enough.
In terms of the complicated API surface and the difficulty to grasp newer concepts introduced with the app router, it continuously reminds me a couple lines of the Zen of Python[0]:
> If the implementation is hard to explain, it's a bad idea.
> If the implementation is easy to explain, it may be a good idea.
There's objective aspects of safe driving like leaving enough distance between vehicles (depending on speed) that are wildly ignored. You might get used to that in practice but that doesn't make it safer.
I was thinking about chaotic Italian road crossings. Or, to give another example, l'Arc de Triomphe in Paris. People tend to communicate with their cars where they want to drive and I understand that foreigners find this aggressive.
I was not thinking about excessive speeds or tailgating.
In Southern Italy, when you are stuck in a traffic jam in the city, you just drive nearer to other cars, and this is only mildly dangerous because you don't have high speeds.
If you don't drive tight enough, you just can't proceed because some other car will take your place.
I was more thinking about me being tailgated at 2 ft distance and then overtaken on an extremely narrow mountain road near Arco. People were honking while doing this so people in the oncoming lane around the bend could start breaking (I was told by a local). Happened all the time in the cumulative month I spent there, never got used to it.
Lots of crosses remembering dead drivers on the side of the roads too.
> If you are descending at 40-50mph you have to remove your hand from your hood in order to see your map.
Well you don't have to, you can switch to the map screen before starting the descent. If you are willing to change screens while descending, the blame on safety is not on technology, but rather on your own decision to do so.
On this note, it's fascinating to see how the influence reaches the coat of arms and the flag of Saint Pierre and Miquelon, which includes the Basque flag or Ikurriña.
> The only time the guillotine was used in North America was on Saint-Pierre in the late 19th century. […] The device had to be shipped from Martinique and it did not arrive in working order. It was very difficult to get anyone to perform the execution; finally a recent immigrant was coaxed into doing the job.
With GitHub's squash + merge, clean history still depends on the person doing the merge, because when clicking the squash + merge button, GitHub places all commit messages in one large chunk of text, which devs are able to edit before confirming the merge, but it takes some discipline to do so.
In my experience, devs rarely pay attention to this, so commit messages end up as a big list of:
* Ticket-1234 feature
* fix
* cleanups
* fix
* another fix
* now the real fix
Which I wouldn't qualify as a contributor to a "clean" history. It'd be great if GitHub's UX around crafting the commit messages would be more considerate and foster more meaningful commit messages.
Also excited about the Rust compiler! Apologies if this is far from reality, but by looking at recent commits in GH[1] it looks as though this has been rushed for a v12 release, so I was wondering how much of internal testing has this been going through before pushing it to the broader public.
We've been testing SWC for months now, both with early community members on canary releases and with Vercel customers. Lots of the rushing at the end was for minification, which is opt-in because of this. But compilation with Rust (replacing Babel) is stable (which is why it's on by default).
In terms of the complicated API surface and the difficulty to grasp newer concepts introduced with the app router, it continuously reminds me a couple lines of the Zen of Python[0]:
[0] https://peps.python.org/pep-0020/