Typescript 2023-08-27

Text extraction. See Typescript Archive

Archive starts at first pagefold, 09:10:08 .

Sunday Explorers 2023-08-27.

09:10:08

09:10:08 From Jeff Miller Rhode Gear clip-on panniers from a premillennial bike

09:10:50 From Marc Pierson Back into OPCloud: http://marc.relocalizecreativity.net/view/creativity-equipping

09:11:28 From Jeff Miller oh nice! clickable <3 - we're showing the "moldable development" aspects of Federated Wiki + scripts OPM methodology basis

09:12:54 From Jeff Miller https://esml.technion.ac.il/opm/introduction-to-opm/ https://esml.technion.ac.il/opm/opcloud/

09:14:03 From Jeff Miller (Dov Dori's work linked above)

09:15:05 From Jeff Miller (a mention of Burley bicycle trailers for dogs)

09:16:28 From Jeff Miller Brompton bikes are pretty clever. I got to try my friend Megan's when I was visiting her in Davis. quick fold once you learn the trick

09:18:17 From Jeff Miller (Marc discusses the OPCloud style diagram for Creativity Equipping)

09:19:45 From Jeff Miller (transforming between OPCloud model of equipping creative community work and Kerry's system dynamics diagrams as a way of investigating these relationships)

09:21:30 From Jeff Miller (in OPCloud it's easier to see what objects are; that some things are informational objects; other things are processes, etc.) (Jeff to Marc about advantages of a visual cue to system diagrams and their components)

09:22:39 From Jeff Miller (Marc describes that the OPCloud diagram and the OP Language have close two-way correspondences)

09:23:52 From Jeff Miller "Who stood up; who drew the diagram on the whiteboard; what was at the center of the diagram." - Ward's technique for understanding a team's point of focus. "Any advice I have has to touch the thing at the center of the team's diagram, or they won't regard it as important." (relevant, etc.)

09:25:13 From Jeff Miller (Ward on Kerry: Kerry will explore _around_ things which a team or group cares about, and bring up its relevance as governing or creating the context for what the're working on) (Marc: Kerry's key question: what will be different when you're successful?)

09:26:19 From Jeff Miller Ward's revealing question: "What did you learn that you didn't expect to learn?" -> Ward: "Thank you for sharing your most valuable pattern." Metaphorum attendees, to Marc and Kerry: "We learned things that we would not learn using our own methods."

09:27:50 From Jeff Miller (discussion of Robert Best helping Thompson Morrison to scale up FedWiki installations as a tool for collaboration; to make operations usefully scalable)

09:28:05 From Robert Best Yep! Sorry I'm here listening, but currently trying to help my twins get down for a nap. Was fun and exciting to start this project with Thompson.

09:28:15 From Jeff Miller np! sleep is important! "We try not to do too much to FedWiki that scrambles what Thompson & Co. are doing."

09:29:52 From Jeff Miller Ward reflects on the current investigation of rewriting FedWiki's front end, starting with CSS and also using Observable/D3's front end. Marc appreciates that Eric's work with the Observable libraries does not depend on Observable's servers, just the libraries.

09:31:58 From Jeff Miller Jeff appreciates that the Observable front-end API is well-factored and easy to re-use.

09:34:11 From Jeff Miller Ward observes that Observable does better when you avoid using Javascript with side effects. Mike Bostock's model of a DAG of things to re-compute (the Observable Notebook model) depends on keeping dependencies from one page to another, one item to another, consistent, based on named references.

09:36:47

09:36:47 From Jeff Miller Ward notes that FedWiki uses a model which does not explicitly have these dependencies as Bostock's "Observable" model. An interaction model where moving pages _sets up_ the shape of the dependency graph, and then it can be computed on request, perhaps? Ward describes that the FedWiki's evolution of features and affordances was project-driven: how can we make it do _this?_ - so what we have in hand is leftovers from a discovery process.

09:39:40

09:39:40 From Jeff Miller Ward suggests: if a plugin provides or sources data in the style of a Map, they should provide consistent views; however, a Map might want to consume many sorts of data (regions?) - does our informal computation model have limitations? Or does it make adaptations to new use cases easier? This is uncharted territory to explore, and a set of meaningful projects would be the best way I could think of to explore this territory.

09:41:24 From Jeff Miller Learning the streets as his personal, internal map and name-based records (a page being a section of some street which Nick knows)

09:42:04 From Paul Rodwell Niemeyer Niemeir

09:42:11 From Jeff Miller ty!

09:42:24 From Paul Rodwell http://nick.dojo.fed.wiki/streets-of-amsterdam.html

09:42:27 From Jeff Miller Ward asks: what would a map marker survey look like, and how could we use it to look at Nick's wiki, and what might we find on other wikis? (re, per Paul): Nick Niemeir's "Streets of Amsterdam" wiki project; local conventions for directions from one place to another?

09:44:33 From Jeff Miller (Ward demonstrates a Map Marker Survey / Map Marker Survey Probe)

09:48:12

09:48:12 From Jeff Miller http://found.ward.bay.wiki.org/view/welcome-visitors/code.fed.wiki/map-marker-survey-probe (apologies for the noise)

09:50:59

09:50:59 From Paul Rodwell Only the one marker on my forage site, and that is on a page about a podcast 🙁

09:51:00 From Jeff Miller "We show herehow the process of survey probescommon to Federated Wikican apply to many thingsbecause we keep the pattern simple." (my paraphrase of the implications) hmm my markers are mostly PAGE now

09:52:18 From Jeff Miller The survey probe uses static markers fetched from the Map items, rather than ones created via querying using PAGE and LINEUP. (Marc reflects on technologies which have a pace which are faster than human accommodation - that they are attractive; but FedWiki, by contrast, is a technology which invites conversational interaction)

09:53:48 From Jeff Miller (Jeff reflects that his strong attraction to social proof kept him hanging around long enough to see how the pieces fit together) "But I couldn't have figured it out by myself." [I am getting "bicycle for the mind" vibes here] like WikiBase didn't count Berkeley DB and Perl lines of code

09:55:03 From Jeff Miller How big is FedWiki in terms of lines of code authored as part of the project? (Ward and Paul discuss lines of code; Marc points out that too much code is inelegant. Clumsy?)

09:56:04 From Jeff Miller lines of code ~ budgetary importance ?

09:57:24 From Jeff Miller crude and elegant? when are these two aligned? when are these two in opposition? (to Marc's looking for antonyms for "elegant")

09:58:29 From Paul Rodwell Ward describes monkey patching the pascal compiler

09:59:06 From Jeff Miller "the most elegant abuse of computing that [the grad student] had ever seen -- you've done the wrong thing so carefully that I have to admire it." (I did a monkey patch to the Disney web registration protocol which strikes me as the same sort of hack: "cut here; cut here; everything else stays the same." )

10:01:42

10:01:42 From Jeff Miller (Ward describes CDC/Scope and an unofficial alternative OS, CDC/Mace, which offered hackable affordances) (an aside on Seymour Cray disliking virtual memory)

10:03:18 From Jeff Miller (Paul describes the careful orchestration of working input tapes needed when doing a sequence of jobs which required reading overlays)

10:04:34 From Jeff Miller Hi Eric! we have been talking about map marker survey probes, reflecting on well-factored data interaction models, and bicycles. Also Dov Dori's OPM.

10:07:04 From Jeff Miller [more tea]

10:15:56

10:15:56 From Jeff Miller (Ward and Marc discuss ways in which you can lose sight of curiosity, by being insulated from consequences by early wealth; or by being dedicated to a unified vision which you're convinced of)

10:20:03

10:20:03 From Jeff Miller (Discussion of the broken tramway in Pakistan, and the reasons that they exist -- that they make it practical to go to school by cutting hours of walking out)

10:23:08

10:23:08 From Jeff Miller (Discussion of Swiss expedients for using mountain terrain and military preparedness; digging tunnels through mountains; mountain runways) [Switzerland's mountain adaptations figure in as part of the plot of The Ministry for the Future]

10:25:16 From Paul Rodwell https://en.wikipedia.org/wiki/Aircraft_cavern

10:26:17 From Jeff Miller Eric demonstrates the Observable front-end for Federated Wiki starting with a rendered site map as Reference items all the page links are now rendered using an HTML sanitizer/sanitiser.

10:28:10 From Jeff Miller The filter around HTML can allow user-generated content, while scrubbing out more obvious or hazardous script references in HTML or SVG, using DOMPurify as a standard library. Observable's libraries didn't include the DOMPurify style filtering; Eric's updated prototype now includes DOMPurify for filtering potentially hazardous federated content.

10:30:22 From Jeff Miller The standard FedWiki client DOES include a DOMPurify pass, so this is a security parity move of the prototype toward readiness to share as a building block for more general work.

10:31:51 From Jeff Miller "a function linked() which is part of Observable's API needs; the internal function linked(text) which parses [] and [[]] wikilinks here in pwa/wiki.js"

10:34:14 From Jeff Miller "I do some preprocessing with linked(text), where [] is a plain link, and [[]] is a link decorated with the 'internal' CSS class; and post-processing with annotateLinks(), where a non-internal link dispatches to a new window/tab and an internal link does not." "Internal links will have a click handle." adding CSS classes and click handlers are examples of DOM enrichment

10:35:31 From Jeff Miller <text ...> is an example in SVGs of elements which might be enriched with click handlers in an SVG diagram. [aside from Jeff: I was happily surprised that the SVG DOM would support adding click handlers; this is the premise of Single Page Wumpus, SVG+JS]

10:37:40 From Jeff Miller Observable's form of connecting ... why are the expected forms asynchronous? the answer is that libraries can by lazy-loaded only when the functions are actually needed.

10:39:28 From Jeff Miller "async html()" definition uses DOMPurify for Eric's FedWiki front end, and that reference to DOMPurify is loaded only if / when it's needed."

10:40:40 From Paul Rodwell A link to the code that Eric is walking through - https://github.com/dobbs/wiki-spike-css/blob/main/pwa/wiki.js

10:40:54 From Jeff Miller Eric shows how to capture a reference to the original html library from Observable, using "origHtml = await stdlib.html()"

10:42:37 From Jeff Miller a sanitizing html() renderer:sanitize ( Observable's html() ) -> DOM element post-processing cleanup after Observable's rendering Marc asks: "Would it make more sense to sanitize the HTML before having Observable render it?"

10:43:42 From Jeff Miller (discussion of where it makes sense to put the DOMPurify step)

10:45:00 From Jeff Miller "all of these libraries are trying to decide whether to treat <> as HTML for the browser, or render HTML as escaped visible text, &lt; and &gt;"

10:46:01 From Jeff Miller Putting the DOMPurify guard as the last step before joining the browser's context is a way of making sure Observable didn't leave anything; but Marc asks if it makes sense to pre-purify anything before having Observable do its standard rendering step.

10:47:30 From Jeff Miller (discussion of the machinery inside Observable stdlib.html() and how it's constructing DOM objects; are there places that things might be introduced there?) (a hacker's eye view of Observable is beyond what Eric is doing; however, DOMPurify is better than "here's a random web developer's prototype)

10:49:11 From Jeff Miller (discussion of general considerations of security: is a metaphor for an operating room and control of infection, is that useful for considering rendering pipelines?)

10:50:40 From Jeff Miller [usefulness of running system metaphors, and their suitability to the moves and choices available to injecting exploitation into the processing pipeline, and to defending against exploitation] Ward observes that the Observable code was written and factored in a way that external observers could review and appreciate it, and understand the internal considerations.

10:52:12 From Jeff Miller ...and that Eric's work in re-use has helped us gain that appreciation in a way that we can share it.

10:54:08 From Jeff Miller Eric observes that some of the basic concepts (data structures and compilers) which were less interesting earlier in his learning; now he's developing appreciations for how to build things from scratch , after having spent much time on the boundaries of systems, getting them to work. today's work with DOMPurify has the same feel for Eric's understanding of integrating systems as translating among tree-structured information

10:55:06 From Marc Pierson https://www.google.com/search?sca_esv=560520228&rlz=1C5CHFA_enUS563US563&sxsrf=AB5stBjMddB1ZxgllVuRZXZ5pJhfKyM4_g:1693158885433&q=bricolage&si=ACFMAn8hzZSJQsgXIYlkGc-z1vmp5Y27sxEfX9j5XE95xZLKj7yCodsWT5zLc-EVe8zTdwjO0Us2CplA76s1EANJMd5ls4T-LA%3D%3D&expnd=1&biw=1728&bih=827&dpr=2.2

10:55:21 From Jeff Miller "bricolage" - working from ready-made parts

10:57:14 From Jeff Miller https://martinfowler.com/bliki/PostModernProgramming.html as a modern software account of bricolage https://en.wikipedia.org/wiki/The_Big_Front_Yard (as a big barn with the universe of code in it)

10:58:07 From Paul Rodwell Etymology - French, one who putters about, from bricoler - also https://en.wiktionary.org/wiki/bricoleur

10:58:15 From Ward Cunningham On a lazy afternoon, two bored brothers keep themselves busy by building and flying an airplane. https://www.amazon.com/Bored-Nothing-Do-Peter-Spier/dp/0385241046

10:59:19 From Jeff Miller Simak's Big Front Yard centers on a tinkerer who ends up as a knowledge trader.

11:00:26 From Jeff Miller (discussion of easy and hard things in UI prototyping and work) Ward describes that in FedWiki, editing a paragraph at a time helps narrow the challenge of editing in new UIs, in new contexts.

11:01:38 From Jeff Miller "A mediocre job at the editor will take you a long way."

11:03:01 From Robert Best No double click to edit, long press context menu? Always open and editable to rendering paragraphs independently in one big document like Obsidian?

11:03:07 From Jeff Miller Peter (PeteDaGuru) reflects on having the little paragraph editor being a tiny snap-in for the I/O context (keyboard and screen; mobile device with touchscreen; VR glasses etc.) may allow FedWiki and other information systems to be re-used near whole. Long press context menu sounds right? Or long-press for editor plus some widgets?

11:03:57 From Robert Best Go back to edit after

11:05:06 From Eric Dobbs Reminding me of this striking story about programming by voice, especially programming a punctuation heavy language like Perl. https://thenewstack.io/perl-programmer-pioneers-coding-by-voice/

11:05:14 From Jeff Miller (Pete reflects on various input modalities in the current context; special input modalities for court reporters, for disability affordances; for AI-based prompting and fill-in)

11:06:59 From Jeff Miller Marc explores voice typing with Microsoft Word. "just say all caps AND IT'S ALL CAPS"

11:08:18 From Jeff Miller (discussion of keeping basic platform and libraries open-source, not dependent on proprietary services with lock-in) (motivational case for FedWiki of browing and editing with mobile devices)

11:09:14 From Marc Pierson All caps command works one word at a time.

11:09:33 From Jeff Miller aha!

11:10:17 From Paul Rodwell https://www.siriuserguide.com/siri-dictation-guide

11:10:19 From Jeff Miller ty for clarification: "all caps marc bicycle" -> "MARC bicycle"

11:11:59 From Jeff Miller Eric's demo continues; the "plugins" registry by plugin type has a different renderer, starting with an "unknown" plugin handler using the enriched "html" handler defined to include the DOMPurify wrapper around the Observable html renderer.

11:13:31 From Jeff Miller and the rendering logic says, "open an Observable Inspector on the DOM constructed using the html() handler, marking it with "Unknown type {$item.type}"

11:16:05

11:16:05 From Jeff Miller "A 'paragraph' plugin depends on 'html', 'linked', and 'annotateLinks' as function names; then the plugin rendering function says: "annotateLinks on the result of a sanitized HTML paragraph, on the item text processed with "linked".

11:17:06 From Jeff Miller "I did a perfect Decorator pattern, so none of the Plugin code needed to change; injecting the dependencies as named functions was how I added the needed function dependencies for the plugin code."

11:18:44 From Jeff Miller Marc asks if the Observable client editor in an iPhone / mobile context will look the same as in the original FedWiki? Eric: Yes, it will be the same two views, rendered as an item; rendered as editable source. The editable source doesn't have any sanitization step.

11:19:56 From Jeff Miller When the page gets loaded, it gets processed from the same wiki source on disk that the standard FedWiki client uses. <script>alert("hi marc!")</script> as something that a sanitization pipeline would remove

11:21:22 From Jeff Miller "no refactoring browser needed!"

11:23:48 From Paul Rodwell I need to run, unfortunately.

11:25:19 From Jeff Miller Eric demonstrates the results of a Clipboard event getting dropped into an inspector, and there is now a drop handler ("drop inspector" and "paste inspector") which allow events to be seen and inspected for their internal members and structure.

11:26:30 From Jeff Miller Ward observes that the event inspection is something that we want to retain. It supports vernacular programming.

11:28:07 From Jeff Miller Jeff says: "Who else is getting Smalltalk vibes?" (from the Observable inspector making events visible and understandable in the context of regular data handling)

11:29:20 From Jeff Miller Eric observes that the Observable Inspector is a remarkably simple mechanism, which wraps the input data in a <div> and possibly uses the "inspect" library to allow the user to navigate the details. (Oh wow -- also a way of inspecting your platforms and what is in the events)

11:30:40 From Jeff Miller Ward says: "We need to build the machinery that understands what you're intending by moving things around on the lineup, or on a page; then we'll use Observable to get a meaningful observation, AND that meaningless behavior will be exposed immediately in an inspector." (a meaningful representation, AND...)

11:31:47 From Jeff Miller We have an environment that we have an opportunity to control [the programming environment] in ways that [support what we want to do for user programming and collaboration].

11:33:01 From Jeff Miller Marc recalls a comparison; Bostock is working on visualizations and data flow; Ward is working on colllaboration and history and connection of textual data and other data; Eric has connected these worlds.

11:34:05 From Jeff Miller Eric says: "One of the things that is in reach for me, is to take the SoFi doagram notebook which I created for myself; that I can name the top-level SoFi diagram "panel", and then render that as a page adjecent to a wiki lineup."

11:34:41 From Marc Pierson https://metapho.relocalizecreativity.net/view/welcome-visitors/view/index/view/sofi-vsm-sketch

11:34:54 From Jeff Miller "I'm pausing that to make sure that how a special page is invoked, an embedded Observable notebook as a wiki page lineup, in a meaningful context as part of wiki. What's the COLLABORATIVE story around that move?"

11:35:40 From Marc Pierson A programmer in this group will lean important things from a study of OPM that can become a third leg on this stool.

11:35:54 From Jeff Miller Ward says: "What does simple graphical manipulation do to, do _for_, collaborative work? Can we make small tweaks to the graphical representation which can be rolled up across pages? " -> a site survey in Observable page form?

11:36:19 From Marc Pierson http://marc.relocalizecreativity.net/view/welcome-visitors/view/creativity-equipping/view/search-for-opm# I need to understand how to move from community CLDs into OPM models? All in fedwiki

11:37:28 From Jeff Miller Marc's use case: "I want to be able to write a wiki with every leader's opinion on the SoFi relationshps, with a page on each" driving Eric's DOM enrichment of SVG, and also prompting gathering data using FedWIki site surveys ... maybe there will be a family of pages? (a SoFi, a tetrahedron, a causal loop diagram?)

11:37:51 From Marc Pierson http://marc.relocalizecreativity.net/view/welcome-visitors/view/models-for-seeing-systems

11:37:55 From Jeff Miller and the result might be expressed as an embedded Observable page as a panel Eric describes inspiration from Miller Columns as used in Smalltalk, in Tudor Girba's Glamorous Toolkit; we have a Javascript version that approaches GToolkit.

11:39:14 From Jeff Miller Ward observes: a decade into an inquiry is when you start seeing distinctive results.

11:40:33 From Peter Whack on the side of my head about why 10y seems to be a timeframe for letting things simmer: Lindy's Law - The older something is, the more conditions it must have been fit for, thus, the broader range of possible futures it is fit for, thus, the longer it is likely to survive (https://luca-dellanna.com/lindy/ Albert Goldman 1964, AntiFragile Talen 2012) : https://en.wikipedia.org/wiki/Lindy_effect

11:40:55 From Jeff Miller <3 ty Peter time-tested and adapted

11:46:50

11:46:50 From Jeff Miller trying out the DOMPurify and seeing a <script> tag go poof! Is this appropriately sanitized?<script>alert("hi!")</alert> (in an html item)

11:51:03

11:51:03 From Jeff Miller "Where is the alignment of other projects and libraries with what FedWiki needs?" Ward: "Paul is the best for finding those, and the change from Caja to DOMPurify was an example of one community going idle, and the other being vital." cytochrome-c oxidase is fit for conditions over a good long time

11:53:31 From Jeff Miller Eric considers that the viability needs of telecom systems (like British Telecom; like Erlang/BEAM in Ericsson) to be good in shaping what choices are good long-term ones.

11:54:48 From Jeff Miller Mechanical Orchard

11:57:14 From Jeff Miller https://www.mechanical-orchard.com/

11:57:22 From Peter Mechanical Orchard origins with Pivotal (fixing Twitter Whale Fails using Ruby): https://www.mechanical-orchard.com/post/the-seeds-of-mechanical-orchard

11:57:58 From Jeff Miller (examples of Erlang, BEAM, etc.) (discussion of the history of Rob Mee's career in technologies, from Java/XP to Ruby/Rails, Cloud Foundry, Pivotal Labs, now Mechanical Orchard)

12:06:12

12:06:12 From Jeff Miller "And here we are." - my catchphrase for the last several years. I worked for Eric Allman at Sendmail dot com! (not very long, between layoffs in the dot-com crash era)

12:09:49

12:09:49 From Jeff Miller Digital Ocean has been pretty solid for me (though I should be a better operator of my wiki farm"

12:14:32

12:14:32 From Jeff Miller Stephen Wolfram: "I can help you with LLMs' hopelessness at math and conceptual stuff: Wolfram Alpha!"