Why is inner-platform effect[1] so strong?

Emacs, Eclipse, web browsers...

Why are we (programmers) so tempted to implement a whole operating system within our applications?

[1]: en.wikipedia.org/wiki/Inner-pl

I was tempted to implement a whole operating system inside one of the applications I was working on, yet, at that time, I thought Unix is a great OS, and Linux is a great implementation of it, and I wanted to implement something very Unix-like within my application.

Also, the OS-within-application usually turns out worse than the outer OS, so not only it's not help solving the "lack of decent OSes" problem, it actually makes things worse.

@Shamar maybe it's people's natural instinct to mimick behaviours that they like?

@Shamar @Wolf480pl but that composability is exactly what emacs does

it emulates a Lisp machine
but running atop a Unix in today's time it can leverage a lot of underlying power

think of the difference between git and magit

@Shamar @Wolf480pl imagine something like PowerShell on Unix

(you can't, cuz Unix is a mess)

@hirojin @Shamar @Wolf480pl

Hi strangers. Hope its not rude to butt in w/some trivia / old-timers view:

The idea that there could be a different / better-UX user-space layer for unix goes waayy back. (And I think is still a good idea.)

The traditional user-space has an under-recognized virtue, though: bootstrapping.

The "software tools" architecture of traditional unix user-space recapitulates how unix was created in the first place, by a very small team.

@hirojin @Shamar @Wolf480pl

Weird quirky stuff like (a simplified version of) "sed" is the kind of tool a clever person can build starting from next to nothing - and that is also useful for bootstrapping something like lex (aka flex) before there's even a self-hosting C compiler.

That that "easy"-to-rebootstrap architecture is the virtue alluded to in the famous "On trusting trust" Turing award paper.


@Thomas_Lord @hirojin @Shamar
So this is why GNU reimplements Unix and not some other OS?
Because it's easy to reimplement?

@Wolf480pl @hirojin @Shamar Ask RMS for a definitive answer but basically, in the mid 1980s, there were some academically developed unix kernels that were either already libre or had a chance to become libre. RMS had (and has) a big orientation towards not-rewriting what is already available, if possible. Ironically, none of *those* kernels was ever fully ready when linux finally came.

@Thomas_Lord @Wolf480pl @Shamar eh?

didn't Linus say he probably wouldn't have bothered with 386BSD (which a year later became FreeBSD)

@hirojin @Thomas_Lord @Wolf480pl @Shamar I believe Linus said that if 386BSD was available he wouldn't have written Linux...

Meanwhile Stallman is still begging for everyone to have root accounts without passwords, and definitely NO wheel group.

@feld @hirojin @Wolf480pl @Shamar I remember logging into rms' account back in the 1980s to try out ITS. It was on the internet a t the time (back when the internet was mostly gov't contractors and universities). :-)

@Wolf480pl @feld @hirojin @Shamar
Software, back then, tended to be much more elegant and parsimonious than today -- of necessity. I keep trying to figure out how return to that but somehow give modern sprawling software a run for its money.

@Thomas_Lord @Wolf480pl @feld @Shamar imagine fitting 20 years of backwards compatibility, all manner of localisation & internationalisation, and accessibility into 4K memory…

@Thomas_Lord @Wolf480pl @feld @Shamar or, let's be generous and go with Bill Gates' "640K of memory"

@hirojin @Wolf480pl @feld @Shamar The original GNU coding guidelines, aimed at what HW was expected to be when GNU was done, included the advice that if your program isn't going to allocate more than a megabyte total you don't have to bother calling free() anywhere. :-)

@hirojin @Thomas_Lord @feld @Shamar
people: *write crap in JS*
you: no C
people: *continue to write crap in JS*

@Wolf480pl @Thomas_Lord @feld @Shamar well, most JS engines is written in C… so, no JS *crap* either.

@hirojin @Wolf480pl @feld @Shamar Several models of Sun machines booted to a Forth in firmware before loading unix. Go with Forth.

@Thomas_Lord @Wolf480pl @feld @Shamar these days, they boot into linux, before booting solaris. the ILOM runs linux.

@Thomas_Lord @Wolf480pl @feld @Shamar it's no different from your Intel CPU booting into Minux before booting whatever you actually wanted to use.


@hirojin @Wolf480pl @feld @Shamar It's just my perspective, probably related to my anti-capitalism. I try to imagine a world with "human scale" software built for a society of free individuals who need to be able run/study/modify/share the whole system. I dislike programmer armies and huge surveillance&control-oriented computing systems.

@hirojin @Wolf480pl @feld @Shamar When I was younger I imagined the main uses for computers were free communication among people, computer-assisted math, games, and art projects. I like the computer on my washing machine because it's literally just a state machine w/about 30 states or so. etc. Damn kids these days.

@Thomas_Lord @Wolf480pl @feld @Shamar my job is to literally automate software that was written with neither a computer, nor a human as user… so… :blobawkward:

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!