one of the problems with being a mad scientist is that you can scope creep really fast
-
and this post describes the behind-the-scenes of how I made these. (tl;dr it was manual screenshots)
https://digipres.club/@foone/116276567994297740and I was thinking about automating it so I could do another thing: make a mastodon instance that renders every post on it as pixel-accurate windows 95 dialog boxes
-
and I was thinking about automating it so I could do another thing: make a mastodon instance that renders every post on it as pixel-accurate windows 95 dialog boxes
and the OBVIOUS answer for "how do I do that" is "extend the death generator to do windows 95 dialog boxes and then automate it".
I've done the second half before, automated the death generator. It's a pain and is ugly (the death generator is written exactly wrong to make this doable) but I've done it before, I can steal Foone's code for it
-
and the OBVIOUS answer for "how do I do that" is "extend the death generator to do windows 95 dialog boxes and then automate it".
I've done the second half before, automated the death generator. It's a pain and is ugly (the death generator is written exactly wrong to make this doable) but I've done it before, I can steal Foone's code for it
but "I've done it before" is kinda boring and also windows dialog boxes have a surprising number of edge cases that I am unable to escape being autistically perfectionist about.
so adding win95 to the death generator, while it would be cool, is probably not happening any time soon
-
but "I've done it before" is kinda boring and also windows dialog boxes have a surprising number of edge cases that I am unable to escape being autistically perfectionist about.
so adding win95 to the death generator, while it would be cool, is probably not happening any time soon
but I'm a Mad Scientist.
So what's the Mad Scientist way to do this? Well, how'd I do it before?I wrote a line of code in my Visual Basic 6 IDE and ran it on my Windows 98 VM
-
but I'm a Mad Scientist.
So what's the Mad Scientist way to do this? Well, how'd I do it before?I wrote a line of code in my Visual Basic 6 IDE and ran it on my Windows 98 VM
So let's just automate that.
We take the post text, generate a visual basic source file for it, then boot windows 98, compile the visual basic, run the EXE, take a screenshot, shutdown
-
So let's just automate that.
We take the post text, generate a visual basic source file for it, then boot windows 98, compile the visual basic, run the EXE, take a screenshot, shutdown
"easy", for certain values of "easy"
-
"easy", for certain values of "easy"
But where do we run the code?
Well there's two obvious options that are sufficiently Mad Scientist enough to be interesting enough to do:1. In the browser. Do this client-side. Boot a VM in the browser that runs Visual Basic and then the resulting EXE and shows that to the user
-
But where do we run the code?
Well there's two obvious options that are sufficiently Mad Scientist enough to be interesting enough to do:1. In the browser. Do this client-side. Boot a VM in the browser that runs Visual Basic and then the resulting EXE and shows that to the user
Might get CEASE AND DESIST'd by Microsoft, but fuck it, it'll be funny
-
Might get CEASE AND DESIST'd by Microsoft, but fuck it, it'll be funny
2. hardware
-
2. hardware
set up a Pentium-60 to boot into Windows 95, compile some Visual Basic code, and then run it.
-
set up a Pentium-60 to boot into Windows 95, compile some Visual Basic code, and then run it.
How do you get the image?
Easy. We just photograph the CRT
-
How do you get the image?
Easy. We just photograph the CRT
But how does the generated Visual Basic code get into the Pentium-90 desktop?
Well, it doesn't have a network card. I could add one, but /boring/
-
But how does the generated Visual Basic code get into the Pentium-90 desktop?
Well, it doesn't have a network card. I could add one, but /boring/
same for a WiFi232 on the serial port. boring.
hey I wrote some code a while ago to emulate a PS/2 keyboard, I could just type it in!
-
same for a WiFi232 on the serial port. boring.
hey I wrote some code a while ago to emulate a PS/2 keyboard, I could just type it in!
The next obvious option is to set up a floppy autoloader
-
But how does the generated Visual Basic code get into the Pentium-90 desktop?
Well, it doesn't have a network card. I could add one, but /boring/
@foone cloud-init for windows 9x with a config drive that looks like atapi to windows but is actually something cursed

-
The next obvious option is to set up a floppy autoloader
that could be done without being too difficult by simply using a Gotek running FlashFloppy and something emulating USB storage (or making a Trick USB cable that can be in two computers at once)
-
that could be done without being too difficult by simply using a Gotek running FlashFloppy and something emulating USB storage (or making a Trick USB cable that can be in two computers at once)
but the far more fun answer would be to build a machine to eject floppies out of some other network-attached computer and inserts them into the Pentium, and vice versa.
Air-gapped
-
but the far more fun answer would be to build a machine to eject floppies out of some other network-attached computer and inserts them into the Pentium, and vice versa.
Air-gapped
could also get some servos and physically manipulate the keyboard. really air-gap it
-
But how does the generated Visual Basic code get into the Pentium-90 desktop?
Well, it doesn't have a network card. I could add one, but /boring/
@foone On the other hand, "net send" really *does* feel like the right thing to kick off a social media post.
-
could also get some servos and physically manipulate the keyboard. really air-gap it
POP QUIZ: how many servos do you need, if you need to be able to type all the symbol keys on a QWERTY-US keyboard (49 keys), plus the following keys:
F5 (to run the program after we type in the code)
Enter (to close the popup after we take the photo, which will then trigger a shutdown)