Aug 15, 2021
A network-less, read-only browser built up from machine code

https://archive.org/details/akkartik-mu-2021-08-15 (video; 5 minutes; includes instructions to try it out)

A lot gets said about simplicity in software, about essential vs accidental complexity. If you really want a simple stack that empowers everyone, it isn't enough to just eliminate accidental complexity (even if we could all agree on what it is). You need to also avoid other people's essential complexity.

Main project page: https://github.com/akkartik/mu

Screenshot of a Qemu window running a mostly text-mode browser, with a list of channels on the left, a search bar on top, a list of posts on the right, and a menu of keyboard shortcuts at the bottom. Posts include images for avatars on the left.

permalink

* *
Aug 13, 2021
It's amazing how fast computers are. Before I took the trouble to build a search index I figured I'd try the simplest possible way to search every single post and comment of 5 years of archives of a fairly active community. 150MB of text.

It's instantaneous.

Running emulated on Qemu. Without any acceleration.

permalink

* *
Aug 8, 2021
This talk really puts Mu's accomplishments and failures in context.

Timothy Roscoe, "It's Time for Operating Systems to Rediscover Hardware"

My next step maybe: assemble hardware. Some candidate specs:

  • Screen with graphics
  • Keyboard
  • Persistent storage
  • Network
  • Touch screen
  • Suspend/hibernation

No BIOS/UEFI/Linux/mobile.

Maybe an MNT Reform?

I worry about debugging flow. But Mu had the same problem at the start.

permalink

* *
Jul 30, 2021
Images (kinda) and files (kinda) on the Mu computer

The Mu computer has only 256 colors by default, but approximates arbitrary RGB combinations using dithering.

https://archive.org/details/akkartik-mu-2021-07-30 (video; 9 minutes)

Main project page: https://github.com/akkartik/mu

Screenshot of the Mu computer running within a Qemu computer, showing a thumbnail of an image in the programming environment.

permalink

* *
Jul 28, 2021
A little game: guess the result of mixing two colors

Testimonial from 4 year old: this is the best program you've made.

Source: http://akkartik.github.io/mu/html/apps/color-game.mu.html

Main project page: https://github.com/akkartik/mu

permalink

* *
Jul 14, 2021
I was just reminded after years of the "weird number" in 2's complement arithmetic:

https://en.wikipedia.org/wiki/Two%27s_complement#Most_negative_number

The reason it came up: it's the result of trying to convert a floating-point Infinity or NaN to an integer.

https://c9x.me/x86/html/file_module_x86_id_61.html


Color dithering on the Mu computer.

Here is a before/after pair of images. Before has 256x256x256 colors. After has 256 colors.

Before:

Screenshot of original .ppm file (since Mastodon doesn't render the original directly)

After:

Same image after running through Mu's dithering.

Notice all the yellow pixels in the first image that turn into alternating greens and oranges in the second. Also, the stem looks very different. But overall, it looks gratifyingly similar to the original. My eyes took a while before they started to notice differences.

Main project page

permalink

* *
Jul 12, 2021
Generalizing dithering to color (assuming a fixed palette) turns out to be surprisingly complex. The r/g/b channels are mostly independent copies each analogous to the greyscale dither, but there's tangling in one place in the center that complicates everything.

A chart showing how the r/g/b channels are dithered.

permalink

* *
Jul 11, 2021
Dithering 256 levels of greyscale using 16 levels of greyscale.

Before:

256 levels of greyscale

After:

16 levels of greyscale

permalink

* *
Jul 10, 2021
Starting to render images on the Mu computer

This screenshot shows a greyscale image dithered using just black and white pixels.

Before:

a greyscale version of the standard Barbara image using 256 levels of grey.

https://dsp.stackexchange.com/questions/18631/who-is-barbara-test-image

After:

a screenshot showing a Qemu window containing a dithered version using just black and white pixels.

I rather suspect this isn't quite right. There are some suspicious streaks in various places. Rounding error, maybe.

Credit: https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html. I'm using standard Floyd-Steinberg.

Main project page: https://github.com/akkartik/mu

permalink

* *
Jun 23, 2021
Syntax sugar in the Mu shell

I like Lisp. But I also strongly believe anyone should be able to boot into a computer and immediately type in '1+1'. Get started using the computer as just a calculator. It's surprising how few computers satisfy that property. Now the Mu computer does.

https://archive.org/details/akkartik-mu-2021-06-23 (video; 8 minutes)

Main project page: https://github.com/akkartik/mu

A screenshot implementation of Bresenham's circle-drawing algorithm in a Lisp dialect with some syntax sugar.

permalink

* *
archive
projects
writings
videos
subscribe
Mastodon
RSS (?)
twtxt (?)
Station (?)