Prank blue screen of death (SO REALISTIC!!!)
You were playing your favorite video game (which your mom and dad told you specifically not to), when all of a sudden, oh noooes! A BSoD (blue screen of death) appears, you panic, not knowing big boi words. It restarts, then says get fooled! You've been gnomed!
Funny BSOD prank. I tried it out with my dad, he totally got fooled XD. Kinda hard to prank people since it's on a webpage (for the people who know nothing about computers, it may be easy), but nevertheless fun. Looks sooo authentic, I even put real errors in there (yes, DRIVER_IRQL_NOT_GREATER_THAN_OR_EQUAL_TO is an error)! Hope you like it (hint: works best in full screen) :)
So, I had seen your Repls, forked this Repl in particular, and had put in a bit of time to heavily rewrite the code (it was pretty gross, not to be mean), and had completely rewritten it, much more readable all around now.
And it just so happened to be... that you had posted that very Repl, leading me here.
Also, I had updated it to use an image that one of the posters had uploaded (a deleted user).
And, lastly, I failed to get the authentic Windows 7 Lucida Console font family that BSODs used, so I settled for Lucida Sans Typewriter, which is what Lucida Console is a derivative of.
Much more authentic.
@Baconman321 What do you have against promises? You'll have to get used to them eventually, ECMAScript is usually offered asynchronous and concurrent APIs, so it makes code that revolves around the event loop much nicer. You can do some pretty cool stuff with 'em, and most newer APIs (since 2015+) are using promises, so, unless you stick to below roughly ES2015, you'll need to use them, as the native code uses them.
Also, I see that you're a Node.js user, if you ever use Deno, which Repl supports at https://repl.it/l/deno, they make heavy use of promises, but they also have top-level await enabled by default, making it effortless to use. (V8 has had it since 2019, I have it enabled in my own browser)
It made the multiple levels of nesting into just one level.
Besides that, I made a greater separation between HTML, ES, and CSS, a large portion of it was tightly coupled together, which isn't good practice.
But really, the biggest change was the removal of the switch case, replacing it with one line:
Imho, that's way cleaner now.
But, I just realized, your code was already statically typed, maybe you'd like TypeScript?
@xxpertHacker I don't really know nodejs, I just use it in minor projects. And anyways, yeah I know how cool promises are and I'm starting to use them more. Anyways, thanks for the tip. Before, I never really used promises (and also I found out the hard way that setTimeout and setInterval aren't actually going to provide exact delays and aren't the best for determining when lines of code should execute). (btw I have nothing against promises, it's just that I never used them a lot)
@Baconman321 Oh, sorry for the blind assumption that you "had something against promises," I presumed it was just a lack of familiarity, which seems to be the case.
But what did you mean about the timeouts? They're mildly accurate, for short durations. As long as you don't set a timeout for over an hour, it should be fine.
@Baconman321 They lose precision over time, so, for a minute, it should be accurate, 10 minutes... maybe, don't go too far. SO has this post on them: http://stackoverflow.com/questions/12351521, I personally have never needed timeout/interval, but I think there was one time where I saw them used, that was pretty cool, I think @AdCharity had used something like
Promise.all on a promise and a delay that rejected to create HTTP timeouts, maybe the wrong person? But still, cool nonetheless.
Timeouts are a very niche feature.
The green screen of death only appears when you're running an Insider Preview version of Windows 10. It's the same as the blue screen of death, and it will show the same error messages. ... If you see a green screen of death (GSOD) on your PC, that's a sign you're using an Insider Preview build of Windows 10.
DRIVER_IRQL_NOT_GREATER_THAN_OR_EQUAL_TO means that there is an issue in your driver software - this can be fixed by reinstalling, updating or uninstalling drivers. Usually this happens because the driver software requests a used memory address so the OS (windows) denies access to the driver which the hardware needs which causes a kernel panic (BSOD)
IRQL_NOT_GREATER_THAN_OR_EQUAL_TO is the generic error code.
you can find more info here: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xa--irql-not-less-or-equal
you don't really get those types of bsods UNLESS windows is modifed via regedit.exe. usually you get something like this:
It has actually happend to me with the code MEMORY_MANAGEMENT which is to do with the Random Access Memory.
But still, pretty good job :)
It will go fullscreen when you click :D
@CodeLongAndPros yes, it's what a windows 7 bluescreen of death looks like. The error you're showing is a kernel panic, which only accours on Unix(-like) systems. This is a bluescreen of death: