The Stack Overflow Podcast

Can't stop, won't stop, GameStop.

Episode Summary

On today's episode we discuss the collision of APIs, social networks, and stonks that produced the wildest stock market story in decades. Also, tools and tricks that make CSS less painful and the difference between open source, and open for contributions.

Episode Notes

Maybe you don't think GameStop is a tech story, but rest assured, the screenwriting duo behind The Social Network and  21 will inject plenty of nerdery into the Hollywood version.

Sara is eager to share the history of CSS, and all the ways it has let her down.

We dig into a wise act of self-prersevation from Ben B Johnson. As he writes:  

"Similar to SQLite, Litestream is open source but closed to contributions. This keeps the code base free of proprietary or licensed code but it also helps me continue to maintain and build Litestream.

As the author of BoltDB, I found that accepting and maintaining third party patches contributed to my burn out and I eventually archived the project. Writing databases & low-level replication tools involves nuance and simple one line changes can have profound and unexpected changes in correctness and performance. Small contributions typically required hours of my time to properly test and validate them.

I am grateful for community involvement, bug reports, & feature requests. I do not wish to come off as anything but welcoming, however, I've made the decision to keep this project closed to contributions for my own mental health and long term viability of the project."

Hurray for new approaches that don't ignore personal wellbeing. 

Today's lifeboat badge winner is Quinn, who explained: How to replace a string in a file using regular expressions

Episode Transcription

Paul Ford I just bought a Roomba. I just sit there, watch that thing. And I'm like, it literally is the opposite of programming the Lego rob--or the Logo robot. You know, it's just sort of like, oh, you get to see how it moves around on the floor, and then figure out what ridiculous algorithm it's using. And that's how I feel about programming CSS. [Paul laughs]

[INTRO MUSIC]

Ben Popper Are you ready to start writing your tech story? Join an Ironhack boot camp and learn the skills you need to pursue a meaningful career in tech. Visit ironhack.com/write-your-story to find out more. Let's write your story. 

BP Hello, good morning, everybody. Welcome to the Stack Overflow Podcast! 

Sara Chipps Good morning!

PF Oh my god. Is this our cue?

SC Yeah! I think it's time. 

BP It feels a bit like there's only one story in the air this morning which is GameStop. A place I visited many times as a youngster. [Ben chuckles]

PF Yeah, it is. Who doesn't love GameStop? You go to GameStop, you know, or Electronics Boutique. I'm sure they're different in some way. And you get the latest console. You can put money down.

BP You give them cash and they give you a used PlayStation 2 CD-ROM. Lightly scratched.

SC Yeah! You could sell phones there too.

PF GameStop is what teaches adolescence about the economy.

BP Yeah, that's true. You could go in there and be like, "I played the heck out of these 10 games. Can I get one brand new game that I really want?" Deal. Deal.

PF Yeah, exactly. Let's do it.

PF Here, you paid $130 for that but you're about to get 48 cents off, on that thermal printer receipt. So that thermal printer receipt machine has been going real fast lately.

SC Thermal printer machine goes brrrr.

PF Brrrr. [makes sound effect]

BP Exactly. There are lots of forces at work here. But I think the key ones are the cost of trading has gone to zero. And trading stocks has become--

PF Wait no, hold on, it's still cost to trade.

SC Yeah, that's nice, but you don't need to know abou it.

PF Someone else is covering the cost of of trading.

BP Yes, yes. If you're not paying for the product, you are the product. That is true.

PF You're the product and the product is the whole frickin' economy. [Sara laughs] It's easy to trade. It's really easy to buy a lot of stock in America these days. You can just do it in the app.

SC Yeah. I've been telling--Ben was just reminding me--I've been telling everyone for months that this new iPhone game Robinhood is amazing. [Ben & Sara laugh]

PF It's fun. It's really fun.

BP When you swipe, it's like confetti, they're like "BOOM!" [Ben laughs]

PF It's weird, because there's a lot of in app purchases. But somehow Apple doesn't get 30%. So they were able to they were able to make an amazing deal. 

BP I see what they did there.

PF How come? How come you can buy a stock on Robinhood? Not pay 30 percent to Apple?

SC I was just wondering that when you brought that up. That's a great question.

PF It's just a product like any other, it's a marketplace. Just another example of how the rules get changed to take care of Wall Street.

BP The price of trade went to zero, not really, you're getting a slightly worse price because somebody else is looking at your order feed. And then they gamified it, they made it really fun and easy. And they made these complex maneuvers that used to be sort of for other people like options trading and shorts and calls a swipe away. And then let's bring in our old friend the internet mob. Our old buddy, the forum.

PF Do you have Robinhood on your phones?

SC Yes.

BP I do.

PF Sara, I'm guessing you must.

SC Yeah.

BP I do. I do. 

PF I have never traded a stock my life. You know that?

SC Do you not? Wow! It's really fun. 

BP Why not?

SC I put in a little bit of money. I put in a little bit of money like a couple months ago. And I was like if I double this, I can put in more money and I did, and then I did. [Ben laughs]

PF For me, I'm like I put the money in this box here and then the compound interest is good. That's like, okay, I'm like, okay, 'cause all my early experiences--

SC Yeah but do you feel alive? Does it make you feel alive? [Ben laughs]

PF I do, I feel great. Actually, I feel wonderful about it. I do check the number. I like to look at the number and be like, Oh, it went up or Oh, it went down. Well, that's normal. The other thing too, is that I was, a friend of mine when I was like 20 years ago advised me to go in on a on a stock and I got my Schwab account. And I was like, oh, okay, how does this work? I'm like, I don't really understand this. And it feels weird. And that turned out to be like a bad insider trading scandal that I just had no-- [Paul & Sara & Ben laugh] So after that, I was like, you know, I really dodged a bullet. Yeah, I dodged a bullet there that I didn't even know was a bullet. I didn't even know there were guns. And then, you know, you read about like Vanguard and you're like, maybe that, maybe I'll just do that. 

BP Yeah, I can see how that would, that would be sort of foundational for your perspective on it.

PF I also I don't like gambling, like actually don't enjoy it. I'm like, I'm like, I have to learn. I tried to learn poker because I wanted to have friends. And I'm just like, I have to learn the rules. And then I like made a spreadsheet and I'm like, oh, this is just statistically not in my favor. [Ben & Sara laugh]

BP So yeah, Robinhood plus Reddit turns out to be a magical formula. It bankrupted large hedge funds. It is the Occupy Wall Street 2.0, it is driving mainstream media and financial media totally up the wall. So it's been a fun 48 hours.

SC It has, I think it's something that's interesting and kind of relevant is the Wall Street Bets Reddit got taken down for like an hour and a half. And it was largely due to the fact that they were getting some abusive speech on their discord, which the moderators say they were trying to limit, but it's really hard to do as a moderator. And so they had taken down the Wall Street Bets on Reddit, because they just there's so much work as moderators, because now like you have this really popular subreddit, still the same moderator. So it's great for them, but you know, they probably have day jobs, and it's probably not their full time gig. I think it's definitely relevant. So there was definitely a call for help and a bunch of more people stepped up. 

BP I saw that. And they locked, yeah, they locked the Reddit. And when this morning I woke up and people were crying, foul and conspiracy. And somebody said, no, it's just a flood of new users, a lot of spam. People who don't know the rules, like they had to just take a cooling off period. This is actually, this happens every once in a while when I Reddit goes, you know, kind of goes goes vertical. But yeah, I do think like some of it is that in the past, if you wanted to run a pump and dump scheme, if you wanted to really drive up the price of stock, you had to get a bunch of people together in a boiler room and get people on the phones and call people in different states and tell them I got a hot stock tip. And now all that activity is happening in an internet forum and on a discord channel in real time, you know, like, memed up the wazoo, like, "Get on board. This rocketship is headed to the moon boys" and like that has created a dynamic that can keep up with a multi billion dollar hedge fund. It's amazing.

PF To me, it's this combination. So first of all, we live in a society that is not dictated by shitposting. Sorry, if I just blew. Yeah, for real like so now we're letting shitposting run the economy, right. And it's just, but what I think is interesting here and where like the media used to have used to do this used to be like, here's how it works, and you should understand and short selling and blah, blah, blah. And you would sort of learn about this stuff as you went and it feels like just the economy is bananas. And you really only hear about things when everything is imploding, or Bitcoin goes to $80 million. And what they did is create a media event around really normal stock transactions that are a little outside the pale, like many stock transactions are, and then and suddenly everybody knows what short selling is and is actually allowed to have an opinion on it. Right? And that it's a it's a power differential. The thing is, is like, you know, there are no good guys or bad guys in this. Like it's all kind of greedy people or people who want to punish hedge fund or whatever. It's just kind of a mess. But it's a it's a very educational mess brought to us by the lack of good moderation on our public platforms.

SC It's true there kind of isn't a good guy or a bad guy, right. However, I think it feels good for people. I've seen a lot of sentiment online and maybe this is going off on an unrelated tangent, I spend a lot of sentiment of resentment of what happened in the 2008 bailouts in the US and yeah, people being like--

PF Oh, it's gross!

SC Yeah, of people being like, okay, your hedge fund, you're doing poorly. Someone's gonna come bail you out. Because this is what we do.

PF Well this is my, this is always my thing about blockchain too, right? And Bitcoin, which is like, even though it's worth a trillion dollars now, it's kind of like, it's not a trillion dollars, necessarily in the everyday economy. This one, it just kind of lives off on its own. And maybe it's real money. Maybe it's not. If everybody went to cash out, it would probably be worse, something different. 

SC You're the one that's ruining it, Paul, by saying it's not real money, we need everyone to say it's real money, it's real money, it's real money.

PF Or otherwise Sara can't retire. [Sara & Paul laugh] I mean, you could also make the same argument about my really boring index fund that some of that represents real value, but who knows? I don't know, I bought a number. And then give me a you know--so no, I think that like this is a funny one because it does touch on the real economy. It does have real impact on GameStop and companies like that who are expected to perform in the market as public companies in this specific way but, but not really like it's not it's only kind of tangentially about them. It's just people they're playing in public and they're kind of saying the quiet part loud. It's an interesting dynamic and I think you know, we can bring it back to our world right? Which is just that all of these systems are now so connected literally. This is just API's. This is what API's get you.

SC Oh, yeah! 

PF This is like Hey, Robinhood is just the hidden that web API you know, like, everything is cheap and fast and people can get onboarded for free. We've created a culture with no moderation. There's like literally in every meaning of that word, right? There's just no mods. The mods are asleep in America.

BP The mods are asleep in America, but the people right now the people are winning the little guy, the little guys winning, so we'll come back to this in a week and see how it all shakes out.

PF See I know the hedge fund dudes will be fine, Citadel will bail out. What worries me actually, Chris Sacca had a good point. He's just like watch out for debt, I don't know, have fun. 

SC Yeah, that's a big one. Because a lot of that, this isn't, but margin trading is something that Robinhood will allow you to do. And there's been a lot of people lost a lot of money that way. 

PF That's dangerous. That's gambler mentality stuff. And if you don't know what you're doing, and you're kind of a regular human chowder head reading the message board where everybody's getting rich, it's really easy to smash that Buy button. And then poof, anyway, it's it's out of the box. Congratulations to Pandora. You won again!

BP Sara, you had suggested a topic, which I thought was pretty interesting. I thought we could circle back to it after this. You were saying, why don't we discuss a little bit about CSS and all of the awful stuff that we don't have to do anymore? All the less stuff that had made less awful for developers to do as they work? You were at the History page, right? w three.org. A Brief History of CSS.

SC This is this happens to me probably once a month, the most coding I do is like CSS anymore. I really dislike it. So about once a month I go deep on like, "Who can I blame for this?" So there's like a history and CSS page, which we've talked about before how it's largely happened in an email group with a bunch of people iterating together designed by committee. But that being said, there's been a lot of tools that have been built to make it a little less painful for developers. This weekend I was specifically using one called avocode. It is generally so XD files. I don't know. Maybe someone can write in and tell me what happened. But designers used to send me PSDs. And now they send me Xds. 

PF Oh, that no, I know, you know, that's an Adobe. Yeah, it's Adobe. What is Adobe XD experience designer or something like that.

SC So they broke out the like UX and the design experience into something else. And Photoshop is not just for like, making Kim Kardashian look skinny?

PF I think that's right. No, I mean, we, you know, there's always 5 million Adobe products, but XD was their answer to like the Envision and the, you know, figma and sort of all the web prototyping tools and the UI UX prototyping tools. I don't know why it's called--I think it's like capital X, lowercase d. So yeah, God knows, I'm guessing experience design. No, I mean, it's one of those, you know, when you're in meetings, and somebody brings something up, and there's a little glowing thing, and you know, they move from page to page, but it's just designers, not just designers, you know what I mean? Like, there's no engineers involved. That's one of these prototyping tools like Xd and yeah, it can dump the prototyping tools increasingly can dump CSS, they can dump colors, they can dump grids, and all kinds of data. And that then can be brought over to build the app itself.

SC Yeah, that's what I appreciated this, this avocode tool will take an Xd file and give you suggested CSS, which was really helpful for me as I was coding. And then of course, it was using Flexbox, which is a great experience and makes for a lot easier CSS and responsiveness. So that's a lot better for me as a developer who tends to clunk around in these things. And then, of course, using CSS with variables and sass for some easier CSS with inheritance and different things like that, which is nice.

PF So wait, so wait, you're telling us that you don't hate CSS anymore?

SC No, I'm telling you, I'm telling you that I'm really grateful for the tools that helped me make it easier.

PF CSS is tough. Like the syntax is tough. The rules are tough. It's hard to figure out how it all maps together. And it's, but we've accepted it into our hearts because it works. And then it's like, yeah, we use the computer to make it so that you can find out what the computer is doing. So you can make the computer do things and it's just you're doing too much work, Sara, it's not fair. Why doesn't the computer do all this for you?

SC Yeah, well, things like sass make it like, almost stomach like stomachable, because you know, it kind of feels a little bit more like programming. But in the end, it's still CSS.

PF There are real variables in CSS proper now. I think we're getting there.

SC Yeah! I have heard that. I've not used them yet. But I have heard that.

PF Boy, do I feel caught doing any kind of modern web dev, right, because it's like the JavaScript just took over. And the platform like Visual Studio has everything and it does everything. And you can do anything with the modern JavaScript platform. html feels like an afterthought these days. It's like a way to get boxes on a screen. And then CSS is over there. And it's declarative, but it also now has variables and it's just like, it's just really hard to wrap your head around any one part of it, where it actually it did used to fit together a lot better. And now. Now it's because it's, there's stress between the JavaScript folks and the CSS folks and what should use when. And I hate that we're actually hashing this out in public as a community rather than like there being a good simple, clear standard that people can follow. I'm glad that you're enjoying CSS, Sara, but when I listen to you, I just feel like why are we using Sara's time that way? That's not a good use of Sara's time.

SC Yeah, everyone, a lot of people talks about doing, doing your CSS in on the back end and delivering it that way and delivering HTML that way. And it doesn't make it easier putting it in JavaScript. It's still CSS. You can't get you can't get around it. But if you can put it other places, it's still CSS. 

BP Speaking of CSS, this, this mentions Opera, and I just wanted to shout out Opera. I don't know if other browsers now starting to have this. But do you know that they have like a built in VPN on there, and you can just toggle something. And then every time you open up like a fresh window you're just in a new part of the world, you're protected that way? 

SC That's really interesting. 

BP Yeah, it's pretty sweet.

PF Let's give it to Opera for surviving. That is not easy to do.

SC Yeah. That is not easy to do. Netscape couldn't do it.

PF Although I will say early days of the web, you'd get that email like, "Hey, I put up a new version of the website. And the text shouldn't go all over the place anymore." And like a week go by and you get that email and be like, "Hi, I don't know if this is a priority for you. But your site is trash on Opera." You'd be like "Ughhh" And then because like and then you'd have to go in and it would be like Opera for Symbian. But it would be five years old. Because Opera users for passionate. Yeah. for users are like they were smashing the browser hegemony, then now I think it uses WebKit. [Ben & Sara laugh]

SC As do we all.

PF You know, I have another podcast, I have my work podcast. And we interviewed Matt Mullenweg.

SC Oh, interesting!

PF Yeah, he's the founder of WordPress. He was like, look, I think a one rendering engine future would be better. Kits should just be allowed to win.

SC I agree! I don't know. Why have we been doing this for so long? This is the dumbest thing. Like even if you lose some performance, like, even if you lose some performance, because you could have thought of this other thing that would have been better than WebKit. Now you're doing all these different things for all these different browsers.

PF Well, I think, you know, the argument that two rendering engines, open sourced leads to a more free web and that you've got Mozilla in there kind of like really keeping the fire lit for open accessible access. There's Look, there's truth to that, like, obviously, there's Firefox existing and Mozilla existing and in the way that they do has been good. I'm using Firefox every day. So at least is that that one data point, right, like there's a validity to the effort. But the I think the argument is just like we're spending an enormous amount of energy on something that will only change in very small incremental ways going forward. And then, you know, probably the core of the web experience is going to start migrating more towards like WebAssembly where you can run anything really fast, as opposed to needing to, to build whole new functionality into the browser, like I don't know, if we're going to need The Next Web USB to be--there's so many things like that, that are kind of a mess, that really don't aren't really part of open web.

SC And it's just not user friendly for people and most people don't understand, you know what I mean? Like if you don't do it, and you're like, why does this website look like this? And then like, garbage in this other browser? I don't understand. 

PF I'm still not. I mean, I think that at this point, the differences are so small, and I'm still not totally sold on this idea. But it wouldn't surprise me if it happened. One day, there was an agreement that I guess what you would need for it to happen is for Firefox to bring chromium WebKit or Blink into into its world.

SC Ouff. That'd be a painful on for them.

PF But there's that too. It's not easy. 

BP Sara, you shared an interesting story here, which touches on something we've discussed many times on this podcast, which is the burden of doing an open source project and dealing with its popularity, its contributors, its community. So the title of this is open source, not open contribution. You want to walk us through this a little bit?

SC Yeah, I thought this is really interesting. It looks like this isn't the first project to do this. They mentioned I think they mentioned sqlite is another one. But so this is a project we're looking at called litestream. It does streaming s3 replication for sqlite. Those are words that you take those words you put them together, it means something.

PF Streaming s3 replication for sqlite. Okay, so it lets you take your sqlite databases and copy them as blob binary blobs to s3 in Amazon's cloud, the object store. Streaming. Does it streaming.

SC Cool. There's I can think of a lot of uses for that. That's probably pretty useful to see a bunch of people.

PF Absolutely my number one use case for anything, I can't even send an email without using streaming replication to s3 from a sql. [Sara laughs]

SC It's weird. Paul sends some emails, his email setup is pretty wild.

BP Its about keeping it simple, keeping it simple. 

SC So people like encryption, and Paul likes, you know, just having a sqlite database that he writes to.

PF You know, it is interesting just to derail for a sec, and this doesn't come up a lot. But s3 and a lot of object stores and good good web servers are all are byte addressable. You don't actually have to get the whole file, you can get--

SC What! I didn't know that. 

PF Yeah, I feel that this isn't--oh, I've got secret knowledge. I'm excited. No, you can in the header. You can request a specific byte range, that's part of the standard. Nobody supports it. s3 supports it. So under enormous files. So you know where I did this, I was I was trying to make a little index in browser of Internet Archive, this is not s3, but the internet archive, Archive.org supports byte addressable binary. So you can, you can just pull a little tiny bit of something. So it turns out that in PDFs, so I wanted to figure out the number of pages in the books in certain files in the archive, okay, but their metadata isn't always accurate for complicated reasons, or it's not that it's an accurate, it's inconsistent based on my needs, and has lots of other stuff going. So I needed to get an accurate number of pages in the PDF, it turns out that that is embedded in the PDF at the end of the file in like this little block. It's like eight bytes, you can get eight bytes or something like that. And it'll tell you how many pages are in that PDF. So I wrote a little tool that would give it a PDF in the Internet Archive, and it would go get just those bytes. And so it'd be like a, like a, like 800 megabyte file. But I'd be able in about a 10th of a second to get the pagination out of it by hitting them just just the right way.

SC You didn't have to like, pull the whole file, yeah that's great.

PF No, you would get the file length. And then I would calculate the offset back from the end of the length and say, just give me those bytes. And it would give me accurate pagination. 

SC Wow, that is very cool. That's good to know.

PF Anyway, just just a fun fact, for everybody. You don't have to get that whole file.

SC Yeah, you don't have to get that whole file. That's really nice. I never would have known.

PF I'm just saying so this I mean, when you tell when you tell me about streaming replication to s3, I'm like, oh, well, that makes sense. Because you can you actually can like, you can do anything with s3, if you know that byte offset. Alright, so wait, you were saying--I derailed.

SC Yeah so this project, definitely a cool project. Ben Johnson. It looks like is the creator. Did I get that right? He's definitely the last committer. So I think this is really interesting. So I'm just gonna read this. This paragraph is a little bit long. But I think this is really relevant to a lot of things that we've kind of discussed here. So he says his last paragraph in his README is open source, not an open contribution. He says similar to sqlite, litestream is an open source, but close to contributions. This keeps the codebase free of proprietary or licensed code. But it also helps me to continue to maintain and build litestream. As offer a bolt dB, which I guess is another project that he worked on. I found that accepting and maintaining third party patches contributed to my burnout, and I eventually archive the project. Writing databases and low level replication tools involves nuance and simple one line changes can have a profound and unexpected changes in correctness and performance. Small contributions typically required hours of my time to properly test and validate them. I am grateful for community involvement, bug reports and feature requests. I do not wish to come off as anything but welcoming. However, I've made the decision to keep this project close to contributions for my own mental health and long term viability of the project. I think that's so interesting. 

PF Good for him! Right? Like he gets to set the rules. That's okay. We're gonna, we're gonna work, we're gonna work with it. He's given away his free thing. He wants to hear what people are doing with it, and then he's gonna fix it or not. It's open. You can fork it if you want to, like everybody's following the social contract pretty well, here.

SC Yeah, it's very clear communication. And I think he communicated this in a way which was, you know, he talks about how grateful he is. And he's not like, listen, you know, a bunch of jerks. I don't want to hear from you. He was very thoughtful about how he communicated this. And I think it came across very well. And none of us have the right to the right, the pull request is not a right. It's a privilege. 

PF You know, the other thing too, is just like, this is infrastructural code. I mean, I'm now I'm on the litestream, GitHub repo, looking at this, and it's like, you're not putting in a pull request with a little tiny plug in or something like that. This is kind of a low level piece of Go code that runs and connects to sqlite, and does some kind of dry stuff. So it's, and it's all about sqlite is incredibly well tested. It's like just unbelievable, it's famous for it, it's just an enormous countless tests for every new feature. And that means it's not a light or simple thing to add to it. But it's really easy to write code on top of it or write your own sort of C module, etc. So, you know, to me listening to your read that there's a person named Simon Willison, who has a project I love called dataset, which is another sqllite ecosystem thing.

SC Is it the one with e-t-t-e datasette?

PF Yeah, datasette. And if you run data set on the command line with the name of sequel lite database, it will give you a really full featured REST API. That's great out of the box, as well as browsing tools online so you can explore and play and do really complicated queries across a data set. So it's great for data journalists and folks like that. And I mean, you know, Simon would accept requests for the core repo. He's not probably at this point. But he built a plug in architecture so that all of the changes can happen over to the side, makes it very, very rapid. But there's a concept of core and a concept of plugin that I think is really, it's really healthy with these, right? Because you're like, Okay, this is the core API, it's going to be and the core API in this case is like, it can issue requests to sqlite, and it can get data out and it can do all that stuff. And then there, you know, that's the concept of hooks and, and sort of ways to sort of know where you are in the lifecycle of requests. And the plugin can talk to that and intercept requests and do things with the data that comes out. And that is thinking of building a server that way that just strikes me as like, really healthy. I'm gonna get the core really tight. And then you guys go bananas have a good time. Right? Build whenever you want.

SC That's so nice. It's always nice to see a plug in architecture that works out and is useful. I think that's great. I think it's hard to be that thoughtful early in a project. And sometimes even when you are people don't use that plug in architecture, but seeing someone that was really thoughtful that people are making use of it. That's great.

PF Simon was a core contributor on Django, as co-creator. This is someone who is a first class thinker for for, you know, a decade plus about these kinds of architectures for building and making things. So it's not light, right, like, if you tell if you're like, Paul, make a plug in architecture, like I'm like, "weee!" but the actual like deciding what's core, and then what you're going to build on top of, isn't actually--it's a very subtle problem, right? Like, it's, it's what object oriented programming is kind of supposed to be all about. And it's hard as hell.

BP I think one of the things that you two have talked about a lot is that there are things you might come up with it like a legal, contractual level for open source, you know, can you use this, if you're a private company, probably once joke, like, you can use this as long as you're not a billion dollar company, or whatever. But the vocabulary of it is also really important. Like, in the comments here, people are saying, you know, I've had to pull stuff off of GitHub, because there's just too many pull requests, some people are making bots, that just a sorry, I'm not accepting PRs at this time. And, you know, GitHub obviously wants to remain open. And you know, you want to be able to say this is open source or not. So coming up with new vocabulary, like open source, not open contribution, and putting it out into the ecosystem, so people can discuss it and say, like, is this acceptable behavior or not actually helps you to build those, like, new modalities. Right?

PF You know it's wild too, is it--so A) yes. B) How many of these come down to someone saying this is bad for my mental health, so I'm going to license it.

SC Oh, yeah, that's kind of sad, or not even kind of sad. It's a bit sad.

PF Well, I think it's just kind of, we don't have we have a reactive framework around the health of contributors, rather than a proactive one. And this is maybe not anybody's fault. But just like, GitHub doesn't worry about your mental health, when you issue that when you do that first push into the into the repo, right? Like, there's no like, "Hey, are you sure you can handle it?" There's no, there's no dialog box like that. Like, like playing with it for a second? What would a mental health driven workflow look like? 

SC Wow, that'd be wild. I think it would be really different based on the individual. Yeah. 

BP You know, like, when you go on Steam, it's like, "Sara, you've played 400 hours of Rimworld, would you like to recommend it to a friend?" It's supposed to say "You played 400 hours of Rimworld? How about a break from video games for a little while, go talk to a friend." So yeah, it'd say like "You made this popular new project and got 1000 pull requests this week. But let somebody else think about that for awhile"

PF Sara, what if octocat--Ben, what if octocat pops up? And it's like, "You've been turning a lot of tiles green buddy, but I think he might be hurting yourself." [Ben & Sara laugh]

SC "But your kids are lonely"

PF Yeah, exactly. Well, that's always what happens like this thing that I loved that, you know, zillions of people use that now supports the work of trillion dollar companies is ruining my relationship with my children like that is that it's very perverse, right? That you even have to hear that, like we should be, if open source as a culture was really thriving, it wouldn't be really, I think it would be working a lot harder upstream. This is a way to really think through some of the diversity inclusion stuff in open source, which I think is a really healthy way to be like upstream, who gets to contribute? Why aren't there more women in these communities, so on and so forth? Like, how do we get them in? Because they're cut out. And then there is also the question of like, if you're going to do this and contribute this community, the community doesn't have good tools for taking care of you in return. Yeah, you've like, how do you create that? And it's not just money. It's a sort of emotional aspect to it. Because I'll tell you, I've had a few things where like, a lot of people got involved early and it makes your mind--it makes your brain melt. You're just like, what am I gonna do with all of you? And it's not like nerds know how to ask, they're just like, "Ah! Pull requests!" Until you become the ass and sort of become a real pain, which is sort of kind of the upshot of this. It really is hard to say no to a pull request or feature requests, like you feel very obligated. Like I guess that's how it works. God, do you know how many people--how confusing it must be to explain open source to a therapist? [Ben laughs]

SC I've done it. [Sara & Paul laugh] More than once actually.

PF "So wait a minute, Sara. You're telling me that they give the code away. But then people punish them for it?"

SC "They yell at you? You're saying they yell at you?"

PF Explaining to the therapist open source and then they're like it does. It sounds like, it sounds like a kink. It doesn't sound healthy.

[MUSIC]

BP Alright, everybody. It's that time of the episode, we're gonna shout out a lifeboat badge winner, somebody who helped rescue a question and get it up to a score of 20 or more. Today's award goes to Quinn: "replace string in file with using regular expressions" Thanks, Quinn. 

SC Cool!

PF Good job Quinn, you did it.

BP Yup, you did it.

PF I got something for the show notes. I'm gonna drop it in general, just so people know to go listen to it. It's Windows Sound Effects performed acapella.

SC Yes! No! I can't decide how I feel about that. Okay.

PF It's both a little traumatizing and also just a sweetest thing in the world. 

SC Got it. Okay. Okay. 

BP I'm Ben Popper, Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper or email us podcast@stackoverflow.com. 

SC And I'm Sara Chipps, Director of Community here at Stack Overflow. And you can find me @SaraJo on GitHub.

PF And I'm Paul Ford, friend of Stack Overflow, co-founder of a software company called Postlight. And wow are we hiring front end back end, mostly around web technology.

SC All the ends. 

PF All of them, each end. Come on in, please apply and we would love to hear from you.

[OUTRO MUSIC]