Show HN: Windows 95 in an Electron App
github.com
github.com
(Edit: sadly, I'm only half-joking. I was thinking about how fun it would be to extend this so as to bridge the host and the guest via e.g. a socket, so that I could get notifications about UI events inside the machine on the host, which would give me Visual Basic 6's UI builder and all the greatness of a 21st century machine, so that I could finally whip up an UI without yelling profanities at the CSS reference and in less than umpteen hours of tinkering with stuff that clearly just wasn't built for this. Thing is, halfway through, I really began thinking this might make sense a little and that depresses me. /done editing)
That being said, if anyone's curious what else can be achieved in this manner, there's a bunch of nice demos here: https://github.com/copy/v86 .
Can I interest you in a VB6-y design/code/deploy tool with no CSS or JS? It's all in Python, even in-browser: https://anvil.works
Revisiting today, I see you've made a lot of progress. Keep up the good work!
Btw, Anvil uplink works with a non-public IP right?
I think this is as good an evening as any :-).
(I've been toggling bits and writing C for a living for a long time now, I certainly suck at anything web-related).
You look at enthusiastic web developers telling you that Electron is easy if you couple it with React (I think?) or Photon, and I mean, they're sort of right if you're comparing it to GTK (or ohgodohgodohgod MFC). But if you've touched Visual Basic, NeXTStep (or Cocoa, or GNUStep), or even Qt for that matter, it seems anything but easy.
It's illuminating to show someone who's reasonably apt with computers but never wrote much code (save, maybe, for some Excel formulas) how to write the "canonical" currency converter app from the NeXTStep docs. You need to explain pretty much four concepts to get them to grok how things work in Visual Basic: what a form is, what an event is, what an event handler is, and how you get and set data from and to UI elements. You can whip it up together in 30 minutes, tops, and they can do a variation on that topic all by themselves the next day. You need half that time just to explain what CSS is and how to center most things with it, and then you get into the whole renderer process vs. main process thing. Eww.
I suppose the other big reason is that things like branding and recognition are touted as Really Important (TM), so no one really wants to design a tool that helps you build an interface that looks like any other interface (somewhat ironic, considering how uniform and compliant web design is in 2018).
Even on something like Linux, which you'd think would have a community favorable of the concept, you instead have a bunch of elitists declaring that only professional C greybeards should even be allowed to change the background color.
(implying that all easily solved problems have been solved many times over, which makes now different from the 1990s. And modern solutions are more complex to reflect more complex computing reality).
There are an infinite number of problems, and being able to construct your own tools to solve them is still enormously useful. It's one of the reasons Excel is still so popular.
> modern solutions are more complex to reflect more complex computing reality
This is a convenient lie developers tell themselves to justify their complexity fetish instead of thinking about how to simplify things.
VB dates back to 1991, with its last release in 1998. Before popular email, before people wanted high-res photo processing and music file tagging, before people wanted to write their own 3d games, before ordinary people wanted cross-platform tools, when everything was ASCII and that was fine, before people had cloud backups or wanted to cross-post their Wordpress blogs to Twitter, before they wanted to integrate with Philips Hue bulbs or have their code run on an rPI, or integrate with an XML web service or a REST API or download 10GB of mapping data and look for patterns in it.
If you're going to argue that the computing landscape is no different to 20 years ago in complexity, and the tasks people want to do are no different, it's going to be a tough argument.
But if you do argue that, then you have no problem because VB still exists and you can buy it on eBay. If you think nothing's changed, that should be as good a solution as it ever was, right?
Why do people still pipe commandline tools together to do things? Hasn't someone written a program to solve their problem?
Do ordinary people do that?
> Do ordinary people do that?
Yet another excuse, imagining that the user is some drooling moron who never uses tools correctly and things must be as crap as they are because we have to cater to them. Linux desktop has been targeting this user for over a decade, where has it gotten them?
Copying data to/from the internet isn't "fundamentally" different, it's normally different. Python requests module, Beautiful Soup, a good XML and JSON library will get you a lot further than plain VB code when working with internet things. It's not only scale which has changed, there's more kinds of things to do, and more existing popular large systems to tie into, and the desire to make use of more existing libraries to build on.
Yet another excuse, imagining that the user is some drooling {disinterested person} who never uses tools correctly
That pretty much is my experience of non-geeks using computers.
things must be as crap as they are because we have to cater to them. Linux desktop has been targeting this user for over a decade, where has it gotten them?
As I said, you claim VB is some pinnacle of computing which we've lost, but it's still there. You also claim that nothing has changed and nothing needs to be different, so I'm still at a loss how you can then say that there's nothing today like VB was for normal people. If VB exists and you think nothing is different .. what's wrong?
But, it does: tools that are superior to these in almost every imaginable dimension (including the ease by which a novice can ramp up if they devote energy to it) are bundled with most desktop/laptop OSs, and, a couple clicks away in the app stores of at least one of the two major mobile platforms.
There is a complete lack of interest in most of the userbase, though.
PowerShell or Python are about as close as you get to BASIC in terms of things that are shipped with the OS, but they're an order of magnitude or more as complicated and do basically nothing as far as creating GUIs, which really aught to be much much more straightforward in 2018 than it is.
Reference in above comment is to the future “metal architecture” Gary starts detailing about halfway through.
Gary Bernhardt’s presentations are always masterfully done. This one is particularly funny.
CD-Roms were not on all computers until after the game Myst came out.
I signed up for a Microsoft Developer Network subscription, only $2000 per year, and they sent me just about every product they made, on CD-ROM.
The Windows 95 CD ROM had a script that would write out the set of floppy disks. It was a long and tedious process, but to keep you entertained, you could watch the Weezer music video that sprawled across the unused hundreds of megabytes of the rest of the CD. If you had a workstation powerful enough to handle video.
(I used those floppy disks to load up Windows 95 in a virtual machine on a Mac. Connectix Virtual PC, soon afterwards aquired by Microsoft. I started the boot process once it was installed, then I had to go to a meeting. Came back about 30 minutes later, just in time to see the boot process complete and display the Windows 95 desktop.)
http://www.antreposhop.com/product/3-5-inch-poster-set-4-pos...
Not quite :)
The rest of the comment is spot on.
Emacs 26.1 for Mac, built from code via `brew install emacs-mac` is 136 MB.
Please, no, you can't just Electron everything
* hacker news points at Windows 95 *
Electron'd
They also have Mac version so you're covered.
It is only playable on Windows 95 (and probably 98 and ME) and I have a Windows 95 virtualbox just for playing this game! I can't wait to test it!!
As for the game itself? It's an old style dungeon crawler. Very primitive but after you play it a little you just get stuck and want to keep improving your character!
Might not be '95-only, but still worth it for the authentic experience.
VirtualBox or QEMU will run Windows 95 more "natively" if you need serious Windows 95 emulation.
Except for games. Between XP and 7 many games broke, and the same thing happened again between 7 and 10. There are numerous examples out there.
Also, supporting 16 bit software in long mode requires emulation, and they chose not to.
What we ended up with was a whole host of game engines that stuck with DX9 to try to reach the largest possible market.
This isn't a discussion of C verses another language. The issue with backward compatibility on Linux (for example) is mostly the versions of glibc, libstdc++, ALSA, X11, OpenGL, etc. which are all C APIs. Backwards compatibility isn't much of a problem with open-source software, because you can solve ABI issues by simply compiling yourself, and API issues by deriving the source code yourself (or using someone else's patch.)
As much as I would love it to be, not all Linux software is open-source (or even source-available). Especially in the (disgusting) world of enterprise software, ABI compatibility is crucial because the word "update" basically isn't in their vocabularies. Recompiling isn't backwards compatibility. It's essentially an update. Backwards compatibility implies it Just Works™.
Source: https://twitter.com/felixrieseberg/status/103265669554824806...
But isn't Windows 95 not allowed to be used unless you purchase a license?
Technically yes.
Legally Microsoft has the absolute right to stop people hosting Windows 95's files for download/re-distribution. I'm guessing they choose not to since it is not-for-profit, and the cost of going after violators will be more than they make from sales.
The first three digits didn't matter, the second portion needed to be evenly divisible by 7. In highschool I worked the summer setting up computers and we would just make them up. After a couple summers and some technology upgrades I doubt there was a legitimate CD key in that school.
I noticed that emoticons were used in git commit message titles as a prefix. I did not know that github rendered those. And using CLI it is still readable:
:wrench: One more Forge fix
EDIT: formattingThanks, man! Thanks a lot!!