Screaming in the Cloud

Welcome to another episode of Screaming in the Cloud, where we're joined by Anthony Fu, a framework developer at Nuxt Labs and the creator of Slidev. Anthony has diversified the way presentations are crafted by integrating coding directly into slide development. In this episode, Corey and Anthony discuss the benefits of using markdown to craft slides, the challenges associated with traditional presentation tools like Keynote, and the open-source contributions that have propelled the development of this innovative software. Anthony also shares his inspiration for creating a tool that streamlines and enhances the presentation creation process for both developers and non-developers.

Show Highlights: 
(00:00) Introduction 
(03:13) The origins of Slidev  
(04:47) The challenges with traditional presentation tools and the advantages of using Markdown for slides
(06:04) How Slidev simplifies slide creation for presentations 
(07:01) Corey shares his surprise at the utility of Slidev for non-frontend developers 
(09:56) Addressing the challenges of aligning text and images in presentations 
(11:09) Anthony discusses his design philosophy for Slidev
(15:14) Balancing feature requests and maintaining simplicity for Slidev
(16:38) Anthony explains the importance of community contributions to Slidev 
(20:13) They discuss implementing new features into Slidev's evolution
(24:15) Anthony’s insights into the open-source philosophy behind Slidev 
(27:09) Slidev's approach to redistributing sponsorships to support its dependencies through Open Collective
(31:46) Corey mentions contributing to Slidev's documentation to make it more accessible
(33:41) Closing remarks & where to connect with Anthony 


About Anthony Fu:
Anthony is a fanatical open sourceror. Core team member of Vue, Nuxt, and Vite. Creator of Vitest, Slidev, VueUse, UnoCSS and Elk. Working at NuxtLabs. 


Links referenced:
Slidev: https://sli.dev/
Slidev Github: https://github.com/slidevjs/slidev
Anthony Fu’s Personal Website: https://antfu.me/
Anthony Fu on LinkedIn: https://www.linkedin.com/in/antfu/?originalSubdomain=fr 
Anthony Fu on Twitter: https://x.com/antfu7
NuxtLabs: https://nuxtlabs.com 

* Sponsor 
Prowler: https://prowler.com



What is Screaming in the Cloud?

Screaming in the Cloud with Corey Quinn features conversations with domain experts in the world of Cloud Computing. Topics discussed include AWS, GCP, Azure, Oracle Cloud, and the "why" behind how businesses are coming to think about the Cloud.

Anthony Fu: If you say that, uh, users that you'll get these two for free, but I also get a contribution for free. And that's the amazing part of open source is that everybody's helping. For everybody.

Corey Quinn: Welcome to Screaming in the Cloud. I'm Corey Quinn, and if you've been listening to this show for longer than 10 seconds, you've probably figured out that I have an ongoing love affair with the sound of my own voice. What you might not know is that I give a lot of conference talks over the years, because the secret to giving a great conference talk is to give a bunch of crappy ones first.

And for most of that time, I've been using Keynote until relatively recently, when I stumbled mostly through blind luck. Over an open source project that more or less changed the entire way that I view slide deck creation. Anthony Fu, by day, is a framework developer at Nuxt Labs, but is also the creator of SlideDev, Which has frankly revolutionized the way that I create content to more or less do talks that are stand up comedy with slides.

Anthony, thank you so much for taking the time to speak with me.

Anthony Fu: Yeah, thank you for having me.

Corey Quinn: Prowler works wherever you do. It's an open source powerhouse for AWS, Azure, GCP, and Kubernetes. From security assessments to compliance audits, Prowler delivers with no hidden corners, just transparent, customizable security, trusted by engineers and loved by developers.

Prowler lets you start securing your cloud with just a few clicks, with beautiful, customizable dashboards and visualizations. No unnecessary forms, no fuss, because honestly, who has time for that? Visit prowler. com to get your first security scan in minutes. One of the things that I've always been worried about when I've been using Keynote historically, that sort of started me on my journey of, is there a better way to make slides?

Has been that iCloud is great. I did a whole post a while back before this was an easy thing to do about how I present conference iPad, but I'm, I'm Critically dependent on Keynote's ability to sync files. Sync isn't a backup. I'm an old school Unix admin where, what is the expression? Two is one and one is zero when it comes to number of copies of things.

So being able to crack things in something that looked like version control was what started. And I've discovered reveal. js relatively quickly because everyone's been using that for ages. And it's great if you're a front end developer. I am absolutely not. What SlideDev does that revolutionized it for me, or I guess radicalized me if you want to use that expression, is it made it so much easier to write the content of my slides in markdown, which is how I generally tend to write things anyway in terms of rough draft or script approach.

And then with a little bit of markup scattered throughout, that content becomes slides, that those notes become speaker notes, and you can make each slide look however you want. With a couple of, uh, the VS Code extension that, uh, been associated with the project, you can drag and drop things in different orders.

And you can export it in a bunch of different ways too. I can't express just how revolutionary this thing is. Where did it come from?

Anthony Fu: All right. I'm very glad to hear that. That's, uh, I would say that's still like Keynote is, uh, is a great tool. And I was enjoying using it. And me as a, as a developer, we, we all, we usually do like a tech related talk, right?

And it's often that you want to put some code inside your slides. I don't know why, but I tried like PowerPoint or Google Slides or Keynotes. They don't really got the building features. Like you insert a session of code that's appropriately highlighted. So that's the one of the main pain point I have.

And also, uh, the other way is like. I want to open my, like, I want to share my talk. I want to share the content and I also want to share my slides. But as I, uh, a very intuitive way of thinking is like, I'll just post it on GitHub and I'll put the PDF or something inside a GitHub repo so people can download it.

And then it's like, every time I have to change something or like, I want to fix a typo, it's like, I need to go back to the file. You can commit it into version control, but it's still a binary file, so you don't get a diff. And it's quite hard. So for me, it's like, uh, it's also part of a way for me to escape from preparing the talk.

You know, it's like you have, uh, when you have something in, in, in your mind, like there's a do that line, but you're trying to, uh, how do you say per cascades or per cascadation from what you're going to do. It's like, okay, I'm escaping away from preparing it. So in the end, I think, okay, maybe that's just solve this problem.

Now, if I could use my knowledge as a content developer to build something that's, uh, build a tool, build a better slide tool that's with the technique, uh, with the technology I'm familiar with. And in that way, I could also like doing like syntax highlighting and maybe also having some interactive components, which would be relatively hard if you want to do it in Keynote or something.

So that's how I started and then I also find there's a way it's like I have a, I don't know if it's a perfunism, it's like I try to keep everything aligned and I feel very, I don't know, itchy when some like two text is not aligned. So I spend a lot of time like align styles. On a line text and you know that the benefit of keynote is like you can jog and Jo, you don't need to write a single line of code.

That's very great, but sometimes, like it's easy to mis a line, a lot of things. So then I think, okay, uh, the first is I don't want to be bothered by those stylist things when I thinking about the content. So usually I'll start a markdown to write about my thoughts and of, of outline of my talk. Right. And then I think, okay, how about let's just make it as a part of your slide, right?

So you can prepare the content and you do a lot, uh, a little bit like Organizations and you slice them into different sections and it can then be directly becomes the slides so That's how it works. And I'm actually surprised to hear that you are not a front end developer but you enjoy using it because I was marketing it as I'm not I was titled it as a slides for developers Because I was try trying to solving the problem.

That's developers having tech talks. And also I don't want to make it as a, as a keynote as uh, what you see, what you gather, which is super difficult to get. But that's because we have all the capability of web. So if you are web frontend developer, you can having the, basically a full canvas for you to play whatever you want.

So, I was imagining that that's for mostly front end developers, and surprised to hear that you also enjoy that.

Corey Quinn: I, I, I don't do front end at all. I, I had one talk that crossed over into the front end space. I think in 2017 or 2018. I gave a talk terrible ideas in Git, which is a universal form of shared suffering that developers of every Stripe can appreciate, and I was invited to give it at the front end conference in Zurich, which was a, a, a fantastic experience.

I'm giving the talk in the early afternoon, and every person's slides who went before me were gorgeous. They were just. These, these beautiful, artful things. And I had at that point, this is before I had a custom theme done, I was doing this just in Helvetica text in black on a white background. And I have two hours to improve it, so, so what do I do?

Well, I changed the font over to Comic Sans. Because if you're gonna have bad design, lean into that bad design in some of the worst possible ways. It hadn't even occurred to me until you just said this, but the biggest pain with giving that talk was swiping back and forth between the slides, And the demos that I had rigged in a series of docker containers that I would just show people from the terminal.

Duh! I could embed exactly that into slide dev now and not have to leave the app at all. That is absolutely something that would transform how you could do technical demos. It's honestly part of the reason I stopped doing a lot of technical demos, just because it's so hard to bobble back and forth between this is the, this is the presentation slide, now we're looking at this thing in the terminal, and people forget that in terminal, uh, when you have a dark theme, it looks great on a monitor, but crappy on a bunch of projectors.

I mean, you even have a simple toggle in the presenter display to go between light and dark mode, assuming the theme supports it. I mean, you thought of basically everything that I would want from a slide framework system. The hardest part, as you say, for me at least, is understanding how front end works.

CSS, as far as I can tell, is dark magic.

Anthony Fu: Yeah, I mean, CSS is hard, and even, I don't know, even for senior content developers, it's still magic, and you don't really expect What is the outcome is, and also it behaves differently on different processes. And also I think that's basically a good side effect of like creating Slider in that way.

It's like you kind of having a good separation of your content and your styling. And so you can apply a scene where it's the exactly same content, but because it's Markdown, so you, you, you move each elements and you can style each elements with CSS coming from the same or. You can also have JavaScript having some interactive components.

So the same content or same slides, which is the slide file, the slide. md markdown file, that you can change the scene from better, and it can directly change how it looks without changing any content of it. So that decouple from the content and the style, which is some of the slide users kind of enjoying that kind of features.

Corey Quinn: Yeah, the biggest challenge I've had with it is, I think, just captured in what you said a minute ago, where this is envisioned as being something that is aimed squarely at, uh, at front end developers, which I am very much not. So there's, there's a lot of things that are in, that are instinctively, I think, understood in the documentation when you talk about these things that I, without having any experience in front end myself, I'm, I struggle with and I feel like, am I missing something?

Is there a documentation issue here somewhere? I feel like I need to start sitting down with folks who know what's going on in this and then submit an absolutely massive pull request of the documentation to basically explain it to people who have never worked with some of these concepts before.

Because I can't shake the feeling that this is sitting, this is sitting on something transformative here. Easy example is that there's a You have the slides, you have a global top, and a global bottom option that get rendered in view when creating these things. Something I'm still not entirely clear on, because remember, I'm bad at CSS, is when you say top, are we talking along the Y axis, or are we talking the Z axis, as far as what is in front of the slides as an overlay and behind it?

Or are we talking literal top as in the highest point on the screen on your desk, and bottom being the thing next to your keyboard?

Anthony Fu: Yeah, I never thought about it that way. Yeah, it's a Z index, so top is Uh, above all your, all your content and buttons, uh, underneath all your content. And the, the, the thing, it can be useful in, in, in a few cases.

It's like, for example, like if you have a, if you want to have a, like a shared components, like a footer of like to showing the page that you can do it with a, with a top, for example, we also see that people doing crazy things. And I have a friend that he, uh, made a con connecting that his mind to. Uh, Local Deployed AI Whisper to transcribe, uh, speech to text and then display, uh, the subtitle at a route, at the real time, the caption with the, with the global top.

So it can show us, always shows us some components with the, the word that he was saying with that components and the components, uh, global. Top and global buttons, they are singleton. So, uh, when you change the slides, they still keep the same. They still keep it in the same position and you can share, uh, all the temporary data as all the states, uh, are shared.

So that's how it's supposed to do.

Corey Quinn: One of the challenges I ran into was that my existing theme that I've been using in Keynote for ages has something like 25 different slide templates in it. But a lot of them are simply the same layout with different, different color filters. In some cases, it's a different resolutions in some cases as well.

There's, there are different title slide options, there are different section breaks and the rest, but so many of these elements get reused that it feels like just doing a straight implementation of those things into, all right, time to build out uh, 25 different slide layouts is just an absurd way to think about it.

Incidentally, you are the only thing I have found in this entire space that really does layouts properly, which is, this is going to be a full screen image slide, maybe with some words over the top of it. This next one is going to be a list of, uh, some text on the left side and image on the right, or vice versa.

And it's, it has a framing already there in place, all you have to do is point at the right image file and you're off to the races. That idea of using AI for a live transcript of it is genius. There's a button you can click in this thing that automatically pops up, fires up your camera, and drops it into, by default, the lower right corner that you can just drag and drop and put anywhere on the screen.

So if you're doing this, presumably, for some sort of live stream type of event, just every time I look at this thing, I come away astounded, uh, first that it exists, and secondly, that this is an open source offering and not, you know, Not a paid product. I would, I keep expecting to stumble over the upsell opportunity and, and now, here's the, here's the commercial version of it, but I haven't seen it.

Anthony Fu: I really enjoy open source in a way, it's like, I want to work in open source full time. And that's how I did. I mean, my company is generous enough that they are an open source company, so my team, what I'm at is like I'm working full time in open source. And also I think that's To not make it as a product, a commercial product, actually, I don't know, uh, for myself is like, uh, I kind of save a lot of energy to kind of doing the management or like doing the stuff.

Of, uh, commercial stuff. Well, that's, I also make it more like a general available to everyone. And also everyone can benefit from it. And also I can benefit from anyone as well. It's like people will send PRs to fix or to improve any allows. And actually a lot of reasons, features are driven by the community, by the open source.

And, uh, you, if you say that's, uh, users that you will get these two for free, but I also get a contribution for free. And that's the amazing part of open source is that everybody's helping for everybody. And that's something that I really enjoy doing. And that's how Slightly would be as well.

Corey Quinn: I hear you. I come from the open source world myself, and I think we all stand on the shoulders of giants.

I am curious how you handle merging in feature requests that don't necessarily align with your vision of things. A recent version that is in the current beta, last I checked, unless there's been a release in the last ten minutes, because this I have to say, you are extremely prolific at putting new features and versions out.

There's a, there's a draggable component that took me a minute to understand what it was, but in slide design work, you can drop an object onto a slide. By default in some random position, you can then move it during the preparation of the event, and then just lock in its position going forward, which is amazing.

I have a template that always is a background full image that optionally has a speech bubble. Great, that I can wind up putting there with text overlaying the, uh, the rest of the image. But if it's always in the same place, it starts to get repetitive. So being able to move that around in different ways to predefine places, in some cases to, to, so it doesn't obscure the important part of the image, is something that is, that is incredibly handy.

But I also saw you commenting that, well, you don't, or I think it was you that commented, it may have been someone else, because there's a thriving community around this, that's, that's, that's The idea is that this is more about flow and being able to generate things on the go and not be incredibly overloaded on one particular theme or one particular, I guess, prescriptive implementation of the content.

How do you stand on it?

Anthony Fu: I think that, like, in a way that's making decisions, taking features or not, it's always about, like, trade off, I think. Like as a, as a maintainer, as a developer, you need to consider what's the benefit of a new feature and what's the cost of maintaining this. And if there is like introducing too much complexity, should it has a better way to kind of abstract it or like extract it as another library so we can use it.

And then for us, the complexity goes down because we shift the complexity to the libraries. And also there's another way to do that, you know, It can be obvious that you, you think this is a good idea and you could take it. But sometimes it's like, there's like a ambiguous, it's like this feature that seems good, but you don't use it.

Right. And you don't need it. Or it may not be a very good idea or may not be, uh, the cost of like having these features may not be general enough for everybody to use and probably only fix them specific case, which in a way it makes sense, but we couldn't. Fix everybody's specific case. So we need to find a more universal way.

So I'm thinking that's like doing software development, especially in open source, from my point of view, is that having a plugin API is really important, so it allows you to have a community that's built around it. And while that's having a different opinion to exist and different solutions to exist, and also, we also have some cases like when some features that we are not certain to merge it into the port.

The core project itself, and we encourage people to implement it in a plugin API. And we can improve that plugin API along the way to have more capability for them to do what they want. And also that's When they have a plugin, and then the plugin can be tried by, by, by the, by the community as well. And when the, the plugins or the solution that is mature enough by verified by the community to say, everybody agree this is a good idea and the implementation is good, the trade off is good.

And we can probably actually merging these plugins back to the core. So, and everybody can benefit. While that's, we don't, uh, we don't pay the cost of iterations or trying different ideas. And so because it's been done already by the plugin as a stand alone tool. So it's okay for plugin to introduce breaking change that will be easier to migrate.

And so eventually we're going to benefit the whole ecosystem as well. And also you kind of free yourself from maintaining all the possibility combinations or all the possibility tools for different scenarios. So, yeah, that's kind of what I'm seeing is having a plugin API and also take a balance of doing the trade off.

Corey Quinn: Tired of big black boxes when it comes to cloud security? I mean, I used to work at a big black rock and decided I was tired of having traditional jobs, so now I do this instead. But with Prowler, you're not just using a tool, you're joining a movement. A movement that stands for open, flexible, and transparent cloud security across AWS, Azure, GCP, and Kubernetes.

Prowler is your go to everything from compliance frameworks like CIS and NIST to real time incident response and hardening. It's security that scales with your needs. So if you're tired of opaque, complicated security solutions, it's time to try Prowler. No gatekeepers, just open security. Dive deeper at prowler.

com. One thing that I found interesting is that when I go Effectively, I've mentioned for a long time now that the only two programming languages that I really specialize in are Brute Force and Enthusiasm. It turns out that they can carry you surprisingly far, more far recently with the advent of a lot of the coding assistant work that's being done.

As an open source maintainer myself, I get free access to Copilot, but I pay for it in a heartbeat. And I recently got to kick the tires a bit on the new GitHub Workspace component, where it effectively will plan out how to make changes that you define in an issue. That is fascinating. It misses a lot of the nuance around some of the front end work I've noticed.

It doesn't seem to be fully aware of the local project's coding conventions. It tends to, Oh, I'm just going to implement the same thing 15 different times and ignore instructions. You know, like some of the worst developers I've ever worked with in person. Same type of approach. But it's, it's neat that it has given me enough of a direction and someone to talk to or something to talk to when I get completely stuck and out of my depth where, frankly, I'd be embarrassed to ask the question to a community of What is a view component exactly?

And how would I use one? Well, it Turns out the magic robot from the future will talk to me and explain it to me. And unlike Stack Overflow, it won't criticize me for having asked a question that's already been answered, or insult me in the answer for not knowing the correct way to ask it.

Anthony Fu: Yeah, that's, that's true.

Yeah, I think that's a very good way to Have people to learn stuff and also like to talk to, I don't know, to ask questions. I think that's something that's in open source is like we have, as a maintainer, we have, we have limited energy to answer all the questions while that's the boat can solve the problems.

And yeah, I think that's something, I think, I think for us is like, I'm, I'm using copilots quite a lot. And I actually kind of learned a, I don't know, maybe a bad habit to try to type something and wait for it. And wait, wait for a few seconds to compile it to complete. And sometimes it does, sometimes it doesn't.

So I waste a few seconds just sitting there. And that's a, I don't know, that's an interesting thing.

Corey Quinn: One of the things that really surprised me when I started using Copilot for this sort of thing is when I'm, now instead of using my, my traditional, um, app that I write things in Markdown as a general rule, I've been using Draft and trying out Obsidian these days, but now that I'm using VS Code to write conference talks, it starts trying to, effectively tab complete some of my conference points that I'm making in the talk, which is funny because I'll, I'll periodically be casting shade at Cisco, for example, and it'll come out.

I said once, well, there's a reason that Cisco, and it spun for a second, spot out, uh, there's a Webex rather, uh, sorry, how did I frame this? I said the There's a reason that Zoom, and it tab completed, became a verb during the pandemic, and WebEx did not. Because Cisco is a sad corporate dinosaur that has no friends and has absolutely no idea what it's doing.

It's like, that is exactly the tone of the other stuff I've put in this talk. This is perfect! The challenge, of course, is it also gets repetitive and isn't, for whatever reason, trained on being a A polished script writer for a public talk. For some reason, that doesn't seem to be the GitHub's uh, training algorithm's approach to building a coding assistant.

But it is fun. It's terrific at some of the boilerplate. It's great at, in many cases, intuitively figuring out what goes where. Now I'm, I'm tempted once I get the, my theme stuff beaten together to effectively write a slide dev markdown processing tool, maybe in Python or something else, where I can start passing specific things to it, and it will then, for example, oh, you're calling an image here that is hosted remotely somewhere.

I don't trust other people's computers to be working during a talk, and I can't ever trust the internet. So great, it's going to go through, grab that image, store it locally, and then rewrite the path to be the appropriate place. For all I know, that's already a plugin someone has developed. I just haven't gone deep enough into that piece of it yet.

Anthony Fu: Yeah, that's totally doable. Yes. And that's also like, I think Copilot is working, you know, it's hard to imagine that, for example, like Copilot or like really similar stuff doesn't work, you know, Keynote or, you know, PowerPoint yet, right? And they probably got trying to introduce a lot of things, but still, that's, um, it's quite limited.

And also maybe only textbooks. But for SlideDev, it's like, because everything is in markdown, so, and also in one markdown. Copilot sometimes can provide suggestions based on the content you have, but because it's a plain text, so it's possible for Copilot to also suggest you to provide suggestions to having, like, some links or some, like, element styles that you could, you couldn't really have in, in a traditional way.

That's also quite interesting for me. And while that's, uh, I actually use a lot for Copilot, I can, I think I can select one paragraph and I can, there's like a, in VS Code, there's a, you can right click and there's a ask Copilot button. And then you can type a prompt to say, improve my sentence or correct my grammars.

And it can replace that sentence and with the, with its suggestions, and you can kind of review it and to Uh, make some modification that's within your editor, within whenever you save it, it will automatically reflect to your slides, which is saving a lot of time if you go back to from your, from your tools and copy to paste and to the, to ChargeBT and going back.

And that's actually a very good workflow. That's, I, I wouldn't imagine this initially. That's, that's not my goal, but it's a good side effect.

Corey Quinn: One of the things that I find that the coding assistants don't tend to get quite right yet is context beyond what you've just highlighted when you ask it the question.

In many cases with slide dev, for example, it will be grabbing a custom layout in the theme that I'm currently working on that in turn overrides the default behavior in the in the in the base layout that is in the slide dev included npm package which is buried in node modules but with but it just sits there and theorize what might be in those things.

It's like Listen computer, it's on disk. It's right here. Why don't you go check? Isn't that the thing computers are supposed to be really good at? It lacks the project conventions and context at times. Other times I see things like Google's Gemini or Duet stuff do it reasonably well. So I get the sense this is very much a temporary problem that a year or two from now will sound like an ancient issue that no one thinks about anymore.

Anthony Fu: Yeah, I think, I think that that should be the case. He said it should be temporary and over time you will get improved and it should be able to know more context about your project. I'm pretty looking forward to that.

Corey Quinn: One last topic I want to get into before we wind up calling it an episode. What I found fascinating is that you have, on the SlideDev page, a Sponsor This Project banner and a bunch of people sponsoring it.

What's interesting to me about that is not that, hey, if you like this thing, give money. Great. Yes, I understand that part of it very well. But the fact that you don't keep any of it yourself. You pass it onward to your dependencies, I believe, via OpenCollective. Tell me about that.

Anthony Fu: And so, um, that, that's, uh, this is some initiative that I'm trying to do recently, since very recently.

And the case is like, for example, you know, Sli. div. Sli. div has a domain and nice logos, documentations, and everything is integrated. But I didn't build it on my own, and we didn't build it of our own. I learned a lot of help from the open source community, people helping, sending PRs. And improving features.

And also the project itself is depending on how a lot of dependencies and we use libraries to parse markdowns and we use view, uh, to render the scenes and we use CSS framework and we use a lot of things and we use icons from some designers as well. When we're talking about sliding, we're talking as a whole, but to say if, even if.

You sponsor SlideDev, right? Or if you, if SlideDev had ever had a paid feature, you pay for SlideDev for the features. We are not the people that should take all the credit because we are standing on the shoulders of the giant. And so there's a whole a lot like hidden trees, dependency trees behind the scene, may not having like a front facing name or front facing logo, something that you might be aware of it.

So What I'm trying to see is like, uh, we as a, we as a front end, um, I mean, front facing tools and end users tools. That's, uh, taking some sponsorship and people thanks for our work. And actually we shouldn't take all the monies for ourselves, but also we should help for the dependencies, those kind of hidden, but still very important, very crucial dependencies, to help them to be sustainable in the long term.

So I started this, uh, uh, collective, an open collective, that's, uh, we collect the monies. And we would do like every, every month we will forward all our funded, uh, all our fund to all dependencies selectively. And we will, we will do the research for you and we will see which dependencies that need more fund.

And we will distribute them every month to make sure that if you're enjoying the work we do, like Slidov or any other projects I'm maintaining yet. And if you're enjoying that and you sponsor this organization, we'll distribute and we'll make sure that our dependency can still keep sustainable. So as the, the front facing the, the, the top level, the most top level tools that you are benefit from.

So yeah, I have a blog post, uh, explaining more about these situations and how and why we are trying to solve it. I'm glad you mentioned it. No,

Corey Quinn: we'll definitely throw a link to that in the show notes. Is the best place to sponsor through the GitHub sponsor function? Is it through OpenCollective itself?

I'm a little behind the times on sponsoring open source stuff, which by the time this airs, rest assured, I will be a sponsor of SlideDev.

Anthony Fu: Yeah, thank you. And so, uh, it'll be the best to directly sponsor OpenCollective and So the case is like, so Open Collective is actually for us is a workaround or it's a platform.

Uh, but I mean, the initiative is a universal, so we just trying to do it universally. We do it, but Open Collective, the benefit of Open Collective is like when you forwarding this, the fund you have to another organization is fee free because it's in the same, uh, And in GitHub, sponsors is a little bit tricky because it goes to your bank account and then you pay with your own credit card.

So there's a some like a round trip going on. So in a way, I think that OpenCollective's models fits more for our method of doing the sponsorship. I call it sponsorship forwarding. It's like we take sponsorship way forward to the dependency. So this way is like, uh, it's also like OpenCollective be very transparent and you can see.

How much money and where it goes. So yeah, definitely, uh, check it out and thank you.

Corey Quinn: Excellent. You can expect also to, uh, this is the kind of donation you probably don't want. Specifically, you can expect pull requests inbounding from me in the somewhat near future on just some of the documentation stuff.

One thing I've found, for better or worse, is I am very often the dumbest person in any given room, but that's not a global truth. I'm never the only dumb person who doesn't understand something. So when I, when I encounter a bug that I have to work through, it's rare that I'm the only person that, that has that experience.

So I'm very interested in seeing what I can do. As far as making some of this, some of this stuff a little bit more approachable to folks without a front end background. And it may very well be that this is in no way, shape, or form your target user audience. Man, I'm glad this exists and I want it to continue to exist.

Anthony Fu: Yeah, It's not dumb at all, but I mean, yeah, I think it's my fault. It's like, I didn't expect, but yeah, thank you. I think that would be very helpful for people from the other background. I think I'm probably very biased in a way. When we're talking about, like, when we're trying to explain something, I already have the context that I'm aware of these things happening, but I don't always know that's when the listener have their context, or maybe this can be too detailed, or maybe this can be too advanced, which there's like too much pre requirements happening, and I sometimes would ignore them.

So that's definitely helpful. So thank you, and thank you for willing to do it.

Corey Quinn: Of course, it's easy to say someone should fix this. Well, be the change you want to see. I am thrilled to throw something foolish into a pull request. If I'm wrong, which happens a lot, someone at least has something to talk about, rather than the, at least the curse of every author I've ever spoken to, of just the empty page with nothing on it yet.

So, telling a story, even if it's not quite the right one, you can refine later. World to do it and looking forward to it. I, I really wanna thank you for not just building the product, but also taking the time to speak with me about it. If people wanna learn more, where's the best place for them to find you?

Anthony Fu: My website is A-N-T-F-U, uh, which the, the short initial of my a NT, Anthony and FU is my, my Sur And then n Tfu Dome, which is my website. And you can also find me on Twitter, it's T seven and GitHub is tf. Yeah, so that's basically my id.

Corey Quinn: Excellent. And we will, of course, put links to that in the show notes.

Thank you so much for your time. I appreciate it. Yeah, thank you. Anthony Fu, framework developer at Nuxt Labs and creator of the SlideDev framework, as well as several other things. I'm cloud economist Corey Quinn, and this is Screaming in the Cloud. If you enjoyed this podcast, please leave a 5 star review on your podcast platform of choice.

Whereas if you hated this podcast, please leave a 5 star review on your podcast platform of choice, along with an angry, insulting comment telling me why I'm terrible, presumably in an 80 slide PowerPoint presentation.