Yeah, agree about learning assembly for the sake of grokking the hardware, bluescreen texts, and it helps when configuring bootloaders like Grub.
If you have a Windows XP installed somewhere, you can learn some assembler just by playing/poking the video memory with the old DEBUG.EXE program, like this:
1) Switch to fullscreen/DOS mode by running CMD.EXE and pressing ALT+RETURN.
2) Start DEBUG.EXE
3) Check you're on the right track by entering
df000:0, it should display ... IBM COMPATIBLE... something
4) Fill the video memory, e.g.
fb800:0 888 1 2 3 4 5 6
Try to understand what you just did :-) then try to enter some assembly code, start with the command a100
Re. our progress with computers, I think actually things have progressed rather nicely, ok maybe not so much with JS but look at Go for example, they're really trying to fulfill the old dream from the 80's of "sofware ICs".
I've just written some small test programs in Go, but it's remarkable that once I've built an .EXE file, I can copy and run it on other Windows computers, no installation or other configuration necessary.
BTW, I'm testing out Qt right now, in that framework there are some great promises of code reuse.