Last week I talked about how I've shifted from expressing my values through the technology I use to expressing it in communion with the people I work with.
Ultimately what directs the values... is less the underlying technology (though that definitely has a significant impact!) but the people who beleive in it, and who see something of it in the future, and build it.
Here I'd like to dig into that parenthetical significant impact.
I don't beleive technology is arbitrary or commodotized. I think the choices we make around the tools and systems we use to build still exert an enormous force on what we build, and the values expressed through that.
I'm writing this from a room containing a desk, a chair, and a whiteboard propped against the wall. That's all it contains. We moved! To a place with more doors and walls! The plan is for this set of doors and walls to become our "office", the place for serious work.
In an ideal world, the qualities of this space, the information it provides and the actions it enables let me do a particular kind of work, pushing me to think and act differently.
Technology works in a similar way. It provides a possibility space of actions that you can take. Somethings are easier or harder to do in a specific technologial context than others.
On Ethereum, for example, it's easy to deploy code that behaves in a deterministic manner, at scale. This was possible to do before, but you would have to put an incredible amount of effort into it. Now I can do it with tens of lines of code. If my goals align with it, taking advantage of this feature of the space gives me incredible leverage.
The genesis of Fathom, a project I spent years working on, was just the the qualities of Ethereum bumping up against the ideas and problems I was thinking about around education and learning.
I wasn't looking for ideas that would be useful for those problems. Ethereum was just interesting. The traits of the technology were new, and made possible things I didn't think were possible yet 1. One of the ways I instinctually try and cope with that by applying the technology to the problems I'm thinking about.
“Richard Feynman was fond of giving the following advice on how to be a genius. You have to keep a dozen of your favorite problems constantly present in your mind, although by and large they will lay in a dormant state. Every time you hear or read a new trick or a new result, test it against each of your twelve problems to see whether it helps. Every once in a while there will be a hit, and people will say, 'How did he do it? He must be a genius!”
I think this is useful for getting deeper undestanding for problems, but also for the solutions.
I've noticed this same thought pattern in my head lately around Cloudflare Workers. It's a product that lets you write code that executes in Cloudflare's edge datacenters, giving you extremely low latency almost worldwide. The even cooler part is Workers KV, distributed, eventually consistent Key-Value storage that you can access directly from your code.
Basically this makes it easy for you to deploy code that interacts with large amounts of data that and runs with extremely low latency. Not impossible to do already, but Workers greatly reduces the effort required.
On a practical level of course there are constraints. You can only deploy a limited amount of code to a Worker. That "eventually consistent" bit in the Workers KV definition can get tricky.
But, these constraints contribute to the shape of the possibility space. In fact, they're helpful stable footholds for you to get your bearings with. Combined with the "globally distributed" aspect, the technology is extremely evocative. I almost can't help my brain trying to hunt around for a problem.
"A solution in search of a problem" is pretty much an insult at this point, but I think it's often pretty handy.
To me it's unequivocally a good thing to be able to think something is interesting without knowing what it's good for. And then that neccesitates trying to figure out what it's good for, problems for which it's the solution.
For Cloudflare Workers my current hypothesis is it might be a useful technology for areas where:
The direction this seems to be going for me is some kind of tiny social notetaking tool with contextual backlinks. Making something that behaves well as a broadcast publishing system and still is fast and scalable enough to use a general purpose thought dump.
Hopefully I'll get some time to hack on something towards this next weekend!
I can't resist here making some vague gestures at learning.
Right now, the two most important spaces in [hyperlink.academy] are the forum and video calls. They're where all social interaction we're organizing actually happens, but both leave a lot to be desired as a social spaces.
Lately, I've been 9-tenths joking about swapping them out for a minecraft server, or equally ridiculously, making a massive multiplayer game world in something like Unity or Unreal.
I know that video game worlds can be rich, vital social spaces. I've had experiences in them that prove this. And they're becoming more and more malleable. The technology is there to quickly develop and iterate on these kinds of worlds (that's how Fortnite, itself a malleable game at playtime, came to be after all). And I suspect for digital learning spaces we need something significantly richer than what we have today.
So, the technology and the problem will likely keep bumping around in my head. Hopefully we can discover something interesting from the collisions!