Screaming in the Cloud - Episode 49: Open Source Software: Slipping Beneath the Surface of Awareness

Episode Date: February 20, 2019

Does operating system (OS) choice even matter anymore to most people? Especially with the emergence of serverless and containers? Debian may not see its name up in lights much these days, but... it’s still very much front, center, and relevant to what people are doing in Cloud environments. Today, we’re talking to Elana Hashman, a Python packager and Debian developer. Everything inside a base operating system may not be interesting to end users, but such a collection of components is necessary to create a functioning Linux system. Some of the highlights of the show include: Alternative Linux operating systems, including Amazon Linux 2 Level of awareness about free software when choosing and distributing an OS What is a Python packager? How do you become one? Python is the new default language due to growth and adoption of its ecosystem Packaging community off-putting to beginners; find someone who understands the system to guide you Links: Elana Hashman Elana Hashman on Twitter Elana Hashman on Mastodon A tale of three Debian build tools Python Python Packaging Authority PyCon Debian The Debian Women Project Docker Red Hat Fortran Amazon Linux 2 Go Perl SaltStack OpenHatch SCALE Jordan Sissel on Twitter DigitalOcean .

Transcript
Discussion (0)
Starting point is 00:00:00 Hello, and welcome to Screaming in the Cloud, with your host, cloud economist Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud. This week's episode of Screaming in the Cloud is generously sponsored by DigitalOcean. From where I sit, every cloud platform out there biases for something. Some bias for offering a managed service around every possible need a customer could have.
Starting point is 00:00:39 Others bias for, hey, we hear there's money to be made in the cloud. Maybe give some of that to us. Digital Ocean, from where I sit, biases for simplicity. I've spoken to a number of Digital Ocean customers, and they all say the same thing, which distills down to they can get up and running in less than a minute and not have to spend weeks going to cloud school first. Making things simple and accessible has tremendous value in speeding up your time to market. There's also value in DigitalOcean offering things for a fixed price. You know what this month's bill is going to be. You're not going to have a minor
Starting point is 00:01:15 heart issue when the bill comes due. And that winds up carrying forward in a number of different ways. Their services are understandable without spending three months of study first. You don't really have to go stupendously deep just to understand what you're getting into. It's click a button or make an API call and receive a cloud resource. They also offer very understandable monitoring and alerting. They have a managed database offering, they have an object store, and as of late last year, they offer a managed Kubernetes offering that doesn't require a deep understanding of Greek mythology for you to wrap your head around it. For those wondering what I'm talking about, Kubernetes is of course named after the Greek god of spending money on cloud services. Lastly, DigitalOcean isn't what I would call small time. There are over 150,000 businesses using them
Starting point is 00:02:05 today. Go ahead and give them a try or visit do.co slash screaming and they'll give you a free $100 credit to try it out. That's do.co slash screaming. Thanks again to DigitalOcean for their support of Screaming in the Cloud. Hello and welcome to Screaming in the Cloud. I'm Corey Quinn. I'm joined today by Alana Hashman, who's a Python packager and a Debian developer. We're going for alliteration today. Welcome to the show. Great. Alliteration, my favorite thing. So you've been doing a fair number of interesting things that are, we'll call it cloud adjacent for the moment, just because if I call it
Starting point is 00:02:45 anything else, I'll get yelled at by people writing in to, well, actually me to death. Great. Let's start at the beginning. Well, a little over a year ago, you became a Debian developer, which is first, awesome. For those who are unaware, that's not exactly an easy thing to become. A lot of open source projects tend to have a certain hierarchy of how they're structured, how things wind up getting into production, especially when you're a large, well-known baseline operating system that extends into the underpinnings of a good portion of the internet. It turns out that you don't want someone like, say, me, writing arbitrary code and submitting that into the thing that runs banking software. So that's no small joke. Can you tell us how you got there? Oh, that's, it was a terrible journey. I spent like
Starting point is 00:03:31 a long time being very resistant. Many folks were like, Alana, you're smart. Like we need more women in Debian. You should join Debian. And I said, well, that sounds like a lot of free unpaid labor. Why would I want to do that? But then the technical challenges sort of piqued my interest. And so I guess at the beginning of like January 2017, I started working on packaging some Clojure software. And like fast forward, I don't know, almost two years at this point, and I maintain almost every piece of Clojure software in Debian. It was very interesting because I actually became a DD in a pretty short, as far as things go,
Starting point is 00:04:12 period of time. Normally, you have to wait at least six months to become a DM or a Debian maintainer who has limited upload rights. And then you can wait another six months and become a Debian developer with upload access. And I sort of tried to bypass that process and said, but I'm only uploading new packages, because I'm trying to get this like new thing, the closure package manager called line again into Debian. So I don't want DM permissions, because I'm not maintaining existing things, I'm adding all these new things to the archive. So somehow I managed to convince folks of this. And so it was almost exactly six months from my first package upload with the help of a sponsor up to actually getting upload rights into the archive. The process, like there's no hierarchy
Starting point is 00:04:57 in Deviant. That's the problem with Deviant. It's this massive anarchist collective with a lot of rules. So convincing that you too should be one of the thousand or so folks that's considered a member of the project can be challenging and full of rules mongering mostly. One thing that I wanted to ask you about is for those who are unaware or don't have a deep history of operating systems and Linux backgrounding. Debian is an operating system that underlies a lot of existing things in the cloud today. For example, Ubuntu is built on top of Debian as its upstream package. So although it's not generally seeing its name up
Starting point is 00:05:36 in lights much these days, it very much is front, center, and relevant in 2018 to what people are doing in cloud environments. So my question for you is, in 2018, as it draws to a close and we look into 2019, does the distribution matter? In fact, even taking a step beyond that, does the operating system matter as people's environments and managed services start to move up the stack into things that are very aligned with, oh, I just write some code and it runs serverlessly, or here's a container, I don't care what you run it on. Does the operating
Starting point is 00:06:09 system choice even matter to most people at this point? Well, I mean, I suspect to most people, no, it doesn't matter because it's underneath the surface. It's not something that they're going to be consciously interacting with. But I mean, I've heard, you know, container Linux, it's going to take over everything. No one's ever going to have to run an operating system anymore. We've got immutable infrastructure, right? We've got like atomic OS, and we've got Khoros and all this wonderful stuff. But you're running Docker containers on those. And what are your Docker containers built on? Well, it turns out that the vast majority of Docker containers that are not Alpine-based are actually based on Debian.
Starting point is 00:06:49 So you get that base operating system, whether or not you think you do or you want it. A lot of the stuff inside the base OS is not necessarily super interesting to an end user, but this collection of all these terrible CABIs or application binary interfaces, them working together, them being distributed such that they can all be like compatibly dynamically linked with applications, you don't get a functioning Linux system without that these days. And I guess until we sort of replace C as the lingua franca, we won't. So I mean, but whether it's Debian or a Red Hat based system, or one of many other Linuxes, it's kind of hard to avoid somewhere deep down in the stack. And I don't think that we have any good alternatives at this point for such things.
Starting point is 00:07:34 There is an argument to be made over in AWS land where, oh, just use Amazon Linux, or I'm sorry, updating myself now, use Amazon Linux 2. For those who aren't aware, first, I envy you. Secondly, that effectively takes upstream Red Hat slash CentOS and then winds up layering a whole bunch of nonsense on top of it into a Frankenstein style of distribution and spitting something out that supposedly is highly optimized for the Amazonian environments in which it runs. To my understanding, they're starting to build a lot of other services on top of that operating system and those images. And now that you can download it and run it in other environments, great! Except no one in their right mind does that.
Starting point is 00:08:18 So you've effectively built an entire distribution of Linux that only exists in one particular cloud environment, with the caveat that it is effectively the largest cloud environment by a landslide. So it's not quite as silly as it would be if Ted's Bar and Grill and cloud hosting service were to do the same type of thing. That is the only real competitor that I've seen these days at large scale cloud to Ubuntu, which of course is Debian derived itself. Yeah, it's funny, because like the concept of a proprietary Linux distribution is just like, it's almost like a mock oxymoron, right? Like, the concept boggles my
Starting point is 00:08:58 mind, why would you want such a thing? And so it's weird, because like, I don't really think that Debian is not a commercial product. Debian is a bunch of people who care about free software working together to build a free operating system. The core of Debian is all 100% free software. Anything that you can install in the Debian world, you can build it from source. Even if that requires some level of bootstrapping process, you can do such a thing. Amazon Linux sounds like probably not the case. I mean, who knows? The user space certainly doesn't have to be free software, they can stick whatever they want in there. But I don't know that like,
Starting point is 00:09:33 Debian doesn't really care about commercial competitors, or I think commercialization at all. There was a big controversy a few years back about even getting folks paid for like very core work that they needed to do on the OS. So it's almost like an irrelevant question, I guess. But I mean, I work on Debian because I use Debian, I care about free software. And like if packages that I want to install don't exist, I would like them to be in Debian. Now I have the ability to go and upload those things. But yeah, I don't know. Like I mean, in terms of the commercial applications, it's not really something that I think most DDs are thinking about. I think that it's one of those areas that, as so many things in computing seem to do, it's slipping beneath the surface of awareness for
Starting point is 00:10:18 most people. And it's easy to say that that's a bad thing. It's easy to say that it shouldn't be that way. I disagree. I think that the fact that I don't have to sit here and spend two days and a lot of work figuring out what compiler flags to set to get a particular web server software up and running is a good thing, by and large, for technology, by society. But we also, some ways as a byproduct of that have lost sight of the incredible amount of work by huge teams of people on an ongoing daily basis that underlie the systems that we have all built business solutions on top of. Yeah, it's I mean, I think it's a good thing. Like, I don't want to have to every time I run a new application be like oh yeah look at my compiler flags dash oh five dash fun roll loops yeah like I don't want to have to think about that stuff and as a developer I especially do not want to have to fight with you know oh I have this simple version
Starting point is 00:11:17 error because like I don't have the right ABI's available and I need to go and recompile everything like that is just a massive pain in the butt And so there's me as the OS developer who says, I want all of these things to work compatibly together. And I want to do some like terrible gross yak shaving in order to make sure that like my base OS works. But then there's me as a developer who says, you know, I just don't want that to be a problem that I have to think about.
Starting point is 00:11:43 And if folks don't have to think about Debian, because it is so seamless and magical that it just works. I mean, I think that's amazing. I think it's a big win. I don't really care about like, you know, do we have the right name recognition? There's definitely some reasons that one might want name recognition. But I don't know, I don't know what advantage it would convey. Certainly as like a woman on the internet, I don't actually want name recognition personally. So as far as my software that I write and or maintain goes, maybe it's similar there. But I think it's like a great thing that like, and it's almost even a testament to Debian's stability and quality of software that people don't have to think about any of those details.
Starting point is 00:12:20 They just work and you don't have to care. Except when they don't, of course, then maybe you have to care. Everyone loves having caring inflicted upon them. The best kind. So one of the fun things that I find is as we start going down this path to figuring out the operating system that you wind up running, the distribution of that operating system, if it's not Windows, for example. That's one area of, I guess, choice that's slipping beneath the sea. The one that very much isn't is the other half of what you wind up doing, which is you are a Python packager. I know almost nothing about what it takes to become a Python packager. So let's start at the beginning. What is that?
Starting point is 00:13:00 Oh, sure. So I'm a member of the Python Packaging Authority. And what that means is that I have commit access to certain projects that enable folks to be able to distribute Python. And the history of Python packaging is very long and colorful. And I think my first talk I gave, like as a professional out of university, was at PyCon. And I was talking about some workshops that I had done teaching folks Python. And I said at some point that, you know, like, for students who didn't have a lot of experience with like programming in general, the concept of putting together a Python package and distributing it, that was very, very challenging. And so like, maybe consider that in your curriculum. And a bunch of folks from like, Python packaging, they sort of came after me,
Starting point is 00:13:48 one of them came up to me and said afterwards, you know, I subtweeted you about saying mean things about us. I'm like, I'm not, it's not mean, it's broken. Like, it's just bad. So I guess curses to me that I would end up working on some of that core tooling a few years later. So the stuff that I do right now is mostly focused on Linux and focused on binary distribution of Python extensions. So for example, something like NumPy, a very important library for scientific Python, and it has a bunch of binary components that it needs to call out to. Python is not necessarily super fast. You're doing all these numerical computations. What would be more appropriate for such a thing than Fortran,
Starting point is 00:14:29 right? So how do you distribute Fortran dependencies as part of a Python package? Well, you need to like compile it and you need to like dynamically link to those Fortran things. And that story becomes very, very messy. And it's the kind of thing that like, you know, most people really, really don't want to have to think about this. And so for many, many years, you know, you like shouldn't have even considered trying to like pip install NumPy, because it would be a disaster as you try to compile all this stuff inside the Python package, and it wouldn't work. But one of the projects that I work on is called the many Linux project tool that I'm currently the maintainer of called AuditWheel.
Starting point is 00:15:06 And these two things work together in order for people to be able to compile these super compatible, relatively portable Python binaries and these ancient Docker images, and then audit them and like vendor any dependencies they need, and then be able to distribute those and they run on almost any operating system or almost any modern operating system, hence the name many Linux. So I don't really I mean, I guess I package the Python packages that I maintain, I package audit wheel, but I don't tend to do a lot of like, it's not like with Debian, where there's this, like this upstream package that I am now the downstream of, and I'm adding some stuff and making it work in an
Starting point is 00:15:48 operating system context. In the world of Python packaging, I actually write the tools to enable people to do that packaging themselves. Something that I find fascinating is, for better or worse, Python has become something of a lingua franca for almost everything done in cloud. It's been one of the approved languages on Google's side for a long time. They're pushing Go a fair bit lately, but for most of what people tend to be doing in cloud-based environments, Go tends to be a little low level for a lot of the outcomes they're looking for. Whenever I need to write something, I find myself in 2018 reaching for Python. The only other language I've ever felt that way about was almost
Starting point is 00:16:25 10 years ago, and it was Perl. Turns out that was the wrong pony upon which to bet. But it seems now that we're really in a place where Python is the default language. Yes, there's an argument to be made that some cloud providers focus on other things. But right now, every time I look, and that might be selection bias, it seems to be Python. Is that what you're seeing? Yeah, I mean, it's sort of incredible how much adoption there's been and how much growth there's been in the Python ecosystem, especially with some of the like bumps and tumbles from the Python two to Python three transition. And I really like the Python community. And I think that's one of its strengths. Python as a language has, I think, like a lot better governance than average.
Starting point is 00:17:08 And it was sort of super interesting to watch Guido rage quit recently as BDFL and things for the most part, just continue along as normal. It's funny you mentioned Perl, because I feel like Amazon internally is still like run on like, you know, silly string and Perl scripts or so I've heard. And I feel like this is true in a lot of cloud contexts. But in most contexts, I've worked, yeah, Python. It is the go-to language. So all the more important that the tools that make it work, work well. I don't present myself as a software developer because first off, my code is terrible. And secondly, I find that that doesn't tend to capture what I do these days. But I still find that one day I woke up and people said,
Starting point is 00:17:49 do you know Python? No, I don't. But you did this wrong, this wrong, and you fix that, you'll find it works. But oh my God, I know Python. And it turned into a sort of a shocking awareness for me in that that is, it's not quite hit the point where when I have a problem, the first thing I look at is Python. Again, I'm an old, grumpy systems administrator. I go for Bash first and foremost. And when that runs out of steam, then I step out to Python. I mean, you have a somewhat similar background yourself, to my understanding.
Starting point is 00:18:17 Yeah, I mean, I guess, like, I mean, long, long ago, my first programming language of all time was like MercScript when I was a teenager and chilling on IRC a bunch. But my Python experience was really weird because I picked it up in order to work on this open source project that's now winded down called OpenHatch, which was this meta open source project that was dedicated to getting more folks involved in free software. And I started working on the website, which was written in free software. And I started working on like the website, which was written in Django, some of their they would scrape various like bug databases for projects and try to aggregate all of these what we call bite size, or like, you know, good first issues, that kind of thing. So I worked on that for a bit. And then I did some interview in Python for some company. And I came out of that,
Starting point is 00:19:06 like, you know, an initial phone screen or something like that. And I came out of that thinking, you know, Python, like almost reads like pseudocode. But man, I guess I really don't know Python, because that that interview sort of like crushed myself a seam. Like, I don't really understand how to do object oriented code in Python. I've been in this soft, comfortable world of playing around with Django. And then again, like a year later, you know, folks would see this Python code that I wrote, and they would, they're like, this is very good code. So they'd expect me to know all of this, like, sort of deep Python language stuff that I didn't know at all. Things like, you know, how to put a package together, and like, what libraries were good in what context,
Starting point is 00:19:44 you know, sort of like the arcane stuff you learn as you become more of an expert in a programming language. And it was just so wild to me that I could appear to be so fluent in a language that people would expect me to know these things. And so like, there's definitely something to be said about how easy I think Python syntax is to pick up compared to other programming languages. The fact that you could like, I mean, that's like the ultimate imposter syndrome, right? Like I apparently wrote code so good that people think I know things that
Starting point is 00:20:13 I really don't. Right. Normally to pull that off, you have to be something like an economist or whatnot where it's like, so, so you're just giant fraud messing with people. How long, how long do you think you can carry that out for? It's like, well, I have four books published so far, so we're still waiting. And it turns into this whole, people don't catch on to some extent. On the other side of the coin, there's also the story of going in for job interviews, by which I mean the terrible form of job interviews, where instead of tell me what you're good at and we'll talk about that, it's, I'm going to pick apart random code you write under stress on a whiteboard because that's how most of us write code day to day, on a whiteboard with a marker while people judging the future of our career look on condescendingly. It becomes a very surreal experience. I've
Starting point is 00:20:57 shortcut my way out of taking jobs that require me to do that just because it's, no, I don't feel like performing like a dancing bear on command, you can go ahead and find someone else for this role. I used to think there was something wrong with me. And no, no, those interviews are actually terrible and stressful. Yeah, I mean, it was, it continues to be challenging for me, because I've never written code in such a way. And I mean, Python is frequently a good choice for some of these questions, but also not like it doesn't lend itself very well to like questions that want you to recurse a bunch. And like, I mean, then I go and reach for some sort
Starting point is 00:21:30 of lisp in my toolkit. And they say, you can't write this. That's not a real thing. I say, well, I wrote production lisp for two and a half years. And they say, No, that is nonsense. Closure is not real. And I say, Okay. But yeah, the whiteboard coding, I mean, certainly Python, there's so many more details you don't have to take care of when you're writing your various answers for interviewing questions in Python. It really does read like pseudocode in a lot of cases. And so I don't know if that really forced me into like figuring that stuff out more. Certainly, I still feel like I'm a terrible whiteboard interviewer, but it is handy in that context. Absolutely. To tie together the two areas that you've focused on, specifically Python packaging and Debian development, I dabbled early in my career, for those who've had the special joy
Starting point is 00:22:17 of working with SaltStack, I was the first Ubuntu packager for this. And the reason that that happened is back in those days, I was one of the first dozen or so developers to work on the number 15, and no one else was there. So, all right, I need to run this on a Ubuntu-based environment. I guess I'll build a package for this. And then I sort of started dipping my toe into the murky world of how that worked.
Starting point is 00:22:38 And I spent about half a year doing that. And then the project got large enough at the time to start attracting the notice of other people. And some Debian developers came in and, oh, let's see what you've done. Oh my God. And they very politely told me to let them handle it and never, ever touch it again. And it turned out that, yeah, there's a lot of challenging minutiae to getting a package like that up and running. And everyone has an opinion on it. And it turns out that's not really a great starter package. To be very direct, I found
Starting point is 00:23:12 that in many ways that despite people attempt to be polite, the experience is fairly off-putting. So what advice would you have for someone who wants to get into doing stuff like that so that they have a better experience with it than I did? Yeah, that is a great question. A lot of the packaging communities have, like not just Debian, not just Ubuntu, there are these reputations of being very off-putting, unfriendly to beginners, and I don't think they're totally undeserved. The policy can be almost impenetrable. You have to have some level of background in understanding Linux for these things to make sense and like historical context around certain decisions. And then there's all these social rules,
Starting point is 00:23:52 which are like also somewhat impenetrable. My advice would be to find someone who understands the system and has your back. I frequently get questions from folks now who know that I know the Debian and, you know, Ubuntu systems, so to speak. And they'll be like, can you help me with this thing? Like, I filed this bug, and Ubuntu isn't listening to me, and they don't understand. And this is really frustrating. So you know, I'll go and reach out to them on IRC and have a chat about it and
Starting point is 00:24:21 then comment on the issue or test the patch or whatever, making everybody happy. And having somebody to like watch out for you to like to help you avoid the social faux pas and to guide you in the right direction and to show you the various parts of policy that you need to care about like that, honestly, I think is your best bet. And that was to a large extent, like how I figured out a lot of this stuff. Some of it was certainly just dredging through policy and trying to figure it out. But a lot of it was like, you know, hey, so and so, can you help me with this package? Or I tried to build this thing, but it didn't work. And policy says this, and the man page says this, and they contradict each other. Can you please help me
Starting point is 00:25:05 with this? And folks tend to actually be pretty welcoming and understanding when you go ahead with that sort of approach. And it is unfortunate that there has historically been sort of a almost hostility towards newcomers making mistakes, not knowing. I mean, it's so much to know. Of course, people are going to make mistakes. But I think that as a community, we're working on that. A lot of the documentation around this stuff is awful, too. One of the things I noticed pretty early on. I mean, it doesn't exist. It doesn't exist at all. Yeah. Or worse, I found there are four different ways to build Debian packages, and the documentation I found kept shifting between them without saying, oh, but if you're going this way, no, no, it's just one sentence
Starting point is 00:25:45 to the next would change perspective on different tooling, different approaches. And I read this five times. And at that point, I'd been working in technology for almost a decade. I wasn't babe in the woods when it came to this stuff. But it was very clearly a, there's something wrong here with either my reading comprehension suddenly, or these documentation pieces are terrible because they assume this giant body of knowledge that was never explicitly explained. I wrote a blog post called a tale of three Debbie and build tools in order to, because a bunch of folks were bugging me. They're like, how do you build packages, Alana? And I'm like, ah, I guess I build packages a lot of different ways. Huh? Didn't really think about
Starting point is 00:26:25 that. And I like pick these things up. Like, you know, initially, I started with get build package, because it doesn't require root, and it has reasonably good documentation. And it's relatively friendly. Then people were like, well, you can't use that to build, you know, a package to upload, you should use p builder. Like, okay, what is p builder that, you know, sort of figure that out, like, okay, this thing's pretty cool. And why the hell does it put the output through? What? Where does that go? That should not go there.
Starting point is 00:26:49 So it like dumps a bunch of stuff in varlib, who knows what. And that was very confusing. And then some folks were like, why do you use Pbuilder? It's like so slow. You should use Sbuild and then yada, yada, yada. So I ended up writing a blog post about this. I wrote packaging tutorials for like closure packages, not even to help other
Starting point is 00:27:05 people, but just so I could document my process. So if I spent six months away from it, I would remember what the heck I was working on. So yeah, it's not the best. I really wish there was much better documentation. Like I frequently have had to go and dig into code in order to understand how various build tools worked, only to discover that the tools were like, you know, massive blobs of pearl, which I mean, I could understand them because I've written some pearl in my past, but it's like, what house of cards was this thing built on? So you don't want to touch anything because there's no tests, of course. Exactly. And it turns out not just that it's a technically challenging area, and there is a lot of adducion. This stuff is hard, and yes, mistakes will show and matter. I mean, the entire lesson I took from it was not
Starting point is 00:27:48 how to really focus on being a awesome packager or terrific developer member of the community, but rather that if you want something done, screw it up to the point where people take it away from you. Yeah, that's just, I don't want people coming into the community and that being the lesson they take away. It's sort of depressing to look at it that way. One of the things that Debbie and I have found to be very effective is the law of two feet. Like if you are the first person to go and do a thing and you are willing to put in the work to maintain it, folks have a really hard time of like doing anything about it. They may yell and scream at you and tell you you're doing everything wrong,
Starting point is 00:28:25 but they can't really depose you. And it's actually very socially unacceptable to try to depose someone unless, you know, you go all the way up to escalate into the technical committee and there's much drama and, you know, then you end up on the front page of LWN or something like that. So yes, it is that we need to do better.
Starting point is 00:28:43 And I think that, you know, a lot of the work that Debian has been doing with anti harassment and stuff like that is making the community better. But goodness knows when we will have, I mean, it's not like we have this documentation team that we can just, you know, send things and be like, hey, you go document these build tools, because our story sucks, or go add like really good tutorials so that like more people can get involved in this stuff. Like Debian is just a collection of individuals who are all working sort of independently in their own little fiefdoms on things that they personally care about. And it sometimes amazes me that it works at all. And so I can't like just go and tell people like, go write these tutorials. Debian Woman woman the the group debbie and woman has previously been responsible for a lot of this stuff and now you know debbie and woman is not super active and they're merging with debbie and diversity and like all these tutorials are five years out of date what do we do well i don't know who do we figure out like how do we direct people
Starting point is 00:29:39 at working on this stuff i don't know and i don't even want to like try to suggest hey maybe we should pay someone to do this because the last time that happened, everybody cried bloody murder. So it is a problem. It seems to me that there's a better story for this in the future of making the community more accessible to people. I mean, again, I used to be deep in the weeds of IRC myself. I was network staff on Freenode for the better part of a decade. And part of the reason I did that was because I got tired of what I saw in a number of different channels, which was, oh, someone shows up and asks a question. And the first thing you do, and there's almost a race to be able to do it, is not to help them with the question, but to tell them their question is
Starting point is 00:30:20 stupid, they're stupid, they didn't ask the question properly, or read the documentation. And that is one of those things I found absolutely abhorrent. It's, why don't we have more people from more diverse backgrounds working in tech? Well, because every time someone shows up in tech, regardless of the rest, you start by subjecting them to trial by fire. And most people have better things to do with their time than playing these games. And I absolutely have nothing but respect for people who stick around through that hazing, but I think that is one of the crappiest things we can wind up doing. As a tech community, I say we as a tech community writ large. Not any particular community, not any particular network, not any particular software package, none of it. Just as a society, I guess, we can do better than that. And we're
Starting point is 00:31:07 finally starting to turn the corner on that, I think, I hope, where there are decent ways of finding mentorship, of getting involved in community. But Lord knows that one of the reasons that contributed to my not becoming a full-time developer all the time was I didn't want to sit and take that abuse every day. No, not at all. And I've certainly had my share of that myself. I think one of the reasons that I have been successful in the free and open source software community is that I'm very good at independently being able to research things and go find the documentation. And I can work for days without like needing to reach out for someone for help. I can just, you know, like, okay, I've got this problem, I will guide myself towards the various things and try to figure it out. Because, you know, I might ask someone,
Starting point is 00:31:54 and it's been good, because now that I'm working on some things, which are considered like, it's like gross to call them bleeding edge, but they're a little bit bleeding edge. Like, certainly, they are new fangled and untested previously. And so that definitely comes in handy, because it's not scary and off putting to not have someone holding my hand because nobody was holding my hand to begin with. But I'm certainly like that should not be the baseline or the standard. And I was very lucky to get involved in free software via OpenHatch because OpenHatch was such a welcoming, warm, helpful community. It was really, really great. And so folks would come into our IRC channel and they'd
Starting point is 00:32:31 ask basic questions and people would like be very helpful and respond right away and try to get them the help they needed, even if it was like the thousandth time that question had been answered that day. And sometimes as a maintainer, it can become very trying when somebody asks a question like this, that was its time that day, like, Oh, I guess I have to link that thing again, maybe I should just make a macro for this. But like, I mean, that person doesn't know that. So it's like unfair to take your anger out on them. One experience that I have that stuck with me years later was in 2012, where I went to Scale, the Southern California area Linux expo. And I saw a talk by Jordan Sissel, the founder and creator of Logstash, which has since been acquired by Elastic. It's the L in Elk Stack. And he's still there. And
Starting point is 00:33:17 he gave a talk on Logstash that was transformative in a number of different ways. First, that was one of the talks that inspired me to try my hand at public speaking. So if you've ever seen one of my talks and thought it was crappy, self-aggrandizing, I'm a terrible speaker, et cetera, blame Jordan. Secondly, it turned out that he had a line in there that just resonated with me now six years later, that if a new user has a bad time, that's a bug. Fix your documentation, fix your culture. And it was something that was electrifying where it set the stage for, yes, this is what every product should espouse and doesn't. And ever since then, it's sort of been something that I started, once you see it, you can't unsee it. Trying to create that type of environment for people has always been what I've been about.
Starting point is 00:34:02 My newsletter last week in A in AWS is snarky and sarcastic because that is my sense of humor, but I'm very careful never to punch down. When I'm sitting here making fun of Amazon, a near trillion dollar company, depending on the week, they can take it. They have succeeded. If I'm sitting here making fun of a newcomer to a space or a startup of five people, I'm not being clever. I'm being a jerk. And I think there needs to be an awareness that meeting people where they are and making things accessible to them is on the onus of you if you want to see uptake and adoption of what it is you do. Absolutely. So where can people find you if they want to hear more about your
Starting point is 00:34:41 thoughts, wisdom, code, thoughts on life, etc? Well, they can find me on PlanetDevian or read my blog directly. That syndicates to PlanetDevian. My website is hashman.ca. To be clear, PlanetDevian is one of those things where it's an aggregator of different blogs, or it's a way station that you can get to by connecting through Narnia? Definitely Narnia. No, it just aggregates various XML feeds into a single blogging place. And so folks are like, oh yeah, I saw your latest
Starting point is 00:35:10 blog post on Planet Debbie and I'm like, you did what? Oh yeah, I put my blog on Planet Debbie. Or you can access my blog at hashman.ca slash blog. I also tweet at e-hash-d-n. It's a bad LDAP joke because my username was taken, which was very disappointing. And you can also find me on Mastodon if you're so inclined. That raises the wonderful question of, is there such a thing as a good LDAP joke? You know, as a student, I implemented atomic incrementation in LDAP, and I think that we should just not even think about such things. Absolutely. Well, I'll put links to those in the show notes as well. Great. Yeah. And I can spell them out for you if you need me to do such a thing by email. Perfect. Well, thank you
Starting point is 00:35:52 once again for taking the time to speak with me. I appreciate it. Yeah. Thanks so much for having me on the show. Lana Hashman of Debian and Python fame. I'm Corey Quinn. This is Screaming in the Cloud. This has been this week's episode is Screaming in the Cloud.

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