HNHacker News
TopNewBestAskShowJobs

nullindividual

2,175 karma · joined May 16, 2023

submissionscomments
nullindividual··on Why is spawning a new process in Node so slow?
> But those aren't really the same?

It's the "Windows way". Windows process creation is slow. No, they're not identical, they're different approaches to the problem.

> subprocesses it's likely specifically because it's something you can't do in threads

I suppose the question would be, "what can't you do, if you did it the Windows way?"

nullindividual··on Taking command of the Context Menu in macOS
Usage of the NT API isn't uncommon, but it is highly discouraged.
nullindividual··on Why is spawning a new process in Node so slow?
To be fair for Windows, you shouldn’t emulate fork() but rather spawn new threads, which Windows can do in less than a millisecond. This should give you much quicker results, but comes with other complexities, especially for UN*X-ported apps. Given you emulated fork(), you probably know this.
nullindividual··on Taking command of the Context Menu in macOS
Thanks! However, it lacks a couple of things the Automator script does. It wants to convert by default to JPEG instead of keeping the source format, it requires interactivity, and for some reason if I cancel the dialog, I can't get it to run again without relaunching Finder (on 14.6).
nullindividual··on Taking command of the Context Menu in macOS
I've done this to strip Exif metadata from pictures using Automator. Uses homebrew and the exiftool package.

Workflow receives current "image files" in "any application"

Image = Action

Run shell script:

Shell: /bin/zsh

Pass input: As argument

  for f in "$@"
  do
    /opt/homebrew/bin/exiftool -all= -tagsfromfile @ -ColorSpaceTags -Orientation $f
  done
----

Will be under the Quick Actions menu.

I tried the same with Shortcuts, but I cannot get it to run from the context menu, only within Shortcuts during testing. Maybe something limiting shell command access from Shortcuts? Not sure.

nullindividual··on Ask HN: HN comments changed from majority libertarian to majority socialist?
I certainly wish I got paid to be a socialist democrat shill! Where's my hand out from the government?! Simply not fair.
nullindividual··on Ask HN: HN comments changed from majority libertarian to majority socialist?
I agree, you may be jaded (beyond reviewing the HN Guidelines).

If you read reddit, it's far, far more awful. The 'top' comments on nearly any posts are attempts at jokes. The post titles themselves often sound made up or attention seeking. Reposts of posts and comments are common place and bots flourish.

HN is certainly not reddit in terms of user generated content.

I've had a desire to post in the "AITAH" sub something to the effect of "AITAH for thinking your problems posted to AITAH are "no shit?!" or just plain made up?". There are plenty of exceptions if you go into the tightly focused topic subreddits, but as soon as it is a general community, like the above or even /r/seattle, it's difficult to read. On top of everything being black and white; one tiny maleficence (which may not be true, could be a video cut to appear that way, for example) and a thread is full of 'off with his head' posts.

nullindividual··on Ask HN: HN comments changed from majority libertarian to majority socialist?
> Now most articles I see have wall to wall pro socialist and pro regulation comments. What happened?

Interest rates went >0% and people realized they were being f-ed by the techbros and capitalism in general.

nullindividual··on Friend.com – The Virtual Friend
If it runs out of battery power, does it die?

"My Friend is brain dead..."

nullindividual··on How does non-blocking IO work under the hood?
IOCP is not an event loop. It is true async, non-blocking I/O; completion-oriented; the I/O manager informs the thread the operation is completed.

epoll/kqueue are readiness-oriented, which continuously asks if the operation is completed via a single thread.

https://speakerdeck.com/trent/pyparallel-how-we-removed-the-...

nullindividual··on SQLite: 35% Faster Than the Filesystem
I find this stuff super fun to learn about. My knowledge is far from complete but the more you know, the more pedantic you can be about things like 'virtual memory' and the misnomer of setting the min/max page file to 1.5*RAM (was used to ensure full memory dumps, not for performance).

If you want to know more, grab the book Windows Internals.

nullindividual··on SQLite: 35% Faster Than the Filesystem
It allows you to do something else while waiting for the request to complete. Linux has historically bad hacks to enable this. Windows NT has had IOCP since it's inception, but not only for storage devices, as io_uring is limited to, but networking, TCP sockets, mail slots, named pipes, etc.

"Are you done yet?" vs "Get back to me when you're ready, gonna go do something else". Aka blocking i/o vs nonblocking i/o.

(I always wonder why Windows NT doesn't get more high performance implementations for networking et. al. with this feature; licensing? trade off in perf elsewhere? can't tweak kernel params to your heart's desire?)

io_uring implemented an additional feature of a ring buffer, but Microsoft has followed this feature; I think it was first introduced in a later build of Windows 10 and should be in 11 & 2022.

Microsoft has a graphical example of IOCP:

https://learn.microsoft.com/en-us/windows/win32/fileio/synch...

More info on a comparison of ring implementations in Windows/Linux:

https://windows-internals.com/ioring-vs-io_uring-a-compariso...

nullindividual··on SQLite: 35% Faster Than the Filesystem
Doesn't match what I found.
nullindividual··on SQLite: 35% Faster Than the Filesystem
Azure Temporary Storage disks are stored on the host hypervisor machine. Non-temp storage is stored in Azure Storage. That's the only difference.

FAT[32] does implement minifilters.

https://learn.microsoft.com/en-us/windows-hardware/drivers/i...

https://www.osr.com/nt-insider/2019-issue1/the-state-of-wind...

nullindividual··on SQLite: 35% Faster Than the Filesystem
The MFT describes resident (in-MFT) metadata about files, or non-resident (external to the MFT, but the MFT has a pointer) if the metadata does not fit within the MFT. The MFT itself is a database; Windows makes use of file system caching, be it in-memory or another caching mechanism, like on-device disk cache.
nullindividual··on SQLite: 35% Faster Than the Filesystem
File system filter drives apply to all (RW) file systems on Windows. It's not exclusive to NTFS or ReFS.

Windows has an extensible model. It's a different approach from most (all?) other OSes. It offers a different set of features.

Sure, AV could perhaps be done in a different manner that would be more effective/faster, I can't comment on that as I lack the insight required -- only MSFTies that work on kernel code could respond in any authoritative way.

nullindividual··on Evidence for global cultural diffusion
Motifs, but not shared myths.
nullindividual··on Evidence for global cultural diffusion
Seven Sisters myth being a coincidence across cultures around the world:

https://www.youtube.com/watch?v=_qyjKND3dAE

nullindividual··on SQLite: 35% Faster Than the Filesystem
> For the life of me I cannot understand why Defender blocks Explorer.

I suppose if you wanted to find out, you could use dtrace/ETW.

Explorer has other things going on, though, including other apps that hook into it (shell extensions, like Adobe Reader, TortiseGit/SVN, and so on) which can certainly cause performance issues.

nullindividual··on SQLite: 35% Faster Than the Filesystem
io_uring/IOCP won't change how long it takes to access a file.
nullindividual··on SQLite: 35% Faster Than the Filesystem
You can get benches from the horses mouth.

https://devblogs.microsoft.com/visualstudio/devdrive/

But the primary improvement comes from async A/V, not the file system.

ReFS offers other improvements such as CoW and instant file initialization which can benefit developers. From this standpoint, it is the correct choice over NTFS.

https://devblogs.microsoft.com/engineering-at-microsoft/dev-...

nullindividual··on SQLite: 35% Faster Than the Filesystem
WinFS was never designed as a replacement as it rode on top of NTFS. It was a fancy SQL Server database that exposed files as .NET Objects for API interaction.

Sans the API piece, think of it like storing blobs in SQL Server, just like SharePoint does.

I was lucky enough to play around with beta 1. Not much you could do with it, though.

nullindividual··on SQLite: 35% Faster Than the Filesystem
NTFS is perfectly fine at handling small files and performs on-par with other modern file systems.

The issue is Defender in sync mode/other AV/other file system filters.

DevDrive as noted by default uses an async scanning technique as well as ReFS. ReFS will suffer the exact same performance issues with Defender (or other AV/other file system filters) doing its thing when running in sync mode, which it does by default for ReFS-formatted drives in Windows Server.

https://gregoryszorc.com/blog/2021/04/06/surprisingly-slow/

https://news.ycombinator.com/item?id=26737521

> Except for CloseHandle(). These calls were often taking 1-10+ milliseconds to complete.

> While I didn't realize it at the time, the cause for this was/is Windows Defender. Windows Defender (and other anti-virus / scanning software) typically work on Windows by installing what's called a filesystem filter driver.

This doesn't take away from your point that _it is slow_, but the reasons are not due to the file system in use.

nullindividual··on Apple Maps launches on the web in new public beta
No Firefox support, that's too bad.

https://support.apple.com/en-us/120585

Seems to work fine if you change the FF user agent to Edge.

nullindividual··on Ask HN: What Is Microsoft's Highest Quality Product?
Your question is leading, which is unfortunate.

SQL Server; NT kernel

nullindividual··on July 2024 Update on Instability Reports on Intel Core 13th/14th Gen Desktop CPUs
> It seems AMD had an issue supporting ECC with the current chipsets.

AMD has the advantage with regards to ECC. Intel doesn't support ECC at all on consumer chips, you need to go Xeon. AMD supports it on all chips, but it is up to the motherboard vendor to (correctly) implement. You can get consumer-class AM4/5 boards that have ECC support.

nullindividual··on Google gives up trying to elimintate cookies
If I recall, the primary issue was that Google was going to 'own' the replacement implementation. That doesn't mean other's would be locked out of it, but it would be yet another deathgrip of the web by Google.
nullindividual··on No More Blue Fridays
> validated FDA regulated environment stayed on the Mac

Given how long it takes to validate in a GxP environment, and the cost, this makes sense.

nullindividual··on No More Blue Fridays
I don't think Microsoft has a choice with regards to kernel access. Hell, individuals currently use undocumented NT APIs. I can't imagine what happens to backwards compat if kernel access is closed.

Apple's closed ecosystem is entirely different. They'll change architectures on a whim and users will go with the flow (myself included).

nullindividual··on No More Blue Fridays
Microsoft already has an extensible file system filter capability in place, which is what current AV uses. Does it make sense to add eBPF on top of that and if so, are there any performance downsides, like we see with file system filters?
← PreviousPage 8 of 34Next →