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

@am @neauoire i'm working on this stuff as part of the ngi crew, so lmk if you have any feedback & i'll be sure to pass it on!

tho before a bit of a summer break i was primarily cranking out this network simulator, for testing different implementations against each other in a more sustainable way :)
github.com/ssb-ngi-pointer/net

I've always found it quite damning that developers in large projects average 10LoC/day.

But here's a more damning statistic: developers at Google average 10 builds/day.

dl.acm.org/doi/10.1145/2568225

here's a first "draft" for the first day/section of the tutorial i'm writing!
compudanzas.net/uxn_tutorial.h

your feedback is very welcome!

The world really, really does not need more markup languages, so of course I wrote another one: repare.re/hcml/README.xhtml Source code and tooling is available in repare.re/hcml/

@csepp @suetanvil @robby @vidak C is a headache, because you can quickly stumble into areas where lots of dragons live, without you getting any warning of it before it's too late. I like the suggestion of Forth. Code in Forth often ends up having some stuff for a given system, but it tends to be wired so you can actually fix and port to the next VM without sacrificing a goat or something. Forth is actively hostile to piling on complexity, and _that's_ the key for long term maintenance.

@suetanvil @robby @vidak The problem with C is that it's easy to write subtly broken code. Whenever there is an architecture specific bug in some package on Guix, it seems to me that it's almost always because someone was doing something weird with C.

So yes, it will compile on lots of platforms, but that doesn't guarantee much about it actually working.

@vidak My 9 year old and I go for a walk at lunch time most days, and he talks about things that interest him, mostly video games and apocalypses. He was speculating the other day on whether the coming apocalypse was going to be nuclear war or zombies and I told him the apocalypse was already happening, and that it's a "slowpocalypse."

@wim_v12e @akkartik It might also be possible to change people's ideas about "levels of comfort" just like it's possible to change people's ideas about "what is trendy" etc. Make the big look ugly.

I personally feel anxiety about too big screens and too high resolutions. Moderate and low resolutions feel more homely, tangible and down-to-earth.

@neauoire The 286 I have is older than I am. I'm more generally interested in the old ISA bus and how (relatively) easy it is to interface to it.

Computing has a curse of dimensionality problem in that "the more bits of state you add, the less of the entire state space you explore".

With older computers, the smaller state space means you can push them more and see their true limits.

@akkartik In the abstract, more resource constrained devices would be ideal. But I am always reminded of Asimov's novel "The Gods Themselves". Basically, once people are used to a certain level of comfort, they don't want to sacrifice for anything: "they want it enough to refuse to believe they can't have it."
However, I believe maintaining the current level for longer would be more easily acceptable.

I wrote an article about the need for low-carbon and #sustainable #computing and the path towards zero-carbon computing.

In short, we need to dramatically limit the growth in emissions from computing, or by 2040 emissions from computing alone will be close to half the emissions level acceptable to keep global warming below 2°C.

And it is possible to do this.

wimvanderbauwhede.github.io/ar

Just learned about sailing stones. Incredible.

"The Racetrack Playa, located in Death Valley, California, features a geological phenomenon known as "sailing stones" that leave linear "racetrack" imprints as they slowly move across the surface without human or animal intervention due to a perfect coincidence of events—"

I moved desk spots at my house and now I realize that literally all day, women walk by and stop to look at our flower gardens.

It was a ton of work digging up the grass but I'm really happy we did it, especially knowing that people are enjoying it.

made a SubV / ISA reference sheet for all the common mnemonics and their values:

Show older
Merveilles

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.