2024
18H
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.
18G
2024-04-02 String rewrite
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.
18F
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.
- It's just been too nice outside for any more computer musings.
- Enjoyed Henrik Karlsson's Third Chair story.
18E
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.
- Made a few improvements to Left's support for UTF-8.
- Rewrote the uxn.js, it now passes the opcode tests.
- Added example programs to the concat wiki.
18D
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.
18C
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.
18B
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.
18A
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!