sure, rasterizing triangle is not so hard, but.. you know, rasterizing rectangle is far far easier
sure, rasterizing triangle is not so hard, but.. you know, rasterizing rectangle is far far easier
Just yesterday, I wanted to generate a GeoTiff on a macbook. To do it in a simple way, you need libGDAL, a geo-spatial abstraction library that exists since maybe the '90 and supports all thinkable formats. Under Linux, you just install it together with QGIS as a dependency. Mac is still unix, so you may think, a 3-decades old library, with few patches to support modern formats, should be just a couple of megs, right? Brew suggested downloading ~2 GB of ~100 packages!!!! Half of them were aws-* (yes, AWS tools), and 1 GB of LLVM!!! (is it their whole GIT repo with 10M SLOC?)
For geotiff, I ended just using standard Tiff library, inserting my 4 geospatial tags with a few lines of code.
* 562mb of Python 3.11 and libraries (of which 240mb goes to the qgis python library, 101mb goes to duckdb, and 50mb to PyQt5) * 130mb to i18n * 140mb to `libclntsh.dylib` which I think is the Oracle DB client library? * 80mb to libduckdb.dylib, separate from the Python version * 80mb to libQtWebKit
This is utterly false. At best you can claim you’ve heard of a few homophobic racists who happen to be republican . I’ve met just as many who happen to be democrat
Just to easily refute one of your 2 claims. Non-white republicans demographics is growing, not shrinking
And yes, I have had a look into the examples - maybe one or two years there was a significant patch submitted to the kernel and number of unsafe sections made me realize at that moment that Rust, in terms of kernel development, might not be what it is advertised for.
> https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/l..
Right? Thank you for the example. Let's first start by saying the obvious - this is not an upstream driver but a fork and it is also considered by its author to be a PoC at best. You can see this acknowledged by its very web page, https://rust-for-linux.com/nvme-driver, by saying "The driver is not currently suitable for general use.". So, I am not sure what point did you try to make by giving something that is not even a production quality code?
Now let's move to the analysis of the code. The whole code, without crates, counts only 1500 LoC (?). Quite small but ok. Let's see the unsafe sections:
rnvme.rs - 8x unsafe sections, 1x SyncUnsafeCell used for NvmeRequest::cmd (why?)
nvme_mq/nvme_prp.rs - 1x unsafe section
nvme_queue.rs - 6x unsafe not sections but complete traits
nvme_mq.rs - 5x unsafe sections, 2x SyncUnsafeCell used, one for IoQueueOperations::cmd second for AdminQueueOperations::cmd
In total, this is 23x unsafe sections/traits over 1500LoC, for a driver that is not even a production quality driver. I don't have time but I wonder how large this number would become if all crates this driver is using were pulled in into the analysis too.
Sorry, I am not buying that argument.
Have you written any Rust?
Other platforms don't have a leader that hates C++, and then accepts a language that is also quite complex, even has two macro systems of Lisp like wizardy, see Serde.
OSes have been being written with C++ on the kernel, since the late 1990's, and AI is being powered by hardware (CUDA) that was designed specifically to accomodate C++ memory model.
Also Rust compiler depends on a compiler framework written in C++, without it there is no Rust compiler, and apparently they are in no hurry to bootstrap it.
As does the GCC C compiler.
In my mind, the reasoning for rust in this situation seems flawed.
You still get the safety guarantees of Rust in unsafe code like bounds checking and lifetimes.
Especially as CBP officers commit crimes at a higher rate than undocumented migrants in the US: https://www.doomsdayscenario.co/p/accountability-for-ice-and...
In fact if you were to make a police force entirely out of CBP officers who have been arrested, it would be the fourth largest police force in America.