*Screenception*

Visualizing programs with side-effects in a postfix shell with a live-updating text-mode environment. Built all the way up from machine code without any dependencies (except an x86 processor and Linux kernel).

archive.org/details/akkartik-2

Project page: github.com/akkartik/mu

More context: mastodon.social/@akkartik/1048

*Editing functions in the Mu shell*

archive.org/details/akkartik-2

Long delay since my last video. Printing floating-point numbers is *really* hard. I'm still half-assing it.

As a follow-up to merveilles.town/@akkartik/1053, I'm tightening focus to two threads:

a) These Mu shell experiments, and
b) An extremely skeletal OS to drop the Linux kernel dependency.

Deprioritized for now:
a) Other processors: RISCV, ARM, RPi, etc.
b) Graphics, mouse, etc. Device priorities for the OS are disk then ethernet.

Show thread

*Towards running Mu without Linux*

All Mu really needs so far is to print to screen and read from the keyboard. Here's a 2-minute video about achieving that:

archive.org/details/akkartik-2

It seems such a small thing. But I needed lots of help, as you can see from the additions to my credits: github.com/akkartik/mu/compare

Merry Christmas to all! What a beautiful world.

Project page: github.com/akkartik/mu

More context: mastodon.social/@akkartik/1048

*Switching gears to pure graphics*

Until now Mu has followed classic Unix: stdin, stdout, pure text mode.

But giving up an OS kernel requires controlling the screen myself. Which requires various complicated probing for hardware. Then programs handling various screen sizes.

Easier: just always assume some common graphics mode. Say 1024x768 with 256 colors.

Interestingly, the default palette has far fewer than 256 colors. (Pic: 1024 cols each contain color `col%256`.)

akkartik.github.io/mu/html/bar

*2020: Flood-filling the Mu computer*

A year ago I had a prototype of a C-level programming language mapping 1:1 to Assembly that I _thought_ could be type-safe.

Since then, I:

* wrote an academic paper on it
* made it type-safe
* began a high-level language atop it
* got into video, with 15 2-minute screencasts
* and ran programs written in it on bare metal, without an OS, like, 5 years before I expected to.

❤️ to everyone who inspired, taught, debated, encouraged.

github.com/akkartik/mu

@akkartik so cool! I’m so glad someone is seriously doing this work. A really great experiment — hopefully it shows us all a fundamentally new way to do things!

Follow

@akkartik regarding your overall goal of communicating a codebase, you may be interested in my FuzzySet interactive documentation which attempts to give the best possible human explanation of the code library: glench.github.io/fuzzyset.js/u

@akkartik instead of building from the code "up" I tried to design from the UI "down" — what UI do we need in order to communicate programs really well and then how can we change programming so those explanations just fall out.

I love your approach of rebuilding the foundations, though! Can't wait to see where it ends up

@glench My hope is to meet somewhere in the middle with all the people doing cool UI research!

Sign in to participate in the conversation
Mastodon

Share your favorite songs! This is a Twitter-like social network focused on sharing your favorite music, kind of like sitting around playing records for your friends, except, you know, online.