Pinned toot

finally managed to record a full session:

+ pilot + MIDI controller demo from scratch to... something! 👀

Pinned toot


Show thread

also curious about numbers that carry their range as type information and use cases or semantics that relate to this?

for example:

Percent is a ranged-num-type with maximum 100
Degrees is a periodic r-n-t with max 360
Radians is a periodic r-n-t with max two-pi

25% == 90deg == (pi/2)rad

and casting (cast 12.5% deg) is 45deg

Show thread

does anyone know any programming languages with interesting number types?

For example a 'periodic' number type that measures angular difference so that

0.1p - 0.9p = 0.2p

(for a period of 1)

which means that angles can be interpolated easily

stretch goals are:

- collection types (lists, dictionaries)
- editor integration (e.g. highlighting the current branch of a switch-statement) (super doable bc of the expression tagging)
- advanced number types (time units [seconds, bars, beats]; ranged numbers ('unipolar' and 'bipolar' normalized ranges, midi range, ...), periodic numbers (phase, angles)...)...

Show thread

these integrations are so simple to write, but make it super powerful at the same time. There's a bit more housekeeping to do, but then its time to really start chewing away at a solid standard library (if i don't get lost in some of my stretch goals... ;))

Show thread

I still need to figure out a syntax or semantic aid to avoid passing around a clock by reference in almost every expression, but I think dynamic variable bindings and good default behaviours should do it

Show thread

this also solves the Constants vs Streams problem I had, because constants are now simply streams too, except that constant expressions have no dependencies (outside to their child expressions, which don't have dependencies outside... etc); everything that wants to change (or even execute) over time has to have an indirect link to the root frame clock.

Show thread

pushed a bit too hard last weekend and combined with lack of time in the last days it kept me from doing anything for alive. just had a bit of time and finally found a hopeful re-opening and i'm back on it :)

There's full dataflow logic now (i.e. expressions only update when their inputs update), and there's a dependency graph out to the 'root' event that triggers every frame.

also the last three rewrites completely eradicated my unit test suite, so I'll have to redo all that as well

Show thread

deeeeply lost in the execution flow semantics today. It seemed so straightforward yesterday.... 🙃

also not sure whether saying 'X is where X is executed' or 'X is the execution of X itself' is more accurate/noteworthy here for X = the {Expression,Letter,Node}

Show thread

@neauoire what would you say orca does to code + execution? Co-locating the two in a single visual representation?

I want to get at the point that with persistent expressions, the Lisp expression in your editor *is* 'where' it is executed, the same way that a letter in Orca *is* where it is acting, and a node in PureData *is* itself and its effect (even though all of these are illusions)

Show thread

trying to find the best term to describe the difference / improvement that alivecoding proposes.
I thought originally that 'visible living system' captures it, but I think I was mixing up some of the I&S terms ( and Embodiment is actually more accurate.

feels good to be able to link to my own page with confidence again :)

Show thread

FINALLY reenabled static HTML as the default target for my website (rather than the super heavy and slow client-side implementation). Still a few pages that are blacklisted (and will remain blacklisted for a while), but I think 600KB -> 54KB for the start page is a win 😅

so I welcome you once again to visit:

yeahhhhh i'm not sure whether this 2d adaption of my pineapple shader works for me, but I'd really like to make some sort of squarey pineapply vinyl sticker

Show more

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them. Check out our Patreon to see our donations.