119: Anti Slop Vibe

## Document Notes
## Highlights
- **Mute The Super-Spreaders And Politics**
- Mute the platform's super-spreaders and political commentators to avoid toxic, low-quality noise.
- Use keyword mutes (e.g., 'Trump', 'Democrat', 'Republican') to keep your feed focused and less stressful.
Transcript:
Aaron Francis
Oh yeah give it to me mute mute the super spreaders okay so you must immediately mute uh elon musk i'm sorry you have to first thing i did first thing you have to there are some there are some Tech drama super spreaders yes and even if you don't follow them um they will end up replied to or quoted into your feed mute them you're not going to miss anything if somebody has a hot Take on a minor open source model release wait wait for the simon willisons wait for the claw bot guy like wait for people that that have a little bit better you know taste to talk about It wait for lee rob to talk about it but don't like the people who make their money off of rage don't just you're not gonna miss anything just mute them immediately my other my other hot Take is every political commentator you see right or left, just mute them. If they've got over 100,000 followers and they like to talk about politics, mute them. Just get rid of them. Mute the word Democrat. Mute the word Republican. Mute the word Trump. Mute the word Harris or whoever runs next. Like there are, and in my opinion, this is more for the audience. In my opinion, this is not an abdication of civic engagement. This is not an abdication of responsibility. This is, I don't want to get that kind of information from this place because this place is incentivized for hot takes and arguments and whatever. So, like, do I do I like vote in local elections? Yes. I read, you know, the Dallas Morning News write up of all the ballot propositions, see what they are, and then I go vote on them. I don't need to see people arguing about, you know, the local props on Twitter. I don't care to see that six months ahead of time. I'm going to go and read the both sides on, you know, the Dallas Morning News and see like, who says what about what? And then I'm going to go vote. So you can, of course, log off and live in your own little world. Or, dear listener, you can decide Twitter is not the primary means by which I need to consume this type of information. You should decide if you want to consume that information at all. But whatever you do, don't get it from Twitter. Whatever you do, don't get it from Twitter. Twitter hangout twitter all of that is actually pretty fun it's when you get into a culture war twitter that it's like uh okay i don't need to see this and like this is a little this is a little Bit spicy but like i muted ukraine the words ukraine and russia because i don't need to see that kind of like up to the second ill-informed take on Twitter. I can seek that out from a reputable news source and like I've muted CNN on Twitter. Like I just don't need to see that in my day to day. So that is that's my generic call to action for the people. And some of that specifically might be helpful for you as you return into the cesspool of excitement. ([Time 0:08:30](https://share.snipd.com/snip/879c57a5-fe0b-447b-b7f4-33f365bb90fc))
- **Defuse Baiting With A Thumbs-Up**
- Avoid arguing with trolls; respond with a simple thumbs-up or short acknowledgment.
- If someone is rude, mute them, but otherwise use brief, non-confrontational replies to defuse baiting.
Transcript:
Aaron Francis
Other my other tip for the listener is people want to bait you into arguing and the best thing to do is to hit them with the thumbs up emoji right that's it like this looks stupid why did you Build this and you just say it may not be for you thumbs up that's it that's all you do may not be for you thumbs up or do you mute are you mute are you do you mute at that point if somebody yeah If somebody's like that rude uh yeah i'll definitely mute him but if somebody's like hey i built this a year ago cool right okay i don't care like i'm not gonna i'm not gonna try to convince You of anything i'm say, cool. So don't fight with people on Twitter listeners, because something about the pigs love it or something like that. If you, you know, wrestle with the pig, you both get dirty, but the pig loves it. ([Time 0:16:24](https://share.snipd.com/snip/a6d3ac2c-df55-4570-ac4a-eae15eed12c2))
- **Super Bowl HVAC Drama At Home**
- Ian describes a Super Bowl night when his home's vents smelled like burning rubber and an HVAC motor likely failed.
- The technician ordered a new blower motor after diagnosing the air handler issue the next morning.
Transcript:
Aaron Francis
HVAC guys.
Ian Landsman
Yep. They don't like to come to your house during the Super Bowl.
Aaron Francis
They don't want to do it. Well, yeah, I can see that. Yeah.
Ian Landsman
They're HVAC guys, and they want to watch the Super Bowl. But it's like 5.30 last night. It's like an hour before the Super Bowl. And our whole first floor starts smelling like burning rubber chemicals. You don't like burning. It's not good. I know it's going to be a problem. It's Super Bowl. Anyway, we determine it's coming out of the vents, which also sounds fairly scary. And then it's something in the air handler. So we have like a boiler, which is separate from the air handler. So the air handler doesn't really do anything but have like a fan that blows.
Aaron Francis
It handles the air.
Ian Landsman
It handles the air. Yeah. So we called our regular HVAC and said, I have to say they got back to us instantly, but he didn't want to come out. But he was like, you know, it's going to be fine. Just turn it off. We're not going to be all game parts today anyway. So we turned off our first floor air handler and it was okay so far. Probably the motor's going or whatever. The guy showed up this morning. It came on this morning by accident. We meant to leave it off and it didn't smell. So that was weird. So I don't know if it just got so hot because it's been zero degrees here for a month if something's wearing inside when you feel hot or whatever. ([Time 0:25:56](https://share.snipd.com/snip/52d8e9ba-cd36-457a-ad54-144dc35d1aba))
- **GUI Process Manager For Dev Context**
- Solo organizes multiple project processes and offers GUI controls to start, stop, and monitor them.
- This reduces terminal clutter and prevents lost context when juggling many local dev services.
Transcript:
Aaron Francis
What is it? Solo is a desktop application that manages your development processes by which I mean, you have, uh, you've got a website, you've got, you know, so you've got help spot, you've got the Backend, you've got outro, you've got, you know, new thing, one birthday parties.com. You've got all these projects, right? Each project has some combination of NPM, maybe Laravel queues if you run them instead of doing them sync. Maybe it's got Herd Share or Cloudflare Tunnels. Maybe it's got a Stripe replay listener locally um it's got if you're in the other ecosystems maybe you're running the prisma whatever server so you've got all these processes processes Right yeah um and now that we're like now that we're burning tokens we've got a bunch of you know clod tabsod tabs open as well. So your terminal gets a little, it gets a little crowded.
Ian Landsman
It's a little crazy in there.
Aaron Francis
You've got a couple of processes running. You've got a couple of clods running. You've got a couple of projects going. If you're me or John O'Nolan, you know, you're just ripping tokens across five projects at once. And then clod starts to be like, oh, let me start the dev server. So now you're in a clod and it's running the dev server and you're in a different clod and you don't know if that, like you just lose track of what's going where. And so what solo does is it allows you to add a project and under a project, you can add processes and you can mark them as, know auto start or not because like let's say the stripe webhook Listener and the cloudflare tunnel you don't need them all the time but like when you want to test it from your phone or you want to send a share link to somebody it's nice to just be able To hit click like just click play on a gui and the strike or the cloudflare tunnel boots up. ([Time 0:34:09](https://share.snipd.com/snip/8180fb78-cf1c-4860-bb55-8625fc2163f4))
- **Terminal Notifications Translated To Desktop**
- Solo parses terminal outputs and translates OSC notifications into in-app toasts or desktop notifications.
- That makes interactive processes and CLIs behave like native desktop apps, improving developer awareness.
Transcript:
Aaron Francis
So you can have like, you can have your Q, your PHP Q listener running. And when you trigger like Q's restart, that tells Laravel only to kill the process, right? That's how the Q restart works. And in production, you have supervisor that watches it and that restarts it with a fresh copy of the application. And so if you want to do something like that locally, you can. Or you can have it just, you know, any process that exits. Like if, you know, sometimes you're running NPM run dev and there's some category of changes where usually it hot reloads but sometimes the Vite server just dies like if you change something In Vite configuration and it errors out and then it's just like boom dead and then you go back and you're refreshing the page and you're like huh I'm like changing words and the words aren't Showing up on the page what the hell's going on well your Vite server died and so this will auto restart it you can configure projects to auto start when you uh open solo so like if you have One that you're always running uh if that project is set to auto start all of the auto starting processes will auto start within it um which is quite nice for like your your active like I'm working on this mostly right now you can turn it on to do auto start um it does a few other clever things like it forwards on you know how terminals will send you notifications like claude Is waiting and is ready for your like ready for action uh it forwards those on so it's like parsing the logs out of these processes um And it's looking for these OSC notification codes, Which is how the terminals trigger the desktop notifications. And it will see those push notifications from the underlying processes. And if Solo is focused, it'll put like a toast inside of Solo. ([Time 0:36:48](https://share.snipd.com/snip/a8fb57db-8a45-48f2-9524-2767f6c1a92e))
- **Share Project Processes With solo.yaml**
- Commit a solo.yaml to repositories to share process configs with teammates.
- Use it to standardize team processes while keeping local overrides for personal workflows.
Transcript:
Aaron Francis
And so, like, if you're on a team and there are, you know, eight processes, two of which are, you know, run all the time. And the other six are for these esoteric situations run these, you can write all of those to the solo.yaml and then share that via Git. And when solo launches, it'll look at your solo.yaml. You can have a mix of that. So like you can have team processes, but still store some locally, right? ([Time 0:42:00](https://share.snipd.com/snip/a8c5eb42-e04d-4f8f-9202-299e69d470a8))
- **Agents Can Read And Control Processes**
- Solo exposes a built-in MCP server so AI agents (e.g., Claude) can read and control process output.
- This enables agents to inspect running processes and issue start/stop or read-output commands programmatically.
Transcript:
Aaron Francis
In solo to do that. You can tell Claude, hey, read the output of the dev server and see what this error is or something. Or, which is nice because unless Claude launched it, typically, like if you're running it in Ghostlying unless that clod launched it right it really doesn't have access to it because It's a process output not like written to logs right right um and so you can tell clod you know restart the queues and it'll go and find the process and restart it or like stop it or start It or read the output or whatever um and this opens up interesting things which I did not think about, which is running a couple of clods inside of Solo, you can have the clods read from Each other, right? So you can have one that's like research clod, and then you can have one that's, you know, whatever, and say, hey, go read the output from the research clod and see what it said, and it'll Read it via MCP. And it's like, that's kind of wild. ([Time 0:42:48](https://share.snipd.com/snip/a3119516-0fbb-448d-8dab-85fed8060d7c))
- **Pick Rust/Tauri For Heavy Process Workloads**
- Aaron chose Tauri (Rust) for Solo because Rust's process and PTY tooling outperforms alternatives for complex child-process management.
- He pairs a Rust backend with React + TanStack/Zustand front end and SQLite for a clean state architecture.
Transcript:
Aaron Francis
So this will resonate with you, Ian. Horses for courses. Right? Horses for courses.
Ian Landsman
Yeah, I think it's courses for horses, actually. You need to sell the courses to get the horses. Actually, you and I should team up on a horses course just for the wordplay of it all. There's so much money in the horses. We should do that.
Aaron Francis
I know. We've got to get out of AI and into horses.
Ian Landsman
That's where the real money is. Or the AI. Weird, Jamie, we're just talking about this AI for the horse world somehow.
Aaron Francis
I don't know what we're going to do there. Not for the horses specifically, but for the horse world. Well, maybe. I don't know. Who knows? I don't know what they need. Yeah. So I have built another desktop app, separate from Solo, that is a native PHP desktop app. And so it's not necessarily that Tari is the best desktop app developing environment. It is, in this specific use case, based on my own research and a lot of deep research, both from Claude and Gemini, that Tori is the best fit for this one because of the ecosystem around The process management. That is the key. That is what this app does is manage processes. And so the Rust ecosystem has the best affordances for the pretty complex managing of child processes here. So the other one that was in the running for this was Electron, which is another great, that's what Native PHP is built on top of. Electron is great, but just the ecosystem around the spawning, the killing, the reading, the sending, it has to be interactive. So it needs like PTY and sending the input and reading the output and responding to terminal queries. It just came out that Rust was not only the best affordance, but also the most performant when it came to juggling all of these processes. And so that's what pushed me into the Tari path here. And then the next decision was like, what do you use on the front end? And I landed on React. So I am using React on the front end. Specifically with TanStack query, which is incredibly good um and i don't know how to say this but like zestand or zoostand um so that's like a it's like a yeah front end state and so i have This really what i believe to be clean architecture and setup where um i've got a sqlite database on the back end, which again is very Rust friendly. It's just like totally, totally mature back there. That's where all persistent state is stored. And then over the wire, we send these events that the front end can react to. But then every piece of front end kind of ephemeral state which is like which processes do you have open what's focused all of that is in the the zustan or zustan stores and so um i have these These rules set up that talks about where state lives and i'm realizing that as i'm thinking about the faster.dev boot camp um one of the things that like either juniors or people who Want to get into engineering need to know is state management. Like it's just like, that's like 80% of developing something is where does the stuff live? And if you don't have a good answer to that, you end up chasing these if statements all through the code of like well if it's this then it's that but it could be here and you update it there And it doesn't go there and so the tan stack query like mutations and invalidations and all of that is just incredibly clean and very very drivable and then having the SQLite database With the Rust fired events and the zoo stand stores and all of that just it actually once once I got over the hurdle of like what is this architecture and kind of defined through a lot of Iteration kind of defined how the thing was supposed to come together since then it's been smooth sailing like i haven't had any you know the doom loop where you're like you fix that and You broke this and you fix that and you broke that and you fix and it's just like god dang it this sucks yeah i once i had once i like um solidified that sort of uh architecture i really haven't Hit that at all. It's just like, if I do hit that, I'm like, hang on, hang on, hang on. This feels like we're doing this when in reality we should do that. And it's like, oh, yeah, you're right. We're, you know, we have a pattern for that and we're not following it. And I'm like, okay, brother, I forgive you, but follow the pattern. ([Time 0:49:26](https://share.snipd.com/snip/2914a53c-55ae-41c0-b35d-bf5e20e44e5c))
- **Use The Best Tool For Each Job**
- Use the best tool for each subsystem: Rust for process orchestration, Laravel where queues excel.
- Aaron treats technologies as hammers for specific nails rather than identity markers.
Transcript:
Aaron Francis
The other app that i desktop app that i wrote um i used native php because laravel was the best choice for this desktop application because it was it is so queue based. And no other queue implementation comes even close to Laravel's queues, especially when you're talking about like SQLite database driven. You just can't beat Laravel in that regard. And so Laravel plus Inertia plus React on the front end, you've got a great you've got a great desktop app that can be extremely heavily queue based with all the retries and all of that Kind of stuff um just running on the desktop and so again that was the just the best choice for that app a ([Time 0:56:53](https://share.snipd.com/snip/375fba0d-a8a0-4821-98bd-f6787d940740))
- **Use Defer For Tiny Post-Response Tasks**
- Use Laravel's Defer to perform small background work after sending the HTTP response for near-real-time UX.
- Defer avoids queue overhead for tiny tasks and keeps front-end interactivity snappy.
Transcript:
Ian Landsman
Real time for the other people. That's a guess.
Aaron Francis
LimeWire is one of the greatest additions in the past probably four years. Yeah, really good. For the non-Laravel folks, what Defer is, is it allows you to queue, quotes, queue just very small tasks. You don't want to queue a whole, you know, process podcast this way. But it allows you to queue very small tasks to be run after the response is sent and before the, you know, because in PHP, everything shuts down after, like we destroy the entire universe After the response is sent, before the universe is destroyed. So you can send out the HTML or HTTP response, then have a shutdown task that's like, all right, now go, you know, fire off this thing to pusher which may take you know with dns handshakes And everything may take 300 milliseconds or whatever that's fine after the user's already gotten their response we can run that and then kill the universe uh for this request response Life cycle it is and of course so good it's got different drivers you could put it you could actually use defer to put it in the queue if you wanted. But it's just, it's so clean. I love it so much.
Ian Landsman
Yeah, even putting it in the queue, I'm like, that's its own overhead, just getting it to wherever the queue ends up living, right? If you're on SQS or whatever, there's an HTTP call there and all that stuff. And it's like, Defer. I've never had the opportunity to use Defer. And I was like, boy, this is like, this just feels, it's like, it's React, it's real time, it's great. I'm like, bam, LiveWire, Laravel, Defer, we're cooking. ([Time 0:58:36](https://share.snipd.com/snip/7cb2ac7b-ee6b-4ff3-a12e-454893d751a8))
- **Use A Generous Free Tier To Land And Expand**
- Offer a generous free tier to reduce adoption friction and let users experience value before purchasing.
- Use a modest paid price (Aaron uses $99 first year, $69 renewal) to encourage conversion after trial usage.
Transcript:
Aaron Francis
Yeah, and part of the theory is I'm hoping for a little bit of land and expand with the solo.yaml. So hopefully people start using it and then add this file to their repo and then teammates see it and they start using it. And I want that bar to be super low. And so the free tier is up to three projects or up to 12 processes. That's a lot of processes.
Ian Landsman
It is.
Aaron Francis
Yeah. So I thought three projects with four processes is like pretty reasonable. Pretty generous. But then, you know, every developer's got 15 side projects or their blog or any developer in a proper company's got like eight repos that are like front end, back end, analytics, admin. It's like all this stuff. And I'm hoping that it's low enough that people download it and try it for one or two things. And then they're like, oh, shoot, this is kind of nice. And then they just bite the bullet. And it's actually 99 first year and 69 renewal after that. Oh, I didn't notice that.
Ian Landsman
Okay. Wow. So, yeah, that's not too bad. ([Time 1:00:54](https://share.snipd.com/snip/43c39d37-84e6-45e4-bab1-97d6d3a79ebc))
- **Behind-The-Scenes Video Rig And Memento Mori**
- Aaron shared his behind-the-scenes video rig: camera pointed at the monitor, tripod with cantilever arm, and a small external viewfinder.
- He keeps a post-it reading 'you are going to die' (memento mori) near the camera as a productivity reminder.
Transcript:
Aaron Francis
And Producer Dave will link it up. It's the one where i'm pointing i'll describe it and then you can ask i'm pointing a proper camera i'm pointing a canon camera on this goofy looking tripod um with a big old lens i'm pointing It at my monitor um and the the text is basically like this is something i learned from steve So a way to get very cool and like real feeling footage is do whatever you're going to do on the Screen. But instead of, you know, screen recording it, use a camera pointed at the screen. So that's the setup. That's what, you know, broadly we're looking at. If you want to see the specifics, check the show notes. But what do you see in this photo?
Ian Landsman
There's a lot going on here uh first of all are you is there any tricks with the camera required to do this technique like can you just run it i don't know the frame rate different i think
Aaron Francis
You have to turn on an anti flicker mode um i don't recall somebody asked me that and i thought man my brain is gone i don't remember yeah i've got three cameras i've got two monitor i don't I do not remember um but i think there is an anti-flicker mode that removes that rolling um hertz sync mismatch okay yeah there's i mean just to describe for the listeners we have a light
Ian Landsman
Box we have a vertical monitor horizontal monitor which i've always been tempted by the vertical monitor, but it never sticks. You got one of those little keypad by the company things to make sounds and stuff. You got an iPad there. You got an accountant numeric keypad just free floating around. A 10 key is what the old guys call it. There you go, a 10 key. The thing that caught my eyes, you have a lot of very unhealthy beverages. You have a 64-ounce Chick-fil cup. You have some kind of coffee situation. You have another coffee situation. You have some scissors. We don't know why. He's got scissors. You have a little iPhone holder thing. You got a SD card. You got a pack of Uno cards or something. What is that blue thing back there?
Aaron Francis
Oh, no, that's that might be a nicotine box. I don't know. Somebody must have visited and dropped that in here. This is on two milligrams mint nicotine pouch. I'm just reading this for the first time.
Ian Landsman
You've never seen that before. You got some Vizine and various other things. Oh, Visine and ChapStick, of course. Yep. Yep. So you got that. I got the same or very similar little phone mount to also does the AirPod charging. Yep. Yeah, it's kind of it's a little messy. It's maybe make me I'm a messy guy, too. This may be a little much for me, but this is like clear. This is like uh middle of the storm mess right here yeah i enjoy how you took the time to like blur everybody there's a whole bunch of pictures in the background i assume of family or other
Aaron Francis
Things i'm not sure family uh blurred we've got some blurs going on i use my black and white printer to print out pictures and then i use blue painters tape to put them up on the wall so everything
Ian Landsman
Behind the camera it's just like a wall of you know family pictures which is quite nice i kind of enjoy how it's like very you know behind you on video is all very meticulous and picture Frames and facing you is very you know quick and dirty kind of let's just get the pictures up here um you have a this was a lot of people had comments on there you're going to die post-it note Which there's a post-it note you're going to diff is what i first thought it was and i was like i don't understand what he's getting at but that's like oh he's got this is like a internally
Aaron Francis
Motivation kind of thing so i got two i have uh so it's for for the watch, the camera is right here, straight down the middle. In this photo, it's kind of turned off to the side because I was using it. But for recording, it's straight down the middle, and it aligns perfectly with the left edge of the horizontal monitor. And that's for screencasting so that when I look at something, it reads correctly in the final footage. So I'm not looking over here and talking about something over there, which is insane. So I have the camera right here, right next to it. I have a post-it note that says, you are going to diff. It actually says, you are going to die. And then right next to that, a picture, two school photos. I do have four kids, but only two are in school. So I only have two school photos. And then right next to that is the post-it note that was featured in the faster.dev launch video from my wife that says, thank you for working so hard for all of us. I love you. So those are the only, those things stick up over my monitor right next to my camera so I can see them. You are going to die. It's a little intense. So when did you pick up this? It's a little intense. When did you put ever gotten the vibe that I'm not intense? Has that ever crossed your mind?
Ian Landsman
Is this a new thing or is this something you've always done? Is this a long time thing?
Aaron Francis
No, this is, this is five, seven years, time thing um keeping yourself from mind this is this is uh memento mori are you familiar with memento mori i wasn't until you you did uh tweet that Term so let's get the official um memento mori an object serving as a warning or a reminder of death, such as a skull. So in a lot of religious artwork, primarily like old Catholic stuff, it's a Latin thing. There's always like, I saw a great tweet one time that was like, Renaissance paintings are always like a woman exposing one breast. And you're like looking at it and you're like, aha, I'm going to live forever. What's that in the bottom corner? Oh no, a skull. I'm going to die. And that's how like all this artwork is. There's always like a skull somewhere and, um, you can buy memento moris that are just like skulls to keep on your desk. And it's a very like centuries, uh, long, maybe millennia long thing of, um must remember that you are going to die because that puts things in perspective about like if somebody says Something mean to you on Twitter and you're like, you know what? One day I'm going to die. I'm just going to hit them with a thumbs up because I super don't care about this person and what they're saying to me. And it's also a good reminder when I'm especially like right next to my kids. It's like this time is limited and you better not F around. Like you are going to run out of time. Those kids are going to get older. I am going to be gone one day. So like, what the hell are you doing? You've got to get stuff done and you've got to like make it count. And so that is my poor man's memento mori. One day I'll get a very beautiful, gothic, artistic skull. But right now it's a post-it note that says you're going to diff. ([Time 1:07:04](https://share.snipd.com/snip/06db9b84-34bf-4b48-b2ff-1d7b469fa0b0))