People underestimate how important BASIC was back in the 1980s. It was the lingua franca of the 8-bit machines. Magazines had dozens of pages of BASIC listings in the back of each issue, programs you could type in yourself. Half the articles were descriptions of one of those programs. And books titled '50 BASIC Games" which you'd type in (and debug the typos of) yourself.

https://mastodon.me.uk/@coprolite9000/111790433154125033

Javascript COULD have become this for a new generation. Why it didn't is its own story...

Coprolite9000 (@coprolite9000@mastodon.me.uk)

@CatherineFlick @bbcmicrobot PC Gamer, too! https://www.pcgamer.com/mastodon-users-are-crowd-running-programs-on-a-bbc-micro-emulator-in-2024-and-the-results-look-as-spectacular-as-they-did-in-81/

mastodon.me.uk

@landley *nodds in agreement*

I guess #Python tries to be the modern #BASIC and the #RaspberryPi #Pi400 tries to be the modern #ZXspectrum but even then the comparison falls flat because outside of #Linux distros, most OSes don't come with a preinstalled Python interpreter - espechally not #macOS & #Windows, so we don't get that cohesion.

#JavaScript and #WebDevelopment - espechally on the #FrontEnd - kinda went overly complex, thus #JS failed to become a mass-adopted languague outside of bloated "#WebApps" that literally ship a whole #Chromium (like #nwjs / https://nwjs.io ) and turn something that should've been measured in Kilobytes if maybe a few Megabytes into hundreds of Megabytes if not Gigabytes of #bloat to be shoved onto a device…

And whilst one can shim that down significantly by relying on #WebView as #API...
https://f-droid.org/packages/de.monocles.browser/

...This comes with the can of worms that is #Android #Updates and #Security Patches for devices...
https://docs.monocles.eu/browser.app/#security_issues

...which have an absurdly short lifecycle (usually less than 2 years, #Fairphone being one of the few exception!) given flagship smartphones being solid in the 4-digit territory, when equally or cheaper priced business laptops get 3 - 5+ support...

The abundance of computing resources like bandwith, storage, RAM and CPU sadly have resulted in increased #Enshittification, where things feel slower and less responsive than previous versions in spite of sometimes exponentially more resources at hand.

In many cases a lot if developments feel like regressions in terms of UI, UX and overall efficiency, and we see the digital equivalent of #SuperUselessVehicles being made...

That's not the fault of JS - a language isn't a sentient being nor being responsible for even existing - but ut's like introducing alcohol to someone who had never drank anything by giving them a double shot of Absynthé: It ruins it for them...

NW.js

nwjs

@OS1337 Python sheds its user base every few years like a snake shedding its skin. (Python 3.6 is too old to build QEMU.)

The advantage of JavaScript was it's built into every web browser, and web browsers were everyone's window onto the world back before phone apps.

8-bit programming was like haiku, every letter counts and the constraints were where the creativity arose from.

We still teach kids the alphabet, then words, then sentences, but we don't teach 8-bit programming, then 16/32/64.

@landley Sadly we don't teach kids anything in that matter (at least in #Germany from my observation)...

I literally met a highschool graduate in 2019 starting and apprenticeship in an administration / accounting role and they literally confessed to me that they didn't know how to use a Computer at all.

And I'm not talking "How to use Linux/macOS/Windows?" but like "How to turn it on/off?" "How to use a Keyboard and Mouse?" and "How to login?"...

I wounder how this person even got their university eligibility without having ever touched any computer at all.

And that's the state of #Education: People get groomed into being #Users and #TechIlliterates!

@OS1337 College taught me Pascal instead of C. When I was teaching community college they taught Java instead of C. I'm told if you really insist, these days they'll teach you C++ instead of C.

C++ developers foam at the mouth when you call C a portable assembly language, because it's an advantage of C that C++ will never have. They insist it can't possibly be so, and use the optimizer to introduce undefined behavior to retroactively justify their position.

C++ keeps trying to add simplicity.

@landley I mean, C is being used instead if C++ in many cases because predictability is often more useful than object orientation.

But to go back at "universal languague to get shit done with" I think #bash is the closest to a modern-day #BASIC, with #fish basically trying to take that idea and make it more user-friendly at the cost of simplicity under the hood.

But #C is the standard I got confronted with at University, because at the code level it is portable and it doesn't care if you target i386, arm64 or 128bit RISC-V:
It's the compiler's task to turn a hello world into a native executeable for those...

@OS1337 @landley Hi! C is neat, of course. It is the first programming language I learned!

But... How are you going to manage exceptions? It's a killer feature from C++ !!

@DavittoKun @OS1337 I check return codes and return, with the occasional longjmp().
@landley @OS1337 But...what if the code breaks badly? You can't check return codes if there is a deadlock of some kind.
Tutorial: Building the Simplest Possible Linux System - Rob Landley, se-instruments.com

YouTube
@OS1337 @landley That's a cheap trick :-)

@DavittoKun @landley so what?

#Compression is also a cheap trick to make a #toybox + #musl / #Linux fit onto a 1440kB 3,5" FDD...

IT WORKS!

@OS1337 @landley Nope, that's really cool :-)

@DavittoKun @landley It's certainly not yet where I want it to be, but it's going in the right direction...

Progress is slow since it's a 2 person team doing it on free time with no budget and OFC it's still crammed space...

But feedback and contributions are welcome!

https://github.com/OS-1337/OS1337...

GitHub - OS-1337/OS1337: OS/1337 Project

OS/1337 Project . Contribute to OS-1337/OS1337 development by creating an account on GitHub.

GitHub
@OS1337 @landley It is ok as long as you keep on learning. I guess that's the purpose of the project after all 😏

@DavittoKun @landley One of many goals...

The core goal is to build a clean slate of a minimalist Linux that can then be used as basis for a lot of projects.

Because whilst things could be done with a @Raspberry_Pi & #RaspberryPiOS, having to ship over a quarter gigabyte of a minimalist Debian feels excessive.

Also it's about having some good replacement for #tmsrtbt that isn't just a #TechDemo like #Floppinux, which @w84death did and evidenced that it's perfectly possible to do so...

@OS1337 @landley @Raspberry_Pi@raspberrypi.social Yes, the OS in RPi is too heavy. But, you know... Not even 1TB MicroSD cards are that expensive these days (RetroPIE...)

However, it would serve the community right by getting a clean, optimized system.

@DavittoKun @OS1337 @Raspberry_Pi Where do you get reliable 1TB cards? Biggest I've seen around here is 256G, and I'm reluctant to order random chinese product du jour these days because so many of them are scams now...

(I miss akihabara...)

@DavittoKun @OS1337 @Raspberry_Pi P.S. My motivation here is severalfold.

I also want to make Android self-hosting: https://landley.net/toybox/

And countering "trusting trust" with a base system small/simple enough to binary audit, then build everything under: http://lists.landley.net/pipermail/toybox-landley.net/2020-July/011898.html

But more than that, I want something students can understand. Read your whole _real_ OS cover-to-cover, no black boxes, then run it in production by adding but not replacing stuff.

What is toybox?

@DavittoKun @OS1337 @Raspberry_Pi
My recent post about automation (https://mstdn.jp/@landley/111792748801791965) linked to a good 1983 paper on the dangers of losing expertise over time.

If you can't reproduce something from scratch under laboratory conditions, what you're doing isn't science. (Whole lot of computer alchemy going on.)

The DEC Altair booting from front panel switches and a paper tape reader was the last machine that could be MANUALLY booted. Everything since inherited a cross-compiled binary seed.

Rob Landley (@landley@mstdn.jp)

The problem with automation is that the skill to manually perform the task atrophies, and if the automation fails the person it falls back to is at _best_ out of practice, or asleep, or got laid off 6 months ago, or the last person who understood this retired 30 years ago... https://mastodon.social/@RuthMalan/111791403916470011 (Premature automation is a form of premature optimization. Maintaining a pool of expertise is important. "Right to repair" isn't just a cost issue.)

mstdn.jp

@DavittoKun @OS1337 @Raspberry_Pi No human being can ever read through a terabyte. We don't live long enough.

Assuming you could read 1000 words/min (4x average) and the average "word" was 10 bytes (it's 4.7), that's 10k of input text per minute. A terabyte's 1<<40 bytes, /10k = 109951162 minutes, 1832519 hours, 76354 days, which is 209 years round the clock.

Assuming it's well-formatted easily comprehensible ascii text. To speed-read it once at a superhuman rate, not stopping to think/sleep.

@DavittoKun @OS1337 @Raspberry_Pi Meanwhile the current official Hebrew bible is 306,757 words and people spend their entire lives studying and commenting on it, so a proper SECURITY overview of a codebase, understanding ALL the implications...

Keeping the base OS as small and simple as possible serves a purpose if humans need to comprehend it.

Replacing the base OS with a much bigger one during system bootstrap defeats the purpose of scrutinizing that base, so it needs to be load-bearing.

@landley @OS1337 @Raspberry_Pi@raspberrypi.social It's not an apples to apples comparison. 1TB of storage is meant to keep multimedia documents that were not on the scope of the computer software/hardware pioneers.

Nobody is ever going to reach such an amount of text. But it's a good thing that students can get their hands dirty with what's under the hood — and that is where printf(); makes sense.

All in all, it's an interesting _academic_ effort, yet far from the systems they will be supposed to operate.

@DavittoKun @OS1337 @Raspberry_Pi

Define "academic".

Toybox is the command line of Android. My #2 developer on the project is Elliott Hughes, the Android base OS maintainer.

https://lwn.net/Articles/629362/

My previous project turned busybox into the basis of a development environment capable of replacing 22 gnu packages with one, and building https://www.linuxfromscratch.org/ under the result, which paved the way for Alpine Linux etc to be built around busybox.

https://landley.net/aboriginal/about.html

Android gets a toybox [LWN.net]

@DavittoKun @OS1337 @Raspberry_Pi The real motivation for me to hand off busybox maintainer ship and do toybox instead was Fortune 500 licensing litigation spinning out of control in conflict with the Free Software Foundation and Software Freedom Conservancy, which is a very long story but here's two random snapshots:

https://lwn.net/Articles/202106/

https://lwn.net/Articles/478308/

Busy busy busybox [LWN.net]

@landley @DavittoKun Yeah...

Basically I don't think that litigation will get shit done.

Cuz if it was, we'd see #grsecurity and #RedHat being forced to provide their sources free of charge to the entire world, not just paying customers.

But then again, we can all see that #Copyleft nowadays is like using #CCBYNCSA at best...

Tho whether #Copyright is actually ethical to exist beyond a short period of time is also debateable...
https://infosec.space/@OS1337/111792731598398665

OS/1337 (@OS1337@infosec.space)

@AmyZenunim@unstable.systems *Arbiter Voice* "Were it so easy..." https://www.youtube.com/watch?v=1Jwo5qc78QU https://www.youtube.com/watch?v=tk862BbjWx4 https://felixreda.eu/2021/07/github-copilot-is-not-infringing-your-copyright/

Infosec.Space

@OS1337 @DavittoKun In 2006 the experiment seemed worth running. I inherited a backlog of reports (Erik Andersen's "hall of shame" page), knew the founder of groklaw from my work defending Linux/IBM against SCO, asked if she knew any pro-bono legal representation, and she put me in touch with Eben Moglen's new SFLC project.

The resulting license enforcement actions did not add any code to busybox and when I tried to stop them Bradley forked off the SFC to serve the FSF.

https://www.computerworld.com/article/2732025/gpl-enforcement-sparks-community-flames.html

GPL enforcement sparks community flames

An effort to create a GPL-less replacement for the BusyBox embedded utility is the cause of heated discussions on GPL enforcement and how far it should go.

Computerworld

@landley @DavittoKun Yeah, I did reference that...

To me #Copyleft is slowly dying as we see extremists go from "share-alike" preaching as some fuzzy-bearded guy who seemed kinda lost sings about to basically "asshole licensing"...

https://www.youtube.com/watch?v=9sJUDx7iEJw&t=12s

https://en.wikipedia.org/wiki/Server_Side_Public_License

Richard Stallman Free software Song

YouTube

@landley @DavittoKun ...because people seem to not understand how #FLOSS works and would rather have #GAFAMs invest millions in making a better #clone than being interested enough to set aside resources to help a project that makes them good cash.
https://www.youtube.com/watch?v=ZzI9JE0i6Lc&t=57s

Again: #Fragmentation kicking in and worsening stuff for everyone because we've to get yet another implementation of something existing because someone doesn't like the other person to exist or being a contributor to a specific project because they disagree with them or whatever...

AWS for the Haters in 100 Seconds

YouTube

@landley @DavittoKun

So it is true what Terry A. Davis said:
"An idiot admires complexity, a genius admires simplicity [...]"

Or as someone abbreviated a quote supposedly from Albert Einstein:
"If you can't explain it to your [Tech-Illiterate] Grandma then you haven't really understood it!"

So ideally OS71337 ends up as the #VIC20 or rather #CommanderX16 equivalent of a #Linux distro: Something that is feasible to manually audit and learn how it works as well as reproduce and modify it...

https://www.youtube.com/watch?v=sg-6Cjzzg8s&t=269s
https://www.goodreads.com/quotes/10480697-an-idiot-admires-complexity-a-genius-admires-simplicity-a-physicist

Building my Dream Computer - Part 2

YouTube

@OS1337 @landley

Please keep in mind that I admire your feats. You have come a long way. Simplicity is neat, and so is elegance, which seems to be the ethos of this "pet" project.

It's a free world. Who needs Windows and Gates? ;-)

@DavittoKun Actually, I've not come that long and have been quite #lazy and #halfassing things way too much.

I just took @w84death 's #Floppinux Manual, a current #Linux Kernel, yeeted #BusyBox for @landley 's #toybox and hammered enough keys with my monkey brain to get a console working.

@SweetAIBelle them beautified and streamlined the list of scripts I used to build it and provided ample of feedback and suggestions.

In fact, I think everyone should read that Floppinux manual which is also a nice writeup to get started at the surface of it.
https://archive.org/details/floppinux-manual/

It's an ongoing process and ideally it'll get modest success for those that look for #OpenBSD-alike security but with the ease and simplicity of "how do I get this running on my [weird] box?" since basically every SoC today can boot Linux more or less straightforward to some degree.

I do OFC value and welcome feedback and support on that matter, as I can't even remotely claim to know everything without ridiculing myself with such a baseless statement.
https://github.com/OS-1337

Does it seem redundant to #mkroot?
Yeah, but that's expected since mkroot's goal is to showcase toybox's self-reproduceability and using it's built-in gzip instead of xz is just one of the many concessions this will inevitably demand...

Do I want OS/1337 to be 'self-hosting'?
Yes, but it's not the prime goal and thus currently out of focus for testing...

A lot of things will develop over time...

FLOPPINUX 0.1.0 Manual : Krzysztof Krystian Jankowski : Free Download, Borrow, and Streaming : Internet Archive

Floppinux - An Embedded 🐧Linux on a Single 💾Floppy - MANUALFree tutorial / workshop on creating embedded Linux distribution from scratch in just few...

Internet Archive

@OS1337 @w84death @landley @SweetAIBelle Oh, my. Knowing everything has to be really dull. It would be a joy of learning killer.

Good luck with your project. Looking up to OpenBSD is the way to go !

@DavittoKun @landley at least when it comes to "#Secure out of the box" then #OpenBSD basically is spearheading things.

Granted the base system doesn't even come with any servers like SSH preinstalled - those have to explicity be chosen - but still...

@OS1337 @DavittoKun @w84death @SweetAIBelle We're all half-assing it. If we knew what we were doing we'd be done by now.

If it seems like I've accomplished a lot that's because I first tried the SLS floppies when they came across Fidonet in 1993 (why would anyone clone a sun workstation, this can't run DOS, x11 had no driver for that graphics card) and switched to it fulltime in 1998, 25 years ago. I left busybox and started toybox 16 years ago.

If you just keep going it adds up.

@landley @OS1337 @w84death @SweetAIBelle

"If we knew what we were doing we'd be done by now".

That sentence brings me memories of the time I was doing my very best to master C programming. I would get home, relax for ten minutes, and spend most of my spare time doing weird demos that nobody, nowhere would appreciate or pat me on the shoulder for.

But this is the walk of life we aimed for. Still being in the pink after such a long period of time is a testament to our willpower :-)

@DavittoKun @landley also we do it for #fun and maybe even #lulz to some degree:

I'm basically self-taught in regards to anything #IT and I think being humble about things is the way to go.

I did start OS/1337 asking myself "What is the simplest OS where I as a (#Linux & #Unix-esque only - cuz I don't do #Windows!) #Sysadmin could do my job under?" and turns out in therms what isn't "#BigIron" aka. somewhere remote, all I need is the modern incarnation of a #DEC-Style #Terminal like a #VT320 but with like #OpenSSH to get connected...
https://www.youtube.com/watch?v=RuZUPpmXfT0

DEC VT320: The Classic 1987 Library Computer Terminal

Digital Equipment Corporation built plenty of terminals in the 70s and 80s, but we're focusing on the VT320-C2. Amber monochrome, LK201 keyboard, and a favor...

YouTube
@DavittoKun @landley Heck if I really were to force myself I could propably be fine with a tiny box (#Nettop or #Netbook) that just gets me somehow online similar to the #VT69 with a #Pi0W:
https://www.youtube.com/watch?v=wYfpptgb6W8
https://violence.works
VT-69 Dumb Terminal

YouTube

@DavittoKun @landley Tho I'd rather prefer something like my trusty #P11Z or a #NUCbook or a @frameworkcomputer because having the option to go with a #GUI desktop like @tails / @tails_live / #Tails is nice...

https://www.youtube.com/watch?v=8tbdt2vvF7Q
https://www.youtube.com/watch?v=8tbdt2vvF7Q

Sadly noone made something similar that comes in the form factor of my #X230Tablet or smaller with like fully upgradeable RAM & SSD as well as toolfree swappable batteries.
Even the #Framework seems to be a regression in that part...
https://www.youtube.com/watch?v=DQ_8_880S60

But yeah, I could just put #OS1337 on like a USB flashdrive and boot that or if I'm extra lazy use something like #Ventoy so I don't need to reflash stuff but can just drag & drop any image onto.

Sony's Pocket Sized Laptop from 2010!

YouTube