OP really needs to heed this advice. Modifying things in the cache will cause breakages that will confuse the hell out of you.
OP really needs to heed this advice. Modifying things in the cache will cause breakages that will confuse the hell out of you.
Google is an enormous company which operates flatter than you’d expect for an organization of its size. It’s entirely possible that someone from Google was involved in organizing this (i.e. booking the venue) without having buy-in from leadership. Once leadership became aware after being asked about it, they may have shut the whole thing down because they knew the optics would be bad.
How exactly is an individual supposed to determine which cops will be good and which will abuse their power?
Just as we can’t make a general statement that all cops are definitely bad, you can’t make a general statement that all cops in any particular country or town will be good.
From a basic risk management viewpoint, it doesn’t make sense for anyone to accept the risk that any given cop won’t abuse their position, even if we were willing to accept that very few would actually do so.
Cops have an extremely privileged status in society and the amount of damage that a bad one can do to an individual - on purpose or even by accident - is incalculable, including setting up an innocent person for capital punishment as we’re seeing unfold in Missouri right now.
Best practice when using .unwrap()
in production code is to put a line of documentation immediately above the use of .unwrap()
that describes the safety invariants which allow the unwrap to be safe.
Since code churn could eventually cause those safety invariants to be violated, I think it’s not a bad thing for a blunt audit of .unwrap()
to bring your attention to those cases and prompt to reevaluate if the invariants are still satisfied.
But only if pattern matching were included, otherwise they would be as unpleasant as C++'s std::variant
.
This makes a lot of sense, but the functions were Rust bindings for plain C functions, they weren’t function pointers. Granted I could have put pointers to the function bindings into fields in a struct and stored that struct in the mutex, but the ability to anyhow call the bindings would still exist.
It’s a massive win, and I would question the credibility of any systems programmer that doesn’t recognize that as soon as they understand the wrapper arrangement. I would have to assume that such people are going around making egregious errors in how they’re using mutexes in their C-like code, and are the reason Rust is such an important language to roll out everywhere.
The only time I’ve ever needed a Mutex<()>
so far with Rust is when I had to interop with a C library which itself was not thread safe (unprotected use of global variables), so I needed to lock the placeholder mutex each time I called one of the C functions.
People just don’t want to believe that China can win at capitalism because it undermines all their internal narratives around the innovation power of liberalism. I say this as someone who does not personally like China and its authoritarianism.
The fact of the matter is with a population of nearly 1.5 billion people, you’re statistically guaranteed to have enormous pools of talent to draw on. Even a relatively modest per capita investment in education, focused on key objectives and funneled into the portion of the talent pool that they’ve managed to identify, will be able to yield massive innovation.
A lot of people will suffer under this authoritarianism. The people from these talent pools will be exploited and burnt out at a young age. This is already happening in China. But as a nation, it will be able to position itself extremely well technologically and economically, and this is a reality the rest of the world needs to be prepared to deal with.
PG&E was literally the villain in the real life Erin Brockovich story.
Nothing is ever better in every conceivable way than the current state of the art.
Probabilistically, sure, but it’s not impossible that there has been some piece of knowledge or understanding that’s been missing, and that massive breakthroughs are possible once the process is figured out.
I think a fair modern example is LED light bulbs. They are better in every conceivable way than incandescent or fluorescent lightbulbs: they last longer, use less energy, shine brighter, use less toxic materials, and are easy to mass produce. But there were several decades where much of the industry believed that LEDs would never be very useful as a light source because we could only produce red and green, and it was generally believed that a blue LED would be impossible to produce.
Then one guy decided it would be his life mission to invent the blue LED, and the sonuvabitch did it. Now LEDs are the only sensible thing to use to produce light.
It’s always possible for this kind of breakthrough to happen, especially in material science where the complexity of how molecules interplay is nearly incomprehensible.
Trump keeps insisting that he defeated Biden too fast this time: beat him before the votes were even cast by winning so hard in the first debate.
So yes, it’s exactly what you said: Trump knows that he never gets to legitimately claim victory over Biden, so he’s delusionally claiming it anyway with any rationale he can come up with.
I don’t doubt that in this case it’s both silly and unacceptable that their driver was having this catastrophic failure, and it was probably caused by systemic failure at the company, likely driven by hubris and/or cost-cutting measures.
Although I wouldn’t take it as a given that the system should be allowed to continue if the anti-virus doesn’t load properly more generally.
For an enterprise business system, it’s entirely plausible that if a crucial anti-virus driver can’t load properly then the system itself may be compromised by malware, or at the very least the system may be unacceptably vulnerable to malware if it’s allowed to finish booting. At that point the risk of harm that may come from allowing the system to continue booting could outweigh the cost of demanding manual intervention.
In this specific case, given the scale and fallout of the failure, it probably would’ve been preferable to let the system continue booting to a point where it could receive a new update, but all I’m saying is that I’m not surprised more generally that an OS just goes ahead and treats an anti-virus driver failure at BSOD worthy.
When talking about the driver level, you can’t always just proceed to the next thing when an error happens.
Imagine if you went in for open heart surgery but the doctor forgot to put in the new valve while he was in there. He can’t just stitch you up and tell you to get on with it, you’ll be bleeding away inside.
In this specific case we’re talking about security for business devices and critical infrastructure. If a security driver is compromised, in a lot of cases it may legitimately be better for the computer to not run at all, because a security compromise could mean it’s open season for hackers on your sensitive device. We’ve seen hospitals held random, we’ve seen customer data swiped from major businesses. A day of downtime is arguably better than those outcomes.
The real answer here is crowdstrike needs a more reliable CI/CD pipeline. A failure of this magnitude is inexcusable and represents a major systemic failure in their development process. But the OS crashing as a result of that systemic failure may actually be the most reasonable desirable outcome compared to any other possible outcome.
Thanks for your candid views on this.
To be clear, our interest in subsistence farming is not intended to do anything to solve the problems we’re facing as a society. It’s an attempt to figure out how we might try to survive locally after the global supply chains collapse. We’re particularly researching what crops might be viable in a landscape that has been reshaped by the changing climate. Additionally we’re studying everything we can about community organizing and systems of self-governance that promote collaboration over individual greed.
This might all sound defeatist to someone like yourself who is still committed to fighting the good fight, but we see it as a contingency plan that our community’s ability to survive may depend on in the future.
I really admire that you’re committed to recycling and waste reduction. Do you have any resources you’d recommend for me to learn more about what’s going on in that space and what’s being done to combat the acceleration of plastic and electronics waste?
I know it’s “not your job” to educate me, but everything I can find on the topic suggests that we don’t have a viable path to manage the accelerating growth of waste, and we don’t have very effective systems for recycling, so even recyclable waste is mostly just being dumped in landfills because it’s more “economical” to just keep churning out products from new materials. I’d be very happy for all of that to be wrong, so any credible source you can point me at to debunk that narrative would be very much appreciated.
Let me know which part was confusing to you
The part where you left out any viable path for any of the hypothetical solutions to be realized 🤷♂️ You of all people should know that a blueprint is worthless if there’s no process available to build what it describes.
Damn here I am thinking that this is one of the most important parts of civilization.
I mean yeah, I do agree that sanitation and water works are the crowning achievement of human civilization to this very day. But I’ve gotta say it doesn’t inspire confidence if the people running those systems think that concerns about sustainability are something to have a group chuckle about.
Just because the work you do is important doesn’t mean it’s beyond the scrutiny of ecological sustainability. All your good work won’t amount to much in the long run if we can’t find a path to reducing consumption and prolonging the viability of these systems. We don’t have infinite resources, and our ability to recycle is nowhere near what it needs to be to keep up with economic demand.
Tell you what, why not be the change you want to see in the world and stop flushing your toilet, stop using tap water, stop recycling anything, and don’t set your garbage out.
My partner and I are unironically taking the time to research subsistence farming and how to maintain very basic personal water collection and waste removal/reuse systems. We’re also learning about perma-computing so that hopefully we can preserve some of the knowledge that humans have accumulated into the future.
We see it as a foregone conclusion that human civilization as we know it will entirely collapse, probably sooner than anyone cares to admit, so we’re making contingency plans. People with your dismissive attitude are a big part of why we see it as a forgone conclusion. Because as far as we can tell you’re in the 95%+ majority of people on this planet, which means hardly anyone is putting effort into solving these existential problems that we’re facing. Problems which you have offered no viable solution to, despite your insistence otherwise.
That isn’t my job.
So then you didn’t “solve” the impossible problems.
I hope you and your colleagues have a good laugh about how the work you do is contributing to the march towards the end of human civilization as we know it.
I never suggested these problems are impossible to solve, but you haven’t solved them in your post because you haven’t laid out how to overcome the political and economic resistance to implementing any of this, and that’s where the biggest challenge is.
Although I think it’s naive to believe that nuclear power and renewable energy can allow us to keep consuming energy recklessly. Renewable energy technology still puts a significant strain on the environment, in terms of mining rare-earth elements, pollution produced during manufacturing, and material waste from devices that have reached end of life. Nuclear energy is rife with controversy… I used to be firmly in support of it, but I’ve grown skeptical, largely because of the ecological damage from the mining and construction processes, and we don’t have a clear story of what end of life looks like for a nuclear power plant. A plant can only be expected to operate for 40-60 years at which point it needs to be demolished and rebuilt, repeating the massive costs of material waste and construction all over again.
At the end of the day the only way for humanity to survive is for everyone to be reducing their consumption, but I honestly the think the vast majority of people today would rather die and take everyone else down with them than accept more responsible consumption habits.
I can’t tell if you’re suggesting that foundation models (which is the underpinning technology of LLMs) aren’t being used for the things that I said they’re being used for, but I can assure you they are, either in commercial R&D or in live commercial products.
The fact that they shouldn’t be used for these things is something we can certainly agree on, but the fact remains that they are.
Sources:
Wayve is using foundation models for driving, and I am under the impression that their neural net extends all the way from sensor input to motor control: https://wayve.ai/thinking/introducing-gaia1/
Research recommending the use of LLMs for giving financial advice: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4850039
LLMs for therapy: https://blog.langchain.dev/mental-health-therapy-as-an-llm-state-machine/
So this all goes back to my point that some form of accountability is needed for how these tools get used. I haven’t examined the specific legislation proposal enough to give any firm opinion on it, but I think it’s a good thing that the conversation is happening in a serious way.
It makes total sense that new C++ will contain a higher percentage of bugs than old C++, but after being an almost full time Rust dev for the last two years, you will not convince me that new Rust code has more bugs than old C++ code.
So far I have yet to come across a bug in any of my Rust code that made it into production. All issue reports from users are still related to the C++ code base that we haven’t managed to fully divorce from.
The only advantage to C++ interop is that managers want to see new code get deployed immediately and continuously. They don’t want to wait until the corporation’s billions (literally) of lines of code are all rewritten in a new language before they start to see the benefits of that transition.