Live data from Hacker News

What have we lost? [video]

media.ccc.de

61–70 of 86 posts

Re: What have we lost? [video]

#61
post #25
post #9

Earlier quoted context omitted.

We lost the environment where the whole OS was a debugger, and everything could be inspected and modified as the system was running.

This was an intentional move even if no one else wants to admit it. You can't hide implementation from the User in such an environment; at least not to the degree you can with precompiled programs with debug symbols stripped. One requires you to infer function from raw assembly, the other, lets you step through areas of code that vendors want to keep out of the reach of user understanding. 90% of established security…

True enough. Thankfully we still have Emacs.

Re: What have we lost? [video]

#62
If you are into Lisp Machines, this talk on Symbolics by Kalman Reti (who worked there) is worth watching (1h):

https://www.youtube.com/watch?v=OBfB2MJw3qg

If you only have 15 minutes, he gives another demo here:

https://www.youtube.com/watch?v=o4-YnLpLgtk

He has another video where he does some actual hacking (smooth scrolling of sheet music for display while playing an instrument):

https://www.youtube.com/watch?v=sfgjL7EUHZ8

Re: What have we lost? [video]

#63
post #18
post #9

Earlier quoted context omitted.

We lost the environment where the whole OS was a debugger, and everything could be inspected and modified as the system was running.

How does that work when you drop to the debugger in the middle of an interrupt handler? A page fault? A task switch? How does the privilege separation work for that environment? (mostly rhetorical questions)

None of those actions were visible to the virtual machine that contained the debugger. The CPU didn't even have the concept of an interrupt.

The MIT Lisp Machine ran a simple kernel written in assembler that also included an interpreter for the user-visible instruction set, it would check periodically whether devices had raised an interrupt then return back into Lisp to handle the event.

Re: What have we lost? [video]

#64

Earlier quoted context omitted.

Indeed. A lot of banks overhauled their core banking platforms to run on IBM i in the early to mid 90ies. It scales well and considered secure.

I’m curious about the IBM i. Anyone here who can comment on how to get started? You can’t exactly buy one of these systems off the shelf.

There's an IBM i hobbyist discord[1] full of friendly people who will be happy to help you out with learning or acquiring your own iron, or you can use any of a number of public-access systems. The main public access system is pub400[2], but there are at least three that are run by people in the discord. I run one of them, albeit with the worst uptime of the bunch; PM for details. And finally, you can find all of the docs for the system on IBM's site[3], though they can take some getting used to.

[1] https://discord.gg/MzYzSvzN, or #ibmi on freenode [2] https://pub400.com/ [3] https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rza...

Re: What have we lost? [video]

#66
post #23
post #18

Earlier quoted context omitted.

How does that work when you drop to the debugger in the middle of an interrupt handler? A page fault? A task switch? How does the privilege separation work for that environment? (mostly rhetorical questions)

You'd think I was an expert, given that I gave that segment of the talk, but I haven't yet dived that deep into Genera's internals. As I understand it though, you don't have the concept of page faults at the image level; IIRC, Genera doesn't have any form of virtual memory, or if it does, it's all in microcode. Task switches are , iirc, handled in the image, but in the same way that it's done in Smalltalk: there's a…

The closest modern equivalent is probably a paravirtualized unikernel.

Re: What have we lost? [video]

#67

Smalltalk Pharo is like these OS: an environment where everything is an object that you can inspect, modify, duplicate, ... Here a demo with a minesweeper clone i once made to discover Pharo: https://files.catbox.moe/jggff7.webm It was really amazing but i didn't went further than that; Using Pharo quickly felt like being on a secluded island. More about Pharo: https://pharo.org/features

I feel like dbus and systems built around it (i.e. Gnome) are at least a glimpse at that.

Re: What have we lost? [video]

#68
post #56

Earlier quoted context omitted.

Except, that’s what the browser is, and increasingly that’s where software lives.

The browser is only half (the client-facing side) of the equation.

GraphQL endpoints are introspectable.

A model with unrestricted introspectability wouldn't have worked as a web-replacement anyway, it is not secure enough!

There are even servers like Servant for Haskell that make REST a first-class citizen of the server programming language. So we have the best of both worlds now: security and convenience.

Re: What have we lost? [video]

#69
post #43
post #36

Earlier quoted context omitted.

Well, yes, unless you count installing IntelliJ as prior setup: https://www.jetbrains.com/help/idea/debugging-javascript-in-... It'd be easier to do it with the Chrome debugger though. I sometimes 'fix' websites that have annoying popups or similar with the dev tools. With complex apps you have the problem that the owners don't want you modifying them, so they're minified and have other techniques applied that debugg…

I'm not understanding how you propose to resurrect and continue the process after the tab segfaults.

Ah, by "crash" you mean if the renderer process crashes, not website JS code.

You can't easily do that with a C++ process indeed, which is why my example was about IntelliJ, not Chrome or any other C++ app. It's much easier to debug and change code on the fly when it's running on a VM like the JVM. I'm not arguing that something like Genera can be matched by any modern app, just that a few operating-system-like apps with similar properties do exist. We just don't think of them as operating systems because they pose as something else. Sort of like how emacs is a Symbolics Lisp-like environment posing as a text editor.

If you're going to argue that it's not the same unless it goes all the way down to the metal, well, people have built Java/JVM based operating systems before like JNode. It's technologically possible. Just not worth it. Being able to edit a function in the middle of your filesystem driver without reloading it is neat in theory but I wouldn't want to actually develop a filesystem that way.

Re: What have we lost? [video]

#70
post #5

Did we really “lose” the Lisp Machine, or did we just realize that compiling Lisp to a general-purpose instruction set like x86 and then having someone else in charge of creating hardware to efficiently execute that is much more clever?

My takeaway from the first segment wasn't the Lisp part, but the OS and user interface, especially that any "object" can provide handlers that then provide deep and highly dynamic integration with the rest of the system, in a react-like immediate mode style to boot. And a very slick merging of CLI and GUI. All back in the 80's!
Post reply on HN