2024-05-13 Rapids & Narrows

Up before every sunrise, not much time to take the computer out of the chart table, drifting in many fjords through countless snow-covered mountains, taking too many photos.


2024-04-27 String rewrite III

We've stowed away our 120v devices, untied the lines and begun our sail north toward Juneau, Alaska! During the next few days, we will sail through the inside passage and out the northern tip of Vancouver Island.

As we hop between anchorages, I'd like to try exploring the question: Is a graphical environment running on top a naive string rewriting computer possible, or even usable?


2024-04-13 String rewrite II

Rek and I are completing the remaining projects on our pre-departure list and provisioning for our sail to the 60th Parallel . Over the winter, we've strengthened critical parts aboard Pino, replaced experienced pieces of the rigging and simplified the habitat's life-systems — Hopefully, this will all make the journey safer, and dryer.

After exploring Wryl's Modal language further, I decided to write an implementation to better understand how it worked, mechanically. This sparked a renewed interest from the original creator, attracted members of catlang community to explore string rewriting and has given me long and delightful evenings pondering about how to crack various programming problems with it.


2024-04-02 String rewrite I

We are waiting for a few parts that we had machined, to return to us from the local fabricator. While we wait, I spend most of time playing with esolangs, one that has especially interested me lately is Modal, which is a simple string-rewriting scheme similar to Thue, but with the added feature that it allows for variables, and recognizes scope delimiters. It's a brutally simple idea that allows a program to be shaped as to mimic nearly any programing paradigm.

I had been reticent to expanding the Uxntal macro system because of how it creates disjointed fragments of code that couldn't be properly optimized, but after talking to people writing programs in which macros were definitely the right tool for the task, I've decided to rewrite the implementation and make them more robust.


2024-03-21 Catlangs

As days are getting warmer, we can begin to tackle some much needed maintenance topside like changing old lines, revarnishing the oars and inspecting the rigging. After a whole winter of getting up in the dark to do weight training, I feel it was well worth it as my back pain is gone, I sleep better and feel more overall physically capable. I have a month left of gym membership and plan to make use of it as much as I physically can before its expiration, and our casting off.

I've spend the idle hours of these past few days improving Left, thinking about concatenative programming and trying to better understand what makes a language concatenative. To try and answer this question, I've asked members of the catlang community to add example programs for the various flavors. One of these examples was the Tak Function which was new to me, and found it to map surprisingly well to stack programming.


2024-03-10 Left revamp

We took Pino's chainplates off and while the new ones are being fabricated, we reinforced the area where the chainplate meet the deck. It makes for a momentarily uninhabitable place to live, so I haven't had much headspace to do creative work these past few days, but it will be well worth it considering the places we're hoping to venture into.

Whenever I get to reclaim my desk from the pile of tools and materials that took residency on there, I fool around with UTF-8 encoding support in Left. Looking into how diacritics can be appended to other glyphs, I've begun to consider if I couldn't possibly encode the Uxntal Alphabet entirely from pre-existing glyphs within the two-bytes range and use diacritics for modes.

Samuel Butler, 1872


2024-02-25 Hello, Dot?

Our plans for the summer are coming into focus. It looks like we'll depart early, head as far north as we can make it, and see if the boat and its crew can weather the cold. This ought to give us taste of what we might expect would we decide to make it further into the arctic next year.

Someone found an interesting undefined behavior in the assembly of Uxn code, where the nesting of child labels could be implemented in one of two ways, leading to an incompatiblity between assemblers. I've explored this further and found myself pulled me into a concatenative object-oriented programming rabbit-hole.

Fredkin & Toffoli, 1982


2024-02-11 Conlang Weekly

Other than doing improvements aboard, it has been a month of playing with conlangs and conscripts. I begun exploring variable length glyphs in Left after adding support for the Lambda(λ) character last month, and went further still by supporting the Shavian alphabet. I had been looking for an alternative alphabet for a while and loved its 48 letters, the symmetries in the glyphs and how easy it was to learn it.

stupendous written in the Shavian script


2024-01-26 Back to music

I've originally started looking into virtual machines to build a target to host some games, a handful of tools and my wiki — but instead of stopping once I had done so, I kept pushing further and became obsessed with this programming language design stuff, and along the way, I lost track of why I was even doing it all in the first place. After a two year detour, I look back and I've almost totally ignored my other interests as a digital artist and musician. It's about time I find my way back.


2024-01-13 Maintenance

The forge that we use at Hundred Rabbits has been taken down by DDoS attacks and is struggling to come back online, the event reminded us that we ought to also have mirrors and release versions of these source files available elsewhere. I've begun to host copies across our various websites. The builds are still accessible through itch.io.

Until we regain access and release the changes of the last few days, keeping with the spirit of improving the resilience of the tools we use I've taken a moment to write a kind of pocket version of the console emulator and self-hosted assembler as to see how many lines are needed to start from the seed assembler and replicate it. A copy of the pocket emulator, the source for the assembler and its hexadecimal representation have been added to the wiki.

In the meantime, if anyone is looking for a specific file that is currently unavailable, get in touch!