So far this year I’ve gone headlong into what’s possible with AI development, specifically using Cursor. I’ve been using it to write code, write blogs, and even write this post.
The potential for “personal software” is profound here. There’ve been a few times already where I wanted a simple script for automating something, and it wasn’t even worth bothering to look around for pre-existing ones. I just had Cursor help me make my own. So I’ve decided to ship something once a month: a full project hosted and usable around a single idea.
When it comes to journaling and Morning Pages, I occasionally reference a list of journaling prompts I keep to help me get going. So in that spirit I built this tool, Muse.
Using a bulleted list of prompts in a markdown file, Muse will randomly display a prompt with each roll of the dice. I decided to build it with React and Expo to potentially make it available on mobile.
I’m not sure how much I’ll use it, but it’s a fun little project.
The source is on GitHub here. You can modify the prompts.md file to edit or add any of your own prompts, too.
Oblique Strategies was originally a set of cards created by Brian Eno and
Peter Schmidt back in 1975. Each card contains effectively a single prompt intended to help get you unstuck creatively. Prompts like:
Use an old idea.
State the problem in words as clearly as possible.
Only one element of each kind.
What would your closest friend do?
What to increase? What to reduce?
This site is an online version, each refresh showing a new random card. Interesting.
A common problem I encounter with computers is the everyday minor friction in workflow: the repetitive but only occasional task, or the tedious multi-step process.
Perfect example: the other day I wanted to batch resize and compress a bunch of images. It’s something I’ve had to do before, but not an everyday problem.
When you have a problem software can solve, it has to be painful enough to warrant the effort and overhead required to build something. Given my level
of knowledge, I could thrash my way through writing a shell script to do this resizing operation (probably). But it’d take me a couple hours of
Googling and trying and retrying to eventually get something that works — all for an operation that might take 7 minutes to just do manually. So
rather than automate, I just deal with it.
This means dozens of daily nags go on nagging —they don’t nag enough to warrant the cost of solving. And they aren’t painful enough to search for and
buy software to fix. So I go on muddling through with hacks, workarounds, and unanswered wishes.
But yesterday with a few prompts Cursor, in 15 minutes I made (or the AI made) a shell script to handle images that I can reuse next time. I didn’t even look at the code it wrote. Just typed 3 bullets of a description of what I wanted in a readme file, and out comes the code. An annoying process goes away, never having to search around for existing tools. Even if a solution did exist, it’d probably be part of a bundle of other features I don’t need; I’d pay for the Cadillac when I only need a taxi.
We’re moving into a new phase where personal software like this might often be the simplest path to a solution. In a world where we’re used to going to Google or GitHub, it’s now even faster to make your own. It’s cracked open new possibilities for people formerly incapable of creating their own tools.
Software used to be costly enough that those “hey this might be cool” ideas were quickly set aside when the cost/benefit wasn’t there. There’s
potential for this new paradigm of digital goods production to radically alter the landscape of what gets built.
This latest issue of Res Extensa riffs on an idea from wiki-inventor Ward Cunningham:
“Given what we’re trying to do now, what is the simplest thing that could possibly work?” In other words, let’s focus on the goal. The goal right now is to make this routine do this thing. Let’s not worry about what somebody reading the code tomorrow is going to think. Let’s not worry about whether it’s efficient. Let’s not even worry about whether it will work. Let’s just write the simplest thing that could possibly work.
I love this. I’m a huge proponent of getting started on something as an antidote to stuckness. Writer’s block, uncertainty, fogginess. There’s no
panacea that’ll give you all the answers, but the best tool for clarity is action. Getting started is the fastest path to finding what’s next.
When Cunningham says “the mere act of writing it organized our thoughts,” he’s speaking to this idea that it’s rarely possible to know the specifics of the goal (or the means to get there) until you get started. Starting on the thing kickstarts the discovery engine.
Nearly every time I’m doing anything creative — building a software feature, writing an article, building something in my shop — the final state ends up somewhere other than what I predicted at the start. During the process of making, I learned things, or I came to realize things I didn’t know I needed or wanted.
When you’re just getting started, you don’t know what the possibilities are yet. To know what to build, you’ve got to start
building.
Gordon Brander explores Meadows’s list of intervention points in systems, from her excellent book Thinking in Systems:
All systems are fictions that we project onto our environment for our own instrumental purposes. Those purposes are determined by our mindset, by the way we see the world around us.
If the pursuit of our instrumental goals results in catastrophe, perhaps it is possible to change our mindset, the mindset or paradigm out of which the system — its goals, structure, rules, delays, parameters — arises?
Her list is a useful set of reminders for how we can modify complex systems to tilt them toward desired goals.
“Truth is beauty, and beauty, truth” —John Keats
I’ve been on a kick lately trying to understand what informs the concept of “taste.” When we say someone “has good taste,” what do we mean?
I’ll have more to say on taste later. But this thread of curiosity led me to reading on aesthetics and what constitutes beauty. Sir Roger Scruton’s
Beauty is a great introduction to the subject, one I just finished earler this week.
In this short lecture, poet laureate Dana Gioia investigates the subject.
Is “beauty” a physical characteristic? Does it just mean something that “looks nice”? Something deeper is going on here that’s worth exploring.
Experiencing beauty happens in 4 stages:
The arresting of attention
The thrill of pleasure
A heightened perception of the shape or meaning of things
The moment vanishes
Initially we’re attracted to an unstateable something about the beautiful. The work of art, the pleasant mountain valley, the few lines from CS Lewis
that get stuck in our brains. Then comes the pleasurable sensation; we want to stay in that place and absorb it. We notice something about the
beautiful thing that seems to connect to a richer underlying reality — as when a mathematical fractal resembles the braided river or the veins in our
bodies. Then before we can capture it the moment disappears, leaving us wanting to find it once again.
He also discusses the tension between beauty and practicality, suggesting that beauty has the power to transform and inspire, fulfilling a deep human longing.
In this latest issue of Res Extensa, I wrote about the need to escape from the passive consumption trap. We wake up, pick up the phone, and wait for
algorithms to tell us what to read, watch, and listen to. Our attention is captured by things we didn’t even decide to give it to.
I’m making a conscious effort to return to engaged, active consumption as much as possible. Appreciating. Carefully reading and listening. Choosing specifically what I want to give my attention to.