Oct. 12th, 2024

liam_on_linux: (Default)
Plan 9 is Unix but more so. You write code in C and compile it to a native binary and run it as a process. All processes are in containers all the time, and nothing is outside the containers. Everything is virtualised, even the filesystem, and everything really is a file. Windows on screen are files. Computers are files. Disks are files. Any computer on the network can load a program from any other computer on the network (subject to permissions of course), run it on another computer, and display it on a third. The whole network is one giant computer.
 
You could use a slower workstation and farm out rendering complicated web pages to nearby faster machines, but see it on your screen.
 
But it's Unix. A binary is still a binary. So if you have a slow Arm64 machine, like a Raspberry Pi 3 (Plan 9 runs great on Raspberry Pis), you can't run your browser on a nearby workstation PC because that's x86-64. Arm binaries can't run on x86, and x86 binaries can't run on Arm.
 
Wasm (**W**eb **AS**se**M**bly) is a low-level bytecode that can run on any OS on any processor so long as it has a Wasm runtime. Wasm is derived from asm.js which was an earlier effort to write compilers that could target the Javascript runtime inside web browsers, while saving the time it takes to put Javscript through a just-in-time compiler.
 
https://en.wikipedia.org/wiki/WebAssembly
 
eBPF (extended Berkeley Packet Filters) is a language for configuring firewall rules, that's been extended into a general programming language. It runs inside the Linux kernel: you write programs that run _as part of the kernel_ (not as apps in userspace) and can change how the kernel works on the fly. The same eBPF code runs inside any Linux kernel on any architecture. 
 
https://en.wikipedia.org/wiki/EBPF
 
Going back 30 years, Java runs compiled binary code on any CPU because code is compiled to JVM bytecode instead of CPU machine code... But you need a JVM on your OS to run it.
 
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
 
All these are bolted on to another OS, usually Linux.
 
But the concept works better if integrated right into the OS. That's what Taos did.
 
https://wiki.c2.com/?TaoIntentOs
 
Programs are compiled for a virtual CPU that never existed, called VP.
 
https://en.wikipedia.org/wiki/Virtual_Processor
 
They are translated from that to whatever processor you're running on as they're loaded from disk into RAM. So *the same binaries*  run natively on any CPU. X86-32, x86-64, Arm, Risc-V, doesn't matter.
 
Very powerful. It was nearly the basis of the next-gen Amiga.
 
http://www.amigahistory.plus.com/deplayer/august2001.html
 
But it was a whole new OS and a quite weird OS at that. Taos 1 was very skeletal and limited. Taos 2, renamed Int**e**nt (yes, with the bold), was much more complete but didn't get far before the company went under.
 
Inferno was a rival to Java and the JVM, around the time Java appeared.
 
It's Plan 9, but with a virtual processor runtime built right into the kernel. All processes are written in a safer descendant of C called Limbo (it's a direct ancestor of GoLang) and compiled to bytecode that executes in the kernel's VM, which is called Dis.
 
Any and all binaries run on all types of CPU. There is no "native code" any more. The same compiled program runs on x86, on Risc-V, on Arm. It no longer matters. Run all of them together on a single computer. 
 
Running on a RasPi, all your bookmarks and settings are there? No worries, run Firefox on the headless 32-core EPYC box in the next building, displaying on your Retina tablet, but save on the Pi. Or save on your Risc-V laptop's SSD next to your bed. So long as they're all running Inferno, it's all the same. One giant filesystem and all computers run the same binaries.
 
By the way, it's like 1% of the size of Linux with Wasm, and simpler too.
 
liam_on_linux: (Default)

Word is a nightmare.

«
RT ColiegeStudent on Twitter 
 
using microsoft word
 
*moves an image 1 mm to the left*
 
all text and images shift. 4 new pages appear. in the distance, sirens.
»

But there's still a lot of power in that festering ball of 1980s code.

In 6 weeks in 2016, I drafted, wrote, illustrated, laid out and submitted a ~330 page technical maintenance manual for a 3D printer, solo, entirely in MS Word from start to finish. I began in Word 97 & finished it in Word 2003, 95% of the time running under WINE on Linux... and 90% of the time, using it in Outline Mode, which is a *vastly* powerful writer's tool which the FOSS word has nothing even vaguely comparable to.

But as a novice... Yeah, what the tweet said. It's a timeless classic IMHO.

Some Emacs folks told me Org-mode is just as good as an outliner. I've tried it. This was my response.

Org mode compared to Word 2003 Outline View is roughly MS-DOS Edlin compared to Emacs. It's a tiny fragmentary partial implementation of 1% of the functionality, done badly, with a terrible *terrible* UI.

No exaggeration, no hyperbole, and there's a reason I specifically said 2003 and nothing later.

 

I've been building and running xNix boxes since 1988. I have often tried both Vi and Emacs over nearly 4 decades. I am unusual in terms of old Unix hands: I cordially detest both of them.

The reason I cite Word 2003 is that that's the last version with the old menu and toolbar UI. Everything later has a "ribbon" and I find it unusable.

Today, the web-app/Android/iOS versions of Word do not have Outline View, no. Only the rich local app versions do.

But no, org-mode is not a better richer alternative; it is vastly inferior, to the point of being almost a parody.

It's really not. I tried it, and I found it a slightly sad crippled little thing that might be OK for managing my to-do list.

Hidden behind Emacs' *awful* 1970s UI which I would personally burn in a fire rather than ever use.

So, no, I don't think it's a very useful or capable outliner from what I have seen. Logseq has a better one.

To extend my earlier comparison:

Org-mode to Word's Outline View is Edlin to Emacs.

Logseq to Outline View is MS-DOS 5 EDIT to Emacs: it's a capable full-screen text editor that I know and like and which works fine. It's not very powerful but what it does, it does fine.

Is Org-mode aimed at something else? Maybe, yes. I don't know who or what it's aimed at, so I can't really say.
 

Word Outline Mode is the last surviving 1980s outliner, an entire category of app that's disappeared.

outliners.com/default.html

It's a good one but it was once one among many. It is, for me, *THE* killer feature of MS Word, and the only thing I keep WINE on my computers for.

It's a prose writer's tool, for writing long-form documents in a human language.

Emacs is a programmer's editor for writing program code in programming languages.

So, no, they are not the same thing, but the superficial similarity confuses people.
 

I must pick a fairly small example as I'm not very familiar with Emacs.

In Outline Mode, a paragraph's level in the hierarchy is tied with its paragraph style. Most people don't know how to use Word's style sheets, but think of HTML. Word has 9 heading levels, like H1...H9 on the Web, plus Body Text, which is always the lowest level.

As you promote or demote a paragraph, its style automatically changes to match.

(This has the side effect that you can see the level from the style. If that bothered you, in old versions you could turn off showing the formatting.)

As you move a block of hierarchical text around the outline all its levels automatically adopt the correct styles for their current location.

This means that when I wrote a manual in it, I did *no formatting by hand* at all. The text of the entire document is *automatically* formatted according to whether it's a chapter heading, or section, or subsection, or subsubsection, etc.

When you're done Word can automatically generate a table of contents, or an index, or both, that picks up all those section headings. Both assign page numbers "live", so if you move, add or delete any section, the ToC and index update immediately with the new positions and page numbers.
 

I say a small example as most professional writers don't deal with the formatting at all. That's the job of someone else in a different department.

Or, in technical writing, this is the job of some program. It's the sort of thing that Linux folks get very excited about LaTeX and LyX, or for which documentarians praise DocBook or DITA, but I've used both of those and they need a*vast* amount of manual labour -- and *very* complex tooling.

XML etc are also *extremely* fragile. One punctuation mark in the wrong place and 50 pages of formatting is broken or goes haywire. I've spent days troubleshooting one misplaced `:`. It's horrible.

Word can do all this automatically, and most people *don't even know the function is there.* It's like driving an articulated lorry as a personal car and never noticing that it can carry 40 tonnes of cargo! Worse still, people attach a trailer and roofrack and load them up with stuff... *because they don't know their vehicle can carry 10 cars already* as a built in feature.

I could take a sub sub section of a chapter and promote it to a chapter in its own right, and adjust the formatting of 100 pages, in about 6 or 8 keystrokes. That will also rebuild the index and redo the table of contents, automatically, for me.
 

All this can be entirely keyboard driven, or entirely mouse driven, according to the user's preference. Or any mixture of both, of course. I'm a keyboard warrior myself. I can live entirely without a pointing device and it barely slows me down.

You can with a couple of clicks collapse the whole book to just chapter headings, or just those and subheadings, or just all the headings and no body text... Any of 9 levels, as you choose. You can hide all the lower levels, restructure the whole thing, and then show them again. You can adjust formatting by adjusting indents in the overview, and then expand it again to see what happened and if it's what you want.

You could go crazy... zoom out to the top level, add a few new headings, indent under the new headings, and suddenly in a few clicks, your 1 big book is now 2 or 3 or 4 smaller books, each with its own set of chapters, headings, sub headings, sub sub headings etc. Each can have its own table of contents and index, all automatically generated and updated and formatted.
 

I'm an xNix guy, mainly. I try to avoid Windows as much as possible, but the early years of my career were supporting DOS and then Windows. There is good stuff there, and credit where it's due.

(MS Office on macOS also does this, but the keyboard UI is much clunkier.)

Outliners were just an everyday tool once. MS just built a good one into Word, way back in the DOS era. Word for DOS can do all this stuff too and it did it in like 200kB of RAM in 1988!

Integrating it into a word processor makes sense, but they were standalone apps.

It's not radical tech. This is really old, basic stuff. But somehow in the switch to GUIs on the PC, they got lost in the transition.

And no, LibreOffice/Abiword/CalligraWords has nothing even resembling this.
 

There are 2 types of outliner: intrinsic and extrinsic, also known as 1-pane or 2-pane.

en.wikipedia.org/wiki/Outliner

There are multiple 2-pane outliners that are FOSS.

But they are tools for organising info, and are almost totally useless for writers.

There are almost no intrinsic outliners in the FOSS world. I've been looking for years. The only one I know is LoqSeq, but it is just for note-taking and it does none of the formatting/indexing/ToC stuff I mentioned. It does handle Markdown but with zero integration with the outline structure.

So it's like going from Emacs to Notepad. All the clever stuff is gone, but you can still edit plain text.

 

May 2025

S M T W T F S
    12 3
45678910
11121314151617
1819 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 22nd, 2025 06:09 am
Powered by Dreamwidth Studios