https://docs.protomaps.com/guide/getting-started
Downsides? Nothing major that I can think of. You have to add another client-side dependency (support for their custom protocol); the library is pretty small and easy to audit.
Editing map styles is slightly more difficult because generic maplibre styles won't work with it: they add a bit of custom sauce on top. IIRC this editor worked fine, you can import one of protomaps styles and base your work off it:
https://maputnik.github.io/editor
That's probably it.
Deleted Comment
Emissary aims to take advantage of the simplicity of using the annotations for handlers (e.g. @RequestHandler/@EventHandler) without the drawbacks of reflection (slow).
What differentiates Emissary from other messaging/dispatch libraries? It takes advantage of java.lang.invoke.LambdaMetafactory to avoid the cost of invoking methods reflectively. This results in performance close to directly invoking the request handler and event handler methods.
~ 1000% more throughput compared to other similar libraries (Spring's ApplicationEventPublisher, Pipelinr, EventBus) ~ 90% faster compared to other similar libraries (Spring's ApplicationEventPublisher, Pipelinr, EventBus)
Benchmarks found on the GitHub repository: https://github.com/joel-jeremy/emissary?tab=readme-ov-file#p...
Using Postgres too long is probably less harmful than adding unnecessary complexity too early
The 'vicarious firsts' framing doesn't quite land for me because of that, but the 'urgency that won't let you drift' observation resonates. Maybe what matters isn't renewed wonder but having something -- family, friends, caring about the world -- that demands presence. The forcing function matters more than the feelings themselves.
My dad always says something related in nature: caring about and loving your family makes you a better person more than it helps your family.
It's a cliché but I (almost 50 years old) have found that when you get older, you notice patterns, Something "new" is often just an incremental improvement or two existing things combined.
Rust doesn't excite me much, and Go seems too boring to use for my side projects. Elixir + Phoenix LiveView is the only "new" thing that has excited me in the past decade, but I can't stand the Elixir syntax. Maybe it's because I have seen so much change during the years? If someone started out with React, a new version seems like a big deal, but to me it is just an incremental improvement.
When I was a kid, a new CPU or GPU had an extreme impact compared to the previous generations. We went from crappy Wolfenstein graphics to Quake in a few years. I have stopped following new releases now, because they don't really do much.
The same applies to mobile phones. The next iphone / samsung model doesn't really motivate me to replace my existing phone.
I rarely find myself on "autopilot". Is that why?
My theory is that the brain is good at compressing memories, so if you do mostly the same things every day it's not stored as a separate memory.
I actually felt my 30s as one of the longest periods in my life, because of things that happened in my life
If you have more than 2 states, then just use integer instead or boolean.
> Saving a few bytes on the index isn't worth losing that observability.
Not sure why having a few well-known string values is more "observable" than having a few well-known integer values.
Also, it might be worth having better write performance. When PostgreSQL updates a row, it actually creates a new physical row version (for MVCC), so the less it has to copy the better.