868 karma · joined June 21, 2024
Because of the logarithmic scaling of infrastructure (like supermarkets, doctors, hospitals), and because of the square root scaling of people-density per area vs. total travel distance to said infrastructure.
>> moving goods instead of people scales logarithmically > This is obviously false. There's some average parcel size, and an associated maximum capacity for a delivery van.
You do move bananas by ship from continent to continent. Then you split it up, move it by smaller ships up-river. Then you split it up, move it by truck to each cities distribution center. Then you split it up, move it by smaller truck to each store. Then people buy it.
Obviously logarithmic and the whole reason for ships and freight trains to exist, otherwise we would all get our tropical fruit in person by airplane.
And since we are on a CS-heavy site, talking about scalability, constant factors are irrelevant. That is what scalability means. It is the extrapolation to big numbers, where those constants no longer matter anymore. Of course there might be a local equilibrium for sufficiently small numbers. But that is always temporary as humanity keeps growing.
The point is, moving people inherently is bad. Shifting from cars to public transit reduces the badness a little, but you still need infrastructure that scales O(p * s * f), where p is the number of people, s is the average distance travelled per journey, and f is the frequency of journeys. Scaling doesn't change the slightest bit with public transit, you just have a different constant factor which is irrelevant for scalability.
So the solution isn't public transit. It is the avoidance of any unnecessary travel, meaning that we actually need something like a tax on non-home-office jobs and stores that you personally have to visit (as opposed to shopping online). We need better delivery infrastructure so people don't need to travel. We need close-to-home shopping options. Because actually moving goods instead of people scales logarithmically, the network of countrywide, regional, local distribution centers, bigger shops, smaller shops behaves like a tree.
I don't think, therefore, that "total track length" has any useful meaning in Europe.
Here is some maps to illustrate my point:
https://commons.wikimedia.org/wiki/File:Europe_rail_electrif...
https://en.wikipedia.org/wiki/Track_gauge_in_Europe#/media/F...
Nowadays its mostly a combination of eBPF, SELinux and auditd plus namespaces in case of containers. Usually in the combination that some distro ships, so nothing really fancy.
I'd use io_uring in a heartbeat on a dedicated system where the job is only I/O and security isolation isn't a concern. But multiuser/multiapplication/networked? Not a chance.
Rust will never take over and something like C/C++ will always be with us.
Only applications and web people did believe that particular part of the hype, because they didn't know what it took. And IBM consultants believed it because IBM always managed to sell some weird CPU extension for big dollars that did weird stuff, like their "decode XML extension".
The author doesn't seem to make up his mind about it. Or the article is AI-generated slop maybe.
See e.g. https://www.youtube.com/watch?v=FiEGoVzmyvs but dot-matrix was also used and at least a little less noisy.
And yes, CPUs are generally optimized not for context switches, but for numerics and certain single-application benchmarks. So computations without any context switches are very fast. Application to Kernel switches are somewhat fast as well. But application-to-application or even worse application-kernel-privilegedFSprocess-kernel-application will be slow as hell, because those numbers never make it to the TOP500 or benchmark sites.
Context switches also have already been optimized too much, Spectre and Meltdown in all their variants are a certain kind of botched context switch. That means that certain optimizations are now out of the question, context switches will be optimized more carefully (if at all) in the future. So there isn't too much hope for a faster but still secure context switch.
I think the actual future in a decade or so will rather have more cores, less context switches and a more computer-network-like CPU. You will have your filesystem server process on the filesystem/disk-IO core and you will speak some filesystem protocol via shared memory over a on-CPU network.
So no. Microkernels have been tried. Microkernel-workalike filesystems are here with FUSE. They suck because microkernels suck when you need performance. Research has gone into different directions, like microkernels as hypervisors and for security, because it has become clear that the performance problems if microkernels are inherent and unfixable.
Engineering. For example dB is defined in base 10.
Except in mathematics and physics, where it usually is base e.
Except sometimes in computer science, where it can be base 2.
But there are more of those weirdnesses: "ld" can be "log decimal", so base 10; or "logarithmus dualis", so base 2. Base 2 is also sometimes written as "lb" (log binary). You really need to know the conventions of the field/subfield to know which is which.
And yes, in Germany this happens and is reflected in rising "cancelled train" statistics. KPIs for Deutsche Bahn managers haven't caught up yet ;)
E.g. Mercedes uses Renault engines in the less-fancy models, but most customers are kept in the dark about that.
With your quoted Renault EV models, you really have to be careful, often they don't give the full price but just the price without battery. The battery has to be bought or rented separately.
Switzerland doesn't have high-speed trains, only low-speed ones. And all timetables are carefully tuned to half- or full-hour station distance intervals that all trains on a track take at the same speed ("Taktfahrplan").
Germany has the worst of all those worlds: No Taktfahrplan (because it probably would be impossible due to the larger and far more complex network), high- and low-speed trains on the same tracks, and only some sections of dedicated high-speed rail that drive up the cost but still have shared stations and sections with low-speed rail so that punctuality goes down when the tiniest thing goes wrong.
The most efficient use of the tracks would be to limit all trains to the speed of the slowest train that travels a route. Then you can have minimal distances between trains.
Also, faster trains are less fuel-efficient, quadratically with speed. So a slowdown would help the environment and the throughput. The only thing it wouldn't improve is passenger happiness ;)