394 karma · joined May 13, 2021
The interesting question is whether there exists some system fundamentally/significantly simpler than the rust approach which still gives you comparable freedom and safety (without excessive runtime overhead).
As far as I know that is unsolved and a matter for research, not some obvious solution that the rust team totally missed when designing their language.
If your goal is lower than total memory safety, then obviously you'll have more options, but when it comes to memory models, you have to be quite careful in where you allow violations, since they tend to infect everything quickly if you don't find exactly the right way to encapsulate them, so having a "half-safe" language often just means you have an unsafe language. Part of the reason unsafe rust is so painful is they're adding exactly that sort of hole in the memory model, and suddenly anyone exposed to it can't deal with the "simple" memory model of rust, they have to deal with all the gory details _creating_ that simple model. Any language adding larger holes than unsafe will need more people to be aware of the full complexity of modern compilation more of the time, which doesn't seem like a win. Rust's unsafe works because it's almost never used. If unsafe was half the codebase, rust would be a failed language.
Another solution is to absolutely refuse to take advantage of your safer memory model in the compiler - so minimal optimizations, just compile literally and throw barriers all over the code, then anyone using a downgraded model doesn't need to know the additional rules they would otherwise need to follow to interact with the full model. That sounds pretty awful though, probably more expensive than just using a garbage collector.
Is there a better solution? Sure, probably, but I don't think humanity has discovered it yet.
The real problem is pretty much any model that doesn't shoot for complete memory safety (or a unsafety that is strongly discouraged and well encapsulated) is going to end up containing all the complexity that comes from unsafety, rust justifies its complexity by all the complexity it also removed (undefined behaviour is basically not a thing in Rust), if you half the complexity compared to rust but retain half the undefined behaviour complexity of C++, I think you'll have just grafted the worst of both together. I'm unconvinced there's a sweet spot in the middle, more like a mountain of extreme complexity (ala rust unsafe) between 2 valleys of relative simplicity (C-like, rust-like).
Then you get proper bus options through the taller tunnel, and proper human-powered options with nobody to run them over, win win.
And I guess we're not replacing lorries/vans for a while yet, so they can use the big tunnel with the busses I guess.
And cars can go via the m25, no need for them in the city. Maybe multi-pasenger/disabled only (incentivises carpooling, helps families who need a cubic meter of junk per baby, and disabled people have genuine needs for their adapted vehicles).
But yeah, the harder cars are to use in cities, the better for everyone (even the drivers often enough, still takes them the same time, but now they're not trapped queuing in a fuming tunnel, instead they're dancing playfully through one-way puzzles... ok, maybe it's not much better for them, but not _much_ worse either).
Once you get to long-haul speeds, the energy cost is almost entirely split between air resistance and rolling resistance, but air resistance has the edge, (about 50%), rolling (30%), drivetrain (5%), and everything else (10%).
Currently we're constantly expanding the complexity of our systems, but since they don't understand their underlying purpose, they can't help us manage that complexity without drastically limiting their flexibility, there's no working around that.
But if they knew what they were doing, instead of "I need to reorganise this database stack to reduce overhead" we'll be giving simple commands like "please stop taking over the world" and letting the machines handle the complex details.
They were not talking about couching every fact or snippet taught in physics class getting couched in all this extra "sugarcoating". They were talking about the kind of conversations that almost never go well at all - they're trying to improve the odds of an interaction convincing someone to change their polarized viewpoint from 0.01% to 0.03%.
For that use-case, obviously there's value in exploring different techniques, given the typical technique (scream at them and then block them) doesn't work well at all at actually changing their mind.
At first yes, but not recently, now the opposite is true, if anything. We haven't had exponential growth since the 60s and are currently headed towards a steady state population because of improved standards of living. Turns out health and properity leads to smaller families.
We do still have significant growth, but that is largely because we're filling out the older demographics in many countries, the birth rate is largely under control already, and once the current generations spread through we'll be in a stead state (around 11 billion). In fact, there's no way to _stop_ this growth now, short of killing or sterilising people, since the birthrate is already under control, we're just waiting for the last exponential generations to get old.
see https://www.youtube.com/watch?v=2LyzBoHo5EI
Long term, we probably should encourage (slightly) sub-2 children per family to let the total population shrink, but that will take a long time (unless something disasterous happens)
I don't advocate for killing this new gaming industry, just as I don't advocate for killing the more traditional gambling industry, but both need much stricter supervision than most markets because they attack a weak point in human psychology, and taken too far, they harm humanity more than they generate value.
In the end any "distortion" of the market requires a strong justification, but I think the justifications used against the gambling industry have always been pretty compelling, and they appear to apply just as well to modern games industry techniques.
Another way to put it is that the "value to society" of modern games techniques contains a negative externality: damage to the players comparable to that of gambling addictions. You could solve it with the equivalent of a carbon tax, though defining the cost of different tactics feels impossible, so I'd argue that the traditional gambling restrictions are a better fit (illegal in many places, illegal for children, legal limits, requiring various warnings and protections to discourage extreme behaviours, high taxes, etc).
Many families play boardgames with their children at home. Fewer visit blackjack tables. I think theres a fair argument that these broadly match the different financial strategies in the games industry. How much of this behaviour is parental wisdom and how much is limited accessibility thanks to legal restrictions is a hard question to answer, but I have a suspicion that the world would be a worse place with unrestricted gambling. But kids _do_ sit at home opening lootboxes as their parents watch tv, I'm not sure if the effects are much different.
Crafting macros is often black magic, but using them shouldn't be (if they're well crafted). Having an implicit rule in your macro that it cannot be used twice in the same line is surprising and potentially dangerous.
Another example is where you have a macro doing lots of work, if it needs to use a submacro multiple times that itself needs a unique identifier, then __LINE__ is no longer sufficient.
__UEXP_COUNTER__ is a little more difficult to imagine a use-case for, I'll admit (I can see it allows passing counters around, but I can't see why a parameter couldn't do the same).
Again, preprocessor macros are black magic, these additions seem a lot simpler to understand than `__VA_OPT__` (and its predecessor `##__VA_ARGS__`) or MSVCs awful stringify problems, as you brought up.
Surely given survivorship bias that means very little though?
If you did a survey today of living people you'd discover a 0% death rate, clearly humans are immortal.
Electricity can be produced pretty efficiently from almost any sources. Whilst it has a lead time, that lead time is measured in years to build power generation, rather than decades in replacing peoples devices and the transportation infrastructure.
Alternatives are almost always much less flexible, and are a much bigger danger of getting caught out by a volatile market.
The reality is more complicated because the cut off is very blurry - absorbsion does still increase as methane increases, just not fast enough to keep up, and it falls further behind the more methane we put out.
Rather than saying the equivalent to "I think this cannot be true", a request for citation merely means "I am interested in this claim and would like to know the source" (even if phrased more tersely). The content is more indicative of the intent than the phrasing, and requesting a citation is not an accusation at all, it is a request for a source for further research.
I suspect they're also taking advantage of the fact that dry ice is solid, so they're effectively sand-blasting the track (rather than merely pressure-washing it), but they're using sand that helpfully sublimates into the atmosphere without leaving residue (or poisoning anyone).
I imagine blasting sand or chemicals has the downside of leaving residue that can build up, meaning regular cleanup is required, and care required to use enough but not too much, with this you can spray as much as you can afford to buy/carry on the train and you don't have to worry about over-doing it.
Dry ice blasting is already a thing, so I guess they just realised it was a particularly promising technology for this application.
A city with enough roads for 100% car usage is approaching not being a city anymore, just an unending suburban hellscape, but a city with barely any roads and more rail than it really needs can still be a beautiful city.
To add to that, underground railways exist in many cities, but underground road networks effectively don't. The throughput by volume dug out the ground is viable for a rail service, its totally non-viable to bury an equivalent throughput 20 lane highway underground.
>there is a single phenomenon in physics that has any chance of being non-deterministic
In other words, we've managed to prove pretty much all of physics is built atop this one single phenomenon. You might as well say we've simulated lots of universe models on computers, and yet there is only a single universe model that has any chance of not being simulated on a computer (ie the one we're in), therefore all universes are probably simulated on computers. Sure, its a valid theory, but it begs the question of whether there is a universe at the bottom that isn't on a computer, or is it really an infinite line of computers stretching forever?
Non-determinism is inherently going to be at the bottom of the "layers" of physics, if it exists. If it feeds up to higher layers it will have to feed through each layer of the chain, so inherently we'd expect most layers of physics to deterministic, even if it exists. Therefore our intuition from higher layers isn't helpful in predicting lower layers unless we think those lower layers are built atop even lower layers below them.
Currently the most widely concidered deterministic theory is that there's a deterministic multiverse (ie all events we currently see as random are simply deterministic branches within the tree of all possibilities). But effectively that means the universe isn't actually deterministic, in the same way that if you have 5 boxes with 5 numbers in them, opening a box at random is not deterministic, even though opening all 5 simultaneously without an order _would_ be. The non-determinism is what we end up experiencing, rather than what happens within the multiverse, but it's still there (well, its not from a multiverse perspective, but it is from our perspective unless and until we find a way to see outside our branch of the multiverse).
There's other deterministic theories, but pretty much every theory is untestable, so more a question of faith than science.
Einstein famously agreed with your interpretation, but his invoking of god to make his case is quite appropriate.
I wouldn't blame you for just accepting the risk, situationally I might do the same, but it _is_ a risk.
Unix is not technically incompetent (certainly given the needs of the times it was designed in), but its real success now is largely based on it already being an incombent, and being open enough for projects to work from.
Original Unix is dead, it lives on through copy-cats, and they copied it mostly because an experienced user-base makes adoption easier.
In other words, the only time Unix was primarly selected for technical reasons was very short lived. Now its technical benefits are little more relevant than the technical benefits of a qwerty keyboard.
Being able to identify many such compounds very quickly implies some new threat models that are a bit disturbing.
Of the 40000 substances identified, perhaps one of them has another interesting characteristic we've never seen in a toxic compound before? Perhaps such characteristics could be idenfified and filtered for, and perhaps someone could pin down something entirely unique and outside of any threat-assessment anyone's produced.
>and not surprising at all it's obvious in retrospect, but they claim that the threat vector had not been seriously concidered before, and I see no reason to doubt their assessment. Many things aren't surprising once they've been pointed out, but were missed for far too long beforehand, and I personally had never concidered this before, despite seeing multiple articles about AI-generated substances for positive purposes.
Would it be better if nobody had access to easier ways to produce new and innovative nerve agents? Yes, of course it would be better.
Do I prefer a world where only state actors can build nerve agents, vs a world that includes state actors plus more? Yes, less sources of nerve agents is more good.
You might as well complain how pointless it is to block proliferation of nuclear weapons when malicious state actors already have them.
The world wont be safer by spreading nuclear weapons to more people, and similarly for nerve agents.
Fortunately, this sounds similar to nuclear weapons in another way, designing the weapon is not the hard part that limits them to state actors, its producing them that's hard.
Still, nuclear powers don't tend to publish their weapon plans publicly, for good reason, and the same logic should apply here.
I'm not using the comparison to imply this is as serious as nuclear proliferation btw, just that it's a useful example of knowledge that really should be kept limited.
But it doesn't really matter, for now that's just an aspirational goal, not an imminent reality.
>And even if my status is green but I happen to still be busy for some reason, a chat notification is a chat notification. Saying "hello" is as much an intrusion as saying "hello, I have this problem with <x>, can you help me?" -- except if you just say "hello", then I have to respond and then wait more time for a second intrusive notification to find out what you need.
Yup, that's the key. The cost per distracting notification is _vastly_ higher than the cost per word read, so chat notifications should be crafted to minimise individual notifications more than words.
They were also pointing out that the internet is likely to do more good than harm as far as de-escalating tensions goes, if you want to end a war, then turning off the internet is probably not a good policy, since it closes off an opportunity for dialogue and shared perspectives, so could do more harm than any potential good caused by the economic/social pressure.
So "[As a sanction during] Wartime is a Bad Time to Mess with the Internet [if the eventual intent is to de-escalate the war]" is a more reasonable interpretation of the title.
It's clearly a legally frought concept, and nobody actually believes in public domain itself as an ideal (as far as I know), its just seen as a means to an end, the end being a release of all "legal entanglement" upon the work.
If that means is problematic, why not use a less problematic means?
Specifically, there exist licenses that give everyone every possible right that they can be given without needing to invoke public domain at all, and that should be sufficient for anyone who doesn't want to retain their default rights, so why is public domain anything more than a legal dead-end? (ignoring of course that it's still relevant as the eventual end of copyright once someone's been dead for longer than Walt Disney)
Given Flow isn't trying to support _everything_ , perhaps they made the task easier by ignoring the complex bits.
Long term that cost will go down, but it's always going to make the calculation much less simple than it seems at first glance, solar might be the cheapest form of power at the moment, but it's not the cheapest single source to run an electricity grid by a wide margin.
The obvious solution is to just not use pronouns - it's a messy part of the language that is currently in flux, so why wade in?
Obviously, some sites are dedicated to these issues, so they can justifiably ask on sign up, but if you don't _need_ to care about people's personal details, better not to ask at all.