๐Ÿ’พ Archived View for bbs.geminispace.org โ€บ u โ€บ gyaradong โ€บ 11737 captured on 2024-06-16 at 19:10:59. Gemini links have been rewritten to link to archived content

View Raw

More Information

โฌ…๏ธ Previous capture (2024-05-26)

โžก๏ธ Next capture (2024-07-09)

๐Ÿšง View Differences

-=-=-=-=-=-=-

Comment by ๐Ÿ‰ gyaradong

Re: "When it comes to arbitrary, "realtime" composability, the..."

In: s/permacomputing

assuming this is true, a keyboard really is the fundamental input device for computers. all the other form factors aren't really going to be scalable.

๐Ÿ‰ gyaradong [OP/mod]

2023-11-15 ยท 7 months ago

8 Later Comments โ†“

๐Ÿ‰ gyaradong [OP/mod] ยท 2023-11-15 at 10:53:

could one get to a notebook with free form writing and drawing but "self hosted" software from the firmware through bios and to OS and apps?

๐Ÿ™ norayr ยท 2023-11-17 at 14:16:

in traditional oberon system there are no processes that run in parallel or pseudo-parallel. the task switching occurs when one function finishes its work and the other function takes over.

they consider that the commandline concept is outdated, since it was about printing on the paper and the text printed on the paper would become immutable. that concept came from the time when we didn't have yet crt monitors.

still, traditional oberon system is text based. it is modular, and the module named Texts is one of the base modules of the system.

everything is text in oberon system.

the manuals are text files with extension .Tool.

they contain ready to use commands: module.procedure

๐Ÿ™ norayr ยท 2023-11-17 at 14:21:

let's say the compiler command is there in two ways:

Compiler.Compile ^

Compiler.Compile *

you can write Compiler.Compile somefile.Mod everywhere, in any place you can find in the Oberon tiling ui.

however if you have the manual (the abovementioned .Tool file) opened in one of the viewers (windows are called viewers there) and then you select the file name to compile in any other viewer, then click with the mouse middle click on

Compiler.Compile ^

then instead of ^ the Compiler.Compile function will pickup the file which name you selected.

๐Ÿ™ norayr ยท 2023-11-17 at 14:25:

or maybe you wrote some test code in an editor in one of the viewers but didn't save it to the file system.

you just navigate the mouse over that window and press F1 button. then the viewer will be marked with the asteriks sign.

after that click on

Compiler.Compile *

and the code in the marked viewer will be compiled.

some of these concepts are borrowed in ACME text editor of plan9 by rob pike. however it feels much more consistent in the oberon system text oriented system.

๐Ÿ™ norayr ยท 2023-11-17 at 14:30:

i think our 'monolite' gui programs are what the capitalism and marketing produced to sell us software.

even in unix (and unix is still a government funded research project, it is not a startup) we have window managers, then we have terminals, we have text editors, compilers, debuggers etc.

each of the programs in this chain can be replaced. twm can be replaced with dwm or fvwm or windowmaker.

emacs can be replaced with vim or nano or whatever.

xterm can be replaced with rxvt or mrxvt or st or whatever.

everything is replacable.

on the contrary in the capitalistic software we have IDE's that replicate the functionality of everything below.

IDE's have own window managers - but we already

๐Ÿ™ norayr ยท 2023-11-17 at 14:31:

but we already have window managers.

plus we could use other window manager instead of this one, but we cannot when we are in IDE. IDE has its own window manager and you should deal with that.

IDE has its own editor.

oh, you don't like it? MS VSCode will support vim mode, but it is still MS VSCode. MS VScode will make everything possible for you to use it and not understand the taste of underlying interchangable interoperable system.

๐Ÿ™ norayr ยท 2023-11-17 at 14:35:

i think it was possible to find another path.

swiss found, as i presented in previous comments.

and i can imagine a modular ui program. you have a chat program pidgin? what it consists of? a window to show contacts. you don't like it? why cannot you replace it with other window that can show contacts?

you have window divided in to two field? on the topper one you see what was written to you and in the bottom you write your text?

why cannot you replace it with other window like that?

and those both can communicate with each other and with the service that implements the protocol.

oh you have a video call viewer? why cannot you replace it with other one?

๐Ÿ™ norayr ยท 2023-11-17 at 14:38:

or why pidgin doesn't communicate with the program like mplayer with pipes to pipe the video stream to mplayer so that you could watch the person you are talking with?

why pidgin has to implement it again?

well - we have shared libraries - you would say.

and then i'll come back to the oberon ideas. they don't have shared libraries. the module is compiled to the object file.

each object file can have multiple entry points, there is no main(). as in case with Compiler.Compile there can be Draw.Curve and Draw.Line.

there are no linked 'programs' that contain one entry point.

everything is a library or a program - why should be there a difference?

Original Post

๐ŸŒ’ s/permacomputing

When it comes to arbitrary, "realtime" composability, the Unix model of files, streams, and processes has yet to be topped. GUIs are vey rarely composable, and also hard to script. It makes me think maybe composability has to be one dimensional, and textual. This idea that a keyboard is fundamental to a computer but a different pointing device doesn't feels slightly off. I wonder if there is an elegant multi dimensional method of composability which simplifies down to simple compute models and...

๐Ÿ’ฌ gyaradong [mod] ยท 14 comments ยท 1 like ยท 2023-11-14 ยท 7 months ago