Kernel drivers have to be verified by the driver verifier to pass Windows Hardware Qualification Labs certification and get signed with the Windows signing key that lets them load without warnings. There are fewer outside kernel drivers today, though, because plugging random peripheral cards into PC buses is no longer a big thing.
This is true for certification, which is mandatory for Server OS, distributing through Windows Update, or certain classes of drivers such as anti-malware or biometric authentication, but you can still submit drivers to Microsoft for "attestation signing" that will load without warnings on desktop OS without having to run them through the testing suite.
In any case, running the certification tests does not provide runtime protection for drivers running in kernel mode, as demonstrated by CrowdStrike. Only Windows 10 started introducing hardware virtualization-based isolation of kernel components (to provide isolation of security subsystems, not runtime checks to prevent crashes): https://learn.microsoft.com/en-us/windows-hardware/design/de...
Yet drivers that have passed Windows Hardware Qualification Labs certification have had blue screens. Also, Microsoft hands out Windows kernel driver signing keys to anyone who pays them. You don't need to have a driver go through the Windows Hardware Qualification Labs to be able to sign it with a key signed by Microsoft.
Yeah but you see this goalpost moving all the time when talking Tesla. Every time someone says something is wrong, people will say "But what about the latest version" or "this will be fixed in the next version". Meanwhile, you can still find video on YouTube of cars on the latest version veering into oncoming traffic.
Lots of very smart people have worked very hard on Python tools written in Python, yet the rust rewrites of those tools are so much faster. Sometimes it really is the programming language.
In the JavaScript world a lot of speed up comes from 3 major things as far as I can tell:
- easier concurrency.
- the fact that things are actually getting rewritten with the purpose of speeding them up.
- a lot of the JS tooling getting speedups deals with heavily with string parsing, tokenizing, generating and manipulation of ASTs. Being able to have shared references to slices of strings, carefully manage when strings are copied, and have strict typing of the AST nodes you enable things to be much faster than JavaScript.
I once worked on a Python system that had 50 machines dedicated to it. We were able to rewrite it in a more performant language such that it easily ran on one machine. This also allowed us to avoid all the issues distributed systems have.
So yeah, Python is not great for systems programming
This is a very nice counterexample, but it's not actually a counter example without an example.
Also, this was a thing before Rust. I've rewritten several things in C or Cpp for python back ends, and most pytbon performance-critical code is already an API to a shared library. You'd be surprised to run OR tools and find Fortran libraries loaded by your python code.
But can I write plugins for it? My understanding it is only implements a subset of the common plugins (and does not do any of the linting that pylint is useful for), so it avoids scanning the filesystem for plugins?
> Lots of very smart people have worked very hard on Python tools written in Python
Yes, I agree that is very sad
Python is achingly slow. I know the Python people want to address this, I do not understand. Python makes sense as a scripting/job control language, and execution speed does not matter.
As an application development language it is diabolical. For a lot of reasons, not just speed
Choosing the right algorithm effectively means optimizing runtime complexity. Then, once runtime complexity is fixed with the right algorithm, you're still left with a lot of constant factors that O-notation deliberately ignores (it's only about growth of the runtime). Sometimes, optimizing those constant factors can be significant, and then the choice of language matters. And even some details about the CPU you are targeting, and overall system architecture.
Often languages like Javascript and Python don't allow optimal runtime complexity, because the types baked in to external interfaces fundamentally disallow the desired operation. And these languages are too slow to rewrite the core logic in the language itself.
(but of course, the vast majority of the code, even in widely used tools, isn't properly designed for optimization in the first place)
I only dabble in javascript, but `tsc` is abominable.
> Lots of very smart people have worked very hard on Python tools written in Python, yet the rust rewrites of those tools are so much faster.
So?
Some tool got written and did its job sufficiently well that it became a bottleneck worth optimizing.
That's a win.
"Finishing the task" is, by far, the most difficult thing in programming. And the two biggest contributors to that are 1) simplicity of programming language and 2) convenience of ecosystem.
Python and Javascript are so popular because they tick both boxes.
Don’t disagree about finishing the task, but personally I don’t find more performant languages any less productive for the sort of programming I tend to do.
Congratulations on being a programming god. This discussion isn't for you.
From my point of view, I'm happy if I can convince my juniors to learn a scripting language. Okay? I don't care which one--any one. I'd prefer that they learn one of the portable ones but even PowerShell is fine.
I have seen sooooo many junior folks struggle for days to do something that is 10 lines in any scripting language.
Those folks who program but don't know a scripting language far outnumber the rest of us.
> I have seen sooooo many junior folks struggle for days to do something that is 10 lines in any scripting language.
> Those folks who program but don't know a scripting language far outnumber the rest of us.
What domain are you in? This sounds like the complete inverse of every company I've ever worked at.
Entire products are built on Python, Node ect, and the time after the initial honeymoon phase (if it exists) is spent retrofitting types on top in order to get a handle, any handle, on the complexity that arises without static analysis and compile time errors.
At around the same time, services start OOM'ming left and right, parallellism=1 becomes a giant bottleneck, JIT fails in one path bringing the service performance down an order of magnitude every now and then etc...
> Congratulations on being a programming god. This discussion isn't for you.
On the behalf of mediocre developers everywhere, a lot of us prefer statically typed languages because we are mediocre; I cannot hold thousands of implicit types and heuristics in my head at the same time. Luckily, the type system can.
Maybe a fine approach for the individual, but then the black market, and its general disregard for the law or the well being of others, comes along with them.
It doesn’t sound like you’re familiar with the case and why it’s being brought against Purdue Pharma. There is a whole lot more to this than “the drug” and “the person”.
I watched the Netflix series Painkiller five times in a row. I watched the entire Sackler deposition. My heart goes out to the people who have lost loved ones. I simply disagree with the anger and outrage.
In my previous jobs we didn't have any business in china and banning all IP ranges was a cheap an easy strategy to remove 50% of unsuccessful login attempts.
But Microsoft has misused their market power plenty of times, such as when they bundled Microsoft Teams with their enterprise contract at zero cost, destroying Slack's market value overnight.
Or how about the fact that basically no one uses Windows by choice, they use it because they need to for some app, and because of that Microsoft makes the entire OS constantly harass everyone to try and trick them into signing up for Microsoft services.
Regularly I get an OS update that walks me through "setting up" my "new" PC I've had for 3 years, and it involves dodging dark pattern UIs to not sign up for Office or Xbox Game Pass or set Edge as my default browser. And even if I succeed, they'll probably have taught my computer a new way to try to sell me something.
One update they added their horrible Copilot chatbot as an app to my taskbar, which I promptly unpinned. Then the next update they removed my "show desktop" button - which has been a consistent part of Windows for 15 years - and replaced it with ANOTHER COPILOT BUTTON. I had to look up online how to restore a basic navigation button that was replaced with an ad for their terrible new AI product.
No idea what functions or services Windows has that doesn't exist on other platforms in an equal or superior way. PowerShell maybe?
"Compatibility" is exactly what I'm referring to as being the issue. I use Windows because it has compatibility with my Steam library. But if I could play those games hassle-free on another platform then I'd love to never boot up that dark-pattern-riddled adware dumpster fire excuse for an OS again.
In the aggregate, yes, but in the specific, no. Companies nowadays want to see which advertising channels and specific ads, over a given period of time, are performing, so as to decide how to better invest their ad spend
Neutrality in the face of gross violations of international law amounts to tacit support. And yes, I understand that you have addressed this point in your comment, but whataboutism gets us nowhere. If a country is violating human rights, they should be held accountable.
> Taiwan and China are recognized by the United States by international treaty as one country.
A treaty not worth the paper it's written on. It's clear that the United States would defend Taiwan militarily were it to come to that, so mentioning as a reason to punish China that China continues to provoke Taiwan militarily is very relevant.
> The reason for this is the US sees China's economic rise as a threat to its global position.
Ahh yes, of course, this war being entirely the US' fault.
Since the location of where the mud is gathered is considered a secret, I imagine it's more about giving people a different reason as to why he's there.
Assuming the oft-cited Delaware River and Palmyra references are genuine, no, Blackburne Rubbing Mud does not own any public property in Palmyra. Blackburne's registered address is 60 miles away. There's about a mile of riverfront on a public park, an industrial warehouse, and some condos.
He's stealing the mud from public property. I'm sure that he'd be arrested if he showed up with an excavator and tried to start a gravel pit on a nature trail, but, it turns out, you can boast on national media about taking dirt from a public park if you only take a couple hundred pounds of it a year and do it sneakily, two bucketfuls at a time.
There are so many plausible arrangement for this to be legal without his main company owning the riverfront property that and it’s absurd for you to think you’ve uncovered a scam in plain sight of a beloved and well known process .
Palmyra NJ is a distraction. It comes from a South Jersey creek in the same county as Palmyra. I think that water is cleaner than the Delaware itself. That water runs through a forest type boundary between, I believe, three forest types, so that specific mud may actually be fairly unique.
https://en.m.wikipedia.org/wiki/Driver_Verifier