HN user

dimes

510 karma
Posts3
Comments56
View on HN

Multiplexing would have a number of benefits. As you say, each client would only need a single connection regardless of the number of queries being sent. Resulting in:

On the client side, there is usually a local connection pool. When a burst of traffic comes in, the client needs to either wait for the pool to free up or establish a new connection, which adds latency. This latency hit wouldn’t occur with multiplexing.

With multiplexing, systems like pgbouncer would be unnecessary.

Also, even with a thread-per-connection, you can still quickly exhaust the servers resources when you have lots of connections because threads have a lot of overhead. Reducing the number of connections needed would greatly increase the number of clients that a database can serve.

Linking to a huge list of supplement guidelines, most of which cover labeling of nutrient content is not helpful. I did try to dig in, however, and found this:

A qualified health claim is supported by less scientific evidence than an authorized health claim. FDA requires that qualified claims be accompanied by a disclaimer that explains the level of the scientific evidence supporting the relationship.

Unlike authorized health claims, FDA does not issue regulations for qualified health claims.

That does seem to indicate supplement manufacturers have broad latitude to make claims provided they are disclosed as such.

1984 is a much better book. The writing is beautiful and the story is gripping. For that reason alone, it occupies a larger part of society’s psyche. I agree that many aspects of Brave New World were prescient, but 1984 isn’t entirely inaccurate either.

I have a similar, Unicode-related “favorite bug”.

We were expanding our product to a new language that used non-ASCII code points. Part of the system involved invoking binaries using text as input.

Locally, everything worked great. Once deployed, we got corrupted text output. As soon as we SSH’d on to the server to inspect, everything started working again.

It turns out that SSH servers can modify the LANG environment variable. The default value on our servers didn’t support Unicode, but LANG was updated as soon as we connected via ssh. It was a head scratcher for sure.

I don’t mean that expect should be used. But flags like —no-interactive are unnecessary. CLIs can just check `isatty == false` instead of requiring an explicit flag.

I also built a canvas-based, multiplayer product during the pandemic (ohyay).

The product was social-event focused (classes, festivals, etc.) so we focused on multiplayer audio-video experiences rather than general purpose browsing.

One of my favorite memories was when someone used our collaborative YouTube playback to set up a karaoke room. WebRTC added a little latency, but it was close enough to work.

Doesn't feel particularly different to me

The effort required to adapt them has dropped

AI is an entirely different situation because the effort required to copy has dropped by multiple orders of magnitude. You used to be able to build in the open without worrying about copycats because the vast majority of people didn’t want to spend the effort. Now (with AI), even someone with the slightest, most fleeting whim can copy your work.

It’s great that you’re open to being adapted. There’s nothing wrong with that. But if you’re not open to having your ideas outright taken, then it’s not safe to build in the open any longer.

I rewrote the backend on a team I used to work on. The service had a ton of unit tests. Given that this was a full rewrite, those unit test were useless. I spent the first few days writing a comprehensive suite of integration tests I could run against the existing service. These tests directly mimicked client calls, so the same tests should be just as valid for the rewritten service. Using these tests, I was able to catch 90%+ of potential issues before cutting over to the new service.

Personally, I find unit tests to be mostly useless. Every time I touch code with a unit test, I also need to change the unit test. Rather than testing, it feels like writing the same code twice.

Modern bridges made from concrete are not designed to last more than a century. I believe the expected usefulness of something like a cable stayed bridge is around 100 years. Compare that to a suspension bridge which can be used almost indefinitely.