Post

But hell yeah: it is possible to do VERY efficient, typed, comms languages, and building in autodiscovery is like having mdns+openapi, which you can use to make very very neat cli + gui tools. I really want to make things like old smalltalk system browser for network services.

James to James, if you want this, please help build it. I've been working these angles for a while and everything needs help to get over the finish line and out into the community. 🙏 help build some cool #PowerShell #WebDev projects 😉

"structured messages with built-in reflection" is the dream, yeah. i want something like powershell Get-Member for every process in my shell, every feature of my terminal emulator, every part of the line editor!

"content addressable endpoints" x "content addressable schemas" x "enumerable devices/servers/applications" is such a nice place to be. I would love to build a little dynamically loaded shell/repl to talk to a small network of devices/servers/applications once I get a little further w/ergot.

Me too! As someone who has been doing #Terminal dev and #WebDev with #PowerShell for a long time, I think we should talk. A bunch of stuff coming down my pike hits a bunch of points in your essay.

💯 interesting thoughts. Been working at this for a while. 1000 foot "here's how" 1. PowerShell has an object pipeline, events, and thread jobs; use them. 2. Everything fast goes thru HTTP / WebSockets on randomized loopback ports. 3. Everything else goes thru .NET api or CLI parsing. 80% there

I think anyone looking to implement a "better terminal experience" should really take a look at plan9port's drawterm/rc mainly how line editing is moved into being the responsibility of the WM/terminal, instead of the shell, which has way better network performance.

which kind of ioctls? i was kinda hoping for the server to smooth over nasty impl details like this so the client doesn’t have to worry about them, but maybe i am underestimating how much they impact the interface?

i’m not sure i follow, tcl wish seems to be a REPL? how are layouts related? yes, something i would want from the “structured rpc” step is a way for the process to request creating an interactive widget. but that requires changes to the process, and there are a million CLI programs in the world.