Jonathan: Hey, this week on the show, David Ruggles joins me to talk about my origin story. Due to a bit of a scheduling snafu, it's just the two of us, but we have some interesting history to discuss. This is Floss Weekly, episode 791, recorded July 19th. It's all about me.
Hey folks, it is time for Floss Weekly. That's the show about free, libre, and open source software. I'm your host, Jonathan Bennett, and today we've got, well, something a little off the beaten path. First off, I've got David Ruggles as the co host with me. And we're gonna have fun today because Well, our expected co host had a conflict today, and our expected guest had a conflict today.
And so David is coming off the bench, as it were. And he, he had an idea for what we could talk about. You know, if we ended up in this situation where nobody else showed up. And that's, that's what we're gonna go with. And so his, his thousand IQ idea was to interview me! And to talk about my origin story, which I don't think we've ever done on the show, so that's going to be interesting.
I have very hastily put together some notes for him, and so that's, that's what we're going to do. It's, it's sure to be, well, would it be tooting my own horn to say that it's sure to be interesting? But anyway David, you're You're sort of, you're sort of in the, in the big chair today. And I'm the, I'm the guest, I'm the interview VE.
So take it away, sir. All
David: right. Well, I will do my best because this is my first time in the big chair. So we're just, you know, we're spinning the salad and seeing what comes out. So I I've been getting into podcasting this year, actually, finally got an internet connection that supported it. So now that I've been doing it for a little while, it's just leading to more questions and you've been out there doing it for longer than me.
We'll get into exactly how long, I'm sure that'll be one of my questions. So I actually relish the opportunity to dive behind the hair.
Because if you have not ever seen a picture or watch a live stream, everybody has to agree that Jonathan has awesome hair. So I think that's my first question. Is that
Jonathan: hereditary? So, I don't know. Little known fact about me, I was actually adopted at birth. And I've had very, very, very little communication with my actual biological parents.
And so there's a lot of question marks about what, what about me is hereditary. And so I don't, I don't know about the hair. So it's possible that one of your gifts
David: was awesome hair. So just to kind of set the stage What got you into computers? What was your light bulb moment to quote your own note?
Jonathan: Yes. So one of my very early memories, you know, you, you talk about core memories. One of my very, very early memories was going to, I'm pretty sure it was a Sam's club with my dad and. For those that remember, I don't know if Sam's Clubs still do this but they used to have, like, you would walk in, there'd be a little bit of stuff off to the right, and then they would have the huge, big, you know, floor to ceiling shelves.
And facing you at the door, on that first set of shelves, was their computer stuff laid out. And I used to find that fascinating. I would get, you know, as soon as I was tall enough to reach up there, I'd go over there and I'd fiddle with it, but I didn't know anything about what I was doing. And I have this memory of my dad being with me, and, For the first time, like, well, here's how you hold the mouse, and then you can move it around, and you see when you move the mouse, it moves the cursor on screen, and you can double click with the mouse, and it opens stuff, and oh my goodness, it was just like a lightbulb moment, it was an awakening, oh, I can actually do things with this, I know how to, I now know how to make this do things, and you know, that kind of just, set me on this journey of, this is, this is really interesting.
And yeah, so that's, like I say, that's kind of a, kind of a core memory, but it's also, it was the, the start of sort of a lifelong fascination, this idea that, you know, I can, I can actually have control over this box and make it do what I want it to do. And I always, I always found that to be just a really, really fascinating.
And that was one of kind of the hooks that got me into fiddling with computers.
David: Yeah, I think most people that are deep into especially open source, anything where you're, you're tinkering, you're making any of that community, you always have that one core starting trigger or moment.
Jonathan: Yeah.
David: So next question would be for me or for you would be.
So, your first memory is in a Sam's Club. Huh. How long after moving the mouse in the Sam's Club did you move to having a computer in your own house?
Jonathan: Oh, that's an interesting, so, it wouldn't have been too terribly long but I don't, I couldn't tell you exactly how long. Maybe, maybe a year or two.
And so, like, my, my early memories of the computer were I remember the first time that we got, like, one of those sampler disks for dial up. And that wasn't even, like, the full internet. That was some, So,
David: like, CompuServe or something?
Jonathan: Yeah, it was something like that. So it was kind of their walled garden version of the internet.
And it seemed like that didn't ever even work right. So, and then, you know, at some point we did finally get dial up. And I gotta give some credit to my parents. I was not exposed to the raw internet at a young age. I was, there was some, there was some boundaries set around that which, You know, in some cases we're, we're very good because there are, there are things on the internet that prepubescent teens just don't need to see.
But then, you know to jump a little bit ahead, like there was a time that I went to volunteer. I was like 13, 12 or 13 years old. I was gonna volunteer to try to help with a an operating system written in QBasic, which is something. But the way that I wrote in to volunteer was like, I'm not going to give my last name because I'm a little bit paranoid about the internet.
And of course, these adults that we're working on, it just brushed me off as a silly kid. So, you know, that could have been, that could have been, that could have gone a little differently and been, been interesting. Yeah. So like I said, that, that moment in Sam's club was a very, very early memory. And then pretty, pretty early on in life, we finally got a computer and then We finally got, you know, connected to the internet when I was six, seven, eight, something like that.
So pretty, pretty young. And yeah, not to date you too much, but what decade was this in? Would have been the 90s, the early 90s.
David: Okay.
Jonathan: So I am, I am just the right age that, like, I remember, I have some memories of before the internet but at the same time I'm young enough Or, excuse me, I'm, yeah, I'm young enough that I also grew up with the internet.
So, like, my formative years sort of split that, at least in my particular case. I mean, everybody's gonna be a little bit different age based on where you were and how much money your family made, how early adopters they were of the internet. But I, I kind of split that. So I have, I have memories of both. I have memories of, you know, playing on an, on an NES, a Nintendo entertainment system and having to like go to the library or the game store to look up the cheat codes or the guide.
And then I also have memories of about the time the super Nintendo or the N64 came along, having access to the internet and being able to go on GameFAQs and find the same information.
David: So you've got a computer now you've been playing around with it. Huh. Oh. What was the first programming language and project that you started experimenting
Jonathan: with? So programming language, that was QBasic. And that was, that was because my dad was a business major with computer science minor. And unfortunately, he's not done a whole lot with that programming background, but he did, you know, remember enough about BASIC that when we had a computer, and I got to the point that I was interested in it, he was able to fire up BASIC for the first time.
And show me some of the, the simple, simple things about running with BASIC. And so, you know, I, I would, I would write programs that would, you know, tell me your name and then it would print your name back. And then, you know, the next thing you do with that as a, as a kid is, well, let's compare this. And if you type Jonathan, then Jonathan's really cool.
And if you type, Dad, then dad's the best, you know, that sort of, that sort of level of programming. And that, that was kind of where it stayed for a while until you kind of connected that with the internet. And then at some point I discovered kind of that, there was a series of sites. I don't know if they still exist or not, but there was a series of websites around the idea of QBasic.
And so you had things like I want to say one of them was Pete's QBasic site and, and that had sample programs to download, but it also had code examples. And, You know, I, at some point I came across like you can draw graphics with QBasic. And so I started, so one of the first real programs that I really remember working on was, I was very much into Knight Rider at the time, the old, the old 80s TV show, 80s, 90s TV show.
And so I started working on this, like, well, let's do schematics about this really cool car and put text on the screen and, you know, make it look like those 80s graphics. And I spent some time doing that and got into that and found that. Found that to be really, really cool and really enjoyed that a lot.
Um, and then as I got older There was a time where I kind of set programming to the side for a while and really got into like video editing and stuff. Which, you know, is another thing that has served me well. But yeah, the initial programming language was really QBasic. And so, it's interesting, that's where some fun things come from.
Like my editor of choice is Nano. It's because Nano looks like the old Microsoft Edit or QBasic interface. And so when I saw it, it's just what felt to be right at home. And so there's still a few of those, a few, a few ticks that I have that I think came from that early QBasic experience.
David: Well, that kind of Stole the thunder of one of my questions at some point I was going to ask when did you get introduced to vi and why is it the best but
Jonathan: we'll just skip that i got stuck in it for so long i just i'm traumatized and can't go back yeah
David: All right, so What was your next programming language after?
Q basic or basic or any of the basic varieties?
Jonathan: Yeah, so You There there came a point and so like I was interested in doing games. I thought, you know, programming an RPG would just be the coolest thing. Well, if you try to do that very hard for very long, you run into problems with QBasic. At least QBasic, what was it, QBasic 4.
5 is what would actually ship with Microsoft machines, and I'm Because it couldn't compile, right? It would just run in the interpreter, and that was it. There was a later version of QBasic, like the QBasic 7 series or something, that would let you actually compile to an executable. And I, I knew early on, like, that's, that's where it's at.
Your programs can run faster, they're easier to distribute, and so I started looking into that. Well, Along, somewhere along that time, I discovered that C was a thing. And I don't remember why, but in my young brain, I knew that C was the future. Right? Like, that's the direction I want to go. I want to learn C And so, you know, I as a, I don't remember for sure how young I was, under 12, maybe like a 10 year old, somewhere around there, I got this big, thick book of, you know, a beginner's guide to C In fact, that may, it may be sitting up there.
So yeah, teach yourself C and I started going through that book, trying to compile some of the things in it. I will say, while I got partway through it, some of the things in there did not click. Like being a 10 year old and trying to understand what is going on when you're creating a When you're creating classes, you know, your constructors and deconstructors, like a lot of that just, it didn't make sense to me, like, what, what, what do you mean you make a constructor and it's blank and it doesn't do anything?
Why is that there by default? What are you talking? Like, so, there, and, Part of that is because C does some magic in the background. And the book did not do a real great job of describing the fact that C is doing this magic in the background. And a constructor is just where you can add your own magic on top of that ma So there were, there were things that I just, I did not grasp about C at the time.
But that was the next language that I really tried to go into. And then I would say probably the, yeah, I messed around with Perl I messed around some with Python probably the first language that I really did anything, some Java as well, but the first language I really did anything constructive in I think was Perl.
And I think I have a question in the, in my notes about that, and so I'm not going to jump ahead on that story. I'll hand it back to you and let you, let you dig further.
David: Okay. So, actually, one question I did have, you mentioned BASIC. Did you ever mess with Visual BASIC?
Jonathan: I downloaded the Visual Basic program, and I looked at it I think when I messed with Visual Basic, it was, I had two things that threw me off with it.
One, the interface looked very clunky. You know, the version of it that I got, it just, it looked clunky. And so I immediately thought, well, this is not going to do what I want it to do. I want something that's a little bit more up to date. And then also the kind of, when I looked at it, it seemed to be a very simplified drag and drop.
And that also was not really what I was looking for. So I, I, I looked at it and kind of walked away from it fairly quickly.
David: Yeah, makes sense. My exposure to Visual Basic is, when I went through college in the late 90s, that's what they used to teach programming and logic. So, it was I'm sorry? It was interesting.
Jonathan: Yeah, so I mean, keep in mind, so far we are very pre college on my experience. This is, this is all, pretty much all before the age of 13. I, just trying to, trying to soak in the things like a sponge on my own.
David: So just, just to establish it, if it wasn't clear already, I am slightly older than you. A little bit.
But not by a whole lot. A little bit. Ah, so going, so I assume C was still under the Microsoft ecosystem DOS, Windows 3. 1, 3. 1.
Jonathan: 1? Yes, still, still running on Windows. That would have been Windows maybe 95 is where I started messing around with that, somewhere in there. Okay, yeah. Oh, it's interesting.
So you mentioned that there was in the, in the C book, the instructions were for Windows. But there was a little tidbit about if you're running on Linux or one of the other Unix's, you can actually use this command. And I used to look at that and go, I wonder what they're talking about. What is, what, what is, what is this Linux thing?
David: Well, that leads into the next question I was going to ask is what got you into Linux? So what was your, how did you transition from Microsoft to Freedom?
Jonathan: So, so Well, like a lot of such things, a friend got me into it. We, so when I was growing up, we moved around a lot. My dad actually worked as a field accountant for a construction company.
And so about once a year, we would move, move, move. Kind of like being a military brat. And, finally, we moved to southwest Oklahoma, where I'm at now. And I met another young man about my age. And it was one of those times where we just, we clicked, like we just understood we were interested in the same things and we were, and he was a Linux nerd.
And so he finally talked me into, you gotta try this Linux thing, here let me, I think at some point I got a I got a laptop. And he convinced me, let me, let me install Linux on your laptop as a secondary OS. And so, you know, I had it there started playing around with it. And, let's see, it seems like I went on, I went on a vacation, and this was early, early FedoraCore, like a FedoraCore 2, maybe?
I went on vacation to a place that only had dial up internet. And, the laptop did not have support for the modem inside of Linux at the time. Again, early days. And I ended up breaking my Windows install so that I only had a fresh install of Linux on the laptop. And so, like, the entire vacation was me fiddling around with it, trying to make the various things on this Linux laptop work.
in this location where there was no Ethernet cable that I could just plug into. And I've had that experience multiple times. The fresh install and you've got to get, you know, you've got to try to get your drivers working so that you can install your programs. Um, and it, it really, it's an adventure.
And you know, there, there did become, there became a time where I really got tired of Windows XP. So. You know, the Windows XP thing, when you, when you first start with XP, you, on a fresh install, it will always pop up and tell you, Hey, you know, you go to your C drive, like you open Explorer and you try to go to your C drive, and It'll give you this message that modifying files and folders in this folder can be particularly harmful to your operating system.
And that always used to annoy me. And there came a day, I don't remember at what point this was, it was either You know, I was a teenager, and I was either like right before college or very early in college. And, I, I got into the habit of once or twice a once or twice a year doing a reinstall of Windows XP.
Because Windows would just, it would slow down. It would get to the point to where the laptop I was running it on would just get really sluggish. Really slow to do anything. I've kind of figured out since then that that's because I'm running on a conventional spinny hard drive. Windows XP and the hard drive just starts wearing out, and so it takes longer to pull data off the drive.
I'm pretty sure that's generally what's going on there. But my solution at the time was just to do a Windows reinstall, because it would, it would freshen the sectors, and therefore it could pull things off of them faster. The, the drive didn't have to work as hard to try to figure out what the bits actually were.
So I was just in this habit of reinstalling Windows a couple times a year. And I went to do a Windows reinstall, got it. Freshly installed and went to that C drive and saw that message and just it it really irked me It's like what what right does Microsoft have to try to to put the kids kid gloves on me?
Why do I need to interact with my operating system with fleece mittens on it's like this. It's just not right And so, you know at that point I said, you know, I just I don't really need this everything I need to do I can do on Linux. And so, you know, that would have been 2005, probably. I wiped out my Windows install.
It's like, I don't need this. I'll just give, I'll give Linux the full, the full disk. And I've been pretty much Linux only on my computers since then. And yeah, it was a, it was a good feeling. It was neat. It was early to do that. It is much easier to pull that off these days. But, that's, that's when I did it.
David: All right, so there was a question from our gallery and it said, did fixing Linux on vacation meet with spousal approval? But my assumption based on our timeline is that this was well before marriage.
Jonathan: Yes, yes. I was like when when that instance happened, I was probably 16 or 17 somewhere in there when I took the laptop on vacation, and it was it was to my grandparents house.
And so they just a lot of times at their house. I just hung out in the basement. Well, my parents and grandparents caught up and talked about things. But, yeah, there was no there was no spouse to approve at that point. It was before I met my wife at all.
David: Makes sense. So A couple of follow up questions, did you ever mess with Slackware?
It's like one at the original.
Jonathan: No, no, no. I never did anything with Slackware. I've never, believe it or not, I've never done a Slackware install. My, my first distro was FedoraCore. And like I said, it was probably FedoraCore 2. And that's because the guy that got me hooked on it was a fan of Fedora.
And I think that's because his dad was a fan of Red Hat Linux. And so that's just kind of where I got introduced to it.
David: Okay. And then the other question I had, or maybe not question, clarification. So not only were you fiddling around with Linux, but because you didn't have a internet connection, you also didn't have the normal resources.
So you were having to figure it out kind of on your own. In addition to just fiddling with it.
Jonathan: So yes, they had Dial up internet there at my grandparents house. And so It was, it was a lot of me, I had the laptop plugged in, my memory of this is I had the laptop plugged in in one room, and then their desktop was in the other room, and so my memory is me fiddling with the laptop, and then going to the desktop to try to look something up online to figure out how to do something, and then going back to the laptop to try to make it happen, and yeah, boy, things were, things were different back then, things were a lot different back then.
Yes, better and
David: worse, better and worse. Yes. So you had a comment that you bypassed a not so great firewall and this is somewhere between windows and college. So this must be the teenage years.
Jonathan: Yes, the timeline on some of this is a little fuzzy but the same friend that introduced me to Linux he went off to college in Florida to a rather conservative college, and one of the things they had there was they had a firewall that would block So yeah.
All kinds of websites. And some of those were perfectly legitimate websites that he really wanted to be able to get access to. And, so we started probing this firewall to see, like, what could we get through it? And how could we pull stuff off and get him? So I had, I had a little website that, well it was, it was hosted on, heh, it was hosted on an old, old Linux machine that was in my bedroom at the time and It was, you know, it was like a personal blog.
If I, if I remember correctly. And so, we eventually, like, we sent it to the school and said, hey, could you please unblock this website? Well, that meant that, that domain was unblocked. And so, you could get through to it. And so, we started messing around with OpenVPN. Wireguard didn't exist at the time. OpenVPN and FWNOP.
as this sort of solution to try to push a VPN through their, their big stateful filtering firewall. And we made it work! Because we had, you know, we had a website that was on their allow list, and you can set OpenVPN up to be an SSL firewall. In fact, I think that's what it, the way it works by default.
And so you just set it up to act like it's talking to a website. Well, FWNOP, that's the Firewall Knock Operator. That was something I found at around the same time. I, I think I discovered that because at the time I was listening to a lot of Security Now with Steve Gibson. And Gibson did one of his shows on the idea of port knocking.
And the, so port knocking is, you have a firewall that's closed, but it's listening for incoming connections. And so you try to open a TCP connection on multiple ports in a row. And the operator on the other side of the firewall hears those, it's kind of like a secret knock. And if the secret knock matches, it opens a port in the firewall to you.
I thought that was a cool idea, and it worked really well for what we were trying to do. So, I went looking for an open source implementation of this, and the one that I came up with was FWNOP, written by Michael Rash. And FWNOP goes a step beyond just port knocking. In fact, it's still, there are still some, some places where you might want to use this.
It's still a neat project. It goes beyond just port knocking and it actually sends, it does what it calls single packet authorization. It sends a single UDP packet that has actual cryptography inside of it. And so you can then you can, you can check the authorization on the string and then decrypt the string.
And inside of it, it'll have, like, you know, a timestamp and a source IP address and then a request, like, please open this port for my IP address. Well, so what we were doing with it is we were saying, you know, Rather than open this port, it was please redirect this port from my IP address. And so you could send in a request over port 443, and then internally FWNOT would flip that over to your OpenVPN port.
And so it really, it worked, it worked beautifully for what we were trying to do. The, the problem was, and so this, this gets back to the programming thing, the problem was at the school where his internet was it was using a proxy. You had to specify a proxy. And FWNOP, the client, didn't have didn't have support for that.
And so, you know, I put my big shoes on, I said, I bet you I can figure this out, and I went in, it was Perl code. I was like, oh, Randall Schwartz likes Perl. Perl is cool. And so I dug into that for a while, learned a lot about how networking works, and how proxies work, and routers, and routes, and all of that.
And finally, you know, kicked together some code to, in the Perl version of FWNOP, to be able to specify a proxy to be able to send one of these packets through. And that was kind of, that was kind of the first really useful programming thing I did. And that was, you know, that was a lot of, by that time I had easier access to the internet, I had some Linux chops.
And that was just a lot of reading about things that work, reading about Perl, reading about networking, and then going into the FWNotPerl code and reading about it and figuring it out. I finally got to the point to where it worked in the Perl code and sent it in to Michael Rash as a patch. You know, this is the code that I've got.
And interestingly, he, I don't remember if he applied it to the Perl code or not, but they were, at that point in that project, they were doing a transition from Perl to C or no, C, Perl to C FWM is written in ANSI C. And, so he re implemented the patch in C. And I think I tested it and it didn't work, and then I had to go in and fix the C code, too.
Because apparently he didn't have a, he didn't have an easy way to, to test a proxy like that. And so that was my first real exposure to, to doing something useful both in Perl and in C if, if I remember correctly. So that was, that was super interesting to, to kind of take a look at doing all of that.
But of course it was you know, it, it was It's an interesting experience. Your first time, you know, really sending a patch into a project. And, and seeing it, like, it went out to other people. It was, it was really, it was code that other people found useful potentially. And that that really intrigued me a lot to be able to do that.
It was just, it was just kind of one of those, those awakening experiences where you, you understand, like, here's the juice, here's the goody of open source, here's the thing that open source really makes sense for being able to send that patch in and, and have it. Become part of the project.
David: Awesome.
My internet just blew up on me right there, so I missed the last part of what you were saying, but thank you for carrying on. I tried. So college experience, not about the classes. I assume we're not talking about the partying, either.
Jonathan: No, no, no. So, where I went to college was a similarly conservative college, and I, I spent a lot of time breaking and fixing my Linux laptop.
Because, of course, as one does when you're early into Linux. I, I had some fun helping other people with computer problems. There was, there was one instance, so at the college where I was at, down in the coffee shop, I think, they had, the coffee shop and the library, they had some communal computers.
And this was early on, people didn't realize that it would be a terrible idea to tell the computer to save their password when other people can log into it. And so there were, I was not the one that discovered this, I was not the one that really put 2 and 2 together, but a couple of friends of mine did.
And they went, people are saving their username and password in these public computers. And so they went in and they grabbed it all. And that situation did not end as well as it should have. And that's where I learned about responsible disclosure and the way that that should work. But I also got to be really good friends with the Well, he was, he was kind of the audio engineer and they brought him in to run their little recording studio.
And a couple, actually I became really good friends with a couple of people that worked in the recording studio. And, there was, there was about a six month period there where I ran the recording studio as a student. Because I just, I enjoyed it so much and I, I would work for them for free. And so they let me do that.
I learned a lot about, you know, audio equipment and microphones and, you know, just really kind of trying to dive into that world, learn, learn how to mix, learn how to even build audio systems. Really, really dug into that. And then the other interesting thing that happened in college is I came across, I started doing some reading on like, the early open source philosophy, if you were.
So I read Eric S. Raymond's The The Cathedral and the Bazaar and that really resonated with me. And some of those other early works about, you know, this is the way that we imagine open source working. This is why open source is really cool. Did a lot of reading into sort of the history of all of that.
The history of Unix, the history of Linux, history of open source. And so, yeah, for what I am doing today, I not very much of my actual classroom experiences made it, as far as being useful but a lot of the a lot of the outside of the classroom things that happened in college have been very important for me, so that was, that was something.
David: Yeah I, I think a lot of people, unless you get to the doctorate level and you're doing the next iteration of, development, whether that's you know, networking or computing or any of those things, anything beyond that technology is advancing so quickly that college classes themselves may not stick around that long, but that whole learning how to learn.
That's the most important part of that whole process.
Jonathan: Yeah.
David: Another thing I wanted to just quickly touch on, I noticed you mentioned that you kind of dabbled in some video editing and then you got into sound. And there was a question from the comments again, they want to know if you play any instruments.
Jonathan: So at the moment I have instruments. I used to play them very, very faithfully but then I had kids. Got married, had kids, and that just sort of soaked up a lot of the time for doing music. But no, I, I have played the trumpet the, a little bit of the piano, and a little bit of vocal work. By far, I was best at playing the trumpet.
And And then at the moment, I've also got a bit of a modular synth build that I'm, I'm trying to become proficient at, although that is, that is happening very slowly, and as, as so far, that has been more difficult than I expected, but starting, starting to have some fun with that as well.
David: But one of the interesting things, at least the thing that I find interesting, is there is so much overlap between the creative mind and the open source mind.
I mean, you look at the. that you have on floss. The other people that come in quite often and almost everybody has some musical connection or some graphic connection. I mean, I, myself, I've done some mixing. I don't play any instruments. But you know, I've done video editing you know, all that kind of stuff is just it's, it's really fun.
It may not be obvious from the outside, but when you get into, especially programming, there is such a creative element to solving problems and things that there's just naturally a lot of crossover.
Jonathan: Yeah, so I would, I would definitely agree. Being a good programmer does require some creativity.
Particularly when you're like working on When you're working on something really interesting, like that's not been done before there, there is definitely an element of, let's come up with a creative way to do this, you know, let's, let's take these pieces that are out there and put them together in a, hopefully an elegant way.
And that, that, that idea of elegant code is sort of similar to having a creative eye.
David: So I want to jump around a little bit because we're already after the top of the hour and I want to make sure that the questions I'm interested in get hit. So what, how did you get into podcasting and become. A Floss Weekly co host and then a host and, and kind of you, because you've obviously, we'll, we'll, if we have time, we'll touch on it, but you know, you had your own company, you did a lot of IT support, you're still doing it, but now you're doing more of the public face kind of, of this stuff.
How did you get into all that?
Jonathan: So. Let me think about where to start that. Probably probably the beginning of that story is I got into some trouble at college. Okay. And well, so the trouble was, and I know some things now that I sure wish I knew then, it would have really helped me out. But one of the bits of trouble was that my, my grades really started falling. And so they, because they had, they had, the people at college recognized that I had some skills.
And so they put me into some positions doing sound stuff and my grades started falling. And so they, they brought me into this meeting and it's like, things need to change. You know, it was one of those kinds of meetings, but there was, there was something that happened. Boy, this is a another one of those core memories.
It's funny. So it's funny things that you say, maybe even off the cuff. I don't know if he, if the guy that said this to me, I don't know how much he thought about this before he said it, but it really made an impact on me. He was, he was basically describing the problem. And then he says, you know, in this meeting sitting here with us, you present yourself very well.
And so he gave me this, like, this really nice compliment that you're articulate, you make your points well, you present yourself well, you've, you've put yourself together well. And he's like, I don't, I don't understand, what are you, what he was saying is I don't understand the disconnect between the young man that's sitting in front of me in this meeting and the grades that I see, right?
Now, the thing that I have learned since then is I have some health problems. And I was probably beginning to experience a thyroid problem even then, which is why I was doing things like. sleeping 24 hours a day on the weekends to try to be able to make it through classes throughout the week. Oh, I, I had some problems that went undiagnosed for a while, but anyway, we go into this meeting and he gives me this compliment.
And like that became a core memory for me that, that this guy that I respected told me that I present myself well in a marticulate. And so I, I got kind of a confidence boost from that. And finally, you know, I just, I got to this point where I started telling people, I could probably do that. And so let's see.
I got back into programming for FWNOP. In fact, I wrote a a couple of clients, a couple of graphical clients for it. And we started talking about it, and I suggested, because I was, I was aware of Floss Weekly at the time. I listened to it. And so I suggested to Michael Rash, the guy that, that writes FWNOP, we should try to go on to Floss Weekly as, as guests.
And Pitch the program. So we did that. You know, Randall Schwartz was hosting at the time. And just like I do now, anybody that has an open source project, if you write in and say, Hey, I want to be on the show. Yeah, absolutely. We are always looking for guests. Right? So we we got to be on the show. Michael Michael, you know, he was the project lead.
So he always was. was almost entirely answering the questions. They did kick it over to me for, the question was, it was a two part question like, you know, tell us about the clients that you wrote. And I ended telling them about the clients by saying, you know and it's written in C under the WX widgets library.
And the very next question that the co host asked me was, in what language is it? And what is, you know, what library is it written in? So I answered that again. In retrospect now, thinking back on that, it's like, well, that would have been a great opportunity for me to continue answering with a more detailed answer.
But no, I was not quite that aware at the time. So anyway, I had that experience as a guest on the podcast. Well, then Randall sent out a request And it's like, we need more co hosts. They'd had a couple of their co hosts stop. And I sent him an email. I said, Hey, I've been on the show. I feel like I've got a decent video set up.
I've got a decent audio set up and I'm fairly articulate. I handle myself well in meetings. And like, it was part of my thought process. I could probably do it. And so he emails me back and said, sure, we'll give you a try. And I don't, I don't remember what the first, I don't remember who the first person was that I interviewed, but apparently I did okay.
And so then, you know, by the end of it, he emails me back and says, yep, you're part of the rotating panel. And so I would just, he would send out emails. I was self employed. And so I was pretty much always up for doing it whenever, and so I ended up doing it a lot. And then Randall started having some health problems of his own, of his own.
And there were some days where he would just miss being there. He wasn't able to host for one reason or another. And so I was, I was one of the ones that stepped up. And there were, there were a few times that I was the host of the show unexpectedly. I think there was at least one time where I was scheduled to be the co-host and it was just me.
And so I got to be the host with no co-host. That's kind of, you know, throwing me into the deep end, but. Made it work. And then of course Randall stepped down and Doc Sorrells took over and again I was one of his co hosts and then when when Twit had to make the decision to pull the plug on the show I I was already writing for Hackaday, which the story with Hackaday is similar I was a fan of Hackaday.
Oh, goodness, I've been a fan of Hackaday for forever. Very soon after it started, I think I found and started reading on Hackaday. They put out a call and said, hey, we are looking for contributors, people to write stories. And I sent an email and said, hey, I think I can do that. I know how to write. I did well.
I could probably write these. And so they had me write an example story and, and they liked it, so I stuck around. Then they, they knew I was interested in security. So they, they it, it wasn't Elliot. It was it was the previous editor and chief, Mike Stitch, the previous editor and chief said, Hey, we, we know you like the security beat.
You're good at writing up these security stories. Do you want to do a weekly security column? I said, sure. So I've been doing that, you know, every week for several years now. And then when Floss Weekly was going to end, I sent an email to Elliot Williams, who is now the editor in chief at Hackaday. I said, Hey.
Well, how did, how did I put it? Hey, would you like to adopt a homeless podcast? And so we, you know, we started shooting the emails back and forth between, you know, between Twit, making sure they were okay with it, and between Hackaday, and he was dinging his bosses, and finally we got the green light from everywhere.
And so we landed Floss Weekly here at Hackaday. And it's been, it's been a good fit. We've enjoyed doing it here too.
David: So that kind of brings us up to the The today, but specifically about hosting. So, as I mentioned at the beginning, you know, I have jumped into co host and it's fun and it was kind of a similar thing. I was like, you know, I've been watching it. I've been loving it. I think I could do that. So I sent a message to you after I had a setup that was.
What I felt was at least sufficient to get started. We can always improve. But now that I've been doing it for a while. Um, It's, it's one thing to just, you know, you have, you watch it. You're like, Oh man, I have the perfect comeback. I have the perfect question. I have whatever, but now you're doing it every single week.
And you know, how do you keep it fresh? How do you keep it going? Because, you know, you, you do that very successfully. So how do you make that happen?
Jonathan: I appreciate that. I will say that so far, the thing that has been the most challenging is the and in fact, it's kind of funny when, when I was talking with the folks at Hackaday about bringing it here, I mentioned several times, like, I would love to have somebody from Hackaday that just helps with scheduling.
I can do everything else, but I would like help with scheduling and that didn't happen. So I get to do the scheduling too. And so that's, that's the only part of it that. I won't say bugs me, but every once in a while it feels overwhelming is that constant weekly grind. You've got to have somebody ready.
You've got to have somebody ready. And then things like today happen, like where you thought you had somebody ready and there's a scheduling problem and some people don't show up. And it's not the end of the world. I've made some changes that have helped. I'll tell you one thing that really helped with that was we now have a public schedule.
It's a Google Doc, but it's, it's linked to a private Google Doc where I make changes. And so then, you know, I can just, I can email somebody and say, hey, here's our schedule. You pick the day you want and email me back. And that's, that's become, that's made things a whole lot easier. But as far as staying fresh on the show.
The main thing is I really find the topics interesting, and we're talking about a different open source project each week. We're talking to somebody else, and the people that we bring in are generally passionate about what they're doing and the project they've got. And so, you know, that's sort of contagious too.
But yeah, the main thing that keeps it fresh is that I've, I've, I really genuinely get excited about open source things that people are doing. And that helps a lot.
David: Yeah. So we we've got about 10 minutes left or so. So I get to go back and hit some of those other questions that I skipped over because I really wanted the answer to that one.
Host prerogative. Yes, of course. So you mentioned that you worked on phone systems and we've talked about that before a little bit because we both have some history with Asterix and stuff. So what got you into phone systems and
Jonathan: Yeah, so the start of that was, I think where I was going to church at, they built a new building on a shoestring budget, and they didn't have any phones.
And one of the guys that went to church there was a businessman, and he donated his old phone system. Didn't know anything about it. And you know, nobody knew what to do with it, but I was there. And so I started looking at it and poking around on it. And it's like, I wonder if I could find a an actual technician manual for this, you know, not that, not the dinky little user manual, the 15 page thing, I mean the installation manual, the 300 page, and I was able to find it.
I was able to track down a copy of it online and got that printed out. Um, Based on that, and then doing some reading about how you wire up phone systems, I did the install on that phone system, programmed it and got it working. And that was kind of my first introduction. Well I was, I was looking for a job at the time.
This was, this was after my college experience ended. And I was, you know, trying to figure out what I was going to do next. I thought I had a job lined up to work for an alarm company, doing fire alarms and such. And that, that fell through. I didn't get hired there. So, you know, I didn't have anything.
And I mentioned this to the same businessman that donated the system. And he mentioned to his phone guys, I've got this kid that I go to church with that did this CommDial phone system install himself just from reading the manual. And they were like, he did what now? Is he looking for work? So, I got hired on there and did some CommDial stuff, did a lot of ODAVI stuff, did a lot of cabling.
And that, I don't remember exactly how long I've worked there, but about a year, something like that. And that job came to an end. And so, you know, I'm then. Unemployed, but I'm still living with my parents at the time, and I kind of look and I go, I've got this set of skills. I now know how to do phone systems.
I know how to do Linux system administration. I can build the hardware for it. I know how to do audio systems because I did a lot of it in college. Those things kind of fit together and they might look nice on a business card. And so, you know, as a result of that, I, as I say, I hung my shingle. Well, I started the business and I, I've, I wanted to come up with a really fun name for the business.
And I've always been kind of a star Wars fan, the, the, the extended universe mainly I will never forgive Disney from, for decanonizing the extended universe. That's a different topic. And so, you know, I was trying to think, like, I'm into sci fi and it's a computer business, so there's got to be a name to come up with.
And the name that I came up with was Incom Systems, I N C O M. And that is from the ship manufacturer, Incom. They made the Incom T 38, which Luke famously Learn to fly on and so that's that is where that came from But so yeah, I put the shingle out and I said, hey, look I do I do phone systems. I do computers I do sound systems and I've done a few phone system jobs, very little work on the sound systems, but a lot of work on computers.
The, and it's, it's funny, my, my real break, like, the, really where I broke into the Lawton market with doing computer stuff, is I started by just going to businesses and handing my business card out. And I went into this doctor's office, and the lady that worked at the front desk was like, well, yeah, I'll take it for the office, but you don't happen to know anything about Linux computers, do you?
I was like, well, yeah, yes, I do. And she had one of those little ASUS E netbooks and it had dropped its wireless driver. And so I, you know, I took it from her and went down to Starbucks and sat there in Starbucks until I could get the wireless driver working again and brought it back to her. And so then.
The next time the office needed something, I was, I was like the only one that could fix it that she knew of. The next time the office needed something, she's like, No, no, no, we're using this guy now. So, sort of working on their stuff and it just kind of grew from there. So it's, it's, it's all Linux all the way down.
David: Yeah, once, once you get that first satisfied customer, then you've got that word of mouth helping you grow.
Jonathan: And so what really happened there is very soon afterwards the cable company in town got bought out or maybe about the same time the cable company in town got bought out. And so there was a new, they brought in a new business salesman for selling Internet service, cable internet service.
And that doctor's office was one of his first customers. And so I got to work with him doing the transition over to cable internet. And he liked me and then he started recommending me to other businesses he was selling to.
David: Awesome. So how, how did you, was it just simply searching to, to make the connection because you knew Linux, you knew phone systems, but how did you find out about asterisks and how did you transition from, you said it was Comtel that you were originally installing?
Jonathan: So my first install was a, a Comdial, I believe. Comdial. Yeah. Yes. And that's because that's what we had. And then. Worked with Vodavi, because the business I was working at, that's what they installed. And, but when I went to start my own business, I, I knew I liked that idea of open source and doing it on Linux.
And I don't remember if I was aware of Asterisk first, or if I found it because I knew there had to be something out there. But anyway, I started, I started diving into that idea of, well, what if I did a business phone system based on Asterisk? Surely I could do this cheaper, right? The answer to that is sort of, by the way, it depends.
But no, I, I, you can do a free, you can do a free download, a free install of Asterisk and you can put it on, you know, just about whatever hardware you want to. So I started doing these crazy fun experiments with like, I would have Asterisk installed on a home computer and Asterisk installed on a laptop.
And then I would go to Starbucks cause they had wifi there and VPN and try to connect the two and. So at one point I was sitting at a Starbucks with my little Asus E, the little tiny white computer sitting on the desk in front of me, and then a VoIP phone sitting beside it, plugged into the laptop and fiddling with it to see if I could make phone calls on it.
Which I did eventually make work. But there were, there were all kinds of problems with it. Like it didn't work well, but I did eventually make it work. And that was, that was very fun.
David: And then you quickly discovered that VoIP over wifi is not. So
Jonathan: yes, actually, I think the thing that hurt me the most there is that I was trying to use IAX, the inter asterisk exchange to go between the two asterisk machines, and that only works if you have really, really tight timing between the two.
So, like, you've got to have external hardware to provide that timing pulse. Otherwise, you know, the two machines fall out of sync and you get all kind of clicks and pops.
David: Yeah, IAX is not very forgiving in fact, I believe it's even been deprecated at this point. They're recommending everything go to SIP.
Jonathan: I think But, that's a discussion. I think they still use it for some things internally, but yeah, SIP has definitely taken over that.
David: Yeah, I'm actually in the middle of a project now where we're Swapping out machines to convert from IAX to SIP. Staying with asterisks,
Jonathan: but
David: just converting.
Jonathan: One of my fun business stories, this one is just so much fun, I'll tell it.
I work with a group, I am the smart hands on the ground every once in a while for a group that manages phone systems, mainly in hotels and they, they sent me to a local, fairly large hotel and we were doing a, an equipment exchange, and it was a It's called a Brain Box, which, come to find out, is just a one use server with CentOS on it.
It's been several years ago now, with CentOS on it, and then Asterisk running on it. And so, essentially what it was doing is it was sitting between the phone system and the upstream telephone system, and it was also connected to the internet. And it was doing things like doing live lookups for a long distance call.
How can I make this call the cheapest? That was the sort of thing that it was doing. But we went to do the install, and they couldn't get into one of their boxes. They're like, we can't get into it. I had already figured out that it was an Asterix. It was Linux. It was CentOS. I'd already figured that out.
And they're like, we can't get into it. We can't see it come up. I said, well, do you want me to break into it? Like a what? Well, I've got a monitor here, and there's a keyboard there, and I can probably just tell it to start at run level one and break into it. And the guy on the phone for BrainBox was like, if you think you can do that, that would be nice, actually.
I was like, sure. Plugged everything into it, you know, got to the boot screen, you, you interrupt the boot. I don't think this works anymore. I know at least on Fedora they've made it more secure than this, but it, you, well, I say that. There are still ways to do it. Anyway, you can just interrupt the boot and tell it, you know, start at run level one.
And And when you start at run level one, it'll let you log in. And at that time it didn't ask for a password. And so I, I did that. I broke into it and I'm like, okay, so this is the information you're looking for. And then the guy goes, Oh, we got them backwards. And he made the change on his side and everything was good to go.
But yeah, I broke into the box. The guy calls me back later once I'm back at home, and he's like, We were really impressed with that, by the way. I'm gonna send you a goodie bag. And so he, I don't, I've got it here somewhere. He sent me this little squashable brain that's got their, their logo on it and some other fun stuff.
But yeah, that was, that was a lot of fun. He's like, yeah, I can get, I can break into that.
David: Well, that is a fun story to wrap this up with because we are at the bottom of the hour. So. I shall do my best to end this properly by asking you the two most important questions. What is your favorite text editor and favorite scripting language?
Jonathan: Oh, okay. So this is a complicated answer and it's changed over the years.
I still, from the command line, my muscle memory default is to go to nano. I have, however, for programming work on a desktop, started using a lot of VS Code. One of the projects that I work on, they are pretty much a VS Code shop, and I've gotten to the point where I kind of like some of the things you can do in VS Code.
Certain things about it still drive me crazy, but I do a lot of, like, desktop programming in VS Code. And when it comes to scripting language, I, you know, I don't, I don't know. I do a lot in Python. I do some in Bash script. I'm, I'm actually pretty excited to see what happens with Amber, Amber script.
And that's the guest we had just last week. So I had to write a tiny little script for something between now and then. And I did it in Amber script. I'm like, well, let's just try it. And it took a little bit to get it to work, but you know, I, I figured it out and made it in Amber. I kind of like that.
So, you know, for system scripting I don't know, there's a decent chance that Amber is about to, about to become that choice. So, I don't, all that to say, I do not have a single favorite scripting language, but if you had to make me name one, for right now, it's probably, probably still Python.
David: That's the correct answer.
Now so, quick follow up on the VS Code from the audience. Why not use VS Codium? Or R?
Jonathan: I don't remember, honestly don't remember if my install is VS Code or VS Codium. I, I, I very much like the fact that VS Codium exists. Very similarly to the fact that I really enjoy and like that Chromium exists.
But I know I do run Chrome and not Chromium, because there are some of those extra plug ins and stuff that you can't get on the other that are kind of necessary. So, I'm, as, as I have said to multiple people when talking about the show, we are, and I particularly, am an open source enthusiast because I'm an open source enthusiast.
But not a purist
David: Well, I hereby officially hand the Host hat back to you and allow you to wrap this show up. Thank you. It was enjoyable for me
Jonathan: Oh, there was a lot of fun. I think there's some things that I some of those stories. I've never put out publicly We've never quite done that everything put together like that. So that was a lot of fun, too I appreciate you being here David was not the co host that was scheduled for today He kind of stepped in at the last minute and I appreciate you being here, sir.
Definitely the hero of the hour
David: Enjoyed
Jonathan: it. Yeah, do you anything you want to plug or mention before we let the folks go? You
David: Not really. I didn't have anything to prepare because it was such a short timeframe. So, Hey, well, I will say this. I always plug Twit join them. That's seven bucks a month which is less than most coffees per day.
And And we've got great shows over there and the great discord.
Jonathan: Yeah, so he's talking about ClubTwit. You can, you can get to Club, you can get to Twit content for free, most of it. But ClubTwit is their their paid subscription, essentially, to help where folks get to go and help support the network.
Because, yeah, I'm not sure if you've heard, but the, the, the revenue from advertising and podcasting has just kind of exploded downwards in the last couple of years, so they, they are struggling to figure out what makes sense for them going forward, and ClubTwit has been a big part of that. We do have the Untitled Linux Show over on Twit, which you can, you can get to that without being part of the club now, but to get, I think, the video feed from it, And to be on the Discord, you've got to be part of Club Twit.
And we would love to see everybody come and hang out with us there, where David is one of our sort of rotating co hosts over there. Yeah, I think that is the main thing that I want to plug. We sure do appreciate Hackaday giving us a giving us a home for the Floss Weekly podcast, and I think that is it for this week.
Next week we will be back. We've got a we've got a really interesting interview coming up next week, who I can't remember what it is. I'm doing the, I'm doing the Doc Searles thing. I don't remember, so I'm going to quickly try to look it up. Of course, I use Google Docs, so it's kind of slow. And Oh, yes.
Next week is Rust core utils. I'm looking forward to this one. We're talking to Sylvester Leddrew about Rust core utils, which for those who don't know, that is the re implementation of your basic Linux tools in Rust instead of C and C That's going to be really interesting. Yeah, so thank you to everyone for being here.
Those that caught us live and those on the download, we sure appreciate it. And we will see you next week on Floss Weekly.