Woe, make me your student
Devine Lu Linvega's journal
2024
18Y
2024-12-13
Spending the holidays with family, between eating and sleeping too much, I
sometimes sneak in a few moments on the computer to listen to music and tackle
a few curiosities, but otherwise, I'm trying to keep off the keyboard.
18X
2024-11-24
Back from Seattle, where I had the immense pleasure of sharing a few days
with kind, passionate and most of all wonderful
individuals, some I had crossed paths with already, others, new faces that I am
now looking forward to see once more. Evenings were busied with conversations
that felt as easy as picking up where we might have left off despite not having
seen each other for years, or even when meeting for the first time.
I was curious to see whether using creative storytelling to give a talk about computation would resonate with the Handmade
attendees, fortunately, based on what echoed late into the night within the
halls of the Mediterannean Inn, above tables covered with zines and whiteboards ornate with hastily scribbled rewrite rules, most people got it. I hope that
my loveletter to the work of Borges, Conway and Wryl, will be an invitation to
explore the space of rewriting, while remaining critical of the trajectory of
computing.
18W
2024-11-06
October came and went, ideas piled up in notebooks, but I kept on drawing. I
knew already by the time I had finished the Pocket Rewriting zine that I would make a
dynamic implementation of it which, by the way, was very well received despite
my not having even had a chance of giving away a single one. I was delighted to
see folks print their own copies.
These past two weeks have been a throwback to the release of Orca, where the less programmatically inclined
started playing with it right away, and those with preconceptions about what
programming is, what it should look and work like, found it inscrutable and
opaque. To some, the booklet remains near undecipherable. I will try to help
bridge that gap with more approachable documentation and examples over the winter.
18V
2024-10-23 Inktober II
Three weeks! I think that was the longest I went on without writing a single
line of code for the past many years, for even during long transits at sea, I
find time to sneak some in to answer these questions one ponders while gazing
at the horizon. I had other things on my mind this month, slides to finish,
dailies to draw, and settling back in our winter life in Victoria. As of
yesterday, that streak ended.
For the upcoming Handmade event, I wanted to be able to show anyone who
might ask a few simple examples of rewriting computation in a way that would
not be intrusive during a conversation, so I printed a zine that covers the basics of it, basics that I could
foresee myself repeat over again and having a challenging time doing so without
visual aids, rewriting being inherently a visual coding paradigm.
18U
2024-10-07 Inktober I
This is what I should have done last year when between the research for Strange Loop, daily maintenance of active projects, and
implementation of new ones, code was what I only ever read or wrote about for
weeks on end. By the time winter came, I was fed up with all of it. If
everything works according to plan, I'm well on my way to not writing a single
line of code this month.
It can all wait 'til November.
18T
2024-09-27 Loosing the plot
I finished my slides but I left in them some gaps to fill with puns, and
other miscellanea. There's this one where a whole culture of people is
programming entirely by multiplying fractions,
y'know what would be ridiculous? If I had actual examples, or even
implementations of classic functions to show the attendees. Not only that, how
better would my point be made if I built enough documentation to teach people
and even wrote games for it.
It has been 4 weeks now, I have vivid dreams in which I reduce the number of
steps it takes my fractions to find the Fibonacci sequence, I have written 3
different implementations and sit on enough material for a
whole extra talk of its own, or at least enough to bore a whole amphitheater to
tears. — Have we lost the plot yet?
18S
2024-09-09 Fractranfooding
We are again in familiar waters, with their familiar weather radio voices,
tugboats, madronas, lean little swallows, cormorants, banana slugs and
extremely bitter IPAs. We wake up and it's still dark out, summer must be
slipping away; the sun looks all burnt up, red and angry against the morning
haze. The music aboard is changing to an appropriate shoegaze, as if to match
the rustling of leaves and wailing of the wind passing through the shrouds.
Six or seven months has been enough to fall so far behind software updates, to
miss just enough versions, that even the part of the program that looks for
updates doesn't recognize the new server endpoints. As expected, most updated
things got worse, a few of them became quite awful, as it typically goes with software. A friend
uses necrotic as opposed to bitrot, because bitrot implies things have
been left to decay but software necrosis is rotting while being alive and
maintained.
18R
2024-08-24 Fractalfooding
I always fall within visible range of a technical solution needed to solve
some generic software issue tormenting me but ever so far as to not be capable
of navigating the tool-chain involved in applying said change to its source,
and so it goes, each time this occurs a new software is born to replace it.
Years melt away, no tool-chain moat is ever bridged, programs of every shape
and form have been transcended, the dogfood thoroughly consumed. "Blessed!",
for the transformation of the damned into doghood is complete.
18Q
2024-08-13 Back to Hathayim
We finally emerged from the fog bank that haunts the north of the island, and
sailed into the remains of a familiar Desolation Sound summer. The sound of
dinghies being pulled up the beach, dry mosses crackling under your feet. Do
our legs remember how to walk, where are the fair weather clothes, put away the
firewood, the sun is setting, catching up with friends, our time apart has it
been years, no, we have just seen you haven't we. How was it up there? Was it
fun.
How near to good is what is wild.
It's time to manifest all these thoughts scribbled in transit. I need to
finish up the slides for the upcoming talk, and the
music for the upcoming show, and, and time is ebbing!
- Found a neat optimization of the Uxn core.
- Made a few contributions to Kodiak.
- Added macros support to Drifblim.
- Wrote a Fractran runtime and updated notes.
18P
2024-07-19 Roudo Ses
The automated weather radio voice drones about the advent of favorable
northerly winds that never manifest, so we've resorted to doing short hops,
weather permitting, between the safety of one inlet and the next whenever the
storm catches its breath, often against tide, oftener against wind. We occupy
the disquieting lulls of what feels more like trench warfare than passaging
drowned in tea, blankets and the smell of paperbacks.
I've also kept busy revising some of the Solresol
poetry in Wiktopher. In R. W. Kimmerer's Grammar
of Animacy, she says that 70% of words in Potawatomi are verbs, as opposed to
English in which only 30% are. Through the lens of an animist language, the
hill is less there, than there is occupied at being a hill. She
puts it succinctly in "A bay is a noun only if water is dead".
18O
2024-07-19 A Halo Around The Sun
The inlets we find ourselves anchored in are worlds of their own with
inhabitants that, as transitory as some may be, are affairing themselves with
happenings that extend to the shores of the lagoon, but no further. A
strange new thing has come into the sheltered water and disrupted its hubbub,
now everyone looks as if caught in a gasp, at its skyward pointing wing, at its
opaque lifelessness. Through the oblong eyes of the vessel, like under a
diving bell, we peer back in wonder.
There are as many days to our bow without connectivity than those that lay
between our stern and Prince Rupert, where we were last able to make contact.
In these secluded days, I am reminded of a passage from one of Thoreau's
journals that reads the inscription on a Swedish inn:
You will find at Trolhate excellent bread, meat, and wine, provided you bring
them with you!
- Progressed toward a Markl prototype.
- Improved Uxnfor to better handle OOP formatting.
- Wrote for Malleable Systems Collective's Fearless Extensibility.
- Took care of many small tasks for the wiki that I
had been putting off, such as improving categorizing and removing redundant
pages.
18N
2024-07-12 Southward
We twice waved farewell to Sitka. A few hours after untying the lines, the
engine that normally cycles water through itself to cool down decided that it
would not do that anymore. The problem appeared to have gone away after some
tinkering, only to return further down the coast, precipitating an emergency
arrival in some questionably-sheltered flies-infested inlet hidden past but a
few jagged rocks that the ocean breakers have as of yet unsuccessfully softened.
We dropped the anchor, slept, slept some more, once our strength returned, we
had to seriously take things apart and figure shit
out.
A single persimmon
left in the sky;
picked for me.
For as long as Uxn has been around, I've meant to resume and complete a puzzle
game that Rek and I wanted to build after Oquonie,
called Markl. During these recent night passages I've
spent my watches playing the game out in my head, and arrived to an exciting
place with the design. I've started implemented it the moment we reached
port.
- Wrote a track for a Diablo tribute cassette.
- Added binary data pasting to Left.
- Enjoyed the haikus from Santoka's teacher Seisensui Ogiwara.
18M
2024-06-25 A sensibility for the useless
We have sailed as far north as we are willing to go this year. As the summer
weather settles, heading further would mean crossing longer distances with
decreasing chances of favorable winds, less sailing and more motoring, which
does not appeal to us one bit. We'll head to Sitka before making our way back down to warmer waters and enjoy what remains of the summer free
of foul-weather jackets.
Spend enough time in the esoteric programming circuit and you'll come across
the usual suspects: self-generating programs, polyglot programs and quines; but
until this week I had never heard of ambigram/palindrome programs, which that
can be evaluated from either directions. Naturally, I had to have a go at it,
and I've added it to my growing collection of
labyrinthine programs.
18L
2024-06-14 Endless summer days
Alaskan summer days are long, the sun wakes us up at 4am, and it stays bright
until 11pm. By 5am, the batteries are already topped up from solar, if we were
very motivated, we could solar-cook every meals each day.
I occupy the few moments we have between sails by knocking down tasks I had in
my notes for a while, like making a disassembler and cleaning up the web emulator enough
that I can use it to show programs on wiki pages, like bifurcan and wireworld.
18K
2024-05-30 At the Alaskan border
Sitting aboard Pino in the last port in Canada before entering Alaska, thinking about
how odd it is to be sailing straight from the south and having to change
timezone. We've been moving every day of the past two weeks, making use of the
favorable wind to jump from anchorage to anchorage. During these long passages,
I try to write the talk for Handmade in my head.
Abner, who organizes the conference, asked me specifically to explore other ways to live with the attending creatives and
developers affected by burnout or the mass layoffs. I've had Edna St. Vincent
Millay's poem in mind these past few weeks, it goes:
Safe upon the solid rock the ugly houses stand:
Come and see my shining palace built upon the sand!
18I
2024-04-27 String rewrite III
We've stowed away our 120v devices, untied the lines and begun our sail north
to 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 wonder if a graphical
environment running on a naive string
rewriting computer possible, or even usable?
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 Alaska. 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 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.
18F
2024-03-21 Catlangs
As days are getting warmer, we can begin to tackle some much needed
maintenance topside like changing old lines, varnishing 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!
2023
It's funny how I can go from being utterly terrified at the onset of a
project such as the total rewiring of Pino, to looking
back thinking that it wasn't at all as hard as you expected, and having that
familiar realization that that twinge of fear is more often about
starting than it is about doing the task itself.
As a little gift to ourselves, Rek and I ported Oquonie to Varvara, which
somewhat ensures that this little world to remains playable now that the
previous builds have begun to have mixed success running on recent operating
systems.
Rek and I were invited to do a residency at LEÑA, and we sailed to our dream
destination, the breath-taking Princess
Louisa Inlet. I had, once again, the opportunity of crossing the US by
train, eastward this time, with a bunch of amazing people heading to the last
of the Strange Loop conferences. I got a tattoo of my favourite
demon, Stolas, by my friend and favourite tattoo artist Lizbeth.
After a short fling with parallel
computing, I realized that it was more trouble than it was worth for the
scale of projects that interested me. I've added lambdas to Uxntal, which was
certainly the single greatest UX improvement to the language since its
creation.
This crazy and wonder-full year ended with the publication of Rek's latest
novel Wiktopher, and as the year and projects come
to an end, we are now turning our gaze back to the horizon for the next year,
and our next projects.
For the year of 2023, Maurice Renard's Le Peril Bleu, was my favourite book. Coline Serreau's La Belle Verte was my favourite movie. Cimerion's Contresort was my favourite album.
17Z
2023-12-28 Lisp
I've been taking it easy for the last few days of the year, cooked a lot,
walked a lot. I've been re-reading SICP and idly poking at implementing a Lisp system in the style of Varvara. I don't have any specific goal for it beyond
exploring low-level symbolic computing, but who knows where these things might
lead.
After watching an excellent documentary about the Newton,
I found myself reading about the various ways to convert hand-written letters
into their digital representations, and soon found myself fascinated enough
that I just had to invent my own little shorthand calligraphy and interpreter.
17Y
2023-12-09 Pomparu
Rek's Wiktopher is out! After nearly seven
years, it's finally available for anyone to read. It includes a few side projects documented on here, such as a dialect
of Solresol, and the game Hako. That's all I've this week, so go read it!
17X
2023-11-20 Ulz Compression & Elmet Brae
The Elmet Brae compilation has been released,
and put up on Beldam Records with a
beautiful cover by Rostiger, who also
made the Varvara Zine.
I've spared a few evenings to implement a Ulz
encoder, for which my first attempt was nearly a year ago, and at the time,
writing programs in Uxn that involved many nested loops terrified me. So, it
felt great to revisit this old problem that stumped me before, and solve
it.
Members of the Solresol community and I talked
about the lack of useful example sentences in the language, and how the handful
of examples out there often include mistakes, so we've put together a revised list of sentences that we could agree on.
17W
2023-11-11 Ternary Party
Rek and I are doing a final proof-reading of Wiktopher before release, we're trying to make sure
that all of the book's conlang dialogs are consistent with each other. On the
topic of conlangs, we've also translated Thousand
Rooms in Solresol.
In the evenings, I've been revisiting ternary
computers after wondering about string encoding in such a system. I've only
implemented the basic
scaffolding so far, but I'm hoping to reach a point where it can assemble
and run basic TerSCII printing routines.
17V
2023-10-25 Back Aboard
After being away since leaving for the train to Strange Loop, we finally made
our way back to Pino. It feels great to be back in our things, and to have the
mind-space to create again, I was able to write music this week, and it had
been a very long time since I last felt like doing so.
I also helped with the implementation of a few devices for the
Javascript version of Varvara that a friend of ours use in their classroom,
someone also contributed a WASM implementation of the Uxn core, which speeds things up
a lot in comparison with the old one I made last year. I've also played with
sixels.
17U
2023-10-12 Perma
These past few days, Rek and I were invited to participate in conversations
with students, researchers, and radio hosts about sustainable technological
practices(Right To Repair, Design for Disassembly, Open Source, etc). We're
witnessing a growing interest in software longevity, digital preservation, and
the organization of a critical mass of ecofeminist collectives exploring the
failability of modern tech, and the development of resilient practices, beyond mere
academics.
- Nothing to show yet, but working on Varvara's new Audio device with Bad Diode.
- The talk for Strange Loop is now available online!
- Enjoyed reading Pauwels' Blumroch L'Admirable once again.
17T
2023-10-07 Stolas
After taking the train from Seattle to Saint-Louis, I kept on heading East to
visit family and friends. I've been feeling a bit of out of sorts in regards to
programming, and unmotivated to do any software development. It'll come back to
me, but in the meantime I'll be spending my days drawing
dailies for the month of October, and catching up with movies and music
that came out since we last had access to reliable internet connection.
17S
2023-09-25 Strange Loop Or Die Tryin'
On the eve of the talk, I sit half-awake waiting for my first real meal since
leaving Victoria to arrive, it's been two hours, blatter is coming down hard on
this very loud, and very understaffed, and only available vegetarian place
within walking farness from the hotel. And, my voice is shut, the talk is in a
few hours.
I normally am a really careful planner when it comes to giving these sorts of
technical talks, you wouldn't catch me going out the night before.
I had assumed that the train from Seattle would either carry their one
vegetarian meal on the menu, or accommodate. After a first day of eating cold
bread loaves with margarine, and an altercation with an uncompromising
attendant on the second day, I managed to secure myself a "Steamed Russet
Potato A-la Tomato Sauce" for the third.
I had also assumed that the venue would carry palatable vegan options, or that
I could cook my own. After missing the Strange Loop meal service twice in a
row, due to talk scheduling conflicts, I managed to queue long enough to
acquire one of the last remaining scoops of an awful vegan soup. I promptly
returned to stealing whole fruits from the hotel gym and eating them in my
room, which I was content with. The problem that wasn't apparent at first was
that eating sweets all day kept me up all night.
Despite these mistakes in preparing properly for the road leading to the talk,
I managed to show up on stage on time, give an (hopefully) entertaining
presentation at Strange Loop 2023. I'd love to give a sunderly thank to Jack
Rusher for the tea that brought my voice back, and Josh Morrow for letting me
borrow their laptop and install Uxn on it for the presentation.
17R
2023-09-09 Solresol
Now that the first pass of proof-reading for Wiktopher is behind us, we have begun to look into
cleaning up some of the worlding aspects of the book, which include congames, conlangs and even conrecipes. One of
Lupin's dialects can be whistled, and as to encode the various poems of the
story into pitches, we decided to pick the Solresol
constructed language as a suitable candidate.
Not previously knowing the language, I have spent the past few days neck-deep
in digital archeology excavating some of the language's vanishing documents
from the Wayback Machine and transcribing them in a format that will allow me
to translate the texts. While I'm at it, I'm planning on translating the Thousand Rooms story, Famimi Remisolla as
practice.
- Collected notes into a Solresol, and Solrela, pages.
- Enjoyed exploring the archives of the Sidosi community.
17Q
2023-08-26 Oekaki
In an attempt to catch up with all of the readings I have had queued in
preparation to Strange Loop, I've inadvertently filled
my every waking moments with enough dry PLT papers to make myself altogether
sick with the topic. I've been so caught up trying to learn about
expressiveness, that I momentarily forgot what about it was that I even wanted
to express. So, while I recover, I've picked up daily drawing again.
17P
2023-08-06 Lambdas
The first pass of review for Wiktopher is
done! Rek and I have been working toward this milestone for months.
While implementing changes to Oquonie, I noticed
how many single-purpose labels were used merely to hop over short lengths of
code, enough that having ran of ideas for names to called them, I would default
to things such as &skip
, &continue
or even
&ok
. The solution was to create anonymous labels, and as to be
capable of nesting them, I ended up inadvertently adding lambdas to Uxntal which has drastically improve
code readability, and as a side effect allowed for the rapid creation of tree
data-structures.
17O
2023-07-28 Maintenance All The Things
We are anchored in Von Donop, and I'm taking some time away from working on
the talk to finish proof-reading Wiktopher.
Week after week, I find myself revisiting Drifblim's implementation, and each time I leave
convinced that I've succeeded in improving it as much as I ever could,
considering the negligible scale of the program, yet more elegant solutions,
entirely unimaginable at the time, always become nothing less than obvious, a
week later. — The destination that I'm grasping for is getting ever
farther at the same rate that I approach it, but for as long as the program
decreases in size, and increases in reliability, the chase remains
exhilarating.
17N
2023-07-12 Uxntal Presentation
I've done little else this week other than proof-reading Rek's Wiktopher manuscript, but I did have this idea, while
working on program verification, that I might like to realize in the fall. A
system like Smalltalk's definition of interfaces
for message passing, in which a message must find a match in the listening
object's methods dictionary, might help improve Uxntal's expressiveness and be
realized entirely with syntax already understood by the assembler.
We had to negotiate rapids and convert the ideal transit time from tide
tables to Daylight Saving Time, which reminded me that I never made time to
know when the change occurred in Canada. I am taking a not of it here for next
autumn, it begins on the second Sunday of March at 2 a.m. and ends on the first
Sunday in November at 2 a.m.
17M
2023-06-18 Princess Louisa
Ever since we sailed back to Canada, from Japan, friends have told us to make
the trip through Jervis Inlet to Princess
Louisa Inlet. After making our way there this week, and hiking up and down
its cliffsides, I can confirm that it does indeed live up to its fame, it is
absolutely breathtaking.
Having no connectivity has helped me focus on writing my talk for Strange Loop 2023.
17L
2023-06-16 Context Inference
We're on our way north, anchored in Telegraph harbor. We've preserved enough
food to get us through the summer, and stocked the shelves with books to last us as long. I was especially merry about
finding a copy of Carroll's Sylvie & Bruno, and Golding's Lord Of The
Flies, to carry along with us.
To continue my research on concatenative language inference, in contrast to
the reassembler
which creates an intelligible textual representation from a binary file and a
symbols file; this time, I've written a reformatter that
works from a textual source file and reindents it based on context. An
interesting puzzle, considering how few syntaxic structures Uxntal has, lacking
explicit notation for loops or even conditionals.
- Found a way to removed the page limit of 32kb for the wiki.
- By popular demand, the docs folder is now browsable.
- Enjoyed playing with Bellinitte's Pinhole renderer.
17K
2023-05-28 Road to Strange Loop
I've submitted a talk about permacomputing
to Strange Loop
2023 and it has been accepted. This summer, as we sail north, I'll be collating
my notes on the overlaps between permaculture and situated software design
practices — And, hopefully, have a substantial presentation by
September.
It's unbelieveable that we can sail up along the coast, find a pretty nook
between two mountains that seems inviting, and just live there. When we'll have
walked up and down the old trails to our heart's content, maybe we'll keep
going. Part of me wonder for how long this will remain possible, it's just too
good to last.
17J
2023-05-12 Type Inference
For a few weeks now, I've been sketching the basis for a type inference system for Uxntal. I first came
across a stack-effect validator when writing Factor, and I've been meaning to make my own since after
reading Rob Kleffner's talk notes. Prior to this project, I had a sense of what
the sundry constructions were, but writing a type-checker drew clearer lines between all these
different patterns.
We're casting off for Desolation Sound in a few days. Most afternoons are spent
stocking up Pino with enough food to last us until we
make our way back south next autumn. I'm eager to depart.
17I
2023-05-01 Concurrency All The Things
I recently watched David Ungar's Everything You Know About Parallel
Programming Is Wrong talk, which lead me to read Tony Hoare's
Communicating Sequential Processes, after which I felt inspired to
consider parallel computing once more,
and soon found myself taking a detour to play with the OCCAM programming language, and revisit threads in Uxn.
As a side-project, unrelated to threads, I made a pixel-perfect
implementation of the classic Macintosh Note Pad application, so I could keep
notes throughout the day and that turned out to be a fantastic aid to
collecting passing thoughts. While building it, I also had a chance to
implement text-wrapping in a project with very few moving parts and better
understood how to handle text selection, where the boundary of a selection ends
up being before the original anchor, and implemented it in Left.
17H
2023-04-22 Structured Editing
These past few months, I've explored playful
things to do with programming that might not directly serve a purpose, or
at least, one wouldn't come across them without seeking them out specifically,
and I've collected some of those seemingly useless, ideas into a talk and
submitted it to the Strange Loop conference happening in September.
Also, while I consider Beetbug to be a kind of
disassembler, I wanted to see if I could build something that would let
me go from a source file to an assembled rom, and back again. I figured that
being able to recover a project from a rom and its symbols file has important
potential in terms of data preservation. To make this possible, I modified the
symbols file to include comments, and was able to
complete the back and forth I wanted.
This allowed me to experiment with something called structured editing, in which you modifying the underlying
structure, symbols and bytecode of a program, and not its structural
representation.
17G
2023-04-05 Interaction Nets & Oquonie
The past two weeks have flown by, between finishing Oquonie and preparing Pino for
the summer, each day I fall into bed completely exhausted. But the game is
nearly finished now, there are fewer and fewer bugs, and most of my time is
spent doing optimization.
I've been diving into Interaction Nets
again, and fallen for Sato's Inpla language, the
code is a nightmare but I feel that with a bit of work, and a better division
between the interpreter and virtual machine, this could turn out to be
something very fun.
After watching Alan Kay's OOPSLA
1997 talk, I went and read Smalltalk-80: Bits of
History, Words of Advice and I've been fascinated with it. It goes in
details about their approach to the implementations of the Smalltalk VM, and the challenges to getting the ST-80
image to boot on all these platforms.
17F
2023-03-13 Residency at Biosonic
Spent the week at the LEÑA residency collaborating with audio-visual artists.
They call it a retreat, but really, I returned from Galiano more
exhausted than when I left. It was well worth it tho, as I rarely allow myself
to play music for more than an hour or two at a time.
I've had a bit of time to kill between rehearsals, and whenever I had a few
minutes to myself, I'd pour over the Lisp Machine memos. It occurred to me that the
byol-type books really ought to teach about targetting Lisp
architectures(or at the very least, something in the vein of SECD abstract machines), instead of implementing Lisp on top of imperative languages, which does a
disservice to the entire exercise.
17E
2023-03-03 Preparing for Biosonic
I've been progressing on Oquonie, implementing
sounds and making sure that it runs as smoothly as possible on as many
different platforms as I can. This meant revisiting a lot of the implementation
details. The month has flown by, but it has been a lot of fun learning about
optimization.
I will be staying on Galiano for a week during the Biosonic residency, it has
been a while since I've last slept on firm ground.
17D
2023-02-24 Oquonie is nearly ready
The weather has been absolute garbage and so has been a great help in
advancing the Oquonie port. Not only is the project
pushing Uxn further than it previously ventured, but it
is equally pushing the tools used in its creation. The building of the game has
had me do some significant improvements to Drifblim, Uxnlin, and Left.
17C
2023-02-07 Oquonie is happening!
After putting together a demo of what a Varvara
implementation of Oquonie could look like, Rekka and
I decided to officially port it. It's a lot of fun to revisit this strange
universe. I hope that we can bring the essence of the original into the redux
version.
- Spared some time to fix a handful of issues in Orca.
- Spent nearly every waking moment working on the Oquonie prototype.
17B
2023-01-20 Function Stacks
I've been reading about reversible
computing and put together a playground that allows me to experiment with the ideas of
psi-lisp. This whole business of time
reversible logic feels like visiting an old
friend.
Meanwhile, I've also tried to bring potato to a
usable state, which means that for it to entirely replace the current launcher,
it should be able to assemble and run the assembled rom, a state to which I am
inching closer.
17A
2023-01-08 Pino Rewiring
Since the new year began, we have spent every waking hour rewiring
Pino, it has been a more challenging project than we had hoped but we will
sleep soundly knowing that each connection has been well made.
I've read Koopman's Stack
Machines: The New Wave and it inspired me to experiment with other virtual
machine designs, namely that of the NOVIX NC4016. But after two weeks of
experiments, I returned to writing Uxntal, partly since I do not feel limited
in the realization of my ideas with my current stack, and partly because these
sort of systems make for extremely obfuscated assembly languages. That being
said, I can't seem to shake the craving to experiment with the Setun-70..
Archives of previous years.
incoming home blog