Although GPON is shared, it is not half duplex! I'm not exactly sure why the asymmetrical version won out, perhaps due to cheaper optics back in the day?
Latest iterations (NG-PON2 and XGS-PON) are 10G symmetrical, and XGS-PON is now cheap enough that GPON doesn't make much sense. AT&T Fiber in the US has been deploying it for the last few years.
Yes, the different bands are not collected at the same time across the whole scene, so you get ghosting with moving objects. The SkySat sensor [1] is split in two halves: panchromatic and RGBN (where N is near-infrared). It takes lots of captures as the satellite travels that are later aligned and combined into one version.
> Ok, but that decision would have to be made by the project maintainer, in this case Google, not the person using Bazel to compile protobuf.
No, that's up to the user. If you include protobuf in your Bazel workspace and have a toolchain configured, protobuf will be built with that toolchain (this is also how you would cross-compile). Bazel workspaces are still a little rough around the edges and interactions between them can be very confusing, as Google doesn't need them internally (everything is vendored as part of the same tree).
Under the hood there's a default auto-configured toolchain that finds whatever is installed locally in the system. Since it has no way of knowing what files an arbitrary "cc" might depend on, you lose hermeticity by using it.
Of course, the whole model falls apart if you want to depend on things outside of Bazel's control. However in practice I've found that writing Bazel build files for third-party dependencies isn't as hard as it seems, and provides tons of benefits as parent mentioned.
For example, last week I was tracking down memory corruption in an external dependency. With a simple `bazel run --config asan -c dbg //foo`, I had foo and all of its transitive dependencies re-compiled and running under AddressSanitizer within minutes. How long would that take with other build systems? Probably a solid week.
I wish Bazel was more explicit about things leaking in from outside the workspace, but you can always vendor the toolchain to be more hermetic. For example see https://github.com/grailbio/bazel-toolchain which sets up LLVM and Clang for you.
The NSA's Neuberger said this wasn't the first vulnerability the agency has reported to Microsoft, but it was the first one for which they accepted credit/attribution when MS asked.
Sources say this disclosure from NSA is planned to be the first of many as part of a new initiative at NSA dubbed "Turn a New Leaf," aimed at making more of the agency's vulnerability research available to major software vendors and ultimately to the public.
BGRA is a "weird" convention in the graphics world that goes back to at least OS/2 bitmaps, when there was no wrong answer, and has stuck since then. Since early GPUs targeted Windows (where BGRA is the native format for GDI/D2D), it makes sense that it made it this far :)
Yeah, not sure why this is such a hard concept for some people. I just replaced my two year old Pixel's battery as it started crashing at around 35% (as high as 50% with the camera on) and I'm not a heavy user at all.
Depends the way you look at it. The final data is generally available within a couple minutes, but the data itself is not collected instantaneously. At least for the full-disk scenes, the collection takes 11 minutes so the top of the image is captured 11 minutes before the bottom.
In the commercial world, NNN (triple net) leases are popular. The tenants take care of property taxes, insurance, and maintenance, so it is a good passive investment since you don't have to worry about operating expenses.
Surprisingly, it's already not that painful. I recently wrote a tiny JSON service with Iron and Diesel and it wasn't that much longer or complex compared to Go. The biggest headache was figuring out how Diesel works, and it would have been a lot easier using raw queries with something like rust-postgres (which would be the way to go in Go or Node). Once the ecosystem matures a little bit more I don't see why Rust would be a bad choice.