Because having more powerful tools is a different problem from using them well.
When GUI apps first made it easy for anyone to use 100 fonts and colors in a document, it did not make the quality of design go up. The tools became more powerful but the average quality of design went down because lots of people with less skill could suddenly participate.
Same issue here, two things are true at once. Models and agents are very powerful, and it makes it possible for less skilled or less conscientious developers to increase volume of low quality PRs.
Hmm, `mise use -g docker-cli` works for me. `docker compose` is a bit trickier – it gets installed as `docker-cli-plugin-docker-compose`, but docker-cli doesn’t seem to pick it up. I’ve added a symlink as `docker-compose` for the time being.
Also using brew for casks, and I think there’s a couple tools I couldn’t install with mise (e.g. pngpaste and zbar for scanning QR codes from screenshots).
There's the rename-exe option in mise.toml to rename the docker compose binary to `docker-compose`. I've used it on some machine, I think. Look it up in the docs, it doesn't take long to wire up.
The default docker-compose definition comes from aqua:docker/compose though, which does not support rename_exe. You have to specify github:docker/compose instead.
Nope :-( Just tried it again, it installs and is available in PATH as `docker-cli-plugin-docker-compose`, but `docker compose` says “unknown command”. For docker-cli to pick it up, it should be in $DOCKER_CONFIG/cli-plugins/docker-compose (~/.docker by default, though I use ~/.config/docker).
rename_exe doesn’t do anything on the aqua backend either (and isn’t a documented option). I’m on mise 2026.5.10 right now though so if you fixed something recently I might be missing out!
It does kinda make sense... until it doesn’t. It is a cool project from a tech standpoint, but it’s not practical when we have, well, email? (This is discussed elsewhere in the comments already, of course.)
That’s exactly what I thought after posting — so now it supports end‑to‑end encryption without a handshake. Still a single HTML file. Still no backend.
If you need a build script, your app is probably too big to be a single .html already.
> You can still cache the HTML.
But then any time you update any part of the app, the user has to re-download the whole thing. It is also a problem with many traditional frontend builds, but if you carefully split it into chunks, you can update parts of the app while most of it stays cached.
The strong point of single .html apps is, of course, that you can run them locally without setting up a web server or anything, and deploy anywhere you want by just uploading it. But it is a fairly niche thing IMO.
Alright, this is pretty cool. I don’t see any reason for it to be a single-file web app, though!
Going through your article on the topic [0], I think the only strong point that SFWAs have which SPAs don’t is: “you can download and run them completely offline”. This highlights the best use case for SFWAs – it is something that you might want to download and run offline. Hypervault [1] is a better example here, IMO.
SFWAs do have drawbacks, mainly the inability to cache things independently (it’s all-or-nothing), or to download things in parallel. So basically it boils down to two questions:
• Is my app something users would want to run offline?
• Will I update it frequently enough for the cache problem to matter?
If it still makes sense to distribute your app as an SFWA, but you have to use a bundler, you can have the best of both worlds by making two builds: one as an SFWA, and one as a “traditional”, chunked static SPA. It should be fairly easy (just make two different configs, building from the same source).
Pretty graph! iOS Safari, takes just under a second probably to load each time I pan across the graph. Wonder what it’d take to bring it all the way to smooth scrolling—too demanding on resources?
Looking again, figure it has to do all the math again with each pan/drag, so minor latency makes sense.
Sadly pretty normal for European companies. The penalties they face for signing up a bad customer are so much harsher they won't risk letting just anyone sign up without actual KYC not just checkbox KYC. This is the same reason Hetzner turns away 50% of its customers.
I used to work at Stripe and they subject to the same penalties as Ayden. There is a misconception that Stripe is an American only company, they have dual HQ model in Ireland and San Francisco. Since they are an Irish founded company and they have an EU entity “Stripe Technology Europe”. They can be kicked out of entire countries and regions if they didn’t have an extensive KYC systems and be fined just the same.
Since Stripe operates by working with a BIN (banks that sponsor them within each country) generally like all payment providers. While the decline rates for new customers are not public, they are very high, especially for industries that aren’t allowed like Adult Content, Weapons, and Gambling [1]. Also revocation of existing accounts can happen often if KYC systems flag anything, like Stripe Identity, Connect, and Radar.
Mollie (also Dutch) existed even before Adyen (and way before Stripe). They have no problem dealing with small customers, and have always offered a trivially easy to use API.
Love for Mollie - and literally had this exact theme last year at work. Stripe implemented, then customer A couldn't use it due to US base, so went to Adyen, built integration, rejected as less than $5 million as first responder said, then went to Mollie.
Only gripe is no embeddable checkout but its not a huge deal, and they have superior test platform than even Stripe. The test cards are right there in slide in panel, and you have option to select paid/cancel/fail etc to test different outcomes.
Mollie B.V. is licensed and registered as an electronic money institution with the Dutch Central Bank (relationship number: F0038). Mollie UK Ltd is licensed and registered with the Financial Conduct Authority as a payment institution in the UK (FRN: 977968).
I think the OP’s point still stands, but it is a fairly weak argument.
I am Russian and I do oppose Putin’s regime. My family is in Russia, though. If I send them money (which), and they pay for, say, groceries, which are taxed, some tiny part of my money will be used to fund the regime and the war. I am very disappointed but there is no way for me to just yank all my family and friends and relocate them to a less fucked-up jurisdiction.
Doing business with Yandex is a whole other beast. Kagi can choose to use a worse search engine API which doesn’t involve paying money to a Russian company. Are there some market forces at hand here? Maybe a lot of Russian expats pay for Kagi because it has good Russian-language results? I don’t know.
Edit:
> But is Yandex government owned?
It isn’t, but I really doubt it has no ties with it. It would be interesting to trace and see if Yandex Cloud’s international branch money gets back to its Russian counterpart, or if they are two separate things.
reply