The Changelog: Software Development, Open Source - OSCON 2019 anthology (Interview)
Episode Date: August 23, 2019We'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)
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.
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.
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.
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.
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,
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.
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
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
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.
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.
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.
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.
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
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.
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
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.
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,
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.
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.
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,
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?
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.
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.
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.
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.
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.
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?
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
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.
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.
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.
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.
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,
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?
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
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
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.
.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
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
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,
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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
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
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
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.
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,
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
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.
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
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
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.
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.
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,
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?
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,
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,
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
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
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.
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.
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.
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.
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
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
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,
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.
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.
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.
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
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.
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
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.
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.
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.
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,
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?
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.
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,
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.
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
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,
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,
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.
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
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.
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,
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
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
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.
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
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,
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
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.
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,
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,
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.
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.
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
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.
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.
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.
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.
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
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,
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,
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.
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,
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.
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.
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
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.
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.
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.
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
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?
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
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
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.
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.
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.
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.
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.
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?
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
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?
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.
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.
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.
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.
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.
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
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.
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.
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.
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?
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
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,
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
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
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?
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
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.
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
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.
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
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.
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.
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.
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.
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.
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,
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
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.
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.
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.
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.
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.
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?
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.
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?
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
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?
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.
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?
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.
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,
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
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.
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.
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...
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.
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.
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,
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
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,
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.
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.
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.
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.
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
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,
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
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.