Jun 6, 2020
My text-mode paginator for text files implemented all the way up from machine code now supports a tiny subset of Markdown syntax.
The code is terribly ugly, and there are zero tests. But it did help flush out three bugs in Mu. Next steps:
- Build out the compiler checks I missed the most.
- Implement a fake screen and keyboard so I can write tests for this app.
- Throw the app away and redo it right.
(Background. Repo.)
permalink
* *
May 30, 2020
It's amazing how much you can do layout-wise with just plain text. Pictured in this toot:
Alice in Wonderland by Lewis Carroll
Poems by e e cummings (https://en.wikipedia.org/wiki/E._E._Cummings)
permalink
* *
May 30, 2020
A new day, a new app
A text-mode paginator for text files. Think `more`, but no ncurses, no termbox, no libc, just Linux syscalls.
2-minute demo video:
https://archive.org/details/akkartik-2min-2020-05-29
App sources
Repo
permalink
* *
May 28, 2020
I'm starting to build some simple apps in Mu, my memory-safe language that translates 1:1 to machine code.
Today I built a program to print a file to screen:
http://akkartik.github.io/mu/html/linux/apps/print-file.mu.html
Experience report
Also:
All in all, this language isn't ready for others yet. I'm constantly inspecting the code generated by the translator.
permalink
* *
May 23, 2020
Tired: a chicken is just an egg's way of making another egg.
Wired: the Game of Life is just a glider's way of getting around.
Inspired: the rules of Conway's Game of Life are just the square root of a glider's way to achieve a 90°-rotation-then-flip.
permalink
* *
May 23, 2020
I'm back from a death march.
Mu is a safe language built in machine code, translating almost 1:1 to machine code. A key check is for use-after-free errors, using a second address type ("Bicycles for the mind have to be see-through", section 4.4)
I spent the last 2 months switching all of Mu's implementation to this scheme. It was a tough time. But now I know it works (with 10-15% slowdown), and Mu functions calling low-level libraries should behave unsurprisingly.
https://github.com/akkartik/mu
permalink
* *
Apr 19, 2020
I went through an intensive Forth phase a couple of years ago before embarking on
SubX, but somehow missed this Chuck Moore talk at Strange Loop:
https://www.infoq.com/presentations/power-144-chip
I watched it today at 1.5x, and it still took me 2 hours to watch. I had to pause every couple of seconds to digest what I'd just heard. Fascinating.
Forth chips focus on power, and therefore tiny memories. It's a powerful justification for remaining in the nostalgic console aesthetic of the 80s.
permalink
* *
Apr 13, 2020
Yak shave of the day
My editor shows signs on the margins to indicate changes since last commit. I wanted it to show diffs from an arbitrary commit.
This feature request had been understandably refused a year ago: https://github.com/mhinz/vim-signify/issues/232
So I fixed it for myself, in 3 easy steps:
- Find a simpler version: 1650 => 900 lines.
- Delete even more code: -600 lines.
- Add the feature: +2 lines.
The final result only works for me. I believe we should share raw VimScript, not packages.
permalink
* *
Mar 23, 2020
The Mu compiler summarized in one page
More details
Repo
(Brief update since there isn't much to report: I'm working on safe heap allocations as described in the paper. But it's slow going because of life and the need to unwind some past decisions.)
permalink
* *