why didn't the ios team do this before? 15 MB seems very low for network extensions
why didn't the ios team do this before? 15 MB seems very low for network extensions
Many of the protocols you'll be talking were created when computers had maybe 32MB of RAM or less, and you wanted to do more on them than merely connect to a VPN.
Lots of network hardware still in use nowadays doesn't have much more RAM than that either.
Even now, after twenty years of continued development, an openvpn client with all of its shiny new features enabled only uses about 6MB-7MB on my computer.
And we all know how fat Go binaries tend to be.
In see them young engineers bringing their new fancy stuff, and of course hitting walls everywhere, walls that we (old farts) sweated buckets to handle on our old. Dependency management (not only the libs, packages, but also the underlings OS, or libc, or even ISA...) and upgrade mills, training costs all over, coding standards to draw up, peer review tools and practices to upgrade, interfacing options with other projects to normalize, perf practices to upgrade... I'm forgetting many, and I have this email ready for every new language or tech, with all the hurdles to clear (and the post-mortem costs of clearing them in the past). Do the work, show your org and peers you thought about it seriously and how much we'll win.
If then the juice is worth the squeeze, by all means, let's go. It happens, a lot, but it can't be an individual choice for the whole org, or 'it's just a language'.
Sorry for the Sunday rant...
This post is one good example of the implications of targeting platforms with languages outside of the ones provided in the SDK.
However as you say that is a lesson most young engineers have to go through, I also went through it.
I would love for you to share this. (even if it's not english)
Interesting journey, and a solution that benefits the broader community, not just the authors. It's a win-win in my book.
Yet Facebook has learned it wasn't the best way of spending resources and nowadays most of their backend infrastructure is using C++, Java and whatever.
So in some sense, it is the kind of strategy that is required when needed to prove a point instead of trying to convince others just with words, which is always a big pain point when trying to talk about better approaches to secure software development.
The ml framework I use (ncnn) uses vulkan beneath.
For an iPhone 12 (which shipped with iOS 14) just the 2 framebuffers for a double buffered display will take up the 15 MiB. Operating systems that are "significantly less than" 15 MiB would not be suitable to run a modern personal computing device.
Layer upon layer upon yet another layer of abstraction have made it so nobody sees the turtles the whole thing rests on...
Back in those days a screen was often 640x480 = 307 200 pixels
An iPhone 12 Mini has a 1080×2340 screen = 2 527 200 pixels = over 8 times the size of those old screens
Today's OS:es work with much much larger datasets overall, not just in graphics but elsewhere as well, and are optimized for that