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.

Current project: Mu, a hobbyist computer that rewards curiosity. Starts from x86, getting to a HLL with as little code as possible.

"Bicycles for the mind have to be see-through",

@nasser Thanks! I really like these kinds of single-purpose programming languages and for some reason including the source code adds a lot to it. It's a bit like a puzzle, trying to relate elements of the code to elements of the picture

Throwback Thursday to these sigils I made for KiwiCon about four years ago. I still think they're some of my best from when I was running Everyday Sigils!

For the curious — the rest of my old sigils can be found here:

on a more serious note, are you aware of the RPN calculator @akkartik is building right now to demo the Mu project?

*Update on the Mu computer*

My little prototype is starting to look like a shell:

Promising in some ways, but I'm not sure how to support concurrency. Currently each operation completes before the next. I _could_ allow "pipe stages" to continue to share data after they drop file handles on the stack, but there are problems: how often we refresh, how we kill processes from past refreshes, how we visualize file handle contents.

(More details:

Show thread

Beginnings of an experimental fork of Mu for 64-bit x86

Built in collaboration with @tekknolagi.

I'm not sure this is going to work out. Mu's syntax for 32-bit x86 machine code doesn't map cleanly to x86_64, for reasons outlined in the Readme. But the emulator works, and it has a nice regular subset of x86_64 including floating-point instructions. Comments and suggestions most appreciated.

Main project page:

They may take our data and take over our computers, but they'll never take... OUR BACKUPS.

Professional tip from one of the secret parts of my job I don't talk about: tools and culture have a cyclic, mutually reinforcing relationship. If the tool encourages or rewards bad behaviour, any amount of training that attempts to change that behaviour is wasted effort and will fail. You need to identify the cycle and break it at the tool first. Only then will the training encouraging better behaviour take.

Been re-reading the PCI specs again, and it seems I was mistaken about PCI needing specialized bus transceivers. Looks like normal 3.3V CMOS logic can drive the bus.

The reason why it's able to run at 33MHz at all is because the spec requires that a bus never exceed 10ns of propagation delay. In other words, instead of allowing a 20" long backplane and requiring screwy logic like BTL, it says, "Nope; limit the length of the bus to 4" and use normal logic."

So how would I get a full-sized backplane? Naively, you cannot (at least, at 33MHz). You'd need to either drop the clock rate to something like 12MHz or you'd need to use multiple, independently running PCI segments and bridge them with active logic. This latter approach is what most full-sized backplanes end up doing.

It's nice that whenever I reload a Twitter URL on my mobile now I get the helpful message : "Something went wrong".

Like the health warning on the side of a pack of cigarettes.

*Update on Mu*

This week in my postfix language and live-updating environment, I worked on a way to start from a raw computation, and extract functions from it as naturally as possible.

(More details:

Show thread

I made myself a logo.

This logo came out way better than it has any right to be. A graphic artist I am not. But, I'm really proud of this design.

Cliche, maybe. But, I love it.

#fpga #rc2014 #kestrel3 #kestrelcomputerproject #retrocomputingsunday


I'd like to give Mu a shot, but it is over my head.

So was LISP when I started using it though and now I love it.

Do you have any recommended reading order for familiarizing myself with the project enough to start coding simple CRUD-to-flatfile things?

(Thank you for the project, there are so many that get close to what I want but your gets the closest)

It was surprisingly easy to get my stack based programming language to generate the file format of by @neauoire

LazyWeb question: Remember all those easy to use tree-view controls you could insert into a webpage about 20 years ago?

They mostly disappeared, but some companies still use something like them. Take this IBM website, just to serve as an example.

Does anyone know of a contemporary version of this control which is FOSS and easy to use on, say, a static website?

Show older

The original server operated by the Mastodon gGmbH non-profit