138 comments
laurencei · 43 days ago

Show replies

christina97 · 42 days ago
For those considering buying speakers: (1) do it, (2) get passive ones and a separate amp. Honestly it’s such a mature market that buying these active speakers just creates e-waste. Keep the e-waste to the amp. You can get really solid speakers for $300 and a cheap amp with BT for $50-100, replacing them basically independently depending on your needs.

Show replies

radicality · 43 days ago
Seems like the author moved from a “speakers + networked amp” setup, to a one where with active speakers where everything is built-in.

When I was buying speakers for my apartment some time ago, I was similarly considering going for the all-in-one options like this, but I’m glad I didn’t. I prefer the “dumb passive speaker + networked amp”, as it allows you to pick / replace / upgrade the separate components. Went for the KEF LS50, and for the amp Lyngdorf TDAI-1120. And that’s despite KEF having the all-in-one active version of those speakers. Very happy with my choices!

Show replies

rectang · 43 days ago
> Those methods either give me a tiny slider that I can only use 10% of or about 15 steps where the jump from step 3 to step 4 takes the speakers from “a bit too quiet” to “definitely bothering the neighbors” levels.

Volume controls need to be logarithmic, not linear.

To a first degree approximation, everybody gets this wrong.

Show replies

jitl · 42 days ago
Pro-tip for embedding JS in an HTML string in a Typescript file: you can get full typecheck etc for your embedded JS snippet if you write it as a top-level function in your file, and then interpolate the function into your template.

This works because function.toString() in modern runtimes gives you back fully parse-able input source.

You need to make sure you don’t reference anything outside the function, but it’s generally nicer overall than JS-in-string.

Then you treat it as an IIFE. Example:

    function globalJS() { document.write('hi') }
    const html = `<script>(${globalJS})()</script>`
I use this technique for calling AppleScript-flavored-JS from NodeJS too.

Show replies