1. Library
  2. Podcasts
  3. Open Source Ready
  4. Ep. #29, Building ASCII Motion with Cameron Foxly
Open Source Ready
43 MIN

Ep. #29, Building ASCII Motion with Cameron Foxly

light mode
about the episode

On episode 29 of Open Source Ready, Brian Douglas and John McBride sit down with Cameron Foxly to talk about ASCII Motion, an open source tool for creating animated ASCII art. Cameron shares how a brand design challenge at GitHub led to his first open source project and how AI tools helped him move from idea to production quickly. The conversation explores developer delight, terminal design, and why taste still matters in an AI-powered world.

Cameron Foxly is a brand designer at GitHub and the longtime maintainer of the Octocat, where he helps shape the visual identity of the developer ecosystem. He is the creator of ASCII Motion, an open source tool for animating ASCII art, and is passionate about blending design, tooling, and developer delight. Cameron explores how AI is empowering designers to build and ship real software.

transcript

Brian Douglas: Welcome to another installment of Open Source Ready. John, how are you doing?

John Mcbride: I'm doing good, Brian. It's cold and rainy.

Brian: Yeah. You guys have a Nor'Easter going?

John: Oh, another one.

Brian: Another one . Also we don't do video for this podcast, but shout out to your Yale sweater, living over in New Haven.

John: Yeah. Shout out to my wife for going here. Haha.

Brian: Excellent. Yeah, yeah, actually we went to a Cal football game recently, so I got a Cal sweater. I've been wanting a Cal sweater for a long time so I can rep the place I never went to school.

John: Yeah, it's nice.

Brian: But we actually have a wonderful guest, actually a former coworker of mine, Cameron. You're here to chat about ASCII Motion. You want to say hello?

Cameron Foxly: Hello, hello.

Brian: Excellent. So, yeah, you are a prolific open source maintainer, you know all about the codes. No, I'm just kidding. I would love to get the origin story of this, but could you give us a quick rundown of, what is ASCII Motion?

Cameron: So ASCII Motion is my first open source project. My background is I'm a brand designer, so this is really my first time trying to make a product. But it's a tool to let you make ASCII art.

Originally I needed to make some ASCII art for a work project and realized there wasn't any tools that did the thing I wanted. And now in the age of AI, I was able to vibe my way into a tool that just keeps growing and I keep tinkering.

Brian: Yeah. And to be very on the nose, the work project was Copilot. GitHub Copilot, specifically the CLI.

Cameron: Yeah. So they were launching the GitHub CLI tool and they came to me as someone who does brand design and little delightful things for GitHub and have been doing that for about a decade. And they wanted an ASCII welcome banner.

Claude Code had been taking the world by storm and they had their fun Claude Code welcome banner that became sort of their brand moment. We wanted to have something too. And feeling like I had to outdo them, I had to do something animated. And so I was like, how can I animate this thing? And it turns out there really are no paved paths for animating things in the CLI.

And so I ended up making myself a little vibe coded tool to help me test ASCII art things. And I made that in like an hour and it did the thing I needed and I was able to output a little, basically a react component of the animation and a real engineer took it and shoehorned it into the into the product.

But I actually did work on the actual PR for it, which is the first time at my almost 10 years at GitHub as a brand designer that I actually touched code in a product at GitHub, which was really exciting. But then once I made it, I was like, why doesn't this tool actually exist? You know, I bet I could turn this little MVP into something real.

And like flash forward a week or two later I had my first version of ASCII Motion and started sharing it out and people were into it and I just keep tinkering with it. It keeps getting better.

Brian: Yeah, yeah, I was going to say also, to bury the lead, you're a brand designer at GitHub, but the thing you've been designing for the longest time is the Octocat.

Cameron: Yeah. So I'm basically the current maintainer of the Octocat. I didn't originally design the Octocat, but I've been drawing the Octocat for coming up on about nine years. I'm sort of the second generation of guys working on the Octocat but Copilot is much more my character these days.

The 3D rendered Copilot head was one of my designs and sort of the maintainer of the character IP of the GitHub universe, which is a very strange job that keeps sticking around because where do you get to have a text gallery and draw cartoons at the same time? They'll have to drag me out of that building finally.

John: Yeah, I'm meaning to ask, when I was at GitHub Universe last year, there was this incredible animation with the Octocat and the Copilot character and there were some of these other characters and somebody was like, "Oh, this is incredible. They're expanding the GitHub Cinematic Universe."

And I was like, whoa, what is this? So can you explain to us what the GitHub Cinematic Universe is?

Cameron: Yeah, the Octocat Universe trademark, is a little tm, and I've got a Figma board that's one of those giant, like a million things in it describing the universe. There is a whole backstory for the Octocat that it really is only for the people really in the know, mostly just to help new illustrators come on and help draw, give them some sort of background on the lore.

But there's Mona, the Octocat. There's Hubot, the original chatbot, open source chatbot. The original AI before there was AI. I actually wanted us to make Hubot into Copilot. I wanted Hubot to be Copilot, but the ship had already sailed on that. They already decided on Copilot.

And so we had to bring up a new robot, which is Copilot. And then the rubber ducky, sort of like the rubber ducking coding inside joke became another character in one of the universes. So that was Ducky.

Brian: Someone asked me about that at Universe because the duck is pretty prominent in the I guess the cinematic universe of Octocats. And I was like, "oh, rubber ducking."

I got the connection, but I didn't realize it was like an official part of the brand.

Cameron: Yeah, we call him Ducky. And I think it was maybe three or four years ago for Universe. We just needed another little fun character to add to the group. And we were working with the agency Buck, and they pitched the idea and gave us a new sort of custom made duck.

They even 3D printed it for us and gave it to us and we were sold. So we brought it in and now Ducky is like people love Ducky and Ducky is showing up all over the place these days.

Brian: Excellent. Yeah, yeah. I look forward to like the GitHub Happy Meals in the future. Like Grimace has made a comeback in the last like five years.

Cameron: Oh yeah.

Brian: But yeah, when GitHub starts selling like Mr. Beast burgers style experiences, I'll get all the characters in my box.

Cameron: You can't see me in how are cropped but I have my little Copilot Magic 8 Ball here.

John: Oh very nice.

Cameron: We definitely do make swag toys with these characters.

John: Yeah, the GitHub Stars swag from this last Universe, which I wasn't able to make it. And I don't think they put my star up yet because I just became a GitHub Star. So huzzah!

Cameron: Congratulations.

John: It was this very cool jacket thing with the username for the GitHub Star on the back and it was very, I don't know futuristic 80s, 90s, which I really love. I feel like it's kind of a thing these days.

I've been playing this game on the side called Arc Raiders which really leans into this like cassette futurism where it's retro but there are spaceships and retro looking robots. And is that an identity that you, a designer at GitHub, kind of push into or think about? Or what's the vibe?

Brian: I guess.

Cameron: Well, yeah, definitely. I feel like we end up coming back to some various versions of Retrofuturism. It's definitely something that I come back to a lot. Just with personal taste.

John: Yeah.

Cameron: And we're always trying to find things that lean into nerdery of different sorts and I think that that just falls under that umbrella of fun kind of-- Nerds have a tendency to like a good retro future kind of futuristic, but with a wink of like "the future." Which is a good vibe for the GitHub world.

Brian: Yeah, I mean that's one thing I always appreciate about when I worked at GitHub, is like we spent a lot of time thinking about the cinematic universe and how things fit. Even things like the name Copilot, it was like not a lot of cycles, but like we ended up coming up with that name because it made sense within the sort of generation of what developers were trying to attract.

But the one thing I noticed with a lot of startups and a lot of open source projects, they all want to have a nice fun brand and fun character. And I'm curious because now you maintain that, you maintain that sort of ethos at least with Copilot and the Octocats.

But question I have for you is, so you have ASCII Motion, you wanted to one-up Claude Code. So congratulations because the animation's amazing when you first set up Copilot CLI. But how do you get buy in from GitHub but also the other designers and from engineering?

Cameron: Yeah.

I think there's a very clear understanding at least at GitHub as a company that we really like caught lightning in a bottle with the Octocat. I think of the Octocat as a logo for the open source world and not for GitHub the company, in that it kind of came up from the bottom.

It was that it was an inside joke on the 404 page originally. And it's this sort of culture built around it that you could never pick pitch the Octocat to someone now. It's become this sort of lore and this cultural icon that we've just earned so much trust with the higher ups and the money people at the company and things that we can kind of get away with this fun stuff.

They know that our audience likes it and I know that you can set a specific flag in your settings so that it plays that banner every time you load it and people love it. But I think that mostly it's just that I've spent almost a decade working there, building trust with people, that when I come in and say like, hey, this is a great moment for something fun. As a principal brand designer there, people are like yeah, "Cameron says it's cool, let's do it."

And I think that's just like a great thing about the GitHub universe for me is that I can get away with stuff like this and it feels authentic because we've always had that vibe through the whole history of the company. When I think that it can seem very much like "hello fellow kids"if you try to force that when you don't have the buy in from the culture and the community and GitHub's super lucky to have it.

And that's what keeps me around as a designer there, is that you can get away with some fun moments of delight and it doesn't feel too corporate annoying.

John: Yeah. This is something that I've struggled with my open source projects is, I want that fun aesthetic. I am exactly that person, Brian, who is like, "I'm making an open source project. Of course it has to have a fun banner or logo or character or something."

How would you advise, you know, the more engineering type building in open source to spark that joy, to like spark that delight? Because it is like a first impression. I think a lot of people in their readmes want that first splash to be like fun and delightful and joyful. What advice would you give to those engineers?

Cameron: Go for it.

I find that the kind of people that do open source work especially, but also for development, are the kind of people who take the time to get into the weeds and get really into the nerdy details and they can see when someone has taken the extra time to put a little detail in that seems just for them. I think that there aren't many buttoned up commercial projects that can get away with that kind of joy because you've self-selected a group of people who are nerds. And nerds recognize nerds.

I think that, especially the open source world, you're doing it for the love of the game and so you want to show that you have love for the game by putting that little extra bit of sprinkle of fun on top of stuff.

John: Yeah. well now with ASCII Motion, it's so easy. I love it.

Cameron: Oh yeah. And ASCII is having a whole resurgence right now with all these CLI tools coming out.

John: Right.

Cameron: And I was just so surprised to learn that there really wasn't too many good tools for doing what I wanted to do. There was like tools for converting videos into ASCII or there's shaders that people are doing with some ASCII. There's like a little bit of here or there, but there was nothing that was like I wanted to do frame by frame animation that I kind of painted on a canvas and there really wasn't anything. That didn't exist.

Brian: Yeah. What would have been the solution, outside of you building a CLI tool, to make this happen? Are there brand designer type tools that you could leverage?

Cameron: Not really. I mean, in the past I probably would have done like some sort of After Effects. Like Trapcode Form is a plugin for After Effects that you can kind of do gridded effects where you can put individual sprites. And I would have faked it and I would have faked it in After Effects and handed it off to some engineer, some poor engineer and been like, make this happen.

And they would have like rolled their eyes and be like, we're going to do something way less than that. Which has always been my history as a brand designer. But now I was like, oh, I think that I could build this tool, but there are a few kind of open source tools that are out there, but the closest one is this one called Durdraw.

It's actually terminal based. That has been around for a bit now, but I just found it to be a little too buggy for me to rely on it for work. I was starting to play with it, I spent about a half day using it. I was like, I think this is actually going to end up causing me more headaches than I need.

John: Yeah, yeah.

Cameron: But, yeah, but doing the animation for the CLI was definitely tricky for a few reasons. For accessibility reasons, we can't put in our own brand colors. We're supposed to be using the ANSI Escape code, the basic anitique colors. There's only like eight of them and they're described semantically. So then each terminal displays them differently.

You go into Wikipedia, there's a whole table of how all the different terminals display those coded colors and they're all disgusting. And so the first tool that I built was actually just to test what I had made in all of the different terminals to see if it looked good in all of them, to figure out what color should the goggles be, what color should the face be, what color, etc.

And that was like the first taste of building. And then I was like, okay, I'm going to make this into more of a tool. And I just kept on building it out and building it out and building it out. And then we had ASCII Motion at the end.

Brian: And this is all the stuff you had to learn on the fly to solve for this?

Cameron: Yeah, this is basically like they came to me on a Thursday and by the following Wednesday or Thursday I had the first draft of a piece of animation. And honestly, my first go at it, I just basically took a text editor and did it by hand. And that took forever.

I was like, there's got to be a better way. And so that's when I started building out the tool and I was like, okay, now I have a paintbrush on the canvas. Thank you, Copilot. Man, in the past I would have just loved to do this, but never would have had the chance because I spent my whole career building art skills and I had tinkered with code, but it would have taken me so long to build this if I hadn't had Copilot there just helping me out.

Brian: And that's the one interesting thing about this new AI-native, forward -thinking place that we're living in now as like developers, brand designers. AI is here to stay. If I were to approach this problem and I was the engineer, I was handed this like animation. I'm like, oh, okay, I guess Chatgpt, let's see if we can one-shot this thing and it's gonna be like good enough.

But for someone who's doing art as their day to day job, you're owning the brand assets, you're making sure the colors match. Like the expectations for someone who has like such a skilled craft, but also leveraging AI to solve that craft. Like I imagine the code in ASCII Motion-- Is it JavaScript?

Cameron: Yeah, it's JavaScript. It's a React app.

Brian: Okay. It's a React app.

Cameron: Yeah.

Brian: So like, maybe it's good enough React code. I don't know if anybody else has like reviewed your code. I should probably go in there and give you some PRs.

Cameron: Yeah. The first tweet that I did, someone called me out for. I just had a bunch of like random markdown doc files that Claude had made littered through there. I eventually moved them into their own folder of agent docs. So like it's a little more clean than it used to be. But yeah.

Oh, I would be so embarrassed, I'm sure if anyone who really knew what they were doing, because I do definitely just sit there going like, "Fix it Copilot. Fix it Copilot. Fix it, Copilot."

Brian: Yeah, but it's a weird dichotomy of like, okay, we were trying to get a quality animation. So like Cameron's a person to go prompt Copilot and do this. But if you're like, hey, I want some quality code, it's like, oh no, let me go send it over to Brian, who's not going to get the quality animation but maybe get some quality React code that's well tested.

So it's interesting. In this world of AI, we're optimizing for outcomes at this point. I think the outcome which you were able to get in less than a week to have a first version and appease the engineering team, say, "hey, we've got something," that's the outcome that you could optimize for.

Cameron: Totally, yeah.

Brian: It's fascinating to hear your sort of trajectory into now, open source maintainer.

Cameron:

It's such an exciting time to be someone who's always been a little bit of a technically minded designer.

I've always enjoyed the technical side of doing art and animation. Anyone who does animation has to be a little technical. It's a very technical field. Just how to plan and think about animation is all very technical. And most of the tools are very-- Like most of the coding that I did was writing scripts in After Effects. And After Effects has a whole JavaScript engine underneath it that you can make your own custom effects on, which I have been doing for years.

But it's such an exciting time for someone like me who's like tinkered but never really taken the time to learn the syntax. I'm able to get to those outcomes so quickly because I know what I want, I know what's in my head. And I've done this for long time.

And what used to be the watering down of my ideas as they get closer and closer to the web has always been my problem as a designer is that I have these beautiful After Effects mocks that end up going onto a website where they get really watered down by the engineer, the poor engineer that has to make it happen quickly. And now I can actually be the one that does it.

There's another piece. My first code ever pushed to GitHub is GitHub Spark, it's their new vibe coding tool. And the first generation takes a second when you ask for the first thing. And we had some pre-baked CSS little sparkles that kind of flew up from the bottom when you did that. And I went in and rewrote them in just like raw WebGL to be interactive and you can change them and they glow.

And little details. I know that "glow" looks better when as it moves from the source away it both gets dimmer and gets cooler. So it starts warm and gets cooler. That's a little art design thing that I know that if I had given this to an engineer in the past, they would have used a Gaussian blur and just blurred it to zero and it would have looked fine. But the fact that I was able to get in there and tweak that little bit so the, the color just turned a little more blue as it went away from the source, that makes it look so much nicer.

And then I was able to just, I gave the code to an engineer be like, here's my prototype of it. And he just like basically slapped it in there. I went and looked at his PR. It was basically my code with like a wrapper around it because it was all WebGL. And I'm sure he was like WebGL, I don't know how to talk to shaders. None of us, no one knows how to deal with shaders besides mad scientists.

So that was super cool. That's another just like super cool, taking the design skills and being able to finally access those technical things that always had had that sort of hard engineer barrier for me is so cool.

Brian: Yeah. I don't know if you've been paying attention to Figma and what they've been doing, like Figma Make, but if anybody's working with front end and takes a Figma design and has like hand coded that into whatever the react component needs to be. We just like rebuilt some of our front end for the product that we're working on today.

And it was like Figma MCP to React code is actually extremely good. Like we're watching a world unfold of like I'm definitely the developer that would cut corners and be like, "oh yeah, yeah, Gaussian blur. Like what are you talking about? Heat, like coolness of light and stuff like that? Like, it works like stop pestering with these nitpicks."

Cameron: Yeah.

Brian: So I would cut corners and same thing with like the Figma design. I'd cut corners. But now we're in a world where you can like designer can give you like pixel perfect representation. But now you get this like nice thing you can sort of find and replace or drop in directly within like a component.

So I was curious. It's been a few months ASCII Motion has been around. We are at 401 stars today. So folks, start a repo. Stars matter for designers. Give them the sparkles.

Cameron: Oh, I love it.

Brian: But I'm curious like who's using this? Do you have any sort of adopters outside of GitHub now?

Cameron: Like I was saying, I've got now up to a hundred full users that are active, they have accounts, they're making projects and people are opening issues in the repo, asking for requested features. And because I can just pump them out with Copilot so quickly, I'm like pumping out features for people back to back to back.

It's like, please come in the repo, ask me for something. I would love to add more stuff to it. Recently just had a guy who does Commodore 64 retro art come in and be like, hey, it would be really great if we could get the Commodore 64 font into the font stack and the Commodore 64 palette into this preset balance. And I was like, absolutely.

And then I had to go learn a bunch about Commodore 64. And then it's got a different aspect ratio so it fits in weirdly. And I had to redesign a little bit of the canvas to make it work. But there are definitely people that are in there using it. I had someone open a pull request the other day to fix a typo in my readme, which I was like, oh my God, someone took the time to open a pull request of my little project? This is so exciting.

But yeah, people are using that. I'm just seeing in my database, like the project names are definitely people who are working on branded things. I'm seeing company names that I recognize in the list of project names. And I don't know what the end products are. I don't know where these things are ending up yet at this point.

I don't really have a good reaching out to users system set up. I don't even have marketing emails set up. Pretty much all I've got is the Supabase auth at this point. But yeah, people are in there making things.

Brian: Yeah, that's really cool. So college was a while ago for me. But I used this tool called GIMP.

John: It's still around.

Brian: You still use GIMP?

John: Oh yeah, yeah.

Brian: I actually just put GIMP on my son's computer because he wanted to build pixel art, actually.

John: Oh, nice.

Brian: So I'm like, I don't know know how to do anything besides GIMP. So let me get GIMP. Get a template, do pixel art. And like he went to town on that.

What I'm getting at is like there's a whole movement around people like teaching you how to like use GIMP instead of Photoshop. And that's basically my college years is what I did in MySpace. Yeah, I'm dating myself at MySpace. GIMP, like that's how I got all the banners going and like I was super, super cool back then.

But like I feel like there could be like a movement around this ASCII Motion experience. Like if you have a hundred active users and like there are other brands that also have stuff they're trying to do on the terminal. Have you thought about like community and management of community? I'm curious to see what you thought. I'd love to like give you some ideas.

Cameron: So there's a community gallery set up that if you've got an account and you've set it up, you can post your projects there. There's commenting, liking. I've got that whole system set up so if you had to ASCII-Motion.app/community there is, right now it's all art by me because no one has posted anything yet. But I'm hoping people get in there and start making stuff.

And people keep on promising they're going to on Twitter and things but no one has yet to post. But you can see all my artwork there. Pretty excited about that too. There's no like baked assets on that site too. It's actually taking the canvas data from the same project and live rendering in the canvas all of the data. It's just cool that the actual site is playing back basically a JSON file of the canvas data on that gallery page.

It's not like pre-baked movies, it's actually like fully rendered with the font stack and everything on a canvas. But yeah, that's working. I just launched the marketing page ASCII-Motion.com. That's my first landing page ever which has a ASCII art shader on the hero section as I had to do. Did you even make an ASCII app if you don't have an ASCII shader on your landing page?

But yeah, I'm trying to get people involved and do more things. It's been doing really well on Twitter for one thing. I feel like I'm getting, all my posts are getting much more engagement than anything else I've ever posted and people are getting involved and seem to be interested in it at least, whether or not they're using it for anything real. Who knows?

Brian: Yeah, I mean this is really cool. You're months in. So we're catching pretty early in the trajectory of the curve.

Cameron: Yeah, my next big move is getting the sort of the learning stuff up, getting some tutorials put together. I've got a doc site rigged up. Most of it's a little bit AI sloppy content at this point. I'm kind of going through and refining the first shot from Claude. But it's getting there.

And then I'll make some video tutorials. I think that's sort of the next big thing. I think people are kind of running into a wall of like you end up in the app and there's like a whole interface with a bunch of stuff and you're like, I don't know how to use any of this.

I need to start making some good some good content other than I have got a little welcome banner that shows you some how-tos, but I need to do a little more of a full walkthrough of how the app works and places you can export it.

Brian: Yeah, yeah. Honestly, some of the examples that you have on here of like you had like a walkthrough of like how to set like how to build that flame that's on there or the Ship It squirrel. Like I would totally crush through that and be like, oh, cool, I get it now. I'm gonna like, I'm gonna make a frog. I'm gonna make something random.

Cameron: Totally.

Brian: I've got one CLI project that I've sort of messed around with. I did, also like yourself, I've vibe coded a bunch of stuff pretty much all summer until now. So a bunch of stuff that's sort of sitting on the shelf.

But like the ability to like go add an extra like character or some sort of pizzazz to the project you want to put out there. You as a brand designer, like you're, you're sort of at a great position because like John was talking about his experience in like doing stuff that looks cool for your open source project.

Everyone aspires to do that as a developer, but no one does it very well. th e analogy I have is like when you want to start a garage band back in school and you spend way more time on your album art rather than actually learning how to play music. I think that's actually how most developers are are.

Cameron: It's funny, I got into design by doing the website for my high school ska band. That was how I got into design.

Brian: Were you guys on MySpace as well?

Cameron: We had a MySpace music page. We had a GeoCities page, to date us as well. An mp3.com page.

Brian: My SoundCloud just got shut down like months ago. It'd been a while since I logged in and they warned me a few times. Honestly it's better if all that stuff is deleted.

Cameron: Yeah, the Wayback Machine still has proof of my high school ska band if you can find our old website. But that's the only real proof at this point. But that's how I got into it. Yeah, I totally understand that.

Brian: Yeah, yeah. Cool. Yeah, I mean you're already at GitHub so you're like one step away from being a part of the maintainer network and getting all this sort of value. I was actually going to ask you the question which is like how much time are you spending on this now versus like-- Is this all nights and weekends?

Cameron: Nights and weekends. And it's late nights and weekends because I have a full time job at GitHub and two kids under four so I'm pretty full time the rest of my life. And so yeah, this is my like definitely like 9:00pm to 1:00am kind of project for me and just Copilot, you can move so quickly and if you got a really big project, you set it to go before you go to sleep and let it run all night.

And I love the GitHub Copilot coding agent where I can just start it from an issue, assign it from an issue and just run three or four of those. It's so cool. I love that tool. A lthough I have found that I've reached the human limit to orchestrate multiple tasks and agents.

I feel like there's like, oh, this is so cool. I can do so much. But it's like, oh, my brain is the bottleneck. I still go and have to review these things and I'm trying to context switch between all these different issues that are being run on it by different agents and oh man, I might have to just stick to one agent. This might be too much.

You can be wildly productive but at the same time your little feeble human brain has to, at some point, check in on stuff and that's the limit still.

Brian: Yeah, you need to get the team to advance that agent HQ stuff.

Cameron: So yeah, there you go.

Brian: Coming down in the future next year.

Cameron: Totally.

Brian: Cool. So Cameron, I've got a question for you which is are you ready to read?

Cameron: Sure.

Brian: Excellent. So I've got some reads. I actually just got back from AWS re :Invent and got to chat with a bunch of people about some stuff that Amazon's doing. Ironically, I didn't go to any of the talks. I just like read the blog posts after the keynote and like caught up there. But I ran to Adam Jacob.

John: Friend of the pod.

Brian: Friend of the pod. He was on, like episode sub-five?

John: Maybe two or three.

Brian: Two or three? Yeah, it was, yeah, super early. I should have had that number ready to go, but I don't have that number. But I got to catch up with Adam Jacob a year into their new product, which is coming from System Initiative and they're all in on the agentic workflows for DevOps.

So this was actually kind of the talk of, at least at the lunch that I went to yesterday, a bunch of folks who are super heavy in the Terraform world-- People love Terraform. OpenTofu, Terraform, whatever your choice. So this is for your sake, Cameron, like infrastructure as code and System Initiative is basically just taking that and turning it on its head toward a CLI, but providing agentic workflows to manage your DevOps pipeline.

So imagine your DNS like borks or something happens, we gotta go fix something or subdomain. You get an alert, you send it over, use a CLI for System Initiative. It does a self -healing infrastructure experience and then you're off to the races at that point. I'm very intrigued by that because I am not a DevOps professional, but I like playing one on Twitter.

So for like knowing where-- I have like rough ideas on how to do things when it comes to DevOps, but I have no actual in-practice skill set. So super excited to actually try this out for some of my projects that I've been shipping to various clouds.

The one thing I'll also mention in the show notes and my reads is a Reddit post from a year ago which everyone was like, there's a bunch of pushback on this idea. And I think it's actually still the same pushback that I was hearing yesterday at lunch about, "is DevOps going to be a thing moving forward?"

Which actually I bring this up because, John, I'd love to get your take on this because this is your world.

John: Yeah, it is interesting and I think that even from our conversation with Adam Jacob, It was a fascinating idea because the deterministic nature of cloud resources translated into a way that you can like, visualize them kind of across, like the entire map of your infrastructure.

It's a tough cookie to crack because that alone, like, those resources then getting perfectly mapped into what the picture of your infrastructure looks like is something that like, HashiCorp tried to tackle. I think they got pretty close with Rerraform, but there's even still today Terraform resources that don't really correctly map across to like, what actually lands in your cloud.

So I think that's what makes people-- If I had to boil it down and my assumption, I think that's what makes people nervous from like, this time last year. Obviously a lot of that has changed with AI and LLMs because they can take these kind of like bespoke half pieces or things that maybe aren't super well defined and go and do a little more discovery to like, get more of the picture, I guess.

And that would be my bet where, where some of this DevOps stuff goes, because I think that's like the obvious missing piece in some of the problems that you can have. It's just that, like, oh, this thing broke in a weird and undetermined way and we don't know why. And we need to go gather a bunch of data and make an assumption and test those assumptions.

That's just kind of DevOps wrapped up. You're just like going and observing and understanding, collecting data, making small tests, tweaks here or there to then get more data and understanding, like a scientist would. And LLMs have at their core, always been very good at just like, summarizing all this stuff. That's my take.

Brian: Yeah, I think it's a good take. And Cameron, I don't expect to have a take on the DevOps, but I'm looking at two sides of the spectrum. Like our conversation around brand designers, but we're just talking about DevOps now. Like, no one wants to be being replaced. But I'd ask you the question, can we replace brand designers with LLMs?

Cameron: Not yet. I think you can probably replace a lot of drudgery. I think that there is a lot of work in all of these fields which are like, the reason you don't go--

I don't go into brand design to spit out a hundred different Changelog aspect ratios for different outlets. I go in there because I like the art and I like the cool stuff and you can kind of offload a lot of that drudgery to the AI.

And I think that also like the "everyone's coming for your jobs," I just don't buy it. And the reason I don't buy it is that capitalism will always find more work to do.

We've gotten so much more productive and we've never gotten less work. We've been promised three-day work weeks for 30 years and we're just not going to get them. I think there's always going to be more stuff to do.

John: Yeah. Something that comes up time and time again when we have these kind of conversations is that, you know, taste is so important. And I think that goes from writing to design to the brand design stuff to coding. I can usually tell when there's a piece of AI generated code, which is fine because it's all just kind of, especially for patterns that continuously occur. Like, yeah, we can do a bunch of boilerplate with AI code and stuff.

But like if you want a very special specific type of brand, I can usually tell when it's AI generated. And then that kind of makes my taste factor go like, "Ooh, I don't know if I like that."

But I've noticed that there's a lot of newer companies that are moving the needle in different ways to kind of push the taste where they want. An example I'll give is this company I recently was looking at, arcade.dev. They're doing a bunch of this stuff in authorization and authentication within the AI space.

But their brand is this very like extreme colors and this like huge color gradient with this future retro, arcade feel. And it stands out to me because I don't think an AI would ever generate that. But it really works and it works for their brand, right? And then it's got that classic sans serif font that everyone's using and it really stands out to me, right?

Cameron: Oh, totally.

Taste will always be the thing you'll be hired for. With every piece of new technology, even if it gets further from the craft, the taste is always what's driving it. Even if you're spitting out a million versions from an AI, someone with taste still has to pick the right one.

And I think that there's still room for people who have an understanding of the craft, so they know why to make decisions, they know how to explain them to the AI. I think it would behoove any brand designer to also be learning about these AI tools. But I've then be worried about just removing the need for taste.

I think there'll be some C suite people who will try to fire these brand designers, and then they'll try to use nothing but AI with a marketer running it, and then they'll decide, oh, wait, maybe we need those people back.

It feels so shortsighted to try to remove the human from the loop in a lot of these places.

Brian: Yeah. So the TLDR is grab Rick Rubin's book and then you don't have to ever learn how to play music. It's all about taste which is a stretch. But honestly, I love that book and I love the idea of getting more work done. But also, really, we're curators. Like, we have the creative stuff that we can do even when it comes to DevOps.

Like, there's a way you can orchestrate DevOps pipelines and Git infrastructure that make the lives of folks who have to maintain that much easier. And that's a lot of stuff that AI just might not get.

And I'll probably go through your ASCII Motion and I'll open some issues because there's probably like, if you're generating a bunch of stuff, there's probably some like, react things I know that AI does poorly all the time. Like, oh, hey, maybe maybe don't put the-- Actually, you don't have TypeScript, so, usually the TypeScript's always the worst. But you're JavaScript--

Cameron: No, I'm using TypeScript. It's TypeScript.

Brian: Oh, there's typescript. Yeah. Sorry I missed that. Half the screen was covered. But yeah, with that said, it was episode 6, by the way, with Adam Jacob. That episode is the first time we had him on so we definitely need to have him back on.

John, did you have any reads for us?

John: Yeah, I had a few notes, a few things that kind of are callbacks to previous episodes. One is there was a leak recently that OpenAI is preparing ChatGPT for ads, which, for anybody who listened to the Quinn Slack episode, CEO from Sourcegraph, that should be immediately obvious.

Brian: Well, now Amp Code.

John: Amp Code now. Excuse me. As of this week, it is now a separate company. Very huge. They're really leaning into that.

But that was a fascinating conversation for me. And then seeing this, where, yeah, like the monetization and that as the model in the internet for monetizing users. I don't know how I feel about it, but Brian, how do you feel about it?

Brian: It's inevitable. I think we, in the race of OpenAI in particular, they're raising money until it gets to this magical IPO one day. They're going to have to figure out what people are actually buying eventually. So if it's not the $20/month, because you know there's still a lot of people who are paying for that, ads makes a lot of sense. The one thing I'd be cautious around--

So, Cameron, I would actually be curious because this is something I think about all the time when I take an Uber home from San Francisco. When you go to-- This is very, very hyper fixated to folks who live in North Oakland. But you get off on the 51st, you have an option to go down Shattuck or go down Telegraph.

I live on Telegraph, but the Uber always takes me down Shattuck. And I'm like, you don't need to do this. Like you're going to get stuck behind all these cars trying to go down Shattock. You could just skip this, go to the next light, make a left. And what I'm getting at is like the code is telling the car to do what everyone else is doing. So like if someone buys whatever bagel shop and says, okay, these are the bagels that we're going to recommend whenever someone asked about New York bagels, we're going to be overrun.

Actually this is even more hyper fixated. This is a Bay Area podcast. So La Taqueria is a great Burrito Shop, Super Burritos, California Burritos, in the Mission. But for whatever reason they've like been overrun with influencers. They're probably paying them. So everyone goes to La Taqueria now. And then there's like the second one, El Farolito which is this further up towards Bernal Heights.

Like both of those are overrun with a bunch of influencers are telling people to go to these shops. But then there's so many other taco shops in the Mission. So what I'm getting at John, to answer your question in a very roundabout way. It's like I feel like whoever has the most money is probably going to win in this game. So ads make sense for OpenAI, but like who pays for the ads?

Is that necessarily the thing that the LLM is going to be recommending to me? And that's what's concerning. But we also had the same thing in 25 years ago at Google, so we ended up figuring it out and people are going to game the system eventually. Well I think they are already.

Cameron: Yeah. My brother works in PR and apparently the head of the company was like, "you need to be in charge of figuring out how to get LLMs to say the things we want them to say."

And it's on him as a PR guy to figure this out. And I'm like, oh, I'm glad I don't have your job. No one knows how to do it yet.

Brian: Yeah, I can go to more details offline but yeah, I've got some tricks that have actually been working for Continue. But yeah, we actually talked to Rachel Lee Nabors about this a couple episodes ago actually.

Cameron: Yeah, what do they call it? It's a generative option--

Brian: Yeah. GEO.

Cameron: GEO, is that the generative engine optimization or whatever?

Brian: Yeah, there's a couple things that you could do but it's also how you structure which it's crazy like SEO is cool again but there's all the other things that we've always ignored that you can structure your data on your page so you show up in search better. And because of AI you don't have to go learn all that stuff, you just point it to MDM docs or whatever like the Google Chrome blog that comes out twice a year with the new release, like oh just update my site to match whatever Google cares about.

Cameron: Yeah, part of the marketing site launch was ask the LLM be like hey, find me the best way to make this look good on Google Search. It was part of this, one of the steps I told it to do and it made all the robots, whatever and all the various files it needs to do to help it talk to the systems. And it already shows up on Google if you search it.

Brian: Yeah, wild times.

John: Well I have one more read that I think we have a bit of time for and this is about Valve, the gaming company behind Steam and Half -Life and all these games. They have some new hardware they announced that's going to be coming out next year. The Steam Machine, the new Steam controller and all this VR thing I forget the name of, but they also run an operating system called SteamOS that their handheld, the Steam--

Cameron: Steam Deck?

John: The Steam Deck, yes, of course. That's what's running Steam Deck is this Arch-based Linux system which maybe is surprising for people not in the gaming space because for so long it was all just Windows. And recently with these announcements Steam sort of unveiled that they had been supporting kind of in secret a lot of these open source projects that are enabling Windows games to work on ARM, which is a totally separate architecture.

Most of the time most game companies and game devs are building for Windows on x86 and that's like probably 99% of people's like desktop gaming PCs. Enabling ARM and enabling this cross compatibility layer called Wine that they also are deeply involved in is like opening up the ecosystem and it's becoming where Linux is now actually a viable option to make your everyday driver for gaming which I'm very excited now about as, as a Linux dork because forever I would have to like dual boot Windows and now things are just like getting better.

So go Valve. We should we should try to have them on, Brian, sometime.

Brian: Yeah, I know the ARM side for sure but I don't know if I know many folks at Valve which like it'd definitely be a project to get some, some gaming people on this this podcast.

John: Yeah. One of the good examples is this project called Asahi Linux which is basically something that Valve was sponsoring, bringing Linux onto the newer MacBook Pros with the M series chips which are ARM based, like they're not x86 based.

So it's very interesting how this like ecosystem of like crazy Linux projects that people are doing, trying to cross compile all this stuff and get it to work on all different kinds of hardware, that's enabling just like a better, more democratized way of doing computing, gaming, building all different kinds of stuff, not just on like proprietary locked down hardware.

So yeah, I would love to talk to them sometime if you have a connect, Brian.

Brian: Yeah and I was going to mention I have a Asahi Linux bowl with Granola.

John: Boo! Haha.

Brian: Sorry, it just really sounded like that. Yeah, sorry. Poor, poor dad joke. Cameron, are you a gamer?

Cameron: Not super heavy. I like a good game. Right now I'm hooked on a VR game Population One, which is basically VR Fortnite that I definitely am a little too hooked on.

But yeah, I'm not definitely not. I wouldn't call myself an extreme gamer but I like a good video game here and there.

Brian: Yeah, yeah. I tend to take the last week of the year off pretty much for the last 10 years. So it's the one week of the year I actually play a game. So usually I'll pick something. I'm like halfway through The Last of Us, Part Two, which I started last year so I'll probably finish it this year.

Cameron: Yeah, that dad life. It makes it tough for the video game hours where it's getting really cut down.

Brian: Yeah. Yeah. As long as I don't have a random popular open source project that also takes my time, I could play some games.

Well, Cameron, thanks so much for taking some time out of the day from drawing Copilot little figures and chatting with us about ASCII Motion. And listeners, stay ready.