What's your distribution?
In this episode, we talk about Linux with Rob Frelow, co-founder of The StoryGraph, and Amber Jones, full stack software engineer at mumms Software.
Ben Halpern is co-founder and webmaster of DEV/Forem.
Joe Doss is the Principal Systems Architect at Forem. He has been using Linux for over twenty years and he uses Fedora Linux as his daily Linux distribution. Joe is very passionate about enabling others to improve their lives with Free Open Source Software and his his free time he contributes to the Fedora Project as a package maintainer for the WireGuard project.
Rob Frelow is a machine learning engineer and co-founder of @thestorygraph, a place to get book recommendations and track your reading.
Amber Jones is a Software Engineer from New Orleans who is motivated by community, an insatiable curiosity about the world, and a desire to increase web accessibility for everyone. Outside of work, you might find them walking their dog Lilith along the bayou, painting, or cooking an elaborate lasagna.
[00:00:01] BH: A common scene in technology companies everywhere, big conference table with the CTO on one end, developer teams on the other, the showdown. We have an idea, “Will it get funded?” More companies are feeling the pressure to go faster and stay ahead of the competition. Projects that have long timelines or no immediate impact are hard to justify. DataStax is sponsoring a contest with real projects, real money, and real CTOs. If you have a Kubernetes project that needs a database, the winner will get funded with a free year of DataStax Astra. Follow the link in the podcast description to submit your project. It’s time to impress the CTO and get your project funded.
[00:00:41] Eyes glaze over from debugging a remote Kubernetes service? Instead, run your service locally in your favorite debugger and instantly find the problem. Ambassador Telepresence is the easiest way to debug microservices on Kubernetes. Spend more time fixing problems instead of reproducing them. Ambassador Telepresence is free to use for teams with unlimited developers. Get started today at getambassador.io/devdiscuss.
[00:01:07] Educative.io is a hands-on learning platform for software developers. Learn anything from Rust to system design without the hassle of set up or videos. Text-based courses let you easily skim back and forth like a book while cloud-based developer environments let you get your hands dirty without fiddling with an IDE. Take your skills to the next level. Visit educative.io/devdiscuss today to get a free preview and 10% off on annual subscription.
[00:01:35] Get ready to level up at New Relic’s virtual event, FutureStack 2021, on May 25th through the 27th. Join your fellow data nerds from around the world to learn, inspire, and rack up experience in 50 interactive sessions, 12 hands-on labs, and a 24-hour hackathon. FutureStack is your cheat code for observability. Engineers from across the industry will lead you through topics like Kubernetes, DevOps strategies and observability. Then join us to relax with some Minecraft on Nerd Island. Registration is free at futurestack.com. Game on!
[00:02:17] RF: That was not a smart move. I was up until seven in the morning trying to fix everything and put Windows back on before my dad woke up so I wouldn’t get in trouble. It was a mess.
[00:02:39] BH: Welcome to DevDiscuss, the show where we cover the burning topics that impact all of our lives as developers. I’m Ben Halpern, a co-founder of Forem.
[00:02:47] JD: And I’m Joe Doss, Principal Systems Architect at Forem. Today, we’re talking about Linux with Rob Frelow, Co-Founder of The StoryGraph, and Amber Jones, a Full Stack Software Engineer at Mumms Software. Thank you for joining us.
[00:03:00] RF: Hello.
[00:03:00] AJ: Great to be here.
[00:03:01] BH: All right. So this is obviously a pretty broad topic because Linux has so many implementations, so many flavors and does so much for all of us. So Amber, can you start by giving us your background as a developer?
[00:03:16] AJ: So I am fairly new to the game. I started software engineering professionally and getting paid for it about a little over a year ago. So my dad is in tech. Growing up, you’re just kind of pushing for that. But I was like, “No, dad, I’m an artist.” So I went and got an art degree instead, and it happened several years later when I was working in a food cooperative, so a community-owned grocery store. It’s really small, pretty scrappy, not a lot of funds. They were using a point of sale system that ran on Ubuntu. And this is before I even knew what Ubuntu was or really anything about software. I knew a little bit of hardware because of my dad. So they were like, “Amber, you know about tech. Why don’t you help us out on how to troubleshoot some issues?” Because as a scrappy little food cooperative, they didn’t have funds for tech support. So I was a manager there and I was like, “Okay, I’ll check it out.” And that kind of led to me interfacing with my first Linux distro and just kind of Googling solutions to help my coop out. And that really ignited that part of me, I’m sure deep down, to explore further into tech. And I went to a bootcamp and I graduated in 2019 and then I got a job at Mumms. So I’ve had Linux kind of follow me along throughout that path.
[00:04:35] BH: Cool. It’s fun to see that Linux kind of predated and got you into the space instead of the other way around.
[00:04:42] AJ: Yeah. Right? It found me first.
[00:04:44] JD: And Rob, let’s go into your technical background.
[00:04:47] RF: Sure. I’ve been working for different software companies in the engineering space for about 16 years now. And in the beginning, I was 100% Windows. Linux was that thing that your weird friends in college would tell you about and you didn’t really think it would do anything fun, but I had a breaking point because I was on my Windows laptop, hanging out, browsing websites, and I go to the bathroom, I come back and somehow the website I was on was able to install something on my computer and I had a million pop-ups all over the place. So I said, “No, no, no. I know this game,” because those pop-ups from Windows are asking me for admin permissions. I said, “No, no, I know this game.” I held the power button down. And when the computer booted back up, all the same pop-ups came back. And I said, “How is it that a web browser with no admin permissions is able to install things on my computer in the startup’s folder?” So I said, “That’s it. I’m done.” Uninstalled Windows, went full Linux for all my machines and that’s really what started things off for me.
[00:05:45] BH: So can we paint a picture of what Linux exactly is? You can use it in a lot of different contexts. What is the Linux operating system?
[00:05:55] RF: The way I usually explain it to people is Windows is an operating system made by Microsoft. Mac is an operating system made by Apple. And Linux is an operating system made by everybody. Essentially a whole lot of different companies have Linux distributions. And if you want to think about it in a hierarchy so you can understand the structural differences between it, Windows is closed software and open hardware, meaning the software is made by one company, but the hardware is made by a whole lot of different companies. Mac is closed software and closed hardware. Only one company does each and you don’t have access to the code or what’s going on. Linux is open on both sides, open hardware and open software. You can change the software. You can put the software on different machines. You really can control your destiny much more on Linux, which is a double-edged sword in some situations.
[00:06:49] AJ: That’s a really great way to explain it. Because I think a lot of people, from my experience, there’s a lot of misconceptions about what it is or what it’s used or what it looks like. And what it looks like is really fluid because of what Rob was saying, where it’s built by the community, and there are so many different variants on that.
[00:07:08] BH: What is it that makes Linux so important in the world? Why are we all talking about this on the podcast today? What is the importance Linux brings?
[00:07:20] JD: I feel like it’s the embodiment of free open source software. It really enables individuals to be a part of something bigger and really enables them to have access to things that were really expensive back in the day.
[00:07:37] AJ: Totally. It lowers that barrier to entry. And I see it not just with technical people, but like everyday people. And I think of my co-op as a perfect example. Because if they didn’t have a free Ubuntu distribution for their POS system, I don’t know if they would have the funds to have another option. They may have shut down. Where would they be?
[00:07:57] BH: Why is Linux itself such a big deal and there aren’t more open source operating systems?
[00:08:03] JD: Well, there are. There’s a plethora of open source operating systems that are out there. There’s like FreeBSD and OpenBSD. There’s experimental unikernel operating systems that do one thing. The computer boots and does one thing really well. They’re out there. It’s just that Linux is the most popular. Linux has countless numbers of distributions, like different flavors of Linux. Right? So Linux really is at its center is the kernel that was created by Linus Torvalds. And so individuals can kind of like swap in and out the parts that they don’t like. Right? Some distributions don’t like System D. So System D is an init system. There’s other init systems out there. OpenRC is a pretty popular one. Ubuntu was on Upstart until they switched to System D. They feel it’s not right for them and their needs. So they use a different init system. So the Linux distributions kind of buckles into the freedom of choice. Right? And if you don’t like something, you can change it. And it may not just be you. It could be a group of people that are working together all over the world that are building a distribution that really fits their needs. There’s specific editions of Fedora, which is my distribution of choice, that are very specific to, there’s one called a NeuroFedora, which is used for like neuroscience, which I thought was like pretty cool.
[00:09:31] BH: When I was first getting into tech, so when I discovered I wanted to be a software developer by trade, I had no computer of my own and was broke. And that got me into Linux for the first time because Linux is a good tool in that environment. And my theory was that I could get a better computer if it just had an outdated version of Windows that people felt like the whole computer was useless. Now that the Windows was running so slow and I could maybe install Linux and get up and running and kick off what I wanted to do with my career. And that was true. I got a computer for $20. It was like the person would’ve thrown it out otherwise and I was able to just install Ubuntu and get up and running and the rest is history.
[00:10:25] JD: So my first computer was gifted to me by my father. It was a Compaq Presario. And my friend, Parker, I think I was a sophomore in high school, handed me a CD after he showed me his Linux desktop at home, which was running Enlightenment for a windows manager and this like wavy ocean graph effect at the bottom and it was super cool. It was totally not Windows 95. It was just its own world. Right? And so he gave me the CD and he said, “You can install this on your computer too.” And I was like, “Okay, cool. I’m going to go install this program, Linux, on my dad’s computer.” Well, what I didn’t understand is that I was installing an operating system and I wiped out my dad’s computer.
[00:11:17] AJ: Oh, no!
[00:11:18] JD: Completely hard wiped. I mean, all of his files, everything was gone. And he was pretty upset, but he basically was like, “Well, I’m tired of kind of having you being involved with my computer.” So he gave me his and that’s when I was running Red Hat 5 and then just kind of followed me to college. I did all of my work on Linux if possible.
[00:11:46] RF: Yeah. I have a very similar story where I was home from college and we only had one computer in the house. It was the family computer. And remember that weird friend I told you that told me about Linux? I said, “Oh, cool! He said Linux can do everything that Windows does. So I’m just going to put Linux on our family computer.” That was not a smart move. I was up until seven in the morning trying to fix everything and put Windows back on before my dad woke up so I wouldn’t get in trouble. It was a mess.
[00:12:11] JD: Yeah. Especially back in the day, like 1997. If you kind of got yourself in a bind with Linux back in the day, it was really difficult to get yourself out of a bind. I feel like Linux these days is just so much more inclusive and really available, the ability to troubleshoot problems. It’s just way easier. I mean, I tried to get a lot of friends in using Linux back in college and some would try, but it would just be too hard for them to do what they wanted to do. That has really changed especially over the last 10 years.
[00:12:47] AJ: Do you attribute that to better documentation in general?
[00:12:51] JD: Yeah. Honestly, I think it’s better documentation. And also, I think everyone’s been lifted up, I think, in regards to the understanding of how computers work. And some Linux distributions that are really near and dear to me is I spent probably from like 2002 to about 2007 running Gentoo Linux, which is really a very involved Linux distribution. And the Gentoo handbook taught me more about the fundamentals of how Linux works on the inside because you have to follow the handbook step by step in order to get your system bootstrapped. And back then, you had to do what was called a Stage 1 Install, which is like really doing some of the very low level things that are required to get a working Linux system operating. So for sure, I think that documentation. And also community, I feel like the Linux community, there’s just like so many cool people out there that are doing cool things with Linux that it’s really easy for people to rally behind.
[00:13:52] AJ: Yeah. My first Linux distribution that I had was put on my laptop when I was in bootcamp. So that was probably, yeah, 2019. And it was sort of the similar vein where it’s like I only had a desktop and for the longest time no exposure to Linux before I was like rallying behind Windows. Windows was my jam and I was issuing like what I thought were the elitist Mac people. But I’m now agnostic about operating systems. But back then, before, I was really aware of my options. It was like Windows. And then my dad, being an IT, he had like most IT people have like a collection of old computers or computer parts. So he gave me a laptop and I had Mint installed on it. And it was just like mind-blowing to me because Mint is out of the box ready to go. And having an operating system that wasn’t Windows or wasn’t Mac and it just like worked when I was going through a bootcamp was amazing. It ended up being that like near my senior phase of bootcamp I would carry around a USB stick with a Mint installation on it because I would just talk to everyone. A lot of the students as well were similar, not having a lot of resources, not a lot of income, having older computers, and maybe they weren’t like the best working, but they wanted to have a smoother experience in their bootcamp. And Linux, specifically Mint, allowed that to happen.
[00:15:20] RF: Yeah, especially in bootcamp, I didn’t go to bootcamp, but I know a few people who did, and I always felt there was an advantage to developing on the same platform or the same operating system that your production is on.
[00:15:30] AJ: Absolutely.
[00:15:30] RF: And nowadays, everybody’s production is Linux. So the amount of hours that I’ve spent helping people troubleshoot issues because their Mac or their Windows machine wasn’t configured properly and I would say, “Just put Linux in a VM at the very least and just SSH into it and you have the best of both worlds.” And when we’re talking about being collaborative, that really fits well into security. As I mentioned earlier, the reason why I went into Linux in the first place, when you have an open source library that many, many companies are working on and are dependent on to run their software, to run their community, or to run their business, you have a lot of eyes on that. You have a lot of eyes on that code and it’s much easier to find bugs, to find security vulnerabilities when you have a lot of people looking at the code and the code is open versus a small amount of people. The main counter to that is Heartbleed and some other high impact vulnerabilities that have come up over the past maybe five or six years. But from my perspective, there are a lot of Heartbleed-style vulnerabilities out there in other software packages that we just don’t know about because the code isn’t open and we can’t see it. So I definitely think that security is probably the biggest benefit that we get. And that’s without even going into the whole, “Oh, a company can very easily release their own operating system without having to start from scratch, without even going into that.” I mean, if you think about Chrome OS, like even Google, a huge company, they just forked Gentoo. They didn’t come up with a brand new operating system on their own because that’s a daunting task. So from the users in terms of security, from the companies in terms of security and just in terms of growing the tech ecosystem, I think Linux has a very crucial role in that.
[00:17:32] BH: Sick of your laptop overheating every time you try to run your Kubernetes application locally? With Ambassador Telepresence, you can intercept your services on your local machine so that you can develop on your services as if your laptop was running in the cluster. Never worry about running out of memory again no matter how complex your Kubernetes application gets. Ambassador Telepresence is free to use for teams with unlimited developers. Get started today at getambassador.io/devdiscuss.
[00:18:02] New Relic’s Application Monitoring Platform gives you detailed performance metrics for every aspect of your software environment. Manage application performance in real time, troubleshoot problems in your stack, and move beyond traditional monitoring with New Relic One, your complete software observability solution. Get started for free at developer.newrelic.com.
[00:18:25] To connect with the team behind New Relic directly, join The Relicans. The Relicans is a new community hub designed to help developers create cool projects, inspire one another, level up and learn in public. You can start a discussion about your favorite programming language, ask a question about software observability, share tutorial, and lots more. Join today at therelicans.com.
[00:18:52] JD: So being involved in Linux for so long, I think there’s a perception that Linux is super intimidating and not very user friendly. Why do you all think that is?
[00:19:03] RF: I think for most people they’re used to a gooey. To be Frank, a gooey is easier. When I first moved over to Linux on all my personal machines, I remember reading instructions on how to install this or how to get my Wi-Fi working. And the instructions were all going to the terminal and typing in some random commands. There’s no way I can never figure that out on my own because I don’t know what all the commands are. But if you’re in a gooey, eventually if you just click around you’ll figure it out. So I think the command line is probably the most intimidating part of Linux for people trying to learn it.
[00:19:36] AJ: Yeah, definitely as someone who’s like closer to not too long ago had no interface with Linux at all or any distribution. I would agree. It’s definitely intimidating interacting with a terminal because there aren’t like buttons or directions to like tell you what to do, what to click. It was kind of funny. So my first terminal command was in the point of sale system at the co-op. So it ran off of a browser. So there were multiple browsers open, and this is like a little point of sales keyboard. It’s not a full keyboard. There’s no mouse. And so it’s very hard to navigate and I needed to close out this extra window. And it was Ubuntu, totally unfamiliar, and I was able to access the terminal, did a little bit of Googling. And my first command in the terminal was, “Kill all Firefox,” and it was just so powerful. I felt amazing. So that in itself, I was like, “Wow!” It really did have that sense of empowerment, like taking control of the computer or the point of sale system. So I think that, yeah, I was definitely afraid to get there. But once you do get there and you have just a little bit of experimentation with it, I think people will find it kind of empowering, like I said.
[00:20:48] BH: Being terrified of the command line was a really big part of my overall journey into technology and the source of some false starts here and there. And having to just use Linux really helped me, like being thrust into the terminal, which I had previously truly thought was like way above my level of tech, even when I was getting into software development full-time, I still was pretty afraid of the terminal until I was forced to use the Linux machine, which just didn’t let me do everything without it. And I’m pretty grateful of that and also feel pretty excited about the usability of Linux without the terminal in different ways and how much it’s coming along and how much is based on it. That does abstract some of that away.
[00:21:42] JD: It’s funny. Ben you’re like, “Oh, the command line is terrifying to me. It was super intimidating.” And I totally get that because I have that feeling when I use Windows. I don’t know how to use PowerShell. I don’t know how to use Windows at a super professional level. And I’m sure I probably could muddle through it if I dumped a lot of time into it.
[00:22:06] AJ: My desktop was Windows. And when I was going through bootcamp, I tried to set that up as like a secondary environment. And it was just very difficult because you have projects that you go through and they explain what you need to do to set up for the bootcamp assignments. And there was a whole different set of instructions for Windows, but it was just always 10 dozen more steps than on a Mac. And what I found was when I was working in my Linux distro, I just had to follow the Mac instructions and it was very simple. So there wasn’t a whole lot of troubleshooting, honestly. I mean, I just had to follow the instructions for my prompts.
[00:22:48] RF: Yeah. Speaking of Linux being intimidating, when I first met my wife, Saron, in college, she needed a new laptop and I just gave her one of my Linux laptops that worked pretty well. And it worked for her I think only because I saw her every day and I was able to fix any problems that she had and I pre-installed Microsoft Word and all the other programs that she would need for school. I installed it using Wine. I set it up for her. And she did it fine for three years. But I felt like the type of issues that I solved for her, it made me feel like to use Linux successfully you need to already be an expert or have constant access to an expert. It’s like those entry-level jobs that say they require five years of experience. There’s a disconnect.
[00:23:33] JD: Well, I did something very similar at my previous job. Almost every developer was on macOS and I was leading the systems engineering department. In the entire engineering department, it was about 60 people in that department. I made it very well known if you want to make the switch from macOS to Linux and switch from a MacBook to a Lenovo ThinkPad, I made it very well known that if you chose to move to Linux, specifically Fedora Linux, because that’s the distribution that we ran in production, that you would get unlimited help from systems engineering. You could walk over to my desk and I would drop everything and help you fix your problem. And actually we got a handful of developers that took us up on that offer. I think one of the most important things to individuals that are listening to this podcast that know Linux and understand it and are very comfortable with it is be a mentor to somebody new. Offer the hand of help and say, “Hey, look, if you want to get involved with Linux, I’ll be there to help you get up to my level of understanding.” I think that that’s super important because I’m sure your wife, Rob, if you weren’t there to help her with that, she would have just been like, “You know what? I’m going to go buy a Windows machine or go buy a Mac,” and move on with her life because she’s not trying to solve Linux problems. She’s trying to solve whatever problems she’s trying to fix. Right?
[00:25:03] RF: Yes.
[00:25:03] JD: So I think it’s really important to make sure individuals that want to learn Linux find a mentor. I know that’s really easier said than done, but even I have mentors in Linux. I have individuals that I talk with on Freenode, which is an IRC network, that have really helped me hone my Linux skills. And I consider myself an expert in a lot of ways. But there’s always bigger fish, right? There’s always somebody that knows more than you do specifically with Linux because there are so many moving parts. So I think it’s really important to find mentors within Linux, just as within programming as well.
[00:25:39] AJ: It’s my perception that you don’t need to be a master of the terminal to get into Linux. It would help. There’s some bundles like distributions, like Mint for example, but are meant for maybe a normal consumer.
[00:25:54] JD: Yeah. I would think that when Ubuntu kind of hit the scene, that’s what I felt like more individuals that were not really trying to get their feet dirty and muddy in the command line and then I think it was even taken a step further with Mint. Those distributions were really geared, I think, towards people that just wanted to use Linux, but didn’t really want to fully understand everything under the hood. I think that’s been great for the Linux community. Some people will start out on one of those distributions that’s really easy. And then all of a sudden, they’re like, “Oh, by the way, I run Arch,” Arch Linux being probably one of the more advanced Linux distributions, Gentoo being one that’s extremely involved. There’s Linux From Scratch, which is like baking your own cake in a lot of ways with Linux.
[00:26:46] BH: Yes.
[00:26:47] JD: So first hits for free. And then you start thinking, “Oh, maybe I’ll give these other distributions a try.” You always read about these individuals that switched distributions once a month. They get bored of it and they want to try something new and they learn something new, might move into a different distribution. It becomes almost like a hobby or like a badge of honor or, “I’ve tried these distributions. Look at all these ones and here’s the ones that I liked and here’s the ones that I didn’t like.” I think that’s just so cool.
[00:27:15] BH: Amber, you did not have an expert like Rob hanging around, but you figured it out yourself along the way. Can you talk about your experience?
[00:27:24] AJ: So once I got into bootcamp, there were people that weren’t familiar. So I don’t want to say that I’m completely alone in my journey. It was very uncommon to come across anyone who’s familiar with it, but I did have help. And who you’re around and who you’re exposed to is such an influence, and I was privileged to have that. So I don’t want to come across as some genius.
[00:27:50] BH: So ahead of this episode, we asked DEV a question which gave people an opportunity to talk all about what they don’t like about Linux. So this should be fun. I’m going to run through a list compiled from sort of a mishmash of different things people said. Lots of really long answers in this reply. So we can’t read them all out. But I’m going to give some points and maybe you three can respond a little to some of these beefs. So first thing, inconsistent theming.
[00:28:25] JD: I would say about 10 years ago I would agree with that. I think things really changed for me personally when GNOME 3 hit the scene. GNOME 2 was notorious for not having a very consistent look. GNOME is a window manager and it’s the default window manager for Fedora Linux. In Fedora 17, I think they switched from GNOME 2 to 3, which was kind of a hot mess, but we’re like a month or so away from Fedora 34. Fedora releases every six-ish months. And GNOME 3 to me is a dream. It’s my default window manager. It looks consistent. Basically anything that gets launched looks pretty darn good to me. But then again, I’m pretty boring when it comes to customizing my Linux environment. Not sure if I agree with inconsistent theming, but I think it has a lot to do with a window manager that I use.
[00:29:22] RF: Yeah. I had that issue back when I was using KDE-based distributions, like Kubuntu, because eventually at some point I’d want to install some software that’s not KDE. Or when I was using regular Ubuntu and then I wanted to install a Kdenlive, which was my favorite video editing software, then everything would go wonky on me. But it never really bothered me too much. I guess I’m not bothered by that type of stuff. I just want the software to work.
[00:29:47] BH: The beef is overwhelming amount of dials to play with, just things you can configure. The concern here is that that is overwhelming.
[00:29:59] AJ: Yeah, definitely. It can be, but it doesn’t have to be because there are so many different distributions out there that you can pick one that’s all set up for you. You don’t have to make a lot of options or choices at all. So it’s like the environment set up, you have bundles of software already there, configured. You have like your standard alternatives to Word and all other sorts of software you’d want on a typical Windows machine.
[00:30:26] BH: Flaky driver support.
[00:30:28] RF: Oh my goodness! Wi-Fi is a huge hurdle in Linux and I never really understood why it was such a hurdle for so long. I understand maybe when a new chip set comes out, you don’t have good compatibility, but everything from Wi-Fi to external cameras, like webcams that I would buy or sometimes even printers. But I have to say, that’s not always exclusive to Linux. I just upgraded one of my Macs to Big Sur, the latest Mac software, the macOS release, and my printer stopped working. So now when I print on my MacBook, I need to open up a Linux VM, connect the USB to my Linux VM, and then print from there. So I want to say it’s exclusive to Linux, but it definitely is more common to have those type of driver related issues on Linux. And the worst thing is when you get a laptop to install Linux, the laptop doesn’t have an Ethernet port and Wi-Fi is not working. What are you going to do? You can’t connect to the internet. You got to find a USB somewhere and find another machine. It’s a huge mess.
[00:31:25] JD: Yeah. I would say that laptop support, at least for me personally, I typically stick to ThinkPads for Linux, mostly because I just know the hardware inside of a ThinkPad is always going to work with my preferred distribution. So flaky driver support, I mean, that definitely was a thing for me, like 2002 to probably 2007 or ’08. I felt like whenever I would upgrade to the latest Fedora edition, maybe some part of my hardware would start having issues. But man, that is like one thing for me that I don’t really think about these days, but I think that is because I typically buy hardware that I know has really good Linux support. And I think that that really helps. So that’s just kind of one of the dragons in the cave that could bite you if you’re not using, like Dell has really good support, ThinkPad, literally all the ThinkPads have really good support. System76, I think they have their own Linux distributions, Pop!_OS, which is getting a lot of good reviews. You can choose that as an option if you buy a system from them. So I think that hardware support is just getting better and better over time. But I think figuring out how to fix a piece of hardware in Linux is probably one of those more intimidating things for users.
[00:32:51] RF: Definitely. I chose an NVIDIA graphics card specifically for that reason because NVIDIA is better supported on Linux. Next thing you know, a little pop-up comes up saying, “Oh, do you want to update your software?” Sure. Update. Keep me updated, Linux. Thank you. Next time I reboot the computer I have no graphics capabilities. My monitor doesn’t work. Okay. That is one of those issues where if I wasn’t already a Linux expert, I would quit or I’ll just get out, bring out my Windows disc and put that back on. But yeah, I still have issues like that even today.
[00:33:23] JD: Yeah. Discrete graphics on Linux I think is part, the NVIDIA’s support, actually AMD’s support has actually gotten a lot better in the last couple of years. But definitely back in the day, I can relate to that, especially if you’re doing dual monitor setup five years ago. It was a little spicy. You wouldn’t be able to have a seamless experience between two different monitors like I do today. I have two monitors set up here, one in landscape mode and the other one up and down.
[00:33:51] AJ: Yeah. There isn’t like some sort of Linux global health number you can just call up and be like, “Hey, my driver isn’t working.” But what there is, like we’ve mentioned before, is there’s a large Linux community. And I think that we’ve maybe moved away as a culture from, like that sense of relying on each other and community and it’s one thing that I fell in love with software is getting back to that and realizing how large of a network there is and the emphasis on community.
[00:34:38] BH: Chances are, like other software developers, you learn better by doing than just watching. Unfortunately, most online learning platforms still have you passively sit through videos instead of actually getting your hands dirty. Educative.io is different. Their courses are interactive and hands-on with live coding environments inside your browser so you can practice as you go. They’re also text-based, meaning you can skim back and forth like a book to the parts you’re interested in. Step up your learning in 2021. Visit educative.io/devdiscuss today to get a free preview and 10% off of an annual subscription.
[00:35:14] A common scene in technology companies everywhere, big conference table with the CTO on one end, developer teams on the other, the showdown. We have an idea, “Will it get funded?” More companies are feeling the pressure to go faster and stay ahead of the competition. Projects that have long timelines or no immediate impact are hard to justify. DataStax is sponsoring a contest with real projects, real money, and real CTOs. If you have a Kubernetes project that needs a database, the winner will get funded with a free year of DataStax Astra. Follow the link in the podcast description to submit your project. It’s time to impress the CTO and get your project funded.
[00:35:58] BH: Here’s another beef. Can’t find any laptop comparable to MacBook Pro.
[00:36:05] JD: I don’t know if I agree with that one. I don’t know, but I’m biased. I love my ThinkPads. I think they’re better than the MacBooks because I can get 32 gigs of RAM and a better CPU. Well, the M1 is new and it’s currently dominating. But the bang for the buck on my ThinkPads I would say really puts most MacBooks to shames in terms of spec.
[00:36:29] BH: Yeah. I think the only really fundamental argument you can definitely make there is bang for the buck because Apple does make beautiful hardware.
[00:36:37] JD: They do, a hundred percent.
[00:36:39] BH: But they’ll lose a lot of bang for the buck conversations.
[00:36:43] RF: Oh yes. Yeah. We’ll see if M1 changes that conversation. But traditionally, yes.
[00:36:49] BH: So we have Visual Studio and/or possibly VSCode written here a few times and we also have beefs like game development tools like Unity 3D are not available in Linux. So the question is, what about the people who are beefing over the application they want to run, not having good Linux support?
[00:37:12] RF: Yeah. I’m very adamant that you should use the tool that’s best for your use case. And for me, if I want to run Linux all the time, but there’s one piece of software that requires Windows, I’ll just install Windows VM and use it there. If that software requires GPU access, like when I bought the HTC Vive and I wanted it to play VR, all right, I guess I’m going to have to install Windows again as a dual boot because I just want to get in VR. I don’t want to have to troubleshoot GPU access with pass through to my VM because I just don’t want to deal with that headache. Now on my Mac machine, as I mentioned earlier, I need to use Linux and a VM to print because my printer doesn’t support the latest version of Mac. I’m not adamant in any one way. I think you should use whatever tool works best so you can get your job done.
[00:38:01] JD: Yeah, I would agree with that. If your piece of software doesn’t have support for Linux, my answer would be go tell the developers of that software that you run Linux and you would like to run their software on Linux. One of the things that I think is amazing over the last probably three or four years, it’s like, I was always the lonely person out, like when everyone was using cool macOS only software, I couldn’t run it. But these days, I feel that all these new software companies are coming up and like Linux support is actually like a first-class citizen in a lot of ways. Or they have plans for a Linux app, like around the corner. I think projects like Electron have made it very easy to make software portable across different operating systems. But my initial inquiry, and I do this a lot, if I like a piece of software enough, I will write the development team. I will spend the time to write an email. And most of the time, I don’t either get a response or they’ll be like, “It’s on the roadmap,” or it’s like, “Thank you. No, thank you.” But I make it very known to the software that I’m consuming that’s commercial software that I run Linux and I would love to run their software on Linux.
[00:39:23] BH: A lot of applications these days run in the web as well compared to maybe 10 years ago. So the work Amber you’re doing in React and Node is most likely to support Linux, Windows, Apple, iOS, anything you want. Whereas 10, 20 years ago, that was just not the case. It’s not how the web was used. The web didn’t replace desktop applications ever.
[00:39:52] AJ: Totally.
[00:39:53] BH: Joe, you’re looking at the same list as me. Do you want to pick anything else you want to speak to from the variety of complaints we have here?
[00:40:00] JD: One user was talking about how super high resolution monitors aren’t where they need to be and it gets really hard to configure like dual monitors. I think that I have a high resolution gaming monitor that I run. I basically have a KVM switch to my gaming PC and my two Linux laptops that are docked. And with Fedora Linux, I don’t have those problems. But I have a friend of mine who runs Ubuntu and he has an even bigger monitor than I do on his gaming PC, and that one did have some problems with Ubuntu. So I think it’s really distro specific. Every distro does something different, right? They’re either doing things within the kernel. There should be a different kernel version or they’re doing special things to their kernel for their distribution. And the way they configure the window manager and stuff like that can really impact your user experience. And so I think that probably one of the biggest misconceptions is that it’s not Linux that has the problem. It’s how people are building their Linux distribution that could give users a different experience between each one. Right? You could have one user that tries Ubuntu. They run into a problem and they just kind of write Linux office saying, “Well, Linux doesn’t work with my setup. My monitor doesn’t work. My keyboard doesn’t work.” But it may work in a different distribution because they’re doing things differently. So I think with macOS or Windows, you get a very consistent user experience across the user base where Linux is kind of like all over the place. And I think that that impacts individuals, something I would want to bring the surface as a misconception that it’s not a Linux problem. Most likely it’s a combination of the distribution you’re using versus the hardware you’re using.
[00:42:00] RF: Yeah, definitely. That’s the primary reason why I was distro hopping. That’s part of the challenge for someone who’s not willing to put into time for someone who just wants to do their homework and they don’t want to have to install five distributions every week to figure out which one is best at doing her homework.
[00:42:16] AJ: I agree with you guys that each distribution kind of has its own thing. Maybe if that’s not the challenge or what you want to do with your time, that’s totally fine. There’s distributions out there that are more stable or one particular thing or use Windows or Mac. It’s cool. It’s a personal choice.
[00:42:35] JD: Totally. It’s funny because I have some friends that played all their video games on Linux and they’re like, “Joe, you’re so good with Linux, why aren’t you using Linux to play video games?” And I’m like, “I don’t want to fix and dedicate the time into fixing my video games on Linux because I just want to turn the video game on and not think about Linux.” Because that’s what I do for a full-time job. So I can relate to that along. So now that we’ve dispelled some myths, I do want to talk about some of the real things that Linux might not be great for or things that it definitely could be better at. Rob, do you have any thoughts on that?
[00:43:13] RF: The common thing that people say when asked this type of question is, “Oh, I want Linux for the desktop. Every year is the year of the Linux desktop.” Everyone says that every year for the last 20 years that I’ve been paying attention to it. I don’t think Linux has to be good on the desktop.
[00:43:28] JD: I think Linux is great on the desktop. Right? I think every year is the year of the Linux desktop because that’s all I’m using.
[00:43:35] RF: Yeah. For a lot of people, that’s true.
[00:43:37] JD: I would agree, but there are things with Linux on the desktop that are annoying or that can be cumbersome at times, but really like the sacrifices that I’m making by running Linux every year, it gets better. And I’m glad you brought up the year of the Linux desktop phrase because my response to people that say that is just like, “It’s working for me. I couldn’t be effective at my job if I wasn’t running Linux as my workstation.”
[00:44:11] RF: Oh, definitely. I agree with that. I don’t think it has to be that way for everybody though, because what people don’t realize, what was just mentioned a few minutes ago, I think most people today use their browser to run their apps. I don’t think most people today are downloading that many native apps onto their computer and installing it in a standard way. I think most of the apps people use are on the browser and those browser apps have Linux on the backend that are serving them. So in a way, most people are already using Linux in a roundabout way without really recognizing that, “Oh, actually this website that I’m on is actually an app that’s running on a Linux server somewhere and this is replacing what used to be standalone software that I would install.” They don’t think about it that way. Nowadays, I don’t think if I gave someone a computer today and said, “This is the beefiest computer ever, but there’s no internet, install whatever you want on it, use all the native software you want,” I don’t think they will take it.
[00:45:03] JD: Yeah, I’d agree with that.
[00:45:04] AJ: The only example that I can think of that’s held me back is Photoshop not being on Linux. I’ve looked it up before, I Googled this so many times. I know you can do a virtual machine, but the answer that I found, like the response from them was that there wasn’t enough demand. So I think going back to that, like having people be like, “Yeah, I would like to see this application on Linux,” is a great point. And that’s not related to like development, but like a personal application I would like to see on Linux.
[00:45:34] BH: If the folks in this room had the capacity to make a few changes in either the way Linux is distributed or the way the community operates, how do you think we can make Linux more accessible to folks who might currently have a negative perception? And this question allows for waving a magic wand and getting rid of the historical context, if you want. Maybe that’s giving a negative perception. Maybe it’s something that just makes it a little bit more technically burdensome inherently. What do you think is out there blocking us right now?
[00:46:10] JD: Maybe like six months ago, I can’t remember where it was posted exactly, but basically they’re talking about how mailing lists were not inclusive, like it was really hard for individuals to contribute or interact with individuals on the Linux kernel mailing list because of how intimidating it is. I think what people don’t realize is that the Linux kernel mailing list itself is a workflow for a lot of the kernel developers. They use Git in a totally different way. It’s not like they’re using GitHub to develop the kernel. They’re literally sending patches via email to each other on the kernel mailing list and then using email to collaborate on those patches. So it’s a very different workflow. I would probably dumb it down to say the workflows that surround Linux, even in like my favorite Linux distribution, Fedora Linux, it was really challenging for me to get involved as to be a package maintainer for the WireGuard tools package that I wanted to introduce to Fedora. It required me to find a mentor. IRC bothered them about, “Hey, how do I navigate the systems, the build systems, the political undercurrents that are going on within each major Linux distribution? How do I make sure that I’m doing things the Fedora way to release the package?” Sometimes you just don’t know where to start. I think one thing that it’s really hard to be mindful of is that open source software, people, is mostly done in their free time and they’re not getting paid for it. So getting somebody’s attention to worry about your problems when they have their own problems going on is really difficult.
[00:48:02] AJ: Yeah. At a very basic level, I would love to just get Linux in the hands of more people just so they can touch it, to play with it and the earlier the better. And I know there’s been experimental programs where school districts have rolled out refurbished laptops with Linux on them. And I think that’s a great idea. I wish I knew how that experiment played out, but that reality is possible because of Linux, because school districts don’t have to shell out Windows licenses, Mac licenses, so that every person and every child and every person that wants a laptop can have a laptop is possible because of Linux.
[00:48:45] RF: I think if there’s one thing that could change that would really push Linux forward, I think if more people paid for it or contributed to open source projects, I think that would be the big change because as Joe said, these people are doing it for fun on the side. And if they can potentially quit their jobs just to work on the open source project full time without having to worry about advertising or any of the business-y stuff on the side, then the software would have to get better. There’s no choice.
[00:49:14] JD: Right. Well, I think that that really kind of wraps up our show today. I want to thank Rob and Amber for joining us and I hope everyone has enjoyed it.
[00:49:24] RF: Yeah. Thanks for the invite.
[00:49:25] AJ: Absolutely. Thanks guys.
[00:49:35] JL: I want to thank everyone who sent in responses. For all of you listening, please be on the lookout for our next question. We’d especially love it if you would dial into our Google Voice. The number is +1 (929) 500-1513 or you can email us a voice memo so we can hear your responses in your own beautiful voices. This show is produced and mixed by Levi Sharpe. Editorial oversight by Peter Frank and Saron Yitbarek. Our theme song is by Slow Biz. If you have any questions or comments, please email firstname.lastname@example.org and make sure to join our DevDiscuss Twitter chats on Tuesdays at 9:00 PM Eastern, or if you want to start your own discussion, write a post on DEV using the #discuss. Please rate and subscribe to this show on Apple Podcasts.