Ramsey Nasser
تعي نقعد بالفي / مش لحدا هالفي
draft blog post -- with illustrations!
this was finished as part of the residency requirements and is phrased accordingly. I think the final version I'll post on my site will be phrased slightly differently and acknowledge the residency. but the substance is more or less locked as a documentation of the first prototype and the core principles 🙏
comments + feedback appreciated
just found out the lead singer of low roar passed away in 2022... that makes me incredibly sad
this is fun and came together fast. might polish it up and use it to perform at the livecode.nyc 10th anniversary show 👀
found the dispossessed quote i had been thinking of for years:
There were no rules of parliamentary procedure at meetings in PDC. Interruptions were sometimes more frequent than statements. The process, compared to a well-managed executive conference, was a slab of raw beef compared to a wiring diagram. Raw beef, however, functions better than a wiring diagram would, in its place — inside a living animal.
here's a chippy little jam on an NES square wave that leans into 8fl's new capability of properly allocating columns and turning off running sounds. read about leaving "space" in a composition and that manifests in 8fl as a bunch of slows (* in tidal mini notation)
whoa what if SAWA just stood for "Simple Administration Without Administrators"
reaching the limits of my patience w ledger-cli... its an incredible piece of software hamstrung by a bizarre refusal to produce machine readable output. it can only reliably print out human-readable formatted ascii tables that confound parsing and we are trying to generate financial reports from it. it has a "csv" mode that is completely janky and underdeveloped...
whoa the merkle tree, the data structure that underlies git history, was originally... patented 😮
people really resonated with sawa's goal of implementability too. inspired by 100r (https://100r.co/site/weathering_software_winter.html) sawa is committed to being every easy to extend with new storage and network backends. I have it down to 9 verbs, 4 for the key value storage system and 5 for the network.
for storage:
- get
- put
- drop
- list
for network:
- hello
- have
- want
- give
- thank
sawa is entirely driven by it's storage and network layer and as a result entirely derived from these 9 verbs. if you can implement these verbs, you can offer sawa a new storage and/or network backend.
the current prototype uses leveldb for storage and socket io for the network. but storage from redis, the filesystem, s3 or whatever are totally doable. networking over meshtastic or local Bluetooth are also totally doable, just implement the verbs.
progress on the main limitation i encountered and the last bit of big architecture before i can call it "done" for this stretch -- scheduling OFF events. this has proven to be quite tricky as it interacts with renoise column allocation and livecoding in subtle difficult ways. i ended up implementing an "abstract sequence" data structure that is a blend of renoise and uzu semantics to act as an intermediary representation and that seems to have solved it!
