[Another repurposed comment from the same Lobsters thread I mentioned in my previous post.]
A serious answer deserved a serious response, so I slept on it, and, well, as you can see, it took some time. I don't even the excuse that "Je n’ai fait celle-ci plus longue que parce que je n’ai pas eu le loisir de la faire plus courte."
If you are curious to
(
Read more... )
I understand your previous "start with something smaller and cheaper than the status quo and build it up" point, but I'm fairly sure the 80s hackers would have preferred a VAX or PDP to a ZX-80, but the latter was affordable, and the former weren't. Now a Pi is literally cheap enough to be given away on the cover of a magazine. There is no room at the bottom.
I get the aesthetic dislike of all those layers of cruft and abstraction. But all those layers are there to either provide features that someone wanted, or to make it cheaper and easier for developers to write the features that someone wanted. So yes, there is a lot of inefficiencies, but the result is a massive economy of scale that more than outweighs the resulting inefficiencies.
And I can understand the desire to hack against limits, or relive one's youth, leading to things like Fuzix and zx specturm next. But it's not a large market.
So your proposed system would be
- expensive, due to small market and no economy of scale
- have very limited I/O because almost all the hardware you can buy has opaque binary blob linux-only drivers: no good for your written-in-Oberon new OS
- probably run at Raspberry Pi speeds if you want a modern, "designed to run stuff written in C" CPU, or run at about a 10th that speed if you want a custom "hardware support for LISP" CPU - which is going to have to run on an FGPA (custom chip would be too expensive given the small market), which itself isn't going to be cheap.
In fact the ZX Spectrum Next is probably a good indication of the power and cost involved.
You've then got a machine that uses an obscure language, has to reinvent virtually every wheel out there, struggles to connect to virtually any other system, costs as much as a mid-range phone, while running significantly slower than anything else. Some sort of mutant chimera of a ZX Spectrum Next, a Librem5 phone and a Jupiter Ace.
What are you going to do with it that you couldn't do with a Oberon/Smalltalk/Lisp/whatever layer running on top of a linux box? Even with all the levels of abstraction and cruft, it would still be faster, cheaper and easier to develop on... I understand the aesthetic appeal of such a clean box, but not enough to spend the time and money to get one, only for me to stare at it on my desk and think "what am I going to *do* with it now".
Reply
It's just an OS. At the end of the day, what you can do with any OS.
> Now a Pi is literally cheap enough to be given away on the cover of a magazine
The Pi Zero is, just about. But that is a bare PCB. If you add a case, a µSD card, a keyboard, a mouse, a PSU brick, and a screen, you're looking at £100.
Secondly, it only natively runs Linux and it can barely run Linux usefully. A RasPi 4 can, but it costs 10× as much.
Compare the Pi 400: £93.90, no screen.
https://thepihut.com/products/raspberry-pi-400-personal-computer-kit
One goal might be something more comparable to this:
https://www.amazon.co.uk/Stick-Windows-Professional-Cherry-Computer/dp/B07RJMFFY1
£125. No keyboard, mouse, or screen.
Both of those having full-fat, complicated, fragile OSes in ½ doz languages, which need constant maintenance, and which no single human being in the world could understand or reproduce single-handed.
A list of excuses along the lines of...
"But it's a free OS!"
"But a few gigs of storage is cheap"
"But it's the industry-standard!"
"But it's tried and tested over decades!"
... is not an excuse for several gigs of unnecessary over-complicated crap.
Kids and people new to computers don't need industry-standard, commercial-grade reliability, grid-capable, cloud-oriented pro solutions.
What they'd benefit from is small, simple, easily-understood code, open to inspection and study without knowing half a dozen 20th century languages.
Software advances have slowed down _massively_ this century. A 2021 computer cannot do any significan thing that a 2001 computer could not do. A 1995 computer could do most of it, just slower and less reliably.
This is a problem.
We're all in denial, but it is.
> There is no room at the bottom.
Oh yes there definitely is.
I want to give a RasPi-like $5 compute stick to every kid in every slum in the world, with all the abilities of that £130 computer or more.
> but the result is a massive economy of scale that more than outweighs the resulting
> inefficiencies.
I disagree. I reckon we can do better.
> So your proposed system would be
> - expensive, due to small market and no economy of scale
No. It's software. Initial aim: run on RasPi and vanilla x86.
> - have very limited I/O [...]
Plan 9, *BSD, & Minix seem to work, even on RasPi, without those drivers.
> In fact the ZX Spectrum Next is probably a good indication of the power and cost involved.
> What are you going to do with it that you couldn't do with a Oberon/Smalltalk/Lisp/whatever
> layer running on top of a linux box?
Run it well, fast, in ½GB of RAM. Understand the whole thing.
> only for me to stare at it on my desk and think "what am I going to *do* with it now".
Like 90% of all the RasPis out there, you mean?
Reply
That still leaves the "what are you going to do with it?" issue. Most hackers out there are scratching an itch:
1) wanting to control hardware
2) wanting to run something they've seen elsewhere (games in 80s arcades, unix running on workstations at work/college, etc.) on the machine they've got at home.
3) get more control over their network (piHole, openwrt etc.)
4) write games they want to play
5) learning skills they can use to get a better job
6) show off their 133t Skillz (Amiga demo scene) or just seeing how small/fast they can get something (fuzix, code golf)
1) is best done with Pis and their GPIO pins and HATs. Folks don't need or want visibility of the entire stack, they just want a simple python script that says "when input X goes high, play a aosund and set output 3 to 1 volt" 2) quite frankly is running out of things that can't be run on your home computer, and constraining it to a low RAM, simple environment isn't going to help porting, 3) is all about fast execution, low-level ethernet hackery and using existing libraries to handle the many, many layers of abstraction in a modern networking stack. 4) is best handled by modding an professional game and/or a specialised game environment. Simple stuff could be written in LiamOS though. LiamOS isn't going to help with 5) at all, until LiamOS becomes a commercially successful: adding all the stuff you wanted to strip out in the first place.
So 6) and possibly 4) are the best matches for LiamOS.
Software advances have slowed down _massively_ this century. A 2021 computer cannot do any significan thing that a 2001 computer could not do. A 1995 computer could do most of it, just slower and less reliably.
Server-wise there's a massive improvement. Things are a hell of a lot faster and larger. But I admit client-wise, other than games and video (and even those are just bigger/faster/better) client-side not much has changed. MS Office (and clones) and browsing the web. All the hardwork for the last decade and a half has concentrated on phones and AI.
But fundamentally folks want things to be cheaper and faster, and that inevitably leads to the things getting more complicated. Someone could probably understand every last aspect of the 8086. No-one on Earth could understand all of the latest Ryzen chips. I've read (and understood most of) the Lion's book. Even Torvalds is going to be a bit fuzzy on some areas of the Linux kernel. I'm reminded of https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ :
Back to that two page function. Yes, I know, it’s just a simple function to display a window, but it has grown little hairs and stuff on it and nobody knows why. Well, I’ll tell you why: those are bug fixes. One of them fixes that bug that Nancy had when she tried to install the thing on a computer that didn’t have Internet Explorer. Another one fixes that bug that occurs in low memory conditions. Another one fixes that bug that occurred when the file is on a floppy disk and the user yanks out the disk in the middle. That LoadLibrary call is ugly but it makes the code work on old versions of Windows 95.
Reply
https://liam-on-linux.livejournal.com/77065.html
I did make a concerted effort to explain what, how, and why, and it seems you're not familiar with it.
Reply
It's been a crappy week (and I've been drinking the C-an-its-descendants kool aid for 25 years, which probably doesn't help).
Sorry.
I will take this as the kick up the arse to finally get around to learning some form of Lisp though.
Reply
It's just that you were asking questions which were specifically primary points of the talk itself.
If I did a talk on plants and you asked me if I'd heard of "leaves", I'd be a bit narked... :-)
Reply
Leave a comment