• 0 Posts
  • 22 Comments
Joined 10 months ago
cake
Cake day: August 28th, 2023

help-circle
rss

  • The metric standard is to measure information in bits.

    Bytes are a non-metric unit. Not a power-of-ten multiple of the metric base unit for information, the bit.

    If you’re writing “1 million bytes” and not “8 million bits” then you’re not using metric.

    If you aren’t using metric then the metric prefix definitions don’t apply.

    There is plenty of precedent for the prefixes used in metric to refer to something other than an exact power of 1000 when not combined with a metric base unit. A microcomputer is not one one-thousandth of a computer. One thousand microscopes do not add up to one scope. Megastructures are not exactly one million times the size of ordinary structures. Etc.

    Finally: This isn’t primarily about bit shifting, it’s about computers being based on binary representation and the fact that memory addresses are stored and communicated using whole numbers of bits, which naturally leads to memory sizes (for entire memory devices or smaller structures) which are powers of two. Though the fact that no one is going to do something as idiotic as introducing an expensive and completely unnecessary division by a power of ten for every memory access just so you can have 1000-byte MMU pages rather than 4096 also plays a part.




  • If it averages several instances, with enough signal you could decompose a linear combination (e.g. average) of different patterns back out into its constituent parts.

    A smarter system won’t just take the mean of the votes from different instances but rather discard outliers as invalid input (flagging repeat offenders to be ignored in the future) and use the median or mode of the remainder. The results should also be quantitized to avoid leaking details about sources or internal algorithms; only the larger trends need to be reported.

    Of course you could always just keep the collected data private and only provide it to customers willing to pay $$$ for access, which handily limits instance operators’ ability to reverse-engineer the source of the data. And nothing prevents you from using separate instances for public and private data sets.


  • Open primaries invite strategic voters to sabotage the party they want to lose rather than supporting the candidate they want to win.

    Of course you can still do that with closed primaries—you just have to register as the party you want to vote for in the primaries, ignoring your own preferences. Nothing forces you to vote for your registered party in the general election. It’s slightly more involved this way since you would need to change your registration more frequently, and commit to it earlier, but that isn’t much of a hurdle.


  • Personally, I’d love it if Democrats became the right-most party by staying exactly as they are, and a new party breaks off of them or evolves out to their left.

    I’d say it’s more likely to go the other way, with the more moderate or right-leaning Democrats breaking off to form their own party and perhaps steal away the more moderate Republican voters. There are a lot of voters who would naturally align more closely with traditional Republican political views voting Democrat only because the Republican party has been taken over by a radical faction. Having laissez-faire fiscal conservatives and outright socialists in the same party isn’t really sustainable long-term; there are too many critical points of disagreement.


  • It is just as ridiculous that Republicans in California have little say in the presidency as Democrats in Wyoming.

    The Republicans in California have a better chance of seeing a Republican president with the electoral college than they would with a national popular vote, even if their particular votes carry less weight. In a sense that gives them more representation in the end, not less—their voices are ignored but they get what they wanted anyway.







  • Except it's not even that indirect. The government of Texas invented this novel class of private liability, and their courts are the ones enforcing it. That's the same as banning it themselves, and blatantly unconstitutional.

    I'm a bit surprised they didn't implement this as a tax. That would be just as bad, but the federal government has a long history of imposing punitive taxes on things they aren't allowed to ban; it would have been harder to fight it that way without forcing an overhaul of the entire tax system… and politicians are so very fond of special-purpose taxes and credits.



  • So you're not remapping the source ports to be unique? There's no mechanism to avoid collisions when multiple clients use the same source port? Full Cone NAT implies that you have to remember the mapping (potentially indefinitely—if you ever reassign a given external IP:port combination to a different internal IP or port after it's been used you're not implementing Full Cone NAT), but not that the internal and external ports need to be identical. It would generally only be used when you have a large enough pool of external IP addresses available to assign a unique external IP:port for every internal IP:port. Which usually implies a unique external IP for each internal IP, as you can't restrict the number of unique ports used by each client. This is why most routers only implement Symmetric NAT.

    (If you do have sufficient external IPs the Linux kernel can do Full Cone NAT by translating only the IP addresses and not the ports, via SNAT/DNAT prefix mapping. The part it lacks, for very practical reasons, is support for attempting to create permanent unique mappings from a larger number of unconstrained internal IP:port combinations to a smaller number of external ones.)



  • Examples of local commands I might run in tmux could include anything long-running which is started from the command line. A virtual machine (qemu), perhaps, or a video encode (ffmpeg). Then if I need to log out or restart my GUI session for any reason—or something goes wrong with the session manager—it won't take the long-running process with it. While the same could be done with nohup or systemd-run, using tmux allows me to interact with the process after it's started.

    I also have systems which are accessed both locally and remotely, so sometimes (not often) I'll start a program on a local terminal through tmux so I can later interact with it through SSH without resorting to x11vnc.


  • Not the GP but I also use tmux (or screen in a pinch) for almost any SSH session, if only as insurance against dropped connections. I occasionally use it for local terminals if there is a chance I might want a command to outlive the current graphical session or migrate to SSH later.

    Occasionally it's nice to be able to control the session from the command line, e.g. splitting a window from a script. I've also noticed that wrapping a program in tmux can avoid slowdowns when a command generates a lot of output, depending on the terminal emulator. Some emulators will try to render every update even if it means blocking the output from the program for the GUI to catch up, rather than just updating the state of the terminal in memory and rendering the latest version.


  • Allegories aside, the Bible definitely has a few LGBTQ characters, even if they're not portrayed in a very positive light. I suppose that means they'll be banning the Bible from school libraries? Not to mention a fair amount of historical literature… including anything featuring Leonardo da Vinci, Florence Nightingale, King James (yes, that King James), William Shakespeare, King Richard I, or Julius Caesar.

    It will be interesting to see whether this makes the history classes easier, for lack of material to cover, or harder, for lack of references.