Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Hammerite posted:

the post was pretty interesting, as someone who doesn't know much about how operating systems work at a low level. but the constant suggestion that one should have an emotional reaction to it was a bit irritating*. I mean all the "ye gods how awful it is that they are doing this! how gross! and now let me tell you about what they do with the file system" stuff. it's all just computer bullshit you don't have to try to make it juicy by talking about how it's the computer equivalent of HP lovecraft or something.

* the author of the piece is less guilty of this than all the commenters reacting to it

it's more that it's a high int low wis solution to a problem that probably took a significant amount of work to pull off. someone probably had the thought "hey, what if we just made each OS sleep and had them switch between the two" and then had the balls to keep going when they kept finding problems. doing the amount of work that they did to get this to work and getting a bad result (it's still loving slow to switch between the OS anyway) is a tragedy. i've dealt with engineers that can get anything to "work" given enough time and who would always double down on poo poo like this before and it's super frustrating working on a project that's fundamentally doing something that it shouldn't be doing.

Adbot
ADBOT LOVES YOU

QuarkJets
Sep 8, 2008

Hammerite posted:

the post was pretty interesting, as someone who doesn't know much about how operating systems work at a low level. but the constant suggestion that one should have an emotional reaction to it was a bit irritating*. I mean all the "ye gods how awful it is that they are doing this! how gross! and now let me tell you about what they do with the file system" stuff. it's all just computer bullshit you don't have to try to make it juicy by talking about how it's the computer equivalent of HP lovecraft or something.

* the author of the piece is less guilty of this than all the commenters reacting to it

That's how I felt also, I kept thinking that the things they were doing were pretty cool. It wasn't a good idea to implement them, but geeze I'm not going to poo poo my pants over it

Presto
Nov 22, 2002

Keep calm and Harry on.
It's more that it works, but violates a lot of rules. Like if a football team used a rhinoceros as a ball carrier. This guy is the coach of the other team arguing with the refs that it says right in the rulebook that all players must be human.

QuarkJets
Sep 8, 2008

Yeah I guess I can see how some poindexters could get very mad at all of the rule-breaking going on

ToxicFrog
Apr 26, 2008


Jeffrey of YOSPOS posted:

One running operating system is writing to the other one's filesystem journal while the other operating system thinks it is asleep? That is......fully insane. Using ACPI as your hypervisor is kind of a delightful hack but the filesystem part makes it not fun any more.

Based on the description of what it's doing and how it behaves, I don't think it's writing directly to the NTFS journal -- my guess would be the NTFS filesystem mounted ro and then an overlay filesystem rw on top of it, with writes to the overlay filesystem being mirrored to a journal that's readable from windows, which then gets replayed using the standard win32 file API when it switches back.

That said, it looks like ntfs-3g did have at least partial NTFS journal support ca.2009 so it's possible!

Bruegels Fuckbooks posted:

it's more that it's a high int low wis solution to a problem that probably took a significant amount of work to pull off. someone probably had the thought "hey, what if we just made each OS sleep and had them switch between the two" and then had the balls to keep going when they kept finding problems. doing the amount of work that they did to get this to work and getting a bad result (it's still loving slow to switch between the OS anyway) is a tragedy. i've dealt with engineers that can get anything to "work" given enough time and who would always double down on poo poo like this before and it's super frustrating working on a project that's fundamentally doing something that it shouldn't be doing.

Yeah it's this OP. It's a huge amount of effort to build something that, no matter how cool an accomplishment it is (and it is very cool), is also extremely complex, fragile, a cast-iron bitch to debug or port to other hardware or other windows versions, makes the system it's on run worse by stealing a huge chunk of memory, and doesn't even come close to accomplishing its stated goal. It's going "I wish I had fresh coffee waiting for me when I woke up" and then constructing a gigantic rube goldberg machine about it that, when activated, kicks you in the groin, and declaring that a success.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

QuarkJets posted:

Yeah I guess I can see how some poindexters could get very mad at all of the rule-breaking going on

i'll give a more concrete example. Say someone wants a web service to print something for some godforsaken reason. Developer looks up the api and see something like "https://learn.microsoft.com/en-us/dotnet/api/system.printing?view=windowsdesktop-7.0." If you look through this, you'll note the following

quote:

Classes within the System.Printing namespace are not supported for use within a Windows service or ASP.NET application or service. Attempting to use these classes from within one of these application types may produce unexpected problems, such as diminished service performance and run-time exceptions.

There is a class of dev that will take this as a challenge and go ahead and write the code anyway. They give it to QA, it works. On actual deployment, it deadlocks because printer enumeration can throw a UAC prompt etc. etc.

Or, given a task to replace a context menu in a native application, they write 300,000 lines of code in three different languages involving keyboard and mouse hooks to intercept the windows context menu and open a browser window containing a context menu instead.

Like, I'd prefer people who are architecting systems to have a sense about what we should and should not do with a computer and I'd prefer that people would viscerally recoil at the examples I provided above rather than being like "let's have a three hour long meeting about why this is bad."

Bruegels Fuckbooks fucked around with this message at 22:01 on Mar 26, 2023

Toshimo
Aug 23, 2012

He's outta line...

But he's right!

Bruegels Fuckbooks posted:

doing the amount of work that they did to get this to work and getting a bad result (it's still loving slow to switch between the OS anyway) is a tragedy. i've dealt with engineers that can get anything to "work" given enough time and who would always double down on poo poo like this before and it's super frustrating working on a project that's fundamentally doing something that it shouldn't be doing.

User experience is a crutch.

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug

ultrafilter posted:

Back in the days when we made desktop apps I launched multiple DDoS attacks against our servers.

I heard once that someone at MSFT once hosed up a feedback system to make an expensive call 100x more than they thought they were asking for and DDOS'd the service so hard they couldn't tell services to stop sending the calls because the same API was used for giving new configurations to callers and receiving the data.

Edit: didn't realize how many posts passed since the one I was quoting whoops

Falcon2001 fucked around with this message at 23:16 on Mar 26, 2023

Carbon dioxide
Oct 9, 2012

Kazinsal
Dec 13, 2011
nope don't like that thanks for playing

Athas
Aug 6, 2007

fuck that joker
I don't think the ACPI-based hypervisor is that terrible. I'm not an ACPI expert, but I don't think it violates any rules. It's basically just alt-tabbing for operating systems. The file system virtualisation is horrible, of course.

Ultimately this is still an overly complicated feature that really isn't worth it. The problem with wasting RAM could be solved by storing the RAM contents to disk whenever switching from one OS to the other. Since this approach is already doing disk shenanigans, setting aside a few GiB to store RAM contents should be fine.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Athas posted:

The problem with wasting RAM could be solved by storing the RAM contents to disk whenever switching from one OS to the other.
These machines probably had pretty slow drives, so storing everything to/from disk would make it even slower than it already is (and consequently increasing its already vast uselessness).

Xarn
Jun 26, 2015
It's 2 gigs Michael, how long could it take?


I just realized I don't even remember the expected bulk transfer speeds for lower RPM drives anymore, and I can't imagine going back to pre-ssd days.

Athas
Aug 6, 2007

fuck that joker
I was going to reply that storing a gigabyte of memory couldn't take that long, but then I read up on the transfer speed of a contemporary 5400RPM drive.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Athas posted:

I was going to reply that storing a gigabyte of memory couldn't take that long, but then I read up on the transfer speed of a contemporary 5400RPM drive.

I'd be shocked if those things weren't using 4800 rpm drives..

M31
Jun 12, 2012
Clearly they didn't go far enough:

Before rebooting from Windows allocate a continuous piece of memory, then use that instead of a fixed 512Mb region. Swap memory to disk on demand after booting to Linux if you can't allocate enough. No need to write the entire memory to disk.

You could probably do something similar in the other direction (having windows reserve it and write the to disk in the background instead of hiding it completely). Or you could just make Linux actually boot fast so you don't have to bother with hibernating that side.

On the other hand, they are Phoenix maybe the could make the bios fast instead thanks.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

This is basically what a bunch of dynamic language runtimes do. It is called NaN boxing, and is a similar concept to pointer tagging.

RPATDO_LAMD
Mar 22, 2013

🐘🪠🍆

Bruegels Fuckbooks posted:

it's more that it's a high int low wis solution to a problem that probably took a significant amount of work to pull off. someone probably had the thought "hey, what if we just made each OS sleep and had them switch between the two" and then had the balls to keep going when they kept finding problems. doing the amount of work that they did to get this to work and getting a bad result (it's still loving slow to switch between the OS anyway) is a tragedy. i've dealt with engineers that can get anything to "work" given enough time and who would always double down on poo poo like this before and it's super frustrating working on a project that's fundamentally doing something that it shouldn't be doing.

Correction: it wasn't slow to switch OSes, article guy clocked it as only 6s to go from windows to linux.
But the whole reason they added it was as an "instant-on" alternative to avoid slow initial boot-up speeds for Windows, and it did nothing to help that -- the initial boot was about the same speed.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
:viggo: Actually, NaN boxing is using the fact that double can express 2^52-1 different NaNs to store a pointer using that unused encoding space; that is indeed used widely in language implementations. Twitter user whitequark is saying that a pointer can be thought of as integer, and a double can losslessly represent all integers in [-2^53, +2^53] (and therefore all currently-possible pointers on x86-64) as floating point numbers; that is magnificently useless.

repiv
Aug 13, 2009

useless in any sane software, but i wouldn't rule out the possibility of some nodejs FFI horror storing pointers in doubles

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

rjmccall posted:

:viggo: Actually, NaN boxing is using the fact that double can express 2^52-1 different NaNs to store a pointer using that unused encoding space; that is indeed used widely in language implementations. Twitter user whitequark is saying that a pointer can be thought of as integer, and a double can losslessly represent all integers in [-2^53, +2^53] (and therefore all currently-possible pointers on x86-64) as floating point numbers; that is magnificently useless.

Is it still useless if you find yourself needing to do pointer arithmetic in javascript?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Jabor posted:

Is it still useless if you find yourself needing to do pointer arithmetic in javascript?

Cascading horrors, so yes. Fire is the answer.

Dijkstracula
Mar 18, 2003

You can't spell 'vector field' without me, Professor!

I donno, I like the idea of incrementing in multiples of 0.125f for bit-granular addressibility

Remulak
Jun 8, 2001
I can't count to four.
Yams Fan

rjmccall posted:


Twitter user whitequark is saying that a pointer can be thought of as integer, and a double can losslessly represent all integers in [-2^53, +2^53] (and therefore all currently-possible pointers on x86-64) as floating point numbers; that is magnificently useless.
Oh man, there’s some interesting obfuscation here. I’ve played LUT games with half-precision but this never occurred to me before.

Agreed, magnificently useless, but wow this is giving me an itch.

repiv
Aug 13, 2009

https://twitter.com/gf_256/status/1640100620228083713

26 chromes on my machine totalling 2.8GB, i love modern software

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

repiv posted:

https://twitter.com/gf_256/status/1640100620228083713

26 chromes on my machine totalling 2.8GB, i love modern software

man if only you could have a way of embedding a browser within an application without making a copy of the dlls. it's hilarious that we wasted all this time in the 90's on activex/com/ole and opendoc and the end result is "just buy bigger hard drives fucker".

Volguus
Mar 3, 2009

Bruegels Fuckbooks posted:

man if only you could have a way of embedding a browser within an application without making a copy of the dlls. it's hilarious that we wasted all this time in the 90's on activex/com/ole and opendoc and the end result is "just buy bigger hard drives fucker".

Hey, nowadays we ship entire OS-es to run one application, because gently caress you, it works on my machine so we'll ship my machine. This is ... tame by comparison.

Falcon2001
Oct 10, 2004

Eat your hamburgers, Apollo.
Pillbug

Volguus posted:

Hey, nowadays we ship entire OS-es to run one application, because gently caress you, it works on my machine so we'll ship my machine. This is ... tame by comparison.

Yeah once containerization hits more mainstream applications the anti-electron crowd is gonna loving lose it.

QuarkJets
Sep 8, 2008

Volguus posted:

Hey, nowadays we ship entire OS-es to run one application, because gently caress you, it works on my machine so we'll ship my machine. This is ... tame by comparison.

Yeah that was my thought as well. And optimizing Docker image size is not intuitive so people often just don't bother

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

Falcon2001 posted:

Yeah once containerization hits more mainstream applications the anti-electron crowd is gonna loving lose it.
The year of Linux on the desktop!

Canine Blues Arooo
Jan 7, 2008

when you think about it...i'm the first girl you ever spent the night with



Grimey Drawer

Falcon2001 posted:

Yeah once containerization hits more mainstream applications the anti-electron crowd is gonna loving lose it.

Electron has drained me of all my sanity already. Containerization isn't even going to register on my already broken brain.

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice
Huh, I only have three copies surprisingly.... but one of them is used by my antivirus software and is 4 years old. :allears:

Volguus
Mar 3, 2009

Falcon2001 posted:

Yeah once containerization hits more mainstream applications the anti-electron crowd is gonna loving lose it.

What do you mean "more mainstream" ? Surely you're not thinking what I'm thinking, jesus on a stick. I feel like I'm getting an aneurysm just imagining that kind of a world.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Volguus posted:

What do you mean "more mainstream" ? Surely you're not thinking what I'm thinking, jesus on a stick. I feel like I'm getting an aneurysm just imagining that kind of a world.

Don't worry, the WASI people are working to prevent that outcome by shipping what amounts to the JVM

Volguus
Mar 3, 2009

leper khan posted:

Don't worry, the WASI people are working to prevent that outcome by shipping what amounts to the JVM

Aaah, so I can run the JVM from the web, with one of the 1000 copies of chrome that I have on my computer, each in its own container and system libraries. Cool, cool. I knew getting a fat internet pipe will come in handy someday. They need to make cheaper and larger nvme drives soon.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Volguus posted:

Aaah, so I can run the JVM from the web, with one of the 1000 copies of chrome that I have on my computer, each in its own container and system libraries. Cool, cool. I knew getting a fat internet pipe will come in handy someday. They need to make cheaper and larger nvme drives soon.

Well.. webassembly. Which is a different similar VM. That you can run the JVM or mono VM on, among others. Or just build directly to it.

Xarn
Jun 26, 2015
So far I only found 3 copies of libcef.dll. They are all in Program Files/Steam/ :v:

Vanadium
Jan 8, 2005

Do I really need to download a third party app to do a search for a given filename on my local disk now? I haven't really understood how to use file search in Windows for a while now but I assumed that was a me problem.

Canine Blues Arooo
Jan 7, 2008

when you think about it...i'm the first girl you ever spent the night with



Grimey Drawer

Vanadium posted:

Do I really need to download a third party app to do a search for a given filename on my local disk now? I haven't really understood how to use file search in Windows for a while now but I assumed that was a me problem.

It is not a 'you' problem. Windows search is, and has been dogshit since actually forever. Download Everything and put it on the pile of 3rd party apps you need to make modern Windows actually behave like a general purpose OS.

Adbot
ADBOT LOVES YOU

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice

Vanadium posted:

Do I really need to download a third party app to do a search for a given filename on my local disk now? I haven't really understood how to use file search in Windows for a while now but I assumed that was a me problem.

Everything is fast as hell, searches the entire drive, and only searches filenames by default.

If you type "libcef.dll" into windows 11 search and hit enter it will helpfully open bing for you. Then you close bing, open explorer, navigate to the root of your drive, type "libcef.dll" into the search box in the top right of the window. It churns for 20 minutes "Working on it..." before returning no results. Then you remember you have to specify "filename:" before the libcef.dll so you put that in. It spends another 20 minutes churning before returning with only half the results that Everything returned to you in seconds because the index it uses is apparently six months out of date and missing half the sub-folders on your drive.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply