Simplifying Events since 2011

Simplifying Events since 2011

Transcript: End-User Programming Of Social Apps
IndyWeb yes
Jonathan Edwards
![]()
document-oriented transactional replicated database in the 80βs.
document-oriented transactional replicated database
universal Hyperdocument Universal Users
Universal info-communication-coomputationak permanent evergreen co-evolutionary infrastructure for
co-evolving autopoietic integral metadesigned born mutliplayer collaboragtive personal first interpersonal networks
https://www.subtext-lang.org/AboutMe.htm

He specializes in being tragically ahead of his time.
tragically ahead of his time
Subtext is an ongoing experiment in radically simplified programming. It is radical in that I am willing to throw away everything we know about programming and start from scratch
Programming , the very idea considered harmful. Can software be liberated from programming per se.
https://cryptpad.fr/pad/#/3/pad/view/4ed3203237745f09bf6699a7e71750fe/
Who am I?

I am a programmer.
I have been programming since 1969.
I was a cofounder of IntraNet.
I am currently a Research Fellow at MIT with the software design group Researcher at HARC independent researcher. https://www.subtext-lang.org/AboutMe.htm
My research project is subtext. My blog is Alarming Development.
I seek to better understand the creative act of programming, and to help liberate it from the primitive state of our art.
https://hypothes.is/a/lEiggiGEEe-CKycnoBe4uw
via
context
Example Centric Programming
irredeemably nondeterministic
redeemable
combine the full power of
combine the full power of - an app framework like Rails or Android
with the simplicity and usability of - a spreadsheet.
Subtext is not a Domain Specific Language but rather a - general purpose language
designed from the ground up to make - application programming
radically simpler and easier.
This erodes modularity
models constraints modularity
inherent conflict
that's why things will never work
models are trully intertwingled modules encapsulate
separating models with cross cutting concerns and providing modules and layers that constrain limit cross cuting
aspects orientation won't help either
we need models and capabnlities needed to effect intents need to coevolve coevolve the three together intent model component
That's why MVC is just a broken idea Period
Model View Controller
That's why Dijkstra's goto Considered Harmfull was the most harmful idea that ever influence thinking. tha nature of everything is interwinglularity spagetty code. Named Jumps. Yes imposing structure can seemingly create order but it bound to be a self limitting one. Need the ability to organic growth
But coor-dination of side effects inherently cross-cuts modules, lead-ing to much complexity and fragility.
problem is the brokennes of the MVC concept
oh and modules
cross-cutting is the norm
spagetti flow
https://cryptpad.fr/pad/#/2/pad/view/RxCm9V8ktMBn7J6L-1q+pW4Y103n7oBjz5Rv7mU53KU/
coherent re-action,
what we need is coherent intentional actions and intentional/presentational transparency
articulation not automation
with universal ways of truning articulation to coherent actions and reflect that in coherent changes in presentation at each relevant point
Presentatioonal State transition
Put the User into the Picture not jyust the User Agemnt
The keyidea is to find an ordering of all events (called reactions)that is coherent, meaning that each reaction is executed be-fore all others that it has any side effects upon. Coherentordering is undecidable in genera
solution coherent actions!
formulate actions with self-coherehnce
can be cross cutting all it needs to be complete coherent consistent meaningfyul intentionally fit for purpose
as experiuenced by the human actor
Unfortunately, attempts to ban-ish side effects from programming languages
That was not what Backus was promoting at all
total misunderstanding by the field
globalside effects destroy both referential transparency
Global State with maning/intentful reprodduucible retractable transitions can ensure presentational transparencey. referrential transparency is another bad idea to itself
event-driven programming can create more coordinationproblems than it solves
coordintation problems
Phasing is an ad hoc solution
layers of layers
MVC
broken conception
controller to coor-dinate change
MVC
Firstly, interaction is aside effect. The whole purpose of user input is to changethe persistent state of the application. The issue can not beside-stepped
purpose of input is to change persistent state
presented state
dynamically typed muta-ble tree
dynamically typed mutable tree
DAG on IPFS
as is the common sense notion of mutable state
mutable state chains
chain them
much of the power of imperative programming isretained
power of imperative programming retained
Coherent re-action is a new model of change-driven computation that co-ordinates effects automatically
coherent re-action
Taoist Inner Alchemy

Sounds of SAND A podcast from Science and Nonduality

science and non duality
Sounds of SAND
The British involvement: Enron [India]Β revisited

indranet
ENRON βTHE POWER TO DO IT ALL, CHSβ Indranet Journal, Vol 3, No 2-4,1994

Herman Rodrigues, who produced the Indranet journal for many years
indranet
the journal Indranet


Install Ubuntu desktop
In the longer term, examplecentrism has implications for the design of future programminglanguages
the logic of this leads to the death of programming languges
union of programming language andenvironment
Example Centric Programming attempts to improve programming by making it more concrete. This is not a new idea: it has also inspired a variety of programming language research. Self [23][26] eloquently and elegantly espoused concreteness and immediacy in the union of programming language and environment.
example-enlightened editor
debug the nill page
from https://hyp.is/G8ym_CGFEe-r9YMH5TdzYg/www.subtext-lang.org/
Example Centric Programming
x

Example-Based Live Programming for Everyone: Building Language-agnostic Tools for Live Programming with LSP and GraalVM
Live Progranninbg for everyone
for Lively Kernel for the Web
Onward! is more radical, more visionary, and more open than other conferences to ideas that are well-argued but not yet proven. We welcome different ways of thinking about, approaching, and reporting on programming language and software engineering research
radical visionary open
well-argued but not yet proven
different ways of - thinking - approaching - reporting
programming languages
software entineering
Analogy-Making as a Core Primitive in the Software Engineering Toolbox
analogy-making
Intrepydd: Performance, Productivity and Portability for Data Science Application Kernels
application kernels
End-User Software Customization by Direct Manipulation of Tabular Data
meta-design
are we trying to add to human knowledge, or are we providing entertainment for jaded developers?
add to human knowledge
or
entertainment for jaded developers
I and many people I know who are doing interesting work
I and many people I know who are - doing interesting work
have been repelled by the - bullshit parts of Academics: - the gatekeeping, - the compartmentalization, - the performative rigor.
Many of us have chosen to - not play those games
and instead make our own way = as independent researchers.
Iβve been in this fight for 20+ years now and
Iβm going to give you some advice you probably neither expect nor want to hear:
To: the crazy ones, the misfits, the rebels, the troublemakers, the ones who see things differently
You meant the Mad ones
https://www.goodreads.com/quotes/3831-the-only-people-for-me-are-the-mad-ones-the
β[...]the only people for me are the mad ones, the ones who are mad to live, mad to talk, mad to be saved, desirous of everything at the same time, the ones who never yawn or say a commonplace thing, but burn, burn, burn like fabulous yellow roman candles exploding like spiders across the stars and in the middle you see the blue centerlight pop and everybody goes βAwww!β

Operational Version Control
observes changes to typed data structures by recording high-level operations performed in a GUI or API.
for - integral design & development
Operational Version Control

Let us meet on SocialHub!
ActivityPub
A Social Inbox for Decentralized Publishing and ActivityPub.
complete it with a personal first interpersonal intercommunity trust networks of Your Own
from https://hyp.is/hK-n3CBjEe-xnw943exusg/github.com/hyphacoop/api.distributed.press/tree/main/ansible
a minimal implementation of an ActivityPub Inbox and Outbox.
A Social Inbox for Decentralized Publishing and ActivityPub
activity pub
experience the web as it was meant to be.
experience the web as it measnt to be
an extension of Your Mind
your own and all Others you connect with


12,895 instances big and small 6,448,939 users across the globe 608,690,572 statuses on anything and everything
The fediverse is a collection of community-owned, ad-free, decentralised, and privacy-centric social networks.


Welcome to the Internet of Peers
Internet of Peers
Build, share & extend unstoppable, zero-infrastructure P2P applications for Desktop, Terminal & Mobile.
x

No arbitrary limits just better apps that can be shipped instantly
apps shipped instantly
The Peer-to-Peer Company


HTML Web Components are Just JavaScript? Iβm still getting used to this

Intro to Lit Step 1 / 8
x
Shareable Components
<svg aria-hidden="true" part="svg"><use href="/images/home/components.svg#main"></use></svg>
Lit 0 simple.Fast Web Components

@lit-labs/ssr-client - A set of client-side support modules for rendering Lit components and templates on the server using @lit-labs/ssr.
lit components templates rendered on the server
At Lit's core is a boilerplate-killing component base class that provides reactive state, scoped styles, and a declarative template system that's tiny, fast and expressive.
sounds interesting
Download YouTube Videos via SSyoutube.com

all of our growth is purely organic and uh we got to almost 900 million users uh without uh having to spend anything on ads to promote teleg

900 million users
word of mouth invite friends
bot spending anything on ads

https://docdrop.org/video/1Ut6RouSs0w/#annotations:f56uuiHPEe-7Pc-fQdBaOw
https://via.hypothes.is/https://www.youtube.com/watch?v=1Ut6RouSs0w

Telegram Creator on Elon Musk, Resisting FBI Attacks, and Getting Mugged in California


Representational State Transfer (REST)
contrast that with BigIdea Presentational State Transition with Human Actor in the Loop = not automation people centered interactions
instead of transferring state
transition state for the User By the User and communicate
self-coherent, consitent complete states in a local first offline first Named Info Storage
That is globally accessible
. Figure 5-10

Put the User into the picture
with local-first offline first owned
State undergoing Represenatationsl State Transitions
Not transferring stateless represenations of a state
What a hopeless idea that was
on the page that it effects
intentionally transparent coherent, meaningful state transitions tat are themsleves immutable ind linked
bnoth in chronological term and with everything else that b ares upon the transition
unconstrained invocation of recorded permanent verifialble code and information connected to the Human Actor's responsible for creating holding them
constraining messages to be self-descriptive: interaction is stateless between requests,
oops

Onward! Papers
x
But to get to that future someone needs to solve hard problems in ways currently unimagined, and then communicate those discoveries to others who can appreciate them and improve upon them
solve hard problems
in ways currently unimagined
they are what carry a conversation between researchers iterating and refining new ideas. That is how progress actually happens, βby standing on the shoulders of giantsβ.
try transpublishing
To the crazy ones

The Death of Computer Languages, The Birth of Intentional Programming
we all know that's crazy talk
crazy talk
your API magically becomes usable from a browser if it just uses HTML as its format
API usable from the browser if it uses HTML as its format
UI is a nice side effect
for using HTML as a data exchange format
saved from url=(0046)https://dev.to/aralroca/from-node-to-deno-5gpn

mitigate cross-origin cache fingerprinting
https://orenlab.sise.bgu.ac.il/p/RobustFingerprinting-TDSC.pdf
https://hyp.is/5ys5EiFxEe-ES99vQ8nNEQ/orenlab.sise.bgu.ac.il/p/RobustFingerprinting-TDSC.pdf
With ESM and cross-origin caching
cross origin caching
that happens if resources are loaded from ipfs
third-party libraries can be loaded, cached, and shared across sites
loaded cached accross site
No more single-line changes blowing out your applications entire cached bundle.
no more single change blow up
No more bundling dependencies with source code
no more bundling
ΧΧΧ ΧΧΧ¨Χ‘ΧΧΧͺ ΧΧ ΧΧΧ¨ΧΧΧhttps://orenlab.sise.bgu.ac.il βΊ RobustFingerprintin...ΧΧΧ ΧΧΧ¨Χ‘ΧΧΧͺ ΧΧ ΧΧΧ¨ΧΧΧhttps://orenlab.sise.bgu.ac.il βΊ RobustFingerprintin...PDFby A Shusterman Β· Cited by 154 β A well-studied mitigation approach from the domain of network-based cache fingerprinting involves creating spurious network activity to mask the
to https://orenlab.sise.bgu.ac.il/p/RobustFingerprinting-TDSC.pdf
Website Fingerprinting Through the CacheOccupancy Channel and its Real World Practicality
from https://hyp.is/aRZeJiFxEe-YB-u-fDSyPA/www.pika.dev/about
TrailHub Capability Conduit powering HyperBlog - Gyuri Lajos

Social Inbox
social
from https://hyp.is/hK-n3CBjEe-xnw943exusg/github.com/hyphacoop/api.distributed.press/tree/main/ansible
Distributed Press Ansible Scripts
x
from https://hyp.is/Rc7OWCBjEe-1wlvaqq7KfA/github.com/hyphacoop/social.distributed.press

Some (long overdue) site updatesMon 04 January 2021
site updates
to https://hyp.is/iPZtviBNEe-xb6eElJ-hhw/activitypub.rocks/news/overdue-site-updates.html
Jekyll source code for fediverse.to.
![]()
The Social Inbox allows people to integrate their website with the Fediverse (opens in a new tab) and engage with readers there.
engage with people
integrate their sensite with the fediverss

the ActivityPub specification 667 (published as a W3C Recommendation) and how to build projects with ActivityPub support.
spec
to
Collaboration with other projects looking to federate.
looking to federate


4 Milkdown
friendly bot, which provides a one-click link that spins up the whole environment for pull requests and issues. No more context-switching or branch-checkouts, just a new browser tab with a full IDE and a dev server running.

distributed.press

Here is my attempt to proxy a ws connection: https://github.com/websockets/ws/issues/1697
to: https://hyp.is/DOMCBCA_Ee-yuFNk1S3AYA/github.com/websockets/ws/issues/1697
How to proxy a websocket connection
![]()
A simple http/2 & http/1.1 spec compliant proxy helper for Node.
from: https://hyp.is/DOMCBCA_Ee-yuFNk1S3AYA/github.com/websockets/ws/issues/1697
How to proxy websocket connection
x
find emoki - comment
π¬

Looks like my old annotations are not showing up here
https://docdrop.org/video/xQx-tuW9A4Q/#annotations:9_SmgCDKEeuXxO8mN5IZmA
Inventing the Computer Mouse | Douglas Engelbart | Talks at Google
Doing the job of organising the net frontier clip
https://youtube.com/clip/Ugkxl0MlTULCcBksvouYsJBcpJfLinFUjOcm?feature=shared
these patterns of intelligibility as structuring reality not just the experience of reality
patterns of intelligibility are immanent to reality
meaning <=> being

https://docdrop.org/video/6pwBgL0BbJ0/#annotations:rkWKbEo1Ee6ciU_zRorLuw
https://via.hypothes.is/https://www.youtube.com/watch?v=6pwBgL0BbJ0
If this makes sense to you
sure it does
coming back to re-read it after 5 years


that all money is trust-based credit
money as trust based credit

But for scheduled postings on LinkedIn, X-Twitter, Mastodon, and others (soon Bluesky), it saves a lot of time.
I used to have a high view of human potentia
don't panic and don't give up
we dance around in the costume party of fonts that swept aside his ideas of structure and collaboration
that swept aside his ideas of - structure and - collaboration
self.fink: https://via.hypothes.is/https://www.youtube.com/watch?v=yMjPqr1s-cg
search.terms - custume party of fonts
JΓ³zsef Attila mint irodalomkritikus

Learning for all by all. The P2PU course platform offers the opportunity for anyone to take a course and anyone to make a course. I inherited this project and was responsible for sheparding it for several years. At itβs peak it was available in English, Dutch and Spanish.
Autonomous (inter)Personal Learning | Software as a Conversation/Mutual Learning
https://opencollective.com/open-learning-commons/projects/indy-learning-commons

P2P course platform
anyone to take and make
for - Indy Learning Commons
9,688 views 22 May 2017 JΓ³zsef Attila Γ©letΓ©t Γ©s munkΓ‘ssΓ‘gΓ‘t bemutatΓ³ 1980-ban kΓ©szΓΌlt ismeretterjesztΕ diafilm. Γrta SΓ‘ra PΓ©ter szerk.
Ruzicska JΓ³zsefnΓ© szΓΆvegΓ©t elmondja KozΓ‘k AndrΓ‘s, KΓΊtvΓΆlgyi ErzsΓ©bet www.diafilmmuzeum.hu

a computer has always been a bicycle of the mind
something that that takes us far beyond
our inherent abilities and i think we're just at the early stages of this
tool very early stages and we've come only a very short distance and it's still in its formation

stay hungry stay foolish
forget about hungry
just stay foolish

Interest based and Social
.replace
interest based
that are - evergreen - continuous - without being synchronous

self.link: https://indy-memplex-net.ipns.dweb.link/annote.htm?p=./pages/start-dev=indy.memplex.net.html

Meditations on the Indranet

GitHub - csmpls/indra-client: indranet clientVisitImages may be subject to copyright.Β Lea
indranet client
ipns://indy.memplex.net/annote.htm?p=./pages/start-dev=indy.memplex.net.html
added in agregore
https://indy-memplex-net.ipns.dweb.link/annote.htm?p=./pages/start-dev=indy.memplex.net.html
link.s - perm.ann0te
do.how
tranistional setup - rely on Pinata Custom Gateway to store and share - plex chains
create these links by hand - such that they will they provide effective morphic info structures
making use of markdown - to write TrailMarked Clues - on the margins of web pages
AgregoreMobile.apk
agregore apk
AgregoreMobile.apk
Easily publish uncensorable essays
IPFessay Easily publish uncensorable essays
Easily publish uncensorable essays
IPFessay is an application that runs on IPFS and allows you to publish uncensorable essays to it. It supports Markdown for composition and lets you write and publish essays right from your browser, with no extra software or servers. As long as IPFS is up, you'll be able to use IPFessay to publish texts to IPFS.
![]()
480p: 854x480 pixels.720p: 1280x720 pixels
Youtube video sizes
Decentralizing IPFS Gateways by verifying hashes in the user's browser.
Experimental IPFS Gateway implemented in Service Worker
service worker IPFS gateway
Given that the project is moving to βcloudβ, Iβm sure going forward theyβd be more than happy to upload full content of a page, to truly capture the text you highlight.
memex moving to the cloud from local first
Peercoin's potential - GeneralPeercointalkhttps://talk.peercoin.net βΊ peercoins-potentialPeercointalkhttps://talk.peercoin.net βΊ peercoins-potentialJul 1, 2016 β Since blockchains are pretty horrible, I also always thought that there would be things such as Peerkeep or somethings similar to SPV wallets,Β ...
to PeerKeep
Rust RFCs
bookmarklet - make links open in new tab - add to the hypotheis.js loader the follwing
document.querySelector('iframe').contentDocument.querySelectorAll('a').forEach(function (x) {x.setAttribute('target',"_blank");console.log(x)})
run this once the iframe is fully loaded
to peerkeep
RFCs for changes to Rust
The future Web
emulate the success of the Rust programming language and as such has almost mirrored the RFC process the Rust developers use, which is tried and tested and appears to work very well.
RFC process
Request for Comment (RFC) papers and discussions on Peercoin core applications, libraries and API's
RFCs
Peercoin project Pioneer of the Proof of Stake cryptocurrency.
As of January 2023, GitHub reported having over 100 million developers and more than 420 million repositories, including at least 28 million public repositories. It is the world's largest source code host as of June 2023.
Github 100 million developers
An end-to-end open source P2P app framework
TRANSPUBLISHING: A SIMPLE CONCEPT
TRANSPUBLISHING: A SIMPLE CONCEPT =
seanceΒ (n.)
. Meaning "spiritualistic session in which intercourse is alleged to be held with ghosts of the dead" is recorded by 1845.
)
Cumulative Layout Shift (CLS)

your code only works in CodePens and JSFiddles because those execute the JavaScript after the DOM is parsed.
execute javascriptr after dom is parsed
app/site-specific βcomponentsβ
like - page skeletons, - layouts, - idiosyncratic UI, and - wrappers/customizations around 3rd-party components.
At least, they make sense if you - care deeply about your markup structure, - SEO, A11y,
Web Vitals like - LCP and - CLS, - JS payload size, and - progressive enhancement.
an operator is a core language construct and has implicit access to more data, including the URL of the current module.
import operator

https://etke.cc