Someone starting on another capability-based OS and language, prototyping on seL4 and C#:
(I haven't read further.)

A silly scheme for an assembler that never needs to backpatch:
1. The source text can only refer to previously-defined labels.
2. The source for each procedure is backwards: *last* instruction *first*.
3. The calling convention makes it so when you call or tailcall a procedure P, that also makes the address of P available in a register. If it needs to recur, it does an indirect call through that register. Like 'self' in a Smalltalk call.
(Prompted by another scheme in @kragen 's Dercuano.)

Sign of the apocalypse: amazon "surgical mask", every single non-ad result is "currently unavailable".

I realized I hadn't really talked about this here, but I wrote this prototype calculator that I thin is pretty cool:

- RPN UI provides instant results
- formula display tells you not just the answer but the question
- URL encoding permits bookmarking, emailing, and otherwise sharing calculations RESTwise
- formula remains structurally editable
- all intermediate results are inspectable
- vector broadcasting operations with automatic plotting muses about finding a marriage of META II and Forth. I've done a couple things in that direction: modified META II to work with a local stack instead of a register, and you could take it further towards Forth. (Only worth reading for other people exploring out from META II.) is maybe more interesting: a BASIC expressed as a PEG grammar with interleaved actions in a vaguely Forthy style.

Well, I bit the bullet and called them just 'in' and 'out'. The saving grace is that you shouldn't have to write your code in the full-powered setting where they're defined. That is, we're polluting a global namespace, but not *the* global namespace (there isn't one).

Show thread

In the programming language I aimed for a core vocabulary of only ordinary short English words, no abbrevs. It's down to 4 exceptions now: stdin stdout foldl foldr. And I'm feeling stuck: what would you call them?
It may be very silly to insist on, but I like words.

The final Dercuano release is at I also hacked together an HTML renderer to produce a PDF version for hand computers at

The amount of actual new material since the 20191215 release is not that large: notes on Argentine electric bills, berlinite, assembler backpatching, DSP with magic sinewaves, Nomadic Furniture, powder-bed 3-D printing, multi-stage flash distillation, sorting in Prolog, and sulfuric acid.

Also I wrote an HTML renderer.

Show thread

A 1954 PhD thesis on compilers, translated to English:
Interesting that Paul Bernays was a supervisor. Bernays did much of the mathematical-logic work we commonly think of as Hilbert's. (It was said where I read this that this was a common pattern in German academics of the day.)

RIP Chuck Peddle
The first computer I ever programmed was a 6502, a cassette-storage Apple ][ at a summer camp. Later I relied on a Victor 9000 as a larval hacker after quitting college: exciting times working through SICP and more.

Incidentally, the book *Writing interactive compilers and interpreters* by the same guy (Peter J Brown) was rather good, though super dated: about making things like a BASIC for a 70s microcomputer, exploring the design space.

Show thread

A bunch of old papers on macros for portable software, starting with Strachey's "A general purpose macroprocessor":
(Considering that my experience with m4 was unfun, this may be a dead end, but it's at least historically interesting.)

I'm pruning my follow list because though you're all great I've been too unfocused. Going to visit NYC next month -- hit me up if you can.

Burglarized today. Burglars were caught and it looks like I only lost a stack of change.

@kragen Oh good, I could just `apt-get install nodejs` (and add a link renaming nodejs to node). The ugh field was from old times when the official way to do it involved curl | sh (iirc).
It works!

Show thread

@kragen I'm setting up bubbleos on Debian to try out uncorp, and the INSTALL instructions fell a little short:
1. s/libpng12-dev/libpng-dev/
2. needed libjpeg
3. didn't mention needing node
(This is where I am now, node not yet installed just because of a little ugh field around node)

I just posted some ideas for implementation on, including thoughts on programmable self-reproducing robots, quasimodal multitouch interfaces, cheap cooling vests, the Magic Kazoo, the Egg of the Phoenix, Loyal Objects, graded-index optical systems, Speedy Delivery, autism-assistive hearing aids, Leconscrip, a non-Turing-complete scriptable Wercam GUI, PEG-based DOMification, and a planispheric conformal map app for your phone.

Show more

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!