79 karma · joined June 16, 2022
Ran vapor new. Tried to build the project. Laptop spun for minutes and got really hot. Then I gave up and just went back to the usual.
I’m considering the use of swift and vapor for my new ideas too, over kotlin.
Better than no magic abstractions imo. In our large monorepo, LSP feedback can often be so slow that I can’t even rely on it to be productive. I just intuit and pattern match, and these magical abstractions do help. If I get stuck, then I’ll wade into the docs and code myself, and then ask the owning team if I need more help.
> The standard VC business model is to invest in stuff that FAANG will buy from them one day. The standard approach is to invest in stuff that's enough of a threat to FAANG that they'll buy it to kill it, but this seems more like they're gambling on an acqui-hire in the future.
But the reality is that teams have started with untyped Python, Ruby, and Javascript, have been productive, and now need to gradually add static types to remain productive.
> Every caller would need to check that the function...
The nice part here is where the gradual part comes in. As you are able to type more of your code, you're able to move where you add your runtime validation, and eventually you'll be able to move all validation to the edges of your system.
Sorbet (Ruby typechecker) does this where it introduces a runtime checks on signatures.
Similarly in ts, we have zod.
Are you trying to grow a team? Still arguable to choose whatever you are best at because you can grow that team.
For any other project, I can spend half an hour max to get a decent deployable build. The trade offs is Nix doesn’t seem to work for me.
The time to finish your project would be quicker with all-in-one solutions.
Ditch the nextjs part and just return html. Add alpinejs and htmx and you won’t need to waste time creating a typical json api.
Roc lang seems to be building up to what I desire. But we shall see. At the end of the day, picking one of the mainstream runtimes ids the safest bet. F# if we want to enjoy some fun but stay pragmatic.
dune init …
opam install some tools like lsp
restart vscode
dune build --watch and I’m good to go.
Edit: adding some counterpoints and issues to level the field (but are being worked on)
1. dune/opam - wish they were one thing. I can still install packages with dune, and a package lock file exists for deterministic-enough builds.
2. dune files and s-expressions are still weird to write. I wish we can move away, or at best, have a tool that helps you remember and where configs. best I have now is chatgpt instead of having to crawl dune docs
3. eio, lwt, async - 3 async runtimes, hoping that one day it’ll be easy to use an async lib with an lwt-based project via eio. The division will likely never be consolidated
Unless you really want the one-click experience. We use aws sdk, spin up sqs, add some env vars to aspnet, connect the client, enqueue and dequeue all from the same app without a 3rd party (short of the queue infra).
Are there any public discussions of more trade-offs vitess has to make to enable fks?