Hacker Newsnew | past | comments | ask | show | jobs | submit | tyree731's commentslogin


Driver Verifier is a tool that developers can choose to use for testing and debugging purposes.

It's not used on production machines and it does nothing to prevent a badly written driver from crashing the kernel.


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.


My PC used to regularly crash Windows 10 because of buggy Nvidia driver. Eventually they fixed the bug, but until then, I had a crash every few days.


From your own link:

"Driver Verifier is not normally used on machines used in productive work. It can cause ... blue screen fatal system errors."


By this argument, since Tesla regularly updates the software, no one can discuss the weaknesses in their self driving software.


I never said that. Just discuss the current version or at least something recent (any v13 version).


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.


Python is really really slow compared to JS though.


Node is so slow to start that python script can complete before Javascript even begins to execute.


For extremely simple scripts maybe. I get around 70 ms difference in startup time.

  $ time python3 -c "print('Hello world')"
  Hello world

  real 0m0.017s

  $ time node -e "console.log('Hello world')"
  Hello world
  
  real 0m0.084s


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


CPython is (though it's slowly getting better). Pypy is amazingly fast


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.


Ruff is one example https://astral.sh/ruff


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.


You may be surprised to discover that services will filter traffic by location.


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.


"Basically no one uses Windows by choice"

Uhh not really, I use it by choice, because it provides functionality that other brands don't.

That operating system provides functionality, compatibility and services that other manufacturers don't.


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.


But the fact that you have all of that compatibility is partly why the OS has its flaws

Aside from any adware…


Not just bundled, but force-installed Teams on every Windows computer.


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


> China is neutral.

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.


>Neutrality in the face of gross violations of international law amounts to tacit support.

Overall hysterical post but this line was the best by far


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.


Probably a bit of both.

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.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: