Pinned post

Researching new ways to write software that make it easier for newcomers to understand rather than for insiders to maintain. Build easy, reward curiosity, encourage lots of forks, delete unused features, more antifragile society. akkartik.name/about

Current project: github.com/akkartik/mu

Rather than start with a desired syntax, Mu starts from the processor's instruction set and tries to get to _some_ safe and clear syntax with as few layers of translation as possible.

Pinned post

Managing side-effects on the Mu computer

archive.org/details/akkartik-m (video; 2 minutes)

The Mu computer's prototyping environment uses _traces_ to explain and debug programs. But traces are expensive to compute and made the environment slow and laggy.

I fixed things by collecting only a shallow trace at first, and iteratively deepening on demand by rerunning programs. This only works because it's safe to rerun functions. There are no side-effects in Mu.

Main project page: github.com/akkartik/mu

Show thread

For @neauoire and others here, it was some game console. NES, GBA, etc. I wonder how common it is to actually escape the gravitational pull of our first systems, how much of the differences between our projects stems from having our brains colonized by different first systems.

@alderwick @bd @s_ol @roberttheiv

Show thread

One idea that got dropped on the editing floor for this post: the long shadows cast over our lives by the very first systems we program on.

I started programming (in undergrad) on an IBM PC descendant running DOS. I moved on to more sophisticated systems, but over a period of decades keep returning to seemingly little things about that first system that I could never replicate. Little things I turn out to be willing to give up big things for.

...

@neauoire @alderwick @bd @s_ol @roberttheiv

Show thread

New blog post: a map of sorts of Mu's neighborhood in idea space, as I see it.

akkartik.name/post/neighborhoo

Comments most welcome. Particularly from @neauoire and @alderwick since I mention (and possibly misrepresent) Uxn.

Proximal trigger for this post: ekaitz.elenq.tech/hex0.html by @ekaitz_zarraga, which sent my brain on this tangent. Also midwifed by @vgr's exposing me over the years to imaginary maps and mapping as a useful exercise.

@akkartik @eris @pallas

"I'll make a sound that's so alone that no one can miss it, that whoever hears it will weep in their souls, and hearths will seem warmer, and being inside will seem better to all who hear it in the distant towns.

I'll make me a sound and an apparatus and they'll call it a Fog Horn and whoever bears it will know the sadness of eternity and the briefness of life."

you might think we're slow, but think again! (1/3)

if we want to ship 25 laptops/wk, it means (simplified) with 2 people working on this 40h/wk each and one 20h/wk to cover all required skills to assemble, flash, test, package, export: each unit can get max 4h of attention so everything has to go smoothly for this to work out.

I tried walking into the kitchen, but the way was blocked. On the top step down was the fridge door, covering the stairs.

Earlier today my partner convinced me that the blue jellies aren't dangerous, and that I should touch one. We were sitting on the small wooden sea-leveled platform at the tail end - or whatever seafolk call it - watching them slowly drift past right below us. They looked magnificent. Maybe two or three times the size of my hand, almost fully translucent with a bright blue rim at the edges. The center of the body, maybe half the diameter, housed four perfect circles placed edge to edge, again with bright blue rims. I thought I could see gentle sparks inside them, but it could also just be reflections from the sun.

I expected them to be... I don't know - flat? And thin? In a way. But gently poking it felt strangely solid and firm.

Then it continued gently drifting away.

I'm not from this coast. When I did my intentional belly flop (it's just a thing I do) my first thought was not of how cold the water was, but how much it tasted of salt. When I'm not swimming in a lake I on reflex expect the water to be brackish.

I think I can get used to this, though. Tonight I will dream of jellies.

Some live-coding in my programming environment, running on my computing stack built up from scratch.

archive.org/details/akkartik-m (video; 6 minutes)

Main project page: github.com/akkartik/mu

Show thread

@neauoire got it! missing a DUP. I had to step through and note down the stack state after each instruction to figure it out.

I am LOVING uxn. it's quite tough for me, but the simplicity of the operations is very satisfying and working with the stack is like a little puzzle.

Finished off this step stool. Slanted dovetails were a bit to get my head around and I actually made a mistake of the second set. Oh well - lots learned and works as intended; helping little people get a little bit higher up.

Mostly reclaimed pine, all cut by hand. Just wood and glue and oil and time.

Computing within Limits

It seems to me that we aren't hearing about the "Computing within Limits" discourse as much as we should. Even I wasn't aware of this until recently, even though much of their research strongly resonates with my own ideas about the ecology of computing ("permacomputing", "digital degrowth" etc). Sadly, many of their past papers barely scratch the surface of their respective topics. Nevertheless, I've been planning to participate in their next virtual workshop. computingwithinlimits.org/ #permacomputing #computingwithinlimits

*LIMITS 2021 -- Workshop on Computing within Limits*
computingwithinlimits.org

computingwithinlimits.org/2021 venera.social/display/85a863ed

There is a lot I want to say about people who require Python to compile a C program for a microcontroller(!), but it needs to be said, since I can't print it.

Show thread

i ran through the rust “getting started” page (rust-lang.org/learn/get-starte). it's a hello-world project that has the rust crab mascot say hello, and consists of 10 lines of code actually written.

it results in pulling in 25 separate dependencies totalling up to 97 megabytes.

for reference the entire cowsay source is 168 lines/4 kilobytes of perl.

@akkartik Hell ye, I've been waiting to see someone use functional purity this way! Another use case I've been considering and hope to explore one day is for caching and handling OOM conditions gracefully. If you know that a result is relatively cheap to compute again, you can just drop it and let other computations finish.

Managing side-effects on the Mu computer

archive.org/details/akkartik-m (video; 2 minutes)

The Mu computer's prototyping environment uses _traces_ to explain and debug programs. But traces are expensive to compute and made the environment slow and laggy.

I fixed things by collecting only a shallow trace at first, and iteratively deepening on demand by rerunning programs. This only works because it's safe to rerun functions. There are no side-effects in Mu.

Main project page: github.com/akkartik/mu

Show thread

Universal project folder structure vimeo.com/557182849

A three-part talk that describes my unified filesystem pattern spanning from a single-file library to an entire app.

rosano.hmm.garden/01f71kp52knc

Like a map of everything on the terrain, or a place to stand where you can see anything.

The Tokyo Government runs an official site where you enter general details on your households and the site gives you a list of all items/food you need to survive one week in case a natural disaster cuts you off from water, gas, electricity and shopping.

bichiku.metro.tokyo.lg.jp/en/

a filesystem is a kind of network protocol that allows for communicating across time

Show older
Merveilles

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.