1,264 karma · joined February 23, 2021
But I think for a distribution it makes more sense to link swift programs dynamically against the runtime libraries, like it's the case for e.g. the C standard library, OpenSSL etc., as you can assume they all work with the same version and are ABI-compatible.
I tested it with a nearly static build (Still links against glibc and friends): 55MB get stripped to 44MB, so not that much. 27MB of that is icudt_swift65_dat, so I guess you would have to optimise that first
But in the end it would be again an arms race of adblockers and Google, so it would change basically nothing.
The only thing left is that jail-breaking an iPhone seems to be harder than rooting an android phone.
Sure if something similar happened to an open-source project, you would still have to either hire engineers to work on the compiler/tooling/language or to rewrite it in a more supported language, but I would consider it a little less riskier as you aren't dependent on one vendor
I would say it's more a problem of the US companies, if they can't do business without violating EU regulations.
I have not used it before, but it seems like it follows your requirements (Except auth using SSH keys maybe, but that could be a task for e.g. Nginx)
On the right side I have a weather/news widget from some really shady or local newspapers about "celebrities", a lot of clickbait, stock data etc.
And obviously the first time I opened Edge I was greeted with some annoying banner, that I should login etc.
A default installation of an OS should only come with the bare amount of software necessary. If they had asked: "Do you want to have news/recommendations? - Yes/No,never ask again" it would be really okay as there was no forced consent, but installing it by default is simply a bad decision. (From a users' perspective, it probably makes sense from a corporate perspective as otherwise they wouldn't do it)
You can see the same with all those dialogs that only have "Yes, do $THING" and "Remind me later".
For example the MIT-License has a rule:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
And as far as I can see from this article, there was no acknowledgment. According to tldrlegal (Sadly don't have the time to read through the entire AGPL license): https://www.tldrlegal.com/license/gnu-affero-general-public-..., you have to include the license and copyrightAdd `--libs` to link against it, too: -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -pthread -lglib-2.0
With meson that is basically `dependency('glib-2.0')` that you add to your executable/library.
> you expect your users to install your app dependencies for you, and you have to figure out the path of your own dependencies.
If you use a good buildsystem, it will find those dependencies automagically or you can e.g. use wrap dependencies: https://mesonbuild.com/Wrap-dependency-system-manual.html Those do automatically download the dependencies and compile them for you
When would you even want to target X11/Wayland directly? Just use a toolkit and ignore the underlying stuff. For 90% of the application it does not matter.
> I find it difficult to see why this is going to change any time soon, the performance of a well written UI in a modern browser out-performs a native desktop application in every category of sped, usability and presentation for most usual use cases.
I always encounter the exact opposite. I've never found any web application with a good UI or any web application that outperformed a native one.
> Could you imagine a future where desktop applications were built like this, and in every sense of the word, “portable between operating systems” with the experience being identical on all platforms…
This sounds more like a really crappy future, if anything looks everywhere the same. Applications must integrate with the "host"-OS.
The only reason the web stack is used for desktop applications is because it is a bit cheaper and less effort than writing a good - native application.
The lock-in argument is just a very weak one. At some point you depend on something. Oh, your HTML only renders fine in Chromium or you use Chromium only JS APIs - you are locked-in to Chromium now.
C++ has its template instantiations with the same problem.
Another aspect is how much more the compilers optimize, compared to the "early" days, modern compilers can often beat human programmers at optimizing assembly in a reasonable time and can do a lot more complex optimizations. In addition to that, you can couple it e.g. with linker optimizations like LTO/BOLT and you have even longer build times.
I think another factor is the more and more dominant static linking model (Rust/Go/Swift). If I compile e.g. my program with the swift stdlib statically linked, it takes around 15 seconds for an incremental build, while using a dynamically linked stdlib it takes around 6 seconds. Sure it is just one benchmark, but static linking nearly everything won't have no impact.
Yes, there is Vendor-lock in, you can't deny that. I don't know what you mean with "user-hostile" and "developer hostile".
I - as user - personally ignore anything web based, if there is a native alternative, as I prefer apps that follow the HIG and use the native toolkit of the platform. Sure I'm just a single person, so this is anecdotal.
> And that’s web stack with access to system APIs.
No I fully disagree. A good UX is only doable, if you use native components and fully follow the HIG. I have not yet encountered a good webapp that is on par with a native app that does exactly this.
Anything web based is good for "one code base - available - but subpar - for many platforms", while native apps are "One code base - one platform, but a great experience" (Given you follow the HIG and use native components)
One extremely trivial example: I don't want to accidentally delete e.g. my files, just because some app thinks switching e.g. "Ok" and "Cancel" around is nice.
While yes, web apps have their uses, but they can't match good native apps even remotely.
Sorry but no. That's like getting a speeding ticket and complaining about the fine. You break a law - you pay a fine. That is no rent-seeking.
> Release open source software with license specifically prohibiting European companies from using them.
That's no longer opensource: The license must not discriminate against any person or group of persons. (https://opensource.org/osd)