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) :)

You are viewing a single comment. View All

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.


@xxpertHacker Yeah, it was a one day project, and yeah, I didn't want to buy the lucida console font, since I'm not gonna spend like $30 just for one project. Also, I my style isn't really promises, but I guess I should use the more often.


@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, 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.


@xxpertHacker Wait, why an hour? Also, yeah I don't know that much about promises. Just the resolve/reject and stuff. I learned them in a tutorial, but forgot them again.


@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:, 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.


@xxpertHacker Yeah, anyways thanks for the advice.


you can try making it fullscreen so it looks more real @Baconman321


@jihhyuu202 You can press f11 in chrome to fullscreen it.