|
|
|
|
|
by drewcrawford
3474 days ago
|
|
The audio "loss" example sounds plausible in passing (and the diagram looks plausible) but is actually incorrect. The frequency and timing dimensions of analog audio below the Nyquist frequency is preserved perfectly by digital quantization, which in practice for CD/DVD usecase are the full spectrum of the human ear. This counterintuitive result is explored in some detail in [1]. It is true that the amplitude dimension (only) is quantized to (typically, 16 or 24) bits, which you could detect with a very good oscilloscope. However 24 bits is way smaller than any human ear can discern. Visually, it is like looking at two stacks of dollar bills that are 6,000 feet high and trying to discern which one has one extra bill. I suppose that is technically "lossy", but the only thing we are "forgetting" is something no human could perceive, or remember. [1] https://people.xiph.org/~xiphmont/demo/neil-young.html |
|
She's saying "be aware of your assumptions." Her entire screed is a call to take a step back, and recognize that programming is reifying assumptions and systems of control. Be aware of what those happen to be. Make those choices conscious, rather than unconscious.
When I'm creating a UI, am I assuming the viewer has 20/20 corrected vision on a 1920x1080 monitor with the full set of rods and cones? Am I considering folks that are colorblind, might need to have different zoom levels, or might use screen readers?
When I'm creating a tool for data analysis, am I making it for other programmers? Or can I maybe widen its usage to the business analysis side, thereby making the tool more useful to more people. When I change a tool, is it breaking someone else's workflow?