disast.rs :: journal

hack the planet

2025-11-04 :: Tuesday, November 4th

Preparing for pilgrimage to Nepal and Bhutan, I have had less to do here.

It occurred to me this morning that -- I want to try and notice things and then take them and extrapolate them out and "figure it out". But with Buddhist practice, especially the practices of view of Vajrayana, I don't believe this is always appropriate -- sometimes you have the experience that you have, the sudden flash of insight that you have, and trying to concretize it (e.g. turning it into a building block alongside other "similar such experiences" in formation of a "grand theory") is going to flatten it down.

"Reality is very high-dimensional"

Then, when is extrapolation appropriate?

::::

See you space cowboy.

2025-11-01 :: Saturday, November 1st

::20:49::

The work today did not occupy my conceptual mind, and I lay fallow

a day like today is a relief.

::::

Because of our physical, emotional and cognitive conditioning, what we experience triggers, provokes, or kindles a wide range of somatic, emotional, and cognitive reactions. For those of us who are compelled to pursue direct awareness, all those reactions are just stuff, and we build an increasing capacity to experience them as movement, rather than fact.

A Trackless Path, p.117, Ken McLeod

Other than residing in nondual awareness -- there is no point at which one could say, 'This is the actual reality; the others are distortions.' All one can say is 'This is human vision according to my individual perception -- as modified by my culture, class, age, gender, and life experience.'

It would seem there are as many different realities as there are perceivers of reality.

Ngak'chang Rinpochè & Khandro Dechen

Thoughts come, and thoughts go, and we ascribe meaning to them.

You are a practitioner.

Ngakma Yèshe, personal correspondence

::::

I like to write these things down

Good Night!

2025-10-31 :: Friday, October 31th

Happy Guru Rinpoche Day!

::11:35::

This month has felt like 3 months.

2025-10-30 :: Thursday, October 30th

::07:00::

Zhi-khro (which is the form of Gar-tak I practice) is less concerned with outward technique, more with using the body in particular ways, developing particular skill/ability/attributes within the body. (and by extension, the mind, and the interface of mind/body/breath: the rTsa-rLung system)

That's why it's a little difficult to describe to jiu jitsu people . . .

(Brazilian) Jiu Jitsu is oriented more towards outward physical technique, which (accidentally) develops the body in particular ways. The "better" one's application of technique, the less one's body needs to change (?hypothesis?))

The zhi-khro approach to grappling says: "use as little technique as possible, and do as much with skill as possible."

(skill is a technical term that I'm choosing to translate here and a full discussion of it is outside the scooe if this little web journal.)

"If you're going to train, you need to figure out a way to do it where the active ingredient is skill, where you're developing skill.

2025-10-29 :: Wednesday, October 29th

::21:57::

Many things piling up as Bhutan draws near

I must remember to get clubs from the sports store before November.

::::

I had the idea of working on some ground-game drills after sPrul'khor

and I noticed a rather extreme asymettricality in my body in earth eagle -- my hips on my right side are much less flexible than the left.

Similar, with earth garuda, what feels like "the same" level is actually much lower on my right shoulder.

Any way, I want to be better at practicing martial arts, as such. I think that I could practice more thoroughly, more thoroughly than I earlier thought was possible on my own. Starting with sPrul'khor, and working on grappling movement patterns as a way of synchronizing my practice.

I've been thinking that there's no reason to do the practice than to do it.

so I don't really need to come up with reasons to say I want to do the physical practices ... not to most people, at least. because the sense of touch has enough intelligence in it, I think it speaks for itself. It feels good to do. That's enough to do it.

::::

Now is one of those times I've been thinking I could benefit from writing a to-do list, or list of things I want to do, because I am losing track.

So, ideas.html

I want to come up with all kinds of reasons to be doing things, really there isn't much of one. I do things and pay attention to my body while they're happening. Try to find the movement of/and non-movement.

I want to do them, really!

desperately, I hope I can find enough throughlines, or just the one, that unifies them all. Is that really a good idea?

"Thoughts come, and thoughts go, and we ascribe meaning to them."

2025-10-27 :: Monday, October 27th

::05:57::

I forgot!

2025-10-26 :: Sunday, October 26th

::08:03::

I've always been intrigued by the way shapes pack into one another

Yesterday I puzzled over how to rebuild the site-generator in Modal -- it occurred to me I could focus on "the fundamentals" of the problem, or the "primitives", and let the structure of the solution arise out of that -- rather than figure out the top-level structure and work down.

Hypothesis: the primitives shape the solution.

For any given solution space, there are multiple (possibly overlapping) ways of defining "the fundamentals". The definition of "the fundamentals" informs ones path through the solution space.

2025-10-23 :: Thursday, October 23rd

::10:12::

Reality is an endlessly fractal (self-similar) structure

You can investigate aspects of the whole of it by concentrating on any one part

If you are going to participate in it, you will have an effect on all of it

It's a good idea to be aware of the effects that your participation will have

And you can see what those might be by paying very close attention to the small-scale effects of your activity.

The only external damtsig is kindness.
The only internal damtsig is awareness.

::12:28::

I have configured my site's default charset to be utf-8

When I make a change now, I try to leave a trace -- that's really what this journal is about -- or one of its major reasons-for-being.

2025-10-22 :: Wednesday, October 22nd

::14:15::

I configured my own variant of iosevka, but at what cost?

I think I'd rather really make my own font all from scratch... it's only 100 or so glyphs I'd need to figure out. Hot reloading would be a must.

Possible that ligatures will grow on me

I'm so wary of coming to rely on something on a computer that I don't understand/feel I could not reproduce, at least a little bit

That's why I'd often rather do without, you know?

2025-10-21 :: Tuesday, October 21st

::06:31::

When I stop wanting things to be different from what they are, I am more able to notice and be in the actual experience of life, right now, just as it is

...

The meaningfulness of an action or activity is not based in the results that I hope to achieve but in the fact that life, that is, the totality of what I am experiencing right now, is calling for this activity.

The challenge is to find the balance in all the different pushes and pulls that make up our lives ... the best way is to open to everything that is calling to me in my life — everything — whether it seems to be important or not.

I do not try to sort out the flood of desires, demands, challenges, hopes, fears, aversions, longings, and ideals. I just sit in the whole mess, until the direction and the next step becomes clear.

A Trackless Path, p.71, Ken McLeod

Everything is included, nothing is excluded.

rLung rTa —wind horse— is appreciative vitality, in which the appreciation and vitality incide each other.

::::

If one withdraws, for some reason, from the immediacy of an experience – one loses the sense of changchub sem.

One loses the sense of vital connection with the dance of circumstances.

::::

The symbolism of Vajrayana only makes sense when one lives in the culture of changchub sem – and one has to manifest that culture independently as a sangha ethos, within domninant society. If one estranges oneself from the culture of changchub sem, then its cultural forms begin to lose their meaning unless one has sufficient experience of practice.

If you start to see yourself as an outsider – you will eventually observe yourself merely 'going through the motions'. This does not happen overnight – but in gradual increments.

'Why am I dancing? I thought I wanted to be here, performing this dance with these other people – but suddenly I find myself bereft of the reasons I chose to do this.'

The meaning of a dance is imbedded in the culture and history of the people who perform the dance. With Vajrayana, that culture and history are inextricably bound with changchub sem – with kindness.

To engage in a dance, we have to enter the authentically appreciative world of the dance – and find the realm of its meaning to be in tune with what we are.

::08:39::

One facet of religious practice is that it is practice.

That is, activity and effort, sustained over time.

::12:13::

I still don't quite understand how modal rewrite precedence works

for example, I would expect that single-term rewrites would not occur inside of a tuple, unless no other rules match.

This is something I could investigate...

::21:28::

modal is not the best tool for parsing text with significant whitespace.

2025-10-20 :: Monday, October 20th

::08:15::

Constraint solving :: "this is an engineering problem"

"Engineered Materials" are strong within parameters, and often quite weak outside of them

e.g. vinyl tongue-and-lap flooring -- fantastic endurance towards downward pressure, but you cut it by scoring the top and pressing up into it.

(Even as I say it, I perceive this distinction between "engineered" and "natural" materials is perhaps flawed -- some things in nature exhibit this quality of orthogonal strength/weakness as well.)

Hypothesis:

In a well-engineered solution, it is easy to do something "the right way" and relatively difficult to do something "the wrong way."

In other words, "movement along the desired vector in the probability space is more likely than movement along other vectors"

"Another way of saying this is that a solution is robust. If, when you charge the acid in your epoxy resin, it can tolerate a variance of plus or minus 1%, you're probably in good shape. If it can't handle that, you're in trouble -- because of the way chemical plants operate."

::13:09::

it's the ram hour because you gotta smash past that hill

luck online asking for sewing resources:

(an incredible idea would be a modal editor that highlights potential rule matches in the file when you hover over it. Would need to account for rules that get imported...)

::14:59::

It's pig minutes because it snarfs up what's left

earth pig to iron rat

::::

The first-order skill, "knowing AWS" or whatever, is often of less interest to me than the second-order skill, "interrogating a dense, obscure informational context."

That is why I've started writing so much down.

2025-10-19 :: Sunday, October 19th

I was a bit redirected by deckbuilding and fighting with children yesterday but I also built the site index generator.

::::

My entire life, I have mostly done what is easy for me to do -- even if it seems "challenging", if I feel that I badly want to do it then it's what I'll go for.

Knowing this, I strive to build up my circumstances in certain ways such that the things I believe are worthwhile become easy. Sometimes this means I have to discover want for them. That's "building the fire."

Keeping it alive even when it's difficult, tedious, boring, or otherwise totally un-fucking-fun is where the discipline lies.

::::

::21:06::

Speaking of un-fucking fun, sometimes C is not fun

However, I think I can cobble together some tools out of modal, learn more, make better tools and along the way get really good at stack ops

This is already happening!

Unfortunately I've also slowed down the execution time of my site generator, probably because it is re-writing my template value sooner than it ought.

2025-10-17 :: Friday, October 17th

::03:07::

Seemingly the entire mid-morning to afternoon went into hacking more on modal. This time hardened the ?| (subprocess input) op

This means it is now possible to spawn a subprocess in modal and then solicit its output using ?~, potentially indefinitely.

 
 <> (?x ?y swap) (?y ?x) 
 <> (() tidy) () 
 <> (input) (?(?~ ?~) .) 
 <> (?| cmd-input) (?|) 
 <> (?: print) ?: 
 
 <> ((EOF) input-until-eof) () 
 <> (input-until-eof) (program (input) input-until-eof) 
 <> (program) ((it's  print) swap tidy swap print (, do you know where your head's at?
) print) 
 
 (while true; do date +%s; sleep 1; done) cmd-input 
 
 (input) input-until-eof 
 ... 
 (produces stdout:) 
 it's 1760731845, do you know where your head's at? 
 it's 1760731846, do you know where your head's at? 
 it's 1760731847, do you know where your head's at? 
 it's 1760731848, do you know where your head's at? 
 

This took some doing, I had to make a (possibly ill-advised) change to the positioning around ?~ -- basically remove a check it was making to see if it pulled in an empty result. In such cases (for example, when calling ?~ twice with two consecutive newline characters), it was setting the position dst_ back one index. Then, if it was re-writing inside of a pair of parenthesis, the opening ( would be overwritten.

It was dreadful. This kind of thing would happen (note the unbalanced parens):

 
 <> (?| cmd-input) (?|) 
 <> (input-to-quote) (?(?~ ((' (?~)))) .) 
 (printf "problem

see?") cmd-input 
 input-to-quote input-to-quote input-to-quote 
 
 rewrites to: 
 .. (' (problem)) (' )) (' (see?)) 
 .....................^ unbalanced paren 
 
 should be: 
 .. (' (problem)) (' ()) (' (see?)) 
 

I think this is valid, because I've added a whitespace-rewrite check to the apply_rule function. To make it more robust, I could have that function really sanitize the results of a register rewrite to evulse any leading/trailing whitespace... something to think about.

For now I'm happy to nip issues with single-whitespace char re-writes. Example of that bug included here:

 
 <> (?x (' ?.) cons) ((' (?x ?.))) 
 <> (' (5)) (done) 
 5 (' ()) cons 
 ::: 
 Bug makes this rewrite to: 
 (' (5 )) 
 This makes the second rule fail to match. 
 
 It should rewrite to 
 (' (5)) 
 and then match the second rule, rewriting to 
 (done) 
 

2025-10-16 :: Thursday, October 16th

::11:33::

Spent all morning chipping away at modal/joy rewrite lambda calc stuff

Encountered that really hideous, pernicious bug where modal will rewrite a term with some significant-space. I should really fix that, it ruins everything

now, it's back to dayjob

2025-10-15 :: Wednesday, October 15th

::07:48::

Found myself fighting with man pages on my artix install, there was nothing appropriate. Ha.

Turns out I haven't run man DB ... ever

sudo pacman -S man-pages && sudo mandb

It might be worthwhile to create a runit service for this?

::12:51::

Finished hacking in subprocess support into modal

I'm very excited about this, but I want to build stuff with it before I start shooting my mouth off about it.

::14:08::

I have decided I will really read all the docs when I have something to do for work

I used to resist this, especially when I had to read [insert cloud provider] docs for some [insert cloud provider] specific functionality, I guess because I resented having to read docs for [insert cloud provider]

But the entire phenomenal universe is primordially pure, completely pure,

all through and through

and if I want to put my money where my mouth is, then the most interesting thing to do is to read the docs, even the boring ones, especially if its for something that I am habitually accustomed to hating.

not to mention that digital technology tends to be self-similar at different levels -- so if I want to master this thing, then there is something to be gained from reading how azure, or aws, decides to tackle some problem -- even if they have an annoying profit-incentive in their implementation.

(I also don't think anybody ever "fills up" with knowledge -- that doesn't seem to be how brains work -- they just get more dense)

::19:43::

Looking at joy rewriting again. When this paper talks about the stack, I'm not sure if it means it literally -- because it seems to suggest you don't need a literal stack to describe Joy, all you need is rewriting. It also has this notion of quotations. .... I might have just answered my own question.

I was trying to describe lists and quotations thus:

 
 :: proper list notation for lists 
 (a (b (c (d ())))) 
 
 :: tuple notation for quotations 
 (a b c d) 
 

quotations are meant to be quotations of literal programs... and modal will happily descend into tuples to perform rewrites if nothing at the toplevel is matching -- so implicit stack semantics wasn't working, I had to explicitly describe where the top of the stack was and make sure all of my operators only executed at the top of the stack.

 
 <> (:: ?x) () :: comment 
 
 <> (() <<) () 
 <> ((?a ?s) <<) (?a ?s <<) :: list-unzipper 
 
 :: stack-ops 
 <> (?a ?b | swap) (?b ?a |) 
 <> (?a | pop) (|) 
 <> (?a | dup) (?a ?a |) 
 
 :: (<> (() ?t concat) (?t)) 
 :: (<> ((?a ?s) ?t concat) (?s (?a ?t) concat)) 
 
 :: quoting 
 <> (?* | tuple-to-list) ((?*) |) :: simple-explosion 
 <> (?s | list-to-tuple) ((?s <<) |) :: unzip-in-tuple 
 
 :: combinators 
 <> (?. | i) (?. |) :: i 
 <> (?p | x) (?p ?p | i) :: b 
 
 (2 5 swap) | x 
 

::20:16::

Modal punches so unbelievably above its own weight

2025-10-14 :: Tuesday, October 14th

You don't have to figure everything out at once, figuring out is something that happens gradually and often by accident

It might be sufficient to figure out "one piece of the puzzle", then put it back on the table.

(it may also be helpful to have a good view of the table -- what can you see?)

(what is seeing? what is visibility?)

::14:22::

I now have a working pomodoro timer in neovim

there are so many tools, and so many different ways to get at them, and eventually you just pick something and go for it.

What did we learn?

The above page also required me to come up with a workaround for the way that modal disregards whitespace -- every line-leading space inside of the <pre> tags had to be converted into an &emsp; (em-space)

::14:56::

One response to the absolute abundance of approaches is to settle on a particularly interesting* problem space, then convert everything into that problem space. An appropriate example here is something like cl-sdl2.

Any kind of binding/FFI library is that sort of idea -- you have the domain you prefer to work in (common lisp), and the domain the thing is implemented in (C), and you bridge that with as little C code as possible. That lets you stay inside of the fun zone (common lisp), and outside of the punishment zone (C).

(nothing against C.)

another idea is to do everything from a console/text interface, which then turns an enormous number of problems into matters of text manipulation and cli-interface design. I have personally found this rather fruitful.

Yet another idea is to design a small virtual-machine with just enough power to be dangerous, and use that to make all of your tools with. I'm thinking of UXN here.

2025-10-13 :: Monday, October 13th

I have a laptop (the one I'm using to write this now) which I have one hard-and-fast rule for:

No Graphical Web Browser

To me a GUI web browser represents a kind of graceless "all-in-one-ification" of computers-- I could elaborate on why this is, on my distaste for the modern web stack, javascript, "the cloud", but I think it's not actually something I have a well-reasoned rationale for. It's more that when a computer has a graphical web browser on it, that becomes its primary purpose.

A modern laptop is unfathomably powerful, and using it as a thin client for google searches and web-mail is unconscionable.

somewhere along the way I have accumulated the idea that there's a poetic nature to operating a computer. "Software Engineer" doesn't capture this idea, because I'm not wearing the "software engineer" hat as I write this-- that skillset is available, but it's not always coming out. Facility with building software components is a facet of communication, so is facility with text-interfaces, and an understanding of the low-level, on-the-metal operations of my device.

Computer Poetry is about exquisitely mediated communcation with electronic interfaces

unfortunately, "computer poetry" seems very overloaded with all sorts of other bullshit, so I'll have to come up with another word to describe this thing I think of myself as

::::

actually, I think the word already exists, it's an old word, also with a load of baggage, I bet you can guess it, it's also my favorite movie.

::::

Wishing to do anything in the most beautiful, most inspired and inspiring manner possible -- that is an end in itself.

2025-10-12 :: Sunday, October 12th

I feel that the worst thing would be to attain to mediocrity

I guess that's why I'm here writing my journal in a console text editor

thinking about taking on an contracting job

I keep thinking about what life would be like without #dayjob

but I think until I have gotten out from under my student loans, it will be unwise to quit.

Well, ok. This means I need a gameplan. (And a budget).

::::

Chhi'med told me once: "If you want to do it, where it is martial arts with vajrayana at the center, you could become 100% obsessed with it. That will lead to a particular outcome. That's what I did. That may not be the most efficient way to do it. But the most likely alternative is mediocrity."

he also told me: "You could just do this. Just do this, and make everything else that you do into a support for it. That would be the simplest thing. But you won't do it -- statistically, nobody does."

and: "Martial arts is one of those things where, the more you put into it, the more you get out of it."

I don't really know what I'm doing here -- I did try forgetting everything about making computer music, and just doing only the physical practice of the thang-tong thug-thig, the practice of Gar-tak -- basically trying to focus on the most overt, obvious mode of martial-arts practice.

It did not work, or maybe it did, but I became immensely emotionally overwrought

So I don't know how effective that approach was

Maybe another one is to become completely obsessed with making everything that I do into a support for the martial art. And maybe the expression of the martial art should extend throughout the entirety of my life. Maybe it could suffuse my blood, bone, and sinew.

I don't know what that means yet, I don't know what it could mean for that to happen, I want to find out, and somehow what I'm doing right here seems involved. Maybe until the picture comes into focus that is actually the best I can do. Maybe that is wilful ignorance. That is also a possibility.

::::

Once, when I asked some dumb question about wristlocks, Chhi'med said:

"You could build a bigger fire."

For all the things I want to do, I could put Gar-tak at the heart of it.

2025-10-11 :: Saturday, October 11th

helping a friend clean house today

2025-10-07

I was trying to plot time-series data all day and it was hard becasse for some reason plotting time-series data is hard for me

Reading documentation is not hard any more, and is a little fun, but coming to the implementation for time-series prometheus metric data is still cause for pain

I Read:

usenix :: this world of ours

usenix :: the night watch

I am:

halfway through mu :: adsr

which means I am almost there for hacking together music tools in C, or anything touching C.

I decided this year, since I'm 30 now, I couldn't be afraid of the C Programming Language any more.

At this point:

I basically cannot stop listening to the Horus Heresy books