Skip to content


My Site Eats First

as it should be!

Character Image
<RAVENLOL> these greedy website owners!
Character Image
<SOCKRATES> as if posting on twitter isn't just sharecropping in a digital two-piece suit? or more aptly, a hoodie?
i have been trying aimlessly to find this exact gap hoodie ...


im all in on arbitrage

Recently, I've been obsessed with arbitrage. I've leaned in fully to the trade compute/space for extra data equation. Basically, the algorithm works like this:

If the work you are doing can be considered to be deep,

then it must entail focus and difficulty.

This focus will likely put you in a flow state,

under which you are likely to miss the valuable moments (phrases, if you will) during the process.

To reclaim these moments, the solution is simple.

Record what you do, and extract the value later.

Character Image
<SOCKRATES> eudaemonia is consistently connected to flow states, as i feel at peace when i'm put in the dryer at medium-low heat

In Twitch streamer parlance, "farming a twitch stream for youtube videos".

In programmer parlance, "abstracting useful code into a open-source library".

In writer parlance, "summarizing books into blog posts".

The idea is not to do any extra work.

Here's some quick numbers:

  • OBS (software to screen record = free)
  • Webcam and Mic (built in = free)
  • The work you were already planning on doing (time cost = free)
  • NAS Storage ($150-$250) or Dropbox 2TB ($10/mo) or 2TB HDD (~$70)
  • An hour of screen recording at 1080p = 3–4.5 GB
  • Videos per stream 2+ (the stream itself, and a time lapse (20x speed of a 1 hour raw video = 3 min of fast and interesting b-roll footage)) + (any edited videos from inside the stream itself)
  • YouTube and Twitch (free to host (as long as you don't use too much copyright audio – I like to jam, unfortunately))
Character Image
<LEDA> its HARD to flow without music!
Character Image
<SOCKRATES> Music is a catalyst for flow. Some of mankind's earliest flow states were attached to rhythm, or poetic delivery (like my idol Homer)
  • the memories and nostalgia you get from watching your old videos (priceless)
  • the reflection and deliberate practice and becoming less awkward on camera and spaced repetition from studying your old videos (priceless + increase your earning power)
"farming" a stream for clips
Character Image
<LEDA> don't forget to farm omegaluls and twitch prime subs, too!

Running a Zero Waste Flywheel

Put your dollars to work!


In the past, I've written that in my view, there is no way to run a sustainable business, especially as a solo provider, without leverage. Leverage, particularly in the form of a flywheel.


Energy input into the business system lose "heat to entropy" much like friction in physical systems.

Let's say that for a minimum viable product (MVP) – be it an info product, a car, or a house costs five units of energy to make successfully. Anything under this threshold is considered to be "crap", or unusable. The roof of the house will collapse, the video is unwatchable due to lag or audio issues, or the car's engine light stays on 24/7.

The math looks something like this: if you provide ten units of energy into your product, and five units are lost to inefficiency, your business will surely suffer. Your baseline entropy loss is 50%. If you are tired one day and can only produce eight units through willpower, you cannot produce a MVP, as you will only capture four units, despite actually providing enough raw energy input units to make the product. Or conversely, to print two MVP widgets, due to your 50% score, you need to put in four times the raw input energy unit just to output two units. Yikes! No wonder burnout among workers is so common.

The energy lost to entropy is the work devoted to externalities, communication bottlenecks, context switching, poorly attuned business practices, a desire to want to have things be as you imagine versus meeting them as they are, etc. All of these externalities share one thing in common:


To eliminate waste, we must create systems that have the job of processing waste. The flywheels I produce in my business aggressively seek to manage waste, while maximizing unbounded opportunity. This is key.

Zero waste flywheels are not flywheels of scale, they are flywheels of waste reduction.

A Real World Example

Here is my current, actual, GTM flywheel that powers my business of info products, optimized for minimal energy input and allowing me to do what I like to do while minimizing what I have to do and eliminating what I don't want to do.

For me, I like to:

  • write code for silly zero-to-one projects
  • read books

I have to:

  • publish my work (weekly newsletter, open-source repos, SaaS apps, videos, essays)
  • market my work (social media, word of mouth)

I don't want to:

  • spend any more time on social media than the bare minimum
  • video edit

These lists are not nearly exhaustive, but I hope the point lands. A business is an orchestra, and you are the conductor. Your task is to coordinate and guide without getting in the way. Any energy put in should come out with minimal loss.

Without further ado, here is my current flywheel. Let's go through each node one by one:

the energy I put in (leda), the capture points in the system, the output (you reading this) [click pic to zoom on desktop]

On the very left is me! I am the well source of ideas, execution and judgement for the business, though in the future I very well may be replaced by an AI, but I digress. As long as I am the beacon for my business, it is my duty as business operator to "protect my golden goose", and to make the best use of my work product, or as Austin Kleon puts it in Show Your Work!:

Once a day, after you’ve done your day’s work, go back to your documentation and find one little piece of your process that you can share. Where you are in your process will determine what that piece is. If you’re in the very early stages, share your influences and what’s inspiring you. If you’re in the middle of executing a project, write about your methods or share works in progress. If you’ve just completed a project, show the final product, share scraps from the cutting-room floor, or write about what you learned. If you have lots of projects out into the world, you can report on how they’re doing—you can tell stories about how people are interacting with your work.

Show Your Work!: 10 Ways to Share Your Creativity and Get Discovered (affiliate link)

I put raw energy into reading and livestream coding. To maximize the value captured from these two processes, I set up a rain bucket of sorts.

For reading, I read on Kindle. Every time I highlight a passage, it goes through the Readwise API, and ends up in my own creation, the Commonplace Bot. Using embeddings, I surface these highlights whenever and wherever I need them from my Discord.

For coding, I use OBS and Twitch to record my process live. The benefits of this are multiple. One, occasionally someone drops by and says hello (this is rare in the software category of a gaming livestream website, but it happens once in a blue moon) – this is equivalent to community building. Two, I get to see my own coding practice and learn how to improve. Much like a weightlifter who reviews his form, seeing my code process shows me where I might improve. Three, I get to use these livestreams to make VODs, which I will discuss later.

For my newsletter, which I publish every Sunday, my reading and Commonplace Bot nodes come majorly in handy. I usually just lie in bed and spam the /random or /wander endpoint until I come across a quote that inspires me to dive deeper. It's that simple. I'm 35 weeks in and the topics are always varied and interesting due to this method.

From the livestreams, I make timelapse videos. This is trivially easy to do in Final Cut Pro and editing takes me less than fifteen minutes. I get another slam dunk by literally speaking my newsletter in conversational format as a voiceover.

I should pause here for a second to discuss my "relationship" with YouTube and Twitch. To be frank, I see them merely as two things: free/cheap video hosting, and marketing engines. I have no ambitions whatsoever to become a Twitch streamer or a Youtuber, and in fact such things sound quite miserable as a long term career path. These mega platforms are used by me (and I mean that in the strongest sense of the word) as parts in my flywheel, but if need be can easily be swapped out if need be due to something better cropping up or contract disagreements. If you are considering running your own business, I highly recommend you do the same. The first goal is to own your own domain. Anyway...

For creative coding projects, I publish my work on GitHub repos. This is also simple to do as I do coding on livestream, as well as writing READMEs. The repo itself is a work product for me, as many of my clients have found me through my open source contributions or SaaS apps.

Finally, blog posts, which are generally filter fed down from all the other processes, or written from scratch because I happen to be particularly inspired (like this post!). I have also posted my Zettelkasten notes from Obsidian directly to my blog in the past, but recently, I've done that less. That will be coming back though eventually because I enjoyed it.

From the green arrows connecting all of the outputs on the ball of chaos on the right, that is all marketing. Of course, my penultimate "goal" for online creation as it were is to get people to sign up for my newsletter, as that is where I have the most potent and direct relationship with readers, but I also really like GitHub!

So!! Have you kept count? Have you seen how the energy applied at the start turns into different products? Videos, GitHub repos, newsletters, blog posts, all from the two actions of reading and coding, which I would do for free? This is the idea of the zero waste flywheel, the nose to tail operation. If I have low energy due to illness, malaise, or just am not able to muster "ten units of energy input" I lean into "filling the grain silo" by lying in bed and reading, or turning on OBS and my favorite tunes and coding for an hour or two. I don't think about what will happen downstream, because I don't need to worry about it.

Later, I go into my silo and "harvest", creating videos, code repositories and more. Finally, I "pollinate" with marketing, and the cycle "scales" by itself.

Here's how it breaks down roughly in terms of daily work, split by energy management, goals, and the "internal cooldown" of posting too often on social media:


A zero waste flywheel is an aspiration like any other, but one that can always be gotten closer to. By merely being aware of our business processes, goals, and customer base, we can make every unit of work we put in net neutral, if not positive, returns on the rest of the business.

August 21 2023

Instabrams are back baby! Thanks to Alfred, Obsidian, Ghost, and GPT that is!

I found out today that, oddly enough, my dislike for food—and smells, as an offshoot—liberates my ears. I can fill them with all kinds of sounds, just like I fill my mind with all sorts of books. And who knows, this might make my understanding richer, deeper. After all, tastes and sounds, they both bring in similar complexities, don't they? What's the science behind this, I wonder?

Planning with time blocks using the Time Block Planner is something else, I tell you. Just staring at how my hours roll out in reality, versus where I believe in my mind that they're going.

It really makes me treasure those fresh hours each morning when I draft the plan. But, damn it, they do race by like comets while I'm knee-deep in living them. Sure makes one thing clear though - there's still quite a road ahead of me to align my time better with the stuff that sits front-row in my priorities.

Today, I cranked out a couple scripts that just might fan the flame back into my inconsistent habit of creating Instabrams. Knocked up one heck of a pipeline for DALL-E, taking chunky texts, wringing them dry into neat, crisp summaries, and morphing them into fetching cover art.

Then there's the second script. What does it do? Well, simple: it chews up shorthand blurb, like the one you're picking through now, and spits it back out in the flavor of a certain author close to my heart, our man Murakami himself. Now, you can sneak a peek at both these scripts down below and take in the art piece a notch above.

Both scripts neatly tuck away the outputs onto my clipboard. Handy for the lazybones that like me, can use ‘em just about anywhere across the machine. Embrace sloth!

i wrote two scripts today that should hopefully harken the return of instabrams. i created a dall-e pipeline that takes text, summarizes it and turns into a cover art.
in addition i wrote a script that rewrites shorthand like you are reading now into the style of one of my favorite authors, haurki muarkami. you can see both of the scripts below, and the art for this peice in the image above.
importantly, both copy results to clipboard for usage anywhere across my machine. let's go laziness!

Really would be nowhere without these amazing tools that devs have built (Ghost, Obsidian, GPT). I merely build the ligaments that connect the very solid bones.

GitHub rang the bell for the 700th star on chat gpt md today. It's been awhile since any updates were added, and I can't help but feel a twinge of regret. But the open source world - well, it can be a free ride for some folks, especially amongst the Obsidian folks. It's like being a chef with everyone sampling your soup, but no one foots the bill.

there was an enormous disconnect between how we think open source works and what is actually happening on the ground today. There is a long, and growing, tail of projects that don’t fit the typical model of collaboration. Such projects include Bootstrap, a popular design framework used by an estimated 20% of all websites, where three developers have authored over 73% of commits. Another example is Godot, a software framework for making games, where two developers respond to more than 120 issues opened on their project per week.† -- Working in Public: The Making and Maintenance of Open Source Software

Create a Ghost Cover Image with DallE

import dotenv from "dotenv";

import OpenAI from "openai";
import clipboard from "clipboardy";
import fs from "fs";
import fetch from "node-fetch";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

async function summarizeClipboard() {
  const text = clipboard.readSync();
  // console.log(`Summarizing: ${text}`);
  const completion = await{
    messages: [
        role: "system",
          "Summarize the following into a theme and create an art prompt from the feel of the text aesthetically along the lines of: 'an abstract of [some unique lesser known art style from history] version of {x}' where x is the feel of the text aesthetically. Just return the art prompt, say nothing else." +
    model: "gpt-4",

  // console.log(`Summary: ${completion.choices[0].message.content}`);

  return completion.choices[0].message.content;

async function saveImgFromUrl(url) {
  const response = await fetch(url);
  const buffer = await response.buffer();
  const filename = `./dalle-images/${}.jpg`;
  fs.writeFile(filename, buffer, () => console.log("finished downloading!"));

  return filename;

async function appendToLog(logItem) {
  const log = JSON.parse(fs.readFileSync("./log.json"));
  fs.writeFileSync("./log.json", JSON.stringify(log, null, 2));

async function main() {
  let prompt = await summarizeClipboard();
  prompt = prompt.replace("Art Prompt: ", "").trim();
  const image = await openai.images.generate({ prompt: prompt });
  const imageUrl =[0].url;

  const imgFilename = await saveImgFromUrl(imageUrl);

  const log = {
    query: clipboard.readSync(),
    prompt: prompt,
    imageUrl: imageUrl,
    imgFilename: imgFilename,

  await appendToLog(log);

  // save prompt to clipboard
  console.log("./dalle-images/" + imgFilename.replace("./dalle-images/", ""));

Rewrite Chicken Scratch as Murakami

import dotenv from "dotenv";

import OpenAI from "openai";
import clipboard from "clipboardy";
import fs from "fs";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

async function rewriteClipboard() {
  const text = clipboard.readSync();
  // console.log(`Rewriting: ${text}`);
  const completion = await{
    messages: [
        role: "system",
          "Rewrite the following in the style of Haruki Murakami, using short, punchy, easy to read, simple words that flow. Almost as if spoken cadence. Text:\n" +
    model: "gpt-4",

  // console.log(`Rewrite: ${completion.choices[0].message.content}`);

  return completion.choices[0].message.content;

async function appendToLog(logItem) {
  const log = JSON.parse(fs.readFileSync("./log.json"));
  fs.writeFileSync("./log.json", JSON.stringify(log, null, 2));

async function main() {
  let prompt = await rewriteClipboard();
  prompt = prompt.replace("Rewrite: ", "").trim();

  const log = {
    query: clipboard.readSync(),
    prompt: prompt,

  await appendToLog(log);

  // save prompt to clipboard
  console.log("Prompt saved to clipboard");

Images From the Script

These have wriggled under my skin, becoming my favorites of the day. You can make buckets of them without breaking much of a sweat. Keep your eyes on the blog – there's more visual feast on the way!
DALL·E 2023-08-21 15.55.18 - Art Prompt_ Create a Tonalist and Symbolist fusion manifesto of an enchanting wilderness filled with mystic animals and towering trees embodying the p.png
DALL·E 2023-08-21 15.21.35 - Create an abstract version of the Cubism style that portrays the challenges of financial burdens and health care costs.png·E-2023-08-21-15.13.12---Create-an-abstract-watercolor-version-of-the-constant-struggle-between-the-expansion-and-collapse-of-the-mind.-Use-vibrant-colors-and-fluid-brushstrok.png
DALL·E 2023-08-21 15.13.12 - Create an abstract watercolor version of the constant struggle between the expansion and collapse of the mind. Use vibrant colors and fluid brushstrok.png

Half a decade past, this is where I lived.

I snapped this photo, and soon after found myself in a nearby bar, nursing a drink and ruminating on the past five years. I had some predictions right - walking away from full-time software engineering to chase dreams of startups and artistry. But there were surprises too - who could've predicted a pandemic, or AI taking great leaps ahead?

I pondered over the goals I set for myself in 2018 - many still unmet, many still echoing around my head. Is that a good thing or a bad thing? Not sure. But one thing I've learnt is this: success is a recipe. It calls for dogged effort, an accreting outlet for said effort (think: investment returns), a dash of lady luck, and being at the right place just when it's the right time. Voila, dreams come true and they'll call it fate.

Like Ging said to Gon, "I can't get there quite yet, but I'm relishing the ride."

"Five years ahead?" I reckon I'll be there, right at the threshold of that old, worn out door of mine.

Oddly enough, it seems as if my eyes on the photo on the right been brushed with a dash of guyliner. Can't make heads or tails of that, honestly. is a reader-supported published Zettelkasten. Both free and paid subscriptions are available. If you want to support my work, the best way is by taking out a paid subscription.

June 13 2023

glitch art, chat loops, farms, code poetry


I built a plugin that works like a DIY code interpreter where an end user decides what rules GPT should check against. GPT is smart enough to facilitate it's own retry logic, which is neat as hell!


the town of yakima has a really active git profile
yakima git commits 1.png
yakima git commits 2.png

glitch jun 13 1.png
glitch jun 13 2.png
glitch jun 13 3.png


One thing I do a lot is append text to specific headings in a MD file, so this Python script helps with just that!!

append text to a specified md heading

Playing around with the e2e experience of a Readwise quote > app (or pseudocode). I also just got an iPad so I'm playing with the Freeform app :)


Experimenting with Code Poetry more as an art form. Here's a few GPT results from my favorite song rn, Ascencionism:


A conversational AI system that listens, learns, and challenges

Visual Basic:

Class Desire ' Well, I know what you want from me
    Property Reflection As Boolean ' You want someone to be your reflection
    Property Deception As Boolean ' Your bitter deception
    Function SetFree() ' Setting you free
        ' So you take what you want and leave
        Return True
    End Function
End Class

Class Mystery ' Who made you like this?
    Property BodyLanguage As String ' Who encrypted your dark gospel in body language?
    Property BlissfulAnguish As Boolean ' Synapses snap back in blissful anguish
End Class

Class PastLife ' Tell me you met me in past lives, past life
    Property InsideEating As Boolean ' Past what might be eating me from the inside, darling
    Property RhythmHalfDeity As Boolean ' Half of a rhythm, half deity
    Property GlitchesOrGaps As String ' Glitches in the code or gaps in a strange dream
End Class

Class Fantasy ' Tell me you guessed my future and it mapped onto your fantasy
    Property Mannequin As Boolean ' Turn me into your mannequin
    Property PuppetQueen As Boolean ' and I'll turn you into my puppet queen
End Class

Class DanceInTheDark ' Won't you come and dance in the dark with me?
    ' Show me what you are, I am desperate to know
    Property PerfectEnemy As Boolean ' Nobody better than the perfect enemy
    Property DigitalDemons As Boolean ' Digital demons make the night feel heavenly
End Class

Class Reality ' Make it real
    ' 'Cause anything's better than the way I feel right now
    Property BlacklitParadise As Boolean ' I can offer you a blacklit paradise
    Property DiamondsInTrees As Boolean ' Diamonds in the trees, pentagrams in the night sky
    Property LipstickChemtrailsRedflagsPinkNails As Boolean ' Lipstick, chemtrails, red flags, pink nails
End Class

Class Eye
    Property Door As Boolean ' With one eye on the door
    Property Rail As Boolean ' other eye on a rail
    Property ScarletTrail As Boolean ' Other, other eye following a scarlet trail
    Property HolyGrail As Boolean ' And the last few drops from the Holy Grail, now
End Class

Class DarkFashion
    ' Rose gold chains, ripped lace, cut glass
    ' Blood stains on the collar, please, just don't ask
    Function Feast() ' Be the first to the feast, let's choke on the past
        ' And take to the broken skies at last
        Return True
    End Function
End Class

Class Ascend ' You cannot watch me ascend
    ' And I know what you want from me
    Property Same As Boolean ' You want the same as me
    Property Redemption As Boolean ' My redemption, eternal ascension
    Function SetFree() ' Setting me free
        ' So I'll take what I want then leave
        Return True
    End Function
End Class

Class Disappear ' You make me wish I could disappear, oh
    ' You make me wish I could disappear
    Function Wish() As Boolean
        Return True
    End Function
End Class is a reader-supported published Zettelkasten. Both free and paid subscriptions are available. If you want to support my work, the best way is by taking out a paid subscription.

Blogging Has Just Changed Forever and No One Is Talking About It

Blogging has recieved a major upgrade, from an unexpected place.

TL;DR: OpenAI just released share chats, allowing readers to get a insanely powerful look into the thought process of a writer and allowing the writer to increase the value of their blogs for little to no extra work. We examine the draft phase and edit phase, with a ton of examples embedded along the way!

note: I highly recommend you click all the links in this piece.

The blog-o-sphere has been taking major L's on the Internet as of late. Bloggers have taken loss after loss to platforms like TikTok and Twitter, where producers have had the "pleasure" of competing for likes amongst the chaos of noise, where the lone individual yells until their lungs sting with pain in a vain attempt to be the tallest soapbox in the shampoo aisle.

For small indie bloggers that sought their 1000 true fans, the torch of hope seemed to be entering its dying light phase, quietly exiting stage left to an Internet run by a few large aggregation sites. There was just no cost effective way to have competitive advantage over an endless stream of algorithmically curated material, an IV drip feed of jump cuts and words.

And just as all hope seemed lost, a horn sounded in the distance. Our unexpected saviors had arrived. The cavalry was here.

Share Chats from ChatGPT. Yes, you heard me right. That thing that allows people to effectively screenshot chats with a machine learning model. Let me repeat that. Share Chats from ChatGPT.

Allow me to elaborate on why this is a huge deal.

Those Who Write Actually Think

If you've ever dabbled with the idea of taking writing as a craft seriously, you'll know that all writing (and I really do mean all: from drunk text messages to an ex all the way up to graduate level books on theoretical quantum physics) is composed of two steps: conjecture and error correction, or in layman's terms, the draft phase and the edit phase. Every writer has their preference and quirks: some only write in the mornings, some write on typewriters, some dictate to their Voice Memos app during their jogs.

But all writers think. All writers think new thoughts, and then tear away at the thoughts they created. All writers build and prune, build and prune, and build and prune, until you, dear reader, see a meticulously-engineered polished final piece of work, quieter than a hunting owl and smoother than a…uh…some really smooth thing.

The thing is, up until now, the final work was all the reader got to see and all the writer could manage. Blogging, even with it's unique ability to leverage hyperlinks out to research and other blogs, was largely a one dimensional effort.

Enter ChatGPT

Ok, so where does ChatGPT fit into this puzzle? How can it increase the value of a blog post for the reader and the writer? I'll tell you! ChatGPT is…drumroll please

ChatGPT is frozen externalized cognition.

Whaaatt?? you might rightfully be thinking right now. How can we think outside our heads? And what does it mean to "freeze" cognition?

To answer this question, we need to examine the act of thinking in the two phases of conjecture and error correction above.


Conjecture is a fancy word for hypothesis which is a fancy word for educated guess which is a fancy term for cool idea that has a non zero chance of failure.

To make a new conjecture, one must be willing to trial multiple ideas and…well, see what sticks. Some ideas are good. Few ideas are really, really good. Most ideas are meh to bad.

The ideal conjecture phase is pure play. Don't set out to quell or snuff out any ideas, there are no bad ideas when the idea itself is to explore the space of ideas.

Conjecture lives mostly inside the mind, but that does not imply that conjecture only lives inside the mind. Think about the last time you were at a brainstorming session. Multiple minds were put to the task of solving one problem, but the thing is, all the participants have different backgrounds. Every person has their own set of priors, a fancy term for their own viewpoint built out of their unique experience and therefore show up to the table with a different offering to solve the shared problem.

Great, you may be saying, but if this is internal or done with a group, how does ChatGPT help?

In short, ChatGPT is a really, really good improv partner ("yes, and…"). Basically, thanks to RLHF training, the model will go along with any wacky idea you give to it -- it truly has zero preference about whether you want to opine on the best pizza place in Topeka, Kansas or discuss the finer points of the last Game of Thrones season. GPT. Will. Play.

Without judgement, you as a human can lead the Dance of Death as the instruments of your mind and ChatGPT play their frenetic tune into the rabbit hole of whatever the hell you please.

As an example, GPT in it's judgement free zone, can help you find words to express the idea you are looking to say.

Remember this from above?

And just as all hope seemed lost, the horn sounded in the distance. Our unexpected saviors had arrived. The cavalry was here.

Co-conjectured by me and ChatGPT.

Or this?

meticulously-engineered polished final piece of work

Also ChatGPT.

Or how about this from a second ago?

you as a human can lead the Dance of Death as the instruments of the mind play their frenetic tune into the rabbit hole of whatever the hell you please


The conjecture phase with Share chats is basically a thought process camera (take a snapshot) and resolution increaser (see the steps of the mental recipe). It clarifies your ideas, helps you play with more concepts to go even further, and freezes this "play" phase in time for your readers to see the foundational aspects of your argument.

Error Correction

This brings us to the second phase, the whittling away of the marble sketch we created in the conjecture phase, error correction.

If conjecture was exploring the space by opening all available doors, error correction is going around and slamming each one by one until only the fittest remain.

When we are editing, we are literally proclaiming our thoughts to the public. These thoughts are sent out into the wild to be upvoted and downvoted, shared, mulled over, and eviscerated in comment boards.

The process of editing is baked into the reality we (you, me, the neighbors' dog, Canada, an oak tree, a pod of whales,…) share. All writers have a duty to translate the goings-on in their minds as faithfully as possible to an external audience of readers. And thus writers edit. Writers hire teams of publishers to bleed over word choice, to fight to cut entire paragraphs from a piece, to destroy the tower but leave the base intact. And stronger.

GPT serves as a great editor. Looking for a different way to say something? How about multiple ways to say something with pros/cons in tabular format?

No problem.

The edit phase is about tradeoffs. Cutting some ideas in favor of others. Choosing one phrase instead of another since it is likely to be understood by the target audience. But no idea, no theory -- is perfect. In fact, some ideas might be in direct conflict with each other and both remain true, and until now, there was be no way for the reader to divine this from the final edited work without a ton of caveats plainly stated by the writer. Share Chats allow the reader to see the edit choices made by the writer.

Editing also got a major, major upgrade.


OpenAI just released share chats, allowing readers to get a insanely powerful look into the thought process of the writer and allowing the writer to increase the value of their blogs for little to no extra work.

This makes blogging, thanks to it's core technology of hypertext, now multi-dimensional in nature, where the thought process of the blogger can be frozen as literal threads for the reader to dive into. This is a huge win for blogging, and aggregators have not caught up to the value add of this yet.

Forget chain of thought language model prompting, hello chain of thought blogging!

Other Examples You Might Want to Try

  • finding the right word that fits the flow of your piece better
  • coining a creative turn of phrase or trying to teach a new concept
  • summarizing something into simpler conceptual terminology
  • arguing about pros and cons
  • simulating audience questions or comments
  • "invoking" the style of writer's you look up to to emulate
  • creating a "writers table" to edit your work in third person

And these are just off the top of my head.

One Last Thing

Hugely, and I mean hugely, these share chats are also templates. What does this mean? This means a reader gets to continue the writers thought process with their own cognitive understanding and background. They get to take the writer's seeds of thoughts, and recompose them in their own garden, like taking a lemon from your neighbors prolific lemon tree to plant in your own backyard.

It’s like an MMO for blogging between the reader the writer and the LLM, I can’t overstate the importance of this.

P.S I Lied, There's Something Else. Something Big

Blogging isn't the only work product that has been quietly disrupted by Share Chats. Interested in learning about this? Sign up for the newsletter to be informed of when it drops!


You now get a front row seat into the mind of the coder, and since GPT/copilot is writing all out code anyway these days, you get to see the libraries it prefers to reference, and how to move towards or away from these imports.
No longer do you have to guess what some previous incarnation of the Avatar some software developer was LARPing as, you can literally see their thought process. is a reader-supported published Zettelkasten. Both free and paid subscriptions are available. If you want to support my work, the best way is by taking out a paid subscription.

May 23 2023

guidance, more bridgerton, demon slayer art, and of course, purple


  1. playing WoW
  2. playing with Guidance library

more guidance! (the stream f'd)

resulted in a Twitch thank you bot!


🥲 "escape the heavens with me"

cool artistic breakdown of mist breathing

ever afters rise up!!


Raw Thoughts

Live streaming is a medium similar to a 1:n conversation. Flow is enforced by the camera, mistakes happen, and the results are always pretty novel. Live streaming is also unlike conversation because the streamer stays aware of the "performance gap", creating a new level of "self" awareness, similar to how observation changes the results of an experiment. is a reader-supported published Zettelkasten. Both free and paid subscriptions are available. If you want to support my work, the best way is by taking out a paid subscription.

Were We All Gaslit About Content Being King?

Have creators been misled about the potential of content creation as a profitable endeavor? What is the critical mass for standalone content, and is there even such a thing?

A creator’s reputation also requires a certain type of maintenance. Reputation has a half-life on any social platform; successful creators accumulate reputation, which serves as a “battery” that helps them store consumer attention. But if they don’t keep producing new work, that battery will degrade, and eventually get depleted. (Location 3423)

At what point does "making content for a living" become a profitable endeavor? Can any amount of "high-quality" content be truly classified as an asset? Or have all creators been gaslit about creating?

Profit has a relatively simple definition. Profit is what remains after all the operating expenses of a business or individual have been subtracted from its revenue. All creators, implicitly or explicitly, assume real cost to create their creations; be it financial, emotional, physical, etc. And as such, all creators seek revenue to, at minimum, recoup the costs of creation, and ideally, get profit for their efforts.

No matter what any creator at any level tells you, they know this in their heart to be the case. All creators are acutely aware and indeed stressed out by this fact, as competition for eyeballs gets more fierce every year.

In a Gold Rush, Sell Shovels

Go to the "/creators" or whatever page on any site and you'll be greeted with something along the lines of:

  1. join our site
  2. upload content to our site
  3. ???
  4. profit

Here's three real life examples of the carrot type advertisement platforms use:

medium creators page.png

tiktok creators page.png

youtube creators page.png

Let's dissect this a bit.

The narrative pitched by content hosting platforms with flashy marketing and cutesy colors are core things humans desire: freedom, being your own boss, etc.. However, this narrative…is a load of bullshit. It is not bullshit because it is inherently untrue (many people do make money, after all), but because it uses rhetoric like "all creators can be x…" when these sites are basically power law lottery tickets.

For example here's some stats on YouTube:

According to the latest statistics, there are over 31 million YouTube channels worldwide. Of those channels, only about 0.3% (or approximately 93,000) have more than 100,000 subscribers. This means that the percentage of YouTubers with at least 100k subs is relatively low compared to the total number of channels on the platform.
It's difficult to estimate the exact number of YouTube channels that upload less than 10 videos as this varies constantly. However, according to a recent analysis, about 50% of all YouTube channels have posted fewer than five videos and approximately 76% of all YouTube channels have ten or fewer videos uploaded. This indicates that a sizable portion of YouTube channels are relatively inactive in terms of uploading new content regularly.

Most channels, indeed, most creators get crushed before even leaving the proverbial starting line.

No One NEEDS Content

Content is induced demand - no content solves a real problem, it just staves off the root problems of curiosity and boredom.

All of your favorite content creators are constantly trying to make new content that will satisfy faceless viewers in an attempt to keep attention flowing in, and the second they fail to accomplish that, they fail -- creating a self perpetuating loop of showing up to keep the lights on.[1] The more content a producer makes, the more they show up on your feed. The feed -- which most of the time is a trusted companion -- guides the readers perspective on what is "valuable" or "social proofed", and the more you trust the creator and demand their work in the future. It's all quite the oiled machine, and I begrudgingly respect this quite marvelous machinery!

But If I Keep Making, My Hard Work Will Pay Off Right?…Right?
you guys are getting paid.png

What is critical mass for standalone content? Is there even such a thing? In theory, content that lives on the internet is an asset (with some interesting similarities of "staking space" similar to that of owning a home[2]) that can compound views for many lifetimes - but in fact, the internet has a heavy recency bias. [3] Does that mean that a content creator could create…forever and see no impact or profit?

Case Study of Coding Vs Content Creation

A comparison of my experience as a coder versus content producer (I've done both for many years) reveals some interesting differences.


Coding has much farther reach and impact because it underlies the machinery that content is consumed on - each computer can serve multiple users, creating a tree-like effect. For example, all sites built off a framework (React, Vue, etc.) serve those users as well, albeit indirectly. In fact, this is exactly what platforms do! They don't necessarily care who is creating, as long as someone is creating and bringing attention to the site.

there was an enormous disconnect between how we think open source works and what is actually happening on the ground today. There is a long, and growing, tail of projects that don’t fit the typical model of collaboration. Such projects include Bootstrap, a popular design framework used by an estimated 20% of all websites, where three developers have authored over 73% of commits. Another example is Godot, a software framework for making games, where two developers respond to more than 120 issues opened on their project per week.† (Location 89)

There also appears to be much less competition, due to the relative rarity of coders in the population.

It's difficult to estimate the exact percentage of the population that can code fluently, as it varies greatly across different countries and regions. However, according to recent statistics, only about 1% of the world's population can code at an advanced level.

On top of all this, coding has very low social proof at the top. Coders are rarely famous, with most people who use their work being tech-adjacent, but still not knowing their names. Most people who consume my newsletter are tech-adjacent but you may still not know any of these names: Sindre Sorhus, Chet Ramey, Daniel Stenberg even though these three drive billions of dollars through the economy off their work alone, just for their damned love of the game.[4] Coding attracts only hardcore people, as making and maintaining code is the opposite of a trivial endeavor.

As a developer, if you use the command-line tool cURL, you’re using code written by Daniel Stenberg. If you use the command-line interface bash, you’re using code maintained by Chet Ramey. If you use npm, you’re using packages written by Sindre Sorhus and Substack. If you use Python’s packaging tools, you’re using code maintained by Donald Stufft. (Location 152)'

Code, in the long term, drives towards the asset class due to automation. The more times you use a program, the more value the initial writing of it was.

Software, like physical infrastructure (roads, utilities, telecom), has high fixed costs of initial production, followed by low marginal costs. In other words, it’s expensive to get started, but each additional user incurs relatively low costs. (Location 959)

Content Creation

Content creation, on the other hand, tends to attract both hardcore and casual posters. Casual posters make up a majority (as we saw above), but all who go to the effort of making a channel have at least a little bit bought into the cultish messaging of freedom without awareness of the fact that casual posters can drive just as much attention through shit posting, because the problem being solved by content mediated is attention and boredom, and we all love colors, sounds, and for our team to win.[5]

Hardcore posters are those who you see on your feed every day, but eventually all creators realize that in a game of attention -- quality pays little.

Ironically, I'd say that as a person who does both -- content creation has a higher cost, due to the inherent fact that it is all novel each time. People do not like automated content. This would not be the case if platforms suggested older content more readily, but honestly, why would they? It's an anti-pattern and counterintuitive to them in the effort of staying "up to date" vs other mega platforms.

Overall, I’d expect to see in the news industry something similar to what happened in open source: a “dumbbell”-shaped distribution of contributors. On one end are purely casual contributors (breaking news, casual punditry, and commentary on the news), who post on social media because it’s low-effort with the potential for a bit of upside, and no expectation of maintenance, funding, or having to make ongoing contributions. On the other end are the maintainers (news columns, investigative journalism, and features): those with in-depth knowledge of their topic, who make highly non-fungible contributions, and who will make money off their reputations. For those in the latter category, the name of the game is building highly targeted audiences and optimizing for fewer people paying more money, rather than shilling for page views. Podcasts, newsletters, and longform writing are attractive these days because they help creators filter for niche audiences, rather than losing potential value to broad reach on public channels. Instead of maximizing for likes, these creators maximize for meaning. (Location 3631)

The Unfortunate Conclusion

Therefore, the cliche advice rings true - make for yourself, make for mastery of your craft, and keep your assets as close to home base as possible. Simple stuff, but required regardless. is a reader-supported published Zettelkasten. Both free and paid subscriptions are available. If you want to support my work, the best way is by taking out a paid subscription.

I didn’t create this code for altruistic motivations, I created it for fun. I was learning, and learning is fun. . . . I’ve written way better modules than this, the internet just hasn’t fully caught up. . . . If it’s not fun anymore, you get literally nothing from maintaining a popular package. One time, I was working as a dishwasher in a resturant [sic], and I made the mistake of being too competent, and I got promoted to cook. This was only a 50 cents an hour pay rise [sic], but massively more responsibility. It didn’t really feel worth it. Writing a popular module like this is like that times a million, and the pay rise [sic] is zero. Tarr explained (Location 1473)

  1. 202301240130

  2. 202301110059

  3. Zettelkasten is a defense mechanism against the recency bias because it forces linking 202301161456

  4. 202212210134

  5. 202301090101