Code and the Coding Coders who Code it

Episode 59 - Scott Werner

Drew Bragg Season 1 Episode 59

What if AI could make your work more creative instead of more crowded? We sit down with Scott Werner to unpack a practical path for Ruby developers who want the leverage of AI without sacrificing taste, clarity, or joy. From agentic coding with Claude Code to context-rich tools like Tidewave, we walk through how better inputs—logs, DOM access, database state—turn generic suggestions into usable plans that reduce cognitive load and speed up real problem solving.

Scott shares the origin story of Artificial Ruby, a New York meetup that started as a casual happy hour and became a monthly mini conference. That community energy matters: many devs began their careers remotely and missed the spark of live conversations. By focusing on play and curiosity, the group channels the early Ruby vibe—ship small experiments, trade sharp feedback, and rediscover the fun of making software together. That ethos powers Scott’s projects: Monkey’s Paw, a prompt-based web framework that leans into expressive generation, and Latent Library, a hallucinatory book explorer that asks what new interfaces AI enables.

We also tackle the “slop generator” problem and how to curb it. Different models have different tendencies, so route tasks where they fit: broad ideation to one, surgical changes to another. Constrain edits, ask for reasoning before code, and hand the model real context so it can propose focused steps. The same philosophy informs testing with computer-use models: if an agent can’t find your logout or complete checkout by looking at the UI, maybe your users struggle too. Rather than replacing developers, these tools elevate the craft—pushing commodity work downward while widening the canvas for design, problem framing, and tasteful implementation.

Want more? Check out ArtificialRuby.ai for upcoming events and videos, explore LatentLibrary.xyz, and find Scott’s essays and tutorials at WorksOnMyMachine.ai. If this conversation helps you rethink your workflow, follow, share with a teammate, and leave a review so more builders can join the experiment.

Send us some love.

Honeybadger
Honeybadger is an application health monitoring tool built by developers for developers.

Judoscale
Autoscaling that actually works. Take control of your cloud hosting.

Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.

Support the show

SPEAKER_01:

Hello everyone and welcome to another episode of Code and the Coding Coders to Coded. I'm your host, Drew Bragg, and I'm joined today by Scott Werner. Scott, for anyone who's unfamiliar with you, would you please do a quick introduction?

SPEAKER_00:

Sure. Thanks, Drew. So yeah, my name's Scott Werner. I've been a Rubyist for since around 2008. Worked in a bunch of different places from small startups to Groupon to Adobe, starting my own startup called Sayspring. But now I'm at a new startup called Sublayer, and we're kind of doing all different kinds of stuff around AI and Ruby, which is kind of how we got connected, right?

SPEAKER_01:

You're working with AI. What a shock. I feel like everyone is in some capacity, whether they're working with it as their job or they're working with it to help them with productivity. It is everywhere. It's unavoidable. So I'm glad we're going to talk about it because it is something that I've been shying away from talking about on the show, just because there are times where it feels a little bit like JavaScript frameworks. There's just something new with them like every other day. But before we get into the episode, let me do the rest of my normal spiel. For anyone new to the show, I'm going to be asking Scott three questions. I'm going to ask him what he's working on, what kind of blockers does he have? And the last question is what's something cool, new, or interesting that he's recently learned, discovered, built? It doesn't matter. It's whatever he wants to share. It's always my favorite question. So let's just dive right in. Scott, what are you working on specifically?

SPEAKER_00:

That's a tough question, as for anybody that comes to subleyer.com might see. We're doing kind of a big mix of a bunch of different things. You know, most of my day right now is spent. So rewind a little bit. So I started Sublayer back about three, three and a half years ago. And the thing that kind of kicked off what we're doing is seeing GPT-4, like the demos that they were putting out for before GPT-4 came out, where like somebody would draw a UI and it would write the code to actually like make it display. And that point, seeing that, would made something click and that like these things are just going to keep getting better. These are like the worst these models are ever going to be. And it's going to fundamentally change software engineering. And I kind of brushed over it earlier, but I have been in extreme programming, a practitioner of extreme programming for almost over 10 years now of pair programming, test-driven development, agile. And seeing that, it was like a spark went off in my head. Everything that I knew or I thought I knew is going to change, and I want to be involved in that. And winding road, probably three episodes worth of podcasts to kind of talk about all the different experiments we've done. But where I found myself now doing a mix of training for agentic coding. So using Claude Code, those kind of things, doing one-on-one and small group training to kind of teach different techniques and get people up to speed. Writing a newsletter works on my machine, which kind of doing a lot of the experiments in public, learning in public, sharing a lot of open source, building products. And then getting close to launching a video series kind of very inspired by like Railscast, where it's like five to 15-minute really targeted techniques for agentic coding or using these tools. On top of artificial Ruby and all these other things that we're doing.

SPEAKER_01:

Yeah, talk a little bit about Artificial Ruby for anyone who's not familiar with the meetup, because I think it is pretty cool.

SPEAKER_00:

So Artificial Ruby, it actually kind of came out because as I was building out Sublayer, a lot of the stuff we were doing was in Ruby, and everybody I talked to asked me why Ruby. Investors are like, why are you doing like what's the distinction here in Ruby? Everybody, engineers, I would talk to is like, isn't AI like a Python and TypeScript kind of thing? And so I kind of got fed up as a little bit of tough word, is like a stronger word, but I it was just like, you know what? I'm sure there are more people out here doing this. And so we actually put together a happy hour where we're like, I bet we can get like 20 of our friends to come out and we'll buy them drinks and talk about Ruby and AI. So we did it and just shared a you know, a Luma invite out and got something like 50 people, and it was just like completely like beyond our expectations. And we were like, okay, there's like something here. In the middle of it, people were asking us when the next one was. And we were like, I don't know. We just kind of thought it was gonna be people we all knew, and it's just like it expanded to so many new people. So we did another one, and now we're about a year and a half in. It actually has a name because I spoke at RubyConf last year, and somebody came up to me and they were like, Yeah, I heard there's like this Ruby and AI event in New York, but I can't find it. And so we're like, oh, we need to actually like brand this and not the Ruby and AI happy hour and demo night. It's actually a name, all this stuff. It has a name, it's just kind of a hard, it's sort of like my podcast name.

SPEAKER_01:

It's sort of hard to remember.

SPEAKER_00:

But you actually rank really high, so that's the difference. Now we're artificial Ruby, we have a site, we have a venue that's great with beta works, a video crew, we record talks. It's actually kind of like become this thing where some people have said it's almost like a monthly mini conference, and so it's kind of taken on a life of its own and just kind of like guiding it as it drives itself.

SPEAKER_01:

Yeah, that's super cool. I've been trying to carve out time that I can come up because it's not that far away from me, but it's just far enough away that I can't just be like, today I'm gonna go, why not? It requires a little bit of planning.

SPEAKER_00:

Yeah. Ernesto has actually come up a whole bunch. I got to know him. Him and Ambu Labs are sponsors, actually. So it's been cool to get to know him and then some of his team and a couple people from his team have given talks and everything.

SPEAKER_01:

If nothing else, I'll have you at Philly RB in January, right? We're still doing that. Yes, yeah, definitely. Yeah, that'll be cool. We're getting that back going in person, and it's been cool. We've it's smaller for now, but everyone we've done has had a handful more people. So it's nice to do the in-person meetups monthly again. Virtual is fun because you can talk to anybody anywhere, but there's definitely something to in-person that is a little more special.

SPEAKER_00:

Yeah, I agree. I mean, it's one of the things too that we've heard from people, especially you know, from New York and meeting people with artificial Ruby. There are a bunch of people that have started their career during the pandemic and actually never gone to an in-person professional meetup at all, let alone a Ruby meetup. And so, yeah, getting a chance to like see people face to face. Another tangent we can go on is go imagine starting your professional software developer, software engineering career fully remote in the pandemic. You've never seen any of your coworkers in person, and you put your first PR up and it gets torn apart.

unknown:

Right?

SPEAKER_00:

How hard it must be to be somebody like entering the industry in like a remote or hybrid first place where you kind of don't really get a chance to make relationships with people beyond like a name or an avatar and Slack or Discord.

SPEAKER_01:

I was already in the industry, but I changed jobs during the pandemic. Went from one job to another, mostly because the job that I went to was now remote and we're like, oh, we're gonna stay remote. So now we can open up hiring. So I was able to get a job there. But it definitely was weird to go from I know what it's like to work at a place, but like in an office, hybrid style, right? Going to, I've never seen these people. And you know what the thing that screwed me up the most when I finally did meet them, I had no one's height correct. Everyone's height was way, I'm like, you're shorter than I thought, you're taller than I thought. Everyone's height was wrong. That's what screwed me up the most, which is funny to think about. But yeah, I think the meetups are great. It's sort of like having the conferences back, right? I've been saying, like, it's great to have the conferences back, it's great to have the conferences back, but it's also great to have meetups, especially when you've got cities like New York, Philly, SF Ruby took off like crazy. Just getting those people together too helps because sometimes those people don't travel to conferences. So you wouldn't see them otherwise. Sometimes those people are like new to the industry or they've been in it for a while and haven't interacted with the community. Now there's a place to interact with the community, and some ideas that would never have seen the light of day end up coming out just because you're standing there talking with the drink in your hand and oh, tell me more about that. And suddenly you're on this, it's 45 minutes to an hour later, and you're like, this is awesome. That doesn't happen over the internet as easily. It's more forced. We tried, we tried for a little while, right? Do you remember the Zoop happy hours? It was better than nothing, but given going to a meetup and interacting with people in person, and this is coming from someone who has a limited social battery. Like I get back from every conference, like, I'm good, I don't need to see any human beings for a few weeks now. When it's once a month, it's awesome. Not looking to go back to an office, but I do like my meetups. Yeah, yeah. So you've got your work, which is AI focused, and you've got your meetup, which is AI focused. So you are kind of one of the AI guys in Ruby. What do you think is missing from the Ruby ecosystem to make it where someone who's maybe doing AI work goes, well, I gotta use Python because Python's what you use for AI work. Someone who's doing AI work can legitimately see Ruby as an option to do AI work.

SPEAKER_00:

That's something that I think about a lot and we talk about a lot of the meetups. But I think the time period, like the point in time that we're in right now with AI, it's so early, and nobody really knows what we're actually going to do with this. If it stops at just like chatbots, just like an AI, basically, it stops it at ChatGPT. I think it'll be a failure. I think there's so many more incredible things that we can do with this technology. What I think is missing, what we're trying to promote a lot with artificial Ruby, is kind of the experimentation. And so I think you look at what drove kind of the adoption of Ruby in the early 2000s was people could make websites. People were making web 2.0 apps with Java or PHP and stuff like that before. But it was Rails and somebody with DHH, with the Ruby mindset of like, I'm gonna approach this, I'm gonna make this a joy to work with. That we saw the doors open and like the flood of flood of people come in. I think where we're at right now is like nobody really knows what exactly we're gonna do with this thing. And so we don't have that light bulb framework that's going to be the thing, right? I look back at that time period, and it looked like the Rubyists were the ones having fun. You know, I was listening to your episode with Aji talking about like the keynotes, and I wasn't just like blowing smoke, I've actually been doing a lot of trying to research like what made it work in those early days and why isn't it working now? And you know, one of the things that came up was one of DHH's keynotes. I think it was the keynote where he announced Rails, RubyConf. And he was like, you need to pick a fight, you need to create this enemy. And so it became enterprise developers. And like, oh, you're an enterprise developer, and like the Rubyists were the ones with like tattoos and different colored hair and t-shirts and shorts, and they were the ones that were like enjoying the work, and everybody else was enterprise developers filling out TPS reports. And I've kind of gone way off track here. There is no track. There's no track, okay. But so to bring it back, I think we were in this kind of weird period of probably something of what it looked like before Rails came out, where a lot of people just found Ruby or been using Ruby for a little while, were like completely unlocked from the things that they were doing before in their other languages, in their other back then it was there weren't even like open source IDEs really. It was like the languages being open source was uncommon. Now it's like everything's everybody expects everything to be open source. So I think my personal answer for this, I don't think it's a library, I don't think it's a tool. I think it's that feeling of having fun. And oh, that group of people, that group of programmers is doing really cool stuff and they look like they're having fun with this. I want to do that. Because like Claude Code or whatever your agent of choice is can just spin up a copy of a library, you point it to Langchain RB, and like do this in Langchain.py. And that might be a bad example. But some library in Python, some library in JavaScript, put it in Claude or Gemini or whatever and be like, make a copy of this in Ruby, like it mostly will get you there. But I think it's getting back to that culture of experimentation and fun and just doing cool shit because you can.

SPEAKER_01:

Yeah, I think that's a good way of looking at it. Because we recently did a or are doing, I guess, at the time of this recording, a little bit of like an AI challenge at work, not hey, write all of your code or vibe code anything, but more of like go out of your way to use AI in your daily job as a way of seeing like how are we going to use this here? What is our AI usage look like? Because almost across the board, with very few exceptions, like none of us want AI doing our jobs for us or writing our code for us either. Like, we enjoy our jobs, we don't want AI to take it from us. But like to ignore that AI exists and just never use it just seems like we're putting ourselves at a disadvantage to other developers. So the challenge is just to like use it a little bit more and then submit the ways that you've used it. And I think it was such a good way to unblock, at least especially me, from AI, because it was such a well, if AI is going to take my job, I don't want to use it because fuck it. Right? Like, I don't like you. You're taking this thing that I legitimately enjoy doing. I like writing code, I like programming, I like solving problems. Why would I want to just dump it into this AI chatbot and let it do all the stuff that I enjoy? But because it was like a requirement to play with AI and figure out ways to use it, I've tried all different kinds of things now and I haven't even scratched the surface. And I'm actually kind of having fun with it. I'm not using it to write code. I'm using it to like explore things or come up with plans. I'm using it as like a rubber duck that talks back to me instead of just sitting there on my desk. It's not writing any code, and I'm having so much more fun with it than before when it was like, I guess I'll put it into GPT and see what it comes up with, or I'll tap into Claude and be like, I have this weird bug. Those ways didn't seem fun, but just playing with it seems like so much fun.

SPEAKER_00:

Do you have any like on top of mind, any kind of like the biggest light bulb went off aha moment as you've been working with it through that project?

SPEAKER_01:

I don't think there's any one thing. I've definitely learned a lot more of like clawed code was kind of cool when I first installed it and like attached my first MCP server to it. We used linear to track bugs, and like the first time I was able to like go back and forth with it about a linear ticket without like copying and pasting everything in, that's kind of cool. I think there's something to this connecting MCPs together. The coolest thing that really was like an LLM on its own isn't awesome. It's a collection of things that's pretty awesome. Was I tried Tidewave by Jose Valim, got that installed, and started tinkering with it. And just having it run in the browser and be able to like click on something or talk about the page as a whole, it was leaps and bounds better than Claude on its own. I tried an experiment where I was like, hey, we have this slow-loading page, Claude. What do you think might be some low-hanging fruits or areas to explore? Kept it pretty broad. It came back with like a plan-ish places to look, whatever. I asked Tidewave, but because Tidewave was in the browser, it was reloading the page, it was looking at my logs, it was tapping into the database, it came, it had all of these contexts put together. The plan it came up with, first shot, was actually decent. It would require some iteration to get it to be a really viable plan, but it was just so much better because it had so much more context. So, for at least for me, the aha moment is like an LLM on its own can only do so much. But when you start giving it all of this context, it reduces my cognitive load. I don't need to keep all of the context in my head. I can focus on solving problems because the AI can keep all of the context in its memory.

SPEAKER_00:

Yeah, that's super cool. I have TideWave downloaded it, but I haven't had a project to really dig into it with, but have to give that a shot.

SPEAKER_01:

Yeah, it was cool. Another one of the devs used it to fix like a CSS bug and had decent success. I've had mixed results with CSS bugs. It's got like a selector tool, so you can select like a single element and talk about this element isn't positioned correctly or isn't the right whatever. And it can do some pretty cool things. But I feel like every time AI just is like, here's the 20 lines of CSS that'll fix it. It gives me the light bulb to go, oh, and then like one or two lines of CSS actually fixed it. My God, this thing is a slop generator. It fixed the bug. It technically did what I asked it to do, but it did it in such an overcomplicated like, I would never want to be the one to maintain this code way. That's what I need to figure out is how to get it to stop going way over what it needs to do. Like, keep it simple. I don't know how to convince the AI that like simple wins. It just wants to write a shit ton of code.

SPEAKER_00:

Yeah. I kind of have two answers to that. One is depends on which model you're working with. Sonnet, for example, is one of the things that personality is the wrong word, but like you kind of get a sense of like, I imagine you've had that experience with Sonnet or Claude Sonnet, because it's known to kind of like you give it a vague instruction, it's gonna do five other things that seem reasonable and just kind of like make those up. Codex, for example, from OpenAI will be a lot more focused on like just doing the thing that you're asking for. And so you kind of start to get an intuition or start to like kind of drive different problems to different things. So the library that I used for the presentation at Rocky Mountain Ruby, Monkey's Paw, it actually does amazing with Sonnet because like I can just write a few lines. So Monkey's Paw is this prompt-based web framework. And you kind of write your slides, your pages in markdown files in your wishes folder, and then you load the page, it sends that prompt to an LLM and loads whatever it thinks should be on that slide or page. And it works way better with Sonnet because I can just write a couple lines and get this like wild the line with something the style of something like a mid-90s GeoCities site. And I've got like animated gradient backgrounds, I've got these SVG diagrams, just like from two lines of like, I just need a triangle or something. That's very cool.

SPEAKER_01:

Yeah, if anybody hasn't seen Scott's talk from Rocky Mountain, I will link the video in the show notes. You need to watch it. It was great, and it is cool. That talk was such a good example of like playing with AIs, which was something that I wasn't doing. ChatGPT is just an LLM. Like you ask it for stuff and it spits back out whatever information it has. But like seeing you do stuff with Monkey Paul is like it felt a little bit like some of Y's work, which I'm not trying to like shirk your ego here, but like just the playing, the doing something, not for oh, hey, I'm gonna make a new startup, or I'm gonna make a real monetizable application, or I'm gonna make something that like is in high demand. I'm not even gonna solve necessarily a problem I have. I'm just gonna build for the sake of building. I'm gonna be creative, I'm gonna be artsy. And like, like that was wise work. He was very creative, very artsy with Ruby. And sometimes he created something really cool that a lot of people wanted to use. And I'm sure a lot of stuff was just like this one-off, like, I just want to see if I can do it. And maybe that's not what you wanted to do with Monkey's Paw, but either way, like that's kind of what I was like, this is so cool. Like, you just built this framework because why not? Because I wanted to see, I wanted to iterate on something for fun, wanted to do something cool with this tool and see what I could do with it. Which actually brings up another point. If you the book I had it up and I forgot its name. The latent library, oh, right, which is another one of those, like, this is kind of interesting. I'll let you do the talking about it, but I have so many questions.

SPEAKER_00:

Sure. Completely embarrassed about the why comparison, but why was one of the biggest personalities when I was talking about like, oh, the Ruby community was they're the ones having fun. I want to go be around them. Why was kind of the ringleader for that for me? And he had a very big impact on my entry into Ruby and into the industry. So definitely influenced the way that I think about software. Yeah. And so a lot of these ideas are coming out of just like, what can I do now? Not like, should I do it? It's just like, what can I do? And the other piece, and I kind of offhanded or kind of brushed over this earlier, that like I think there's so much more than just the chat interface and exploring that. And so that's where library came from, which is a book social network that none of the books or categories actually exist. They only exist by you browsing, and the LLM hallucinates the categories and books for you. And then once you check out the book from the library, it generates a cover, it becomes real, and we're working toward alternative interfaces for actually generating the content of those books. So you can have this kind of collaborative hallucination authorship. Almost like what does this medium of an LLM or what does this medium afford us that we have this infinite creativity or infinite any permutation of characters up to the output limit of an LLM is possible. And so part of what Latent Library is trying to do is to give you an interface for kind of navigating that infinity and scoped toward books. But the idea is like there are all these other interfaces that we can do to find different permutations of these characters that mean different things.

SPEAKER_01:

It's like, what's that old give enough monkeys typewriters, and eventually someone one of them will write Hamlet? It's interesting to see like you're kind of like drilling down this type of book, that type of book, drill it down until finally the AI hallucinates what you're looking for. I would have never thought to do that. And that's the cool, like interesting part for me when you like shared it with me. I was like, where does this idea come from? The creativity to me is not the oh, have AI generate a book, right? That's like that's actually not what I want AI to do. I want AI to do my damn laundry so that I can go write the book. That's where my headset's at. But like you've kind of flipped it on the head. It's like, yeah, I don't want AI to do this for me, but I have this idea and I just want to see what happens. Like, where in your brain does that come from?

SPEAKER_00:

I don't know exactly. I'm kind of just pulling inspiration from everywhere that I think we're in this period of time where so many new things are possible that it's almost like the internet came out, and we're like, what can we do now that our machines are networked? And so part of the inspiration for even just starting the newsletter was like, I kept having these ideas, but I'm also working on a startup. And so, like, I'm just like, you know, just piling up these ideas that I'm not able to work on. And now through having this outlet, any random idea that I have, I can just like throw it a claw, clawed code, and just like, yeah, build me out a prototype, build me out an example, and let me see how that is. And actually, Monkey's Paw kind of I backed into it. So my talked at RubyConf last year. I had PowerPoint Copilot live generate my slides during my talk. And I kind of was thinking, I'm gonna take this further, and then thought through all the problems. Like I was sitting there typing in prompts or copy and pasting prompts while I'm up on behind the podium. And it was like, this sucks. And so a lot of it was just like, okay, like how do I package that into a product? I think it's just letting your mind wander of just like, huh, that thing's possible now. What's something fun I can do about this? Or like, or this sucks, but how can I make this not suck? Latent library, it's I don't remember what the spark was, but it is really just one of the things that I've found, especially with Claude Code and you know these other agenc builders, is in the past, when you had an idea for something, it was like, do I spend want to spend my weekends on this? Do I want to spend the next couple weeks to like get this to a state where I can share it with some friends? And now it's like I can send a prompt or send a couple prompts to this agent and like do other things. I can give Claude a prompt and go do my laundry and come back and check out what it looks like, which is a big unlock that it took a while of what you were talking about that you guys were doing at work of oh, I can do this now. What's something that I can have AI do for me that I couldn't before? And just like pulling on that thread and pulling on that thread.

SPEAKER_01:

Yeah, it's a little bit like the rails scaffolds, right? I wouldn't use what the scaffolds generate for me as the final product, but it does make getting like the boilerplate crap out of the way really fast and like getting to the actual fun, hard-to-solve problem sooner. And that's where I actually want to be. I don't want to sit here and write the same boilerplate or this is a controller, it these are the actions it has, this is a model, this it needs a schema migration and all this. Yeah, yeah, yeah, yeah, yeah. I know how to do that. I want to do the hard problem business y stuff, business solution stuff. That's where I want to be. So AI sort of feels like that's kind of maybe where it fits in, where it's like, these are the things that we know how to do. They don't take brain power. Let the LLM do it. Now let's go work on the real problems. Or at least I hope, because again, I don't want AI to take my job. I like my job. I enjoy what I do.

SPEAKER_00:

Yeah, and I think Rails actually is a great example of what becomes possible when you take a lot of that boilerplate stuff away. Like, wouldn't have had Groupon or Twitter or Airbnb or Uber if people weren't able to like quickly experiment with things.

SPEAKER_01:

For sure. I guess an interesting question now will be what do your blockers look like? Since you have this, like I hesitate to call it a magic tool to unblock you, but like it definitely is very good at unblocking you. If you have any kind of problem, like you can just dump it into various LLMs chatbots, and it will give you all kinds of ideas on how to unblock you and stuff. So, like, what does a blocker look like now for you in your startup or for artificial Ruby, whatever you want to talk about? Do you think AI has made an impact in your blockers, or has it just changed the type of blockers you have?

SPEAKER_00:

I think it's both. I got to a point and got comfortable enough with something like Cloud Code, where I at one point had like four running and Four different projects at the same time. And so my blocker became just like, I can't even listen to music because I'm context switching so much that the music is distracting. It's definitely there are points where, like, okay, it's not good enough. It's not good enough. Our techniques aren't good enough. Our scaffolding isn't good enough to do the thing I'm trying to get it to do. And so part of it's mental and like personal of like, there's a tendency, like, oh, I know how to do it. I'm gonna put my time into coding and doing that. When in reality, like three months from now, an AI is gonna be able to do it in a prompt. So, like spending time doing that is not really worthwhile. And I think to I do an exercise very similar to like what you were talking about at work, where try to like get AI to do the things for you. And when you're going to do something, can AI do this? And so I was procrastinating on something for a while. Of I had Claude on Rails, which is Obi Fernandez's, or I think Obi Fernandez is involved in this. It's kind of like a multi-agent system for Claude to build Rails apps. And it got the thing working, but it was kind of convoluted user flows. And I was like, I don't want to like dig through the routes and like look through all these things and like clean this up. And so it was just like putting it off. And a friend was like, why don't you just get Claude to do that? I was like, oh my God, you're right. That morning, I was just like, hey, Claude, can you map out all the routes and the primary user flows, the primary like paths that users would do to accomplish what they're trying to do? A couple minutes later, I had this whole like thing mapped out, and it was like, okay, these look kind of convoluted. Do you have any recommendations for simplifying it? Okay, got a whole bunch of recommendations for simplifying it. Okay, do that. And that was the thing that I'd been putting off for weeks, actually sitting down and doing it. A lot of the blockers are just retraining myself to be like, oh, I should just take five minutes. What's a new technique that I could try to get AI to do this rather than spending half a day on something? And then the other thing that's I can get up to four clouds running at the same time, but I kind of run out of, I have the ideas, but then you run out of ideas. And so part of the motivation for artificial Ruby, coming on podcasts and the newsletter and speaking conferences is really to try to build a community of people that we can toss ideas around back and forth about. I think that's the other blocker of just let's get together in a chat room or a meetup and just like riff on ideas because I feel like we haven't even scratched the surface of what these things can do. And really just trying to put stuff out there that people are like, that's interesting. I want to talk about this or I want to build stuff like this. I want to take these ideas and take them in a different direction. More people to chat with and just play with ideas. Can always use more.

SPEAKER_01:

It's interesting too, because like that's I guess the one thing that AI really can't do is it can't have an idea. It needs a prompt. It needs to be responding to something nonstop. When we as humans like get bored or we don't have anything to do, like our brains just make up stuff. You start humming a song that doesn't exist, or like whatever. Maybe there is a future where AI gets to that point, but it's kind of not there, right? It needs human interaction in order to do any kind of generation. ChatGPT just sits there and does nothing until you ask it for something. I've been thinking about like how weird it is. You ask an LLM something, it just puts a bunch of stuff together and then spits it back at you in like this cohesive summary. It doesn't know anything. It's connecting dots and summarizing for you. I guess the other thing is like, what's my role in AI code generation or whatever? It's like, is it just sitting there making sure that the slop generator doesn't generate too much slop? Like, just enough slop to solve the problem. Like, don't create technical debt while you're solving the problem. Or is there something else that I need to learn? Like you keep on talking about like retraining yourself. Like, I'm trying to relearn how to do my job with AI involved in a way that still brings me the joy that I found programming and writing code and solving problems, but like gives me the productivity boost of I can ask it to write a method for me, and it can do that. I don't really want it to, but how can I get the productivity boost of AI while still loving my job?

SPEAKER_00:

It kind of looks like very similar to what we were talking about before around Rails with scaffolding and everything kind of reduced a lot of the boilerplate. I don't know, I don't think a lot of people's arguments around what they were doing in Java before Rails for web apps, that they were like, the thing I love about building web apps in Java is all the boilerplate. It came out as the type system, how can you do anything without types? And like, almost like at that point in time, it was like, oh, the static types were solved and Java's solved programming, and Rails and the Ruby world came out and were like, yeah, but what if we do the opposite of all that and like don't even have the code, you know, you can't even look at the code because it's all meta programmed. And a lot of people had a backlash against that. When what you got was fewer people were able to do so much more, and the industry actually expanded, like you ended up not needing 100 person plus teams and a bunch of stuff to build something like Twitter, Groupon, or Airbnb, which in '98 you probably did need hundreds of people. And I think we're seeing that again. And so I think a lot of the crud app stuff that we're moving beyond just like the scaffold, we're moving to a lot of the commodity work that we kind of do. Then we've got the focus on craft, and that is still going to stay. It's just like a lot of the stuff that we didn't really categorize as boilerplate before is becoming boilerplate, and we're just moving to another layer. I heard an analogy, I'm probably going to butcher this, but it's almost like as photography came out, and a lot of the people that were focused on painting, painting portraits and realistic, I don't know what the right term is, but realist painting, that by photography coming in and like taking the economic, the commodity piece of that away, photography became this whole other artistic medium. But it also kind of made it possible for the people that were focused on the craft of painting to like move into other avenues and find other interesting things to do. I don't know if we're actually going to get there, but I think the story is something like Picasso was an amazing painter, like painting reality, but also took it in another direction and was able to kind of learn all the rules to break all the rules. My guess and the way I'm kind of approaching it is like we're gonna see that same thing of like a lot of the commodity stuff that we spend our time doing is gonna get taken away, but like the craft of the building, basically like the creating software piece is still going to exist. The thing is, like, you know, I really like typing boilerplate or typing curly brackets and parentheses. That's probably going away. I'm sorry about that. But the creative problem solving, I don't think is going away.

SPEAKER_01:

Yeah, good way to look at it. So the last question, which I feel like is a bit of a loaded one given some of the ideas that you've had, monkeys paws late in library, things like that. But like, what is something cool, new, or interesting? Doesn't have to be AR-related, doesn't have to be coding related, but it absolutely can be. Like, what's something cool, new, or interesting you want to share that we haven't already talked about?

SPEAKER_00:

Well, I guess another new thing that I put out that we haven't touched on, it's also been bouncing around in my head is Google recently put out this model. I think Anthropic has a computer use model as well, but Google put out a new computer use model where you give it a screenshot of a UI, it gives you back tool calls of what to do, like click at this X, Y coordinate or fill in this text field, whatever. Another thing that I've recently released is called it Touring Test, but it's a Cucumber extension that basically can turn your cucumber steps into computer use steps. So you describe what you want the agent to do, it'll do it, and then you write your assertions. So if given I'm a logged in user, your instruction is like when the agent logs out, then they should be on the homepage or whatever. The agent logs out is the only thing that's there. And so the agent sees your UI, it kind of determines where to go and how to log out, and it either does it or it doesn't. And the thing I'm trying to get at there is like it almost enables a new type of testing where your users are trying to accomplish certain things in your app. And an LLM is a reasonable, it's not gonna have all of the infer, you know, all of the intelligence or all of the abilities that your users might, but it's gonna take a, you know, have a reasonable attempt at these things. And if it can't do it, it's probably a good sign that there's some kind of usability issues on your site, which I think is actually kind of what we're trying to get at with testing in general, right? We don't really care that Capybara or or Selenium can select this element with this CSS class. We're trying to test that the users can add one of our products to their cart and they can check out and they can sign up. And there's the actual piece of it. There's the mechanical piece of it, but then there's also the can they actually figure out how to do it piece that wasn't really there before.

SPEAKER_01:

Interesting. See, that's another use of AI. I don't think I would have thought like I've thought of obviously using AI to write my R spec tests or to generate tests for something it wrote or I wrote or add tests so I could do some TDD or what have you, but like using it in a completely different way. It is such a weird, interesting. Like, what are we gonna do with this thing? There's so many things it can do, but what the hell are we gonna do with it? I don't know. You're definitely a lot further down that path than I am. I'm trying to catch up, I think, a little bit on the what are we gonna do with this thing. I'm happy that work did this AI challenge because I do think it took me from like AI to like, all right, I'm slower this month because I'm playing with so much stuff, but like it is definitely going to improve my productivity in the long run. It's going to stop me from having to do some of the boilerplatey stuff that was just a time suck. Like, I could do it. It wasn't hard. I got knocked it out pretty quickly, but like definitely faster with AI and will unlock me to solve bigger and better problems.

SPEAKER_00:

Yeah, I think that's that's a good point, too, is I've had a lot of conversations, especially with like old coworkers, of how to actually do these things or any any tips for this thing that I'm trying to do. And a lot of people are like, you have deadlines, right? I have to deliver this by Friday. I'm not gonna noodle around with AI until Wednesday on the off chance I'm late for this deliverable. And I think that's another really good thing that you have there with that space to experiment. And I wonder if a lot more people than realize it have that every company, every like engineering manager, engineering leader that I talk to is like, I want my team to be using AI more, but I don't know how to do it. And I wonder if it's just like letting them know that if you try to use AI to solve this problem and it takes a little bit longer, that's okay.

SPEAKER_01:

In a way, we're all kind of back to being juniors in that space, right? Like when we were junior engineers, we couldn't produce X, Y, or Z as fast, but we eventually became seniors. And now we can do X, Y, and Z stupid fast, and we can work on bigger, better problems. But we need the time and space to like learn how to use the AI and use the AI right for us. There's 10 developers at Podia, and I think we all use AI differently. We all pretty much agree we don't want to just vibe code our PRs. No one's doing that. But we are all using AI in a way that helps us, and we know that in the long term we're going to be more productive for it. Having that space to explore is, yeah, you're right, is super good. And I think that might be if there's more holdouts, maybe giving yourself the space or talking to your manager about getting the space to like my deadline is pushed back, not so I can slack off, but because I can explore doing things differently. Because keep up or you're gonna be left behind. Cool. That was a good one. When is the next artificial Ruby for anyone listening that's like, hey, I'm in the NYC area, Philly area, anywhere that's close enough to NYC to make that track. When is the next one? And do you have a schedule of events or is it kind of free form? How do they work?

SPEAKER_00:

So the next one's December 3rd, and it's gonna be the last one for the year. Also, I've never really been involved in any kind of event planning whatsoever. And so, like, I'm kind of iterating and learning this as I go. We don't have a schedule of events yet. I think we'll probably try to announce the next one the night of the event, but we're also kind of like iterating. So the best would be to go to the site and sign up for the mailing list. We put out the information, and if you're not in the New York area, we'll also send out emails afterwards when the talks are up on YouTube. So nice.

SPEAKER_01:

And that's artificialruby.com? ArtificialRuby.ai, and I think that makes sense. Yeah, shocking. Dot AI for the AI Ruby meetup. Yep, that makes sense. We also have the document. So either one, either one. Okay, there you go. Yeah. Covering the bases. Domain addict, but aren't we all? Isn't that a thing? Isn't that like a prerequisite of being a developer? Is just owning domains and potentially never doing anything with them. Although you are doing stuff with them, so you're a step above. Any place on the internet that's best to find you specifically?

SPEAKER_00:

Me specifically, subler.com will get you to kind of everything we're doing. Most of the writing that I do is works on mymachine.ai. I try to do it weekly. Some days, sometimes if the project's a little bit bigger, it takes a couple weeks, but usually there. And then from there, usually hanging out in the sublayer Discord. So if you chat, have some ideas, come there. Cool.

SPEAKER_01:

Very cool. Well, is there anything we missed before we do our wrap-up? Like anything that you were hoping we'd talk about that we didn't, or that you want to at least touch on before we bounce?

SPEAKER_00:

By the time this episode's published, latent library will be should be live. So that'll be at latent library.xyz. We can add that to the show notes too. And I think by then, you know, I mentioned earlier that I'm gonna be putting out kind of Railscasty style five to ten to fifteen minute videos. I think that should also be launched by the time this episode is published. I'm gonna add that to the works on my machine substack. So keep the essays and the open source stuff and then add like kind of a new$15 a month, two videos a month of here's a really focused technique on solving a problem or doing something with the agentic coding, agenc programming agents, like clock code, code I, yeah, Gemini.

SPEAKER_01:

Do we call these things? Yeah, naming is hard. Everyone who's followed me doing anything ever should know I struggle with naming. Cool. Well, thanks, Scott. I really appreciate you coming on and talking about all that cool AI stuff and looking forward to having you in Philly. And hopefully I can make it up to an artificial here soon, because it definitely sounds like a cool place to talk to people and find out more about this very broad and weird space of AI that has no clear path. And that's both exciting and a little daunting. I do want to come up and check it out because I got the Ruby part down. It's the AI part I'm still figuring out.

SPEAKER_00:

Yeah, we'd love to have you. It's definitely a great time. And yeah, I'm excited to come down to Philly and meet the Philly crew too. Yeah. Yeah. Thanks so much for having me on.

SPEAKER_01:

This was a lot of fun. Absolutely, man. Check out Scott at all the places. Check out the show notes for links, and I will see you all in the next episode. Bye.

Podcasts we love

Check out these other fine podcasts recommended by us, not an algorithm.

Remote Ruby Artwork

Remote Ruby

Chris Oliver, Andrew Mason
Ruby for All Artwork

Ruby for All

Andrew Mason & Julie J
IndieRails Artwork

IndieRails

Jess Brown & Jeremy Smith
The Bike Shed Artwork

The Bike Shed

thoughtbot
Code with Jason Artwork

Code with Jason

Jason Swett
The Code Gardener Artwork

The Code Gardener

Alan Ridlehoover & Fito von Zastrow