The Changelog: Software Development, Open Source - OSCON 2019 anthology (Interview)

Episode Date: August 23, 2019

We're on the expo hall floor of OSCON 2019 talking with Eric Holscher, Ali Spittel, and Hong Phuc Dang. First up, we talk to Eric about his work at Write the Docs, ethical advertising, and the Pac-Man... rule at conferences. Second, we talk with Ali about her passion for teaching developers, her passion for writing, and her new found love for podcasting. Last, we talk with Hong about her work at FOSSASIA, the disconnect between America and Asia in open source, and several of the cool open source projects they have on GitHub.

Transcript
Discussion (0)
Starting point is 00:00:00 Bandwidth for ChangeLog is provided by Fastly. Learn more at Fastly.com. We move fast and fix things here at ChangeLog because of Rollbar. Check them out at Rollbar.com. And we're hosted on Linode cloud servers. Head to Linode.com slash ChangeLog. This episode is brought to you by Linode, our cloud server of choice. It is so easy to get started with Linode. Servers start at just five bucks a month. We host ChangeLog on Linode cloud servers and we love it. We get great 24-7 support. Zeus-like powers with native SSDs.
Starting point is 00:00:31 A super fast 40 gigabit per second network and incredibly fast CPUs for processing. And we trust Linode because they keep it fast. They keep it simple. Check them out at linnda.com slash changelog. Welcome back, everyone. This is the ChangeLog, a podcast featuring the hackers, the leaders, and the innovators of software development. I'm Adam Stachowiak, Editor-in-Chief here at ChangeLog. Today, Jared and I are on the Expo Hall floor at OSCON 2019 talking with Eric Holscher, Allie Spittel, and Hong Fook Dang. First up, we talk with Eric about his work at Write the Docs, ethical advertising and their business model, and the Pac-Man role he uses at conferences. Second, we talk with Allie about her passion for teaching developers, her passion for writing, and her newfound love for podcasting.
Starting point is 00:01:21 And last, we talk with Hong about her work at Fawz Asia, the disconnect between America and Asia in open source, and several of the cool open source projects they have on GitHub. And of course, special thanks to our friends at O'Reilly Media and OzCon for making this trip to Portland possible. You got anything new and exciting you want to talk about? You got anything on your mind? I mean, we were just talking about open source, sustainability, governance. I mean, you know, the RFC conversation continuing.
Starting point is 00:01:52 It continues. Okay. Yeah, and similarly, I feel like governance is just like a fractal thing that is always like my own community is struggling with it. The Python community is struggling with it. The open source community is struggling with it. The Python community is struggling with it. The open source community is struggling with it. We just had Brett Cannon on back in June. Yeah.
Starting point is 00:02:10 That was a good episode. We just had Adam, right? We had Adam on last week. We were in a hole, just the open source hole. And it's like, yeah, there's a lot there. Yeah, there sure is. So as you mentioned, we met back at Sustain a couple years ago. You've been doing read the docs, write the docs, PSF, lots of stuff in the Python community for years,
Starting point is 00:02:31 tackling these problems and really leading the way with the whole ethical advertising. Ethical advertising, pardon my French. Yeah. Curious what your current thoughts are in the state of the open source world with regard to these things. Yeah, yeah, I don't know. The conversation we were just having, which I guess is a continuation of the one last week with Adam, is just kind of that governance question, right, where open source basically doesn't have an institution. Right.
Starting point is 00:03:00 And we were kind of relating that to how, you know how Guido was that for a long time in the Python community within the Rite of Docs community I'm currently wearing that hat and trying to transition slightly away from wearing that hat not that I'm similar to Guido you're not sending an email that says
Starting point is 00:03:16 no, no, I don't want to it's not that I don't want to be involved but I think that BDFLs aren't necessarily the healthiest possible of all outcomes they're certainly a bus factor if nothing else, right? Yes, for sure. Absolutely. And just kind of giving people that path to power, leadership, whatever you want to call it, in an organization
Starting point is 00:03:33 is how you get good people involved, right? It's really interesting in the Python community that we have Guido to kind of guide us through that transition. I think we're quite lucky. I've been taking a lot of inspiration from him. Carol was there, who's on the steering council for Python. OSCON's cool for that. There's a lot of folks around.
Starting point is 00:03:55 But, you know, and thinking about open source as a whole, right? Like, who is the, or what is the institution that can really lead us through the transition of becoming the default software development stack in the world, the introductions of all these Fortune 5 companies. It's a big challenge, and there's a lot there, and it's interesting. We were just over at the Indeed booth getting some coffee, as you do. And we were talking with Dwayne over there.
Starting point is 00:04:29 Dwayne O'Brien. Yes, and I mentioned to him how strange it is the breadth of people that we speak to on the show now compared to what we did five, ten years ago. Where it's people where I clone their Git repo to find their email address out of their commits and I email them. We still do that today. We do that. All the way up to... It's a hidden secret of Git.
Starting point is 00:04:52 Yep. VPs at large corporations that we have to deal with PR and it's very corporate and official. And we're covering this much broader demographic, really, than we were before. And because that's really the community has broadened quite a bit. Yeah, it's an interesting thing where one of the things I have meant to write a blog post about forever, but never did, as you do blog posts, that's why you go on podcasts, right? It's because you don't have to write anything. That's right.
Starting point is 00:05:21 It's a lot easier. Right. But basically, right, everyone means something different when they talk about open source. And so we have the open source definition, but everyone kind of has their own vision
Starting point is 00:05:33 of what open source should be. They have their own set of priorities. They have their own economic incentives, whether personal or, you know, corporate or whatever. Right.
Starting point is 00:05:41 How do we navigate that kind of, like we're all looking at this term and we want it to mean what we want it to mean. And how do we, how do we navigate that kind of, like, we're all looking at this term and we want it to mean what we want it to mean. And with Read the Docs, we actually have a page in our documentation that's like, yes, we are open source. Yes, our license gives you these legal freedoms. But just because, I mean, the big one for us is, yes, you can install this at your company, but our priority is to support our hosted open source version for the community. And the core developers of Read the Docs generally are
Starting point is 00:06:11 going to work on that first. And if we have time, we might help you with your local install. You're completely legally able to install it. We're not saying you can't do that, but we are saying we have a set of priorities as an organization, as a human, and that's how we're going to direct our time. And so don't feel bad. Before you install this, you should probably know that we're not going to support you doing that because we have other shit to do. Exactly. And every organization has their version of that, whether it's written on their website or not, right? There's a set of priorities and the vision that they have about why they open sourced it.
Starting point is 00:06:49 And those different freedoms or legal rights that we give away have different resonance with different people. And it's just so fascinating to me. Let me say one of the reasons why I think that's really great that you do that right there on Read the Docs is because a lot of what we've heard over the years in terms of open source failure stories,
Starting point is 00:07:12 whether it's burnout on one side or manipulation, whatever it is, it's really mostly a story of mismatched expectations. How do you know I was going to say that? I know you, man. I know you. Easy for me to say.
Starting point is 00:07:29 And when you explicitly state, like, this is where we stand, right there to be read and seen by all who are going to use this, what are you doing? You're setting expectations, and so it's a lot harder to have that mismatch, and it seems like you can avoid a lot of troubles that way. Yeah, and I think the hardest thing is understanding what your actual, like, the hardest thing to figure out is what you care about. Yeah, exactly.
Starting point is 00:07:52 Right, and the fact that we're able to do that and kind of put something on paper means we have internal cohesion, right? And, you know, it's like five people. Like, luckily, the five of us could, you know, it's like five people. Like, luckily, the five of us could, like, agree on something. And then you scale it up to, you know, the Python community. That would be a much harder thing to do, right? It's like, how do we get together and say,
Starting point is 00:08:19 this is, as a community, what we care about? Because we're not all going to agree on that set of priorities. And the PSF, luckily, we have an institution that could help manage that. And I'm not saying that Python should even have a document like that. I mean, we are a much more broad organization, of course. But we at least have the institution to kind of shepherd the community through that process to really help be the authority that people would hopefully respect the decision if we had to make one. You know, Guido being the classic example in the code side of things. But then you look a step higher beyond Python or open source, and you're like, who is that? What is that? How do we all agree?
Starting point is 00:08:59 And there were some great keynotes this morning from the Chef folks, Adam and Viem. I'm going to mangle her last name. But just about that, like being more inclusive and open source, but then also how do we move the definition forward? Right. What's the answer right now? What's the answer to that question right now? We have no idea.
Starting point is 00:09:23 That's a conversation we have to have. Yeah. Is it like OSI doing that? Because we've heard from them as well. They have the open source definition. Is that where I got in trouble for calling the police? Yeah, okay. I'm being reminded now. I was basically trying to give an analogy of them being the police of the term and verbiage around open source.
Starting point is 00:09:44 Not that it's owned by them, but to enforce it on the community's behalf on what open source is or isn't. They have the best, they have the current authority, at least the most in the community about, here's a thing that somebody wrote down that defines this term. Right, is this or is this not according to these terms that are written down. Exactly, and yeah, but open source is so much larger now. It's so much more than a license. It's a process.
Starting point is 00:10:06 It's I think a lot of what people talk about around, you know, RFC touched on this a lot, right? Your engagement with the community, your willingness to have contribution. People feel really strongly about that part of it, right? Like that's really, but now I feel like I'm trying to, you know, say what Adam has said more poorly. I saw he was on your podcast last week, but I didn't get to listen to it yet. That was definitely a good one to check out.
Starting point is 00:10:35 I'm sure it's good stuff. It's better as a prequel to the keynote, though. It's better as a prequel to the keynote, in my opinion. I would imagine, yeah. I have a biased opinion, of course. He only had 15 minutes on stage, though. If you want the background. He got a full hour with us. More than that. About would imagine, yeah. I have a biased opinion, of course. He only had 15 minutes on stage, though. Yeah, right. If you went in the background. He got a full hour with us.
Starting point is 00:10:48 More than that. About 75 minutes. Yeah, I think that's definitely where you'll get a little. He's definitely put a lot of thought into it lately. But yeah, I mean, for us, kind of as you touched on the ethical advertising approach was kind of our trade-off around sustainability as well, right?
Starting point is 00:11:04 Where how do we maintain the values that we have as an organization, but then also make money, you know, and navigating that and having like a strong worldview allowed us to hopefully get to something that's really a positive outcome and an example for the community. But that's not, it's not a trivial solution, right? We are leaving money on the table to build the business that we want to build. And that is a set of incentives that some people will not agree to. Can you rewind maybe a half click and give sort of the context for those that are uninitiated to write the docs, read the docs, and sort of the ethical advertising and the business
Starting point is 00:11:42 model there? Yeah. So Read the Docs is a documentation hosting platform that started around 2010. And for a long time, I was one of the kind of core contributors and co-founders, and it just kind of kept growing to millions of page views a month. But we didn't have any revenue, right? It was an open source project. We had like Rackspace or Mozilla or someone was giving us free hosting.
Starting point is 00:12:02 Like it was very bootstrapped. And over time, it really started to kind of burn me out. And I've talked about that a little bit in other avenues. Just wearing a pager. I will say wearing a pager for free for a website, like, on the weekend. Right. Like, I can't go camping because I'm wearing a pager for my side project that I don't get paid for. It's like, it's a pretty hard thing.
Starting point is 00:12:21 And that burns you out real quick. I bet. And so, yeah, we really had to solve this problem of we're effectively a documentation publishing platform. Right. Advertising is the way that you make money in publishing, you know. But we didn't want to do what a lot of the Internet has done, which is this kind of tracking-based thing where it's like, we'll put a cookie on your browser, and then we'll retarget you, and then when you go to our site, we'll put it on the Google network, and then they'll track you around the internet and show you ads.
Starting point is 00:12:45 And we can pay less money because the website you're on is cheaper than the amount of money that we give you for the retargeting. And it's a really big arbitrage thing. It actually works out the worst for the publishers. Like the advertiser gets more value. The publishers get less money. So it's not great. But anyway, it's the biggest thing. So you want to do something like that but in a more ethical way.
Starting point is 00:13:05 Right, right. The biggest thing there So you want to do something like that, but in a more ethical way. Right, right. The biggest thing there is the respect to the user, right? Like there's so much happening there without any consent. And really, we wanted to build something that would allow us to build a business that allowed us to continue to respect ourselves, like allowing me to sleep at night, but also then respecting the users. And similarly, respecting the people that are hosting documentation with us, right? Like, it's this three-party system where we really want everyone to feel like they're not being taken advantage of. And I feel like so much of online advertising feels a little creepy or icky,
Starting point is 00:13:36 and that's really what we wanted to avoid. And so basically, the way that I talk about it is we built newspaper advertising for the internet. Like, we know your approximate geo, right? So we know your country. So we have, like, a little bit of data the internet. Like we know your approximate geo, right? So we know your country. So we have like a little bit of data about you and we know your section, like the section of the newspaper you're reading, right? Basically we know you're like on some Python documentation. So basically we can target based on content well enough that we don't have to care about who you are as a person, right? If you're in like, you know, the UK and you're reading like a Python ORM documentation page, like we can target you with like a Mongo ad or whatever, right?
Starting point is 00:14:09 Like, we don't need to know who you are. Right. And we're able to build a business that we feel like is still, you know, positive and an example for folks in the ecosystem. Yeah. You know, we really, I mean, you look at Stack Overflow. There was a thing the other day. I'm like, why is my Stack Overflow page playing music? Right? Stack Overflow, this tool for developers that should know better, they definitely know better, is running arbitrary JavaScript from an
Starting point is 00:14:33 ad network on the page. And we're like, if the developers as open source platform owners, if we can't do advertising, right? If we're not respecting our users, then who on earth can we depend on right if we if we can't show the model then no one else is going to and that was really our our motivation was like we know the problems we understand the like weird stuff that's going on with like javascript running in arbitrary browsers and like if we don't stand against that then who's going to you know yeah right did you become an ad network then, basically? Do you have a sales team? Is that your primary
Starting point is 00:15:08 source of revenue? What is that model for you? It is definitely the majority of our revenue. We also have a paid hosted product, so you can do readthedocs.com. Similar to Travis CI, .org is free,.com is paid. Private repos on.com, open source on.org.
Starting point is 00:15:24 .org makes money on ads,.com makes open source on.org. So.org makes money on ads. .com makes money on subscriptions, basically. But advertising, just given the scale, it's the majority of our revenue. What's that breakout, like 80-20? It used to be like 90-10, and I think we're actually getting down closer to like 60-40. So the money from the advertising is really letting us
Starting point is 00:15:46 invest in the product and making the subscription revenue. It's kind of bootstrapping that side of the business, really. I love those ideas of offsetting. I think there's a spot for promotion and advertising, so to speak, in the publishing world. And I think that's a good spot. I think not having it as your primary source of revenue is probably pretty smart. But I like the idea of offsetting, you know, and even letting the audience know like, hey, if you subscribe or you commit in these ways and, you know, either, I wouldn't say donation, but like some sort of thing that gives them value, some sort of value-based transaction to offset our need for and reliance upon ad supported. Totally. Yeah. And we let people opt out of advertising
Starting point is 00:16:26 if they've contributed code or if you're a library that we're using in our stuff, obviously we'll just be like, yeah, sure. We just won't put ads on it. The other thing is we let people opt out of paid advertising. So this is a kind of a cool program that we call community ads. So any of our projects can say,
Starting point is 00:16:43 we don't want paid advertising. And so instead what we'll do is we'll actually show ads for community projects. So a lot of, you know, conferences that don't have a marketing budget, a lot of that kind of stuff. Yeah. And so we're able to kind of, if just like, if you don't believe in like the consumerism, at least let us promote, you know, like a PyCon or whatever, or, you know, I like that idea a lot. It's actually really good. And we do that a lot for the regional conferences, especially like PyCon Africa or PyCon or whatever. I like that idea a lot. It's actually really good. We do that a lot for the regional conferences, especially like PyCon Africa or PyCon Latin America. They have the advertising money in that part of the world is not as good generally.
Starting point is 00:17:13 Right. And they're not as well known. They're first year, second year conferences. And we're really able to kind of help the community through that program, which I think is super powerful. Is the opt-out only if there's some sort of exchange or is it open to anyone? It's on the little admin dashboard for the project. We do a small guilt trip.
Starting point is 00:17:34 Are you sure you want to do this because of these reasons and listen to this podcast and the changelog because I talked about it at length. To turn ads off all the way with no community ads or anything, you have to email us. But to turn off paid ads is totally... It's project by project. Yep. Gotcha. I like the idea of the community stuff a lot. Honestly, it's really cool. That to me, because like we love to help out the community and that would give us an opportunity, us personally, the way we do our ad flows in our newsfeed and newsletter and stuff that if you were the person
Starting point is 00:18:06 that said i don't want to be i don't want to have paid ads on it more community ads that'd be super cool right and you i mean you have a reach similarly with the podcast i don't know like the ad tech around podcasting is pretty minimal but like you know the the ip of people when they're downloading it and you could totally just be like hey you're you're downloading it from a country that people aren't buying advertising let's advertise a community project. Let's advertise another podcast. I mean, I'm sure you do this already with house ads and other podcast stuff you do. We don't have dynamic ad insertion.
Starting point is 00:18:33 Oh, nice. No. No, we don't. It's static ad insertion, meaning it's done once. Okay, nice. Every show is once and done kind of thing. It's an artifact that almost never changes. It exists in the world.
Starting point is 00:18:44 Yeah. It's an artifact that almost never changes. It exists in the world. It's just we haven't really found the... This is probably going too much inside our baseball, but we just really haven't found a reason to go dynamic ad insertion. Now, I have heard good things about it. Yeah, yeah. There's certainly trade-offs. Right. I'm not sold on the whole thing.
Starting point is 00:19:01 That wasn't a priority for us yet. It might be in the future, but right now it's not. And I think it's really about taking the model that works and finding ways that you can use it to give back, right? And that's really, for us, we found that people really cared about the geography, whereas for you all, I'm sure, yeah, it's a different type of advertising. It's a whole different thing. It is.
Starting point is 00:19:20 It's less on like, man too it's going too far it's but i mean i think the big i think the big thing is trying to make sure that whatever you're doing if there's a way that you can kind of make your users happy and give the community back something let me definitely say that because for us you know our entire model is listener first yeah right like if our listeners don't like what we're doing then we're not going to do it i don't care if we make money doing it because if you a listener listen to this right now and you're pissed because you're listening to it, that's probably not a good sign of us doing our job well. We're not fulfilling our goals. Right.
Starting point is 00:19:53 If you're unhappy, you know, generally, let's say that generally, you know, obviously we take criticism. But, you know, if you're unhappy because we have a lowly relevant advertiser or sponsor partner that we're working with, then, you know, we want to make sure that we're tying in. We want to promote brands that developers should know and trust. Well, and that's, you're tying yourself, you know, like, we definitely view advertising as a powerful tool and the people we work with, we're not, you know, advertising some random ICO or whatever, you know, like we have some high standards. There's ethics involved.
Starting point is 00:20:25 It's right there in the name. Ethical advertising. You've heard it here first. Or second or third. I really like the work the Code Fund folks are doing. They kind of took that and run with it and built a little bit of a network out of it. We're similarly thinking about doing the network as well. I think the more people doing it, the better.
Starting point is 00:20:42 The more non-creepy advertising we have on the internet. You know, any market share we can take from Facebook or Google and give to open source is like a win in my book. We got a long way to go. The ad kings, man, they rule it. I mean, the majority, I mean, the majority of the audience buying any ads is Facebook or Google. Yeah. So, I mean, I think anyone giving y'all money, anyone giving me money, anyone giving anyone in this room, you know, that's doing open source money is much better for the ecosystem. You know, we need money in here somehow. Let's talk about this one idea that I actually practiced last night.
Starting point is 00:21:18 And I think you call it the Pac-Man effect or something like that. The Pac-Man rule. Pac-Man rule when you're at a conference. So, I actually read that, I think, a couple years back. Did you read about that? I've never heard of this. Okay, so first time here, though, I'll let Eric explain it better. But basically, when you're at a conference.
Starting point is 00:21:34 If you're going to explain it bad, then he's going to explain it better. Eric, you explain it. Eric, explain it, please. The idea is that when you're standing in a group of people, always leave room for one person to join you. It's just like a little baby step you can take towards inclusivity. But to think about it and kind of as a memorable rule, it's stand like the shape of a Pac-Man.
Starting point is 00:21:50 So it's very visual, but you're like, you know, Pac-Man has his mouth or its mouth and it's always a little bit open. And so that's the room for someone to join your group. And when someone joins your group, you know, reshuffle to leave a little space. And it really kind of, it reduces like the clickiness of walking into a room and being like, I can't join any of the groups.
Starting point is 00:22:10 I feel like, like it's just, so the backstory here is basically, it's like we want to say we're a welcoming event. This was in Write the Docs. Where am I Write the Docs hat? And we say we're an incredibly welcoming event. But it's like, what does that, what does that mean? How do you be welcoming? Like how do I take the idea of welcoming welcoming and execute it in person at an event?
Starting point is 00:22:30 What are the explicit steps? And we really looked for some rules to try and make it explicit for people to be like, this is what a tiny little bit of welcoming kind of thing, it makes it a little better. And here's a little bit of a nudge in that direction. And so that was one of the ideas, and it's really kind of exploded. I wrote a blog post about it maybe three or four years ago, and now it's at PyCon.
Starting point is 00:22:54 I see tweets about it from Australia and Europe, and it's really kind of grown as this... The Pac-Man effect? The Pac-Man rule. I think it's a rule, but the effect now that is spread is the Pac-Man effect. So we started as a rule, but the effect now that has spread is the Pac-Man effect. It started as a rule, but now it's an effect. Now it is an effect.
Starting point is 00:23:08 I liked it a lot. It impressed me, and I've been doing it ever since then. Because I've been there. I've been the person that's tried to. Everybody has. How do I fit into this little circle? Well, I can't. There's nowhere to stand.
Starting point is 00:23:19 And if there's always an opening, and the group sort of obliges this known social cue, I think that's cool. Reformulates. It's kind of the substrate of career growth and networking. I've gained so much from going to conferences and meeting people, and that's been a huge part of my professional life and how I've been able to do what I've been able to do. And at Write the Docs, we really explicitly tell people, you're here to meet
Starting point is 00:23:45 people. Because I do think it's a two-step dance, right? The Pac-Man rule is the implementation, but you also have to give people explicit permission. And so this first was really hit me at a conference called XOXO, which is also here in Portland. It's kind of a media and arts kind of independent. I don't quite know how to describe it, but they were like, we are all here in the same room to meet each other and talk to each other. And there might be people that you're impressed by or scared to meet or whatever, but like literally your job here is to meet everyone else in the room. And I really took that as the courage. It gave me the courage to join a group
Starting point is 00:24:18 of people when I might not have. And I try to give people that same permission in my events where I'm like, you are in this room because you are, you are meant to talk to anyone else in this room. And while you're here, break out of your introvert shell and just know that is your job. And that no one is going to turn you away. And then you take the Pac-Man rule and that's how you actually implement that in space. So it gives people a little bit more nerve to know they can join that group if they see people standing that way. It's kind of a social cue that people are going to welcome you. It's an unspoken invitation, really. I mean, it's a visual
Starting point is 00:24:52 cue. It's an unspoken invitation. And I think if you see this spot there, you naturally fill it. And then you make your own space. You sort of nudge them over and, you know, make some more room for the next person. Yeah. I think it's caught on so much cause it's kind of a silly little thing, but I actually think it's a little bit more profound in practice. I agree as well. When I read it, I was like, wow, that's genius. So being the genius who came up with this idea, what are your thoughts on that? So you've influenced a massive amount of people to be more inviting to others.
Starting point is 00:25:24 And so that's, that's got to to have a ripple effect that you personally, having been the person to put that idea out there, have been a key player of. How do you feel about that? Terrible. Yeah, no, it's amazing. I mean, I think we need more of it, to be honest. I look for more things like that. Because I want, I really think it's,
Starting point is 00:25:50 wow, there's a lot of ways to answer this question. So I will give you the medium length version. But I view different conferences and different open source communities as little experimentation labs, similar to states in the United States are all little kind of experiments in democracy or whatever. And the good ideas come out of one spread to the other ones. And I think that's super important. That's why you have to write about it. Um, but I'm, I'm actually, the fact that it has been so widely adopted shows that there is a need for more of it. And so I actually, instead of, I'm excited about it. Every time I see it, I get a little bit of pride and excitement that those spaces are
Starting point is 00:26:25 presumably be getting more inviting but like it also shows me that there's a need for more of this yeah because there should probably be some other ideas too that are you know it's not this is not the only one have you considered um buying pacman rule.com and having a a video of you explaining the rule and then sort of a montage of you explaining the rule. And then sort of a montage of interviews of other people who've been affected by this rule and have now gained careers in community and belonging that was never there for them before.
Starting point is 00:26:54 This is why I'm not in marketing. That sounds like a whole lot of production I don't know how to do. That sounds like a lot of work and then the people who own the trademark for Pac-Man will come and shut you down. I actually think they'd love it. But no, actually someone on Twitter made a video that I then put in my blog post that kind of animates the, it has like little, little smiley faces. And then when the, when the circles close, there's like a frowny face. And so no, someone
Starting point is 00:27:19 has been doing a little bit more marketing and it's got like 2000 retweets or something. And so, so there's definitely a little bit more kind and it's got like 2,000 retweets or something. So there's definitely a little bit more media promotion going on around it. I could just see you being on Good Morning America or something like that or the Today Show. Eric Holscher, maker and creator of the Pac-Man effect. No one cares about
Starting point is 00:27:37 documentation for this Pac-Man thing. Yeah, exactly. This guy's got legs. It's your Trojan horse. When you get on there, you start talking about docs. Yeah, that's right. The importance of staining open source and the PSL. Whatever starts the conversation. It's the bait and switch. That's right.
Starting point is 00:27:52 You know what you've got to do, though? Honestly, you have to play to your strengths. And sometimes you have to drive the fastest car to get around the track, right? To win. So what's your fastest car? Pac-Man. Pac-Man. Yeah.
Starting point is 00:28:03 There we go. Well, let me real quick add my amen to something you touched upon when you were giving your medium answer is that you have to write it down. I've been one of a handful of organizers of a local JavaScript conference for the last few years. And we're always looking for new experiments, new ideas. And in our team Slack, people are always pasting it in like this conference did this thing. And somebody our team Slack, people are always pasting it in like, this conference did this thing. And somebody wrote about it, whether it's the organizer themselves saying this worked or did not work. Or it's somebody who attended the event and says, this was an amazing little touch,
Starting point is 00:28:34 or I felt welcomed because X, Y, or Z. Well, then those people who are interested in doing good events, they're looking for those kinds of things. Totally. And people are attending events. So if you don't write it down or you don't talk about it... Write the docs, man. Yeah, you got it. Did it happen? You got it. No docs?
Starting point is 00:28:52 I'll do plugs for a few things from ideas that we stole from other people that are awesome conference things. One is we call the welcome wagon, which is a group of people who are longtime attendees. Think of them as mentors or something. And we have a few different events on the schedule where it's like a, Hey,
Starting point is 00:29:07 welcome. You know, it's right before the opening. Here's, we're going to do venue tours. And then like the next evening, you know, we're like before the party or whatever,
Starting point is 00:29:14 we'll make like just a way to kind of like give people friendly faces. We do a welcome wagon guide. That's super comprehensive on the website. It's like, what should I wear? How do I not like get totally tired? And we, we do a checklist where it's like, here's how to attend a conference. Well, you know, talk to somebody new, but also like take a break, drink water, get some fresh air, you know, like kind of how to conference well without burning out or getting overwhelmed. Um, similarly, one of the
Starting point is 00:29:40 things I love is I think we stole it from PyCon UK, which we do lightning talks. But what they did is they ended up with two chalices. So the problem is you get lightning talks, and if you just do a list and people sign up, all the experienced people go first. And it's just a bunch of white dudes that know how to give lightning talks. And you don't really get that interesting of personalities. And so what they did is they put two chalices. And so they put a chalice that's one for first-time speakers and one for experienced speakers. And then you just put on a little note card, you'll post it, what your talk is, who you are. And then before lunch, we announced the talks and we mix up first-time speakers with
Starting point is 00:30:14 experienced speakers. We try to kind of get a flow to it. And that really let us use lightning talks as an on, because I, I started speaking with lightning talks. I was on stage at Google in like 2008 at the first ever DjangoCon, terrified. And lightning talks were what got me in that flow. And I'm a firm believer that giving people that opportunity for the first time is important. We've grown a lot of people from lightning talks to talks to, you know, organizers or speaking at other conferences or that kind of stuff. And so I think that's another really, really powerful way to make sure you're getting those first timers on the stage. Those are great.
Starting point is 00:30:47 So, well, if you're listening, steal those ideas. It's kind of like a contributor on-ramp. It's kind of like a speaker on-ramp. The welcome wagon. Yeah, I love it. Love it. Totally. So, yeah, no, we have lots of ideas.
Starting point is 00:30:58 Just steal more of them. I should write more of them down. Do you have a central place where you've written these things down? Is there like a wiki of great ideas? We have an organizer's guide for the conference that is like, how do you run a welcome wagon? How do you run a lightning talk? That kind of stuff that's partially updated.
Starting point is 00:31:13 The welcome wagon one is really good, actually. It's probably the thing that is the most influential that you should steal because it's super, super valuable. When is a good time at a conference to do lightning talks? Because you have two day conferences you have sometimes you have two days plus a day which is not really a three day but it's kind of like an optional third day.
Starting point is 00:31:31 So we do them after lunch because nobody wants to speak after lunch. Like none of the speakers want to be directly after lunch. We use a talk slot basically for the lightning talks because 30 minutes, 20 minutes, how long? We do 30 minutes yeah so we get about six speakers maybe and we do well we're getting conference inside baseball
Starting point is 00:31:50 here pretty quick but we do 10 minutes breaks between all the talks which i highly recommend for any event um and we're single track uh but anyway yeah like 30 minutes six ish speakers after lunch um both days it basically is just another talk slot in your schedule yeah cool well Eric thanks so much for sitting down with us yeah definitely thanks for being here it's always awesome talking with you alright have a good rest of your OSCON
Starting point is 00:32:15 you too this episode is brought to you by Keen. Keen makes customer-facing metrics simple. It's a platform that gives you powerful in-product analytics fast with minimal development time. For example, a DIY solution to build out customer-facing metrics in your product could take six months or more. And with Keen, you can be up and running in the same day. The Keen platform lets you stream events to easily collect and enrich your data, compute with embeddable answers, insights, and metrics,
Starting point is 00:32:54 access controls so you can design role-based access to your data, and, of course, a visualization layer to create stunning charts. And we got a special offer just for our listeners. Go to keen.io slash changelog. Get your first 30 days of Keen for free. And as a bonus, just for checking out a 15 minute demo of Keen's customer facing metrics, they'll send you a free t-shirt. Go to keen.io slash changelog. Again, keen.io slash changelog. Okay, well we're here with Allie Spittel, one-fourth of the ladybugs.
Starting point is 00:33:40 Yep. You ever been referred to as one-fourth of the ladybugs? I don't think so, but I like it. It's kind of nice, right? Yeah. So, Ladybugs, I guess we should say what it is. Yeah, start there before I get ahead of ourselves. Yeah, so the Ladybug Podcast is a new podcast that we recently launched. It's about the tech industry in general, technical topics, but also career topics.
Starting point is 00:34:03 And hosted by four women in tech, me, Emma Vedekind, Kelly Vaughn, and Lindsay Kobaz. And it's been a lot of fun to launch it and get it growing and seeing the response. We've done a couple episodes so far. The first one was how to career change into tech, and then we've also been talking about how to balance side projects, because we all have a bunch of those and then blogging too. Yeah. Podcast is a great format though, right? It's tons of fun.
Starting point is 00:34:30 We're on a podcast right now. Definitely. Definitely. Yeah. I mean, it's a fun format because, you know, it's so free to like, it's been done for a while now, but it's not like a one way to do it and that's it. There's no rule book, so to speak, right? Right. Have you found any like certain hurdles you've had to get over to kind of get into it with the four of you so I think that we've been pretty good about like pre-planning stuff
Starting point is 00:34:54 really well so that we have a general flow of where we know the conversations are going to head or at least our goals for the conversation and I think that that's helped a lot but definitely the whole technical side of it has been a learning curve as well for how to record stuff and how to make sure that we're mic checking correctly and all those things have been a big learning curve too yeah what have you settled on in terms of how you get together we know Emma's over in Germany. Timing, scheduling, all the logistics around a show. It's probably easier with four regulars versus a show like ours where we're interviewing a guest each time, so there's a lot more logistics.
Starting point is 00:35:33 But is there anything specific you've settled on, like it's every day this week or et cetera? Totally. So what we're doing is we're recording three episodes at once. Three is kind of a manageable amount where we're still enjoying recording them at the end, whereas I feel like more than three would get kind of exhausting. But it allows us to have a backlog of episodes so that we're not having to record them right before they're released or anything like that. So that's been working out really well for us and allows us to just schedule one block at a time
Starting point is 00:36:02 instead of an hour a week or something along those lines. How do you how do you choose the topics we have a big fight about things like no i want this one is it a voting process is it anonymous we just have kind of a conversation about it we have a trello board with a bunch of different potential topics and then we try to kind of distribute them between career ones, technical ones, and then something else. So that we have, we're kind of attracting all the different audiences and keeping everybody engaged. So if you were in charge of Ladybugs and you got to pick the topic, like, Allie, this is your show. Here's a topic. We'll talk about whatever you want.
Starting point is 00:36:41 What would you do? What would you talk about? Probably teaching people how to code. That's kind of become my total passion in different mediums too. Like blogging, I think, is a great way to teach, but also in person. And then in addition to that, the podcast, I think, is a cool way to teach as well. And so I think talking about the different ways to teach people and then the techniques for it and how to keep people engaged and all that.
Starting point is 00:37:04 So that's my real passion and the thing that I could talk forever about. So would love to do an episode about that in the future. What's specifically about teaching code? Like what's your favorite part of that? I think seeing the light bulbs go off and also see people just love it. Like the magic you have when you first write code and something appears on the page or you get to build something for the first time. And it's like, oh, wow, like this is actually how this works. This is kind of magical. I definitely had that experience when I was learning to code.
Starting point is 00:37:34 And when I wrote my first lines of Python and was like, oh, I can tell a computer to do something and it does it. This is the coolest thing ever. And so I think bringing that to other people and making it as accessible and exciting as possible is something that I just have the most fun doing. You were teaching at a coding camp for a while, right? It was General Assembly? Yep, yeah. So aside from taking a boot camp or something,
Starting point is 00:38:01 somebody brand new, what advice would you give them on how to get started? Maybe just with online resources or something. Totally. So I'd say that everybody has a different learning style and identify that first. So do you learn best in a classroom? Do you learn best from written tutorials? Do you learn best from video tutorials?
Starting point is 00:38:19 Like what motivates you and what is going to keep you the most interested? Because you're in charge of your learning journey. You're not forced to be in a classroom anymore. This isn't high school. It's up to you. And so do what feels right to you, what makes you feel engaged, what makes you able to understand the concepts and find those resources that really work for you.
Starting point is 00:38:39 I think that's the hardest part of being self-taught is there's so much out there and trying to find the right things. I was mostly self-taught is there's so much out there and trying to find the right things I was mostly self-taught myself and did have some computer science background in college and also have taught at a boot camp so I've kind of seen all three and I think all three do work for different people and I think just knowing what will work for you and that's pretty smart because it's the same with like learning. I like to listen to books more than read them, although I love to read them as well. I just have more time for listening,
Starting point is 00:39:08 and I get things easier from listening that way versus reading it myself. So it's finding what works for you to learn, whatever process is fitting for you. It's smart. Totally, totally. So if you don't know what works for you, do you just start trying stuff? I mean, that's kind of development anyways, right? Like just try stuff until it works.
Starting point is 00:39:26 Yeah, try to build something. Yeah. And find all the steps along the way to build that thing. Some people I think are, there's self-starters that don't necessarily need someone pushing them or holding their hand. They can go to a free code camp and just go through it. And then there's other people that it's like, if I don't have structure in my life, I just know I'm not going to stick with it. And so a boot camp in that regards or some sort of accountability is very helpful
Starting point is 00:39:50 to get you over those humps. So yeah, I guess the better you know yourself, the better you can get started. But if not, you can try, start with the fastest, cheapest thing, like go to free code camp or go online and just see what you can get going. And then if you struggle with that method,
Starting point is 00:40:04 then maybe try something else. I think no matter what, try to teach yourself first because then you know that you enjoy it. If you're trying to invest in a boot camp or going back to school or something like that, that's a huge investment both of time and of money. And so make sure that you at least enjoy programming first. It may be more difficult for you to learn by yourself, and doing a boot camp may be a more accelerated process,
Starting point is 00:40:28 but at least try to play with it yourself and know that you at least enjoy programming before you invest all that time and money. You've got to try it first. Yeah. Because, you know, back in the day, I used to program way back in the day. It feels like forever ago. Back in the day.
Starting point is 00:40:46 I actually used to write Ruby and stuff like that. I never really had done a lot of back-end stuff. And I never really got good enough at it to do it full-time. So I was always on the front-end. Design, UX, stuff like that. Product development, product direction. But never the best with software development. Although I was
Starting point is 00:41:02 decent at it, it just took me a while to really get a groove. And I never really got one that actually made me, in quotes, a software development. Although I was decent at it, it just took me a while to really get a groove, and I never really got one that actually made me, in quotes, a software developer. Well, who gets to call whom a software developer? Yeah. Totally. Totally.
Starting point is 00:41:16 Which could be a whole conversation on its own, right? Yeah. Which has been a conversation recently, you know, online and on Twitter, is how do we label these, you know, how do we define ourselves? How do we label these things? What's really programming? And I'm just here to tell you, bro, you're a software developer,
Starting point is 00:41:32 right? That's right. Thanks, man. You're not an imposter here. Well, speaking specifically about language writing, that's just not where I camp out these days. Oh, yeah. I'm not saying you do. I'm just saying that we tend to diminish our own work, our own skills, and there is
Starting point is 00:41:52 a sentiment of gatekeeping and, I don't know, greater than, holier than, not holier than now, but there's like a real programmer versus some sort of fake programmer thing that goes around and it makes us second guess who we are or what we can do and I just don't want you to do that. It's not a healthy thing, that's for sure, for me or for
Starting point is 00:42:14 the community. No, it's not. But sort of that leads me to something I was thinking in terms of teaching and learning. A debate we've kind of had a little bit on JS Party and we talk about a lot is, like, where do you start technologically with beginners? Just speaking of web development specifically.
Starting point is 00:42:32 So there's, you know, there's the layer cake idea where it's like you teach me the HTML and then you teach me CSS and then you teach me JavaScript and then go from there. And then there's kind of the more maybe practitioner, like, well, just pick a JavaScript framework which you can get hired for
Starting point is 00:42:53 or has its name in a list of jobs. Like, just learn React first. Start with this thing that you can use right away and then you'll backfill the underlying technologies. I just wonder if you have opinions on this. Definitely have opinions on this. I started off mostly in Python and doing backend stuff, and my second language was C++, and then was kind of thrown into web development and doing it on the job for the first time,
Starting point is 00:43:24 learning it while doing it. And so I learned React probably way sooner than I should have. And I really wish that I knew the fundamentals a lot better because React is just JavaScript. It's not anything magical or anything like that. But if I had known that, for example, classes were built into JavaScript, not React, then I think that that would have been big and much more helpful. Although I was also learning at the time when it was like ES6 was just coming out, and so all the documentation was changing for that. But yeah, I really think that you can't go wrong with learning the fundamentals
Starting point is 00:44:04 because HTML, CSS, and JavaScript are evolving, but they are pretty stable and a lot of the fundamentals stay the same from time to time. And then these frameworks, there's one that comes up and React has maybe won the framework battle to some extent for now. You know, Vue and all the others are awesome too, but React is probably the dominant one right now. And so it's definitely worth learning, but I think learning the JavaScript fundamentals will only make learning React easier down the road when you try to learn React. Yeah.
Starting point is 00:44:36 I think specifically with HTML and CSS, not only is it that they're pretty stable, but that all of the advancements are additive. Yeah. You know, they're adding to the languages, they're adding elements, they're adding, you know, selector style, they're adding technologies on top,
Starting point is 00:44:50 but that doesn't obsolete any of the existing things. Totally. So it's not like you're going to, JavaScript, on the other hand, like, styles move on, you know, callbacks are out, async await is in. That's not additive. I mean, it's an additional technology,
Starting point is 00:45:04 but you know what I'm saying? It's going to replace the style. So you feel like you have to relearn certain things. But especially with the HTML and CSS layers, it's pretty safe. What do you think about this idea in terms of, did you ever watch a movie and you get the ending first? And then you watch the movie. The movie begins with the ending.
Starting point is 00:45:24 Tarantino style? Right, Tarantino style. Pulp fiction fiction it's almost like that with software developers you almost want to show them here's what here's what we're going to build here's the here's the dream or possibility thing and we're going to start here you almost have to like show them you know uh the land of fruit and honey or whatever it is you know and what's it was milk and honey milk and honey fruit whatever fruit and. Fruit and honey. Whatever. Fruit and honey, milk and honey, it's all the same. But, you know, you've got to show them sort of where you're trying to go.
Starting point is 00:45:50 And then say, we're going to begin here. So that way they can sort of see the car before they start putting together some nuts and bolts that make up the alternator, for example. Yeah. Unless you drive an e-car, of course. Old bosses told me my favorite thing ever. And that is like the biggest moment as a software developer is when you know that you can look at any site and know that with enough time and education, you could build it. So not that you could build it right now with your current knowledge, but know that you could teach yourself the things that you would need to know to build
Starting point is 00:46:20 that thing. And so that I think is so true that there's a moment where it kind of clicks and you're like, yeah, if I had enough time and if I had the right resources, I could teach myself to do that. You can't do everything. Obviously, you'd have a team, but you could teach yourself how to do these things. So I think that that's really true. Absolutely. Something I used to say is that when I taught, because I taught web development for a couple of years, and I would tell my students that I want them to become intrepid, which means like right now they're timid and they don't know anything.
Starting point is 00:46:56 If you're bold at that point, then there's a problem, right? Like misplaced zeal. But what I want to, I'm not going to get them all the way, but I want to get them to a point where it's kind of like the same exact sentiment. Like they have the enough skills to have the confidence to, to think they can build anything. Right.
Starting point is 00:47:13 And like that, that'll get you places kind of like just good enough to be dangerous is fine for now. Like that's a goal. And once you're at the place where you can look at a website and say, I could build that, even if maybe you're naive enough that you probably, maybe you couldn't build it by yourself, but you think you could, that's a pretty good place to be and to build upon that.
Starting point is 00:47:31 Well, most great things are built by visionaries. And that's what that is. It's a visionary aspect. It's like, you got to have some sort of self-assurance that you don't have the skills or all the resources to get somewhere, but that it is possible. And with the right, you know, things aligning, you will get there or you could get there. Totally. And that's what enables dreamers. Yeah. And teaching people to teach themselves, too.
Starting point is 00:47:53 Teaching people how to read documentation. Teaching people how to break problems into smaller problems. And all of those fundamental things that are so much more important than any one piece of a language or any language in itself. Because all these technologies change. much more important than any one piece of a language or any language in itself because all these technologies change and the one thing that stays consistent is the ability to learn those new things when they come out the human element yeah what's uh what's missing then so if we have a world where there's a lot of opportunity in software right in all areas what's missing to get people in well that's a good question i think that the way that we teach code right now isn't super accessible. And every type of software education
Starting point is 00:48:32 is missing something, I think, to some extent. For self-learners, it's having the right resources there because they're all out there. It's just finding them. And also the other hard part with self-learning is that you don't have anybody to check you you could be teaching yourself something totally incorrectly and you wouldn't have any way to know that for the most part with boot camps it's that it's an accelerated format and you can't learn everything in 12 weeks and so some fundamentals may be missing there and then with computer science majors, for the most part, a lot of the skills that you're going to be using day-to-day on the job, like web development,
Starting point is 00:49:11 aren't super focused on. And a lot of the why tends to be missing, at least for my computer science education. I was so confused as to why we were learning C++ because lists were built into Python and I didn't understand why you'd have to build a link list because there's already a better programming language out there, which isn't actually how that works at all. I think that there's something missing with all these things,
Starting point is 00:49:36 but I think we could make it better. And I think that also teaching people how to code earlier in elementary or middle school would be so incredible because those problem solving skills that you need for computer science and for programming in general, even if you don't become a programmer, are so helpful to making you think in a different way. And the world is based off the technology now. It's an awesome skill for anybody to have. So that's something that is my kind of soapbox issue. The youngsters see things differently too.
Starting point is 00:50:06 And I'm always surprised by how I'm 40. So the younger generation is pretty much anybody under 40 for me. But I'm always surprised by how that younger generation can see beyond the forest and see some cool stuff. Because my limitations are built by my experiences, right? And so kids sometimes are just so bold, you know? And I love that about that young age. Totally. At the same time,
Starting point is 00:50:30 that's sort of dangerous to get them in so early because, you know, it is sort of addictive. They'll take our jobs from us. They'll take our jobs. Well, the top security, nobody else should learn this stuff. No, not at all that. Those ape trainers.
Starting point is 00:50:43 All of them will learn how to podcast. We'll be safe. True. Very blog-based, yeah. All you gotta learn how to podcast will be safe. True. Very blog-based, yeah. I mean, more so to getting into the things they'll have to do as an adult too early. Like, really enjoy those younger years because you only get them once, obviously.
Starting point is 00:50:54 Oh, yeah. So don't lose the sight of the fact that... Yeah, keep it fun. Don't make it where you've got to go and get a job tomorrow. But I think it's really important to learn early. There's a fine line of how to best put that into i think there's so many awesome ways to gamify learning especially for that age group like code.org has these incredible resources that are teaching code through games and then also just integrating
Starting point is 00:51:17 into math class right because if you're teaching algebra variables and functions are in algebra too and so if you're teaching people how to code, that's a really tangible application of algebra. So that's kind of a fun way to integrate that. I like that. I mean, you almost accidentally teach them. Yeah. Yeah. And do it just more explicitly.
Starting point is 00:51:35 Well, that's a programming language. That's coding. Oh, wow. Yeah. And then it also like makes it so accessible too. Totally. The barrier's gone. No more hurdle.
Starting point is 00:51:44 Yeah. You'll actually use this algebra later in your life life i remember being an algebra thinking i'll never use this in my life i like the idea of accidentally teaching something like you walk in a room and trip and you're like just like yell a variable name out or something like whoa i taught you variables i didn't even mean to say that x X equals three. You're so funny, man. The accidental learning, accidental teaching. Yeah, I like that. Yeah.
Starting point is 00:52:10 Love it. Well, let's talk about dev then since when we first met you, it was at least me. Pre-dev. When we had that conversation, it was before you went to dev. So what are you doing now? Yeah, so I am a software engineer and developer advocate so I write code for the code base it's an open source code base so anybody can contribute but I do a lot of like front-end development my favorite thing with writing code is doing kind of experimental art and code stuff and so I built like their offline page and you can
Starting point is 00:52:39 draw pictures on it which is really fun and so that's kind of what I do on that side of my job, but then I also come to things like OSCON and speak and write blog posts and all those things too. Are you speaking at OSCON? Yeah, I spoke yesterday about how to blog. How do you blog?
Starting point is 00:53:01 That's a good question. Good question. Still figuring it out out i don't know no seriously how do you blow seriously tell us um well there are so many different stages of it first it's just writing something down like i i my rough drafts are so gnarly nobody should ever look at them but just overcoming writer's block and putting something on that page and then editing
Starting point is 00:53:28 a bunch of times so it actually makes sense to a person and trying to make it so that multiple learning styles can understand it. So putting things like code pens in there or replets so that people can interact with the code. And then from there
Starting point is 00:53:44 adding graphics to it, making sure that your text is broken up so it's not just like an essay that nobody wants to read. There's different headers that people can jump to if they're only interested in certain things. And then once you hit the publish button, which is a hard step in itself, it's getting the content out there, which I'm sure you all are pretty experienced in with the podcast because it looks the same there. But there's a lot of things that you can do in that regard of using social media, search engine optimization, and then also cross-posting. And cross-posting is one of the ways that I really gained an audience. I started with actually writing just on Medium.
Starting point is 00:54:20 Didn't gain really any traction there whatsoever. Got 36 readers my first post, and then found dev too on Twitter and started cross posting to there as well. And even when I built my own blogging platform, I was still syndicated. I had to do these different sources, use a canonical URL and you'll be good. You'll actually boost your own SEO.
Starting point is 00:54:40 And then, um, that makes it so that three different audiences were seeing my writing and then they would follow me for my next posts and that's how it kind of grew so yeah there's so many stages and so much advice on on blogging that I could give for yeah everything from like coming up with the ideas to actually you know the the necessary steps to massage it into a real post that people actually read. Yeah.
Starting point is 00:55:06 And then not only that, something worth reading, but how to actually get their attention enough to read it. Totally, totally. So much to it. Such magic. And then when they actually do read it and then they want to tell you about it, there's a whole other stage of feedback, which can be solicited or unsolicited. Solicited or unsolicited. Nice and rude.
Starting point is 00:55:24 Yeah. So it's like, oh, it's like the one problem is nobody reads my words and then the other problem is everybody reads my words and doesn't like that how i wrote it they don't like my words always an adventure always an adventure you you know the good thing is that well good or bad is you can't please everybody yeah you know so yeah get over that i think that it's decently, not easy, but it's not awful for me to deal with, like, technical critiques. Because I'm like, oh, I can improve that. And they happen actually pretty infrequently, especially because I write mostly beginner content. So it's stuff that I know really well.
Starting point is 00:56:00 And so a lot of the technical critiques don't come out. And I think for me I get more like critiques of me as a person which is a little bit weirder to deal with um but it's harder to deal with those things kind of personal feelings you're putting into your blog post you're talking about your sometimes I definitely put like my personal stories in there but I sometimes have people who are like oh she's too young or she just isn't experienced enough. And it's like, well, I've been a software engineer for like six years. So, I mean, if I can't write it, then who can?
Starting point is 00:56:35 Talk about gatekeeping. How long do I have to be here before I can write something? Do I have to be 40 years? I don't understand. But anyways, people are weird that's what so the way I approach criticism is anything that I can actually change for instance a technical problem yeah my fear is just to be wrong like I just don't want to be wrong and so uh and I am on a regular basis so like that's hard to deal with but if I'm wrong I can learn and change right yes but if you get criticized for
Starting point is 00:57:03 something you can't change like you haven't been here long enough it's like yeah well I'm sorry just stop writing or wait five what is long enough and who decides right yeah or your age or your sex or your color all these things like these are immutable characteristics yeah and I'm so like that criticism just brush your shoulder off right haters? Haters. Zen problem, not a meme problem. Haters going to hate. Yeah, exactly. That's it. Exactly. Totally. Cool. Anything else we should talk about?
Starting point is 00:57:31 How to edit out portions of podcasts. I can let you all get back to doing booth things, too. Well, thanks for sitting down and talking with us. How can people find you online? How can they listen to Ladybug, et cetera? Totally. So I'm A. Spittle everywhere, Twitter and DevTube are my two main platforms. And then Ladybug Podcast is ladybug.dev or anywhere you listen to podcasts.
Starting point is 00:57:55 There you go. Allie, it was awesome. Thank you. Thank you. This episode is brought to you by TeamCity. TeamCity is a self-hosted continuous integration and delivery server developed by JetBrains. Millions of developers every day are already using JetBrains IDEs, and now there's a powerful CI-CD solution from the same company.
Starting point is 00:58:20 TeamCity lets your team deliver quality software faster. It is super smart at running incremental builds, reusing artifacts, and building only what needs to be built, which can save over 30% of the daily build time. For example, JetBrains uses Team City internally, and its optimizations save them over six months of compute time each and every day. The professional version of Team City lets you run up to three builds in parallel, and it's free to use, even for commercial use. For large organizations, JetBrains offers TeamCity Enterprise, and our listeners get it for 50% off for a limited time. Head to TeamCity.com slash changelog, and all you gotta do is use the code CHANGELOG50 at the JetBrains store.
Starting point is 00:58:57 Again, that's TeamCity.com slash changelog. Transcription by CastingWords And you're speaking. Yes. What are you speaking about? I'm speaking about the story of FOSS Asia. Okay. Our history, how did we scale and sustain the open source development over the last 10 years? Wow, 10 years. That's a lot to cover. And how long do we got? 35 minutes? I think I have 40 minutes.
Starting point is 00:59:40 40 minutes. Yeah. 10 years in 40 minutes. That's quite a task. Tell us. I've never heard of FOSS Asia until 15 minutes ago. So help us out. Tell minutes. Yeah. 10 years and 40 minutes. That's quite a task. Tell us, I've never heard of FOSS Asia until 15 minutes ago.
Starting point is 00:59:47 So help us out. Tell us the story. So FOSS Asia, basically a network of people from everywhere, not only from Asia, who cared about open technology
Starting point is 00:59:57 and who want to make the world a better place with open source, open collaboration, and sharing of knowledge. Yeah. So we are based out of Singapore.
Starting point is 01:00:07 Okay, Singapore. Yeah, so we are one of the biggest open source organizations in Asia. Well, I just think it's kind of a shame that one of the biggest open source organizations in Asia, and I've never even heard of it. That is the reason why I'm here. That's why you're here. We're glad to be here with us. Glad to have you here. And we'd love to hear more about it. So it's based out of Singapore. That is the reason why I'm here. That's why you're here. We're glad to be here with us. Good, good. Glad to have you here.
Starting point is 01:00:25 And we'd love to hear more about it. So it's based out of Singapore. I mean, what do you all do? So we develop software and hardware. We have a number of portfolio projects that are coming out of the Force Asia community. For instance, the hardware device that I showed you earlier, this is called the Pocket Science Lab. Basically, it is a USB power device that helps you to measure all kinds of things and it helps people to do science experiments. So you have the oscilloscope, wave generator, logic analyzer, power source, many other instruments into one single device, and everything open source.
Starting point is 01:01:06 So we have the kinematics of the hardware, the firmware, everything available on GitHub. We build our own Android application and also desktop application. Cool, so does FOSS Asia have, is there physical get-togethers? Is it all online? What does the community actually look like?
Starting point is 01:01:23 So the network of FOSS Asia, we have about 35,000 active subscribers. 35,000? Yes. That's huge. So that is including developer, designer, organizer, regular user. But when you talk about the developer community, we have at the moment 3,900 people on GitHub. Of course, not everyone super active every day, but we have
Starting point is 01:01:50 requests coming in almost every day across our projects. Wow. Why do you think we haven't heard of FOSS Asia before? You know, the connection between the conversation I had earlier with people, when there is an opinion saying that,
Starting point is 01:02:05 okay, so we need to talk more to the Chinese because they don't do open source or they don't contribute to open source, this is actually not the case. That's not true. Yeah, so open source, like fairly developed in China or a lot of places, like Asian community build their own projects
Starting point is 01:02:23 similar to us. Yeah, it could be because we are still quite young. of places like Asian community build their own projects similar to us. It could be because we are still quite young. We've been around for 10 years. So I don't know, like when I'm here at OSCON, I saw quite a number of faces. For instance, if I go around here, a lot of the people here, how do you say, they came to the First Asia Summit before. So they are aware about it. And yesterday when I was, how to say, queuing up in the
Starting point is 01:02:52 exhibition hall, somebody came to me and said that her friend actually knows about the Pocket Science Lab project. Yeah. Interesting. Yeah. It's an interesting dichotomy between the United States or other countries and China. Primarily, I would say around maybe the Great Firewall, so to speak. This sort of like, you know, I'm not sure if it's cultural or if it's political, but something stopping everyone in the country from participating the way that I guess maybe everyone else does. The freedom, so to speak. Can you speak to that?
Starting point is 01:03:26 I'm sorry, I don't really get the question. Well, mainly, I'll explain it differently. Mainly to the gap that, the reason why we don't hear from, there's a language barrier, there's a lot of other hurdles that are in the way of our awareness of how ubiquitous open source is or contributions are in Asia. So I think it's also very much to do
Starting point is 01:03:47 to the culture side of Asian people. So I cannot generalize for everyone, but as you know, we do things, but we are not so good in terms of marketing or our reaching. So I understand in the Western culture, when you do something, you need to really know how to make your project visible to people.
Starting point is 01:04:14 So this is something that we're constantly working on. And we also try to go out to different conferences. Like we went to Fosderm in Europe, we also go to different places. And this my first time here at at OSCON I also don't see a lot of Asian project that available here so I'm one of the lucky one because I got involved in the community so I heard about OSCON but I don't believe that all the people in Asia also heard or know of the the conference yeah yeah or the community here so they're always the missing connection between different
Starting point is 01:04:48 continents in terms of physical space or in terms of knowledge sharing. And this is one of the main purposes of Force Asia. We want to be the bridge. We want to connect America and Asia. We want to connect Asia and Europe. Asia and Africa. So our goal in the ecosystem is to be the connector, to be the coordinator, and the person in between that bring different communities together. That is our stand in the ecosystem.
Starting point is 01:05:20 Yeah. Yeah. It's interesting that the internet flattens everything out, access, in terms of once you have access to it, right? We're all on one shared namespace. We're all on the Internet. But yet we still have all these real-world barriers between the people who have access to each other
Starting point is 01:05:39 but don't know that the other person exists because of the ocean between us or because of language barriers or because of cultural differences. And so there tends to be these silos of communities just because of the natural way that we live. And I'm curious, what would a better community look like? Let's say Foss Asia and your efforts to bridge the gap over the oceans, so to speak, worked. Ten years from now, you did it and we're now connected.
Starting point is 01:06:11 What would that look like? Would there be events that are attended by all? Would there be bigger social networks around software? I'm just curious what that would... Maybe more collaboration? Yes. around software? I'm just curious what that would be. Maybe more collaboration? Yes, so exactly. So I think your point is very important. We need to manage somehow to bring people together. So that's why we've been running one conference similar to OSCON in Singapore. It's called the FOSS Asia Summit. And this year was our 10th anniversary. So it happened every year in Singapore in March.
Starting point is 01:06:47 Wow, 10 years. This is 19 for OSCON, I believe, 19 or 20 years? Yeah, that's what I heard. Around there, at least. Something like that. Yeah. So we are still very young, but what we try to do every year, bring different communities together at the FOSS Asia Summit.
Starting point is 01:07:00 So we have also similar participants like what you have here. A lot of speakers who come to OSCON also come to the FOSS Asia Summit. So we have also similar participants like what you have here. A lot of speakers who come to OSCON also come to the First Asia Summit. The reason why we, I know that it's very difficult to have a huge conference where you can have all the people getting together because when it gets into a certain scale, it's not as nice anymore. How can you connect with people if you go to a conference like 15,000 or 20,000? It's like a mob, it's not a community. Yeah, it's a huge group of people. So the community continues to grow.
Starting point is 01:07:32 So our approach, we have the conference like the First Asia Summers, but we also have smaller conferences throughout the year. We're going to have one Open Tech Summit in Bangkok in the beginning of October, October 1st and 2nd, and we have another one in Shenzhen, China, at the end of November. So we try to do also smaller events throughout the year. And then in March, every year in Singapore, the bigger conference.
Starting point is 01:08:05 So we try to create as many opportunities as possible for people to get together face to face. Well, there's one aspect that I would say of Asian influence or community that I've seen from my perspective increase in the last 18 months. So we have an automated newsletter called ChangeLog nightly and it uses github's activity and those things stored in uh in big query to basically just surface the most the most active or starred repositories in the last 24 hours and it sends out every night and so you just just see what people are starring and what they're working on on GitHub. And in the last 18 months, the number of repos that are non-English descriptions, so we include the name of the repository,
Starting point is 01:08:55 the link to it, and then the description. And the number of non-English repositories has skyrocketed recently. So much so that we've added a little translate button next to the description to go back and forth between whatever language you happen to be reading it in
Starting point is 01:09:13 and so I've seen like a groundswell of open source mostly I think Chinese language repositories happening on GitHub and so that's been my main contact with the Asian side of the open source world is really seeing those things get popular.
Starting point is 01:09:31 And so there is some movement there. You mentioned you have a group with 35,000 people, about 3,000 on GitHub. What are some of the projects that are coming out of FOSS Asia? You mentioned the hardware stuff, software stuff that people can get excited about. Right now we have something that's similar to Eventbrite. We are an event organizer.
Starting point is 01:09:52 I mentioned to you we run multiple events throughout the year and we've been searching for an open source solution that have our purpose, right? And we see a lot of people now using Eventbrite. So we developed a solution called EventYay. EventYay. Yeah, EventYay. Yes, EventYay.
Starting point is 01:10:13 I like that. It's got a good ring to it. Yeah, it is entirely open source and you can have it hosted on your own server. So give the freedom to the people. So you don't have a middleman who control the data. And we offer a lot, a lot of features and functionality that's similar to Eventbrite.
Starting point is 01:10:35 So basically there's a payment gateway, there is a registration QR code scanner, and we even have the scheduling system where you can call for speakers and you can generate a schedule for your own event. So we use it for the Force Asia Summit, and we also have a number of open source conference running the event, running our system.
Starting point is 01:11:00 So I can say it again. So what's it called? Event Yay. Event Yay. She said that already. What's the, sorry. I heard that. Sorry about that. What's the URL for it? Where can people go to find it?
Starting point is 01:11:11 Where's it on GitHub? So it's on GitHub. There's a so-called. But we also have the customer version, eventyay.com. Oh, nice. Yeah, eventyay.com. Eventyay.com, y'all. You can also find it on Android on the Play Store. You can find it on Android on the Play Store. You can find it on the Play Store, yeah.
Starting point is 01:11:27 Any plans for a one-click app with DigitalOcean or, you know, Docker, make it easy, run around? How does it work? What's the setup process? I don't understand the process of it. Like, to get started, since it's open source, to run the server yourself, what's a speedy way? Like, to get started, since it's open source, to run the server yourself, what's a speedy way? How do you get started?
Starting point is 01:11:48 How to get started? We have very good deployment documentation available on our repository. So follow the step there. I think, what is it? So, I need to think about the technical side, because I'm not
Starting point is 01:12:03 deeply involved in the project. We try to also have it implemented in Kubernetes. But at the moment, it's running on Docker or something. What is the name of that? Maybe a Helm chart? What's that? Helm chart?
Starting point is 01:12:18 I can look it up. I think it's too nice to say RTFM. I can look it up. I can look it up right now. But I can talk about another software project. Yeah, tell us about another one. Yeah, so we built something, we call it the smart speaker, so similar to Google Home or Alexa Echo, but run our own software, Suzy AI. Suzy AI. Suzy AI.
Starting point is 01:12:49 I've heard of Suzy AI. S-U-Z-I-E, like her name is Suzy? Yes. Yes. That's very cool. So that's coming from you guys. Yeah, it's coming from us. Have you tried it out?
Starting point is 01:13:02 No. I'm afraid of all sorts of things. Yeah. There's no Alexa and no Google Home in my home. But you don't have to be afraid of it because Amazon is not powering Suzy. So how does Suzy run on your own server then? Yes, also run on your own server. And so the infrastructure side of Suzy.
Starting point is 01:13:23 So we have a web application, we also have an Android application. So the core is the SUSE server. So this is the back end of the AI and we also have a knowledge store, how you say, it's called the SUSE knowledge database. So basically power through a lot of open API from the internet that you can get the question in for the AI, but we also have something called the skill CMS. So similar to Alexa, where the community can contribute action, can contribute skill into the system,
Starting point is 01:13:59 and we have similar thing. Awesome. Like Alexa CMS, we have Susie CMS, skill CMS. Yeah. Susie, play the changelog. Yeah. Oh, wait, somebody just, oh, my Susie just, my Susie just started playing the changelog. Yes, and we also build a hardware, a speaker. So, our Raspberry Pi, so we have our own speaker could power by Susie. Wow. So at the moment we're focusing on making a very good skill for playing music. So as you know, the Google Home or Alexa, you can ask this kind of question, but we
Starting point is 01:14:35 also face the issue where you want to play music, they always give you, okay, you need to have a premium account of different service. So you don't have the freedom of choosing the server that you like. But the provider actually pushes the server to you and forces it independent and you don't have this kind of dependency on different providers. That world scares me, honestly. Because you're a Luddite.
Starting point is 01:15:01 Well, no, not so much. I just see a lot of the... Just kidding. In the last couple of weeks, I've seen Google has... because you're a Luddite. Well, no, not so much. I just see a lot of the... Just kidding. In the last couple weeks, I've seen Google has admitted to storing and listening to stuff on Google Home, for example. Amazon has admitted to storing this audio for long term. And I just think about all the weird implications of that.
Starting point is 01:15:22 And I don't mind Amazon as a company, but... I just think about all the weird things I say at my house. Well, just, you never know what you want to hide from the world until you want to hide it from the world. You know, like, private stuff. Right. You know what I mean? Not that it's bad or good or what, just...
Starting point is 01:15:32 It's just private. Yeah, it's private. You know, there's no reason for that, but the centralization of it is what scares me. The big tech companies having that kind of power. That's why you got to go open source, man. You got to go Suzy. That's right. Suzy, play the, man. You got to go Suzy. That's right. Suzy, play the changelog.
Starting point is 01:15:47 I like that. So Suzy, one of the projects, but I believe there are also many other open source AI projects out there. So people have shared the same opinion. They don't want to be controlled by a few players in the market. So I will go here to try to draw the ecosystem so everyone can have the freedom to do what she or he likes to do.
Starting point is 01:16:10 Okay, so last question here. Imagine a developer, she lives in the middle of the United States and she's listening to this conversation because she likes podcasts and she has a Susie. So she said Susie play the changelog. She's intrigued by FOSS Asia. What's like the best way to get plugged into that community? The best way, so you can, if you are developer, all our development happen on GitHub. There is a FOSS Asia org on GitHub,
Starting point is 01:16:38 and all the communication happen on GitHub, the FOSS Asia GitHub channel. So every single project we have is on GitHub channel and the mailing list. So it's very easy to get involved as a developer. That's awesome. But we also try to build an inclusive
Starting point is 01:16:55 community. So I believe that the success of one project doesn't only rely on developers. So we need all kinds of contributors. So we need users, we contributors. So we need users. We need marketers. We need people who can go out and write the content to do documentation. So if you are interested in getting involved,
Starting point is 01:17:17 there are several ways that you can collaborate with us. Okay. Awesome. Anything else you'd like to talk about before we let you go? I don't know. You have a pretty cool badge that has a scrolling marquee that says FOSS Asia. So this is also another hardware project that we've been working on. It's called the Badge Magic.
Starting point is 01:17:37 You can also find the application on Android or F-Droid. The code is entirely open source, again on the FOSS Asia GitHub. Wow. So much cool stuff. Yes. And we hope to release the camatic for the hardware in the upcoming months.
Starting point is 01:17:54 Mind-blowing. What's the order on GitHub? F-O-S-S-A-S-I-A? FOSS Asia? Yes, that is correct. Cool. So GitHub.com slash F-O-S-S-A-S-I-A. It will be in the show notes, y'all.
Starting point is 01:18:08 It will be in the show notes. Just want to say it out loud. Hong, what's the best way for people to contact you directly? They like to get in touch. So you can search for me, HPDang, on the internet. You can find all my contacts. H-P-D-A-N-G. Gotcha.
Starting point is 01:18:23 H-P-Dang. Thanks so much for sitting down with us. Yeah, it was awesome-A-N-G. Gotcha. Thanks so much for sitting down with us. Yeah, it was awesome. Thank you for having me. All right. Thank you for tuning in to this episode
Starting point is 01:18:32 of The Change Log. Hey, guess what? We have discussions on every single episode now. So head to changelog.com and discuss this episode. And if you want to help us grow this show,
Starting point is 01:18:43 reach more listeners, and influence more developers, do us a favor and give us a rating or review in iTunes or Apple Podcasts. If you use Overcast, give us a star. If you tweet, tweet a link. If you make lists of your favorite podcasts, include us in it. Also, thanks to Fastly, our bandwidth partner, Rollbar, our monitoring service, and Linode, our cloud server of choice. This episode is hosted by myself, Adam Stachowiak, and Jared Santo, and our music is done by Breakmaster Cylinder. If you want to hear more episodes like this, subscribe to our master feed
Starting point is 01:19:17 at changelog.com slash master, or go into your podcast app and search for changelog master. You'll find it. Thank you for tuning in this week. We'll see you again soon.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.