research questions | Research Interests.canvas | learning | research memos
Collected works
- see index.spencerchang.me for a full list
Open Tasks
function callout(text, type) {
const allText = `> [!${type}]\n` + text;
const lines = allText.split('\n');
return lines.join('\n> ') + '\n'
}
const query = `
not done
path includes ${dv.current().file.path}
group by heading reverse
`;
dv.paragraph(callout('```tasks\n' + query + '\n```', 'todo'));
Log
2023-11-15
2023-11-14
- spent the morning re-creating a venn diagram that graphed all my creations this year against broad areas of focus that crystallized while i brushed my teeth
- questions
- how we collaborate/share space online
- how we make technology that feels human/natural/different/real?
- how we collect/organize/share the digital data that matters to us
- these all uplevel to a high-level “how do we move beyond our current internet narratives” -> reimagining new internets lecture
- questions
2023-11-12
- thinking about how to segment all my work and my “meta infrastructure” again and spencers.cafe can be like my own personal wiki that i link to for “background” and context for all projects
- every “project” should have its own dedicated domain though and simple website, like i love living should have a domain where you can download the shortcut
2023-11-11
- engraft is super cool
2023-11-09
- looking at small persistent data
- ask julius tarng to meet up to chat latest?
2023-10-31
- playhtml bag to facilitate
can-take
game.
2023-10-30
- send email to Robin Sloan with updates, and ask to meet up / advice
- reading what’s in my bag (sent from jess) that talks about the rising trend of “#whatsinmybag” on social media. What people carry in their bags are becoming ways of marking hyper-unique identities. At first, it served to show how much we were defined by what we consume as celebrities used this as opportunities for sponsorship and quirkiness. Then, it was turned into something more satirical with “#trinkethaul” where people show the random items that they carry around their bag and the tiny little decorations that show off their specific personalities.
2023-10-26
- i hate react native so much. tbh it’s really not worth it lol. the styling is so unintuitive compared to web. Sometimes things work in one place and the exact same code in another place produces a different styling. There isn’t a good way to debug because so many variables are at hand. Maybe in 10 years cross-platform development will actually feel good
2023-10-23
- watching some talks from Splash 2023
- ink and switch talk about embark
- involving Geoffrey Litt on creating a dynamic document (coda-esque system except that looks more like roam with a purely outline focus)
- interesting take on separating things into data, computations, and views
- data: materialized as mentions
- unclear how data is synced but effectively combines things from across different schemas and they automatically take on a named formula equivalent to the titel
- computations: as formulas in which you can us {} to type new ones and automatically see a preview on the canvas (an obsidian live-preview-esque system)
- views: as both inline and full-screen side objects
- inline automatically filters to just the children under the direct parent (really nice use of the structural relationship)
- full-screen takes every eligible computation in the document and renders it
- i guess this works by having “eligible” schema objects for any view
- this gets hard to actually keep track of though
- data: materialized as mentions
- I think the best part of the approach is that they made it really easy to reference new data from external sources and put it into your relevant view. And also taking full advantage of the parent-child relationship.
- This has its own challenges in that the relationship only works well for some kinds of data relationships (where there is a strict hierarchy between one thing and everything else) and not things that are more associative or can be modeled in different ways (granted, they themselves acknowledged this limitation and don’t think that is the proper long-term answer)
- ink and switch talk about embark
- make a postcard ✅ 2023-11-06
- write out spec for playhtml can-take
- start twitter funeral stuff
- have this be a burial place for social media sites that have died before?
2023-10-20
- started writing hosting on the web (being a website host)
- read new launch from replicache called “reflect” which is a multiplayer sync engine backend (like partykit) but inspired by game state reconciliation rather than CRDTs. You basically have a timeline of events that happen and a central server is the definitive authority for sending the new state of things (but each client updates itself on its own). This is very similar to what coda did with their operational transform implementation.
- interesting to pair this with hosting on the web (being a website host)
- 2023-10-20 ivan zhao
2023-10-18
- gather as a mix between slidebox and telegram saved messages but social and multiplayer
- this matters because it is useful indicidually but comes to life when given open data access and available to friends
-
- project importance
- is it provocative? does it reveal a new way of seeing?
- is it fun? does it inspire play? is it fidgetable?
- does it make people feel more connected / allow them to relate to one another in a new way
- can people use it in unexpected ways?
- do people feel invited to join
- project importance
2023-10-10
- good day of work today
- coworked with matthew siu, he’s also looking at an are.na-like extension
- #ideas/writing clever approach of approximating prototype by retrofitting existing available tools to test out a specific approach (e.g. using are.na and roam side-by-side to simulate a side-by-side are.na approach). Should try this with texting self for gather
2023-10-09
- kidpix home screen is wild
2023-10-08
- discovered that any partykit server for playhtml was eventually running out of memory, and it’s because “edits” are first-class in yjs and seem to be stored permanently. So really the solution is to stop using yjs altogether and use partykit natively because I don’t care about the history of updates.
- this will be the big 1.0 release?
- ok so there are two options here, 1) to stick with yjs and implement some optimization server-side that regularly prunes the doc and 2)
- playhtml webring indicator in the bottom right, optionally disable
2023-10-07
- discovered the internet used to be fun by Rachel Kwon, a catalog of blog posts that essentially calling for personal sites and domains as a solution to the ad-ridden, feel-bad internet we have today
- her site is a nice, clean manifestation of these values. Sharing things with people who might have found their way to their internet corner, like what they’re reading right now (a Goodreads widget) and what they’ve been watching (a Letterboxd rss feed using https://feedroll.com/rssviewer/ to get an html version of it). This kind of live
2023-10-03
Intention:
2023-10-02
Intention: get dreamscape set up, try out stencil? publicize playhtml react support, try another archipelago experiment, catch up on one solidarity infra class, set up personal server via cloudflare workers
- watched podcast from james pearce on tinybase to compare with playhtml and wrap my brain around it. I think I basically built a worse version of tinybase with playhtml (except really optimized for multiplayer and with functionality that works out-of—the-box with vanilla html elements)… like his same aim was to handle small amounts of in-browser state, do it local-first and then provide syncing. Rather than provide any sort of default persistence, he provides persisting adapters (persisters) to different sources (partykit now, sqlite, etc.)
- the only thing missing is configurability on persistence, syncing, localOnly, etc.
- also how do you handle privacy and security on this?
- i think im realizing that i need to develop much much stronger taste and higher standards for what is worth my time. The reason I’m so restless and overwhelmed is that I am keeping tabs on a million projects that i think are interesting and cool and I can’t focus on any one of them fully. I’m not some god that can churn out projects every few days (especially not if im still thinking about all of them at once). I need to figure out ways to put things into a box that I revisit every week rather than keeping tabs on them.
- maybe I start a weekly practice of reviewing any#ideas that showed up in the past week
- starting the state persistence playground and planning on using tinybase and partykit to wrap everything. Need to think of good examples to showcase even kind and then some graphic for the post?
- examples
- just a text input
- cursors in a box
- a guestbook list of time visited and IPs
- also need to distinguish between sets (append-only ones) and individual values
- examples
2023-09-29
- #ideas/writing write some exploration on digital solidarity systems of solidarity
2023-09-28
Intention: start eyebeam, figure out direction for basket, unblock riley on soundscape work, catch up on other work
- worked with riley on dreamscape, getting close to getting the windows working
- caught up with raymond zhong for gather work, a much clearer direction fleshed out now
2023-09-27
Intention:
- finish basket collection view ✅ 2023-09-27
- write down ideas for designs to explore tomorrow ✅ 2023-09-28
- setup repo for soundscape, make playhtml work for it ✅ 2023-09-28
- publicize playhtml react support
- make a playground for playing with the spectrum of state persistence state persistence playground
- nice pair for spectrums of collaboration post
2023-09-25
Intention: working on basket today, get things working
- for basket
- 2 core parts
- foraging: a toolkit / accessory / (this is what needs to replace arena and how people use it currently)
- maybe good time to test input methods for structured data like a plain-text / potluck-esque input for structured data plain text transfer protocol
- found object creations: extending on top of what you have already foraged to create new interesting combinations, archives, apps, practices, rituals, etc. (revisiting what you find important, tiny social networks, folk archives)
- foraging: a toolkit / accessory / (this is what needs to replace arena and how people use it currently)
- two core motivations ^a03202
- a medium for curating your taste and expressing your creativity even (and especially) if you don’t consider yourself creative (through enabling creating and tending to named collections).
- place to publish these things safely for the people i care about to see them and make spontaneous connections with what other people are thinking about (relating to them through what they are paying attention to and what is catching their eye)
- positioning: an app for notes app poets, for hobbyist collectors, for digital foragers, for home archivists, for scrapbookers, for tumblr homies, for twitter thread obsessives ^564ce9
- 2 core parts
- i really like the theme that mmm page is using for their branding
2023-09-22
- #ideas/website willyoumakeasitewith.me which is just a dom that is playhtml layouteditable / contenteditable
- this relates to iframe quilt and ran into ^09d300 from a year ago. Something is in the water here.
- I want to think about what I want from my work. It’s okay that it comes in ebbs and flows but maybe it’s time to revisit my art purpose and my research purpose… Thinking about the Marina Abramovic quote of another guy’s quote about how “if you’re a good artist, you may have one good idea, if you’re a genius you may have two.” What is the singular “good idea” that I want to work my life towards finding?-
2023-09-21
- #ideas/website colophon where it actually functions like it used to where people could leave detailed comments. More broadly, creating a generic solution for having a core “host” that moderates things that people submit, but still everything people submit is kept locally in localstorage and pending until accepted by the host. hosting on the web (being a website host)
- #ideas/writing a case for the open and cozy internet: increasingly the dialogue around these two concepts has been to show that they are on two ends of a spectrum. You can either choose an open internet, where you are at risk of getting barraged by millions of people, harassed, and taken advantage of, OR you can choose a private cozy internet that is invite-only (but also can be inherently stifling and exclusive). There’s an in-between I’m reaching for that feels like your local cafe, library, or community center. Where it does feel cozy, private to a degree (you can’t just come in and cause a ruckus without consequences), but it is also inherently (and radically so) open to everyone, which is something we need more of in this increasingly hyper-capitalist and transactional world.
- thinking about archipelago and iframe quilt#toremember
- chia made a new memorial site to the phillippines with a bunch of candles that people have to collectively light together. very playhtml-esque but with greater reverance and intention with each lighting of candle. good inspiration for twitter funeral and the performance part and having people gather their tweets and plant flowers (seeds??) and then have them sprout after the funeral?
2023-09-18
- starting on gather work, where the logs will be captured in gather log
- thinking about the meta infrastructure for people to do things (anything) and live at their full potential and how asana founder talked this up as for why asana was critical but this really applies to things like poetry and art that enables the capacity to dream and imagine.. maybe thats what i care about and want to enable. the infrastructure for human imagination and resilience
2023-09-12
- finally finished watching Core Studio Public Lecture Virgil Abloh, “Insert Complicated Title Here”, and what an amazing and inspiring lecture.
- at the very end everyone throwing their shoes at him to get signed
- update playhtml readme to account for react ✅ 2023-09-29
- set up repo for gather ✅ 2023-09-19
- start up lamps website ✅ 2023-09-15
2023-09-09
- for today:
- get playhtml react working
- fill out html garden bio, draft promo post ✅ 2023-09-11
- send out AT application for SFPC ✅ 2023-09-09
- toolshed app?
- interaccess?
- letter to matt ✅ 2023-09-15
2023-09-06
- call with raymond zhong, i think about to have foundation to get going on forage (fka list protocol), created an are.na channel for inspo
- looking at domain names for my website and frustrated that the “official” list of TLDs from ICANN includes ones that are proposed (from like 8 years ago) that have not been integrated or actually supported in any capacity. Includes some bangers like
.play
,.room
,.joy
.- Talked about the idea of WECANN with jacky zhao, apparently they did something similar for distributed press
- Researched this more and would need an alternative DNS root, and even then, it would require users to manually change their DNS settings to point to a name server that you host (preferably at edge around the world).
- Tried registering with OpenNIC, an existing alternative DNS root, and got stuck at the registration phase because their registration email sender is broken 💀
- #ideas/art would be a fun art project to allow anyone to register their own domain, but it’s kinda useless bc then no one else can access it? unless you can proxy somehow..
- writing bio for folk programming essay and filling out an app to be an AT for solidarity infrastructures sfpc class in the next session
- #ideas/writing i should write as some point about how to set up participatory / communal websites that handle moderation easily ^185537
- my coda moderation combo is really nice but i need to figure out some way to make this scale in the data layer (an actual database that feeds into coda and then coda is the final source of truth..?). This only works because it’s append-only.
2023-09-05
- reading Notes on Creative Context at prompting from matthew siu and it is incredibly good.
- “Creative projects are primarily an emotional event, not an intellectual event, no matter the external form, and emotional and intellectual problems are intertwined.”
- This has been the driving force behind the making of bulletin, i love living, and generally archival practices. They give you the infrastructure to cultivate these emotional tupperware you care about. And why I’m so attracted to projects like glance back, hijack your feed, anything that has to do with widgets and ambient computing
- figure out performance part of twitter funeral
- playhtml add react support? ✅ 2023-09-11
- researching this and also web component support and getting really confused about the best API and model here to make everything work across platform. I want
- a generic and easy way to store state specific to a component where I can programmatically determine how its syncing and persistence (sync collaboratively & persist, sync collaboratively & don’t persist, don’t sync & persist (locally), don’t sync and persist (remotely)). Ideally I can also easily add on specific capabilities that other people have already created state handlers for without having to code it myself (
can-move
)- the first part points strongly to a state management library that sort of goes on top of Yjs so you don’t have to worry about their collaborative types.. but can you really abstract that away? It seems like this only works for simple data structures that are just keys in an object, but once you get to actual complex objects and arrays, i think the end-programmer needs ultimate control on how to merge new synced data… So how much can you really abstract away?
- a way to get wholesale components from people who have designed it (with state management, styling, and everything included).
- i guess this isn’t really new but the new part is that you have all the state sync and persistence built in?
- a generic and easy way to store state specific to a component where I can programmatically determine how its syncing and persistence (sync collaboratively & persist, sync collaboratively & don’t persist, don’t sync & persist (locally), don’t sync and persist (remotely)). Ideally I can also easily add on specific capabilities that other people have already created state handlers for without having to code it myself (
- can i get this with pure web components and stencil? it seems like they support children natively (just not any knowledge of them)
- I could bundle all the capabilities into web components to make it react-like and then it would just work across all platforms, like
<moveable>
- I could bundle all the capabilities into web components to make it react-like and then it would just work across all platforms, like
- researching this and also web component support and getting really confused about the best API and model here to make everything work across platform. I want
2023-09-03
Intention:
- finish memory pouch stuff and submit ✅ 2023-09-03
- finish final edits for folk programming essay ✅ 2023-09-05
- make fridge poetry generator ✅ 2023-09-15
- finish research post for the week ✅ 2023-09-05
- ive been looking at the htmx guy lately, an indie developer based out of montana. He’s been doing his stuff for over 10 years now.. starting with intercooler.js (which depended on JQuery) which then became htmx that removed that jquery dependency. and he also teaches at Montana State (presumably to make ends meet?). This is giving me a lot of renewed hope in my explorations because they really just take a lot of time. I can’t expect for things to magically work out for me in only 6 months of doing things… and in that much time, I’ve been able to accomplish so much.
2023-08-31
- was feeling very restless and existential today and wondering what amounts of my work mattered. what am i doing with my life anyway??
- I was thinking about playhtml and what would make it “successful” in my eyes. I think it has the intended cultural impact already. When people first see it, it’s the exact kind of reaction that I would want—for many, it challenges their entire notions of how software and websites are supposed to work. They have to take some time to actually understand everything that is happening on the screen. To others, it just looks like a silly example for fun. And I started wondering about whether the critics were right… After all, I don’t know of anyone else using it besides me. (I need to ask friends who have seen this why they haven’t used it). But in the end, I’m doing it because it feels interesting to me and points towards the kind of world that I care about. As long as I’m finding more about myself in the process and doing things that feel right and important in every moment, it’s okay if it doesn’t have the reach that I was hoping for.
- For so many of my projects, I seem to set out with the wrong criteria… In that I am using impressions and virality and (mostly) Twitter numbers to judge the success of things on. But in my independent state, I don’t really know what else to judge things on besides the highest signal thing which is people actually reaching out to me or using things actively.. There’s no measure for how things actually impact people’s perspectives on things. For playhtml, maybe I just need to keep banging the drum and showing people and making it easier and easier to use. Probably the next thing is going even lower-level to expose general event listeners
can-pointer-over
should broadcast to all clients… Need some way to attach a listener to the top-level firehose and then switch case on the kind of event and target.
- I’m reminded of how to judge the success of my independent moments: every day should feel like fun and a gift. I should feel love, curiosity, wonder, gratitude, and excitement all come to me easily. I should feel like I’m living each day true to myself.
2023-08-30
- watched the sunset and then the blue moon rise with matthew siu on top of corona heights
- im starting to test my own memory pouch practices, starting by saving my order slip from El Farolito in my Neighbor Totoro pouch designated for meaningful papers
- I’m learning how to vocalize this obsession with containers for holding things… It’s like what laurel says in her talk on eggs, where eggs are containers that you have to nurture and grow… Creating the container for something does so much work in actually making you pay attention to what you want to fill that container with, so when you make a container for a specific purpose of collection, you start to notice all those purposes in the world around you. (laurel’s How to Build a Bird Kite NYTimes piece was a wonderful inspiration for my pouch work.
- This same impetus is what’s driving me to work on forage (fka list protocol) and gather… They are giving you the basic tools for creating containers. And those containers when shared among many people become incredibly fertile material to create social networks around. Are.na has so much potential to do this but it doesn’t do it well.
- So then we need to give people the ability to create containers, name them (and designate their purpose with ritual significance), and cultivate and nourish their containers such that they flourish. The first two are pretty common around “collection” apps and tools, but the last one is really where you have to focus energies. What does it take to actually garden collections such as these?
- Revisiting: You probably have to have some customizable mechanism for revisiting, pruning, and doubling down on things that keep popping up. You have to be able to pick out the promising seeds among the bad
- You need some way to add extra metadata to keep track of everything that you care about (ideally the easy, rote kinds of these things become automated by little geists or Taylor Rogalski’s pico)
- You need an easy way to plant new seeds, to trial them and then prune (see 1)
- sharing with people, inspires new ideas, transforms the garden
- the collection needs to synthesize somehow into an artifact (or other kinds of “output” checkpoints) that form solid markers in your head for single addressable entities
- in Laurel’s latest piece On Eggs — Part 3, she says “I only make odes.” She means that she makes things to honor the things that already exist. I align heavily with this philosophy. I believe that there’s already overwhelming, uncomphrensible beauty and wonder in this world. I believe in creating new things out of things that already exist (upcycling old things and revitalizing “waste” or “trash”). I believe that we have incredible inherent power to transform the world, that celebrating the wonder, capability, and beauty of the existing world, we’ll see more of that in the world and use that newly “found” capacity to make the world better for all of us.
2023-08-29
- ohhh im in a weird but productive place with memory pouch stuff. Prototyping many physical things using found objects in my room. this is so fun lol
2023-08-28
- feedback on playhtml from dom
- never imagined that spaces could act like this before
- want to see this more in my existing websites or applications i use
- went to stochastic labs for dinner courtesy of nagle and met max bittker in real life
2023-08-27
- #ideas/website make a The Doc Web search engine, that uses several sources
- are.na docs links https://www.are.na/search?term%5Bfacet%5D=docs.google.com&what%5Bfacets%5D=LINK&fields%5Bfacets%5D=DOMAIN
- reddit search?
- google search?
- twitter search?
- watching more about sarah tze’s philosophy towards art. studio and laboratory as art
- she likes to set up in places where you normally wouldn’t expect art, to let the everyday shine as art, re-contextualize the mundane into the profound
- the ventilation line for Tokyo exhibit, next to the freight elevator in the guggenheim exhibit
- true testament to her ability to make her pieces accessible is that people have apparently left things form their pockets with her exhibit as sorts of offerings.
- the highline exhibit was both art piece and environmental habitat, actually had seeds in containers to function as bird feeders
- also this concept of nesting unexpectedly in that people can walk into the structure and only notice subtly that they are within a container
- she likes to set up in places where you normally wouldn’t expect art, to let the everyday shine as art, re-contextualize the mundane into the profound
2023-08-24
- listened to the Metamuse podcast with martin kleppman about local-first software.
- the part about the impact of local-first on the economics of software. right now people pay for SaaS because their data is trapped. Also open-source works because people provide a “hosted service” so that people don’t have to self-host (but they have the option with open-source). How would this work in a local-first world where all users own their data and can do with it what they please?
- There is certainly a market for the data providers and federators (which is likely what bluesky is going to capture)
- but what about app makers and software providers? will people pay for it even while they have to pay for data? will you end up having to pay a lot more than you’re used to for software?
- playhtml and partykit are an interesting first example for this. partykit is the pipes and infrastructure, while playhtml is more like an app (though it’s still more like a toolkit and a bit infrastructure because im hosting a partykit server and persistence for them)
- the part about the impact of local-first on the economics of software. right now people pay for SaaS because their data is trapped. Also open-source works because people provide a “hosted service” so that people don’t have to self-host (but they have the option with open-source). How would this work in a local-first world where all users own their data and can do with it what they please?
2023-08-21
- full day at dia beacon, and first time seeing one of robert irwin’s works in real life. I’m not sure if it’s my preexisting bias but I really loved seeing how simple it really is, and it was telling watching people interact with it (including an audible “wow”). There’s a concentration of works here that feel larger than life and/or are seemingly ordinary and as such betray how much work and dedication is inherent in the work (walls of white-paint paintings and seemingly cookie-cutter typed out dates which were actually painstakingly created on the date listed (or destroyed if unfinished).
- I’m thinking a lot about presentation of works and immediate impact while walking around in the galleries. I think the impact for all art is personal, and the danger of “fine art” is that you lose touch with what is actually personal to people at a wide-scale outside of the art world (which to me, is the only thing that is really important). I value things that resonate to me and to other people who are not in the art world. I especially value things that resonate to (or provoke) people who would never expect to “like art.”
- Watching the dia beacon video of robert irwin explaining his philosophy around the design of the museum, he explains that he “instigates, responding to a situation like responding to a question”
2023-08-16
thinking about what I am uniquely good at and what I care about that I want to bring into the world.. that’s the kind of work that fits the most for an independent research phase—the kind that is uncommon, unpopular, and underfunded but at the same time is important and urgent. in my last research memo (people and computers), I extended that one-page tweet that I made in response to visakanv’s prompt.
I’m revisiting this now and want to explore why it matters and what I contribute towards it that I am uniquely suited to do so. I think this question of “how does the internet become more hospitable for and actively shaped (or governed) by the people who inhabit it?” is completely underfunded (it is not very legible and certainly not profitable work) and simultaneously feels so important as more and more of our live are not only lived but conducted and dictated through digital mediums. People may lament the loss of face-to-face interaction for so many of the important things that affect our lives, but it’s inevitable that more of the things that affect our real lives (the things we eat, the way we live, the government services we access, and the way we connect to other people and maintain communities) will continue to be more reliant on online mediums. When healthcare.gov goes down, it is affecting real people with real health problems. When Twitter dies, it is the loss of space for real relationships and communities that may never feel the same again.
I think my unique capability is the combination of an imaginative design attitude towards imagining products and interfaces and the generalist ability to make those what-ifs reality. I’m not the absolute best programmer and I certainly won’t be the best specialist in a certain area of programming, but I can imagine something end-to-end that will make people feel something and enable them to do something they couldn’t do before. I think I’m also good at gathering people together. I am an optimist and a believer in people, and I fight for dreams I have that feel compelling even as they have no active incentive for someone to work on them. I think that’s what makes people feel drawn towards and safe sharing their dreams with me. I hold their dreams with gentle care.
2023-08-15
- start on forage (fka list protocol) and try connecting with at protocol under a different lexicon
- start on twitter funeral, I have the vision for the initial page…
- call with the memory working group for summer of protocols, getting closer to something approaching an artifact for memory pouch?
- taking some time off today to enjoy last day in Georgia with S before she goes on her trip
- reading michael nielsen’s research notes
- momentum is the most important thing. follow it and don’t let it go.
- I would like to work on my power of enablement
- I should foster more collaborations.. also with people much older!
- 2023-08-15 new time machines working group
2023-08-14
- synced with raymond zhong on forage (fka list protocol)
- gave user interview for felicia and drifting on y-sweet lol
2023-08-11
- #ideas/writing pop-up social apps
- #ideas/writing all my home cooked software apps and little collections my homecooked apps
- started commonplace essay repo, sent it over to jacky
2023-08-10
- starting work on memory pouch today.. and chatting with Aaron Lewis about the best way to do this.
- forage (fka list protocol)
- a realization! I’ve been having a tough time comparing and contrasting all the movements I see happening across multiplayer library space (partykit, yjs, liveblocks, drifting space, etc.), the decentralized database space (canvas, gun, hypercore, etc.) and the local-first reactive state space (tinybase, pouchdb, instant, etc.) but one core thing tying them all together is that application code should never have to worry about networking logic in complex online multiplayer use cases
- joel’s tweet summarizing the conclusion from causal islands
- partykit tweet about “making the network layer disappear”
- reading at protocol docs again in preparation of working with raymond zhong on new project
- discovered shoelace, a library of common web components, which is great inspiration for playhtml, which should eventually offer web components to “templatize” the web (e.g. the noguchi lamps should be one)
2023-08-09
- launched playhtml officially (see tweet) and spread it around in my channels. doing decent rounds
- unfortunately someone defaced it with racist words… I had to add a profanity checklist (which i will probably have to add to every single one of my user-input sites from now on)
- idk if anyone will actually use it but 🤷 it’s been awesome to visit it every once in a while and see things moving around.. There’s a life to the site that isn’t apparent with other sites.
- finished reading Madness Rack and Honey. What a wonderful tome collecting wandering drifts of sound that felt compelling to Mary. This is one of those books that I will revisit over and over throughout my life and probably increasingly fill with notes and little checks and timestamps.
- Mary writes the book as if she would write a letter to a dear one. She does not hold back on anything she believes in and she contradicts herself even as she speaks. She embodies the paradox that is poetry. Where it can be both the most meaningful piece of someone’s life and nothing at all, all simultaneously. Poetry would find a home in quantum mechanics. It is well acquainted with the concept of superposition.
2023-08-07
- got duplicate working for playhtml
2023-08-04
- last night, finished handling awareness protocol for playhtml stuff and got the typing indicators working. After that, i worked on the fridge poetry and got that working too
2023-08-01
- talk with mike masnick for summer of protocols
- protocol is centralized (comes out of centralization, decentralizes, pushes power to the edges, generates economic growth)
- everything built on top is decentralized
- What should be centralized and what shouldn’t?
- stable things that dont change that much (can be upgraded slowly by committee)
- enhances value “create more value than capture”
- protocol is centralized (comes out of centralization, decentralizes, pushes power to the edges, generates economic growth)
2023-07-31
- revisiting Specifying Spring ‘83 and I found a lot of new content that I guess I hadn’t read since the first time?
- robin really cares about the end-interface for this—the protocol bakes the interface in in this case, such that instead of a monolithic timeline, the “board” is the main vehicle for communication
- Reading through the replies by people that I hadn’t saw before either
- maya.land brings up an interesting comparable in web gardens which entail a “greenhouse” of 250x250 with a simple HTML file there to give to others to embed a “window” of their site on yours
- darius kazemi of course brings up that moderation needs to be a core part of the protocol itself
- in other news, yaml is bad. It is unsafe by default, the spec is 23k words long (compared to 2k for JSON)
2023-07-30
- watching a documentary about Sky Ladder by Cai Guo-Qiang
- he attempted to make it all the way back in the 1990s, up to 4 times which all ended up getting cancelled for a variety of reasons.
2023-07-25
- fleshed out the maintenance project for summer of protocols, lot of good stuff from the retreat today
- for playhtml thinking about more examples and futures
- need playground
- would be cool to convert seven 8 nine pacman poem into using this. good challenge of playing with local state branch vs. a single global shared state
- FINALLY FOUND THE FONT FOR Madness Rack and Honey. I had to ask someone on /r/identifythisfont on reddit in order to find it because the cover did not properly credit the typeface the book was set in.
- It is Bulmer (font)
2023-07-23
- finished the first draft of folk programming essay
2023-07-21
- 2023-07-21 matt webb
- 2023-07-21 helena jaramillo
- playhtml IS READY FOR RELEASE???
2023-07-20
- write reflection on maintenance work and send out lil memo to the summer of protocols people 2023-07-19 toby and kara
- progress on playhtml. Really getting into the depths of it
- starting on getting a react hook working for it.. Struggling with the existing infrastructure of yjs hooks
- i really need to get the custom element thing working. That is the only thing preventing me from “launching” it. Hopefully can get that working tomorrow
- fixed up we-bsite bleeding lol. looking back it was terrible decisions architecturally
- i did not work on the folk programming essay piece oops. I need to stop putting it off and actually do it.
2023-07-19
- talked with toby and kara for summer of protocols about maintenance work and how that relates to credit culture. I also got the low-down about why independent research is… not sustainable lol and how even the most established people are fleeing to institutional attachments
- kept working at my folk programming essay piece… trying to figure out best way to arrange everything. jacky zhao gave some more examples and feedback about whether they are useful or not. one possible divide is useful vs. aesthetic. the malleability piece is also very important.
- getting close to the end of halt and catch fire.. at an interesting point in the series where outside of the core personal drama there is this inherent tension between an machine-first (algorithmic) approach and the human-first (curatorial) approach in the first search engines.
- i should review the syllabus for all the episodes I missed…
2023-07-18
- need to figure out how to fit a project into the summer of protocols work… i think something in relation to playhtml should work because so many “protocols” of relating to each other are emerging from it.
- reached out to toby shorin about his and kara’s project
- I should reach out to kei and rafa next probably
- reading through the shelter protocol docs
- progress on playhtml
- got the localData separation working
- got a forum component working via
can-post
- added README instructions for all the available capabilities
- i tried to get custom capabilities working but passing functions through plain HTML was so infuriating almost made me want to ditch the advanced capabilities for HTML and just do React, but then jacky zhao told me about how you can just add global data to the window context, without even referencing it! (it’s implicit). And that every element with an
id
automatically becomes a variable on thewindow
context. that’s absolutely wild- also got some good thinking on how to make a robust ID without a specific one provided. Take the tag name (or combination of tags?) with the index of elements of that tag and hash it to generate an ID… somehow this requires tracking the original order though
- a lot of inspiration for playhtml and archipelago which makes me want to work on archipelago! but i still am not clear what the final form is…
2023-07-17
- omar + folk from Metamuse
- “ambiently available state”
- easy to connect universes
- visual programming where state is embedded visually enables ambient awareness of what the computer is doing and where
- folk programming: always already programming
- everyone wants to program because everyone has opinions on what they want to change in their environments
- unlocking latent demand (buttons system)
- challenge w “just make learning it fun” is that some things (esp programming) requires you to familiarize with a whole diff environment, so then we need to make programming environments that are fun while not losing any expressiveness / hiding what is going on
- “ambiently available state”
2023-07-15
- reading raymond zhong’s post on decentralized databases peer-to-peer executable databases
2023-07-14
- 2023-07-14 Greg Slepak: potential work partnership. Need to research shelter protocol
- thinking about what is the best experience for playhtml. The issue is that I’m sort of serving two audiences currently. 1) html energy people who like to just write a plain html site by hand and 2) developers (even beginning ones) who have inherent preferences about the tools that they want to get things done with (myself being one of these people). Right now the tool is split because I want to make it as easy as possible for group 1 but i’m really in group 2 and also building for group 2 means you need to abstract away a lot less of the logic which also gives you the benefit of making it more extensible for these people.
- In the ideal world, the group 2 people are able to make such cool extensions that then they bundle that up into a “template” for group 1 people to use by merging back into the open library. This is essential to the growth loop and long-term sustainability of this because it seems like this will eventually cost money due to the reliance on partykit.
- back to 2… the big comparable that keeps coming up in my mind as a form of reference is the wish system in Dynamicland. The concept of global saved variables seems powerful here. Like I want to be able to just save the states of different objects and then I get to have them interact with each other all of the sudden. So maybe my lamp will turn on when someone presses the button because it’s programmed to change light when button pressed is set.
- this is much more advanced than the state of the library right now… and would require an entire dependency graph and listener system. soo maybe for version 2 that is the “open world” version of it. I would probably need funding at that point lol
- so for now… what am i left with for the developer ergonomics? It needs to be more expressive than simply using an existing function in the library.
- give 2 noguchi lamps to yitong’s demos website ✅ 2023-08-24
2023-07-11
- the threats to the open internet, tim hwang and tianyu are arguing that rising interest rates are one big factor
- business and open data have had a convenient relationship since web 2.0 because of zero interest rates policy (ZIRP). Now companies are closing off their stuff.
- they argue that the answer is increased regulation
- working with raymond zhong
- personal data collection + distillation of cultivation (working in public)
- custom feeds of your data + what others are doing
- broken link for things that you no longer want to see
- one missing layer is the “personal” collection side, like what is your activity feed of things done? can you collate people’s activity feeds
- raymond wants to build a personal browser that uses your logins to scrape all info from your various sites
- bluesky bridge
- you can use app password to login to somewhere else and then make posts? leverage AT protocol and their servers in order to serve / host data?
- i want something like https://www.aliciaguo.com/nuggets/ for everyone and for all my friends. i want to hear their unfiltered thoughts streaming through.
- interfaces for this?
- the best interface is the fastest interface
- (or what people are already programmed to pull up immediately)
- notes app
- text app
- social media of choice (so bluesky may actually become the best option here in the future…)
- a single obsidian text file separated by --- and with a common schema
- i need a way to scrape this…
- can do it locally and then upload
- can do it via API but limited depending on your API provider
- could also potentially leverage one of those plugins to automatically API relevant files up
- the best interface is the fastest interface
- i guess this is the premise of Twitter-style social networks.. but why don’t they feel safe to do this? We want different identities I guess and this definitely feels like a more intimate flavor of identity?
- this forms a yin/yang with the personal browser idea. one has very distinct vibes and is easily programmable and wants a single-purpose interface. the other is the underlying infrastructure that i want all my data saved to.
- what does a personal database actually look like? (is this actually what the personal browser is?)
- how to get around TOS against scraping?
- build a phantom process that keeps all relevant tabs active and magically scrapes them?
- how to get around TOS against scraping?
- interfaces for this?
- alternative twitter frontend that just leverages all of the internal API in order to not be bound by developer agreement / API to render in a no-javascript / no ads interface: https://nitter.net
- this is what the personal browser should do effectively
- Resurfacing my quickly written dream of what I care about that I posted in response to visa’s question
2023-07-10
Intention: need to read the rest of the summer of protocols papers
- reading Saving Time
- Pieper’s concept of “vertical time” “running at right angles to work.” This is the promise of “leisure,” the interrupt, break, comma, etc. in the always-on life of a capitalist lifestyle that gives you the opportunity to see where you are, to situate in the grand scheme of things. What kind of space for rupture can we create in imagining a new future for computers?
- great suggestion from julius tarng on playhtml
- it’s almost like building a dynamicland-esque system on top of the web and HTML elements. This is equivalent to wanting to depend on “global” variables that are just events emitted by normal HTML elements and make wishes based on those events.
- this would involve a non-trivial revamp of how the library is currently structured… Currently, the
can-capabiity
syntax is an entire package of input method, state management, and functionality. julius’ suggestion means having somewill-click
structure that will broadcast events for the affected object. giving that elementcan-move
means installing a “move package” that will listen to all events from the universal event stream that affectcan-move
elements and require- where do you store all these events or how do you broadcast them (how do you know what is listening)?
- localstorage / indexeddb / etc. (optionally with pruning over time).
- will this complicate the library too much? i feel like it adds modularity at the expense of simplicity.
- i could always upgrade the library to support these lower-level functions at a later date and refactor everything existing to use them lol
- where do you store all these events or how do you broadcast them (how do you know what is listening)?
2023-07-07
2023-07-06
- from dorian taylor’s artifact: “The media theorist Lev Manovich presaged over two decades ago that the database—by which he meant navigable hypermedia environment—would be the principal medium of the 21st century, in the way that film was the medium of the 20th.”
- reading the original source Database as a Symbolic Form
2023-07-05
- researching RDF and why it’s so polarizing
- joel Gustafson says it “in practice RDF is just data modeling but 100x more complex and annoying than it has to be, with none of the alleged benefits ever materializing”
- also oops i was getting tuple store and triple store confused at some point. Tuple stores are a generic for n-tuple ordered sets. Triple stores are a 3-ordered set
- a subject - predicate - object structure is only good at very simple data, but anything more complex becomes exponentially harder
- reading Out of the Tar Pit recommended by steve krouse
2023-07-04
- reading about URL vs. CID
- URLs are…
- nice because they
- easily updated
- human-readable
- bad because they
- can disappear
- can point to entirely different content
- nice because they
- CIDs are…
- nice because they
- are resilient
- bad because they
- are not human-readable (can be addressed with an overlay system)
- nice because they
- URLs are…
- discovered portal constellation, an effort to “revive the webring,” through sarah frend’s site. It embeds a window from the web ring into a site web ring evolution
- posted about playhtml on twitter and actually got a decent response. I was worried how evocative it would feel because I felt like I got a pretty mild response from people i shared it to originally
- I’m excited for the potential of this to start an entirely open, public “social media” (tiny social networks) in the interactions that naturally evolve. This kind of thing feels like elemental material, in that it offers so much for people to insert their own personalities into the meaning of the actions. That’s the problem with a lot of existing social media sites, where the actions become so prescripted that there’s no room left for people to invent their own language.
- I also learned about NPM publishing more (mostly by copying what jacky zhao did with telescopic text and cursor chat)
2023-07-03
- chatted with sunil pai today about partykit and their ambitions for it. Sounds like eventually it’ll handle auth too.
- I need to figure out how to find users for playhtml. I personally find it very evocative… but im not sure it’s resonating as much as I want it too even though there’s so much cool composability
- I am feeling a bit lost lately in terms of how to pull together everything that I’ve found and think is interesting. I feel like I need to spend some time reorienting my focus this week before summer of protocols starts (wednesday!! ahh!!)
2023-07-01
- very good progress on playhtml so far… got it working end-to-end!
- also partykit is incredibly nice with yjs. It effectively just adds an easy persistence layer on top of yjs data. This is basically a lot of what i wanted with small persistent data.. It just seems like a simple key-value store from the UX-side and it abstracts away all the super fast, low-latency real-time syncing (except I do have to listen for updates unlike in React where it handles reactively updating state upon change of the variables).
2023-06-28
- investigate partykit 📅 2023-06-28 ✅ 2023-07-02
2023-06-26
- reading the at protocol docs again
- reading about multiverse plus and the attraction of a tiny directory to bring people together (this is almost effectively the niche that are.na occupies). They have a very nice interface for picking your profile picture (hand-drawn placeholder) and for customizing your posts. It’s like a mix between mmm page and bluesky by having a single feed (with various configurable privacy settings) for people to post their updates to but the actual content of the message is a multimedia (no-code editor) bulletin, (sort of like what spring 83 created as a protocol except people had to actually write the HTML themselves there).
- also finished opencoda, first time using cloudflare workers and it was actually quite easy! it also seems like billing is trivial with this
- release opencoda to twitter 📅 2023-06-27 ✅ 2023-09-19
2023-06-18
- Noguchi’s emphasis on play and participation is just like all the other artists that I find inspiration in. fka twigs also created a music video for the foundation about his philosophy. His light lanterns (read: sculptures), known as Akari, were ridiculed in the fine arts world when he premiered them at the Biennale in 1984 but now are viral across the world. They are truly one of the most accessible pieces of sculpture and beyond their elegance are made to go viral in the aesthetic of today’s age. I’m thinking now about what is an even more accessible level of art and something inviting play and contemplation, and of course, I think of Nintendo. One could consider Nintendo’s products a form of interactive sculpture. A handheld piece of art that captures the room for those who notice it.
2023-06-16
- i visited folk.computer today and caught up with Omar Rizwan. they’ve come a long way since I last saw them and have full interactivity that works like a circuit with a folk tag that is split apart and only comes together from “pressing” down a paper button
- I played around and created a program that had a lot of external dependencies. It was a ticking bomb that drew a circle that kept increasing in thickness and flashing colors until the timer was up at which point (if i had more time) it would explode into a bunch of tiny blobs. Pressing on the button would “defuse” the bomb. It felt so cool to be able to literally go through pieces of paper to find the correct reference and then also just be able to create new “programs” on the fly from the web interface.
- the UX around dragging the program editor window around to control where it appears in the projection was superrr cool
- omar also advised me to just do the things that i care about now. that the important things will return, that he just chases whatever immediately feels valuable to him
- finally read Kyle Chayka’s The Dream of the Personal Machine and#ideas/writing is to create a counterpart of “the dream of the communal machine” in that nothing was ever really “personal” the computers were always communal due 📅 2023-06-23
- The personality of each device only mattered because you would see them in the context of other people. You wanted to differentiate because there were other people to differentiate from.
- “what made personal computers great was that they weren’t actually personal”
2023-06-15
- talking with james addison (silicon jungle) in email and he mentions something very relevant to computing shrines
-
“For a few years now I’ve had an idea for a little app where you can get a QR code and stick it in a book and it acts as a little guestbook for all of the owners of “that exact copy” of that book. So it ties physical space to digital space. I love that it shows the “history” of a physical object and encourages people to pass books on after reading. I think I still have many questions around what are the most interesting ways for people to express themselves in that sort of medium. (It reminds me a bit of geocaching as well as there is mystery and you never really know when you would uncover one of these spaces when you get an old book from a second hand bookstore, etc).”
-
2023-06-14
- another thing on serializing to text from Geoffrey Litt and brown professor https://twitter.com/geoffreylitt/status/1668959392039829506
2023-06-13
talk with humphrey about communal computing or digital gardens revitalized. I realized that we’re effectively tackling the same problem from different sides. We both want to give agency to people to self-determine. He is looking a lot from the civic-side and how we can change policy and empower communities to affect policy. The main things he talked about were sensemaking, collective decision-making, and ultimately, communal self-determination. These often involve putting formal structures in place such that people can feel the trust necessary to do these things. He wants to create sweeping changes that involve empowering people to “future.” I also care fundamentally and deeply about empowering people to “future” but I focus my efforts on participatory experiences such that people get practice doing this sort of futuring, imagining, and collective creation that shows them not only that it’s possible but that it’s important. I focus instead on the “small” and extremely emergent, and my thesis is that the upswell will create the dramatic change that I care about.
We talked about the concept of public computing, which refers to any kind of computing in the public. Humphrey gave a great example of ATMs which are an unexpected form of this kind of computing device in public.
2023-06-01
I finished Internet for the People and it captures a lot of my concerns and gestures at the future. We need to imagine new forms and ecosystems for computing and technology, following abolitionist logic. Now I’m reading the latest from Ben Tarnoff who still resonates a lot with what he wrote but feels like his focus has gone to somewhere else. He talks of The Technologies of All Dead Generations and how we are currently in a third-wave of technological accountability. He thinks this is critically necessary to imagine a new alternative but also that we must do so without losing sight of the critique of the existing system and the awareness that we are always operating inside of it. Dialectics specifically is the “self-consciousness of the objective context of delusion; it does not mean to have escaped from that context.” (incorporate into communal computing or digital gardens revitalized)
I want to create this “wake” for more people. this is the kind of agency that I speak of towards computing.
2023-03-28
Intention: Conclusions:
2023-03-26
- finalize html garden stuff
- dandelion fields?
- from jessica zhou, it looks like a petri dish right now, problem is no depth, and html elements are 3d rather than 2d lines
- maybe group the species together
2023-03-24
- what kinds of tools hook onto or reward our natural knack for observation?
- this is part of the intent with html garden, where you are rewarded for “zooming in”
- how could you apply this in an actual tool?
- What would it look like to make software that required or at least rewarded maintenance and care? there’s this art project that jacky zhao sent over about words that disappear when you don’t attend to them
2023-03-23
2023-03-21
Intention: for tomorrow, work on html garden and finish summer of protocols and work on some stuff for the for love and science sfpc class project Conclusions:
- I’m thinking about streams again and writing my “streamed sharing” blog post. In preparation, I should really read all the specs around open-data formats, like rss, json-ld, and atom and json feed (https://jsonfeed.org/)
- https://interconnected.org/home/2020/04/16/rss_for_books
- get Tom Critchlow and Matt Webb’s feedback on this
- a work-in-progress social network for work-in-progress screenshots and feedback.
- finished my summer of protocols application!! finally got to a spot i feel pretty good with over the course of last night and today
- for internet research lab articulate what they imagine a space like this would be used for. 📅 2023-05-29
- vector festival 📅 2023-03-22 ✅ 2023-03-23
2023-03-20
- There is certainly a lot of hype over the LLM stuff, increasingly so with the release of GPT-4 lately and its ability to accept multimodal input (images)
- idk how I lost this reference, i guess I never wrote it down? but thinking about Ise Jingu
- #ideas/art a communal website which the community gathers to rebuild every 20 years like Ise Jingu so that we pass down our handmade processes for creating sites to new generations
- we need to cultivate more of this in digital spaces: “tokowaka (常若), which means renewing objects to maintain a strong sense of divine prestige in pursuit of eternity, and as a way of passing building techniques from one generation to the next.”
- talking to raymond zhong about summer of protocols
- take all the diff movements and collectives and founding arcs and try to come up with metaframework around them . ICO culture
- venkat vs. soft people
- im going to write a 2500 word essay on chill
- do the plain-text protocol one, but in application focus on the GPT aspect of it
- find diff examples of GPT as emergent protocolness
- make your investigation about emergent protoclness
2023-03-19
- Intention: [03-19-23 10:59:45] starting off late today but going to do some work on html garden, finish my parallel play in digital spaces post and start on the art of collecting and also start my summer of protocols app.
- spectrums of collaboration
- read through the source material and the guiding essay.
- overall, very excited about this program and it’s intersectional approach and perspective towards protocols, and I think all of it aligns heavily with my research into tiny internets, small persistent data and bulletin, especially creating protocols that are sufficiently evolvable and environments that create “conditions of exceptional serendipity”
-
This characteristic yin-yang feature of successful protocols is at the root of their unreasonable sufficiency. Good protocols seem to strike a robust balance between ensuring order at some loci, and inducing serendipitous creative chaos at adjacent loci. As a result, within their sphere of influence, they create conditions of exceptional serendipity, or at least significantly reduced malevolence, as in the example of public health protocols.
-
- My angle should emphasize the intersectional work I do and how I care a lot about shaping culture.
- #research/questions should definitely experiment with LLM text protocols and langchain
2023-03-15
Conclusions: SO MANY THINGS I WANT TO DO AHH
- #ideas/website a plant shop for your website where it gives you a plant that grows over time without requiring any state management of ur own using a seed date and an L-system and an interval specification. you have to “prune” it by updating the url it pulls from with a new seed date
- #ideas/website konami code for websites where you have a simple API call that gets the code key, anyone who does it can have access to elevated privileges
- tools for ritual making
- the art of collecting
- #ideas/software riff on my coda trojan horse thing where you have a table that is append-only when embedded to replace lists that you want to be collaborative inside an essay. e.g. wanting to make a list of spectrums of collaboration and wanting to solicit communal feedback. (or can you easily add these from a twitter thread where you ask? also thinking about instagram polls and wanting to convert those)
- our sites of distribution and collection are completely disconnected from our sites of storage and preservation small persistent data
- interesting method people use to keep repl.its active by using different schedulers to consistently ping a replit so it doesn’t go down.
- this circumvents their pricing plans and needing to fund an always on repl
- #ideas/software a replit/database-like wrapper on top of coda? Cambria-style transformations for schema upgrades
2023-03-14
- mathu wrote up some thoughts inspired by bulletin that she sent over to me. core idea is struggling to find a place for dream lists rather than todo lists. She writes, “The thing is, the tasks I’m doing instead aren’t things I even want to be doing. It’s because they’re easy.” This reminds me of the prioritization matrix and the constant struggle to carve out time for non-urgent essential things.
- This also makes me think about the underrated effectiveness of group chats for accountability and the folk practices of sending an emoji or picture whenever you’re at the gym.
- #ideas/software simple “recorder” thats a stopwatch x apple watch tracker where you just click a simple button to track things in a simple burst. when you want to count things but also get the time of each count. ^16d588
- #ideas/software make a simple iphone app that is the app-version of my i love living practice? it could function as a tiny social network site in of itself, where you could see the logs of people nearby. or some global feed of it all happening? ^f542f9
- #ideas/software a tool that takes in a list of things and surfaces them to you over an interval via some communication method. spin-off of bulletin?
- added a homepage for bulletin. honestly idk if worth but whatever its there now lol.
- actually got something working for html garden at like 3am lmao
- didn’t use bhavik’s method because it got too complicated to keep track of all the things. just added elements procedurally wherever the L-system was already drawing
2023-03-13
- posted my research memos for today, yay! ✅ 2023-03-14
- manny’s training session and worked until my head was hurting too much. revived with taishoken solo meal
- things to do later today when im out of energy
- email henry zhu with notes ✅ 2023-09-05
- email may li about spaces for internet research lab popup ✅ 2023-09-05
- write something that captures the essence of this
- reply to kristoffer + elan ✅ 2023-09-05
- what is the public good version of VC? — sent out to some people
- [03-14-23 01:43:19] ok i need to go to sleep now. I finished my sfpc link and sent it out, responded to a bunch of emails, and actually started and finished an idea draft.
- I need to find a better way to share my ideas and thoughts. I need my own garden on the internet. Something that feeds from my obsidian out?
2023-03-12
Intention: new inc, parallel play in digital spaces
- finished new inc finally. for tomorrow, publish post on play, update unintended commons with the internet checkpoint stuff, progress on html garden.
2023-03-08
- launched we-bsite to the world!
- talk with 2023-03-08 daanish (got recruited hard lol. but also nice to be wanted this much) and 2023-03-08 henry zhu, so many good ideas and shared philosophy!!
2023-03-06
Conclusions: I need to stick with something for at least a few days of concentrated effort
- all morning working html garden, learning about l-system and implementing a basic page.
- next up need to try what bhavik suggested. It’s so nice and such an exponential boost to have people that i immediately “go to” for help about certain things
- 2023-03-06 sahil
- small tools should write something about small tools and making them accessible to people without programming
- use the polline and poems.verses.xyz examples, i guess this is basically serializing to text
- comments section
- SO MANY APPLICATIONS SEND HELP HOLY SHIT
2023-03-05
- For html garden reading about l-systems
2023-03-04
- 2023-03-04 raymond ef schemes
- invisible protocols — all social protocols are like this. there are a lot of protocols that govern our behavior. a lot of norms around protocols fall away when you consider them like this
- summer of protocols
- how to allow for intersection between different social worlds in a way that feels right?
- right now its frenetic and competitive
2023-03-03
- I’m thinking about the poetry of computing as I read Upstream
- she writes about an elemental poetry that concerns the spiritual condition of the body. It refers to a wakefulness, an awareness, an attitude towards the world.
- #research/questions What is the equivalent of this sort of attitude towards computing? I think it is right to categorize agentic attitudes towards computing under this, but there’s something else beyond agency, where you look at computing and the internet as a medium for beautiful things. Is it that you look at the people and the emergent, natural phenomenon that come from it? This is a bit different (and maybe dangerous?) compared to the way you would look at the natural world because it is, after all, not natural. It is a product of man, and by power-hungry corporations and militant nations, no less. It is poetic to bear witness to and honor the very human, poetic parts of the web, but we also need to remember and work to correct the flawed bases upon which these come from.
- #ideas/software general purpose sync protocol / service. just write reducers between two things, it will sync for you. general-purpose, community-run api layer of readwise small persistent data
- so u can “seed” new app w data and keep in sync
- like fastmail or packs
- cursor chat bur custom svgs
- im trying to order a cat thermal printer from aliexpress and failing
- a hot take on small persistent data is using html. It is very whole data and human-readable, and structured! It is also something people making the web are already familiar with
- BARISTAING IS HARD AND NOT CONDUCIVE TO RESEARCH TIL
- went to a HCI event hosted by Taylor Rogalski
- met derreck chow too, who is an inventor and digital media artist.
- i was explaining internet research lab to him and it was all a bit confusing until I really dialed into the software agency point and this whole thing as being something to advertise, market, demonstrate, dazzle with slant truth everyday people on the power and materiality of computing.
- internet research lab - memos
- his roommate, andrew sutherland, is working on poker chips as tangible computing, qr codes with an aesthetic hexagonal wood thing with a mini camera inside that scans the qr and automaticall y activates a set of actions.
- e.g. person of someone’s face opens up their telegram chat and adds a note in their note-taking software about them
- or a spotify record label plays that album
- also had a paper email system, at 9am every day, it prints out all the emails (that are relevant, personal, etc.) and you can respond inline
- also fun ideas around using a seal / stamp, etc. for special features.
- #research/speculations is there a future where everyone has a printer connected automatically to their machine? and that becomes a new digital-native mailbox that is also embodied?
- also had a thermal printer which he wanted to carry the group chat around
- I had an idea of hooking up the thermal printer for each other, like we chatted about on poetic computation server
- very cool set of digital and analog tools to help him in these explorations
- atherford
- anybeam
- met derreck chow too, who is an inventor and digital media artist.
2023-03-02
- make a feed for your window updates, add RSS feed / API for it
- figure out my new newsletter styles research newsletters or distribution
- #ideas/software bag of tools ^ffb5e2
- contextual to a site, eg twitter should have italic generator
- iframes? can you store local state for people?
- how to easy input between? can you automate that?
- functions that take schema..?
- #research/questions can you turn websites into functions?
- #ideas/software new tab page of new tab pages
2023-03-01
Intention: learn how tuple stores work, if time, prototype a super simple version of one. Send out the bulletin stuff. Conclusions: data stuff is hard. but i think i have something to add, unless I don’t lose sight of my frustrations and my limitations in not being super deep on database stuff.
- internet research lab meeting 2
- steve krouse is heavily cautioning me from going too deep into databases without doing a proper survey and understanding exactly the shape of the problem that I am trying to solve
- Some good technical points around:
- small data (~10k rows): use in-memory JS objects
- fails if you need to do any sort of joins
- joins and/or larger data: SQL
- sucks to do any sort of advanced querying
- tuple stores: ??? in theory, the best of both key-value stores and relational stores
- small data (~10k rows): use in-memory JS objects
- Some good technical points around:
- on datalog and tuple stores
- The biggest motivation of a new “database” is the ease of interfacing, creating, actively shaping it as you are starting out.
2023-02-28
Intention: Figure out what is most pressing for me to spend time on this week Conclusions: I will answer the data question to the best of my ability. Mostly I’m changing the question to be “what is the stack that works for me.” In pursuit of that question, it’ll be mostly trying out a bunch of existing frameworks, noting what feels hard with them, and maybe a final breakdown post around what I would pick based on the shape of project I’m imagining.
- #ideas/software color check-in
- “what color are you feeling?” visualized as a color wheel ala poline
- what if my website color theme changed based on what color I picked for the day?
- “what color are you feeling?” visualized as a color wheel ala poline
- I need to set some priorities beyond just the log. I feel a bit ungrounded in what I’m exploring and doing. Let’s try dedicating the first two hours of the morning to just unfettered exploration, and then the afternoon can be dedicated to miscellaneous coding tasks that I know I need to do
- Interesting to see how often liberal arts are paired with “save the world”-esque questions that grapple with the state of humanity and ask themselves, what can poetry do? Why is this never done for computing? or when it is done, you see a corrupted version (or people automatically assume that Silicon Valley -> Venture Capitalists -> Facebook -> Bad).
- Even for dynamicland in Götz Bachmann’s Ethnographic Research on Dynamicland, Gotz pokes fun at Bret Victor’s grandiose articulation of the purpose of the lab: “to prevent the world from tearing itself apart”
- Even for dynamicland in Götz Bachmann’s Ethnographic Research on Dynamicland, Gotz pokes fun at Bret Victor’s grandiose articulation of the purpose of the lab: “to prevent the world from tearing itself apart”
- Started reading through steve krouse’s immense research log when he first started future of coding
- Stumbled upon StreamSheets, which has the hypothesis that it is “spreadsheets all the way down”
- static websites are solved, but dynamic ones are not because of the view update loop problem (“the fact that interacting with the interface will affect that very interface.”). This seems to be solved by all the new work on creating natively reactive programming environments.
- Steve notes that in spreadsheets, “there are no events that modify data. The only way to modify data is to directly modify the data in a cell.” The implied condition here is “programmatically” or in response to user input that is not directly modifying the end-data itself. This is notably different in the advanced spreadsheet-like interfaces of today like in Coda, where “stateful actions” are run outside of the core calculation loop.
- Steve calls out FRP systems and how to wrap your head around what makes a programming language declarative vs. imperative. Here’s a post from Huayi, a core author for Scala, that talks about it
- It is not extracting out code into helper functions
- functional programming is about knowing the dependency graph of each step in advance.
- functional programming is the kind where it is clear from the code what dependencies are for each step. This means it is much harder to make easy mistakes because your linter / code editor will catch unresolved dependencies or variables.
- ”The core of Functional Programming is thinking about data-flow rather than control-flow.”
- Also reading about his startup before zaplib (Compose)
- basically a new database / development system for easily building full-stack apps
- Interesting concept of full-stack components, things that span both front-end and back-end rather than one or the other.
- his concept of end-programmer programming which is the “mission” of val.town makes an appearance here
-
End-users that are also programmers will be able to live-edit Compose apps that others have built, bringing their live data with them. The data is in the component, so simply plop the component where you want it, and edit it how you see fit. The data flows through, no matter where the component lives: in the original app or in a totally different one.
-
- pivot to focus on junior React developers. Framing as a “severless backend framework”
- also relevant that the proof that it’s better than just Firebase.
-
Our pitch is a whole backend without leaving React
- I think this is missing the ability to actually see the data and play with it and modify it manually? like I want a smart, automatic flexible “admin” panel for your data effectively
- boundary-less apps. Open address-book
- Stumbled upon StreamSheets, which has the hypothesis that it is “spreadsheets all the way down”
- found crul, which markets itself as giving the ability to “Query any Webpage or API”
- It leverages using your local machine / your own hosted server (via docker image) seemingly to keep it free?
- Interesting to see all these val.town-flavor products launch in the past few months
- Reading Götz Bachmann’s Ethnographic Research on Dynamicland
- An articulation of artifacts which resonates a lot with the kinds of things I want to create in my research. They are about promises that are still open for people’s hopes and dreams”
- These prototypes were “working artefacts” and “traps for potentialities”, a form of poking in a “space of possibilities” Bachmann, 2019a, p. 284; citing Lucy Suchman and Alberto Corsin Jiménez: “It was about speculating together and in the form of artifacts, in order to gain some intuitions for properties of the new medium.”
- “prototypes were also “promise-artefacts, which are to be read as a promise, as evidence for the promise, and as promising even more than what it evidences, all at the same time.” ”
- bootstrapping: use what they build to boost their own effectiveness
- An articulation of artifacts which resonates a lot with the kinds of things I want to create in my research. They are about promises that are still open for people’s hopes and dreams”
- scheming for the html review, need to convince max that i can get these in for this issue.
2023-02-27
- Finally watching the Coco talk or blog post and lots of crucial details that are important inspirations for thinking about communal computing
- Co-creation over Collaboration
-
We consciously chose to design the CoCo space as a shared digital space for co-creating projects in real-time and not necessarily for collaborating on the same project in real-time.
- parallel play in digital spaces
- “signals” for talking to each other.
-
Creators can use these blocks to make their project trigger something in their peers’ projects in real-time and also get to see the outcome instantly
-
- Collaborative experience where you move in-between people’s spaces rather than all sharing the same space
- in this image, each square grid is another person’s space:
- in this image, each square grid is another person’s space:
- “programmable material that young people can tinker with and use to build new kinds of shared creative experiences with their peers.”
- Focus on being truly alive. This really gets at the crux of the co-option of language and imagination of possibilities by large platforms and companies. Coco shows that spaces are live, not when audio and video is shared, but when people can play together in parallel. It is the difference between a playground and an arts and crafts workshop with a lecture and a rigid workshop
- concept of “Corridors”
- Inspired by MIT Infinite Corridor
- this is not super imaginative tbh. it just looks like any other product design space with infinite scroll and grouped by archived vs. active.
- #research/questions the only way to stroll on the internet right now is scrolling and opening new tabs. what does internet walking look like if we try to emulate the richness and openness of walking physically?
- how do you get the safety and the curiosity of exploration?
- you probably need things to not be so structured / uniform. Maybe borrow some generative grid layouts or something like bento.me
- how do you get the safety and the curiosity of exploration?
- #research/questions the only way to stroll on the internet right now is scrolling and opening new tabs. what does internet walking look like if we try to emulate the richness and openness of walking physically?
- good call-out on saying what you are trying to do is not the same as achieving it. The end result is vastly different based on the context and environment and what kinds of behaviors they encourage
- “self-less” social platform
- no individual profiles, everything is inextricable from the shared space
- can this be destabilizing though? what if you don’t have a group to start with? How can you retain individual expression but also have the group?
- Their phrasing is more generous than I am making it out to be. They are talking about how to become “free from the self” which is free from the anxieties and pressures to be special and unique and stand out.
- #ideas/software infinite canvas layer for are.na
2023-02-26
- deep-dive into the projects and research of vincent li
- He wrote a lot about making space digitally, like a home or a garden.
- On the home, he provokes how we can create communal spaces, ones where parts of it are inherently apparent with who shaped them
- On the garden, he draws the spectrum from wilderness -> garden -> lawn
- Garden strikes the right middle balance between too manicured and fake and wildness. It’s not quite taming the wilderness but cultivating it in a way that preserves the natural beauty
- It incorporates revisiting (memex, spaced repetition, etc.) and growing via sharing it out to people (distribution)
- He wrote a lot about making space digitally, like a home or a garden.
- smile exchange is super interesting
- discovered open stories format, which is “a syndication format for distributing stories to friends and families.” It consists of a web component (
<open-stories>
), a JSON Feed 1.1 file,- it also has a corresponding open-hearts format for an open protocol for “liking”
- the example set-up for this just uses a glitch project with a persistent JSON file for storage
- what does the equivalent of this look like for general-purpose data collections?
- it also has a corresponding open-hearts format for an open protocol for “liking”
- for personal website, i should add a blogroll
- jacky, chia, katherine… vincent li
- serializing to text for streams, I really want it to merge with texting journal. I want to be able to cultivate this research log in plain-text (and mostly in private), while also being able to cultivate and contribute to legible, living collections that are public for me to get feedback from others and connect with the real world. ^c7214e
- Deep research has to be done in a quiet place, where you can cultivate your own, original thought, but it is meaningless if you do it all in a hole where no one can understand you.
- This is how you bridge the tension that is inherent in chet’s philosophy of the “individual genius.” It is true that it is hard to nurture what you really think if you are always surrounded by other people (and naturally their opinions). But it is also true that seeds of ideas flourish and exponentially grow when brought into contact with the world and everyone else who are generous and critical with them. You need both the original “hermit” thought as well as the cambrian explosion that results from wild, unmeditated encounters.
- What could syntax look like for this?
- found this note from 2022-10-19#ideas/writing
- i want to create creativity infrastructure, art infrastructure, gardening infrastructure, connection/intimacy infrastructure
- “we shape our tools and thereafter our tools shape us” has always been used as a reminder from a functional and creative lens—bret victor championed fast feedback cycles and traversable abstraction and embodied interfaces
- what about from an emotional aspect, from a human connection perspective? what do these principles applied to space making look like? what does it mean to make a home on the internet? what does it mean to make a cozy library in your software, in your tools and apps?
- how can technology become a shapeless medium for expression, something that we can use to make beauty and function, to remember and celebrate, to love and bump into.
- i want to create creativity infrastructure, art infrastructure, gardening infrastructure, connection/intimacy infrastructure
- email to maxwell neely-cohen about the html review
- #ideas/art#ideas/software i would love to make a participatory, ever-evolving poem or set of poems using the open-source library i made (demonstration: https://poems.verses.xyz/ | source: http://github.com/jackyzha0/telescopic-text/) or everest pipkin’s ravel. Currently poems.verses.xyz is “participatory” in that each person can submit a new poem of their own, but I’d like to explore what it looks like to take that another level deeper. What would it look like to create poems that are ever-changing, where people can contribute and add to the same source? What does an infinite canvas look like or unfold when it blooms in the context of a poem? I imagine having a seed of a poem(s) that is(are) open-ended in bullet point / expanding format that people can add sub-bullets to.
- This could also potentially take the form of a seasonal website where every day a new poem is released over the course of 7 days (perhaps over the length of a japanese microseason)
- #ideas/art#ideas/software another riff on the seasonal website idea, i’d love to make an artifact that explores what a “seasonal” website looks like. I’m taking inspiration from robert irwin’s design of the Getty Museum’s Central Garden, which changes with the seasons (different plantings for each season, so the shape and look of the garden dramatically changes). It rewards the visitor for coming back and noticing, something that is scarcely the case with digital spaces. I imagine a website that changes over time, that grows and rewards people for coming back over and over. Perhaps a literal generative “garden” that evolves with your visits, each time yielding more seed growth.
- #ideas/art#ideas/software final idea that popped in my head, something that is an ode to the comments section. I’ve been writing and thinking about how these are always in the liminal space (stuck on the side, an add-on) but it is also the one space where people can find agency and express themselves. What would a net art piece where the comments section is the “main piece” and the “content” is on the side look like? maybe a long essay or video or something about this very phenomenon goes on the side and the comments section is the main thing. comments section ^e39dbc
2023-02-23
Intention: ok actually reach out to ppl interested in bulletin
- #ideas/software library for different text operators
- how to compose diff operators for text? like telescopic text and ravel and katherine’s poetic stuff
- can you have a collaborative text editor site where anyone can add their own editor / library?
- #ideas/website riff on digital fingerprints but stamps, everyone can bring their own stamp or draw one and stamp around and they fade over time.
- #ideas/writing on serializing to text and the value of that
- #ideas/art physical embodiment of a group chat
- 3 speakers in triangle
- with computers that anyone can join in
- https://www.npr.org/sections/coronavirus-live-updates/2020/07/17/892195741/app-lets-you-destress-by-screaming-into-icelandic-wilderness
- ummm might collab with midst press????
2023-02-22
Intention: get bulletin in a place to be make open-source and submit to chrome store
- so close to getting bulletin open for people to start using
- 2023-02-22 rishabh
- #ideas/website a guide / companion to taking walks on the internet
- riff of wanderprompts.com
- could be a browser extension that has a little window every once in a while, or how else could you “take it with you” as you walk on the internet?
- could it be collaborative and you could see other people’s walks?
- if you really wanted you could make it such that you could follow other people’s walks too
- this is very related to the explorations around tiny internets and waypoints, especially to the “roller-coaster” idea of getting taken on a ride
- could you leave little things for people to pick up on your walks? that lead them into your own walk?
- lead into tiny internet-esque scavenger hunts..
- #ideas/software natural advertisement / distribution the fight for the open internet and AI
- prompting with other related websites (“sibling” websites) when relevant. e.g. the guide to walking on the internet could prompt to go to wanderprompts.com to take a walk in real life.
- it’s cool to see people incrementally peeling back layers of computing
- https://healeycodes.com/my-own-python-web-framework
- What things do I want to do this with?
- conversation with raymond
- https://blipnotes.app/
- talking about streams
- everyone should be able to make their own streams
- bullet points for database journaling
- diff personas
- nested bullets are threads
- bullet points are the easiest database interface
- what if JSON was just bullet points
- YAML? too granular not fine-grained, too fragile / breaks things
- why does no one use YAML
- what is a good (safe) separator for this?
- subconscious = computer history museum urbit
- when’s the last time you made a database(?)
- when’s the last time you made a list?
- “CRM” - bullet point list of emoji, name
- two kinds of solidness out there
- local-first solidness
- everyone uses it (regardless of whether good or not)
- sf is the right place for communal development
- new york ppl are not actually publicly-oriented or for the commons
- 0xparc used to be good but 2nd generation all about creating own fiefdom
- new york ppl are not actually publicly-oriented or for the commons
- pureness of craft / people / companies
- rauno is pure, browser co is not pure
- texting journal
- #ideas/interaction a plant that grows with the number of unique visitors
- a lot of live / evolving interactions come from turning live data into some generative / artistic thing
2023-02-21
Intention: get bulletin in a place to be make open-source and submit to chrome store
- 2023-02-21 rob hardy rabbit holes session
- people who believe that we need a beautiful internet and need to do it by all independently creating our own spaces, but how do we plug into actually collective spaces? how do we honor the ways people are already showing their own personalities?
- personal / communal search engines
- wiby.me from kristoffer’s magazine entry on a short guide to meaningful walks on the internet
- https://wiby.me/about/guide.html
- #ideas/website#ideas/art “undecided.site” - returns a bunch of different sites randomly using DNS records (i guess you could also do this via redirect but that’s less fun)
- #ideas/interaction take deep breaths and press spacebar each time you swap from inhale to exhale and average them to make a custom-tailored breathing animation (could use for bulletin)
- the structure of data must allow manipulators of that data to be embedded in-context. whole data is critical to a new, better data interface
- chrome browser tools is a very good example of this. you have so many affordances for manipulating the data with it in-context. And not only is it in-context, but the actual tools for manipulating the data are contextual and specialized to the kind of data it is.
- a slider for numbers
- rotator for ???
- color picker
- chrome browser tools is a very good example of this. you have so many affordances for manipulating the data with it in-context. And not only is it in-context, but the actual tools for manipulating the data are contextual and specialized to the kind of data it is.
2023-02-20
Intention: send out employment status, final touches for we-bsite, get bulletin in a place to be make open-source and submit to chrome store
- communal computing or digital gardens revitalized
- 2023-02-20 jackie liu
- 2023-02-20 eugene
- #ideas/writing how to bring ideas to life to test them
- ruthlessly cutting the fat until you’re left with the main idea that you can quickly implement
- reference conversation with anshul
- #ideas/writing distributing your work, advertising for yourself
- fixed up a lot of merge conflicts from jacky zhao merging my work with his on we-bsite omg lol at some point i need to teach that boy how to do merge conflicts properly
- actually a bunch of buzz around bulletin from me posting the demo on twitter.
- set up local storage for the prompts
- set up option to post to URL with the content
- hook up a list of data via an are-na channel or arbitrary non-auth URL
- set up local storage for the prompts
2023-02-19
Intention: send out the research update!!!
- https://newpublic.substack.com/p/a-social-network-taxonomy?publication_id=20698&post_id=102773854&isFreemail=true
- VSOPs: Very Small Online Platforms.
2023-02-18
- update the bulletin to just automatically keep going and cycle the prompt ✅ 2023-02-18
- ^c49039
- What if you really just had a whole setup phase of copying a doc, creating API token, and then having them paste the API token. The API token doesn’t need to be encrypted because it’s completely local to their machine. It doesn’t work unless you provide your own database and there’s a temporary service for making your own database
- could do this with airtable, google sheets.
- This is effectively what people do with localstorage (like with glance back), but it’s a little more stable since it’s duplicated somewhere else
- Maybe for bulletin, by default it all stores locally only with a fetch from some remote source (with optional authentication), and optionally you can add a remote “persister”
- What if you really just had a whole setup phase of copying a doc, creating API token, and then having them paste the API token. The API token doesn’t need to be encrypted because it’s completely local to their machine. It doesn’t work unless you provide your own database and there’s a temporary service for making your own database
- added a bunch more stuff to employment status, ready to send out to people and get distribution
- almost done with the unintended commons post. Need to send out tomorrow.
- Set up obsidian/quartz for publishing weekly research note digests? 📅 2023-02-24 ✅ 2023-07-12
2023-02-17
Intention: send out laid off project to people, send out research log update, reply about we-bsite stuff
- Investigate and fix the personal website loading time ✅ 2023-09-05
- bulletin auto-embed for links with matcher (can possibly use iframely) and then further control over the actual embed, remove the annoying parts
- this would be an interesting exploration. not only adversarial interop but adversarial provenanced extraction? it’s honestly not even that adversarial, in that it’s still driving traffic, but it’s adversarial in taking agency over how that content is embedded.
- For example, tiktok has a very aggressive embed
- main URL: https://www.tiktok.com/t/ZTRsp165g/ -> CDN video url https://v16m-default.tiktokcdn-us.com/c9c3d7a9212b02690c6ecc99a77afd74/63f02cad/video/tos/useast2a/tos-useast2a-ve-0068c001/oAhRsLUKDnvI02z3BQNyfGAJQeIvzBFKBpyjnE/?a=1988&ch=0&cr=0&dr=0&lr=tiktok_m&cd=0%7C0%7C1%7C0&cv=1&br=1004&bt=502&cs=0&ds=3&ft=4bBsyMzm8Zmo06cBL64jVb4.dpWrKsdm&mime_type=video_mp4&qs=0&rc=ZTQ4O2lkOGVkaDc1PDUzNUBpM2ltNTY6Zjg8aTMzNzczM0BhNDAvYC4vXy8xNl4yXi02YSNtYzIwcjQwcjJgLS1kMTZzcw%3D%3D&l=2023021719403234421E5E770B99184CAD
- before
*
- after - but what if you could remove all the banners and likes and stuff? actually very similar to the mini-player arc shows
- also maybe for atten can test hiding the feed by default and clicking to show, with some programmable delay. probably can move my components outside of the main timeline component and then toggle the display mode on the timeline component
- should tweet out the prompt thing at least 📅 2023-02-19 ✅ 2023-03-26
- #ideas/software how to make lichen-like digital noise?
- l-system lichen
- noise backgrounds
- all morning on we-bsite where I merged the past fingerprints, fixed the data, and did misc other styling improvements
- i looked up distributions and tested a bunch of different ones for deterministically (for each color) but randomly positioned putting the points everywhere
- it’s been nice having this very live moment of jamming with jacky zhao and learning more about our collaboration style together. it’s very smooth and super generative and also has growing moments like when i gave honest feedback and he felt very disappointed and had to step away
- I set a 15 min timer at 1230 when i noticed the time to remind myself to take a break. I kept pushing it back because i was in the flow and went for another hour until I finally was like im at a good stopping point
- would be really nice if you could use coda to provision user databases to each person. ^c49039
- wait what if i just build this exact thing? a simplified table editor in the same way as coda that users can spin up and then take anywhere. each table has a unique API url that is protected by certain access tokens.
- this is basically a super super simple version of supabase where instead of being based on any sort of scale thing (that comes with a bunch of complexity like postgres), it uses some super simple backing database like… sqlite? json? idk need to figure this part out small persistent data 📅 2023-02-19
2023-02-16
Intention: Today I want to finish the laid off project and send it out in earnest and also send out my first research log update. I also would like to go for a run since it’s been a while since i’ve exercised. I think I need to cut down on the number of meetings I take every day and actually set aside some dedicated time for meetings all at once.
- 2023-02-16 jon borchevsky
- #ideas/writing question to ask yourself is “do you want to be known as X-company guy” or do you want to be known as “spencer”? a reflection on setting out on your own
- even when the things are so close to your heart, even when there is so much foundation to build off of, in the world of work and craft, you have to sometimes let you darling rest and violently separate from what nurtured your wings and form your own nest
- when you have follow-up questions and ideas burst from engaging with a material is when you know you’ve gotten to some basic understanding of it. this as a critical threshold for learning
- 2023-02-16 kevin chang
- VERSES HOUSE IDEATION
- we-bsite working with jacky zhao in person!! it was super energizing to jam in person and reminded me just how well we work together and how generative it is.
- in the span of a few hours we did
- revamped wax seal
- fun sheen effect
- random procedural rotations
- past fingerprints
- in the span of a few hours we did
2023-02-15
- internet research lab conversations, the plan is a july pop-up! so many exciting ideas including a shelf of living, communal prototypes, a communal code sidewalk library, and having a public art gallery-esque interactive computing gallery.
- the core is that there is a safety and fulfillment in going once and knowing that your work will be saved, that you can come back and pick up right where you started at any point. That’s the magic that digital mediums offer
2023-02-14
- lots of work on employment status, got the diff modals working and better understanding now of framer motion, radix ui, and nextJS
- i do feel like im learning so much more about actual useful technologies here than in my coda work lol
- desire paths on websites, how do you create trails of cursors past?
- what if links were darker depending on how much they were clicked on or how much time people spent there?
- #ideas/software tiny npm library that helps with input / textareas that act like live preview where you want to display the text diff from how you edit it
- just did this for employment status
- you can do custom transformations
- there’s such an intimacy in reading people’s code just like reading someone’s prose or poetry.
- reading glance back’s unminified source code and I find all these easter eggs maya has buried in here, like console-logging a random computer thought or scrambled gibberish to signify the transcoding process
- #ideas/website website idea: graveyard of words that have been co-opted by capitalist ends
- exs:
- 3rd space
- alignment
- hacker
- can poetry somehow reclaim those?
- exs:
- what is the world where database engineers are rendered obsolete?
- ex: we had a guy at coda who was our “database guy” who has worked on database systems for 20+ years, doing heavy optimization of postgres, etc. He manually fixes a lot of things too. What if this role was entirely obviated by the state of infrastructure?
- databases are probably the ultimate killer of app ideas.
- amelia wattenberger: ^d49068
- levels.fyi used a google sheet to scale up to millions of users
- most apps are just CRUD and just need a simple database and don’t have a “concrete” schema in mind at the very start. The most important thing at the start is having a rough schema that you can easily change
- easily change = be able to add, update, delete columns as well as easily map existing values to other new column values.
- Database migrations are the opposite example of this. You get a lot more expressibility, but that is because it is designed to handle migrating any scale of data without data loss, but at the beginning, it’s mostly hard-coded data anyways that you is small enough to manually correct. How could we loosen the margin for error here to yield a lot more flexibility and ease of use?
- Most apps just need the form layer as an input and a table layer as a database. If you want to get fancy, you can wrap the form in your own custom website and hit the API yourself. If you want to get fancy on the server-side, you can have your own server handle requests to the “database” and add caching, static site regeneration, and more.
- easily change = be able to add, update, delete columns as well as easily map existing values to other new column values.
2023-02-13
- #ideas/software incremental static site regeneration but for github pages, by leveraging some workflow to continually push to git
- got the fingerprint working for we-bsite. Honestly, I don’t know what to make of it, but it’s provocative
- it was cool to really dig into yjs docs for the first time today too. Beyond the shared document that stores an entire list of operations in a persistent manner, with the use of a signaling server to propagate new changes to peers, there is a real-time-only awareness layer that just propagates live changes between peers. This is used for local state that doesn’t need to live in the document, where changes don’t need to be recorded and just communicated between peers like cursor positions, active highlights, etc.
- I still really want to experiment with a persistent server for these lasting effects that go beyond linear things like text editing
- #ideas/art/exhibit two rooms: 1) room with very expensive items but with low quality LED lights so everything looks dull and bad 2) another room that you enter next that has everyday objects and “trash” strewn around but with super high quality LED lights so they look beautiful.
- ideally these combine into one room and somehow you can achieve the effect with just strategically placing the LED lights?
- low quality LEDs cant reflect light so things are dull
- cri - metric for color spectrum
- light pipe
- #ideas/software “human search” where it leverages google but gets rid of all the SEO-farming websites. talk to it like ChatGPT rather than google bc you can actually assume its human
- e.g. “fun ways to type up a poem and print it”
- filter to sites / places that are not SEO-friendly
- regex to ignore “X ways”
- regex to encourage certain TLDs (.me, etc.)
- leverage a communal index for things that are good and bad
2023-02-12
- progress on bulletin, got the prompts working and actually storing the answers
- https://vimeo.com/798219526
- thinking again about open databases and the easiest way to persist data for a new app in a way that you can also easily change.. it has been such a trouble getting it for this, using the chrome storage is a PITA because of storage limits and storing it in coda was actually one of the easiest
- the big simplifying mechanism is if you are able to bring your own data storage or persistence method (like with Shortcuts and using iCloud or Dropbox or even Notes as your persistence method, this is obviously not great for structured data though, but you could imagine doing it with something like JSON or csv or sqlite even..)
- coda for ex would be amazing as a store for apps if everyone could just bring their own coda database for it
- You could imagine an app flow where you click a button to create your own database using X thing where it automatically uses the API to set up your “database” in a file for you and also generate an access token to that specific file for reading and writing. then the app just stores everything in the format that it needs to that file, relying on your access token and your persistor’s APIs
- this only works because everyone bringing their own databases removes the need for scale… if you don’t need to host everyone’s data for them then you get around all the complexity of scale and permissioning and translation (because you are just persisting the exact state)?
- see jacky’s much more comprehensive and technical thoughts on this
- next for bulletin - add the prompt stuff to new tab page ✅ 2023-09-05
- imagining a communal software future
- thinking about how to make use of the old mac that i saved from the streets of SF
- also how to apply the principles of tarot (a conversation with your latent / subconscious self through the medium of what you notice in a specific card you pull) to creating rituals for reflection and cultivating growth
2023-02-10
- announcement post went out! a lot of encouragement from my network
- a lot of resonance specifically with the modular networks and folk computing stuff
- demos and chill SF gathering event
2023-02-09
- session with with jamie for feedback on bulletin
- desire for freeform metadata about rich media
- prompts: “what do you notice” (about art)
- some way to share the same artifacts.
- guy at SPC who makes minutiae app, nice prompt for all the minutes of the day, got me to pay at least lol
- desire for freeform metadata about rich media
- #ideas/software easy polaroid image maker (drag + drop images and style them in a polaroid like aaron lewis does)
- thick white border, apply some color styling, optional grain, and randomized bent along specified range, should support easy galleries too and then exporting the whole thing as an image or as html?
- 2023-02-10 matthew siu
2023-02-08
- we-bsite almost persisting fingerprint and user color
- had to deal with stupid bug around creating a new object re-triggering and infinite render loop ugh
- great conversation with jacky and raymond about the future of data
- “we have all the right ingredients, if we keep meeting, soup will emerge”
- walk with andy which spanned games and authored environments, social broadcasting and safety and what is truly async communication, ambient awareness, stochastic data gathering and attention processes.a
2023-02-07
- bulletin first prototype almost fully working!!!
- had to fix bug with next directory conflicting with the extension stuff
- moderate refactor got things showing up
- then had to deal with reloading it each time the url went back to home and also only showing it once
- tried a bunch of diff solutions including mutationObserver on the page and a semaphore but only got it working reliably by using the chrome API for tabs updating and keeping track of the old URL to de-dupe
- for love and science sfpc class where we talked about ancient technology and bodies as technologies and technologies as emerging from collective desire. its a really beautiful look at what technology could be
2023-02-06
- worked on we-bsite, almost there, got the fingerprint working and contacted kevin chang about the mmm.page bugs for not letting helena’s manifesto show up
- Thi Nguyen Games as Agency book club event: learning how to make different games that stretch and test your agency in different ways to push you to grow and see in different ways. the right kind of gamification (striving gameplay) rather than the point-oriented, goal-chasing kind that is often referred to as “gaming” now
- discussion of pubsub with raymond zhong and jacky zhao. Everything is pubsub?
- thinking more about small persistent data and my arena wishlist in hopes of making a better are.na…
- shared tab groups is one super easy entrypoint for shared persistent data collection
- almost finished my announcement post
- almost done with employment status too, sending around for final rounds of feedback
- send to layoffs.fyi person 📅 2023-02-15 ✅ 2023-02-23
- send around to people who got laid off that i know? ✅ 2023-09-05