[–] 2 points 1 month ago (1 child)

why should the distance from the pole to the equator be used as the baseline for a measurement used by humans?

For both philosophical and scientific reasons, they wanted a definition that could be recreated any where in the world, certainly not the thumb or foot of any one man. With the "distance from pole to equator" definition, you just need to measure a long north-south axis (say a few hundreds km), and knowledge about the figure of the Earth helps you scale that to the full definition. You can do that anywhere on Earth.

Another considered definition was the length of a pendulum whose half period is 1s, but even at the time the effect of local gravity was deemed to be too much

  • source
  • parent
  • context
  • [–] 5 points 1 year ago

    Well the "one address" bit sure :) but given the scale supported by CGNAT systems today, I don't think being able to support an entire country behind a single cluster is that far off. At which point the difficulty becomes "is the 100.64.0.0/10 block big enough"? Or maybe they're using DS-lite for the hauling from private network to the NAT.

  • source
  • parent
  • context
  • [–] 21 points 1 year ago (2 children)

    As @shane@feddit.nl says, you can use the same public port for many different destination address, vendors may call it something like "port overloading".

    More importantly, you can install a large pool of public address on your CGNAT. For instance if you install a /20 pool, work with a 100 users / public address multiplexing, you can have 400,000 users on that CGNAT. 100 users / address is a comfortable ratio that will not affect most users. 1000 users / address would be pushing it, but I'm sure some ISP will try it.

    If you search for "CGNAT datasheet" for products you can deploy today, the first couple of results:

  • source
  • parent
  • context
  • [–] 18 points 1 year ago*

    This is the behaviour of inet_aton, which ping uses to translate ASCII representations of IPv4 addresses to a 32 bit number. Its manpage: https://man7.org/linux/man-pages/man3/inet_aton.3.html

    It recognizes the usual quad decimal notation of course, but also addresses of the form a.b.c or a.b, or in this instance, a, with is taken to be a 32bit number.

    Each part can also be written in hex or octal, with the right prefix, such that 10.012.0x800a is as valid form for 10.10.128.10.

    Not all software use inet _aton to translate ASCII addresses. inet_pton for instance (which understands both v4 and v6) doesn't

  • source
  • parent
  • context
  • [–] 9 points 1 year ago* (1 child)

    Inside the lambda expression you can have a comprehension to unpack the keys list to get the same sort of uplet as your "manual" example, like this:

    >>> items = [{"core_name": "a", "label": "b"},{"core_name": "c", "label": "d"}, ]
    >>> keys = ["core_name", "label"]
    
    >>> tuple(items[0][k] for k in keys)
    ('a', 'b')
    
    >>> sorted(items, key=lambda d: tuple(d[k] for k in keys))
    [{'core_name': 'a', 'label': 'b'}, {'core_name': 'c', 'label': 'd'}]
    
  • source
  • [–] 3 points 1 year ago* (last edited 1 year ago) (1 child)

    Would some battons (like that: https://www.wickes.co.uk/Wickes-Redwood-PSE-Timber---44-x-44-x-2400mm/p/9000281515, or possible smaller depending of the profile of your table), fixed to the underside of the gaming top so that they're leaving a negative image of the fixed table top? That way, once installed, the gaming top can't slide around. That would only work well in my mind if the gaming top is a single piece.

    Edit: with that idea, minimal length of the gaming is that of the table plus two thicknesses of the baton you'd use, ie. more than the 20mm you seem to have in mind. Maybe, maybe not an issue.

    For the cover, I'd consider a felt with a waterproof backing, although I don't have a specific material in mind. If you don't add felt, I'd soften the angles of the MDF.

  • source