HNHacker News
TopNewBestAskShowJobs

thedance

613 karma · joined January 27, 2020

submissionscomments
thedance··on How is the Linux kernel tested?
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.

thedance··on Minimalist Hyperscale Servers for the Rest of Us
This is a very "pets" perspective. I'm more of a cattle guy.
thedance··on America's bailed-out airlines are not 'playing fair' with customers
"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.
thedance··on How is the Linux kernel tested?
Long way of saying "it's not".
thedance··on From Spain to Germany, farmers warn of fresh food shortages
That's preposterous. You need 5-10 acres to be self-sufficient in the steady state.
thedance··on Minimalist Hyperscale Servers for the Rest of Us
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.
thedance··on New Grad vs. Senior Dev
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.
thedance··on Sony spins off camera business into separate company
I don't think so. I think "imaging products" is cameras. Sensors and modules would fall under their semiconductor division.
thedance··on Sony spins off camera business into separate company
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.
thedance··on Google cloud outage
Wrong outage.
thedance··on Google cloud outage
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.
thedance··on The Hardest Program I've Ever Written – How a code formatter works (2015)
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.
thedance··on Coyotes are being seen on the empty streets of San Francisco
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.
thedance··on Coyotes are being seen on the empty streets of San Francisco
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.
thedance··on Making software engineering interviews predictive of job performance
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.
thedance··on Making software engineering interviews predictive of job performance
This whole article is predicated on the idea that you can quantitatively measure the performance of a software engineer. That seems completely unfounded.
thedance··on $800M to support small businesses and crisis response
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.
thedance··on The New York Times Releases Its Dataset of U.S. Confirmed Coronavirus Cases
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.
thedance··on Zoom needs to clean up its privacy act
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.
thedance··on Improving Remote Meetings and Presentations
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.
thedance··on Upgraded Google Glass helps autistic kids “see” emotions
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.
thedance··on Pass-by-value vs. pass-by-reference-to-const in C++
^^ Yep. shared_ptr is almost perfectly useless. As a function parameter the smell intensifies.
thedance··on Zoom iOS app sends data to Facebook even if you don’t have a Facebook account
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.
thedance··on A detailed look at the router provided by my ISP
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.
thedance··on Billionaires Want People Back to Work. Employees Aren’t So Sure
This site is the mouthpiece of billionaire VCs who owe their wealth to lots of people buying into their system.
thedance··on Billionaires Want People Back to Work. Employees Aren’t So Sure
They've got an ice rink in Madrid piled with corpses. Pretty sure that never happened from the cold.
thedance··on Billionaires Want People Back to Work. Employees Aren’t So Sure
Not even the trolley, just the shareholders of the trolley company (and not even all of them, just the preferred class).
thedance··on Kubernetes 1.18
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.

thedance··on Kubernetes 1.18
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!

thedance··on Speeding up Linux disk encryption
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.
← PreviousPage 2 of 16Next →