GeistHaus
log in · sign up

https://jakesimonds.leaflet.pub/atom

atom
49 posts
Polling state
Status active
Last polled May 18, 2026 22:36 UTC
Next poll May 20, 2026 00:01 UTC
Poll interval 86400s

Posts

Favorite claude skill: /phone-mirror
I am a Senior Markdown Engineer
Show full content

^ things I could have paid for that wouldn't have worked as well

The Skill itself: .claude/skills/phone-mirror/SKILL.md:
name: phone-mirror

description: Mirror Jake's Pixel to his Mac via USB for streaming/demos

disable-model-invocation: true

allowed-tools: Bash

***

Mirror Jake's physical Android phone (Google Pixel 9 Pro) to his Mac screen using scrcpy. Assumes the phone is plugged in via USB-C with USB debugging enabled.

## Steps

1. Verify the phone is connected by running:
   - Make sure the phone is plugged in via USB-C
   - Check for "Allow USB debugging?" prompt on the phone and tap Allow
   - Then retry
2. Extract the device serial from the adb devices output (the non-emulator entry).
3. Launch scrcpy targeting the physical device:
4. Confirm to Jake that his phone is mirrored and ready to stream. Remind him he can interact with the phone physically and it'll show on the Mac window.

Quick demo:

Mirroring an android phone to a mac is just the kind of fiddly thing that six months ago could have ruined my day. It should be possible. It might be easy? It's the kind of thing I might successfully do five times and then a sixth time completely forget some crucial step of the process.

Claude skills just ... solve the problem. I only have to remember one thing.

And yes, of course, claude is using a utility that is human-made. Thank you, scrcpy developers! Maybe there can be a micropayments something where when claude skills uses a library I can throw the upstream software some love. But the skill is still a massive upgrade, making things "just work" where in the before-times there's just no way I'm going to remember exactly how to use this (& a million other) cli every time I need it.

I really could be paying (or struggling to cancel payments) for this

https://www.mirroring360.com/

https://play.google.com/store/apps/details?id=com.screenmirrorapp&hl=en

A one-star review for the screenmirror app from 2023:

I wanted to try the app, but it didn't meet my requirements. I thought that paying the initial small subscription was okay, as I could cancel if it was not what I had wanted. (Note that the monthly, recurring paymemts are substantially higher than the initial payment, and this is not clear upfront!) And then, it isn't easy to cancel! You have to email and then wait patiently... I am waiting.

The claude skill...I literally don't even remember making it, that's how easy it was to make. I think I directed claude to mirror my phone, and then I'm finally in the habit of telling claude, when I think of it, to package up what it just did as a skill.

There's a lot to be frightened and uneasy about with LLMs and society. Stuff like this, though, feels like a lot of upside. Feels like more people will be able to make their computers work for them.

https://jakesimonds.leaflet.pub/3mh2vpcdh722b
Why you should still learn to code: lunch with Stephen Hawking thought experiment
Show full content
Briefly:

Imagine you've won some sweepstakes, and you're going to have lunch with Stephen Hawking (imagine he's still alive...while we're imagining things).

You're a normal person, you don't know that much about physics. But if you brush up the night before the lunch, your conversation with Stephen Hawking is going to go much better. The guy who knows all the physics will have a lot more he can share with you, and draw out of you, and explain to you, if you put in a little work beforehand.

It'll be more fun for both of you.

LLMs

It's 2026. My computer can use a computer better than I can. It's still worth it to learn to code. If I'm gonna be talking to my computer to give it instructions, I can give it way way way better instructions if I know a thing or two about computers as well.

How, though, do you learn about code in 2026 when the computer can do it all for you? Oof. I have no idea. I look forward to meeting the young people who figure it out.

https://jakesimonds.leaflet.pub/3mgx5ek5mp22a
How to jklb.social
best practices/use cases I'm building for
Show full content
"How do I make an account?"

Your bluesky account is your jklb.social account (& so much more). Type your handle (example: alice.bsky.social) into the box and press 'Log in':

You will be prompted with something like this:

This is your Bluesky saying, 'Hey this website wants to read and write Bluesky data on your behalf, is that cool?'

It's cool. Press 'Authorize'

I keep struggling to articulate what jklb.social is to people new to Open Social, but basically...it's an alternative client for Bluesky.

You can do all the same things, except on jklb.social there's less friction towards sociable actions and more friction towards endless doomscrolling.

Does that make sense? PLEASE leave a comment, or tag me (@jakesimonds.com) in a bluesky post with a question. Your bravery in asking will help others learn!

And I'm actually sorry, on a personal level, that some of this stuff is so confusing. Open Social is just such an exciting & optimistic space that the possibilities are expanding faster than the explanations.

jklb.social Best Practices

My personal reposts (aka boosts) over time ^

Be a little brave. Like, boost and reply more.

The thought that led to jklb.social was: "If interacting with a post was literally as easy as seeing the next post...maybe I'd lurk less." And so far? Yeah, it's kinda working.

So be a little brave. Likes aren't legally binding contracts. Boosts (aka reposts/retweets) aren't necessarily endorsements. By participating in social media, you are actively witnessing the author. They will feel seen.

When you participate more, you'll scroll less

I can only speak for myself, but one thing I really like about using jklb.social is that after not that many posts, if I've been actively participating in the media by liking & occasionally replying or boosting things I feel done and satisfied. I even feel...a little bit tired. But I don't have the urge to check again in a half an hour.

For the full jklb.social experience, you gotta participate in the media. Let me know how it goes!

Embrace the limitations

This is social media ^

Social media is strange. That's the only thing I've learned, making jklb.social. It's a very, very strange thing we all do.

I keep thinking about the parable of the "blind men and an elephant".

We talk like there's one "twitter," one "bluesky," one "linkedIn." But actually? Each one is completely unknowable/ever-changing. Revealing different things to every single user. Nobody ever getting the full picture.

jklb.social will feel different than Bluesky the same way an elephant's tail will feel different than one of it's great big feet. Embrace the differences!

And don't be afraid to hotkey:v ('view on bluesky') back to Bluesky when jklb.social doesn't handle a corner-case quite right (I do this multiple times a session).

Still reading? Jeez. Just try it already!

If you're an atproto super user (like me), maybe jklb.social could be a fun alt for when you're feeling like something different.

If you "hate things like twitter and bluesky," maybe you just hate the trunk of the elephant? Only way to find out is trying jklb.social.

Trying anything new is an act of bravery. Thank you for even considering jklb.social, for reading this far. If you keep going, and actually do try jklb.social, I'll consider it a personal favor. Thank you. There are so many things you could do, and you're trying my little website? Wow. Let me know how it could be better.

Thanks in advance.

:)

https://jakesimonds.leaflet.pub/3mgkb5j5oqc2b
jklb.social Dev Notes: the Like Chorus Explained
what's it like???
Show full content

The Like Chorus

On jklb.social, the profile pictures of the last dozen or so people to interact with you are displayed along the top and left-hand banners of the screen.

It's the Like Chorus.

The Like Chorus: it's like classical greek theatre

I never studied or cared much for classical greek theatre. But some of my favorite people (teachers, mentors, peers etc.) are really into it. Some of them never shut up about it, actually. Always bringing every conversation about performance back to the Greeks.

So when I was trying to think of what to call this collection of people-who-have-recently-interacted-with-you, I kept thinking of it as the Chorus and the name stuck.

The jklb.social UI has two areas:

The Stage is simple: It's most of the screen, and only one thing can be there at a time. You focus on whatever is on the stage. You press 'j' when you're ready to see something new.

The Like Chorus is the header and right-hand column. It is filled with avatars of the people who have most recently given you an in-bound interaction. (new followers, people who liked a post of yours, etc.)

They are the chorus. The witnesses. They see you. And they are "with you" as you participate in social media.

The Like Chorus: it's like having friends/acquaintances in real life

In real life, you develop relationships with people who you keep seeing whether by mutual choice or circumstances (like a job).

On social media, when someone interacts with you you get a little notification...but that's it! The notification itself is tiny, and lost in a sea of other notifications which may have no human source at all.

The Like Chorus is an artificial way to mimic real life. Keep the people who see you in your sightline. If you use jklb.social regularly you'll notice some of the same people popping up in your like chorus again and again. Those are your people.

The Like Chorus: it's like scribbling an affirmation on the back of your hand before taking a psychedelic

Social media is a drug. Show me weird shit on social media, I'll show you drug-seeking behavior.

The year in my life I took psychedelics, I was fortunate to do so under the guidance of some surprisingly sober folks (lol) who took best practices seriously.

One thing they suggested to do beforehand was to scribble a short message on the back of my left hand. I wrote two words, which were feedback a friend had given me on a script I was writing at the time.

During the trip, those two words were always just right there. A subtle reminder of my friend, his kindness, and his belief in me.

Taking any drug, you are giving up some control. That's kinda the point. With social media, you are volunteering to see a stream of posts that will make you feel things. The Like Chorus is just some friendly faces (& avatar artwork) to keep in your periphery while you watch the posts go by.

https://jakesimonds.leaflet.pub/3mgbtq3tges2f
jklb.social's anti-manifesto
"Antimanifesto: contradictions that have your active attention, that you steer by"
Show full content

(inspired by: https://venkateshrao.com/twitter-book/chapters/chapter_655913909086384128.html)

Contradiction 1: I want more from social media, while spending less time there. 

I want/expect social media to: 

  • entertain me

  • keep me connected to people I care about

  • connect me to new people

  • connect me to a scenius of like-minded awesome people 

  • find my dream job for me

  • find me a life partner

Despite those lofty expectations, I also hate how much time I spend on social media. So I still want all those things, yes. For free. With less time invested on my part.

jklb.social tries to thread this contradiction by being designed to make you more sociable while you are on social media. Interacting with a post is literally just as easy as even seeing the next post. Keybindings are better than mouse-and-click for things you do 10+ times. jklb.social is also an opportunity to break the decades-long habits you have with traditional social media UI. 

Contradiction 2: My favorite thing about jklb.social is the agency that comes from intensely customizing the experience. No one else gets that.

I think LLMs are going to render software unrecognizable. jklb.social is me making bold, opinionated choices only possible because of 1: the difficult engineering work of the Bluesky team building & maintaining the indices as well as the larger ATProto community making something great for building on and 2: because LLMs can take care of the rest.

I am trying to build something interesting that I like to use, and that other people might like as well. This project is also, though, a sandbox for me personally to try out the latest and greatest of LLM models and tooling. And I am building it a little bit on a bet that as tooling around LLMs improve/if the models keep improving more people can do what I am doing. And so the dreamy-dreamland goal of jklb.social is partly to make a template that others could point their LLM towards, and say "I want that but with less X and more Y."

https://jakesimonds.leaflet.pub/3mgagdmqx6k2f
AT friends #7: @zzstoatzz.io (aka nate!)
informal chats with people building cool stuff in the open social world
Show full content

LINK TO INTERVIEW:
https://youtu.be/K8jLX6LMf5o

LINKS MENTIONED IN INTERVIEW:
Hilarious sora video:

pdsx:

GitHub - zzstoatzz/pdsx: cli for atproto record CRUD

cli for atproto record CRUD. Contribute to zzstoatzz/pdsx development by creating an account on GitHub.

Ferret every hour:

Ferret Every Hour (@ferretperhour.bsky.social)

Ferrets posted every hour, on the hour. (most of the time) All images belong to their original owners. DMS are open for Submissions (use imgur)/Image Removal Run by @greenisacolour.neocities.org https://ferretperhour.neocities.org

& Nate's website:

zzstoatzz.io

https://jakesimonds.leaflet.pub/3mg4rj2c2sc2c
AT friends #6: @chaosgreml.in (aka Bryan Guffey!)
informal chats with people building cool stuff in the open social world
Show full content

@jakesimonds: So I'm curious about Atlassian, because I used Jira at work and it seems that Jira is a world. So I saw that you have the roundup, do you think jira is social media?

@chaosgreml.in: That's a really interesting question. Really what happens in Jira is a bunch of people have a lot of conversations about work and getting work done and that is kind of like social media.

And honestly Jira has a feed. There's a gadget you can put on a dashboard that's like a reverse-chronological feed of both the things that are happening in the instance but also you can filter to just the ones that are related to you and the same thing in Confluence.

My relationship to Jira and Atlassian goes back to 2007 when I was in a fraternity in college, it's the nation's oldest and largest queer fraternity, Delta Lambda Phi, and I was the president of my chapter because I don't know how to do anything without being in charge.

And I went to school for music theatre, but the other option was going to be computer science. And so I graduated, I wanted to stay involved with the fraternity I got involved volunteering doing I.T. help. We were an all-virtual organization – relatively young, founded in the '80s, compared to other youth fraternities – and they were using like an ancient...I think it was Mambo or Joomla CMS to store information about the fraternity. You only ever got information through email, and we were like, this is terrible.

So I went looking and actually I discovered Confluence which is Atlassian's enterprise wiki, and Atlassian at the time had a very permissive Community licensing program. You just had to be some sort of non-profit.

I have a real fondness for the company, too, particularly because of their vision which is effectively to make every team in the world more effective at getting work done.

And I am a person who really thinks teams and groups of people are like the coolest things ever. Because you, like, choose to do things with other people when you can do them alone and that's really neat.

And also because I have ADHD I hate how long things take sometimes, and often you don't just get to do things you want to do you have to to do the things you have to do.

So I am personally super passionate about, how do I give you an hour more at home with your kids. I am not particularly interested in work except the things that I like doing so I want to give us more time for those things. So yeah Jira is like a weird type of social media but it's only social media that's about getting the work in front of you done. So it's a little different, it's like Linkedin but for one company and only focused on work.

With the ATmosphere and Bluesky, what are you excited about?

I am excited about the explosion of engagement recently, so people building more and more things. It seems like it was quiet for a bit, but in the last two to three months it's really started happening again.

I was one of those kids who could not wait to be on facebook, I was on twitter when you could only text twitter, and I'm a Bluesky elder.

I was on twitter for a long time and didn't really understand how to use it, because I was on facebook. But then I used to make facebook mad all the time by talking about white people. I got to the point where I had a whole months suspension from facebook and so that made me more interested in twitter because I was still looking for a place to talk, and to speak. And I made a lot of really great connections over there in a couple of spaces that I operate in, like the Fat Liberation space and ended up starting a pretty successful podcast called Unsolicited: Fatties Talk Back which is currently on hiatus and hopefully coming back this fall.

So yeah when everything started going down with twitter it was kind of crushing and really sad because of the community we had all built there and I think Bluesky is fascinating because of how easy, like Bluesky is like early twitter in the sense of like, you can build anything on top of it. The API is open.

This is a little bit of a turn, but something we have in common, and you more so than me...you were an equity performer?

Yeah, so I graduated from college, did a show in Gettysburg a remount of the broadway musical Civil War and then did a tour, a Theater Works educational theater tour, the story of Harriet Tubman and played all the nice black people.

Theater Works is a national company that does a bunch of different tours, and we did basically the Northeast quadrant in the winter of 2007, which was really bad.

The winter or the tour?

The winter. The tour was a blast except that it taught me that I do not wish to do theater that wakes you up at like six in the morning, performing a kids show.

I was an actor. Can I ask, I find that now having the tech community as my primary community I find it's different than being around theater people. Do you feel that way?

Well, expand on different.

Sometimes I feel like the theater world was on one side of the spectrum of everyone talks about their feelings, all if anything that was too much for me. But now over here in the tech world I almost feel like we aren't as good at communicating and maintaining relationships.

Gotcha. So I think there's a couple of things. I do understand that experience. However, I would say that I think some of that has to do with the fact that a lot of tech people spend most of their time not actually like...when you're in theatre the whole thing is about relating to each other constantly.

That, like that is the work and that's a very weird thing. Like, social services is a lot of that. Care work is a lot of that but knowledge work is not really that, right? You're interacting with the knowledge more than the people often.

But what I find is when I stop and take the time to actually talk to people it's not that different and in fact what I find is that people in tech are often – minus those people who, they are in tech because they are extreme introverts and they do not particularly wish to have lots of conversations – at the tech companies I've worked at people are dying for connection.

But we often experience the tech world through this very diffuse social media mirror where everyone is the last tweet that they made or the last post that they made and so we don't get that level of depth and engagement with individuals and actually that's one thing that I like about meetups is that opportunity to know people in person.

Lightning Round

You have a magic wand, you can bring back one deprecated social experience that used to exist, doesn't anymore, what do you pick?

Live Journal.

Historical Figure you'd love to follow on Bluesky.

Cat Pausé. She was like fat liberation's Martin Luther King Jr.(understanding that she was white and he was Black). Just an incredible academic and person who passed away a couple of years ago just after she and I got the opportunity to meet and begin to collaborate.

Something that exists in software that you wish there was a clone of on Bluesky. For example, for me Calendly. I really like Calendly and I wish there was an Bluesky version.

LinkedIn.

Do you have any unorthodox daily drivers for your setup, for example I have a vertical mouse, that I love.

Honestly my dogs. I have nine of them. So what that means is I spend a lot of time in the living room just on my laptop which has been particularly good because that means I can't have as many windows open.

Oh one other, I have a Pavlok, and it shocks you. It's aversive conditioning, or a reminder for something.

Theatre related one, do you have a favorite role you've ever played?

Jim in Big River.

Do you have a role that you want to play someday?

Benny in In the Heights.

You have to pick one of these two options. It's a professional zoom meeting at 7PM or 8AM?

8 AM.

You said somewhere you were a singer on a cruise ship. Let's go back to an average day on that job, can you name three things that you're gonna see in the course of your day?

I am going to see really old people. I worked on a cruise ship of very rich people, like that was the deal about that cruise ship. I'm gonna see folks doing drills, like the staff doing drills. And then I'm also going to see the ocean.

That's it. Is there anything you want to say...questions I should have asked?

There's one other thing I want to tell you about that I'm working on. And it came out of the whole waffles thing, and then the Link thing and the way that people were treating Hailey. She built this little service called dontshowmethis using LLMs that labels replies to her posts if they're bad faith. And we talked about how I don't love this context collapse, and partially the thing I don't like is how everything on social media people feel the need to turn it up to 11, so everything is the worst thing ever or the best thing ever.

And the other part is that there's this thing that's happened which is people just love snark. Or like being disingenuous or laughing at other people's pain so one of the tools that I'm working on is something called Kindling and the idea is to take feeds that already exist, process them, and remove the most inflammatory posts.

[It will] give you a feed that is built not to censor what people are saying but instead to surface the most factual and even if it's emotional what it's not doing is we're not going to see a bunch of people being mean to each other for no reason. And so to remove that part of the internet cause it's the one part of the internet that I just I find no use in.

I find no use in laughing at the pain of other people or being mean to other people because it makes you feel good I don't care what reason it is.

Yeah, I agree.

Because it's also the stuff that sets things ablaze. It turns into, like, you know, pile-ons and cyber-bullying and all of that and it's just not needed.

You can say things in a nice way. You can say things in a mean way and still not be rude. We can be honest, and direct, and not dicks.


https://jakesimonds.leaflet.pub/3mg4rbn6ba22c
Context Windows and (quadratically scaling) one-to-one human relationships
what do wafrn.net , Rangeley, ME and Anthropic have in common?
Show full content

Rangeley, ME in peak fall foliage. It's lovely year-round.

What got me thinking about this: 3 different collections of 2K-ish people

When I interviewed the the delightful @gabboman.xyz and @djara.dev of Wafrn I asked them if Wafrn felt like a small town where you kinda know everybody. At interview-time Wafrn had 4606 total and 846 monthly active users, and numbers reminded me of the small town where I grew up (Rangeley, ME...with ~1,000 people year, jumping to ~2,000 in the summer). And I thought of this yet again after Steve Yegge's The Anthropic Hive Mind and then hearing that Anthropic has 2,500 employees. Somehow I don't imagine working at Anthropic feels like living in a quiet small town.

Why is Anthropic so small?

We won't dwell on this because it's no mystery:

2,500 people = 2,500 * (2,500 - 1) / 2 potential one-to-one relationships, growing quadratically.

And yet...you gotta know the employees are stretched incredibly thin. I have a couple friends who have Blue Chip software jobs. They are always incredibly busy. Their salaries are more than double what you could comfortably live on, so why can't you just split their job in half and give it to two people like Jerry and George in that episode where they team up to handle all the admin/tasks necessary to be one competent boyfriend?

I wish we lived in the world where two-people working half-as-hard = 1 person. It would be a world where more people could legitimately say that their work had impact, and a world where the load/burden could be shared better.

Could I actually hack it as an Anthropic employee in 2026? I honestly don't know. But could I do the work of half-an-Anthropic-employee? 100% yes. And I'd joyfully do it for half-an-Anthropic-salary + stock options.

Context Window Maxxing with Ralph

I have been building jklb.social using Geoffrey Huntley's Ralph method (& blogging as I go). When you Ralph, you break your work into small tasks and then assign those tasks to their own Ralph loop, every Ralph getting its own fresh context window.

On the face of it this is kind of nuts. Every single thing on your codebase was done by an agent who, effectively, was on their first day of the job.

This is a feature, not a big. This means that my code has to be well organized, and my docs (in specs/ * .md) must be immaculate so that every first-day / fresh-context-window Ralph will get their detailed assignment, find just the right files, and make just the right changes.

Do the Ralphs bat 1.000? Of course not. But a second Ralph can fix the mistakes of a first Ralph better than a Ralph can self-correct. The method continues to surprise me.

A Context Window is kind of like a one-to-one relationship

The significantly-more-than-2,500 one-to-one relationships at Anthropic are arguably the soul of Anthropic. That's where the stuff that's not written down lives.

When you're working with a Claude Code instance, the context window is a kind of like a one-to-one human relationship. You go back and forth, and between you and the machine something subtle gets built up over time.

Maybe the back-and-forth is around some technical decision that needs to get made. You share your priorities. Claude Code pushes back with technical constraints. Over time, if it goes well, you come to a kind of agreement.

The Ralph method says, "Hey that's bad practice, actually. You can't inspect that, the subtle understanding/flow of a context window. So 1: no way to know if it's trash or not and 2: it can't be reproduced and 3: even if it's good it's fragile as all hell & can be ruined by a single bad token (which, let's remember...generated statistically)." So the Ralph method is all about finding agreement/insight with LLM assistance, and then immediately getting it down in markdown. And then organizing that markdown so future LLMs--all of which effectively are on their first day of the job--will find just the thing they're looking for.

~steps~onto~soapbox~ We gotta find a way to give more people agency!

A bit of a tangent, but this is something I feel strongly about. The current status quo serves NO ONE. We are sleepwalking towards a world of two classes, both getting a raw deal.

Class 1: The agency-deprived class

Joe Rogan five-hour podcasts are for people who have jobs that require their bodies to be in a place for 5+ hours but ask nothing of their minds. The subtext of every Candace Owens monologue is "Oh, you think I'm stupid? Well would a stupid person be able to find a youtube clip from ten years ago of a girl from Arizona calling their Swedish grandparent something different than what someone who actually speaks Swedish & lives in Sweden would call their grandparent?"

As humans we need to feel like we matter and have agency to be happy and healthy.

Even without LLMs this is a massive problem. If you live below the API line, if your boss is an algorithm exposed to you via an app? That's soul crushing. That's going to make you feel like you don't matter. And since (my opinion) we kinda by definition all walk around thinking we understand the world, if that is your life your "understanding" of the world is going to trend conspiratorial and bleak.

LLMs supercharge this.

Class 2: The drowning-in-agency class

The people at Anthropic, with the Blue Chip software jobs, are busier than people should be. Too busy to stop and smell the roses. Too busy to enjoy the free amenities at the office. Feeling the (actual) weight of the world on their shoulders not because they're particularly smart (though they are smart), but because one-to-one relationships in an organization grow quadratically, and they happen to be the cooks in the kitchen that can't have too many cooks. They steward, in the delicate, ineffable, deeply human whatever of their relationships with their colleagues, the secret sauce of a billion dollar company that is charting the future course of humanity. I can only imagine how exhausting that must be.

Speculative Fiction: A Day at the Ralph Corporation (of humans and LLMs)

During Alice and Bob's weekly one-on-one an LLM silently adds to (& sometimes removes things from) the company-wide specs/*.md whenever they come to anything like a conclusion or point worth remembering.

  • "Alice and Bob talked about X and decided Alice will look into Y when she finishes with Z"

  • "Alice reminded Bob that Z is not exactly blocked exactly by A, but her approach to Z will vary greatly depending on what the B team decides about C"

  • "Alice and Bob talked about D, and realized that neither of them really understands D, despite Bob's job title literally being 'Senior D Engineer'! They had a nice chuckle about this."

  • "12 minutes of Alice and Bob's 30 minute checkin today were unrelated to work (Alice checked in on Bob re: his brother's recent car accident. Bob appeared to genuinely appreciate Alice's asking). This is acceptable & should NOT be flagged to HR (despite general best practices...that one-on-ones should be at least 20 minutes work related). In fact, this "breaking" of one rule is actually a great example of Alice demonstrating Company Value E."

There's no privacy at Ralph Corp. Like ATProto, private data is something they talk a lot about but haven't solved.

The Ralph Corporation's specs/*.md are baroque. Human-readable, but far too big for any human to read in their entire lifetime (or for any LLM to put entirely in their context window). There are literally people who's jobs are entirely just keeping the specs/*.md as up to date as possible!

Some companies are Open Spec. This means their specs/*.md are public. This is universally acknowledged as insane, but it means you get less pings from vendors asking, "what's the status of such and such." Most companies consider theirs specs/ directory as their most important asset. Copying the specs/ onto your personal machine can get you fired & sued into oblivion.

Humans at the Ralph Corporation judge their daily effectiveness by the length of the diff they auto-generate in specs/*.md. When you have a really productive day you say you "wrote a novel," though it's also acknowledged that if every one of your engineers is generating that kind of change every day that's probably not a great sign.

https://jakesimonds.leaflet.pub/3mfusponc6k2g
jklb.social posts
link collection
Show full content

(I may not always update this! See jakesimonds.leaflet.pub for more recent stuff (& non jklb.social writing))

How to jklb.social - Jake Simonds's Blog

best practices/use cases I'm building for

jklb.social manifesto - Jake Simonds's Blog

the only bluesky client with U2's "Songs of Innocence" included in every build

jklb.social's anti-manifesto - Jake Simonds's Blog

"Antimanifesto: contradictions that have your active attention, that you steer by"

jklb.social: Dev notes #1 - Jake Simonds's Blog

new features!

jklb.social Dev Notes: the Like Chorus Explained

what's it like???

https://jakesimonds.leaflet.pub/3mfnipj2n7c2i
Software 2027
speculation and horse-car analogies
Show full content
What it feels like to code in 2026

I am horse trainer with a magic wand, and the only limit for how fast I can make my horse go is my own imagination.

So...

  • I've designed bespoke electrical compression horseshoes that both propel the horse forward and recharge when the horse slows down

  • I have my horse on horse-sized doses of all the peptides Brian Johnson takes, plus a few experimental ones

  • I'm prototyping an F1-style back wing to generate downforce. The computer simulations show there's gains to be had, but Claude politely refuses when I ask how to attach it to the horse's ass.

  • And oh by the way if the above things sound crazy? Check out #fastHorseIdeas on x.com where people are doing things even I (a pretty out-there horse trainer) find offensive and shocking...but also might add to my workflow if enough people keep talking about them

User Assumptions for a world with no LLMs (or 2024-era LLMs)

One genuine surprise of becoming a professional software developer was learning just how dumb we assume that average user is.

Never show an error message beyond "Go talk to your administrator/support!" Tool tips. A pop-up modal telling the user how to use tool tips. And make that button bigger! Make it flash, too. Not so much that it could trigger a seizure...whatever that threshold is let's aim for riiiight under it.

User Assumptions in 2027

How close are we to a world where instead of assuming our user is a country bumpkin chewing on a long piece of hay staring at an old beige CRT monitor, and start assuming that our user has:

  • a frontier LLM co-pilot with access to our app's excellent documentation + OS-level stuff so it can take screenshots & read error reports without any help from the user

  • a PDS (or equivalent) with basic table-stakes data we can request access to read/write

  • something like wispr-flow so they can quickly & informally throw unstructured data back at our app

We can still picture them as the country bumpkin. They still won't know what a cache is. But with those three things, what kinds of software could we make? Would it even look anything like software?

A wild guess for Software 2027: What's halfway between a protocol and an app?

Notice the banner image for this blog post.

I did not generate the image of the horse for you. Why? Because your ten fingers work just as well as mine. Do you want to see that horse? Go nuts!

Once I generate that (cursed) image, that's it. That's the horse. That's the only horse there can be. But if I gently point out the possibility of the horse...the ball is in your court.

I keep think about an interaction I had at a meet up where a guy showed me something he vibe coded. A lot of bad LLM integrations (including thing I've made!) fall into a category where they limit what you can do without giving you enough benefit to compensate for that loss of control.

Sometimes you absolutely want to trade some control for convenience/guidance. But there should always be a reason.

Good Software in 2027 is going to have to pass the test of, why can't I just have Claude do this instead?

And so I wonder...if what we (humans) build will be more like the ffmpegs/ATProtos. Kinda like libraries, but not optimized to aid human coders. Optimized instead for pointing workflows towards specific classes of solutions. We still make the lego blocks. Claude builds the tower.

Just a wild ass guess.

https://jakesimonds.leaflet.pub/3mfk6obnxqk2l
Baby's First claude skill: tools.jakesimonds.com deploy
(I'm the baby. Waah.)
Show full content
tools.jakesimonds.com deploy

At .claude/skills/deploy-tool you'll find SKILL.md:


---
name: deploy-tool
description: Deploy a vanilla JS project to tools.jakesimonds.com
disable-model-invocation: true
allowed-tools: Read, Glob, Grep, Bash
argument-hint: [tool-name]
---

Deploy the current project's static files to tools.jakesimonds.com.

## Steps

1. **Determine the tool name** from $ARGUMENTS. If not provided, use the current directory name.

2. **Identify the static files** to deploy. Look for the servable directory — typically `web/` or the root if HTML files are at the top level. Copy only what's needed to serve the app: HTML, CSS, JS files. Skip: node_modules, tests, specs, fixtures, markdown files, config files, .git, package.json, etc.

3. **Copy files** into `/Users/jakesimonds/Documents/jake-tools/<tool-name>/`, creating the directory if it doesn't exist. If it already exists, replace the contents (this is a redeploy).

4. **Update the root index** at `/Users/jakesimonds/Documents/jake-tools/index.html` — add a link for the new tool if one doesn't already exist. Keep it simple: `<a href="<tool-name>/"><tool-name></a>`. Maintain alphabetical order.

5. **Commit** in the jake-tools repo:
   ```
   cd /Users/jakesimonds/Documents/jake-tools && git add -A && git commit -m "deploy: <tool-name>"
   ```

6. **Deploy** to Cloudflare Pages:
   ```
   wrangler pages deploy /Users/jakesimonds/Documents/jake-tools --project-name jake-tools --commit-dirty=true
   ```

7. **Report** the live URL: `https://tools.jakesimonds.com/<tool-name>/`

When I decide the world needs to see my latest vanilla JS vibe project (or if I just get tired of booting it up on localhost and iteration feels done-ish), I can go to the directory that hosts the project, boot up Claude, and then run:

/deploy-tool my-awesome-vanilla-JS-project

And that's it! Unless it hits some unforseen snag, the tool will deploy to jakesimonds.com/my-awesome-vanilla-JS-project :D

( tools.{domain} is a pattern I am stealing from https://tools.simonwillison.net/. I think it's a good 2026 agentic coding pattern...have an informal repository of projects. I need to steal more ideas from Simon Willison, he's great.)

My mental model of a 'Skill'

It's just markdown.

Markdown for the context window that I can evoke by running a slash command.

So me running /deploy-tool name-of-project just throws the markdown in .claude/skills/project-name/SKILL.md into the context window. And I save having to repeatedly tell LLM the same thing.

Maybe there's more to it I'm missing? As always, I welcome correction.

https://jakesimonds.leaflet.pub/3mfffllhq5c25
Homer's car is the perfect LLM-coding metaphor
stop the search. We've found the perfect metaphor
Show full content

The 3 Reasons Homer's car from "Oh Brother, Where Art Thou?" is the perfect metaphor for agentic LLM-coding
  • 1: Homer doesn't know anything about making cars (no domain knowledge)

  • 2: The R&D department of his brother's car company gives him the ability to do kinda anything within the limits of physics (like claude code supercharges me within the world of bits)

  • 3: nobody ever pushes back on his dumb ideas!

My Ridiculous/Silly/Embarrassing/Sloppy Recent Projects

I am on a $100/month Claude plan. I've hit my limits, barely, each of the last two weeks.

Working like this is definitely a kind of mania. Tiring in a way you can't quite put your finger on, almost like spending the day playing some obscure sport that requires muscle groups you don't normally activate.

I am no longer coding to make anything lasting. I am now coding to explore ideas and to teach myself how to use these new tools.

Geoffrey Huntley (of the Ralph method) describes working this way as like throwing pottery. While I've never thrown a pot, that metaphor has been in my brain as I've worked, and I see my projects in this directory kind of like pots that I've made learning to practice a technique (none of them are particularly museum-quality or even symmetrical).

LLM hot takes

This blog post has no structure, and I apologize. Here are some hot takes:

RIP Python as super language

Until not that long ago Python was my best friend/favorite/ride or die.

It's virtues:

  • readability

  • friendliness to beginners

  • but also onramp into more high performance/specific stuff for scientists (who may be code novices)

Now, though...you're kidding yourself if you think new-to-code/novices people are not going to use LLMs like crazy. And personally typescript is my go-to LLM language for web compatibility + type safety + tooling. Is there even going to be a new lingua franca language for normies? I think that's an honest question, whether there will be one.

RIP (eventually) traditional open source

What does it mean to collaborate as a heavy agentic coder? More forking? "Have your agent talk to my agent"?

I don't know. I think a good start would be just more dialog (& that's a big part of why I'm writing/streaming/sharing these days). I would very much like to pair program with others who use LLMs differently than I do. Maybe have a conversation that we record and turn into a spec that then we both craft into software, and then compare notes? DMs are open.

Protocols matter more/can be superchargers

Specificity matters so much for prompting. "Make {my stupid app} compatible with the ATProto so users can upload {the stupid thing my stupid app lets them do} to their PDS and share if they like" is kind of an awesome hack for adding a lot of carefully vetted specific engineering secret sauce to your project.

https://jakesimonds.leaflet.pub/3mfcw2sq72c2c
jklb.social: Dev notes #1
new features!
Show full content
New ThingsThe jklbie Award for Excellence in Posting

If Credible Exit is On (by default it will be), after you see however many posts you chose to see (default: 40) you'll be prompted to leave social media.

If you choose, you can then share:

1: what you're up to today

2: a photo

And you can also nominate a post you liked for the jklbie Award for Excellence in Posting. This means your summary post is also a quote-repost of that post. It's a way of saying, this is the best thing I saw today. Nominating a post also writes a social.jklb.award.nomination (see on pdsls.dev) record to your PDS.

The person who was nominated can then, if they choose, go to jklb.social/claimmyjklbie and claim their award (which writes a social.jklb.award record to their PDS.

It's low stakes and (meant to be) fun. I am worried that it's confusing/feels spammy. Is it too weird or not weird enough? Should someone accepting have to give a little acceptance speech or something? Open to ideas.

ATmosphere Report

This one I'm pretty excited about. The Atmosphere Report (on by default, will pop up at the END of your session) shows you the non-Bluesky activity of your Like Chorus over the last 24 hours.

(Like Chorus: The 30 most recent people to interact with you on bluesky (new follows, people who liked/reposted/replied to you. Inbound, not outbound. These are the people who have interacted with you, not people whose stuff you've interacted with).

Right now it's too noisy. But already in its first iteration I've liked it as a way to see what's going on in the ATmosphere.

Pick your Algorithm!

Easy, quick win. At launch, I had hardcoded the algorithms you could use. Now, you can use the same algorithms you use on Bluesky social :)

Forever Alpha

jklb.social is in alpha...and I think it's going to be in alpha forever. This is a sandbox for me to experiment with LLM-assisted coding. I am using Geoffrey Huntley's Ralph method & a $100/month claude code subscription for this and other stuff too. Things may change. This will not mature into a traditional stable web app most likely.

How I am using it

I check jklb.social once a day, east coast mornings. I log off when I'm done. I am trying to turn Bluesky into a wordle-like habit.

I am trying to spend less time on social media but be more sociable while I'm there. I like a higher rate of the posts I see. I reply and boost/repost a lot more. It's as easy to do all these things as it is even to just see the next post.

jklb.social is not feature-complete and does not do everything the Bluesky app does, and never will. When a post doesn't display very elegantly...I press 'v' and view the post on Bluesky. When I want to see a thread, I use the Bluesky app. You should too if you use jklb.social.

Lessons from Development/Dogfooding

some bugs/limitations are actually features

I am seeing 15-50 posts a day, and have been for over a week now. It takes longer to see a bunch of posts on jklb.social. One "bug" of this is that I miss parts of the meta-discourse.

But another way of looking at that is...there will always be more meta-discourses and I can always just catch the next one. Not being able to chase context/narratives spread over hundreds of posts I'm actually starting to see as a feature of jklb.social.

once a day is a good social media cadence (for me)

I still want to check social media at all hours. But the rule is simple enough that I'm mostly sticking to it. And it's nice.

(I use other ATProto stuff all hours...like I'm writing this leaflet & will share in the afternoon. But I won't check jklb.social/bluesky until tomorrow morning).

there's a reason all feeds use scroll

This whole project began because I got sad thinking about the behavior of scrolling.

I thought, one post per page. How hard could that be? Think of how big I can make the images and such!

Turns out...dynamically presenting a post where:

  • the text will be 0-however-many characters

  • there may or may not be an image, video, or multiple images

  • the images may be any variety of dimensions

  • there may or may not be a quoted post

  • the quoted post may or may not have media/all the variability previously mentioned

  • and there may be replies, or the post itself may be in reply to another post!

Turns out...being able to dynamically change the height of how much real estate you give the post is pretty dang elegant.

jklb.social does a really poor job of showing threads (t for thread view, btw). Also a really poor job of even telling you when your post is part of a thread, or is itself a reply, all that stuff. Still working on it and will never get it as obvious/easy/elegant as scrolling makes it.

That said...going one-post-per-page means I can take profile pictures (the one media that never changes) and make those wicked big. And that's been delightful. I will never get over just seeing people's faces/avatars/profile picture art. It's the best.

I like Ralphing

Ralphing is nice because:

  • it's agentic, but it's serialized agentic (at least how I do it). Only one agent is ever working at a time. So it's a little more modest than something orchestrated like Gas Town, which I've also tried but found very overwhelming.

  • I wrote a bit about it and will write more soon.

https://jakesimonds.leaflet.pub/3meyw2rusr22y
New Bottlenecks
when code is free, other people's eyeballs become a bottleneck
Show full content
2024 Summer: I made a shitty app

Ways latenthomer.com (dead link) was shitty: 

  • http, not https

  • crashed more than once a week

  • the whole thing was an ec2 container. I don't know why I didn't think to use vercel or something. I basically just ported my local fastAPI + react set up into an EC2, then manually figured out nginx + dns + other stuff I don't remember with lots of copy/paste from claude web interface

  • it cost $20+ a month! Used load balancers.

  • it was a wholly unoriginal embedding project inspired by this blog post: https://blog.bawolf.com/p/embeddings-are-a-good-starting-point (FWIW...I do think embeddings are a good intro into LLM-land and I did learn a lot from the project) 

I shared my shitty web app & accompanying blog post on a Maine-based tech forum/slack instance. Multiple people said something along the lines of, "Cool!"/"That's neat!" and it felt good. I felt seen. It closed the loop of:

  • work hard on something

  • share it

  • get the validation of your effort being appreciated. 

I even used the app to then create some benchmarking scripts to compare different embedding models. And that got me a job interview with a company that made of the embeddings I used! It was pretty funny...10 PM my time a very polite ex-Googler asked me a few question and we kind of realized together that...I was not a cracked embeddings researcher. But we connected on linkedin afterwards!

That world is gone. 

Winter 2026: funny moment at a meet up

Recently at a meet up a guy shared his web app. Https. Full backend. So many bells and whistles. Appearing (if you squinted hard enough) to be the kind of web software companies pay tens of thousands of dollars for. If I had met this guy with that app in summer of 2024, I really would have thought something along the lines of: "Omg I am in the presence of a computer genius. I do not understand some of the choices they made, but that must be because I am not a genius" 

Winter of 2026, what I thought as this guy shared his thing: "This guy is a total moron. He seems nice though. I should try to think of something nice to say about his stupid fucking app"

And reader, I did think of something nice to say. It took a bit of effort, but I found a choice he had made that I genuinely did like, and I told him so. He then immediately told me I didn't understand his app, and went back to explaining the insanely ambitious ( & kinda ridiculously implemented) features. 

New bottlenecks

Summer of 2024 building my web app was a social act: building something to share with my community, and maybe even find new community. Even just building something that had its own domain was enough to feel worth sharing. And I felt appreciated/seen for what I did.

Winter of 2026, building apps is so dang easy. There's also more shit out there being shared. My own projects feel less valuable and more like noise even to me.

There are probably more bottlenecks, but one that feels like it's screaming out to me is just...other people's eyeballs. Other people's uncompensated time trying your thing. The tension of "If I used AI does it still count?" "The world is burning and I made another stupid web app?"

I wish there were a Vibe Clearing House zoom event. Fifteen minute slots. You share the stupid thing you made. No apologizing as you do it, "Oh I vibe coded this, it's probably trash, there's probably bugs." Just show your stuff.

https://jakesimonds.leaflet.pub/3meocwetdh22v
My job...is just...context window
Ralph Method -- documenting my experience
Show full content

All I think about is the context window

The context window is an array. We malloc it.

When I'm Ralphing, I'm mostly just...managing that array. This has meant I am more intentional about starting Claude sessions with a specific goal (and sometimes that goal is...wtf is going on, I need an entire session just to orient myself to latest changes). And then when the goal shifts, time for a fresh context window.

(btw see this podcast or google Geoffrey Huntley to hear him talk about all this)

The files I care about

(Caveat: not trying to pretend my practices are best practices, but this is what's evolved for me see https://github.com/ghuntley/how-to-ralph-wiggum)

  • IMPLEMENTATION_PLAN.md

    • this is where the literal tasks go, with [ ] syntax so agents/Ralphs can find their assignment.

    • I often will spin up a Ralph and first thing say "we are going to deliver an IMPLEMENTATION_PLAN.md based on {whatever the current goal is}" That keeps the session on track. We don't fix things in a session like this (that would wreck the context window with confusing artifacts), we just find and add to the plan.

  • loop.sh

    • this is the bash that kicks of the loops. I run with caffeinate

  • tests/*

    • So many tests. Lots of playwright tests. Tests for everything. Agent runs them on every loop.

  • specs/*.md

    • This is the docs/library/history/everything directory. Human readable. Kept as up to date as possible (& a source of bugs when not up to date!).

^ the specs/ for a jpeg glitch art project.

Benefits to focusing on context window
  • When Ralphing, my attention budget is best spent on the files listed above. It's a tractable human-sized job to stay on top of just those things. I still can dive into the code of course, but there's no assumption that I have.

  • Getting in the flow with a single agent is seductive and dangerous! If the back/forth with an agent is building up a nice context, that should be preserved in markdown. With the agent, figure out what you've decided on. Then put a record of that (& organized directory-wise/with the naming of the md file so future instances will find it) in markdown! Markdown is forever. Context window is ephemeral.

Other thoughts (apologies for grammar/etc...feel free to not read)
  • wisprflow is great. On the free trial right now. Might look for a free-free alternative but also might just pay. The ability to start a voice memo, then click around and look for things in IDE, then come back to voice memo and get it into claude...very nice.

  • claude code + vscode terminal = bad marriage. I am having more luck with iTerm2. So VSCode I still have open, and I use it to inspect the codebase/do human coder things, but CC + loop.sh runs via iTerm2.

  • We need a new IDE. Out-of-the-loop coding is different enough, there needs to be a new form factor for doing this. Very open to trying alternative apps if people know of any! I want a kan-ban board mixed with the github web PR review interface (probably not literally that...but something that makes the diffs first class + super obvious) mixed with the current claude code interface but also super customizable and yeah. idk. Interested to watch this space I think it's gonna get chaotic and very 1K-flowers-blooming-coded.

  • when I am in the loop, that's cool too (but it's now an intentional choice). In the loop for me means just a session with CC. Subagents for any research task to preserve context window, but otherwise just yeah going item by item having CC execute changes.

  • silly analogy for Ralphing: Nathan For You episode where 40 maids clean a house in 15 minutes. It really is kind of like that. Each Ralph has a very very narrow focus, and won't have full context of the entire project. And so the art of this technique seems to be setting up /spec/*.md so each Ralph can find the info it does need. Making sure the maid whose task is 'clean the kitchen sink' can find the sponge, not the vacuum (because...to murder this analogy...if you give Ralph a vacuum and say 'vacuums are for cleaning' but also 'your job is to clean the shower' Ralph may vacuum the shower)

  • Another silly analogy: that game/lesson where you make someone write down instructions for making a PB&J sandwich, and then you follow the instructions, but badly

  • Q & A format...that's something Geoffrey Huntley demonstrates in a demo and I am loving. Have the agent ask you questions to make a plan. It uncovers misunderstandings really well and is super info dense.

  • Agentic coding can be freaky/bizarre. I am not at all sure that I'm not just fooling myself into feeling productive. It does feel very productive, though. And it can be exhausting in an unfamiliar way, making lots of decisions. I'll every so often think back to an afternoon at work (not that long ago!) where all I would do is wrestle some npm dependency or something. Manually upgrading and downgrading packages. Things that now you can just ... throw the agent at.

  • Keeping to the theme of 'narrow you focus', here's something I think can be said about LLM coding: agents are fast, I am slow.

  • Another (last one!) weird quasi-analogy in my head as I do this stuff: Ralphing is like driving a manual car but there's no first gear. So you ease off the clutch and you're either gonna:

    • 1: stall out

    • 2: engage 3rd gear and suddenly be moving at 25 mph thru the parking lot.

  • Geoffrey Huntley's pottery analogy is really nice. As is his focus on back pressure.

https://jakesimonds.leaflet.pub/3mejhoehqjk2y
jklb.social manifesto
the only bluesky client with U2's "Songs of Innocence" included in every build
Show full content

jklb.social is...

jklb.social: An experimental bluesky client in alpha! You can try it today.

The virtues of jklb.socialj, k, l, b. (keybindings! One post per view!)

j / k navigate you thru posts. l is like. b is boost/re-post. That's all just your right hand, so you can drink a coffee as you do all this.

To reply or quote-post you'll need both hands, so those hot-keys are r and q. Full keybindings directory can be seen by pressing space. One I particularly like is o, opens the first hyperlink it finds in either the parent or quoted post (though it's not catching all the links yet, still working on it!).

BIG profile pictures

I like seeing people's faces. Not everybody has a good take, but everybody has a good face. Pretty much all feed-based social media makes profile pictures so small you really can't see them.

Use jklb.social and you'll find yourself saying, "Oh that's what you look like" over and over again.

And it's more than just faces, too! Obviously there's many good reasons to not want your mug everywhere online. In dogfooding jklb.social I've been delighted to see how many non-face profile pictures have cool art or interesting details the bigger view highlights.

like chorus

The like chorus is the last ~15 or so people to interact with your account. I display however many fit around the border.

Social media makes me sad. Bluesky makes me sad. I often feel unseen/unliked/interpret lack of response as judgment. I often feel inadequate socially (and technically!) when compared to others by the metrics the UI shows me.

I am very afraid of negative engagement. I see real arguments/meanness on bluesky, and then when I post I imagine the arguments that could be made with my take/I imagine people being mean to me. So I'm making prominent the faces of the people who have seen me.

I also want to maybe try to feature the posts of these people in the feed down the line.

credible exit

With credible exit on, after X posts you get cut off and prompted to share (if you wish) with bluesky 1: the best thing you saw (will be quote-posted (UI is TERRIBLE for this right now, just a drop-down menu of the posts you liked. I dunno how to do it gracefully)), 2: what you're going to do now that you've checked social media, and 3: a photo. All are optional.

What you share will look like this:

jklb.social is not...
  • a bsky.app replacement attempting feature parity

    • for instance, I have no plans to add DMs. There currently is no search or profile view and I won't do anything like that unless I think I have an idea worth trying on how to do it

  • bug-free or completely stable.

  • mobile friendly. No mobile!

  • human-written code. I am Ralphing this with Claude code.

The dream:

jklb.social turns bluesky into a wordle-like habit. Lots of people try it and say "Woah! Not for me, thanks!"(but the experience makes them reflect on the nature of micro-blogging). A few people try it, like it and use it semi-regularly to be on social media less but be more sociable when they are there.

Deliver 80% of the bluesky experience in a minimal UI.

Increase friction to forever-lurking, decrease friction to sociability.

Put the fun in atproto.

There's one easter egg so far. In the very meh thread view.

https://jakesimonds.leaflet.pub/3mdgq56uf3c2d
test post 456
testing (previous post ... link works but isn't showing up on my blog)
Show full content

hello world

https://jakesimonds.leaflet.pub/3mdeo43wkx22h
Ralphing -- first thoughts
"It's beck pressah, folks!"
Show full content
Agentic Loops feel...significant

My LLM use patterns in very broad strokes:

1: The Oracle paradigm

I go to ChatGPT (and then Claude) web chat interface to troubleshoot code, ask questions, etc. I schlep the context to the LLM via typing it all out myself or copy/paste.

2: The IDE integration

For me this was Cursor, but there were so many. Now the conversation lives on the side of the IDE, I can mention @{arbitrary-file}.ts with special syntax, and the LLM can propose changes which I can accept/reject.

2.5: MCPs

MCPs never made it into my core workflows personally (except via cursor tool calling) but they felt really significant as an unlock to tool calling. It felt (and I think was) transformative and pointed towards a different paradigm even if, for me, I let the IDEs integrate them for me rather than go to the trouble of repeatedly configuring them myself.

3: Agentic Loops

Agentic Loops

I am trying out Ralph. It's been 3-4 days.

Things I like about Ralph:

  • I have been intimidated by multi-agent anything for some time now, and Ralph feels more approachable because (at least how I do it) it's serialized not parallelized. The result is a linear chain of tasks, each either marked complete or BLOCKED, and each completed task with a git commit.

  • "Beck pressah" (back pressure) articulates something I've felt for a long time about LLM coding but never could have put so well.

  • Maybe my favorite thing about Ralph is the focus on the specification. Write a perfect spec, and implementation is an afterthought (almost). Write a good enough spec, and when things go wrong (things will go wrong) your job will be to find the difference between the implementation and the specification.

    • More on specifications: a lot of people are thinking this way. And my early experience with Ralphing makes me reflect that my human attention is a finite resource, and maybe the specification is the place I should spend more of that budget. This could really be transformative. Because a spec could be written or edited or looked over by non-engineers.

  • Context window as an array that we're mallocing...that's another mental model I really, really like. And then (if I may pontificate) if the context window is memory and spec/*.md + the codebase itself is writing to disk. "Disk" is whatever the LLM can retrieve and pull into its memory/context window in a single run. It's massive—orders of magnitude larger than memory/context window. And part of my job as orchestrator is to literally organize the files Ralph has access to, setting Ralph up for success by making important things intuitive to find (and avoiding two ways to do the same thing, watching out for conflicting advice, setting up signs for Ralph as Geoffrey Huntley says).

  • Geoffrey Huntley's case against compaction makes sense to me. LLM stuff gets so confusing it's hard to know what best practices should be, but "compaction is adding non-deterministic behavior to an already non-deterministic system" is good enough for me. I will avoid compaction like the plague until convinced otherwise. (Compaction, as of 1/24/26—I am thinking of it as a cheap trick that makes the models seem smarter with more memory than they have. Avoiding it means you can't chat with the models as long, but encourages a good habit of putting all context in .md files where they will persist, can be audited, etc.)

What I see when the Ralphs Ralph
💤 Sleeping 15 seconds before next iteration...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 Iteration 11 of 20
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Status: 10 complete, 4 remaining, 1 blocked
🔨 Running build mode...

🔧 Read: PROMPT_build.md
🔧 Read: IMPLEMENTATION_PLAN.md
🔧 Read: App.tsx
🔧 Read: AGENTS.md
🔧 Read: useContentMode.ts
🔧 Read: index.ts
🔧 TodoWrite
🔧 Write: useFullscreenMedia.ts
🔧 TodoWrite
🔧 Edit: App.tsx
🔧 Edit: App.tsx
🔧 Read: App.tsx
🔧 Edit: App.tsx
🔧 TodoWrite
🔧 Edit: index.ts
🔧 TodoWrite
🔧 Bash: npm run build 2>&1...
🔧 Read: index.ts
🔧 Edit: useFullscreenMedia.ts
🔧 Bash: npm run build 2>&1...
🔧 Bash: wc -l ...
🔧 TodoWrite
🔧 Edit: IMPLEMENTATION_PLAN.md
🔧 TodoWrite
🔧 Bash: git status...
🔧 Bash: git add src/hooks/useFullscreenMedia.ts ...
🔧 Bash: git diff --cached --stat...
🔧 Bash: git commit -m \...
🔧 Bash: git push...
🔧 TodoWrite

✅ Task complete

This could still be tuned. When I first set it up I wasn't getting any console logging, so my visibility on progress was seeing the files for commit on VS Code update.

More quick thoughts
  • My Ralphing project is rolling my own ATProto client. I think I will share it soon, and when I do it'll be on this blog (Ralph knocked out OAuth with just a little handholding/pointing to known good resources). The project is not ideal for learning Ralph in that there's fussy UI stuff that's not very conducive to back pressure, but I am finding I can use Playwright to resolve UI issues where there's clear acceptance criteria (like getting known tricky posts to format so that you could see the whole image or read all text).

  • "Code is free now" is a thought I keep having as I Ralph. It's not literally true. It's close though.

  • If code is free, or close to it...what should we as developers spend our time on? What's the new chokepoint? For myself I can see quite a few:

    • Convincing people to use the new thing I cooked up

    • Convincing people to invest their time into testing a still-buggy product

    • Testing the still-buggy product myself? (This is a big part of why I'm rolling my own ATProto client...I want something I can aggressively dogfood and improve iteratively.)

    • Talking to other human developers exhaustively to coordinate (especially since every human can now touch a lot more code)

    • Talking to non-engineers, collaborating with them on the specifications (and here potentially offering a very valuable service since the engineering spidey-senses are still critical to making a spec executable/not asking for things that just won't work for computer science reasons—though LLMs can kind of do this too? Lovable or something like it I think is gonna take over the world)

    • Volunteering in the community/picking up litter

    • Communing with nature

    • arguing on the internet

  • I have not taken people who say "the IDE could be dead" seriously until just now. With agentic loops the IDE is far from ideal. I am using VSCode, but really what I care about is the diffs and the actions the agents are taking. There's gotta be a UI paradigm that could make those things I care about more first-class.

  • I no longer trust that what feels productive in LLM-anything actually is productive. So while Ralphing feels kind of revolutionary, I could be just generating a lot of hot-air but in code. That said, though...it's also kind of a Pascal's wager at this point. If this is the future, cool. If it isn't...I'll keep using cursor or something like it happily. It does feel like the future though. It feels good to focus 90% of my attention on the specs, the tests, and ensuring that the Ralphs keep chugging along. I choo-choo-choose you, Ralph method. I'll keep choo-choo-choosing you till Anthropic cuts me off.

https://jakesimonds.leaflet.pub/3md6its6s6c2m
2 LLM traps I have sprung on myself
in using LLMs to code + learn
Show full content

(DISCLAIMER: I know a lot less than the average tech blogger. I was 1 year into "learning to code" when chatGPT dropped.)

Trap #1: Docs? You mean like from Season 2 of The Wire?

Kids aren't reading anymore and people learning to code with LLMs aren't reading docs. I wish I had built the habit of seeking out Official Documentation sooner. But I think as LLMs take over, docs are maybe ngmi or become an afterthought.

LLMs completely replace Docs (especially for juniors) because...
  • Unlike docs which assume knowledge you probably don't have, LLMs will hydrate the little details & reach you at your level

  • Unlike docs which you have to find, an LLM explanation is sometimes just a couple clicks away

  • Unlike docs which are at best related to what you specifically need, LLMs tailor their output to your specific need!

The virtues of the Docs are subtler. But significant.

But on the flip-side: LLMs could never replace Docs (especially for juniors) because...
  • there's infinite things I could try to understand but I don't have infinite days on this planet. In the docs, an expert has carefully taken the time to tell me what I should focus on!

    • Seriously. Let's say I don't totally understand React (I don't understand React). I can pick something about React that confuses me, and ask an LLM for a deep dive. That feels productive. But if my taste is bad I'm not using my time very well.

  • Static documents let you gauge your own growth over time. I have never actually read You Might Not Need an Effect all the way to the end. But I keep returning to it. It stays the same, my level of engagement with it deepens.

  • You and I can read the same thing and share an experience. If you use an LLM to learn react and I use an LLM to learn react...hopefully we both know React?

  • A person wrote the Docs (hopefully). Tech is not that big of a world–that person is probably only 2-3 hops on the social graph away from me. Maybe someday I'll meet them. Reading the docs is a quasi-social act.

Trap #2: Trading 40 for 5 + 5 + 5 ... + 5

You never know in the moment if you have all the context & understanding you need in front of you. Should you stay focused and keep staring at confusing code, or seek out more information? If what you needed all along just more time with the material in front of you, LLMs can be just another way to break focus.


EXAMPLE: tracing thru a full stack app
12-18 months ago using cursor, one new thing it could do was answer questions like "I want make {this-specific-change-in-the-web-app}, show me all the files I'll need to touch".
Very quickly I began to rely on this feature to literally do my job (as a junior dev), tracing from a raw database query thru the backend router to the frontend repository file to the specific feature implementation.
This saved a ton of time and unblocked me in the moment. But it also kept me from really engaging with the pattern itself. And looking back...while it's not a huge deal one way or the other I do think it would have been better to have paid the upfront "frustration cost" of figuring out the pattern myself and then using the LLM.

Even if an LLM gives a perfect explanation, an explanation is not the same as figuring something out myself. It's a silly analogy but I think of asking a three-year-old a question with a five-year-old in the room. The five-year old obviously knows the answer, and may shout it out. But the question wasn't for the five year old.

Practicing self-study in 2026 sometimes means telling the five-year-old (the LLM) to fuck off, so that you (the three-year-old) can puzzle over the puzzle. It'll take you a while. And (frustratingly) when/if you figure it out you still won't be as smart as the five-year-old. But you'll know something you didn't before.

https://jakesimonds.leaflet.pub/3mcuiljjcgc22
How Bizarre
small social media experiences I have had recorded for posterity
Show full content
Facebook, early 2023: Lonely, Bizarre, Emotional Whiplash

I see a post from someone I don't know, but lots of people from my small town are reacting. A man has died unexpectedly. Just his first name is mentioned.

Because a specific local business is also mentioned, I'm 99% sure it's a guy (with that name, who's relative works at the business) I went to high school with.

I am gutted.

I search his name and find his profile, expecting tributes. Instead...I just see just his most recent post (this clues me in...he's not dead). Brittney Griner had just been released and he had a pretty standard (for our times) right wing take on it.

It was such a bizarre mix of emotions. Relief he's not dead. Genuine surprise & disappointment at his politics. Upset at the post and its heartlessness. More relief he's not dead. Anger and intellectualization as I start to craft a rebuttal to his post in my own head. Curiosity as I wonder, okay then who is dead? I wonder if I know them, and go back to the post to sleuth it out.

https://jakesimonds.leaflet.pub/3mckq4tt7mk2d
2025 Delights and Not-So-Delighfuls
Show full content

(This is an annual thing)

Delights

Top & tail of the year in Latin America

Began the year in Guadalajara Mexico, and (almost) finished it in Buenos Aires (back to Maine for the holidays, but was in BA close enough that I saw xmas decorations in the summertime).

My personal ambitions for Spanish have decreased a bit recently. I have enough to get by as a traveler. I can ask people what their favorite sports team is. When people talk faster than I can understand I can politely ask them to slow down, all in Spanish. Maybe this is all I ever needed.

San Francisco!

Had never been before, but went in March for a hackathon with Mentra smart glasses. Then returned in May for Llamacon(I felt stupid going to Llamacon even at the time. But ... early 2025 you squint and maybe facebook is gonna be a leader in open source LLMs and actually kinda do some cool shit. "Llama could be the linux of LLMs"). Then returned for a whole month in the fall, and I really enjoyed my time there. I hope to either go back there or find other IRL places where tech people are congregating.

Discovering the Atmosphere

I got ATProto pilled on September 27th via Simon Willison directing me to Dan Abramov's Open Social blog posts.

I like how ATProto has challenged me technically. I admire the hard work of so many people who have been thinking hard about protocols for a lot longer than I have. It's been a joy to meet people too.

Janky xc-skiing

I grew up skiing so as an adult I really haven't done it much except socially. It's cold, and expensive, and there's lots of logistics so I don't really go out of my way to make it a part of my life.

That said! Living in Maine on a family property in 2025, I have had access to flat trails and so basically most days if the conditions are decent I'll do a little ski. It's very fun.

Piano

Similar to learning Spanish, I've been "learning" piano as an adult for a deceptively long time (part of having been an adult for a deceptively long time).

Unlike Spanish, if anything with piano I've been feeling lately that if I'm gonna keep at it I kinda need to be more aggressive about improving/doing things with it besides just learning songs from youtube tutorials. We'll see.

My Kindle

2025 I became a book pirate. I didn't know before 2025 that you could be such a thing. I feel a little bad about not paying, and I still buy books as frequently as I used to. But I now do most of my reading on the kindle. And I love it. I've should write a whole blog post just about my kindle I love it so much.

Phoneless house-leaving

Leave the phone without your house! Wait. Reverse that.

But actually, though.

2025 I got to a place where, leaving the house, it was a question: do I need my phone? And often the answer was no! Including in Buenos Aires (hot tip: a kindle has wifi for emergencies/if you get lost).

I Did Things

https://bsky.app/profile/elevatorselfies.bsky.social

https://jakesimonds.leaflet.pub/3m4hcfym3mk2p

https://jakesimonds.github.io/posts/wikisurfer/

(I also did things at work that were very interesting and satisfying and I feel lucky to have gotten to try things/learn on the job. I also quit my job in 2025. Hopefully in 2026 I'll include in the Delights section something like: "omg my new job is incredible. Second only to my amazing new partner and her dog. Also that MacArthur Genius Grant sure came out of nowhere!").

RSS!

You mean I can just have an app where bloggers who I like...when they post it just gets delivered right to me?

Not-So-Delightful

Micro-blogging

I've had a funny thing happen a few times now.

  • 1: I discover a person who made something really cool in ATProto-land. I check out their personal website. I'm like 'omg I had no idea a person could be so talented and cool and amazing'

  • 2: I see how they micro-blog, and I do not like it.

I still like these people! What I think I don't like is micro-blogging.

(Ezra Klein said it pretty well: "Twitter makes me dislike people I like, and podcasts make me like people I dislike.")

(While I'm up here on this soapbox: everything in ATProto is public. To say something unkind about another person in a public forum...that should be a big deal.

To talk shit about others IRL with your friends is not a big deal. I personally really enjoy it.

While talking shit thru micro-blogging can feel very similar, it's a very very different thing to say something (anything!) unkind about another human being in a public forum. Would you say what you're saying about them to every single person on the planet? Because that's kinda what you're doing.)

LLM-anxiety

Where is it all going??? I felt at times this year like I wanted to get off the ride.

Not all the time, though. It's not a bad ride all things considered.

"Am I ever gonna be exceptional at this?" / seeing what it would mean to actually be exceptional at programming

In 2021 I put my head down and said, "I'm gonna learn to code."

2025 was the year I lifted my head up again.

This year I discovered deep in my soul I want two things:

  • 1: I wanna be a computer genius who knows everything and is widely celebrated for my remarkable computer accomplishments

  • 2: I wanna close my laptop lid and never ever open it again and only be in the real world with real people looking at real things.

https://jakesimonds.leaflet.pub/3mbi4mcd3uk2v
I Think You Should LEARN software engineering
three sketches that illustrate/capture something about software
Show full content
The Driving Crooner dot com, baby!Lesson: not every start up should/can make sense to every person...but every start up MUST MAKE MONEY!

The driving crooner dot com is like a tiny, frothy start-up in the following ways:

  • connection to legit good cause (he drives co-workers home from the bar!) potentially hooks you/builds goodwill

  • makes ZERO sense but at least one person is really passionate about making it exist in the world

  • must make money! Must exist in the world & will be so good for humankind but also must start earning revenue...yesterday!

  • classic ZIRP

  • incredibly stupid. But the hate it engenders...

...is just as stupid, ridiculous and frothy as the thing itself. And the righteous vitriol only makes the Founder double-down to "prove them wrong"! So the Founder gets paranoid...

...because their beautiful dream is very fragile. Many things – things outside the Founder's control! – have line up just right...

...for it all to work. But the Founder persists.

So go ahead. Ask them why they're doing it. You will hear an incredible story.

(thank u https://ithinkyoushouldquote.me/ for the memes)


Calico cut pants dot com!Lesson: Making something? Easy. Maintaining it? Oof.

Before I became a software engineer whenever someone showed me something they made online – if it didn't look like total shit, I was impressed.

Now? I'm impressed if you made it 6+ months ago and it still works.

I have a graveyard of personal projects that I deployed and abandoned. I don't apologize for taking them down, because part of the point for all of them was to experiment. But also...before I actually deployed things myself I didn't really appreciate what a pain in the neck keeping something online can be.

When Connor O'Malley says he's in over his head, I believe him!


Mars Restaurant (one with Tim Heidecker where monster at space restaurant insults people and he freaks out when its directed at him and his date) Lesson: Its easier to be mean online than in real life

Something I have been doing recently on bluesky:

  • A post about a specific person makes me laugh.

  • I click 'like'.

  • I reflect that:

    • 1: the post is not very nice &

    • 2: it's directed at a specific person who very well might see it, and then would see my endorsement of it.

  • I click 'unlike' with the reasoning: whatever the sentiment of the post is, it's not something I would say to their face in person. Or if someone else said it to their face in person and I was right there, I wouldn't then say "I agree!"

(Also want to say: NOT TRYING TO CLAIM THE MORAL HIGH GROUND! I often post without thinking. I certainly sometimes like things that are mean. I am bad at bluesky. And 99.999% of cases I don't care how anyone posts. But...)

recent example 'liking' then 'unliking': Casey Newton calling Ed Zitron 'Temu Kara Swisher'Bluesky

(NOTE: I misremembered this! In my memory Casey posted this himself but it looks like he didn't, he just said it in an interview. I bet I'm remembering liking and unliking commentary on the event (still works I think)).

To get all pedantic about it:

If Casey Newton, myself, and Ed Zitron were standing around at a bar and Casey said, "Ed, you're like Temu Kara Swisher":

I would say:

  • Nothing.

If I were hanging with Casey Newton at a bar (btw Casey DM me, let's hang) and he said, "Ed Zitron is like Temu Kara Swisher":

I would say:

  • "Hah! That's hilarious, that's a very good burn."

If I were hanging with Ed Zitron at a bar and he said "Casey Newton called me Temu Kara Swisher!"

I would say:

  • "No! Oh, man. That's not very nice!"

  • (& if I were feeling really brave I might add: "Ed, I'm a fan. But sometimes I read you, and your anger causes me to disengage. And then I think all the people who are really mad about LLMs – and I'm not saying they're wrong! But I think about them, and I think about your writing, and I wonder – not implying you intend this or that it's even a real thing, this might just be my wrong perception. But I wonder if your anger is an engagement strategy and if it is I wonder if that's good for anybody. But what do I know? I've had a bit to drink here at this bar, I probably shouldn't drive. What? Oh, no you're going the exact opposite way as me. It's fine I'll just call this guy I know from work.")

https://jakesimonds.leaflet.pub/3m6wzkakv6k2k
what I learned at an Ethereum convention:2
tier accounts, what hard parts can get 1,000,000 times easier?
Show full content
Idea that has lingered #1: tiered accounts

The (above) slide is the UI of a Chinese virtual currency app. The speaker highlighted was how its simplicity contrasted with:

Maybe it should be called Gentle Onboarding? CO(to go with CI/CD)? IMO tiered accounts doesn't sound very nice, but let me describe what I saw:

For this Chinese app when you first sign up, as long as your total balance is below some arbitrary threshold, your account is in a starter tier. A lot of details are abstracted away, you can't do everything, but it's easy and simple.

Then, if you load more money, or want to do more complicated stuff, the onboarding continues.

And maybe this isn't new to you, but I had never heard of this presented in this way before. And of course I researched after writing most of this, and it looks like tiered accounts are very much a thing from IT / sales. I think it could potentially be an interesting pattern in open social.

Recent experience that reinforced this for me:

I'm in Buenos Aires, and someone invites me to an event by sharing a nomadtable link to the event, on that app (which I've never heard of).

It was a 5-15 minute sign up flow. I've had job interviews and dates that have asked for less information.

Why couldn't the engineers at nomadtable have the mindset:

  • someone finds us from a URL to a specific event. What is the minimum we need from this person (verify not spam. I think that's it?) so we can get them on their way to complete the action they obviously came here for?

That's a software experience I would remember. That would make me more likely to use nomadtable. And oh, you don't have everything you need from me to do every single thing on your platform? Ask me for what you need when I declare that intent! I won't mind!

cynical perspective

Cynically maybe nomadtable isn't using tiered accounts because they know they have something I want (the event on their platform) and so they're squeezing me for my data/lock in this moment because it's when they can get away with it. I hope I'm wrong and being cynical but I dunno.

Idea/Question that has lingered #2: what are the hard parts that could become easy vs what are the hard parts that will stay hard?

During the various panels and talks sometimes I would find myself struggling to follow details as they descended into the weeds of web3. In these moments I often found myself thinking of this excellent piece I read recently:

My first months in cyberspace

Recalling the difficulties and wonder of getting online for the first time in 1995, including diary extracts from the time.

And I found myself wondering: what parts of web3 are insanely difficult right now but could be make 1,000,000 times easier, and what parts just kinda suck?

The Gyford piece is really good and I highly recommend at least skimming it. We've gone from that world to this one in my lifetime. Now, it actually takes effort to not be on the web just by default.

https://jakesimonds.leaflet.pub/3m6rttk7d722r
ATProto Resource List for the curious
totally unofficial/incomplete/arbitrary list of ATProto resources for the curious
Show full content
Non-ATProto people:

Audience I had in mind for this is a developer with experience on other platforms curious about ATProto, but good stuff here for everybody!

ATProto people:

Comment and add things I forgot/am not aware of!

If I included you/your thing on this list and you don't want to be here I'm sorry! Message me and I'll remove.


The Blog Posts that ATProto-pilled me (personally)Open Social — overreacted

The protocol is the API.

Where It's at:// — overreacted

From handles to hosting.

we can just do things - underreacted

7 days later and we have some results from the experiment. When we demote popular posts we see: - 8.26% fewer "show less like this" (3340 -> 3064) - 0.24% more posts in For You were liked (242438 -> 243024) - 2.43% more feed loads (438867 -> 449537) Per user and per request metrics:

From the official docs (there's tons of good stuff there)ATProto for distributed systems engineers - AT Protocol

AT Protocol is the tech developed at Bluesky for open social networking. In this article we're going to explore AT Proto from the perspective of distributed backend engineering.

One (of many) firehose utilities/visualizationsFiresky

Watch every Bluesky post in real-time – filter the firehose

PDSls (deserves its own post)PDSls

Browse the public data on atproto

Type in a handle and browse is my advice.

PDSls

Browse the public data on atproto

^ one great starting place, dame.is who made...

A guestbook and welcome message for my atproto PDS - dame.is

We all know by now that I believe in the lexicon black market and an enjoy illegal atproto records. It's not my fault that Bluesky PBC allowed for such shenanigans! If the good lord had intended for us to walk, she wouldn't have invented roller skates.

...a cool guestbook you can sign and...

Anisota — A new interface for Bluesky, ATProto, and Social Media

A radical, experimental, and peaceful user interface for Bluesky, ATProto, and other ATmosphere-based social media.

...Anisota!

Various Blogs about ATProto:AT Proto Calls

just Skymates yapping about lore or tech

HItchhikers Guide to the Atmosphere

An Encyclopedia Galactica with various guides and writings to help you understand the atmosphere(atproto ecosystem).

Babesky Blog

Building Bluesky's NSFW community since 2023 Support: patreon.com/babesky

How Streamplace Works

Here's a place for writings about how Streamplace does Streamplace things.

Paul's Leaflets

There's a surprisingly nuanced discussion in development about the political economy of clients and servers in the Atmosphere


Very incomplete list of people who have shared things that have helped me learn ATProto stuffBoris (@bmann.ca)

Web tinkerer. Pooling capital and collaboration. What if we made things a little bit better? #Vancouver #cooking #restaurant #atproto I'm on Germ DM 🔑 https://ger.mx/A04SXZYcNrBNCygCupzIejDFcf3VR7MVDPRaojGxx0lr#did:plc:2cxgdrgtsmrbqnjkwyplmp43

Doll (@doll.dollsky.social)

It/Its Main fronter of a plural system Its name is doll, it is also a doll. The system is an adult. Interested in creating ethical and safe AI systems Third party appview: https://github.com/dollspace-gay/PublicAppView

Rudy wants revolution. (@rude1.blacksky.team)

steward [ blacksky.community ] founder&ceo blacksky algorithms [ @blackskyweb.xyz‬ ] organizer [ wethepeople.nyc ] move fast and break chains support@blacksky.app https://ger.mx/A41XSMLswtjsIvPRK8jwOdqX5PwNB9fCNu7QOkKPJ9ci#did:plc:w4xbfzo7kqfes5zb7r6qv3rw

Open Social (aka u don't need a bluesky to be part of the atmosphere): AT friends #2: @snarfed.org of Bridgy Fed (@ap.brid.gy) - Jake Simonds's Blog

informal chats with people building excellent stuff on (or in this case around) ATProto

^ Bridges are cool. People can follow my bluesky from mastodon, and I can follow bridged mastodons on bluesky.

How Wafrn's Bluesky Integration works

I have seen some people that it is bridged, even me said it, but no, it is not a bridge.

^ Wafrn is maybe the greatest place in cyberspace. Seriously. Every time I go there something makes me laugh out loud.

Wamellow (@wamellow.com)

Get Bluesky to Discord Notifications with Wamellow! ┊ › wamellow.com/docs/notifications ┊ › discord.gg/shiggy ┊ › https://ko-fi.com/mwlica ┊ › by shi.gg

^ for those with a foot in the discord world!

podcasts, too (not ATProto, more open social):revolution.social - A Podcast About the Social Media Revolution

Join us as we explore the social media revolution and how we can build an open world for all.

Dot Social

Learn about the Internet’s next wave on the open social web and what it will unlock for how we connect, communicate, and innovate online. Hosted by Flipboard CEO Mike McCue.

Old stuffWeb3 is Self-Certifying

There’s been a lot of discussion lately about what Web3 is and isn’t. Here’s my definition: Web3 is user-generated authority, enabled by…

Jay Graber: Decentralized Social Ecosystem Review

flickr.com/roland, twitter.com/rtanglao #firefox #thunderbird

I've mostly focused on 2025+ stuff because as a heuristic I'm often trying to read the latest whatever, but been impressed to find evidence that not just the CEO but a lot of people behind the scenes have been thinking hard about this space for a while.

https://jakesimonds.leaflet.pub/3m6mfukf5o22f
We're firing 600 people because there were too many meetings
maybe technical writing should be more than dumbing hard things down
Show full content

From https://techcrunch.com/2025/10/22/meta-cuts-600-ai-jobs-amid-ongoing-reorganization/:

"By reducing the size of our team, fewer conversations will be required to make a decision, and each person will be more load-bearing and have more scope and impact"

- Alexander Wang, internal memo

I've been blogging recently to "practice technical writing." There's a mental model of "technical writing" where you're basically explaining tricky things in novel ways–ideally to expand the audience of people who can understand and engage with technical stuff.

Of course, that's all just a nice way of saying you're "dumbing things down." Picking half-truths carefully. Pointing the uninitiated towards where they can start learning the central concepts that they'll need to actually understand things. "Technical writing" as training wheels for the less technical to engage with technical stuff.

Technical Writing for the galaxy brained?

I have a lot of sympathy for the 600 laid of super-intelligence engineers (what a phrase!). I have some sympathy for Alexander Wang, too. I don't like meetings either.

We seem to be entering an era where it's just...not even questioned that less engineers is better. Is it just the Mythical Man Month problem of maintaining n(n − 1)/2 channels of communication (aka human relationships) for n engineers? I'd welcome pushback but I kinda think so. And this dynamic is perhaps supercharged by:

  • 1: improved tooling from LLM code assistants

  • 2: building a digital god...I wouldn't know but I imagine that's the kind of thing where you'd want informal, permissive communication between teams and individuals.

So 29-year-olds are firing 600 engineers not because there isn't stuff to do, but because there's too many cooks in the kitchen.

What would it take to get to a place where continuing to add the next engineer continues to help, into the thousands? What would it mean to throw resources at that problem?

https://jakesimonds.leaflet.pub/3m6k52s6xes2n
Baking Soda
Visual Essay on social media in 2025
Show full content

Baking Soda: noun
Informal term for social media notifications which alert user to:
  • ads

  • generic content (despite term "for you")

  • new features in social media platform

  • anything that's not an actual, one-to-one social interaction

Makes the somewhat-crass analogy that just as drug dealers "step on" their product with baking soda(making it less potent but maximizing profits), so too do social media companies dilute person-to-person socialization with "fluff" such as ads and other content.

Case Study: LinkedIn (not the worst of them!) My Last Five (non-spam) Linked-In messages:
  • old coworker saying something really nice

  • guy I went to school with introducing me to a friend of his, who shares an interest of mine

  • person I chatted with (& really enjoyed the company of) thanking me for my time (totally unnecessary, but very heartwarming and appreciated)

  • guy I ran into at a busy event following up to say it was nice seeing me

  • good friend of mine arranging logistics to catch up properly for first time in over a year

I am never going to stop checking my linkedIn messages. As far as linkedIn is concerned, I am "addicted" to DMs.

Which means once a week or so for the rest of my life I'm going to be see a little red dot and think, "Oh I think someone is reaching out to me" only then to be served stuff like this:

Served to me by a company who's idea of "for me" is shit like this:

More Baking Soda

I am getting mad as I write this, which tells me it's time to stop.

I really don't blame any individuals. I've met people who work at Meta. They've been nice. But it's just crazy, the state of cyberspace in 2025. How did we get here? How do we get out?

I don't really know what I'm doing with this format, but I have been taking screenshots over the past two weeks whenever I see something outrageously shit on a social platform. Here's some of what's been served to me:

https://jakesimonds.leaflet.pub/3m6ifj5hlj22i
testing 123
Show full content

Okay ATProto fam. If you notice any bugs let me know. Because I just...changed:

the 'publication/...' field for ALL my blog entries on latenthomer.leaflet.pub and it moved them over here, to jakesimonds.leaflet.pub. I think it worked? And the old links seem to work too? But wouldn't be surprised if I screwed something up.

https://jakesimonds.leaflet.pub/3m6gjvzkdjk27
What I learned at an Ethereum Convention
Devconnect 25 quick thoughts
Show full content

Web3 social is super fragmented

My experience from most to least commonly mentioned socials:

1: telegram

2: X/twitter

3: Farcaster

4: anything and everything else

Met some people excited about open social/ATProto, also met a lot of people who had really never heard of any of it.

ENS seems cool

Identity I added this weekend: jakesimonds.eth. It aliases to an ethereum address, and it seems like I can use it for things? It cost me $5 + fees, though funnily they charge exorbitantly more for 3-5 character names (like if I wanted jds.eth).

ENS is expanding/exploiting/inspired by DNS in kind of a different way than ATProto uses/expands DNS. I told a Dev Rel guy for ENS that I'd rather have 'pay.jakesimonds.com' alias my wallets, and it seems that's possible but I didn't set it up.

Got scammed out of $20

I pushed a private key. At a workshop. And at the time I knew it was bad practice but it was just a dummy wallet for the workshop and I was trying to keep up with the live coding presenter and so I just did it. And then signing up for ENS, the wallet hooked up to that exposed private key...I was still connected to it via my browser wallet and not really thinking too hard so I moved $20 of ethereum from coinbase over to it (to buy my ENS thing, because traveling/idk why but ENS moonpay didn't want to take my debit card), and it was instantly drained.

As soon as it happened I thought, "Oh I'll definitely blog about this." Now, though, I'm finding as I write this I'm feeling worried that I will be judged for this.

As much as I'm I think being honest in the above about how I was fairly intentional about playing fast and loose to just ... try to learn things at this convention, I can definitely see how I could have made a similar mistake and lost a lot more.

Or had I not gotten burned for $20 just now, would I have even realized that I was using credentials that were exposed?

mental model for wallets improving

I know I exposed the private key. I am hoping that was the source of me being scammed. If not, I do have a slight concern that I interacted with some malicious something (and I interacted with A LOT of apps/services this week, not always understanding what I was doing (lol)).

That said: I burned the compromised wallet. I created a new wallet. I verified that my browser extension was legit. I transferred a little ethereum to it via coinbase, then did the ENS flow. And (anybody reading this, correct me if I'm wrong) I feel pretty confident that this new wallet is good. I have my secret phrase stored somewhere secure. I won't ever give that to anybody. And I'll probably try to learn some more before I ever start dealing with real amounts of money on web3.

Idk how I feel about it all

I'm of two-minds with this stuff.

On the one hand: Wow, it's all so super elegant. Private key, public key. Signing verifies identity. On chain prevents double spend. Vitalik is a genius. Visa and Mastercard are not long for this world. etc

On the other hand: Maybe we can have a little centralization, as a treat? Maybe the fact that "You have two gibberish looking things, one of which you share with EVERYONE one of which you NEVER SHARE EVER!" is just like a fatal flaw? Because build all the UI you want on top of it, it's still just...is that a feature or a bug that you make a mistake and it's forever?

https://jakesimonds.leaflet.pub/3m6f77bpoec2t
Elevator Selfies
NFC card + static webpage + lambda + bsky burner + elevator
Show full content

What is it?

So basically there's a NFC card wrapped up in that thing that–I meant to make it look like a polaroid. You tap it with your phone. You get a little pop up saying it's a URL, you click that, that takes you to...

...a very secret webpage where you can take a selfie, and then post a button posts it to @elevatorselfies.bsky.social.

It's pretty simple, overall. The mobile-optimized webpage I vibe-coded. The NFC business was new to me, and so a lot of unknowns but flashing a url was pretty straightforward. A lambda does the posting to bluesky via APIs. I wish I had taken more time to make the physical item itself pretty, but I got impatient.

Why?

I wanted to experiment with NFCs. I like them. I like the physical touching of your phone to a thing and getting haptic feedback. I also like how...QR codes are great but (and I have a lot of feelings about this, may blog on it another time) it's an awkward flow to get your camera out, and then focus in on the code. The worst is during a presentation when I always feel like, oh, I gotta decide whether to scan the QR code and then by the time I'm going to scan it they change the slide and so I just pretend that I got it in time.

The specific elevator where the elevatorselfies.bsky.social lives is a choke-point but not in a negative way...it's a place where you often run into people. So I thought it would be fun to allow a social activity, taking a selfie, that could kinda break the ice.

I also like in a very artsy-fartsy sense the idea of linking a place in the real world to a place in the ATmosphere. You can participate in elevatorselfies.bsky.social without even having a bluesky. But you can't participate unless you're exactly where the NFC card is.

Lessons

  • When connected to building wifi, the elevator ascending/descending caused the connection to fail. Once I turned off wifi it worked fairly reliably for me. But didn't think about that at all until I had made it.

  • it takes a bit of time to take a selfie! I made the website flow as quick as I could (there's just one other page, where you can see your photo and then retake or post to bluesky, which posting then routes you to bluesky. But yeah it sure feels like you're in the elevator for a while, but to decide to engage with a weird art thing on the bulletin board, and then to navigate the UI. It actually takes more time than an elevator ride, really.

  • Even though not that many people have participated, it has made me feel good when people have participated. And maybe if I do future things like this, maybe I can make the physical object more obvious/intuitive in the experience it's offering/what it's asking you to do.

Call to action: ADD YOUR OWN ELEVATOR!

If there's a special elevator in your life, you have an NFC card/button (you can buy 50 of them on amazon for $20), and you own a smartphone, you can make a node in this network.

DM me on bluesky and I'll give you the magic url you can code into your nfc card/button. All you'd have to do is flash the url, and then make something to hold it (like my polaroid) and put it in an elevator.

https://jakesimonds.leaflet.pub/3m62u67zyr222
Great and not great things about San Francisco (till I run out of things to say)
with the use (& potential abuse) of leaflet subpages
Show full content
Great: no shoes, a few laptops out

There's a kind of social gathering I'm sure isn't exclusive to San Francisco but I've never experienced anywhere else. Everybody takes their shoes off at the door, people are milling about, and a few people have laptops out & will happily chat with you if you peek over their shoulder.

It's a very good sign in SF to show up somewhere and see something like this outside the door.

https://jakesimonds.leaflet.pub/3m5q5mbtqyc22
Improving my relationship to technology...with more technology!
A few personal digital practices getting me away from my phone
Show full content

wallet for scale1: Ebook

Reasons I love my ebook:

  • small enough to toss in back pocket as a phone-replacement when I'm going somewhere where I might be alone with my thoughts for more than 30 seconds.

    • & it's also got wifi and a browser–never feel urge to check socials or anything, but do have it in an emergency or whatever

  • battery lasts forever

  • its an iPod for books!

  • mine only cost $70. And yes, amazon shows ads on the lock screen. But other than that, I have been pleasantly surprised at how much the device feels like just Normal Hardware. Any .epub I find I can pretty easily get onto the device. iPod for books.

I put off getting a kindle for the longest time. Thought to myself books are superior. Still think that, but the kindle is so easy and so I'm definitely reading a lot more.

2: RFID/NFC shenanigans

I flashed https://jakesimonds.com/rfid/ onto a NFC card thing that I keep in my wallet. So not having my phone on me, I can meet someone and we can connect on any of the socials.

Haven't actually used this in the wild yet, but I have in my life grabbed my phone going to a networking something because 'Oh if everybody trades socials I wanna have my phone'.

3: battery powered alarm clock

Like the ebook, had heard about this forever, but never taken the plunge. It's great.

4: 'Beachhead' of phonelessness

It started with runs. Lost my earbuds, had analysis paralysis on replacing them, tried a few runs without music/podcasts and found it interesting. The snippets of conversations you overhear passing people on walking paths. More tiny moments of connection with strangers–a nod or a smile. A chance to think uninterrupted for a minute.

I still nearly always have my phone on me, but I am asking the question more as I leave the house: do I need my phone?

Funnily enough, often the thing I realize I really need it for is 2FA for my laptop if I'm going somewhere to work.

Silly Overengineered Idea: The Best Phone

In the spirit of Simon Willison's phrase, "the best sandboxes run on someone else's computer", the best phone would really be someone else's phone.

Idea:

A page on your personal website, jakesimonds.com/forgotmyphone. Mobile-friendly landing page would be password protected, and when you enter the password you land at just a dashboard connected to your email, DMs, notifications...whatever's most important to you.

So basically the idea would be, you can leave your phone at home and if something happens all you would need to do is find literally anyone on the street who will let you borrow their phone for a second, and then you tap, login, and do your business. Voila, you have 7 Billion phones!

https://jakesimonds.leaflet.pub/3m5mfuk2yas2o
Update, Offer, Ask
Life Update post! Woo!
Show full content
Update:

I am currently:

  • in San Francisco! Going to tech events & generally hanging out

  • headed to Buenos Aires on Sunday for some months+ extended travel.

  • unemployed! More on that below in 'Ask'

Offer:

I think more people should have their own websites.

To that end I'm offering a service (https://www.jakesimonds.com/services! Oooh!) for anyone who knows less about computers than me where over a two-hour zoom call we build you a personal website. I thought about calling it Likable (as in Lovable but not making such insane promises), but settled on Webmaster Crash Course.

If this is as good an idea as I hope it is I'm hoping to charge people $$$ for this, but since it's brand new I'll do it for free. Consider signing up. It's 2 hours slots but will do less if you want!

Ask:

I'm very frightened to be unemployed and not at all certain that I haven't made a massive, unforced error.

Not asking for your sympathy, but...

Are you thinking about starting a company? Let's chat

I am interested in:

  • how can companies with external-facing APIs or frankly any public web presence make themselves legible & friendly to the humans and humans-using-ClaudeCode/Codex that will find them?

    • Thinking less custom fine-tuning, more convert everything to markdown and then see where Claude gets stuck.

    • The slimy version of this will be SEO for LLMs. That phrase makes me throw up in my mouth a little but I do think it's an interesting space

  • protocols over platforms. To the degree that open social matures, could there be a business around helping companies migrate and own their own social stuff?

  • The 95% problem: when the LLM gets you 95% of the way to what you want, how intuitive is it for the person to jump in and finish the work? So many current LLM implementations it's confusing/impossible to take over from the LLM. Exa Websets and the cursor side-chat are two examples of doing it well.

  • I'd rather get really good at solving specific problems and be a consulting business than try to thread the needle and make something that'll scale perfectly.

Seeking Informational Interviews

Right now I am planning to return to conventional employment somewhere around March 2026.

My ideal job:

  • as synchronous as possible while still in software (zoom calls over DMs & hanging out IRL over zoom calls)

    • & not because remote-first doesn't work, it obviously does. This is more just a my-preference thing & it's a pretty strong preference for how I want to live the one life I have. I'd rather hang out than trade DMs.

  • open to travel. Open to software sales. I love conferences, I love being really close to the actual people with the problem we're solving. And I think I'm happiest/at my best when I'm able to be an advocate for something I really believe in

  • my nosey-ness and penchant for asking tons of questions is regarded as an asset.

Any of the above are negotiable. Depending on the job market in a few months maybe they'll all be negotiable.

& specifically curious in learning more about:
  • Software sales (wish I knew more about this world)

  • Developer Relations (would love to chat with someone in a role like this to ask just basic questions)

  • Start up investing space (again, I know so little about this world – seems an interesting intersection of building networks of people and staying technical)

https://jakesimonds.leaflet.pub/3m5jz5dscwc2d
Resolution: Do one thing a day
Show full content

I want to try to do one thing a day.

If the thing I am doing turns out to be frustrating I can always quit, and take the day off for rest. I would rather do this than pivot to something easier.

I want to try to sit more in the discomfort of "stuck"ness and see what happens.

Motto: "Don't just do something! Stand there"

https://jakesimonds.leaflet.pub/3m57pmbnzsk2r
Vibe Coders are Nepo-babies
A specific analog for how specifically I think LLM-use is "like cheating" (and why I think it's okay to cheat sometimes)
Show full content
Auditions

From 2010 to 2019 I went on probably 100-200 acting auditions for mostly stage plays, but also TV commercials and indie films. Auditions are very weird. Hours and hours of waiting around between a few stressful, exhilarating & occasionally mortifying moments.

Hang out long enough in any arts community and you'll hear complaints about certain producers or organizations that "always cast their friends," or "never open it up, fair and square to everybody" (sometimes these complaints are very loud and very self-righteous). There can be truth to these complaints, but I always found them a little missing-the-point because the reason producers don't hold open call auditions isn't some grand conspiracy but because running auditions are a logistical nightmare.

What you learn hanging out in the arts long enough is "getting in the room" (and knowing how to act like you belong there) is a skill in and of itself.

Nepo-babies

To be clear: I have no problem with nepo-babies. It honestly IMO makes a lot of sense that people who were raised in the performing arts are gonna have a leg up, not necessarily because they were explicitly given anything but because they just are gonna

  • 1: know who to ask to even get into the audition &

  • 2: be quicker studies for all the unwritten rules and norms of the audition process itself–and there are so many unwritten rules and norms.

Freshman year of college I knew a few kids who's parents were college professors. They knew without being told that it's good to attend office hours. Is that "unfair"? I guess. But is it sinister? I don't think so.

LLMs

I had a web app I deployed with LLMs, leaning on the aws command line tool & lots of screenshots.

I would not have been able to deploy it without LLM assistance, full stop.

I took it down because it was more expensive than I thought it would be (& considerably more than the LLM told me it would be!) to host.

It's a pretty funny problem. LLMs have fast-forwarded me into a precarious digital situation that I kinda have no business being in–I'm like the son of a big-time producer who can't sing but knew who to email, and suddenly I'm auditioning for Lalaland 2.

But!

Sometimes as an actor you "get in the room" and maybe you're only there because your friend told you who was organizing the audition and then you told a white lie in a cold email and you got a slot...and then you prepared yourself and you nailed it and you get the role.

Maybe if I use LLMs to light-speed-jump myself into some interesting but long-term untenable technical situation and I have fun and I learn something...maybe that's okay? Maybe I'm learning hard lessons about cloud computing years faster than I would have without LLMs, and maybe that's kinda cool? I really don't know.

Potential Heuristic for responsible LLM-use

My web app isn't hurting anyone, and I learned a bit deploying it. But if I had instead vibe-coded up some actual software, and blogged about it making promises on what it would do, that would be I think kinda irresponsible (and stressful for everyone).

If I'm using LLMs to waste other people's time or trust, to deceive or stretch promises on what's possible, maybe that's the line?

If you like to laugh: here's Fred Armison auditioning as a tap dancer without ever tap dancing before

(this was in my head the whole time as I thought thru the analogy)

https://jakesimonds.leaflet.pub/3m55iqptp622v
San Francisco '25ers
first impressions
Show full content
why I came here

When the whole world is mediated thru digital instant technologies no place is particularly special. Everywhere is the same. Except...perhaps...the place where the technology comes from?

So I came to San Francisco to see what all the fuss is about. And I'm far from the only one doing this. We are the San Francisco '25ers.

most futuristic thing I've seen

Two guys with rfid chips embedded in their hand.

I saw one guy use it like a badge to swipe in at an office. The other guy had two (one on each hand), one of which connected us on LinkedIn, and the other one Rickrolled me.

I don't want to get an rfid embedded in my body, but I have bought a roll of 50 rfid stickers which I'm excited to play with. There's something very satisfying about physically tapping something and getting haptic & sound feedback. Much more satisfying than a QR code.

least futuristic things I've seen

Mouse in my hotel room. Really felt in that moment transported back to Jack Kerouac's San Francisco.

small talk in San Francisco

People will ask "What are you building?" as casually as you might ask about the weather.

"Nothing" is a totally acceptable answer, though. Often the person who asked isn't even building anything either.

fast city

In Portland, ME, on an average run I would pass people slightly more often than I would get passed.

Here, I don't think I have yet passed a single runner. And people of all ages just scream by me along the waterfront.

Fast walkers, too. Though this might have more to do with the areas I'm walking around, which don't necessarily feel unsafe but aren't places you want to linger.

big city feel

I don't know what I expected but San Francisco really feels to me on par with the New Yorks and the Londons. Not as big, obviously. But that same big city...I dunno what. It's here.

https://jakesimonds.leaflet.pub/3m53vytsv2k2j
Services
Four things I can do
Show full content
#1: Webmaster Crash Course (with LLMs): let's build you a personal website!

Duration: 2 hrs

Cost: $0 -> $150 I am boostrapping this, will do it for free!

You'll receive: One-on-one crash course in LLM-assisted coding where we build you a personal website with a <500-line codebase (And while I'm bootstrapping–will give you survey after & ask for feedback/testimonial if you liked it).

#2: quick chat

Duration: 0.5 hr

Cost: freeeee

#3: 'Gen'-Testing: what can one person + claude code do with your APIs?

Duration: 0.5 - 3 days

Cost: $500 - $3,000

You'll receive: Whatever I can accomplish with your API + a report & debrief session.

#4: Dangerously-deliver-prototype: full-stack web app

Duration: 1 - 10 days

Cost: $1,000 - $10,000

You'll receive: As-is unsupported prototype full stack web app.

https://jakesimonds.leaflet.pub/3m52lzrfojk2a
AT friends #4 & #5: @gabboman.at.app.wafrn.net and @djara.dev of Wafrn
informal chats with people building cool stuff in the open social world
Show full content

@gabboman.at.app.wafrn.net (center) and @djara.dev (left) are part of the team making Wafrn, a federated social media inspired by Tumblr that connects with both the Fediverse and Bluesky.


@latenthomer.com: What would Wafrn be without Activity Pub, without AT Proto, or without either of those. Could it even exist without Activity Pub?

@gabboman: Wafrn was its own software, it was a low-quality Tumblr clone. It was a desert, it was empty. I think I had at that point less than 500 users of which active were a few a day.

@djara.dev: I think less. The Fediverse integration came really early.

@gabboman: When Elon Musk said he was going to buy twitter I joined the Fediverse. I joined a Spanish server that had a lot of drama, I left, I forgot about it and then a few months later I joined another server, the one that the person who made Linux for the M-series macs made, Marcan42, that was a very cool one and I thought maybe it's worth it to look into this.

And I also saw a post from the tumblr CEO saying, "I am going to connect Tumblr to the Fediverse."

It's been three years.

So then you did it.

@gabboman: I did it in a few months. Actually, I was waiting for it a few months, Juan was also waiting waiting too, and we thought okay [we'll do it] but, how?

And It was a little bit mind-bending to get started with the protocol because the way the I've done the Activity Pub and Bluesky integration are very different.

Activity Pub I basically did it fully native. The actual breakthrough came when I realized you can actually force a mastodon server to make a query to your server, and you can log that, and then you can query the mastodon server, and I started mimicking mastodon.

@djara.dev: To put it shortly, we didn't know how to do it or where to start so we just started anywhere and continued from there.

@gabboman: But for ATProto, I am going to be honest I didn't trust too much the Bluesky corporation, some people will say that the great moderation misses of the last month was proof of it, I will say that they–jokingly we called our software Waffle, and now I cannot call it that because it's a reference to an incident.

But I thought okay this is a complex protocol, I am not ready, I was really busy at work I cannot do again what I did with Activity Pub, what's a different way? And I talked with @snarfed.org, the person from Bridgy Fed, and I said okay what if I actually kinda do it, like, I have a PDS, and I have Wafrn and Wafrn talks to the PDS.

So you're using @snarfed.org, his bridge?

@gabboman: No, no, no. He helped me with the idea of the architecture, and he called it Sidecar architecture. There may have been other Fedi software that may have been trying to do that, but the idea was what if we have an existing PDS, and then sending posts to Bluesky was super simple, I just send posts the PDS and then–magic!

To get the posts, I basically listen to the firehose and we filter and I have to do a lot of stuff to make that efficient because I get a lot of posts and then I have to quickly decide, okay, this post–the person who made this post, is this someone who anyone in Wafrn is following? No? Does this post have a hashtag that anyone is Wafrn is following? No? Is this post a reply to a post that we want, or a reply to a post of someone we are following?

Wow, that's a lot of branching logic.

The first thing I heard about Wafrn from @snarfed was, he said it was popular with furries. And I'm not familiar with furry culture but then when I just lurked without an account I would not have guessed that, it just looked like Tumblr. So is what Ryan said accurate?

@djara.dev: Take this with a grain of salt, but most of the user base of Wafrn is marginalized communities and those communities are using Wafrn as a safe space. Furries are one of those communities but not the only one.

@gabboman: We have a very diverse community, which I think is good. The community is very varied compared to other social networks, and that [also] comes from the Fedi, the Fediverse is popular with Furries. I am only half-joking when I say this: we don't have enough furries.

Wafrn, you've got according to this, you've got 4606 users, and 845 monthly active users. I grew up in a small town of 2,000, so I wonder what does Wafrn feel like to be there and be active there, do you feel you are interacting with everyone or just your followers? Does it feel like you know everyone?

@gabboman: I don't think I use Wafrn as an end user, I mostly use the explore local webpage, because I know that the people that join Wafrn usually follow cool people and they reward cool things and stuff, and I'm also there [for] moderation.

@djara.dev: To give you a little bit of context in our main application we have three feeds. We have the normal feed, the people you are following, then we have the local feed, and then we have what we call the bubble feed, also called "Wafrn & friends", a timeline with posts from friendly servers picked by us.

So your standard feed, people you are following, that's like your standard average microblogging experience. But the local feed is something very cool too because I see and read and interact with the Wafrn people on my local server without having to follow them explicitly, being in the local feed feels very much like home, like a small family because oh it's this person, active on Wafrn they are posting about this cool thing they are building and I can, like, oh let's add a little reaction emoji there, oh, that's very nice!

Having this couple of feeds that you can interact with different experiences makes Wafrn a little bit richer than the standard experience I feel.

And that's all my questions, anything else you wanted to say or highlight?

@djara.dev: I just wanted to highlight that in the last year or so of Wafrn, it's not just Gabbo and me, we are a team of five, six– there was this guy from eastern Europe, @sztupy and he did an amazing job helping us with the database, also fire and alexia and other people form the team have been helping greatly, greatly with UX, with design. A feature that just went viral on Bluesky was done by a guy campos, jbc did the bluesky part. We did a lexicon for bites that neither Gabbo nor me were involved with.

There was a a time when it was just the two of us, and there was a time when it was just only Gabbo. But it's been a long time since that.

Gabbo and me are friends from college. There was one day we went to the beach and he showed me his app and I said, "Oh my god that's so ugly I need to fix that." So that's the thing that got us here, and now we are like six, five a very vibrant community and I'm super grateful that all these amazing people are helping Wafrn become what is right now. We couldn't have done it without them.

Lightning Round

You have a magic wand, you can bring back one deprecated social app or feature that doesn't exist anymore from the history of the internet, what do you bring back?

@gabboman: 2015 Tumblr.

@djara.dev: Tuenti. Tuenti was a spanish social network that was kind of a mix between facebook but had some concept of twitter, of tumblr. It died a premature death.

Name a historical figure who would have been great on Wafrn.

@djara.dev: Terry Pratchett, the writer.

@gabboman: Alexander Hamilton just because of the musical.

It's 9:30 in the morning you get a call from an unknown number, do you pick up?

@gabboman: No.

@djara.net: No. If my Google recognition says it is spam, definitely no. If not, maybe I will consider.

Name one thing that's easier about running a mastodon instance than people think and one thing that's harder than people think.

@djara: Mastodon from a dev-ops perspective is way simpler than ATProto. There is only one server that talks to another server, that's it. But that does not scale very good.

@gabboman: The thing that is actually harder than people think is, oh no I actually have a server with more services, and funnily enough everyone who wants to host Wafrn has a server that already has stuff on it.

If you have a clean server for it, it's extremely super easy.

How many monitors at your set up, right now.

@gabboman: One, the laptop, I have my M1 monitor and that's what I use usually.

@djara.dev: I have also an M1 MacBook and then I have a monitor here, but the Mac has just duplicated the screen so just one.

Your docs mention "The closest thing we use to "AI" is my toaster in the kitchen." Who's toaster?

@djara.dev: It's Gabbo's toaster.

What kind of toaster is it, is it conventional–you put the toast down–or is it like an oven?

@gabboman: Let me see if I can...one second.

@djara.dev: Yeah yeah, go get it.

That's the toaster! That is the toaster from the docs, oh thank you Gabbo! It's just a regular toaster, that answers my question. And then, what was the first post on the network?

@gabboman: Yeah it was a small post basically saying hello, welcome, this is a little bit how it works. It had a video link to an album by jazzwave.


https://jakesimonds.leaflet.pub/3m4yanmnv3k2i
AT friends #3: Tim Straub of Down the Rabbit Hole
Special Edition of AT friends where I pitch my High School English teacher (who has a great Substack) on the merits of Open Social
Show full content

Timothy Straub writes Down the Rabbit Hole on Substack (the only substack I'm a paying subscriber to), and was my High School English teacher.


@Latenthomer: I wanna give you the pitch. I've been, like, pitching people on [AT Proto] and I want you to be honest because there's a moment where [people's] eyes glaze over. So are you ready? Can I sell you on why–

Timothy Straub: [laughs] Yes, I'm ready.

Okay, Alright, So Substack–

Alright, well I gotta get going Jake, it's been nice seein' ya! [Mimes getting up]

[laughs] So Substack is great, and people do great things with it. You're doing great things with it. But it's a platform, [not a] a protocol. So think about email [which is a protocol] versus facebook [which is a platform]. Like, if I have a Microsoft email and you have a Yahoo we can still email each other but if I'm on facebook and you're on twitter we can't message each other.

When you make a protocol, you're allowing anyone who can figure out how to [implement the protocol] technically to [participate]. And so that's like the simplest explanation and I've often already lost people.

The other thing is open source. I remember hearing about open source as a kid it was this very weird idea, like hippy-dippy, everybody's holding hands. And [open source software is] not like that at all, but it actually has won. The world really does run on open source software. So the people who are really excited about Open Social are like, it's gonna happen with the social media too it just might take 10 years. What do you think so far?

Yeah, I actually get it. It's really not that complicated, right? I mean, today it's definitely different than it was 15, 20 years ago when it was pretty much a free-for-all and coders were building upon each other all the time. They saw the value in that, but, now, it's become proprietary, like, "That's mine!"

Tomorrow, if they jacked up the prices, how would you get what you're getting from Substack in another place? With a protocol if Substack didn't do a good job someone else could come and be like we do the same thing [as Substack and you can easily migrate].

Yeah, the whole Substack thing – I'm not drawn to it. When I first saw it, I said, okay, it was just a means of putting my writing out there.

I have boxes filled with notebooks of all my writing from the past 40 years, and, to a large degree, never sent it out into the world for, and I think it's a common refrain, fear of rejection. So you go your entire life and so, yes, you're unburdening yourself, and it's allowed me not to have to get, and pay for, a therapist.

But the Substack part, yeah, I just wandered into it, and that was probably four years ago. [Now] I've got, what, like 45 people who are subscribed and I bring in $220 a year on it.

The other thing about Substack is I find it easy. It's not what it was four years ago. You know how things are when they grow or people start coming to them. Now they have all kinds of writers. I correspond back and forth with Sherman Alexie, which is nice. So that's one of the things I like about it.

And then you have people who are well established who are piling on, and then you have all the little bitty writers who are, like, "Oh nobody likes me now! Oh they're taking all my friends from me!" You see a lot of griping from writers.

Give me your hot takes on AI.

It's not a great surprise. People have been speaking about it for a long time. If you just go back and look at science fiction they've been writing about it for as long as science fiction's been a genre.

Have you not had a moment of surprise with talking to the AI?

I don't – I guess when you say AI do you mean like Siri?

I mean, I don't think Siri–

ChatGPT?

ChatGPT, yeah.

[Siri responds in background] Siri just heard me. "What do you want lover boy?"

No, the first time I heard the phrase "Singularity" used was around 25 years ago and I listened, I heard it, and I thought: "Huh, I can see that. That makes perfect sense. It's just technological evolution. It makes plain sense to me."

But I guess I'm asking–I'll say for myself I can remember when I tried ChatGPT being very surprised. I don't think I expected that in my lifetime, frankly. That I could ask a computer a question and get an answer back.

Well I guess I'd have to answer that in two parts. The first part is, every time I did a Google search the computer was giving me something, the whole ether world, and then you're like "boop," there it is, and, okay, that was really nice to be able to get that information.

And the second part is that I have not spoken to ChatGPT. I have not put it out there and I don't intend to. When I was younger I did many drugs. I experimented like a mad scientist, but I was smart about it in that I did not allow it to consume me. I saw it for what it was. But the one [rule] at the time: "No heroin, Timmy! That will get you, that's a big no-no, you fool." And so I look at [AI] the same way. Why would I willingly walk through that door, when everybody's been shown the pitfalls waiting for when you do walk through.

I like that. I use AI for work [and] I find it really really useful but then yeah I find myself agreeing more and more with your perspective. It's scary to read the articles.

Yeah, and that's just as a civilian. If I were into computers, if I was a techie guy and I was into coding, you know? But this is not a good time to go into coding.

I disagree!

It's true that you could describe a website and AI will make it for you, but I could also go to Mexico not knowing a lick of Spanish and have smart glasses on that put the [translated] subtitles right in front of my face. But I would never go to Mexico [like] that. I want to be in the language of where I am [so it's worth it to learn Spanish even though I don't have to].

In 2025, computers aren't going anywhere. So there's so much value in just speaking their language.

And what you're describing with the glasses and the translators -Star Trek, hello? Science fiction is so – where's their royalties?

There's no royalties 'cause nobody's making any money yet. It's 1% of nothing.

Yeah, but that's the point. I was speaking to my banker guy: "Holy shit, man, this is a bubble. You know it's a bubble, we know it's a bubble" and it's just because they're hype-hype-hype-hype-hyping and does anybody see it just falling flat? Well, it's like the dot-com bubble back in the early aughts. They go public and suddenly they're worth a billion dollars and for what? Is it tangible? And then of course it explodes, but, then, what was left when it cleared? Those that had substance, those that actually had something to offer.

What do you think of the analogy between social media and addiction or a drug.

I don't think it's really an analogy. I think it's a fact. It's a real addiction.

I've been thinking about that with Bluesky. I've been getting into it and then I find I'm checking it more. The cynical part of me thinks as soon as you have some very basic elements [of social media] you have something very corrosive.

But then at the same time, I think about really powerful [cultural] norms like "Don't drink before 5:00 PM," "Don't drink alone." And gambling, go to the racetrack. Get out of the house, make it a special occasion to indulge in the vice rather than have it right here [on your phone]. [With Open Social] something hopeful is you could potentially really slice and dice. [For example,] you could make your own app that only works from 5 to 7 pm. It's kind of the sky's the limit [for customization and control].

Yeah, Bluesky's the limit. Every time I hear someone say, "Oh, yeah, you can devise a way so you can't even use your phone." It's kind of like you're trying to trick yourself. [Mimes tapping his shoulder.]

Whatever the original reason was, you know, Adam and Eve, it was beautiful. They had a wonderful garden, called it Eden, and then they fucked up and everything went kaplooey. And that's what happens with these guys, because when you have money and power involved, Jake, what's gonna happen? It's gonna become perverted. And speaking of which: My right arm is killing me with all the jacking off from this porn! Talk about your addictions. I just throw that out there (jokingly) because if you don't mention that you're not talking about anything.

I'm not gonna go all old man on you, like I remember my brother got me a subscription to Playboy and I had to wait once a month for it to arrive at the house in a brown paper cover that my Mom would leave for me with the rest of my mail, and I actually got it for the articles. But looking at that, the ramifications of that type of addiction, what it's done to our society and what it's going to continue to do. All these women are, like, "Where are the good guys. What's going on here?" It's because they're at home! [Mimes jacking off.] So if Bluesky can do something about that, I'm signing up!

Do you have any tips, any actual practical things that help you with the digital world?

I'm old. No, when I first got my phone in 2022, speaking to the kids, I said, "This thing is dangerous. It can be a useful tool, you can have a spade and, ha ha, look, I'm digging a hole, but you can also take that spade and beat the crap out of other people."

I have no advice for anybody, Jake. Because, again, as long as there are people who are making lots and lots and lots and lots of money, and have gained a lot of power and influence, there's not a damn thing you're gonna be able to do about it. Until the whole, yeah, there has to be the endgame. And then you just rise from the ashes, and I don't think I'm being negative, or there's any hyperbole involved, it just seems like a foregone conclusion to me. And, Jake, knowing you, knowing your intellect and knowing your heart, that gives me hope, leaves me with a hopeful twitch, because I know that eventually you'd be overpowered. I mean the eventual tech doom machine will just consume all the people with the best of intentions.

I'm gonna use that as the end quote.

Yeah. And, scene!

https://jakesimonds.leaflet.pub/3m4ssgh65hc2s
LLM Analogies I've heard
Trying to jot down as many as I can think of
Show full content

A better blogger would cite all the sources but I think a lot of these have been claimed by multiple people, and I don't remember where I heard of them all.

LLMs are Airplanes (and we're birds)
  • I remember this from Life 3.0 I'm pretty sure but also have heard it other places.

  • I like this one for what it implies that LLMs don't need to be like human brains but they still can "operate in the same space" to a degree

 LLMs are supersonic jets
  • I wish I remember where I heard this, I don't

  • If I recall--maybe current LLMs are expensive enough that eventually we settle on smaller, way cheaper models that do 95% of what current models do but can run way faster and cheaper? So like the Concorde was the fastest passenger jet ever but now is in a museum, maybe the 'smartest' LLMs (which could still be years away) won't be worth the overhead to run inference on

LLMs are Crypto
  • As in, a few years ago everyone was crazy about crypto and it was everywhere then the hype died when after a while there weren't as many use-cases as it seemed like there might be early on.

LLMs are transformative on the scale of the Printing Press/Industrial Revolution/Pick Your Favorite Huge Thing
  • Sure. I mean, talking computers are pretty crazy.

LLMs are the Next Big Paradigm Shift in Computing (on the scale of cloud & mobile)
  • I like this analogy because it highlights something I think we're already seeing for some of search where chatGPT or a similar product just straight replaces google.

  • starting to see chat-first interfaces for sign-up flows for events

LLMs are a database
  • I think of Chollet, certain others have made similar points. I like this way of thinking.

LLMs are Microwaves
  • There's definitely a stigma if you were to use an LLM to compose a letter to your partner, or microwave an entire thanksgiving dinner (though both are possible)

  • microwave when new seemed obviously better than a conventional oven but instead found select niche use-cases.

  • Wish I knew who came up with this, have heard it at least a couple times

https://jakesimonds.leaflet.pub/3m4keajxgx22d
AT friends
Links to all interviews & FAQ
Show full content

Interviews (there will be 10)

AT friends #1: @schlage.town of @leaflet.pub (platform you're reading this on)

AT friends #2: @snarfed.org of Bridgy Fed (bot that lets you bridge account to the Fediverse)

AT friends #3: Tim Straub of Down the Rabbit Hole

AT friends #4 & #5: @gabboman.at.app.wafrn.net and @djara.dev of Wafrn (federated social media inspired by Tumblr, connects with Fediverse and Bluesky)

AT friends #6: ???

AT friends #7: ???

AT friends #8: ???

AT friends #9: ???

AT friends #10: ???

FAQ for potential guests (& curious readers)

What's the process for guests?

I will reach out and ask for 30 minutes of your time (can do a zoom call, or if you're near SF we could meet in person). I'll record audio on my phone & transcribe making light edits for readability. Within 24-48 hours of our chat I'll send you a link to an editable leaflet (works just like google docs, though no account needed) with a draft post.

You then have 24 hours to change/correct/add hyperlinks/remove anything. You can change ANYTHING, or even decide you don't like it and I won't publish.

I'll then message you when I press 'Publish'. Unless you tell me otherwise I'll tag you. I'll ask that you consider also sharing the post but no obligation.

I like having an image in each post so I'll ask if we can take a picture together or screenshot the zoom. If you'd prefer not to (or prefer to use an image you have of your avatar or whatever) that's fine too!

Why are you doing this?

IDK! I kinda see these blog posts as increasing the surface area of possible "ways in" for people to learn about cool stuff happening in/around AT Proto. If I'm reaching I think you're cool and I think what you're doing is cool! I want to highlight your work and I'm curious about the context you're coming from.

Y not a podcast :( ? 

I love podcasts! If this goes well maybe after I make 10 text-only I could do a podcast, but so far I'm sticking to text and enjoying the quasi-editorial process of having conversations that will turn into a static text blog post.

Do guests HAVE to have something to promote?

Not necessarily! In fact, I think it'd be super fun to chat with anyone particularly qualified to answer basic junior-developer-level questions about any of the following subjects: 

  • private/public data on AT Proto. What makes it tricky? Pros/cons etc.

  • history of social media! How did we get here, where are we going, were there any butterfly effect moments where some small decision could have gotten us a different landscape? 

  • how to start "decentralizing" your experience, from baby steps like using your own domain to hosting your own PDS and beyond (and be prepared to answer the question: why bother?) 

  • history of AT Proto. Anybody who's been here for a while keen to let me ask dumb questions I could look up myself but am too lazy to??

  • spam. What tools might AT Proto have, what weaknesses are there given that its an open protocol

  • LLM slop. Same kinda questions as spam.

If you know the/a person who I should talk to one about these things, DM me their name!

https://jakesimonds.leaflet.pub/3m4hcfym3mk2p
AT friends #2: @snarfed.org of Bridgy Fed (@ap.brid.gy)
informal chats with people building excellent stuff on (or in this case around) ATProto
Show full content

@snarfed.org of anew.social makes @ap.brid.gy, a bot Bluesky users can follow to bridge their account to the Fediverse.


@latenthomer.com: Your docs are great, and I don't want to ask questions that are answered other places. So [to start] can I ask for ActivityPub, ATProto, and IndieWeb, what's hard [to do] for each protocol?

@snarfed.org: Yeah I've spent a lot of time with these three but also Nostr, Farcaster and some others and there is a big range with how easy they are. I think closed social platform APIs and Nostr are at the low end, like the easiest. IndieWeb is not far behind. Activity Pub is maybe in the middle. Farcaster I can't say quite yet [and] I think ATProto is at the high end not because it is badly designed but just there is a lot of complexity.

You said on a podcast that it [ATProto] was opinionated.

It is opinionated and it's also just complex. They're doing a lot more and put a lot more into the protocol than some of the others ones. It depends, some things are pretty easy with ATProto but if you wanna make a PDS, that's hard. Like even in the software engineering/computer science sense it's not easy in a way that with the other [protocols] there's not as much there that's like, actually hard problems. But there are [in ATProto], like implementing the MST [Merkle Search Tree] from scratch, getting the commit chain right.

[Staying with IndieWeb, Activity Pub and ATProto:] who's a first class citizen? As an example, for ATProto, as a developer when I saw the Bluesky firehose and how composable it was I felt like a first class citizen, like this was made [to be fun to build on]. I think I'm a first class citizen as a developer in that way.

So if anything I come from the IndieWeb community so I think that would be the biggest tent. There's some philosophy there but they're very pragmatic. Like if you have a personal website, especially if you have your own domain you're a first class citizen on the IndieWeb, doesn't matter if you implement Webmentions or anything like that. In spirit, you're on the IndieWeb if you have your own domain.

[For the Fediverse] much of the spirit of the is this collectivism. [For example,] sfba.social, they got [1.9K Active Users] who live in the area. If you live in the area, and you're on that instance and you say, like, This is a big part of my identity. I'm going to buy into this community. If you're buying into that you're a first class citizen on the Fediverse.

Almost the community [is the first class citizen].

Yeah and tying a bunch of stuff to that one community, that one instance. Like, [the instance] determines my moderation, my identity--because the server hostname is part of my identity on the Fediverse--[and also] the functionality. If it's a mastodon instance I can do micro-blog posts but I can't do events, I can't do long-form writing, and so like they tie a ton of stuff together that determines your experience. And so if you're in for that, I think you're a first class citizen. You're saying, that works for me.

ATProto, yeah, in one sense it's very hackable and composable so what you say it's like, Oh I can see the Matrix here. And not just see the Matrix I can go touch the Matrix and so on the one hand for techie types that works, you feel like a first class citizen.

I think the other answer there is, part of the spirit of the Fediverse is this decentralized federated stuff, and ATProto has that, too, but it's much more individualist and not collectivist.

The PDS is not like a Fediverse instance, it's like Google Drive. It's just where you store your stuff. You can move your stuff to Dropbox. It's not like suddenly choosing a meaningful different affinity group or functionality. It's, like, files. And they push on that also with composable moderation. Like, as a user I can choose which labels I consume independent of where my stuff is stored, right? My feed, I can go use any custom feed regardless of which moderation, of which labeler I'm using. That decoupling and composability and individual focus in not the spirit of the Fediverse, so I guess I would say first class of ATProto want this decentralized social stuff but want more individual power, on that spectrum of individual to collective.

And coming from outside that's just my perspective.

So Bridgy Fed. Correct me, but if I'm a Bluesky user, Bridgy Fed lets me...all I have to do is follow the account and now you instantiate a mastodon account which...follows my bluesky account?

Yeah we struggle with terminology, originally we called that account on the Fediverse the bridged account but now it's gotten that people will say, your Bluesky account is "bridged." The language just emerges and if you try to fight it you're gonna lose so, leaning into that, we're saying okay the Fediverse version of your [bluesky] account would be the clone, and that's not a great word, I'd love a better word but [clone is] just what we got right now.

I love what it gets me, though. I can meet someone who's Mastodon-till-they-die and they can follow me.

Yeah and this is the point. Effectively it's a mastodon. In practice it's not using mastodon but yes, it is interoperable. These protocols...the idea is already that they're decentralized, there are different people [on different servers] and they can talk. So the idea is really just expanding that circle of who you can interact with, who you can see and talk to.

So it's 2025. What is unique about this moment and what is not unique about this moment for the social web. Are there technical innovations?

Yeah I can come up with some answers...I am often not as good at these kinds of things as my partner Anuj and a lot of other people in this space.

Originally I kind of got into this stuff more just to scratch my own itch and then I saw, Oh unlike the closed platforms that have their own apis that are pretty closed there are some lego blocks here. They're different lego blocks but you squint and you kinda angle them just right and you can plug them together, and as a simple engineer that's kind of appealing.

When you are scratching that itch and it gets crazy are you a whiteboard guy? Do you have any practical tips on what you do when...cause I can't imagine [the complexity of mapping multiple protocols].

I mean, no, I think that would be a good idea. I don't know that there's any techniques I have that are magic or surprising. I think, what's the quote 1% inspiration 99% perspiration? A lot of it is more just grind out all of the cases. Every now and then there's something that's actually a hard problem. But very rarely, right? And pretty rarely is the mapping between different networks and protocols an actually hard problem. It's engineering but often it's just grungy, grind it out, you get it mostly right but something breaks.

I think there's only one real--on the technical side, we're still talking engineering--there's only one real idea in Bridgy Fed and that's [to] abstract this stuff. Instead of mapping every protocol to every other protocol you map them to one common data plane, common format and piece of logic and then back out to wherever it's going. And that's just abstraction that's been with us in engineering for a century.

I think the hard problems are mostly non-technical. This is people interacting with other people. And you're mediating it with a bunch of, like, oh what does it mean to quote something versus retweet it versus repost it versus reply? And people take a lot of meaning from this stuff, and rightly so. And so navigating that, you know, is tricky and I'm not gonna claim I'm better at it than anyone else doing this stuff but like just being aware. Anything you do is gonna have meaningful impact to someone and their experience interacting with other people online.

One of my big worries with this is not the engineering stuff but is more...I've never been a, like, very online person. I'm kinda very online on GitHub, but not on social. And I think I'm happy with that for me, but if that's true...am I meaningfully less eating the dogfood here? Do I have meaningfully less product instinct for how to do this right and do right by the people using it? I haven't--I keep it in mind. So far I haven't come to the conclusion that I'm the wrong person, I should give up and throw this all away but I do think about that.

This is something that fascinates me about this space is you have these two very different worlds colliding. And also I think part of what you're doing is so cool because it's only natural that the conversation turns into the differences between these [protocols] but you are in a meaningful way, with code, showing...it's different but it's not all different.

I have some lighting round questions to finish off with, but maybe before can I ask one last one last question. Has there been anything--and maybe we'll just stick to ATProto for this one--anything you've learned and it was too late to back out. Like, you're already in the weeds, you've already said you're doing this, and all of the sudden you realize...oh I missed [something].

Yeah. Let me see. I mean, one big one that was not too late to back off from [was] when I first announced on the Fediverse, 'Hey I'm doing this.'

I kinda grew up in the Indie Web world, the late 90s/early 00s web era which was very like, everything was public, basically you expected search engines to crawl your stuff. This was the mash-up Yahoo Pipes era where it was very kind of expected and accepted that people would use APIs and fetch data and do different stuff.

The culture on the Fediverse is very different [now] and I think a lot of it is the people have evolved, the times have evolved and we've seen the ups and downs of social media. And so...I was naively saying oh if your account's public you're posting publicly, yeah let's bridge it, and it's one more place you're federating to like everywhere else.

I don't know if you paid much attention to this early on...but people were unhappy. And to your question, that was a big thing and a big direction I planned that was not--it took some work, but it was not too late to back out, we had just had to make it opt-in. How do we make it--and there are trade offs, because then if the idea is who you can interact with online, then instead of interacting with everyone, you would only be able to interact with people who bridge themselves. So that was one that, it was big, but not too late to back out of.

I hope we never hit that. Where like, we make a decision, we do something and it turns out to be a bad call and we're stuck with it. Cause I think very rarely you actually are [stuck], like sometimes but not often hopefully.

Lightning Round

You have a magic wand, you can bring back one deprecated social something that used to exist, what do you pick?

Pokes. And they already [have been brought back,] if you've ever seen Wafrn which is this unusual Fediverse server, [the creator is] this guy named Gabbo. [Wafrn is] very popular with Furries, kind of like the federated version of Tumblr, and he [Gabbo] recently added bites. He added bites cause he knows his community really well, and it's Furries! They're not gonna poke they're gonna bite.

[CLARIFICATION: Bites were a thing in other Fediverse software, including iceshrimp.net]

True of False: Github is social media.

True-ish, yeah? It's my social media more than anything else.

You're gonna use one laptop for the rest of your life. It has either one sticky key that doesn't really work or a line through screen, like when a screen starts dying-

-line through the screen.

Google+. Underrated, overrated, properly rated?

My partner Anuj would say drastically underrated, he loved it, he was heartbroken. I think probably properly rated. People saw and appreciated the actually new features and new thinking wrapped up in a bunch of business product stuff.

It's 2003, you're fresh at Google, it's Monday morning you go into work. What are three things that you see.

One thing I don't see is a computer, they didn't have one for me. After lunch, the next thing I don't see is my manager, he welcomed me and then took off for two weeks. Third thing I didn't see was a cafeteria because we didn't have them there was only one building. Charlie Ayers was there with a couple people helping but they were cooking out of a truck, so it was early.

Favorite actual bridge.

Pontoon bridges are pretty awesome.

From all your work in Bridgy Fed, name one thing that's harder than people think, and one thing that's actually not that hard.

Content negotiation is god awful. I feel like it's almost all downside.

What's content negotiation?

So http, when you fetch something over http, depending on the accept header you send you can get different documents back, which have different types. You have to do this in the Fediverse but, it adds this modality like I can fetch this url, but depending on something outside of the url, these headers, I can get a different thing and this trips a lot of people up. And I think it was a mistake in the standard.

Maybe web sockets [are easier than people think]? Like people kinda get thrown for a loop--the firehose, how the hell would you [do that with] web sockets. It's different but it's just like...it's fine.


https://jakesimonds.leaflet.pub/3m4gbb777t22u
My P(oof) is 100%
How my thinking on/about LLMs has changed over 3 years
Show full content
Moment 1: holy shit, I'm talking to a computer
We were somewhere around Barstow, on the edge of the desert, when the AI began to take hold.

- tweet I remember reading, probably early 2023

GPT3.5 was immediately useful to me. I was 1 year into a bootcamp-like grad program, learning to code but still getting stuck all the time and 3.5 wouldn't necessarily solve everything for me but consistently could get me unstuck, which was a godsend.

It was a crazy time. Then there was the anticipation of GPT4, the Kevin Roose Sydney/Bing chat (first and last time I've ever cared to hear about someone else's conversation with an LLM), and I just kinda tried to keep up with it all the best I could.

I felt certain the world was changing. The questions were how much better are these models gonna get, and how fast will that happen? And everybody was talking about scale, scale, scale.

Moment 2: Getting real familiar with llama.cpp internals...and feeling like I understand even less

Two years pass between moment 1 and moment 2, when I vibe-coded a small project word synth. I basically just exposed all the exposable parameters I dared to touch in llama.cpp (running the smallest at the time Llama model, 2b or something around there) & then had an interface to mess around with.

The idea behind this was I had heard lots of people talk about the value of messing with temperature, top_k, repeat penalty, and other sampling stuff, and so I wanted to get an understanding of that stuff.

I expected this to be a useful exercise in a similar vein to how you might build a half-adder or more modestly just use resistors and other basic components to hook up an LED to a potentiometer.

You do a basic breadboard something, and it's not like you're under any illusions that you're on your way to rebuilding a modern processor from scratch, but my experience from that sort of exercise is you come away from it understanding digital logic better. While still amazing and awe-inducing, these sorts of exercises demystify digital logic.

With my llama.cpp exploration...I did not find it demystifying. In fact, all the messing around I've done with small LLMs, while quite informational and helpful, has not made me feel like "Oh, I get why this works when scaled up." Quite the opposite, in fact.

Moment 3 (today-ish): Holy Shit, I don't really know SQL

I use SQL nearly every day, for work. But I just habitually use LLMs to both understand existing SQL and create the SQL I need.

I haven't learned SQL because that was kinda the next thing up for me to learn when chatGPT dropped. Plus LLMs are really good at SQL, so I've been able to get by without really learning it.

This is where I get my P(oof) = 100%. Because LLMs have sneakily let me keep choosing the "easier" path every day which in the long run is the way harder, way worse path.

Moment 4?
Most people overestimate what they can do in one year and underestimate what they can do in ten years.

- Bill freaking Gates

tbd.

https://jakesimonds.leaflet.pub/3m3xxhlejn222
I don't have your full attention. You don't have mine.
Show full content

If I looked someone in the eye and said, "Hey, I want you to have this apple, okay?" and then gently, underhand-tossed it to them from a few feet away I'd expect most people to catch the apple. If someone didn't catch the apple, I might even kinda judge them, that they weren't really very present in the moment and I guess maybe they don't think very highly of me or my apple.

But if, at the moment I gently toss the apple someone else tosses them a banana, and a beachball comes zooming in from out of nowhere, simultaneously arriving alongside a pineapple and a layer cake and suddenly a 2025 Toyota Corolla with a bow on the hood rolls into view (and deep down they've been desperately waiting for a pizza, which was not one of the items among the onslaught)...I would not at all expect them to catch my apple.

I would hope they're okay. I'd even feel a little bad for contributing in a small way to it all.

Sending any sort of digital message is like the second scenario, not the first.

Tech Tip: You can turn off Slack '{person} is typing...'

Preferences->Messages & media->[ ] Display information about who is currently typing a message

Small one, but amazing. Your keystrokes in the text box next to my name are none of my business. I'll see your message when you send it to me.

Honestly, the {so-and-so} is typing... what even is that? How is that ever helpful information?

https://jakesimonds.leaflet.pub/3m3v6v2gddc2n
Storytime: that time the Wayback Machine saved me from buying a new laptop in Ottawa
Congrats to Internet Archive on 1 Trillion Webpages
Show full content

Visited Internet Archive, saw a server (are there any real data centers that offer tours? If you know of any let me know)


Before I was a software engineer I toured a solo theatre show, and my sound queues lived on a mac-only QLab file. I toured with that file on a thumb drive, and for the first five or six theaters I just handed it off to the booth technician and everything worked. But in the back of mind I kinda knew someday I'd be in a theatre that didn't have a Mac, and I'd be totally out of luck. Ottawa was that theatre.

Confusing matters more-so, I actually had a mac laptop with me on the road that I used for admin, but it was too old to run QLab3.x. I jokingly (but also not totally jokingly) said to my Ottawa theatre contact, "Yeah, guess you couldn't take one of those iMacs in the ticket booth and put it in the light booth for my show, huh?" and he shook his head no.

What with "The show must go on" and all (an over-used cliche, IMO btw. Sometimes there's good reasons to cancel a show!) I was basically resigned to buying a new laptop when I found a forum post suggested that you could still get QLab2.x through the internet archive.

It was a magical software moment. It just worked. I'm still surprised and not sure I'm remembering everything right because I didn't think the Internet Archive kept, like, the software you can download and maybe they don't usually but this just worked.

I rebuilt my queues in the older but equivalent UI, performed for dozens of very nice Canadians, and the sound queues were great.

If you've found this blog in your own search for a copy of QLab2.3.9 1: break a leg and 2: here you go...

https://web.archive.org/web/20160808060136/http://figure53.com/qlab/download/archive

Won't run on my M4 but I think that's still the software.

https://jakesimonds.leaflet.pub/3m3tlh5qjtk2t
AT friends #1: @schlage.town of @leaflet.pub
informal chats with people building excellent stuff on ATProto
Show full content

@schlage.town (alongside @cozylittle.house and @awarm.space) makes @leaflet.pub, the platform you're reading this on.

Note: Conversation transcript jumps in time occasionally (indicated with [...]) and was also lightly edited for readability. Bold is @latenthomer.com (me), italics is @schlage.town


@latenthomer.com: Say you ran into someone that you haven't seen in a while and they ask what you're up to and you mentioned leaflet. What's the...

@schlage.town: Yeah, good question. It probably depends if I have one sentence or 10 minutes.The simple way to describe it is, we'd like to say social publishing platform, but that's a little bit vague. It's a blogging tool that lets you create blogs kind of like Substack or WordPress or Tumblr, depending on what people are most familiar with. But it's a tool for making blogs, and it runs on the same technology as Bluesky, called ATProto, which is kind of a powerful layer of infrastructure that lets you keep your same account [...] so it gives users more control and portability, and it does some interesting things with letting a lot of different apps kind of interoperate and be compatible and [there's a] sort of cooperative spirit that is really exciting and fun.

So your leaflet pitch turns to the ATProto, which I like.

I think, yeah, if its someone that I think that would kinda resonate with than yeah, depending on the audience.

For sure.

That's evolved too, when we first launched leaflet it was more document focused, and now it's kind of more publishing focused, but I think there's a lot of interesting space to play between kind of the Google Docs and Notion side of things, like you're writing, you're sharing a document and the kind of more blogging, open web, making fun websites, having comments sections, playing with kind of like social features and ways for people to not only publish but talk about things together and I think that's why it's kind of exciting to be playing in the space with Bluesky.

A little bit of a tangent. Can I ask, was there like a first social network or social experience on the web that you loved?

Oh let's see.

Doesn't have to literally be the first...

I think the one I miss the most was like twitter when it used to be really good.

Yes. Yes. Yeah absolutely.

Which, we can all...you know exact timespan's probably different for each person, like, I don't know, you know like mid-twenty-tens up till when Elon bought it.

That's a good...I'm gonna need to save that question, that's a good question.

Were you on...were you real active on twitter?

Yeah, I was...for me it was like a slow burn, like, like at first it was something, "Oh god I have to be on this [social network] too" and then slowly real time events [became] like the thing that I probably loved the most [about twitter]. I'm an NBA fan so I would watch the game with twitter and see people react in real time and then got into it more.

Yeah I think it was kind of a slow burn for me, too. But there was a, yeah, a time when there was just it felt like a really dense nucleus of people and niche communities, people like nerding out over certain interests...did you see this thing Threadapolooza?

No!

It was a little, you know the blog ribbon farm?

No.

That this blogger Venkatesh Rao, basically yeah a blogger with a very long-running kind of influential blog for a lot of nerds kind of like adjacent to a lot of twitter sub-communities but he had fun playing with twitter as a medium asking questions, doing big threads, he came up I think it was like 2019 he came up with the format of 'Post 100 tweets on a topic you want people to hear about'. I think it started out like, "one like, one tweet about xyz." And kind of evolved to be a challenge to write at least 100 tweets. These really big threads that kind of drew this esoteric knowledge out of people in areas that you might not think it would be possible to write 100 tweets about but it just like, was this cool lens into all these very weird different areas people have thought a lot about, and really fun to read and browse, and I feel like that energy is missing from twitter but also kind of yeah it hasn't, hasn't yet made it to Bluesky yet, it doesn't yet have that kind of critical mass necessarily.


Leaflet and ATProto

@schlage.town: We started building [Leaflet] before we added all the ATProto features. Initially we had just kind of like this quick way to make a document, [users] didn't even need an account at all, it's like the kind of instant google doc you could share in a group chat or something and over time yeah we were also excited about Bluesky and ATProto and we were thinking about ways to add more interesting social features and

@latenthomer.com: How did that decision happen, what was that like? Did it feel daunting to try to, like, oh my gosh we're gonna...

Yeah that's a good question. I don't know that it was daunting necessarily, like it was something we were always interested in. It took some time to figure out the right sequencing of it and I think for us it made sense to start with the most simple possible document creation app. It's created a few challenges with kind of fully tying the disparate pieces together but I think it puts us in an interesting position.

We have some cool things that we played with initially that we're kind of just now finishing brining to the Bluesky ATProto universe. Basically we had to make sure that all the block types in the documents were fully supported in how we save that data to like the lexicons. We also want to have a way to make standalone documents that you can publish to ATProto so you don't necessarily have to have a blog. Basically it would just be like a single Google Doc-equivalent but [with] social features, quote-sharing feature, and other things we're thinking about like fun ways to have global discovery mechanisms and things like that.

The first thing that made me really notice Leaflet was the quote-sharing, just highlighting text and seeing those actions you can take, I thought was very cool. Were there things about ATProto that made developing better on your end?

The things that were really nice on our end were like having the user accounts just as an existing thing...I think figuring out Oauth is still kind of notoriously a little bit tricky on ATProto but is like improving by the week as the developer ecosystem and the tooling around it matures.

[...]

I think the most interesting things [that] are starting to emerge now [is we're] seeing glimpses of interoperability with other apps, just like, kind of proofs of concept for how ATProto empowers collaboration across a larger ecosystem, of this kind of like permission-less development. Like other people, we were looking at those lexicons [NOTE: this was earlier in our conversation but not included because it had a visual component--we walked thru some leaflet lexicons visible on https://pdsls.dev/] and, yeah, if you OAuth with enough permissions…you could even write different data kind of across apps…it's still kinda like work-in-progress with how that will work but yeah you could even write different data kind of across apps so we've seen some cool examples, like there's an alternative Bluesky client called Anisota, which is really...have you seen that one...?

Ah, yeah I tried it out! It's the one, the flipping cards one right?

Flipping cards, yeah very different, creative UI, card-based decks and stacks of things and yeah, its all Bluesky posts data for the most part they're doing some things with like their own version of Bluesky posts which are more private to that network which is cool but mostly yeah like experimental UI and they made a way to read leaflet posts from someone's profile like if you go to your profile I think there's like a leaflet button you can see the leaflet posts that you've written-

-Oh cool. Did that come from your end or their end?

From their end, yeah.

Oh cool!

Yeah the developer dame I think was just interested in playing with other lexicons and it was a natural kind of first one to start with.

There was another one an app called Popfeed, its like a reviews app its kind of like Goodreads and Letterboxd, multi-media reviews and they I think it's still kind of alpha/beta feature but they made a way to cross post to leaflet. [...]

It's cool to think as a developer now I could be like, I could [use as my] primitives potentially things that other people have build.

Yeah yeah and its cool for us because yeah its like we can kind of have a wider community of people explore things that we either didn't think of or wouldn't have time to do ourselves. Just a couple days ago someone made a leaflet search interface...

I saw that!

Yeah, which is another great example, like why didn't we have full text search? I dunno, its like, we didn't have time to do it? Or-

But that's like a history of twitter, thing. Like the users came up with things [like retweets, which were later adopted by the platform], yeah.

Yeah, yeah, and that's a fun interaction that anyone can play with.


Lightning Round

Historical Figure you wish had Bluesky?

Emily Dickinson.

Ooh yeah. Nice. What do you personally, Brendan, call a post on Bluesky and a single atomic...thing on leaflet?

I'm a big fan of post.

For which one?

For both!

Okay! Love it. Agree or disagree, this is a yes or no...

We call it a doc, too. On leaflet, but-

Oh what's that?

A doc, doc is another one. But post I like-

Have you seen...and sorry this is lightning round I'm not supposed to ask follow ups but have you seen people, I've seen people just naturally [refer to leaflet posts as 'leaflets,' as in:] "I made a leaflet". Have you seen that?

Yeah, yeah.

How do you feel about it?

I think it's, yeah, its kind of interesting. Like I mean yeah leaflet already has, its an existing word so its not...we're not like inventing jargon whole-cloth.

Yeah, yeah.

Yeah so-

But you call them posts.

Right now, I call them posts. I think, yeah cause leaflet, yeah mostly as it exists most of the things people are publishing kind of fit the mold of a blog post. But I think expanding what a leaflet can be is an interesting thing for us that I would love to see more of. Like a leaflet that is just like a directory, or an index, or a wiki, or enormous list or something.


Thank you for reading! I enjoyed making this and will make more if there's interest. @ or DM me on bluesky for guest suggestions

https://jakesimonds.leaflet.pub/3m3rzglob5k27
how NOT to integrate LLMs into things
Show full content
"Why don't you just tell me the name of the movie you've selected?"

For a while now, I've been imagining & trying in my own small way to build towards this future:

Kramer is the Movie-Schedule Phone Operator | Seinfeld

Seinfeld is a television sitcom created by Larry David and Jerry Seinfeld. The show stars Jerry Seinfeld, Jason Alexander, Julia Louis-Dreyfus and Michael Richards in the lead. The series revolves around the continuing misadventures of neurotic New York City stand-up comedian Jerry Seinfeld and his equally neurotic New York City friends. It also describes the lives of four single friends: comic Jerry Seinfeld, bungling George Costanza, frustrated working gal Elaine Benes, and eccentric neighbor Cosmo Kramer, who deal with the absurdities of everyday life in New York City. Stay Tuned for More Entertainment! Click here to subscribe: https://www.youtube.com/@SonyPicturesEntertainmentIndia Follow us on: Instagram: https://www.instagram.com/sonypicturestvindia/ Facebook: https://www.facebook.com/SonyPicturesTelevisionIndia #seinfeld #hollywood #compilation #dramaclips #comedysequences #funnyclips #larrydavid #jerryseinfeld #comedysitcom #newyorkcity #sonypicturesentertainmentindia #sonypictures #sony #truelifecomedy #comedyseries #friendsgroup #relationships #iconicmoments #bestmoments #beststorytellingclips #favouriteclips #televisionseries #eccentricfriends #george #elaine #kramer #romanticsituations #comedymemes #hilariousmoments #friendshipgoals #jerryseinfeld #jasonalexander #julialouisdreyfus #michaelrichards

(If you'd rather not watch: Clip is from the Seinfeld episode where Kramer starts getting misdial traffic to Moviefone and "pretends" to be the bot. He tells George to input his movie name though the keypad, George does so, and then Kramer of course doesn't know what the beeps mean so he finally says (still in a robotic voice), "why don't you just tell me the movie you've selected?")

A year ago I saw a world of clunky interfaces, and LLMs, and I thought: oh how cool, this is the low hanging fruit of LLMs just replacing all the clunky interfaces with natural language so you can just tell the computer what you want in your own words rather than thru a terrible phone tree or something.

I'm not saying we won't get this world, I think a lot of people are still building it. But it's trickier than I think I thought it was (or I'm a shit engineer (or both)).

A less silly example: Reading a book on my macbook the screen kept dimming

I never do this, but today I was reading an ebook on my laptop and the screen kept dimming. It's 2025, almost 3 years since chatGPT, why can't I tell my macbook in natural language: "Hey I'm reading a book, leave the screen on and then when I'm done reading you can go back to normal settings"?

For over a year I've been aiming to do things like that, and I don't have a solution but I have a couple bullet-point-type takeaways:

First point:

If you really know your macbook, and your macbook has been really well designed, you shouldn't have to use an LLM intermediary to accomplish a task. I wanted to tell my computer to leave the screen on because I didn't immediately know how to find the setting to do that. Already we're in a quasi-failure case: I can't do the thing I want to do immediately. That's not a judgement or a reason this can't work, but worth acknowledging. Things that are easy an LLM will only make awkward (you'd never say: "Open a browser and go to bluesky please!", its faster to just do it).

Second point:

Say you build this and you do it just right. Your LLM integration is still super fragile to updates and tweaks. Your documentation for the LLM better be PERFECT. Or the LLM will try to do something it can't do. And you'll never anticipate what people ask for so how are you gonna prompt the LLM to respond correctly to everything?

You have the same problem as in this joke:

Third point:

A lot of LLM integrations, the actions the LLM can take are a different set of actions than the actions the user can take.

This actually is a lot better than when I tried the same prompt a while ago. But still. I think LLM integrations should follow a variant of WYSIWYG where, if on the page I'm on the user can take an action (like make a directory), the LLM should also be able to take that same action and the same thing should happen.

Like, the LLM under the hood called a 'whats-the-date' API. I wish that had been made more explicit in this case. The more steps that get hidden, the more surface area for things to go wrong and for the user to just be confused and frustrated.

Conclusion:

I don't have one.

https://jakesimonds.leaflet.pub/3m3nszrdrrk2e
Thing I Learned (briefly) Street Performing
(I'm saying Street Performing is like LinkedIn)
Show full content

I spend a decade "in the arts," acting, making a couple one-hour solo shows, and helping friends produce their stuff.

The one time I was in the paper

At one point in all this, I gave a go at making a street performance act. I heard anecdotally that with a tight street act you could actually make decent money, and also the idea of it all kind of romantically appealed to me, so I learned to juggle.

Notice that I've palmed two of the juggling beanbags momentarily while I do the shoe flip. If you're watching uncritically it happens fast enough that the idea is it looks like its all one fluid motion one moment I'm juggling three bean bags the next three bean bags plus my shoe but its two discrete steps.

I got kinda decent at juggling. My favorite things I could do were a five-ball pattern, and a couple silly things like above at one point I could somewhat consistently kick my shoe up into a pattern of three balls, and then juggle the three balls and my shoe.

I did not, however, develop a street act.

First Lesson: unbelievably hard to capture and keep attention in a chaotic environment

I came to street performing as fairly experienced stage actor.

What I learned from my brief foray was that unlike in a theatre where you have people's attention by default, in a chaotic environment basically at any moment if you let the energy drop people will literally walk away from you.

I didn't stick with it long enough to ever learn how to hold crowd because...

Second Lesson: The street acts that do work all rely on the same tricks (and its IMO joyless)

Watch three dialed-in street acts and you'll see what I mean. Taking nothing away from these sorts of things! I, after all, couldn't hack it. But there's a formula and the successful acts all follow it.

And the formula is just:

spectacle + promise an even bigger spectacle

So at the very start, the performer does something BIG and unsubtle and impressive but that only uses a few of the props they have out. And then they interact with the audience a bunch. Use those interactions to get more people to stop and see what's going on. Begin to promise an even bigger spectacle. And thru it all, with an almost Pavlovian insistence, drill home that what's about to happen is the performer will do something INCREDIBLE and then you're gonna throw them a fiver or whatever.

It's all about the build up. Which goes on for a while, though it always seems like the MASSIVE spectacle is just about to happen. Do that for 10 minutes and then...I don't know, I was never able to do it but you build something up in the audience so they feel maybe that since they've been watching for 10 minutes, and since what they just saw was genuinely impressive, they fork over five bucks or whatever.

Hey wait, I thought this was a technical blog?

It is. I'm trying to make an embarrassingly unsubtle parallel between street performing and LinkedIn-ese and AI twitter.

The great thing about theatre, why I spent a decade of my life basically for free hanging out in that world is that when you create a space where everyone pays attention to the same thing and is generous with their time and attention its really nice.

Where is that space, in the digital world? If you know please tell me.

One last thing(ridiculous rant time)

Not me.

If a person can competently ride a giraffe-unicycle in front of a crowd, I guarantee they can competently mount said giraffe-unicycle quickly and undramatically.

It's pretty cool to see, actually. When they do it.

But if you've ever seen a street act with a giraffe unicycle there's a good chance 7 minutes of it was a ridiculous charade of the performer getting an audience member (who they don't need) to help them.

They know how to get on the dang unicycle.

Memorable street acts I saw while trying to learn about it/anecdotes
  • In New Orleans I saw a guy who gave Mumford and Sons energy do a surprisingly charming routine that is memorable in retrospect for the fact that he really didn't display any memorable real spectacle but the payoff was a pun on "barefoot", which I think he was was not wearing any shoes, and when he said "barefoot" he pulled a bottle of "barefoot" brand wine out from behind his back (like, as a magic trick) and it was very random but kinda cool.

  • Not my personal anecdote, but a friend told me they got disenchanted with street performance when they were performing in Edinburgh during the fringe and there was some theatre backstage common space where performers could leave their gear, and there were like 30 giraffe unicycles (its like how a bunch of animals independently have evolved to look like crabs. The giraffe unicycle is a natural local maximum of the successful-street-performance manifold.)

  • A friend and myself were juggling in downtown Portland, OR, by the waterfront, and a family rock band set up down the sidewalk from us...and then proceed to just totally kill it to the point that their crowd grew to the point where we were in their crowd. It was super cute, a dad and two kids, one of the kids sang and I think the other one played drums. Played covers. You can't compete with that.

  • Anecdote: to eat glass, what you apparently do is you eat a bunch of bread beforehand, and then you also pre-process the glass by shattering some glass and then with sandpaper or you take the edges off and it still looks sharp but it's not so (apparently) you can digest it fine? (DISCLAIMER: I was told this, can't verify. Please don't try yourself and then blame me)

https://jakesimonds.leaflet.pub/3m3kqrdhbek24
Link Rot and Roombas
and promises. So many promises!
Show full content
Roombas
I always say about a physical robot, the physical appearance makes a promise about what it can do. The Roomba was this little disc on the floor. It didn’t promise much—you saw it and thought, that’s not going to clean the windows.

(from https://crazystupidtech.com/2025/09/29/irobot-founder-dont-believe-the-ai-robotics-hype/)

This quote has been bouncing around my head for the last few weeks since I read the (very good) interview it comes from.

I am finding myself increasingly frustrated by the quiet implicit promises made (and often not kept) by UI. Like a roomba, UI makes promises about what it can and can't do. It is so so so hard to get right. Especially with LLMs.

(Quick aside on my motivation for writing this, feel free to skip its non-technical and very naval-gazey)

I am new enough to the tech space, and had a circuitous enough route getting here (I'm a carpetbagger--ran my first terminal command at 29), that I think I have a unique spidey-sense for how normal people experience software. A lot of really brilliant software people frankly either never experienced or don't remember what it's like to use software every day (hours and hours of screen-time) but understand little to nothing in terms of computer science principles.

A partial working thesis of this blog is me trying to quickly jot down what I remember about using software as a normal person, because (in my opinion...) software engineering daily subtly but substantially changes your brain and how you interact with the world.

Link Rot

It was indescribably frustrating my first months of 'Deciding To Get-Into-Tech' to find dead links. I was looking at lots of free educational resources and student-created material, plus a lot of it was at least a few years old, so there was a fair amount of link rot.

I know I said just said it was "indescribably frustrating" but let me try:

I'm in my childhood bedroom, 29 years old, jobless because I'm full-time "trying to learn tech", tearing my hair out daily over the smallest things, trying and failing to find resources appropriate to my current level of skill that don't feel patronizing (looking back: I should have been more humble and focused on the "dumb" stuff that felt "beneath" me but whatever), and then I finally find something that sounds just absolutely perfect, exactly what I was looking for...and its a dead link.

It really was the kind of thing that made me think: "maybe I should just go to law school" (kidding (about law school)).

Dead links felt personal. Irrational, I know, but that's really how it felt. It felt like just such a basic thing and then to not be there was like...fuck you for trying to learn something you moron.

What I think about Link Rot today

I think:

  • "Link Rot" is a terrible name.

  • what, some random person wrote href once fifteen years ago, this magic incantation worked for years totally unmaintained, but the moment it doesn't work anymore we're mad about that???

  • links kinda subtly make a promise they don't keep: "click me and I'll take you to a server that works exactly the same as it did the day the programmer's fat fingers typed h-r-e-f".

  • its amazing that any link ever works! Let's be grateful for the vast majority that do their job. Let's focus on on those links. Let's write articles about the links that showed up to work today.

How I would explain it to the frustrated earlier version of myself:

You know how the internet is, like, not just one computer but a whole bunch of computers?

When you click an external link, you're going from requesting something (an html document) from one computer (server) that works (since it's showing you a webpage), to requesting something from another server (computer) which...hopefully that server works, too. But there are so many servers! Every day new servers come on-line and old ones break. Not every link is gonna work.

Maybe quit looking at capstone projects of bootcamp graduates from 2013? Go read the MDN docs.

https://jakesimonds.leaflet.pub/3m3hv5sxnrc2j
Social Media and Seductive Round Numbers
reflections on hitting 1K github contributions in 2025
Show full content

1K github contributions in 2025 means something to me because when a few years ago when I first noticed the social-esque profiles of github and saw a guy I knew had over 1K contributions, it scratched that social-comparison-whatever muscle in my mind.

I don't remember when this moment was, but looking back on my profile my contributions by year break down like so:

  • 2021: 2

  • 2022: 89

  • 2023: 419

  • 2024: 613

  • 2025 (so far): 1020

It's not a bad summary of my journey so far into tech. And being a social animal, and having spied on the github graphs of many people, 1K / year is kinda where I hope to stay. I'm jealous of some of my workers, who have more annual commits but all or nearly all falling M-F, but that'll probably never be me.

Other Round Numbers stuck in my social-animal-brain

501 Linkedin Connections

Currently at 362. I want to get to 501 so it'll show me as `500+ connections` and I wish it didn't matter but I feel like it does for just professional legibility and first impressions.

(the teenage version of myself is very disappointed that grown-up-Jake is concerned with the number of Microsoft-friends he has. If you're reading this lol: https://www.linkedin.com/in/jake-simonds/)

1K Facebook friends

Honestly similar to github contributions, I have a very specific memory of noticing that a popular person I knew had 1K facebook friends. This was probably ~2008-2009. Similar to github contributions, I remember thinking I didn't know it was possible to have 1K, it seemed like an absurd number.

71 Likes

My most liked post on instagram. Picture is me on a horse(only time I've ever been on a horse) and I'm announcing a positive life update.

Early Reflections on Bluesky & ATProtocol

I'm blabbing about all this because it's been on my mind. And it's been on my mind because I've been just...devouring everything I can find to read and/or learn about AtProtocol recently.

There's so much that delights and excites me. Transparency and 'We can just do things'. Reinstating a chronological feed and realizing, 'Oh my gosh, I really kinda can exert some control over what passes in front of my too-impressionable eyeballs.' Realizing just how insanely locked down and not at all transparent other social experiences are.

A brief list of insane things that are normal with the current status quo:
  • I always check youtube notifications because one out of every 10 is someone commenting on one of my few videos, and my couple videos technical tutorials so I care to keep up and answer any questions. But 9 out of every 10 are just trash notifications pumping engagement. And maybe there's a setting deep in the settings menus that would let me change that? I'm a software engineer and the task of trying to figure that out feels too rich for my blood.

  • Linkedin messages. OMG an even more extreme example. 1 out of 20 is a super important, super fragile connection from someone who had no other way to reach me and I care deeply about responding promptly. The other 19? Ads. Nasty, pretending-to-be-an-opportunity ads.

  • Not trying to blame/shame/throw shade on people who do this but...its really bizarre to see so much of the back of the head of a child of people I met once at a party 10 years ago. How crazy that we've created these spaces that we feel an obligation to participate in but also have ZERO trust in.

  • 'link in bio'/'link in comments'/'pic for visibility' and all the other incantations you see. I wanna see my friend's links. If I chose to include them in my feed, I want them to have editorial discretion to post whatever and if I don't like it I'll unsubscribe.

  • It would be mortifying to show another person...

    • my facebook feed

    • my youtube feed

    • my tiktok feed

I recently turned off my youtube algorithm, and was showing some friends what youtube now looks like for me.

Homepage:

And then to actually browse youtube I use the subscriptions tab:

As I was showing them my subscriptions tab, just like I'm showing you here now, it felt really really good to know that the algorithm would pop up some deeply strange uncanny suggestion while they were looking.

It's still personal (and still feels a little weird) to show you a glimpse of the youtube channels I'm subscribed to. But I am 100% in control of what I do and don't subscribe to. I can have ownership over what passes in front of my impressionable eyeballs. A very freeing feeling.

https://jakesimonds.leaflet.pub/3m3fc7t6jz22b
Swiss Cheese Heuristic for LLM use
Show full content

Best: In the cheese

The knowledge in my head (especially when it comes to code) is a lot like Swiss cheese. There's things large-and-small that I don't know, but what I do know almost...surrounds these pockets of ignorance, and I get by the best I can.

When I'm in the cheese, the LLM and I are an amazing team where our strengths and weaknesses compliment each other. I both know what to ask for, and am an decent judge of what the LLM gives back.

I love LLMs. And when I'm using them to augment things I already kinda basically know, I'm in the cheese. Happy place.

(Another heuristic for whether you're in the cheese: If the LLM disappeared, could you keep working?)

Second-best: On the Cheese

This is where the rectangle of what I'm asking the LLM for is partially grounded in what I know. I'm at the edge of my abilities, and using the LLM to...learn/keep going.

This is the danger zone.

As a junior dev in the dawn of LLM-coding I have been a regular here.

Charitably: this is a place of learning. Your slice of cheese expands over time. Working on the cheese lets you do things you wouldn't have been able to do otherwise, so that must be good right?

Uncharitably: You are at least a little bit worse at both asking the LLM for things and evaluating what you get back. It feels like learning...but how would you know? You are at the edge of your intellectual abilities. What a beautiful, vulnerable, exquisitely human part of the human condition. And you're asking a computer for advice, hoping it isn't full of shit.

Worst: On the News

You don't know what you're talking about, so you're gonna ask for unspecific, vague things. And then you're not gonna be able to meaningfully judge what you get back. But actually it's worse than that. Even if the LLM gives you back the "right" answer, you're out of your element. You're like a dog chasing a car. You're gonna end up on the news.

(and absolutely no shade to that guy, or anyone who has ever had an experience like that. We're all figuring it out)

Concrete Things I've Changed (in how I work)

I used to hardly look at docs. I'd kinda ask the LLM for the docs, and then re-prompt over and over again when things didn't work. I now look at docs more. And I think about them differently. I'm kinda not going to the canonical docs to answer specific questions, but instead going to the docs for the opinions of the opinionated experts.

Like, I go to the docs to see what I should learn. What are the central concepts? And then when I think I have something like a skeleton of whatever the thing is, I go nuts with the LLM.

Still figuring it out. Still iterating.

https://jakesimonds.leaflet.pub/3m3e3cpgvq22x
Hello World
Show full content

Hello.

It is Saturday night and I am 33 years old and I am initing a new potential blog form factor. Woohoo.

https://jakesimonds.leaflet.pub/3m2xncso4g22z