HNHacker News
TopNewBestAskShowJobs

colanderman

16,252 karma · joined October 13, 2008

chris@pacejo.net
submissionscomments
colanderman··on Federal Government's letter to Harvard demanding changes [pdf]
Or one can view it as the increasing intellectual vacuousness of ideas on the "right". (In quotes because the dividing line between left and right itself has shifted rightward over the years.)
colanderman··on Leaked data reveals Israeli govt campaign to remove pro-Palestine posts on Meta
Rumeysa Ozturk did not overstay her visa nor advocate violence: https://en.wikipedia.org/wiki/Detention_of_R%C3%BCmeysa_%C3%...

Nor did Rasha Alawieh: https://en.wikipedia.org/wiki/Deportation_of_Rasha_Alawieh

colanderman··on GPD Pocket 4 Speaker DSP: Configuring PipeWire so laptop speakers sound better
Presumably GP is suggesting IIR filters?
colanderman··on A 6-Hour Time-Stretched Version of Brian Eno's Music for Airports
I'm not sure any literature on this beyond my own experience.

In the context of synthesizers, "buzzing" quality is associated with unfiltered basic waveforms: sawtooth, square, triangle (to a lesser extent), pulse (notably so). A sawtooth wave is used, for example, as the bass sound in Gorillaz' "DARE".

More generally, in my personal experiments, "buzzing" is associated with the presence of discontinuities in the waveform (i.e., the Dirac delta and its antiderivatives). Any discontinuity is associated with sonic energy at all frequencies, at a highly localised point in time. (See the Fourier transform of Dirac delta (anti)derivatives here [1].) Higher antiderivatives of the Dirac delta have progressively less energy at higher frequencies; beyond the 2nd antiderivative buzzing is not really audible.

Aside – a pulse wave is a series of Dirac deltas; a sawtooth is the 1st-order antiderivative thereof; a square wave is a series of sign-alternating 1st-order Dirac delta antiderivatives; and a triangle wave is alternating 2nd-order Dirac delta antiderivatives. Hence – buzziness in these waveforms.

The human ear has a Q of about 15 (very approximate) – meaning its response at any frequency lasts for about 15 cycles of that frequency. So, when presented with a periodic discontinuity (e.g. sawtooth wave), the sonic content below about 15 times the base frequency will tend to cohere together into a tone, while the sonic content above 10 times the base frequency will tend to be perceived independently of frequency – as a buzzing. (See Bell, "A Resonance Approach to Cochlear Mechanics".)

So, if you want to increase the amount of buzzing in a waveform, you can add localized "packets" of high-frequency sonic energy up to a rate 1/15 that of the lowest frequency content of said packets. You can experiment with this in Audacity by generating sawtooth waves of various frequencies (between 25-250 Hz, where buzzing is easily audible) and low- and high-passing them appropriately to separate the "tonal" (low-frequency) content from the "buzz" (high-frequency) content. Then mix and match the two from different frequency waveforms two create a waveform at your desired base frequency with your desired rate of buzzing.

Finally, a more pedestrian – and very common – way that the above is achieved is the synthesis technique known as "supersaw", by which a handful of slightly-detuned sawtooth waves are mixed together. Beside giving a "shimmering" effect which one gets from mixing any slightly-detuned sounds together, this also results in increased "buzziness". This effect is very common in pop electronic music. E.g. the bass sound in Lady Gaga's "Just Dance" is a good example.

[1] https://en.wikipedia.org/wiki/Fourier_transform#Distribution...

colanderman··on A 6-Hour Time-Stretched Version of Brian Eno's Music for Airports
The human ear is sensitive to phase correlation. It stems from the physiological fact that our ear is effectively a multiresolution filter. So with an overtone-rich tone, the time constant with which we perceive the uppermost harmonics is significantly less than the period of the base harmonic. So if the sonic energy of those harmonics is correlated into small "packets", we hear that as a "buzzing". This is true of raw synthesis waveforms: sawtooth, square, etc. It's also true of any short transients: clapping, hi-hats, etc.

If you "mess with" the phase information of the harmonics relative to the base harmonic, this is the same thing as changing where the sonic energy of those harmonics falls in the wavecycle. So notably, in the cases listed above where the sonic energy falls into small "packets", if you randomize that phase information relative to a much lower tone (as Paulstretch does), you now have spread that energy throughout the full wavecycle. This eliminates any sensation of "buzzing" or "clicking" and makes transients "mushy".

colanderman··on A 6-Hour Time-Stretched Version of Brian Eno's Music for Airports
Of a single sinusoidal component, sure, this is true. But phase differences between sonic features are absolutely detectable.

The effect is most noticeable on raw synthesized tones: sawtooth, square wave, etc. These tones contain sonic energy concentrated at discontinuities in the waveforms. The ear can hear this, as a "buzzing sound".

Run these tones through Paulstretch (even with 0 stretch), and the sonic energy is distributed throughout the wavecycle. These tones retain their spectral character, but noticeably lose the buzzing character.

I've uploaded a demo here: https://chris.pacejo.net/temp/phase.wav It is a 55 Hz sawtooth tone, alternating every 2.5 s between the raw tone, and the tone fed through Paulstretch with no stretching.

There was even a paper written on this. Laitinen, Disch & Pulkki, "Sensitivity of Human Hearing to Changes in Phase Spectrum". [1]

Paulstretch muddies up percussive transients (like hi hat strikes) as well.

Anyway it's the reason things like gammatone filters exist for analyzing audio. They reveal phase correlations in the same way the ear is able to. Windowed Fourier transforms (used by e.g. Paulstretch and Audacity for various purposes) obfuscate these relationships.

Aside: please try to avoid snarky armchair dismissals on HN: https://news.ycombinator.com/newsguidelines.html "you are trying to sound intelligent" does not advance discourse.

[1] https://www.researchgate.net/profile/Ville-Pulkki/publicatio...

colanderman··on Fragments of a rare Merlin manuscript from c. 1300
Somewhere I read that the cotton gloves are just for show, because onlookers get in a tizzy if they see things being handled without them. Gloves limit dexterity, so it's apparently less damaging to use bare hands.
colanderman··on To some people, time zones are just a fancy way of sounding important, episode 2
Often "X city local time" is what you want though. If I schedule a recurring meeting at 1 PM, most people will expect it recur at 1 PM local time. A 1 PM EDT meeting would become noon EST when the clocks switch, and no-one wants a lunchtime meeting.
colanderman··on Plasmonic Modulators Break Wireless Terahertz Barrier
By my reading this isn't a new way to generate THz signals, but a way to modulate light with existing THz signals.
colanderman··on How to Use Em Dashes (–), En Dashes (–), and Hyphens (-)
Note also that the "hyphen" on your keyboard is actually a "hyphen-minus". Unicode provides separate characters for hyphen (‐) and minus (−).
colanderman··on The long-awaited Friend Compound laws in California
As someone interested in "friend compounds", I'm missing what in either of these laws enables that specifically. They both just seem to provide for denser housing generally. (Particularly SB684 almost literally just seems to allow subdividing lots which couldn't be subdivided before.)
colanderman··on The case of the critical section that let multiple threads enter a block of code
`malloc(3)`. Many of the functions in string.h.
colanderman··on The case of the critical section that let multiple threads enter a block of code
> some of Windows uses 0 to mean success, and some of Windows doesn't.

This is unfortunately true of Unixes as well.

colanderman··on The case of the critical section that let multiple threads enter a block of code
They're calling `(*Callback)(g_myProvider, Context)` in the context of the critical section. So presumably that's also important to run exclusively.

(The tracing handler getting registered twice is just a canary.)

colanderman··on MySQL transactions per second vs. fsyncs per second (2020)
They do, if you issue the transactions concurrently (i.e., multiple DB connections). This is "group commit" as referenced in the article.

You can't batch sequential transactions without violating the semantics of `COMMIT`. (Data is after all not durable if it's not flushed to disk!) Hence such behavior is not the default in quality databases.

If you are issuing many sequential writes and you don't care about them being individually committed, you can and should group them.

colanderman··on MySQL transactions per second vs. fsyncs per second (2020)
Linux does make this distinction.

Linux has two main disk I/O paths, buffered and direct I/O.

Direct I/O indicates "channel end" by the completion of the write operation. By that point, data has been transferred to disk from the buffer and the buffer can be reused. (Notably, direct I/O may be performed asynchronously via the Linux AIO API.) Contrary to popular belief, this does not indicate that the data is safely committed to disk. [1]

Buffered I/O does not require the concept of "channel end", since write calls complete immediately after the buffer contents have been copied into kernel space. (This mode is what PostgreSQL uses by default. I don't know MySQL.)

In either case, `fsync(2)` (or `fdatasync(2)`) is used to indicate "device end". The disk has indicated that data is safely stored. (This can likewise be monitored asynchronously, either via the AIO API for direct I/O, or `sync_file_range(2)` for buffered I/O. The latter is used by PostgreSQL [2].)

Aside – Linux has also recently grown support for this concept in its networking API, via zerocopy `send(2)` functionality in io_uring.

[1] https://lwn.net/Articles/457667/

[2] https://news.ycombinator.com/item?id=11512653

colanderman··on The Road Not Taken Is Guaranteed Minimum Income
Buying lottery tickets with UBI money is just returning the money to the government and/or some other lucky individual. Only an insignificant amount of marginal wasted work is performed.
colanderman··on The mistakes and missed opportunities in the design of IPv6
> In my opinion, the most significant mistake of IPv6 has been that the IPv4 address space has not been considered a subset of the IPv6 address space.

This suggestion has gotten brought up often over the past few decades.

Remember that every IP packet has a destination and source address. There is no physical way for a v4-only host to directly communicate with another host which has an address from a larger address space. Doing so requires NAT. Which can be and is used today for v4-v6 connectivity.

colanderman··on Computers and Mice – Mister Rogers Neighborhood
No, RS-232 (serial/COM/DE-9/DB-25) could be freely plugged and unplugged. PS/2 peripherals however always warned against hot-plugging [1]. The reboot you are remembering is because serial mice needed drivers installed.

[1] https://en.wikipedia.org/wiki/PS/2_port#Hotplugging

colanderman··on An Egyptian Temple Reborn
> these include [...] an eight-legged hybrid human figure with goose and human heads identified by an inscription as “the two geese of Ra,” an otherwise unknown entity

Not to armchair this, but I am intrigued by what logic someone concluded that, an image captioned as "two creatures", which appears to show two identical creatures standing next to each other, is actually one conjoined creature.

colanderman··on Definite clause grammars and symbolic differentiation
From the title I expected this to be about differentiating DCG grammars themselves. That is actually a technique for matching regular expression [1]; now I wonder can it also be applied to DCGs (or a restricted form like PEGs).

[1] https://en.wikipedia.org/wiki/Brzozowski_derivative

colanderman··on In contrast to Earth, Mars's middle atmosphere appears driven by gravity waves
> Not to be confused with gravitational waves from massive stellar bodies, [gravity waves] are an atmospheric phenomenon when a packet of air rises and falls due to variations in buoyancy.

For those similarly confused by the title as I.

colanderman··on A Scientific American bolt puzzle
Moreover, the problem as posed doesn't specify the direction of twiddling, which kind of gives away the answer.
colanderman··on Passing the Buck: The story of the 2022 Wings Over Dallas air show collision
> The air boss’s role in a directed performance has been compared to that of an orchestra conductor.

"Untrained musician directing an unrehearsed piece" is not even how orchestras work.

colanderman··on Ask HN: Best Security Practices for Activists?
Don't bring your phone to protests. If you do, turn off all radios (airplane mode + WiFi off + Bluetooth off) and do not use Google or Apple Maps to find your way there. (Use an offline mapping app like OsmAnd if you need to.) Enable lockdown mode on your phone (= no biometric activation).

I would personally not use Discord for activist coordination. All your communications are stored on their servers.

colanderman··on Electric Propulsion Magnets Ready for Space Tests
Experimentally baguettes are bad for superconductor operations: https://www.theregister.com/2009/11/05/lhc_bread_bomb_dump_i...
colanderman··on Is Ketamine Neurotoxic?
Someone close to me did ECT for half a year after ketamine (in a clinical setting) became less effective.

The memory loss was worse than they were led to believe: near-dementia levels of short-term memory loss during treatment, and still now a year of missing memories from around the time of treatment.

The treatment itself left them without time or energy to do anything whatsoever on the days of treatment, and still weakened on the days off treatment.

And, it did seemingly nothing to address their depression.

So, YMMV.

colanderman··on Is Ketamine Neurotoxic?
Please don't use "autistic" as a slur.
colanderman··on September 17, 1787: "A Republic, If You Can Keep It"
You have, without any context or explanation, quoted something which presumably states a point you are trying to make, one which seems at best a non sequitur to the parent's post if I am reading your intent correctly.

Care to use your own words to carry on the conversation rather than just stirring the pot with a seemingly unrelated and controversial opinion stated via someone else's words?

colanderman··on FFmpeg School of Assembly Language
Depends on the ISA. ARM32 is a lot more enjoyable to work with than x86-64. In-order VLIW architectures like TileGX and Blackfin (IIRC) are fun if you like puzzles. Implementing tight loops of vectorized operations on most any ISA is similarly entertaining.
← PreviousPage 4 of 34Next →