We sailed to Desolation Sound in late spring spring, spent the summer up
there, and didn't return until the fall. We left with stores bursting with preserved foods, allowing us to stay away for months
without the need to resupply.
I hadn't entirely made up my mind about Uxn when the
year started, I thought it might not be something that I would want to keep on
using, but the year came and went without ever finding myself wanting to
program in any other languages.
For the year of 2022, Richard Adams' Watership Down, was my favourite book. Only Yesterday was my favourite movie. SadSvit's Cassette was my favourite album.
2022-12-25 Reversible Computing
This week, I was introduced to reversible
computing and linear logic, which not only do not generate garbage, but
also preserves state by making any loss of entropy explicit and an integral
part of the program's architecture. To say that this new knowledge shook my
understanding of programming would be an understatement.
I don't know what 2023 has in store, but some of it will be invariably spent
tangled up in this.
Continuing my recent experiments with the self-hosted
emulator, I decided to repurpose it and turn it into an entirely
virtualized step-debugger. It is called Beetbug,
debugger. To improve error reporting across the ecosystem, I've also written a
symbols file specification that will allow the
various emulators and debuggers to add labels to addresses when throwing errors
As I was learning to use the Soroban to do elementary level multiplications, I
stumbled on this fantastic article on the use of the Salamis Tablet, which
has been fascinating me and occupying my mind at night. There, now it can
torment you too.
I had this idea of implementing the Uxn virtual machine in itself, to
virtualize the memory and runtime entirely in a sandboxed
emulator rom. That would allow something like a debugger to be built that
doesn't preclude any special Varvara support.
I also tried writing a block editor for Uxntal, but failed, I couldn't make up my
mind on how to visualize each cell, and in the end, I've decided to drop the
idea and went back to reading Takashi Kojima's Advanced Abacus book and
toying with my virtual soroban while the snow fell on the boat.
2022-11-18 Handmade Seattle 2022
I had a unforgettable time at Handmade Seattle 2022. I met countless wonderful creatives,
including someone who introduced me to Interaction Nets, another who showed me their
language targeting Uxn, someone even noticed the Ithkuil easter
egg on one of my slides and came to talk to me about it. I also got to spend
hours exchanging ideas with Peter van Hardenberg and Rasmus Andersson, whose work inspire me.
The conference coincided with the first Pacific Northwest Merveilles meetup. There was no better way to end
this trip than having the chance of finally meeting, in person, some of the
friends with whom I share this online community.
2022-10-31 Last Daily
Today was the last day of October, and the last daily drawing. I had a good time beginning each morning that way, but it's time to wrap up the slides for Handmade Seattle.
I haven't had time to do much else this month, but I did modify Left to use a variant of the Smalltalk-76 font, which after a handful of tweaks, has quickly turned into my favourite font to program with.
I've recently finished reading What The Doormouse Said, and I was fascinated by the story of the People's Computer Company publishing the specification for a subset of the BASIC programming language, inviting programmers to write their own unique implementations for their machines.
This motivated me to take a deep dive in the language, and what better way to grasp a language than to write an implementation.
2022-10-02 A month of conworld
We have returned to Victoria for the winter and reconnected with our little local sailing community, it has been wonderful hearing about everyone's summer adventures. We have a lot of challenging projects to do over the next few months and knowing that we have dependable friends nearby is reassuring.
I am dedicating each morning to drawing a different scene from the Neauismetica, and will try to keep it up for as long as I have ideas.
2022-09-12 We've got worlds to go to
Once again, finding ourselves having drinks over a scattering of world atlases and passage planning compendiums.
The days are getting shorter, and so is the time that we can spend on the computer, due to our batteries depleting earlier a bit each day. So, I spend my evenings proof-reading the Wiktopher manuscript and reading.
2022-08-30 Hunger for a Way Out
The misantropia that accompanied our return to the noise and smell of the cities, has not yet subsided. We find ourselves surrounded by people, homologous to those who happily mow the lawn at dinner time, who will break the quietude of an anchorage by running a gas generator to watch television as the sun sets.
It's no wonder that birds don't sing here, lest their songs be invariably drowned by the deafening display of the vacationers broadcasting to the fourth horizon over that they are taking it easy.
- Made Drifblim capable of assembling large files, namely Potato.
- Started poking at building a little sequencer again, oh no.
2022-08-16 Farewell Desolation
We've left Desolation Sound, and stopped in Texada to reprovision before sailing south. We finally have access to reliable internet access again, but none of my near-endless supply of things to catch up on, none of it stirs any interest in me right now.
Despite my unsettled moods, I was able to built myself a cozy little world to work from, the operating system turned out to be extremly useful in looking through my large collection of pcm, chr and icn files.
2022-08-01 A Potato
We've sailed ourselves into somewhat of an internet deadzone, where my evenings consist of lying in the hammock hung between the jib and the mast, thinking about what sort of an operating system I'd like for myself; what would be both realistic for the Uxn platform, and the limits of my own aptitude for realizing it.
2022-07-16 Slideshow Tech 2000
I haven't had it in me to start new projects these past two weeks, so I've instead revisited projects in need of care; namely Adelie which was until now undocumented, leaving people to guess at how things worked. It has been nice to see some terrific projects made with it, like tower of hanoi, and these gorgeous slides. It took all the restrain in the world not to turn it into another Hypercard.
2022-07-02 Self Documenting Binaries
The more I try to imagine what resilient software might look like, the more shortcomings I find in Varvara roms, namely, the ones that rely entirely on external documentation. So, I decided to try and begin to tackle this problem by adding a menu navigation manifest to each one, which not only makes the application self-documenting, but also improves accessibility.
- Planted soy at 50°8.549'N 124°56.972'W
- Wrote a macros pre-processor for Drifblim.
2022-06-19 Dwindling Stores
I hate to think that we will, at some point, have to sail south to re-supply, we've both decided that we shall stretch our supplies for as long as we possibly can. We will soon run out of fresh produce, but we have prepared enough preserves to last us for months.
- Wrote our keynote for NIME 2022.
- Transcribed notes over to the Permacomputing Wiki.
- Planted wheat, barley and mustard greens at 50°8.409'N 124°56.842'W
2022-06-03 Uxntal Communication II
We've arrived in Desolation Sound and met up with friends. We spend the long afternoons rowing the dinghy along the shoreline and exploring the thickly forested coast. I went ahead and assigned a glyph to each Uxn opcode, to make an Uxntal Alphabet, it adds a wonderful conlang aspect to the project. I'm hoping to turn this into a little graphical assembler at some point.
2022-06-01 Uxntal Communication I
I couldn't stop thinking about the idea of a Uxntal Sign Language. So, with Rekka's help, I began assigning hand gestures to numbers, operators and modes. I'm also thinking that I might like to assign glyphs so an assembler that does away with English altogether could be envisioned.
- Wrote a linter for Uxntal, and implemented tail-call optimization to uxnasm.
- Planted lentils, mung beans and radishes at 50°8.527'N 124°40.195'W
2022-05-30 Heading North
We are finally making our way north toward Desolation Sound and the Broughton Archipelago. We are spending these late spring days anchored between high mountains, revisiting ideas for projects we conceived of this last winter, but decided to leave for a later time. I've been fascinated by how an entire computing paradigm can emerge from the primitives of combinatory logics, my recent thoughts have been populated by these strange talking birds.
2022-05-14 Slides rules
Aquired a couple of slide rules from a retired teacher, and figured out how to use them. My plan is to gift them to people we meet in our travels. I've spent the better part of the week plotting shapes on paper with the help of the slide rule, while also experimenting with a line-plotting engine, inspired from Turtle Graphics, for creating procedural graphics.
2022-04-30 Uxn Specs
I felt frustrated by the development of Uxn this week. It reminded me of the difficult period in Orca's development when it was beginning to be actively used, meanwhile the last few operators were being finalized. Folks would raise hell each time operators were moved around and it made finalizing the spec extremely painful.
2022-04-14 Bedrock Failure
Inspired from the Cuneiform Tablets paper, I considered realizing the paper's point of implementing Smalltalk72 on a UVM, I spent a few days experimenting with the ST72 environment — Only to realize that, like the ChifirVM, it is poorly thought out and fundamentally irreconcilable with my vision of small computing.
We gave our talk at LibrePlanet 2022, and it went very well. During the Q&A, we talked about living without a fridge, from food preservation to sprouting, and we were delighted to see so many people interested in that stuff. I guess the intersection of computers and gardens is slightly larger than I thought.
- Played a little set for Algorave's 10th anniversary.
- Revamped Orca, Nasu, and Left to support Varvara's new Screen/Auto port.
2022-03-14 Digital Preservation
Took a deep dive into the various experiments in digital preservation(PADI, CAMiLEON, Domesday, etc..), didn't really find anything worthy of note, but it did inspire me to rewrite some of the content on permacomputing. I've also spent the past couple of days improving Noodle, and adding support for tga images.
- Wrote a little single-file Uxntal assembler called Drifblim.
2022-02-30 A Dice Game
Rekka is putting the finishing touches to Wiktopher, and asked me to design a game that the people of Iridi could be playing. I thought a dice game combining the capture mechanism of Go and the randomness of the Domino draw might be a good fit, learn to play Hako.
Our upcoming keynote for Libre Planet 2022 has been announced, we've built a little slideshow program for the presentation. I've revamped the Orca documentation and added a reference page, as well as fixing a few bugs in the Uxntal implementation. Toying with wireworld sucked much of my time, again.
Finally, brought back incoming links at the bottom of wiki pages. They had been gone since the migration from C, to Uxntal.
Rekka and I completed Yufo, our entry for the Virtual Pet Jam 2022, we also added a Serbian and Polish translation to Thousand Rooms. When I wasn't playing with primes, or reading, I was noodling in wireworld. Ah! Also, Uxn turned one year old.
2022-01-14 Devlog Start
To kick off 2022, I've decided to write 3 documents for the Uxn project, in
which I'll save my design notes, the first one is
about the virtual machine itself, the second
one is about a personal computer and the last one might be about the
language design. Hopefully, by the end of this year, this project will have
have matured into something that is more easily definable.