You write the software in such a way that instead of just reading and writing registers or memory you exercise some set of functions. In normal operation you pass the driver a set of real functions that read and write real registers. In testing you pass functions that do other things. This makes it quite easy to exercise the features of the hardware that are rarely seen in the wild. For example most IO adapters and NICs have some kind of signal that they are overheating. Most Linux drivers simply ignore or malfunction when these conditions are raised, because the author of the driver never got a chance to manually exercise that feature.
This is basic design for unit testing but it's impossible in Linux because Linux lacks a zero-cost abstraction that would let you mock out a device. C only has costly abstractions such as tables of function pointers.
"we" aren't lying about it to ourselves. It's enforced from the top down because VCs (such as the benefactors of this site) strongly prefer that their founders ignore culture and society to focus 100% on business. The lack of politics on HN is not some kind of community consensus.
It doesn't seem like they took "minimal" very far. It still has dual NICs, IPMI, and a bunch of expansion ports that most buyers won't need. It's hard for an OEM to make a minimal server because they have to market to the union of all feature requirements, whereas every customer only has a few.
It could be faster than some alternatives under some circumstances. A loop would probably be more code (== icache pressure) and would consume at least a register and a BTB entry.
Sure, you can get a $500 adapter to mount Nikon glass on a Sony body. There may be advantages (you already own the lenses, it throws a shitload of light onto a small area of the sensor) but there are also disadvantages (running at less than half of the resolution the camera body offers, fully manual operation). I personally wouldn't choose this route for a fancy body like the A9, but I think it's a reasonable choice when using a cheaper MFT body.
If you are deployed in such a way that both GCP and AWS need to be up you're doing it backwards. Multi-cloud strategy is supposed to result in the intersection of cloud failures, not the union of them.
What's a language that lacks such a facility? ClangFormat covers C/C++/Java/JavaScript/Objective-C/Protobuf/C#. gofmt obviously can do Go. buildifier will rewrite your Bazel BUILD files.
In Berkeley we have these, plus bobcats, foxes, and mountain lions. One of the interesting things about California is that even though humans have stepped all over the ecology of the American West, that hasn't been going on long enough to extirpate literally every wild species. Compared to places that have been settled for 1000s of years, California can seem wild.
I fail to see how "ecofascistic" does not fly apart into its mutually repellant components. Fascism is strongly tied to modernity and modernism. It is the polar opposite of allowing nature to overtake cities. Intentional decline is decadence, which is expressly opposed by fascist ideology.
If your company knows what situation it is in, and if that situation persists for more than a year, your company is already better than many. The company I just left had an endless parade of new missions, new "values", new career ladder descriptions, and the median tenure of managers in engineering was about 6 months. The idea that you can either rate the performance of your staff or predictively hire engineers who will succeed under these conditions is a joke.
This whole article is predicated on the idea that you can quantitatively measure the performance of a software engineer. That seems completely unfounded.
It's ridiculous that Google has to front a glove and mask company the working capital and donate the product to the CDC. That's what the government is supposed to do. The federal government should be providing interest-free working capital and guaranteeing the sale of every glove and mask anyone can produce.
Well, the problem isn't that the bootcamp people lack a computer science education, it's that they lack any formal education. I've hired epistemologists and physicians to program computers and it turned out fine. The bootcamp process might in fact work well as training for otherwise educated people.
How hard can it possibly be to replicate? Zoom walked into a market packed with established players and now they own the whole thing. That suggests the barriers to entry aren't so great.
Zoom is a lot smarter than this blogger implies. Even if I sit with my back to the sun, it still tracks my face and differentially exposes the image so I am not a silhouette.
The point is that autistic people may not possess a theory of mind. They do not understand or anticipate the desires and intentions of others, and may not be aware that other people even have desires and intentions. You can't explain dinner to them if they are unable to comprehend that you intend to make it and that you desire the space and time to do so efficiently.
I'd love to throw stones here but I'm just used to it. The official way of installing Ubuntu linux (and many other distros such as Mint) from a Mac, for example, uses a giant bloated piece of crap that includes not just the Facebook SDK but also the Google Analytics stack! I think it's a lost cause. There simply aren't enough good software developers active in the world and these SDKs can make it easy or possible for developers to ship product.
This varies greatly by locale and is not uniform across the USA. In Berkeley, California I have fiber service that terminates in my own equipment, no rented equipment and no bundled services (TV, phone, etc). It's nominally symmetric gigabit service for $40/month.
I had to ragequit in the third minute. "A container is the filesystem inside your application." Just, no.
This is exactly the kind of word salad approach to explaining k8s that I complained about in my other comment. All of the k8s tutorials are written by (or recorded by) people with no idea what they are talking about.
There aren't any. Someone should write one. My beef with them all is they start from the top down, taking giant leaps of logic and assuming that everyone has the same use cases and motivations. In my personal opinion, humble though it may not be, the way to understand Kubernetes is from the bottom up. First of all, figure out how Linux starts your process. I've noticed that a lot of people who are afraid of k8s are afraid of it partly because they have no idea how a Linux machine works anyway. So start there. After you've got that figured out, learn about control groups. What kinds of resources can be controlled? How do you create and destroy control groups? How do you put processes in them? Same thing for namespaces. How do they work? What can a process see from its perspective inside a process namespace?
If you grok all that, then you are ready to grok the K8s Container Runtime Interface. And, if you really grokked it, you understand that Docker is besides the point, isolation and namespaces are optional, and so forth. All k8s demands from the "container runtime" is that a thing has a name and a defined lifecycle.
Once you understand how k8s works at the pod and node level then it should be perfectly obvious how it works at higher levels. That's why I really want to see someone write the bottom-up guide!
Why? The slowness in this article comes from architectural brain damage inside the kernel. Doing the encryption and IO on your threads, when and where you choose to do it, is the solution. As your performance requirements increase, you are less and less likely to want kernel features.