The Changelog – Episode #288

Live coding open source on Twitch

with Suz Hinton

Guests

All Episodes

Suz Hinton joined the show to talk about live coding open source on Twitch. We talk about how she got interested in Twitch, her goals and aspirations for live streaming, the work she's doing in open source, Twitch for open source, how you and others can get started — and maybe some other fun stuff we have in the works at Changelog.

Featuring

Sponsors

DigitalOcean – DigitalOcean has new, highly competitive droplet pricing! A flexible $15 plan where you can mix and match RAM and CPUs resources. Updates to CPU-optimized Droplets. Per-second billing (coming soon). New accounts get $100 in hosting credit to use in your first 60 days.

Gliffy – Get 25% off 1 year of Gliffy in Confluence or Jira. Transform how your team communicates, share and collaborate with anyone, integrated directly in Atlassian's Confluence and Jira. Head to gliffy.com/changelog

GoCD – GoCD is an on-premise open source continuous delivery server created by ThoughtWorks that lets you automate and streamline your build-test-release cycle for reliable, continuous delivery of your product.

FastlyOur bandwidth partner. Fastly powers fast, secure, and scalable digital experiences. Move beyond your content delivery network to their powerful edge cloud platform. Learn more at fastly.com.

Notes & Links

Edit on GitHub

Transcript

Edit on GitHub

Suz, we would like to learn the ins and outs of open source live streaming, and who else to go to that Suz Hinton, who's been doing it for a very long time and written some very nice Medium posts and lengthy tutorials all about the ins and outs of Twitch... Suz, where do we start with you and Twitch?

Yeah, this could be a good direction for the Changelog, I think... What if you had like a video that shows you actually recording it, and things like that?

We actually were discussing that pre-call... I'm just trying to think -- when a new up and coming platform (and we realize Twitch is not new; it's kind of new for open source and live coding) comes out and people are using it, there's lots of interesting, new use cases for media production. Adam and I are always talking about, "Yeah, what would the Changelog look like on this platform?" We were kind of discussing what might be interesting; one thought that you had, Adam, was maybe you could live stream while you're doing the edits and talk through the decision-making process, but... We don't know. We don't know what's compelling on Twitch.

I think that would actually be really interesting. Most people want a behind-the-scenes of what you're actually doing, and I think that's what the main appeal has been for especially open source live coding.

Yeah, especially I think -- I don't wanna take the limelight here, but on the audio editing portion of it, a lot of people think it's hard, and what I've learned over years of experience is that it is hard until you simplify it, and there's like three or four main effects or plugins I might use that pretty much help us get to production audio... And they're not hard to use. Just with a little instruction and some experience of like "Here's what you should listen for", they're pretty easy for pretty much anybody to implement.

So it's not like -- I didn't go to school for an audio degree, I just winged it really hard for several years and I got bloody knuckles, and here we are. I learned by doing very much. I started out with a garage band, and just graduated through different digital audio workstations called DAWs... And now we use Adobe Audition and, you know, life is grand. But yeah, I think that's a really interesting perspective, of like a behind-the-scenes, and not feeling like you have to over-produce it. Because that's the thing that trips most people up - feeling like it has to be overly produced, or intro and outros, and it's just like, "Just give me the real deal. Be real with me, be personal."

[00:04:20.21] So thinking about the inner process versus kind of the end product - we're all used to delivering an end product, whether it's an MP3, or it's a piece of software, or a video... And that's very mysterious to people who aren't good at delivering those things, but to people that do that a lot - like you said, Adam, to you there's nothing special about editing anymore - there's not any magic there... And the thing about a magician is once you know his tricks, the tricks aren't very impressive anymore. So I feel like a lot of the -- and Suz, you can speak to this, because you've been live streaming your open source work for over a year and some now... Is there a losing of that mystere potentially, or does it actually perhaps work in the other direction?

I feel like it works in the other direction. Obviously, I didn't go to Twitch college or live streaming college... [laughter] There's not really like an open source school; there are people in the community that are very happy to help you get started with this kind of stuff, but I think that for me if you have trouble with the deliverables, with something like live streaming if you just show up - it's like maybe giving a quick performance, or giving a presentation at work or something - and you do it, the deliverable is actually happening while you're producing it, if that makes sense, which is different to what you're doing with the Changelog podcast, for example.

Right.

Yeah... We used to do -- we've done a couple of these shows live, and in those cases the live version and the produced version was very close, except for maybe a slight bit of edit just to sort of make it more listenable after the fact... Like, when you listen live, you forgive; when you listen recorded, you're like "Well, you could have edited that", you know, where we might tweak a little bit. So that's the difference; we have done this show live. We actually have a couple shows that are live, and then get produced and some people show up and they like the live version better because they feel like they're there.

Raw and uncut.

Raw and uncut... Whereas produced, the edited version, it's like "Yeah, well... You could have made that better, so I'm glad you did."

[laughs] Yeah, I've tried to edit -- I think I did the first four of my live streams... I did treat them like that kind of scenario, where I thought "Well, I've put all this effort into it, going through that entire process... I should really just spend another couple of hours on top of that exporting it as a heavily edited video, so that people can get some real use out of it", and then I quickly stopped... Because as we all know, editing is the longest part of actually producing these things, not the actual recording part. So yeah, I learned my lesson very quickly there to just let it be transient.

Yeah, the edits - if you have an hour's worth of content, it could take you three times as long as the content itself, just listening, editing, playing it back, listening, editing, playing it back, and then making any sort of editorial decisions, if that's what you're trying to do, it can get infinitely more complex as you add more and more production value to it. But at a minimum, you're looking at least real-time. You're gonna wanna listen to it, so it's gonna take at least the length of the content.

Exactly.

Some of these live streams are very long as well, so I think a lot of that decision-making process, like "Do I polish this up and produce a beautiful object, or is the process part of the product?", like you were saying with Twitch... It goes back to your goals. So a part of what I'm curious about, Suz, is first of all, how you got interested in Twitch and live streaming your coding, and then what were your goals back then and whether they've changed over time with doing it every week?

[00:08:01.00] Yeah, that's a great question. I think what it started for with me was that I worked on a lot of open source hardware-related libraries, that were also Javascript, so it was a little bit of a weird niche. Then on top of that, the general Javascript community tends to feel kind of intimidated by working on hardware-related things. So it was a fairly lonely experience for me... I was completely okay with the fact that I was one of the only collaborators on most of my libraries, but I also just felt that there was no need for people to feel intimidated like that, and it was hard for me to learn from other open source maintainers, given that I didn't really have any other collaborators to work with as well.

So I ended up watching Nolan Lawson's live stream that he did on YouTube about maybe almost two years ago now, and he was just showing an entire process of what it's like to be a maintainer of something super-duper popular. I think he was going through his PouchDB repo, he was triaging tickets, he was pulling down branches and trying to reproduce bugs and things like that... And he went for three whole hours and it kind of showed that, even in three hours of time, you don't necessarily get a lot of code written, you don't necessarily become super-productive, but you just sort of start wading through the thicker of open source things that you have to do on a regular basis.

So I found it really insightful, and I wondered where the people would get the same benefit from seeing how different my open source little world was, compared to someone who maintains really popular stuff... And I was hoping that that would make open source more approachable for people, where it doesn't matter if you don't have 100,000 people using your stuff; you can still get a lot of enjoyment out of doing that.

I think people forget the point of open source isn't exactly to be the most popular project. [laughter]

That's the worst case...

The point of open source is to be a useful utility to society.

Right, and often times just for yourself, right? That's where a lot of it starts - scratch my itch, and then...

...share it, so others can as well.

...it grows from there. But yeah, definitely in this day and age I think popularity is a metric that we all - yeah, all the time, but in open source now more than ever it's been...

It's definitely changed quite a bit over the last several years, just the way that open source is, and the way the industry treats open source... It's significantly changed in its perception to like the reasons why people do it.

Yeah, so I wanted to sort of give people a fly on the wall view of what it's actually like, so that they can make the decision about whether or not it would be a cool thing that they would wanna do.

Please do, because I'm thinking that myself.

Yeah, so that's sort of why I started doing it, was to give people that little fly on the wall view. But then it evolved beyond that. What I didn't expect was that I would have this regular super positive community coming back every single week, and then they would start pull-requesting me, and helping me think of different ways to solve problems, and just overall becoming a super positive influence in my open source life, I guess. That was really surprising to me. That's definitely made my work much more motivating for me to work on.

I watched a recent stream of yours - I should think it was just last Sunday, perhaps - and you now have a huge community around you; a bunch of people in the chat room, and subscribers... There's like a thriving little ecosystem around your channel. Can you tell us how that's grown and some of your keys to building that up over the last couple of years?

Totally. I think when I first started streaming I had like four people, and then the next week I had nine people, and then it stayed pretty low for a while; people were kind of shy to ask questions... But I think that at least for the first six months to a year, I was trying to choose things that were engaging for people, that they'd never seen before, and that's sort of where I started watching the growth, because people really loved watching somebody work on something other than what they do in their regular day jobs.

[00:12:18.19] Of course, that hardware, the Arduino stuff was obviously very appealing to people, so that's sort of where I started growing my audience, because it was a really good way for them to learn how to get started, but also just watch somebody do something really fun; there's something I guess vicarious about doing that. Then I'm not sure how, but -- because I'm still puzzled as to why people watch me specifically - that's just grown and grown and grown.

I think when I wrote a blog post about my experience of doing it for a year, I released that in July - I actually went back and read that post just yesterday, and it says "Oh yeah, I have about 1,000 followers now, and it's great." I now have 6,000 and it's only been about seven months since then, so it's just gobsmacking how that actually happened so quickly over the last six months, I'd say.

The snowball effect.

Yeah, I think so. I think there's been a few retweets from people like Scott Hanselman, and SwiftOnSecurity, and that tends to drive a lot of audiences, and then I do tend to retain a small percentage of them once they've checked out my stream.

Well, I'd say that that post I think was also instrumental, because as I said, Twitch as a platform for open source live streaming is a newer thing, and like you said, Nolan Lawson was a bit of inspiration to you. And this post, I've seen multiple people - we'll link it up in our show notes... As Suz says, it's called "Lessons from my first year of live coding on Twitch", which she published on freeCodeCamp's Medium last July.

It has been cited -- I've seen it cited multiple places (I know we've put it in our newsletter back then) and people are using that as kind of their Twitch live streaming bible, so to speak, the starting place... To either inspire them to do it, or to even just see the technical bits and bobs you've gotta piece together in order to have a good live stream. So you've probably got a bunch of people watching you, to see how you do it, because maybe they wanna emulate that success

Yeah, I think so. I definitely wasn't the first to live stream code at all. I started streaming maybe at least a couple years after the first round of people started doing it, but I think the difference with me was I sort of came out for air and reached out to people and broke through that fort wall of "Oh, that's actually been my experience with it and here's how to actually get started if you wanna do it", rather than just being one of the select few that starts doing it and keeps doing it.

Where does this fit in in terms of -- because I don't know you that well, I've just met you today; I'm a fan of what you've done over the years, but do you have a full-time job? Is this something that you're pursuing doing full-time? How does that fit into your motivation for doing this?

That's a really great question. When I first started streaming, I was a full-time front-end developer at Kickstarter, which is the crowdfunding platform... And I was doing quite a bit of open source and also public speaking and just side projects outside of that. Obviously I had pursuits that were different to just what I wanted to do in my day job, and so this literally just started as another silly hobby that you just sort of try out and you see if it sticks.

What's interesting about that is I always kept it extremely separate. I have my streams held every Sunday; that's not a work day for me, so... I'm very strict about trying to keep just personal projects for Sunday to set a good example to people to not work on the weekend, if possible... Or at least on your day job material.

[00:15:56.26] From there, it actually caught the attention of Microsoft, which is where I work now. My stream definitely made me stand out from a lot of other prominent programmers in the community, and especially within roles such as dev relations, dev advocacy... So that's what I'm doing at Microsoft now, and it was a big reason why they noticed me and they reached out to me saying "Hey, you can keep your stream on Sunday, it's totally chill, but we can see that you're quite skilled at reaching other developers, so would you consider moving into dev relations as a full-time job, given that we can see already from your Twitch stream that you're great at talking to other people?"

So they didn't make it a requirement for me to stream Microsoft-related streams, but it was great that that's what got me noticed in the first place.

It's interesting that that's a pathway to future employment... Anything you do like that that helps you stand out is certainly gonna have an effect on future employment or future opportunities, and that's just interesting that they directly -- it's not even just part of your resume that they liked, it was like THE thing that got you noticed to stand out.

Yeah, I actually think it's quite hilarious that it happened that way, because the biggest fear I had about getting started with streaming was okay, well everyone kind of barrels through something they don't know how to do, and they tend to do that in privacy; most people only push out their very polished commit even in the workplace. And a lot of people are quite intimidated about pairing with most senior developers, because they're worried about their reputation, and being found out to be impostors, and all that kind of self-esteem stuff.

You know, it's very hard to separate yourself from your code, right? So I thought that if I stream myself, which I always joke that you are at most 50% of the programmer you actually are when you're not under pressure, having a couple hundred people watching you code... So I even feel like on Twitch I'm not actually representing the best programmer that I can actually be; I'm actually representing a much worse programmer than I am. And so I actually thought that if I start streaming and people find out and they assume that this is the best that I can do, maybe this will actually make me unhireable instead...

Oh, boy..

...so I think it's really funny that Microsoft reached out, because I was like "Are you sure? Because there's a lot of crap that I've written on this show."

Right... That's hilarious.

It is hilarious. To show some similarities, an inner tagline for this show is that "We face our impostor syndrome so you don't have to", and the 'you' is the audience listening. And so rewind, less than five minutes ago, I'm like "I don't really know you well." I could have easily looked at your bio and said "Hey, she works at Microsoft." I could have looked that up, but I hadn't done that yet... [laughter]

[laughs] You outed yourself.

Yeah, well we own the fact that -- I'm being real; I wanted to ask her "What do you do? How does this affect your employment?" I could have looked that up, but I didn't.

You're never gonna get a job in podcasting again, Adam. You've just ruined it. [laughter]

There you go. I was so close... So close to being a pro.

[laughs] No, I'm really glad you asked, because I really did think that this would affect my job prospects by doing this. It's had the opposite effect, which is really cool. In my current job, that basically said that if you wanted to do some streams, to do it with Azure, which is what I do a lot of dev relations around. I'm trying to make it easier for the developer community's Azure services, particularly IoT, and I have actually run some streams during work hours, which feels so weird to me, because I'm like "This seems like I'm having too much fun during work hours", you know what I mean?

[00:19:56.03] Yeah. That's really cool, though. It's really interesting too to take a hobby and mesh it with I guess legit work, so to speak... To not just be fun things, but also to be something that you do. And I find that the world we live in today - I was just telling this to somebody who's newer into... Somebody who's 21, basically, and I was like "You know what, I'm 38..." - so I had some years on this person, and I was saying that in my... It feels so weird even saying this, Jerod, I'm sorry, but in my day...

Oh, no...! [laughter]

In my day, we didn't have permission to just publish our ideas. We had to get a printing thing, or something like that... We didn't have the internet like it is so ubiquitous today. And I was just telling this person, the internet, if you don't understand this like this - it's a free printing press. Without any hesitation, you can liberally just publish your ideas, where that's been never done before in history; now it's there. We didn't have that when I was younger; you had to ask permission. Now you don't have to ask permission anymore; you have permission.

Unless you publish your ideas on other people's platforms, and then you can definitely be censored, as we're finding out issues around that stuff; it's happening.

Yeah, of course.

But yeah, absolutely.

I have a funny story about that. When I first entered the Node.js ecosystem and saw NPM the package manager, I actually asked "Oh, who do you ask for permission to publish a library? How do you get somebody to review your library to see if it's good enough to be on NPM?" and people just laughed at me. They're like "You just publish it, you just push it", and I was like "What does that even mean?" Because I'm so -- even though I grew up basically having access to the internet maybe shortly after I was a teenager, I still felt that there were just certain parts where you had to prove yourself first, or you had to be good enough in order to be able to publish.

Break

[00:22:09.02]

Suz, we were talking about impostor syndrome and how we face it on this show, usually talking to people we look up to, like yourself, so other people can just wait in the wings and watch... And very much, Adam, I think live streaming might be ultimate punch in your impostor syndrome, right in the face, because it's like "I'm just gonna code right in front of anybody who wants to watch." I'm wondering if there was any leaps you had to take to get going, or maybe even anything you could say to somebody who's considering it but they're just feeling like - maybe like we do sometimes - "I'm not interesting, my coding sucks", what have you. Did you have to convince yourself to it, and do you like to convince other people that it's worth a try?

Yeah, I definitely deliberated for more weeks than I should have, and I find that that's what people tell me when they say it. They're like "Yeah, I bought the microphone, I set up OBS and I have the project I wanna work on, and then I just keep saying, hm, maybe tomorrow I'll feel ready to do it." You're never gonna feel ready. It's exactly the same as when you're getting up to give a talk in front of an audience. You can't just say "Oh, can I just do it tomorrow instead?" It's like, "No, everyone's actually here, so you should just do it."

So given that I have public speaking experience, I try to think of it that way, as in like once you get into it, once you hit record and you get over those first terrifying five minutes, you'll get into a groove. But I still felt that, similar to public speaking, I had to over-prepare beforehand. For the first four streams I actually did end up practicing the feature I was gonna develop, or just seeing whether I was gonna hit any gotchas or whether I was gonna have to look up anything in documentation, and I basically rehearsed it and then saved that code into a different branch in my repo, and then sort of studied it in the morning before turning the stream on.

So I would say that that's kind of the cheaty way to do it, because sometimes that can come out as very forced... But you know, you're still gonna forget a few things, even if you think you know how to actually do it. So it should come out pretty natural...

Once you've done that a couple of times, you'll realize that "Oh, this is way too much work for me to prepare beforehand, and I sort of feel much more comfortable just winging it", and that's when you'll really start coming into your own with streaming.

So that's been my personal experience. I'm not actively discouraging people from rehearsing for the first few, because that absolutely helped me build that confidence to finally hit that Start Streaming button.

Good advice. So if you need to practice or prepare as a crutch to get started, there's nothing wrong with that, but ultimately, as you get comfortable, just like it is with public speaking, the more you do it, the more comfortable you get; or with podcasting, or what have you - you need less and less of those things... But if that's what you need to get started, then that's what you've gotta do.

[00:28:00.10] I'm just curious, one of the thoughts I have around live streaming, especially with my style of coding, is very much me either pacing around the room thinking, or like just googling the crap out of stuff, or changing my mind over and over... Is that the kind of stuff that is totally normal, and people live stream in their open source? Or is that something that you do? Or you're just like going down the road, and you throw it away, and that's all a-okay on live stream?

Yeah, that's certainly normal, and I think that normalizing that is really important, because I think we all secretly have habits like this and we all think that we're the only ones who do it, and that as a result we are the ones that are not the good programmer, and that everyone else around us are the good programmers, right? So I definitely feel that that's why this medium has been so important and refreshing for people, and that's why being authentic on your stream is really important.

Just to give you an example, I started something that's actually still scary for me on a live stream recently. I picked a really large project that I've been putting off for a long time. It's gonna involve refactoring three different libraries that were written by three different programmers who have kind of handed the keys over to me to keep maintaining, and I was gonna have to to a degree refactor some of my own code as well, just to release what seems like a really basic feature. And I always told myself "I'll find time for it eventually", but then it became pretty apparent that the most time that I have these days is when I actually sit down to stream the work.

So there was a lot of planning involved, there was a lot of brainstorming, so I pretty much just started letting people into that. I would open up just my scratch pad where I keep notes, and I started a new page in front of everyone, and I said "Okay, here are all of the events that we wanna surface through, so that people can kick off basically a process with this library, and then they can receive progress events on how that task is actually going and how close that task is to completion." I basically just gave them a look into how I plan out a feature, and how I end up brainstorming what I need to research first, and even just dumping something on a page that's not that great, but you can kind of go from there was probably the most important thing I could have showed them, much more than code.

As I've gone through that feature, and you probably saw that in Munich - I was incredibly jet-lagged, and I was trying to get something done... But you see me go back and forth. I'll say "Oh, I think that the object signature should look like this", and then two seconds later I'll say "Oh, but actually what if you were in this case, or what about this edge case?" Then you see my kind of freeze for a second, and then I realize that to keep moving, you just have to make a decision and make something that you can change later on.

So it's definitely made me a better programmer in the sense that when the heat is on you, when everyone is watching, when you wanna stay productive, you actually become much more accepting of "Just get something down, and you will then discover what needs to change afterwards." That's been really scary for me, to show a really big long-term project where I'm not actually 100% sure how to solve it from beginning to end, and I think that's been really positive for people to see.

Very cool.

That makes me think about a theory I've been kind of mulling over recently, which is that the -- I think people undervalue iteration. You see this with companies who are successful, and you're like "Wow, they came out of nowhere", and it took like ten years to get there. The sort of overnight success that took ten years to take place. It's similar, in the sense that you're talking about code - well, that code had to evolve from you walking around the room, thinking about it, to your first stab at it... I think we undervalue the concept of iteration and the time it takes; you can't just microwave something into existence and immediately get there. It actually takes thinking through the problem, failing a couple times and getting to success. Iteration is a process you go through, not get to.

[00:32:11.19] It's so true, and this feature is the perfect example of that. It was an issue raised on a GitHub repo, and it was something I wanted to actually work on before somebody asked for it. It seems so simple; it was just when this Arduino is having code uploaded to it with your tool, I wanna see a progress bar. That seems so simple, but what was cool is I got to take the audience through "Okay, well when we talk about Arduino, we're talking about three completely different protocols, and depending on the board you're flashing, you're gonna be using one of three protocols." That means these three separate libraries need to be emitting events, and they all kind of work in their own way and they all have to basically emit events based on literally opening and loading pages of memory in the registers of the chip, and every time they write a page, we have to bubble that up and somehow compute the percentage based on that.

So what starts off as "Oh yeah, there should just be a progress bar, no worries" becomes literally triple the work that somebody probably initially thought it was, and also just like diving deeper and deeper, closer to the metal, in order for that to happen.

Very cool. How much of that context do you feel like you need to reiterate as you start your next stream, for the people who are either new, or are you -- do you have a core audience that's just there every single time, so the context is implied...? How much time do you spend regrouping each time that you start a new session?

That's such a great question. It's something that I definitely try and do every single time, but the amount that you do is definitely subjective. A lot of the time I am working on -- so the library I've been talking about for this podcast has been avrgirl-arduino, and I work on that a lot. So I have a couple of chat macros where if someone wants more information, I can actually just drop a little command in and it prints out a whole section, and it links to the GitHub repo and explains briefly what it is... But I usually at least start every single stream with something like "Oh, here's the library that I'm working on today. It does X, Y and Z, and today's we're looking at this issue on GitHub here", and then I'll paste the GitHub link in the chat.

So I sort of try and set up the scene, so that if someone comes in later and says "Oh, what are you doing?", my community can immediately say "Oh, she's working on this issue. This library flashes boards. Read the readme and let us know if you've got any other questions." So it's sort of like prepping the preppers, or teaching the teachers. It helps them to then bring other new people in the community, and that means I can focus on the code.

I imagine that it's probably people who are even so involved that maybe they come up with better ideas - or different ideas - with you or for you, while you're actually trying to decide perhaps an architecture or a route to take with certain issues... Have you ever found out that's the case, that the chat room or certain contributors are actually, like live coding -- I'm just trying to think of it like, can it actually feel like pair programming?

Yeah, so I think in my Medium article I joked that -- I call it 'massively online pair-programming'. So like a game, but instead everyone's sort of mob-programming with each other. It's definitely that. I get everything from people putting out typos, which is pretty high-level, to someone sending me a paste bin saying "Here is the code that I think will be slightly better, and here's the code that--" sometimes I'll talk back and forth with people in chat, and because I've got my mind on 100 different parts of the stream and also the code, I don't quite get what they're saying, so they're patient and they'll send me a GitHub gist or something that explains what they were thinking. That's actually really super helpful.

[00:36:02.19] There have been times where I've sort of felt myself going on a tangent, so I've just immediately crossed over, opened a GitHub issues, said "You're all free to take it if you really want it", and by the time I've ended the stream, someone's actually done that work for me. So it's also been this kind of weird thing where I can fork off that work, so that I can keep away from the yak shaves and that's been a really great way for people to collaborate with me beyond just chatting with me live.

So it sounds like your style is collaborative, whereas... Is it normal for people using Twitch to live stream - is it always the case where you feel like you have to interact with those watching, or is there someone who broadcasts, and someone like you who interacts?

I think it really depends. There are a lot of people who are just doing their homework, they're going through college and they're doing their homework. They don't have their webcam up, they just literally have their screen, and they use it as a motivation.

There are other people who stream every single day, because they're working on, let's say, their own business or their own open source library full-time, so they're not necessarily always going to address everyone in the chat because they wanna stay productive, and things like that.

So I think there are no rules when it comes to that, but I know from experience that if you're going to stream yourself doing things, you're not going to be doing it for eight hours a day; it's in your best interest to build that community and to constantly interact with them, because that's where the actual benefit is - it's doing those things together, not just having a very static stream where people may as well be watching a YouTube video.

So the point you're doing it for is the interaction, is the community, not just to say "Here's me working, now watch me work."

Right. I mean, I know that people aren't just coming to my stream every Sunday for me, they're also coming there for each other, to chat with each other. We have this tradition where I will turn my stream on around 11 AM; I will just put it in like a little stand-by screen, saying that I'm coming on soon, and people get a notification that I'm streaming, and they'll just -- everyone comes in and asks each other about their week; they're like "Oh, what are you working on right now? Do you have any side projects going? What did you do at work this week? Are there any cool things you're excited about?" and so there's this really cute tradition, and then when I come in with my coffee and turn the actual real stream on, I have all these different things where I can say "Oh, that sounds really cool. This is what I've been up to."

So there's so much more than just "Oh, I'm sitting down and writing code in front of people." It becomes a family, and it becomes something extremely unique that you just don't see elsewhere.

That's an interesting Twitch act, too. I haven't investigated this further, if that's a Suz-only thing or not, but starting your stream before you actually start your stream because you leverage the platform of notifications that they have built in, and you sort of like pre-stream, so to speak... I don't know how to describe it, but that's really interesting to do it like that. That was way you sort of have like a -- you're pre-filling the queue, so to speak, with like interactions in the community. They get their five minutes prior to the stream starting, or whatever the timeframe is. That's an interesting hack. Is that something you've learned, or is that something that --

Or everybody does that maybe?

It's definitely something I've learned. It gives people the opportunity to come in, get settled before I start explaining what I'm doing, so it also helps me, because then I don't have to keep repeating myself.

So if everyone who's probably gonna join is there within the first ten minutes, then that's like kind of the critical mass that I'm speaking to. And then as more stragglers come in, that's where the community is helping tell them what I'm actually working on. But I think it's kind of like when you have a user group meetup and you say "Turn up at seven", but the talk starts at 7:30; it just gives everyone a chance to talk to each other, figure out what's going on, get settled, maybe just run to the bathroom real quick... You know, it just gives people a chance to do that.

[00:40:04.01] I totally discovered that accidentally, and now it's at the point where... This is actually quite funny - I started my stream this Sunday and I accidentally left this little query parameter on my streaming URL that I have to stream to in order for it to show up; it's a little test query that allows you to see whether or not your stream is stable or not, so you know that you have a good quality stream... And there were crickets in the chat; no one was there, no one was talking to each other. I came back from making my coffee and it was just completely silent, and it was so noticeable and jarring for me that I really took for granted the fact that there were people already in there and being super-welcoming and saying "Hi." So sure enough, I checked out my streaming URL and it was the wrong URL. I swapped it over, and then people just immediately joined the chat. It was just really strange to think that I rely on that now to know that people are ready to go.

So you've probably had like a moment of complete self-doubt, or maybe you thought the gig was up, and nobody likes you anymore.

They found out that you're an impostor and they left.

[laughs] She's like "Oh, nooooo...!"

That was exactly true! It was so true. I was like "Oh, that's it. I guess people just don't really care about it anymore. It happened very suddenly, but I guess that's okay." And I actually then teased myself, so when people came online, I said "You know what, when you all didn't show up, I actually felt kind of sad. I thought that everyone just didn't find it interesting anymore", and people were super nice to me. I was like, "No, you should be teasing me about that moment that I had."

Break

[00:41:50.11]

So Suz, when we look at the idea of live streaming, obviously, it fits great for gaming, because that's what Twitch has been built upon, and we'll touch more on whether or not Twitch is the only way you can do this, but I'm curious how this affects let's say the sustainability side of open source.

We talk a lot about sustainable open source, different funding models for whether you're gonna fund a project, or a person, or all these things happening in today's world of open source, and I'm curious how -- specifically open source, how does this fit into like let's say funding? I know you have the options to subscribe the people... You may not do this in particular, but how does this work, and is this an alternative to, say, Patreon, or getting paid to do full-time open source? How much have you thought about doing this with Twitch? How do you think about this?

I'm really glad you brought this up, because I think that we're sort of reaching that point in open source now where we realize that yes, open source won, but it definitely came at a huge cost - it came to a cost of people's time, and labor, and things like that.

[00:44:04.11] So on Patreon there are a lot of open source developers, and I do actually support quite a few of them for stuff that I do use, but also stuff that I just think is good that it's out in the world, even if I don't use their code... And I know that open source developers are constantly looking for other ways to kind of supplement their income so that they can continue doing this. I know that Patreon is a big one, because it's a subscription model, so it's a set and forget source of income, which is great for people to be able to do that.

I know that with YouTube some people try to create video tutorials on the side that generate a lot of views, so they can get ad revenue from that... And I definitely feel that Twitch falls into a very similar vein to those two sort of money-generating avenues.

I think with Twitch it's particularly good, because it sort of rolls everything together. Let's say somebody supports you on Patreon - there are actually webhooks you can use that announce that on the stream. So if someone subscribes to you on Twitch, for example, or if they donate money on Paypal to you, or if they sign up for your Patreon, or if they support your Kickstarter, for example, there's webhooks that allow you to be able to announce and celebrate that on the screen. So people get a much bigger reward than just knowing they did a nice thing; they actually get acknowledged on air, which is a big part of the appeal of Twitch, where you actually get to live-interact with somebody... So I think it could be a really effective way of doing it.

I think with open source it can be really helpful not just to bring in money, but just to find people to help you do that work as well, as we've discussed before. So I think that if you show the work you're doing, if you show people just how involved it can be to maintain just one library, it can really help people understand people the value of what you're providing; it can make you much more human, much more relatable, and people will obviously have a lot more empathy for what you're actually trying to achieve. I think that Patreon does that to a degree, where you can write personal posts to people and send them certain rewards for supporting you, and I think that Twitch is an excellent supplement for that, rather than just a drop-in replacement.

Yeah, it's like -- I don't really feel like you have to choose one or the other. I was just curious, like -- because I don't think subscribes are visible to the public. I think they're only to you as the publisher, right? If we can maybe break down some of the mechanics, so to speak - you've got follows, which is like any social platform, it's free. Then you have the option to subscribe to somebody, which I believe you can give somebody a free subscribe, which I'm not really clear what that means, but then you can also choose to subscribe at a base rate, or these higher rates... There's like three different tiers, but I think they all do the same thing.

Then you have this concept of a Bit, which seems to be either custom art or purchased art that I think just jumps into the stream as like somebody gives you essentially money as an artistic object that shows up in your stream. Did I break those down well? Is that a good assumption of how those things work?

Yeah, that's pretty spot on. The follow is just really showing that you want to know when that person streaming again, and it's just showing that you like their stream. With subscribing there's three tiers, like you said, and a lot of creators on Twitch will set certain tiers where the higher you subscribe, the more perks you get; so it can be very similar to Patreon in that model, where maybe every six months you send people who pledge to the high tier on Twitch, you might send them a personalized postcard, or a thank you. There's a concept know as custom emotes as well where you get to use this special emote that's only for the mid-tier or the higher tier pledging, for example. So there's definitely little perks you can offer.

[00:48:09.28] The Bits are actually like no-strings-attached, so you don't necessarily have to offer anything in return, but they're a currency, I guess, on Twitch. I think one Bit is worth one penny, and most people [unintelligible 00:48:23.09] a couple hundred Bits at a time, which ends up being a couple of dollars. It's just an easy way for them to donate to you, but also because Twitch integrates so well with Bits, because it's their own currency, you get a very obvious acknowledgement that you've actually supported that person, too. So it's almost like a gamification of supporting somebody... There's something in it for you, as well.

I saw a recent stream you did, you got - I think it was 10,000 Bits and you were extremely surprised; you were like "Wow, somebody gave me -- Thank you!" You were just thanking them, like that's a lot of Bits to get. I'm still learning the terminology, but you were really excited about 10,000, which I think based on your numbers there it seems like $100.

That's right. I'm just not used to somebody being that excited about me coding. You know, we've talked about how Twitch is for games, and they think that that's definitely still their model, and I've gone to TwitchCon, I've gone to their developer day, I've spoken to their developer advocates and their VP of developer platform, and I've said "I know that I'm not your main target, but there is a very unique ecosystem and a very amazing community happening right under your noses."

A lot of these income avenues are supposed to be much more sustainable for people who play games, because you have a very insatiable audience in gamers. They're a very intense community, so they bring a lot of monetary support and fandom to that. I'm not quite sure we've hit that point with open source fandom, so when somebody donated 10,000 Bits it was such a huge deal to me, because it's not really in the same vein as gaming, where 10,000 Bits might actually be much less of a deal. So it just blew my mind that someone appreciated the stream so much that they wanted to donate that sum of money.

They must have some, like you said, captive and very enthusiastic fandom. Also, a lot of disposable income, I suppose... Because you're just throwing around $100 bills like it's no big deal. I mean, for you it's a big deal, but like you said, with the gamers that seems to be more commonplace. That's really cool; I didn't realize that there was that level of finance coming into the system. I know that people were making livings on YouTube, and I've heard that there's certain gamers who live-stream professionally... But do you imagine a world where certain open source live streamers could potentially hang up their shoes - is that what you say, hang up your shoes? I don't know, quit your full-time job and just be a professional live streamer?

I think that depends on your circumstances. I know in the U.S. that can be quite hard, because you require a larger sum of subscription in order to make that happen. There are gamers that have 20,000 subscribers, and even at the base-level of $2,50 that they get from every subscriber, that's a lot of money, right?

That's monthly?

That's monthly, which is a lot.

From what I understand -- so I think the base level is roughly $5 (USD) and I think if I understand the mechanics too, that's a split, even split with Twitch the platform and you the publisher... Is that right, Suz?

[00:51:48.00] That's right. Out of every $2,50 sum comes your share of taxes that you pay back, and also health insurance and all of those things that you actually need to provide for yourself, given that you're now self-employed. So I guess my comment is that in other countries where you have universal healthcare, you have really good public services, you could probably start doing this full-time with a lower number of subscribers and with less risk, if that makes sense. So it's definitely feasible in some cases, but I would say that most people wouldn't quit their jobs unless they were making at least $2,000-$4,000/month in subscriptions, and even then that's a pretty risky endeavor at that amount.

Yeah. Well, at a 50/50 split we know who's really making all the money off this - it's Jeff Bezos and Amazon. It's the platform that's making all the money. [laughter]

A trillion dollars...

Oh, boy...

Yeah, to be honest, I mostly turned on subscriptions on mine, so you have to kind of reach a certain bar with Twitch, as well. You have to prove that you stream consistently and you stream for X amount of hours per month. There's a bar to pass, so that you are definitely giving your audience what they wanna see, right?

That was my next question, because YouTube has a similar threshold. You have to have a certain amount of viewed hours -- some sort of bar or consistency that says you're a viable person to essentially allow into the pay models of this platform.

That's right. Twitch has two levels, where you become either an affiliate, which is the base level, which they only introduced last year, and then you become a partner, which used to be an invite-only and it was mostly just gamers and some people who stream creatively, such as cosplay producers and things like that. So that's definitely something that you have to pass first.

I've been streaming for just over a year and a half, and I hit those numbers a very long time ago, but I didn't turn it on because I have a full-time job. The main reason why I turned it on was because people really wanted to show their appreciation, and it was basically outside pressure, where they said "Oh, I can't always join the stream but I'm so happy that you're doing this that I would just love to set and forget just a small contribution every month.

So to people, that can be really meaningful for them to contribute that, even if you didn't necessarily need it yourself. Then you can actually donate that to charity, or you can put it aside to reinvest back into your stream... But it does actually strengthen the relationship with your audience to a degree, even if you didn't necessarily think that you needed to do it in the first place.

It would be cool to take some of those funds maybe to buy yourself lunch or something special while you stream. Here in Texas we have this really awesome sparkling water called Topo Chico; it's actually Mexican water, it's pretty cool. It's good. If you come to Texas, have it, please. But if I drank a Topo Chico while I did that, I could be like "This Topo Chico is sponsored by you, the community", that kind of thing. [laughter]

That's a really good idea. There have been cases where people have donated to me when I've said something like "Oh, I should really pick up this board, so that I can make it compatible with avrgirl-arduino", and then someone will literally send me like an Adafruit.com (a microcontroller vendor) voucher, so that I can actually order it, which is so nice...

So usually on the next stream I'll say, "Hey, so-and-so actually enabled this to happen", which is really cool. So that's definitely something where people are also very happy to have like a very specific thing that they would like to enable for you, or make it happen, which is really sweet. I think that can be a bit better than just "Here is X amount of dollars."

So just to be clear on this one point before we move on to some other things... You do have the option to turn on or turn off this funding portion, so it's an opt-in on your part, the publisher, or the streamer, so to speak? Streamer is probably the more correct terminology.

[00:56:05.17] That's right, yeah. So you don't necessarily have to do that... You can also become part of the affiliate community or part of the partner community without actually having that subscribe button as well. It's a perk of passing one of those bars, but it's not necessarily required.

You work from anywhere, you're a remote worker, right?

You don't have to go into an office...

I wrote a post recently just about the loneliness that potentially comes into those who work from home... Do you feel like this is an outlet for you to hang out with people where normally you would just be hanging out by yourself on a Sunday, rather than with a community of several thousand people? Is this like human touch to you, so to speak?

It's funny you say that, because even though my job is really public, and even though I do a Twitch stream, and I do a lot of public speaking, I think people get the impression that I'm really extroverted, and I'm just actually not.

I think I care more about helping others than I do about my own introverted comfort, if that makes sense. I've found that streaming on Twitch has been a much less over-stimulating way for me to meet new people, to help other people also become better programmers, or just help them make new friends, and things like that. It's actually been better for me to do that, because I still get that social hit and those social interactions, but it's usually not as intense as being in person. So I definitely think that that's been a really nice thing that I've had where I can catch up with a bunch of people who are quite literally regulars now on my stream, but I don't even have to leave the comfort of my own home.

Would you say, now that you've done this for a while, that you look forward to it? That without this interaction you would sort of like be missing out or be depleted of some satisfaction in life?

I definitely feel that my open source work is not -- it wouldn't be the same without them for sure... And like I said before, when I turned on my stream and I had the wrong URL and no one came, I felt so sad, and I think that definitely was proof to me that I look forward to seeing them just as much as they look forward to seeing me. I do tend to say that a lot on my stream, I'm like "I'm just so excited that you all are so positive and that you all helped me, and I just want to thank you for joining me." That's something that I'm always gushing about just before I turn off the stream.

So I definitely think that -- I don't think that my open source life and my Sundays would ever be the same if I lost that community.

I feel you, because when we do these shows, like this show we're on right now - I look forward to this; I look forward to spending time with Jerod... We don't rehearse these shows, I don't know what his perspective is, in many cases I'm surprised; having done this show so much with him, I do kind of understand him and I kind of anticipate how we'll both sit on certain issues or certain stances or what not, but I look forward --

You get my jokes...

Yeah, I get your jokes... Some of them. [laughter] But I look forward to the time, I look forward to this. We don't have a live audience here with us, but... In my case, I'm a remote worker, I work from home, so I don't have a lot of reason to go out and hang out with "real people" all the time. I have my wife and my son and my daughter and friends and different stuff I do, but nothing forces me to actually hang out with other humans, other than my immediate family.

So in a lot of cases, for you live streaming in this case, and me and Jerod - or me in particular - this is an outlet for me to hang out with other humans, and I look forward to it. So I was just curious how that plays into your life.

[01:00:02.08] Yeah, I really don't like it when people say things like "Your friends on the internet are not real friends" or "That's not a real community" - I totally disagree. I think that when you feel that you're in a certain niche or you're only interested in things that not everyone is interested in, it can be really difficult to find those friends in real life. If you wanna talk about things -- like, if you wanna have a LAN party for example, back in the day you'd be dragging a bunch of computers to somebody's house... And that can be really fun, but it can be really tedious and it's really hard to expand your group. But now when you're playing games online with each other and you're talking to each other via Discord, for example - that is just so much more scalable and it's just as real as if you were sitting in the room with those people. I totally discount anyone that says "Your online friends are not a real community", because it's just not true anymore.

Yeah, I agree with that. I think there's degrees of disagreement, but pretty much I agree. [laughter] I've actually had a thought about this, and I'll say this just for the sake of not really trying to disagree with you, but more of like a thought I've had recently, that I've still been meshing on, so to speak, and it's that I wonder if people that in the scenarios if because there's -- you may have the online attachment to them and this community aspect, but I just wondered if it's easier to disconnect from those kind of people that you don't see face to face? Because for example arguing with somebody face to face versus in Slack is two completely different scenarios, and it's easier to disconnect from people that are digitally connected, than face to face connected. That's the thing I've been mulling over...

Disconnect good or disconnect bad?

Well, just... Maybe the easiest way to say it is like "drop it like a bad habit." [laughter] That's something I say for funnies, but I think that, like, "Could you drop me like a bad habit because we have a digital connection, versus a face to face or live connection?" That's my varying degree of disagreement. I'm still thinking about that one.

Well, bad habits are actually the hardest thing to break... But [unintelligible 01:02:14.03] so I'll just stop there.

What's that? Say that again...?

Bad habits are actually really hard to break, that's why I don't understand your statement... A bad habit is very difficult to break, that's why it's a habit, and it's bad. Anyways. [unintelligible 01:02:30.18] You knew I was gonna do that, you get me now.

Come on... Take it back, Suz. Bring us back into "How do we get started on Twitch?" That's what I wanna know. We wanna do this, we wanna check this out... What's our first step?

Yeah, that's a good point. So I would definitely recommend - get started with what you have. If you have an old pair of Apple iPhone headphones with a little microphone on it, go with that. If you have a laptop without an external monitor, it doesn't matter. For me, don't feel like you have to have this super professional setup to get started, which is what I'm sure that you tell a lot of people who ask "How do I start a podcast?"

Get the best mic...

Get your stuff going, and then if you know that this is something you wanna commit to, that's when you can start investing from there. People make the mistake of -- they also procrastinate by ordering stuff, right? They're like "Oh, well if I ordered this stuff, then I have to set it up, and that means I don't have to start today", and things like that. So I usually just say, go as low-fi as you can, download something that doesn't cost any money, such as OBS (Open Broadcaster Software). It's an open source cross-platform piece of software that a lot of streamers use.

[01:03:51.22] You're already going to find things that plug really well into it, you're gonna be able to find a lot of YouTube tutorials on how to use OBS, and a lot of blog posts as well. So definitely go with what everyone else is using, and go with equipment you already have, and then basically just work yourself up from there.

Most people just want to see your desktop, so that they can actually see what you're working on, and they wanna see your webcam. So don't go overboard with all the widgets and things like that... Just kind of like watch a bunch of streams, find what you think would work for you and just sort of start experimenting from there, and just begin with the basics.

What about hiding things? Is there anything you do to prep yourself, to say "I've got some secrets on my computer"? How do you make sure that no one sees those things? Is that an issue for you?

Yeah, everyone always asks about this, I love it... Because to me, I just saw that as like "Oh yeah, I'm gonna have stuff that I need to hide, so I'll think about this..." A lot of the time I'm working with APIs, especially when I'm doing my Azure streams - a lot of things have secrets where I don't want people to see that. So if possible, ahead of time I'll start a new directory and I'll just say to people "Hey, here's this .env file (which is what we tend to use in Node.js), here's a sample file where it doesn't have the values in it. This is what I've got stored here, so if you see me referring to any of these variables, it's because of this." That tends to be really helpful for people.

Then I have a couple of Chrome extensions that will hide private data in some if the different management consoles that I use. In Azure, for example, which I'm in a lot, it will blur all of my keys, and even just like my e-mail address at the top, it will neutralize that... I try to be as careful as possible.

There are definitely times where something has just not worked, or I need to refresh an API key or something and I have a really cute little cartoon picture of me with a little padlock, and it's a secret, and I just have it so that I can hit a key on a keyboard and it will sort of cover just the desktop part of my screen. So everything else on my Twitch feed is still visible, and you can see my webcam, but I'm just sort of like arranging things without people seeing, and then I can just toggle it back off again. So if you have multiple strategies, you tend to be okay. I have literally popped open a local storage console in the dev tools before, and I've accidentally left a prior API key in there, and I've just said it laughing, and then I've navigated to the website, clicked to cycle the token, and then I've moved on.

So it will happen, you've just gotta mitigate the risk of "Is this going to be the end of the world if I accidentally show it?" and maybe just decide whether or not you're actually going to show that project that day. It really is about mitigating risk. But most of the time, you're just rotating a key, because you accidentally showed it. It's actually not too much of a drama.

I'm always worried about things like that... Like Jerod shared before the show, like "What if they see my password?" You've got all these little fears... And there's YouTube videos out there of extreme Twitch fails, which can go really extreme, or just really benign, like whatever... Because being live, things happen. That's the easiest way to say.

Have you ever had an embarrassing moment, Suz, throughout your year-and-a-half?

Yes. One of my favorite things was I was trying to test out my library with an Arduino, and I'm running the code and it kept coming out with the error that I wrote myself, right? It kept saying "No Arduino board found, No Arduino board found." And at that moment, especially when live streaming and you don't know what's wrong, you don't just get up and make a cup of tea, you're just frozen. You're just completely paralyzed and you're like "This is boring for them to watch; I can't figure it out. Oh my goodness, what am I gonna do?" I'm just completely stuck, I don't have anything to go with. This code worked literally five minutes ago... And the problem was that I had two Arduinos on my desk and I picked up the one where -- so an Arduino board is basically an AVR chip and it's put into a socket, and then from there they break it out into these really easy-to-use pins.

[01:08:15.25] So the Arduino is made up of those two pieces, and I just happened to have popped off one of the microchips on an Arduino board because I was using it in another project, and I just picked up that board; there was no chip on it. The chip's not gonna answer back when I talk to it if it's not actually present... So one of my Twitch viewers - and he's actually very knowledgeable about hardware. He lives in Hong Kong and he commutes to Shenzen a lot; he was just like "Suz, the chip is not on the board." [laughter] I looked at the chat message and I'm like "Don't be silly." And then I picked up the board and I was like "Oh my god, you're right." I actually have a YouTube video of this in my blog post where I'm just like "I cannot believe I was trying to talk to a chip that literally wasn't there..."

Wow...

That's hilarious.

They're the little moments that everyone really likes, and that's why you should live stream. It shows that you're human, and also people get that little hit of dopamine because they're like "I helped" or "I was right." It's like playing a game show from home.

That's awesome.

That's really interesting. I mean, especially the humanizing part of it; it's like "Even Suz messes up."

Right.

Yeah, which I find hilarious, because I just don't see myself in that way, so when people are like "Even Suz messes up", I'm like "I mess up all the time, what are you talking about?"

There is proof!

There's no perfect Suz that you're thinking of. She literally does not exist.

Maybe let's close with this, Jerod, unless you've got something else you wanted to cover...

Well, I have a thing, but we'll see what you say. Maybe it's the same thing.

Okay, let's see if it's the same thing then. What advice could you share? We've covered different parts of your life - you work at Microsoft, dev rel... There's probably lots of facets you can give advice back to, but if you have the ear of the developer community to share some crucial advice, what's one piece of crucial advice you would share back to the open source community and the developer community to say "This is how you get started with something, this is how you take your first step..."? What is some good advice that you may wanna share on this show?

I think my biggest advice is to always stay curious. I know that one of my friends online who runs Fun Fun Function, Mattias, he always has that at the end of his videos, he says "Until next time, stay curious." I think that if people continually ask questions and ask them with good intentions, I think that that lowers the barrier for more junior developers to be able to ask questions too, and then it just stops this kind of weird thing where we're always trying to seem smart for appearances. I just feel that everyone is a beginner at something once, even if they become an expert at it later on.

You always have to start somewhere, and all you have to do is have that curiosity to just start something. It's the same with Twitch - you just have to be curious about "Hm, I wonder if people would actually be interested in what I'm doing. I wonder if I could make this into a thing that I can commit to every single time." You just have to be curious about what your capabilities are, and just assume that you can have a go at something.

Alright. Jerod, what about you, man? Was it the same?

No, it's different, but...

It's different, I like it.

But we'll close on this one... So speaking of being curious, I'm curious about other people live streaming on Twitch. We have Twitch.tv/noopkat - that's Suz; we've been talking about your channel and your community. What about some other people? When I go to Twitch and search for open source or search for programming, I find a bunch of gaming channels that are named like they might be programming channels... And I'm wondering if there's like a group of live streamers like yourself, if there's a list somewhere... Other channels that people could follow, that are open source, or even just hacking in general.

[01:12:08.12] Yeah, that's a great question. It takes a long time to find the people who you want to watch and who have a very similar personality where they interact with the chat a lot. My biggest recommendation is to check out my friend Tierney's Awesome Developer Streams repo on GitHub.

He has a bunch of people listed, and every single person has their own page that has their Twitter, whether they stream on Twitch, Mixer, YouTube... You know, wherever they actually are, and how often they stream, which is really cool. I think he's been able to curate a really good list, and I can also give you any extras that aren't already on there... But there is a bunch of us that have found each other and we all sort of send our community to each other's accounts and things like that, because we all have a collective goal to create really nice, inclusive and informative streams. So that's definitely what I'd recommend checking out first.

Very cool. Is that...

You're at the top of this list.

...bnb/awesome-developer-streams?

That is it. I think it stands for [unintelligible 01:13:08.25]

Yeah, you're number one on this list, so now I know why you're using this one. Just kidding.

[laughs]

And there's a lot more, too.

There's a whole bunch of them.

There's at least 30 or 40, I would say... Just a quick guess.

Yeah, that's a great starting place.

Yeah, it's really heavily curated. I've actually met some of these people at TwitchCon and we've discussed tips and tricks for coding streams, and things like that... Because we're also a niche community, so it's been really difficult for us to find each other. So I'd say that Tierney has done a really good job at connecting ourselves, so we can kind of watch each other's streams, and learn from each other, but also share our community.

Interesting. I like this. This is -- it's similar to podcasts; the most often way you find out about new and interesting things or things you should be paying attention to is usually word of mouth, because the directories are just so massive, or have so much to offer... It's hard to sort of slice it down into "These are the ones you can focus on" or "This is what I can recommend."

I mean, obviously, you've got iTunes and whatnot and other areas, but we're recommended on Twitter a lot, and I find that's the best way for me to even find podcasts - personal recommendations. Usually Jerod, usually.

Usually me, yeah. I'm kind of a podcast junkie.

Yeah. What's cool is that Twitch has this thing called raids... I don't know if you've heard of raids.

What you do is when you're finishing your stream, you send -- it sometimes uses a [unintelligible 01:14:41.01] technique, but you send or you [unintelligible 01:14:43.15] all of your community onto someone who's just started streaming at the same time as you; you're like "Go to this person, go say hi!" So sometimes you'll get an influx of like 50 people coming in and saying hi all at once, and it can get very overwhelming. So you can turn off that feature, but it started as an unofficial thing, and Twitch actually integrated it fully into the system. So that can be a really good way of kind of like passing people along, so that they can discover new things, and I find that that's extremely unique to the live streaming community, especially in gaming.

That's very cool. I've never heard of that. That's a great idea. I can see how it could definitely back-fire for people who are just getting started, that suddenly you have an influx of viewers.

Yeah, absolutely.

Yeah, absolutely. We'll definitely link up this repo too, because sharing lists - we have an awesome topic (literally, an awesome topic) on Changelog News, where if you go to changelog.com right now and you follow, we... If you haven't been there in a while - this is speaking to you, Suz, as well as the listening audience - let's say if you haven't been there this year, go there, check it out. The news we ship out every single week in our weekly e-mail called Changelog Weekly is now a real-time (as much as it can be real time) news feed on our frontpage, so... We're gonna go there and share this Awesome Developer Streams this week in news. We like doing that, we like to share that.

[01:16:12.28] We also have a topic, which is technically a tag, to some degree, that's called "awesome", and it's all the awesome lists out there... So this will join that--

...that awesome topic.

[laughs] Full of awesomes.

Before we go, I wanna give a shout-out to another live streamer, one that we know quite well... At least we know him by his handle, which is joebew42 on Twitch. He's been live streaming while he contributes to open source, and lately he's actually been contributing to our website, which has been very cool.

Changelog.com is an open source Elixir app, and Joe has lovingly crafted a few features for us, including a JSON feed, which he just recently added... So it's been very fun to watch him live stream as picks through mostly my code, and second-guesses all the things that I do. It's very fun kind of meta, but he's a great live streamer, so maybe I should open up a pull request on this list and get him added. Joe, thanks for streaming and thanks for contributing to our open source projects.

Absolutely. I think it's interesting too, because it's - as well as Suz - a source of inspiration. I didn't think anybody would grab our repo and start setting it up live on Twitch, and showing off all the areas where maybe it is or is not easy to set up, like the first time you're on a project, and what goes into getting an Elixir app running and whatnot. That's what he did first, and that was really cool. It's inspiring, that's the long story short.

Well, Suz, anything else you wanted to cover before we go? I know we've taken up quite a bit of your time, but I'm sure you've got lots to share. Anything else you wanna cover before we close out the show?

No, I think that's it. If anyone hasn't checked out live coding streams before and they're just not sure whether or not it would help them learn things as a developer, not necessarily streaming themselves, definitely check people out, because I think that it's something that is very, very different from anything else, and you don't have to be this hardcore gamer to watch people live streaming. I just want people to sort of see whether or not it's a medium that is really helpful to them.

So Twitch is cool for software developers, that's what you're saying...

Yes. Or YouTube Live, or Mixer, or a bunch of other different avenues, yes.

Awesome. Well, thank you, Suz, for your time today, thank you for all you're doing in open source. We really appreciate your time today. Thank you so much for coming on.

Thanks for having me, this was super fun!

Changelog

Our transcripts are open source on GitHub. Improvements are welcome. 💚

0:00 / 0:00