ebiederm
There are domains like T-mobile US that are IPv6 only already. T-mobile runs NAT in the network so that all of IPv4 is NAT'd to IPv6.
I do think it is reasonable to expect there will become a time when IPv6 is pervasive enough, that new deployments will target users with IPv6 rather than IPv4.
Once IPv6 becomes the choice to support to get new customers, it is reasonable to expect that IPv4 support will start deteriorating and will eventually fade away.
I will be very surprised if we don't hit that tipping point in my lifetime. Say the next 30 years.
From what little I read in the literature I seem to recall that there were enough programs with quite a bit more memory usage that they decided this approach was a dead end.
Does anyone know anymore details?
We had public discussions on the Linux Kernel mailing list and later on the containers list.
It was a collaborative effort from vserver, openvz, IBM, and Linux Networx, and google. I think those were all the original groups, my apologies if I have forgotten someone.
After Docker made a splash I occasionally asked other developers if they had any contacts at Docker. To the best of my knowledge we never received a bug report, or a feature request. No one from Docker ever showed up at any of our meetings.
I know at one point I wanted to let someone know that Docker they were holding the pieces wrong when it came to security.
Eventually I think one of the OpenVZ guys wound up working for Docker for a time. But that was quite late in the timeline.
I was passing through RedHat about the time of the spat you mention. My impression at the time was that Docker never worked well with anyone, and after some frustrations trying to cooperate the RedHat userspace folks decided it was easier to get a real standard without Docker.
At that point I had gotten the unprivileged user namespace support into RedHat's kernel and changed a lot of minds about it's utility.
I don't remember Docker ever picking up unprivileged user namespace support and as a result was a security disaster waiting to happen.
It felt to me like Docker treated the userspace API for containers like most folks treat the POSIX API. Fixed in stone. In fact there was a lot of wiggle room, and opportunity to shape things for anyone who was willing to dive deep into the technical details.
My memory from that era when Docker was getting big was our biggest user completely ignored us. Which I thought was quite odd at the time.
When it is bad they either rewrite their source code or write assembly.
A tool do a job good enough that people don't have to do the job by hand does not mean people stop caring about the quality of the job.
Which is why the productivity of people of people has never been correlated with typing speed.
In other jobs productivity is correlated with typing speed and in those jobs a typing speed like 60wpm is part of the job requirements.
What I remember being questioned is does it make sense to do those exercises as homework or would they be better in school.
Or on the flip side should school get out early like 11 or noon, like I think the german gymnasium does and have all the exercises as homework.
The US system where children get out of school at 15:30 and still have a bunch of homework seems a little lopsided someplace.
The 3 month break in-between school years is definitely questionable.
I think the answer is a complex one because it intersects with personality and neurodivergence.
Depending on who you are and your family situation any form of homework can be a real challenge. Not because of what you are studying but because of how difficult it is to sit down and do anything you aren't passionate about. Certainly anyone with an executive function disability will have that challenge.
Instead of AC they use swamp coolers draining aquifers and thus wells of the neighbors.
Instead of using new power plants (AKA using renewables as most new plants do, and all old datacenters did). They either hook up to the grid and jack up everyones electric prices or use generators because they can't be bothered to wait for a grid connection.
All of which is to say while on the grand scale they may be fine. Locally they can be unpleasant to have in your back yard.
If the LLM datacenter builders and operators weren't cutting corners and rushing and doing everything they can to be good neighbors. There would be much less push back.
I say this as someone with 2 huge pre-AI datacenters in my town that have been fine.
"Codex starts encrypting prompts, uses ciphertext for inference instead"
to just
"Codex starts encrypting prompts"
That is enough.
Maybe you could say sub agent prompts. The article can say the rest.
Apparently google did not even give them the freedom to come to their own conclusions.
I just skimmed through the paper again and what it says seems to hold up well.
The paper is heritical in that it suggests slowing down, using carefully chosen less biased data, and understanding how it all works.
Basically challenging the AI bitter lesson.
I can see how that would meet with a lot of resistance from people who have gone all in on the bitter lesson.
That post says very clearly at the beginning that hybrids are the preferred approach right now.
No one except the NSA actually wants a non-hybrid.
Which raises the question what is the NSA up to.
Especially since the NSA has a mission statement, a track record, and a billion dollar budget to subvert other peoples cryptography. When they aren't beyond transparent why should anyone give them the benefit of the doubt?
In many other states there is the lesser distortion of property valuearions for tax purposes not being allowed to go up faster than a roughly fized rate. Something like 3% a year.
At a practical level I wonder if limiting how much rents can increase from year to year would be a better policy, than not letting rent levels change at all.
Then there is the question of how to encourage home construction so there is sufficient supply where there is demand for people to live.
It was the editor of the publication Niklaus Wirth that changed the title to goto considered harmful.
Dijkstra was arguing for procedures with a single entry point and a single exit point. So it is easier to reason about what a procedure does.
That is what was tried. The S&P 500 didn't play along.
A comparatively small number of index funds & retirement accounts that use them will get caught. The majority won't.
In my own compiler (where I don't add copies in a prepass) I have not yet found a case where any coalescing would be beneficial.
Take code in static single assignment form, or another form where it is values that are tracked with live ranges. For a single basic block the interference graph of the live ranges is an interval graph. As the live ranges are just intervals from the instruction that produces the value to the last instruction that consumes the value.
It is annoying but totally doable to follow this into graph theory and see that interval graphs, are a subset of chordal graphs, and these graphs have an algorithm that colors the graph optimally in linear time.
Poke a little more and it turns out that algorithm is the same algorithm as linear-scan register allocation.
Add multiple basic blocks and it is trickier to see, but there are proofs in the academic literature that the interference graph remains an interval graph. Something about phi functions not counting.
Which is what I meant when I said a linear time algorithm.
Compare that to the O(N^2) heuristic from the paper register allocation by graph coloring.
The big change is going from a linear time optimal algorithm to a quadratic time heuristic and proclaiming the quadratic time heuristic is better. (What???)
In practice there are a lot of complications that are not accounted for by graph coloring. Instructions and function calls that take fixed registers. Spilling registers when you need more values alive then there are registers. Deliberately keeping a non-minimal number of values in registers to increase instruction level parallelism.
To the best of my knowledge all of those problems are very tractable if you start with a linear scan register allocator, as the code can be changed without requiring the register allocation to restart.
Code based on computing the interference graph has to reconpute the interference graph and restart whenever the code has to be changed. Making it much worse time wise. If for no other reason than computing the interference graph is O(N^2).
So yes more complications but only because the model described is overly simplified.
First is presented a linear time optimal algorithm for graph coloring then it is claimed better can be done by a O(N^2) algorithm that uses a heuristic.
I do believe the dragon book got caught with the emperor's new register allocator and the literature hasn't really recovered yet.
Typically Design by Contract has meant runtime assertions. I like that they are doing verification before runtime.
At the same time their take on loops (you can't write them and have verification puts me off). Especially when modern c++ has so many prebuilt looks. It would seem to me it should just be a matter of annotating the prebuilt loops and encouraging their use.
I think their approach will fail on modern encryption code because it takes too much control (loops) from the programmer.
I especially appreciate the trick of asserting the intermediate truth to help the prover along.
As someone who writes software I very much agree that verification of asserts before run time (written in the language itself) is very approachable to a programmer.
In a similar vein I agree with the folks at Jane Street that aiming to rule out specific classes of bugs (as opposed to proving a program is entirely correct) is a very practical goal.
If you have does it match your intuition of how things should be done?
I am slowly working on something where I hope to integrate such a capability for the things that type systems can't handle quickly.
So I would be interested in perspectives of people who have been down this route before.
FP64 emulated with FP8 running faster than the native FP64 implementation.
SAT solvers in practice are quick on just about everything.
SAT solvers being programs that solve the original NP-compete problem.
The unsolicited security reports are the issue.
I had heard LLMs were finding a lot of bugs very quickly and now I can see what that looks like from a user perspective.