Writing a Game for Linux

EP 6: Tuesday, Jun 27, 2023
Episode Banner

Transcript

Alan Pope 0:03
I’m not gonna sing this, but I can see for miles and miles.

Mark Johnson 0:08
What can you see

Alan Pope 0:09
planes planes everywhere.

You may remember, in episode two of this fair show, I talked about a bit of software that I’ve installed on a Raspberry Pi to track the aeroplanes floating in the sky around and about Popey towers. And this gave me a free business account on flight radar. And that was all good and everything. And then as soon as I mentioned it, I get DMS, from people and people messaging us in the community, suggesting ways to improve what I’ve done. And I’ve had it installed for over a year, and it’s been sat there quite happily, looking something like 70 nautical miles into the distance and seeing lots of planes flying around. And the suggestions that I got from various people, I did mention in episode two, that I only sent a flight radar, and I’d quite like to send to other places, but I don’t know where to send to right. And I started getting suggestions from people of where to send my flight data to. And it turns out, it’s really easy to do. There’s a couple of places that I’m sending it to. There was apparently some drama in the past around something called ADSB exchange. I think that’s what it was called. And something happened. I don’t know the details, I’m sure you can dig it up. But a bunch of other independent ADSB data collection services popped up in the aftermath. And one of them’s called ADSB, one or any. And one of them’s called ADSB dot FYI. And they’re both basically identical. There’s a bit of software, you clone the software, and you run a command and it instals it, and it starts sending data to the website. That’s it job done.

It’s really easy.

Martin Wimpress 1:55
So these two exchanges, are they like proxies to send data to multiple services?

Alan Pope 2:03
No, they are multiple services, right? There are a bunch of these. And those are the two that I happen to be suggested to us. And you just send data to them, they’re basically identical. I’m sure there may be, you know, communities built around them that would say no, we other people’s Popular Front of Judea or whatever. But they’re basically the same. I send data to both of them. And there’s a map and I can see the planes that my little antenna can see. And so that’s good.

Martin Wimpress 2:30
And your data still goes to flight radar 24 as well,

Alan Pope 2:33
yes, I still get my business account. And the other interesting thing is at the end of the little script that does the instal for both of these ADSB one and ad SB FYI, they have a little extra thing that says do you want to instal a Web Viewer? And if you say yes, then it adds a webpage that you can go to on the pie locally, not online. And it shows you a map of the area with a plot of where all the planes are in different colours. And you can click on them and see where you know what altitude they’re at and what direction they fly. And all the data it has. It’s very pretty, and you know, functional. And they’re both very similar in that regard. And they’re both shade the same kind of thing. So you really only need one of them. But I happen to have them both instals until I realised they’re both showing me identical data because it is the same data they’re both sending. And then the other thing someone suggested I should do was add an amplifier, an antenna amplifier, and the person who suggested this was our very own friend failing. So I ordered one from pie hut. And sure enough, I put it in line with the antenna with a little adapter. And it certainly helped it certainly made the range a bit a bit wider. And then the other suggestion was you should put it in the loft. Just having it in your bedroom north facing the southern part of the house is blocking some signal. So I did and I got some cable ties. I went out there in the hottest day of the year so far. Which was the dumbest thing to do. And I put it all up there. And it certainly does see father now. So with the combination of the amplifier and raising its altitude by, I don’t know 1015 feet higher. Where I was seeing a distance of about 70 nautical miles I can easily see 120 130 nautical miles so I can see planes as far from where my house is, if you want to look at this on a map farmer in Hampshire, I can see as far as Leeds which is quite far north of here, which surprised me

Martin Wimpress 4:39
that took us a long time to drive there when we went to

Alan Pope 4:44
did it and I can see all the way into Wales and I can see quite far south down into the English Channel. So you know for the kind of person who likes numbers and stats and internet points. It’s it’s good and it was not super expensive. It was completely free for me To add these additional exchanges to send more data to, and the amplifier didn’t cost very much. The only one other thing I did was I moved it from a PI three to a PI four, because I managed to get hold of a PI four with eight gig of RAM. Wow. And, yeah, so that’s now in the loft. This pi four, it’s getting a bit warm. So I think it might put a little fan on it or something rises. It’s quite warm at this time of year. But yeah, I’m really pleased with this. It’s, it’s improved. There’s a lovely community of people out there who want to help you. There’s a little discord for the ADSP exchanges, and everyone’s, like, a little bit competitive and suggesting antennas and improvements you can make and it’s all very lovely. I really enjoy isn’t as little community.

Martin Wimpress 5:45
And is the radius of your sort of visibility equal? Or does it favour a particular direction? And how’s that radius changed as a result of the changes you’ve made?

Alan Pope 5:58
That’s a great question. And previously, the the radius was quite spiky in certain directions. And you could tell that there was a kind of cut out like PacMan shaped cut out in the radius, which was like my wall, right where it couldn’t really see much in that direction. But also, you got to remember, there are flight paths, and channels that planes fly along. And so there are certain, it’s not quite a circle, it’s quite zigzaggy at certain directions, because, you know, planes fly in particular directions when they go into the US or they’re going down to Europe or across to Europe or something like that. So it’s a bit zigzaggy. And there are certainly bits south west of me, which are not very populated. And I don’t know if that’s because planes don’t go southwest because they’d end up in the Atlantic, or whether it’s partly because there might be a bit of a hill to the southwest of me, right? I mean, a little bit of a dip. It’s all super fascinating. And it’s really easy to set up really easy to use. The little scripts just worked, you know, as apt instal some stuff, get clone a thing, run a script, it all just worked. And all the people are lovely. And I’m very happy with this. And I can see myself buying a much bigger area. And I can see myself trying to convince the wife to let me strap it to the side of the chimney,

Mark Johnson 7:18
because her kids are going to come home from university and their bedroom has been turned into some sort of communications room.

Alan Pope 7:24
Yes, exactly. Yes. So yeah, I’m very happy. And I highly recommend, everyone else does the same thing.

Mark Johnson 7:32
I hacked my washing machine.

Alan Pope 7:35
Oh, you’re black hat hacker, or is it white cotton’s only?

Mark Johnson 7:41
Well, then, the next thing that I tell you is going to seem unrelated. But stick with it. I recently got a new car. And it’s an electric car, which means I also changed my energy tariff, so that I get a cheaper rate overnight for charging the car, which works fine, much cheaper than putting diesel in my old car anyway. But that got me thinking, well, if I’ve got this sheet bright overnight, what other energy usage? Can I shift from the daytime to the nighttime and do it on the cheaper rate. And I sort of got looking at the things as a few things that run all the time, which you know, good. There’ll be cheaper running overnight. Most things that we do we do during the day. But then there’s a couple of things which we do every day, which we’re good candidates, which are the washing machine and the dishwasher. Dishwasher fairly easy. Because it doesn’t matter when the dishwasher finishes, as long as it finishes before we need to use the stuff. And it’s got a built in time delay, which is handy. Oh, yeah, exactly. I turned that on in the evening and say come on in three hours. And you know, it comes on once it’s changed to the lower rate. Washing machine isn’t so easy, because it’s a bargain basement model, it doesn’t have a time delay. And I don’t want to stay up until half 11 Every night, put it on. And then it finishes like just after like one o’clock and sits there damp all night, and I’ve got smelly clothes in the morning. So I was a bit disappointed, I wouldn’t be able to do that. But then I thought well, I wonder if anyone else has thought about this. So I did a bit of research online to see if there was a way of sort of retrofitting a timer. And someone said on some forum, oh, you just plug it into a socket timer and it all come back on and pick up where it left off. And I thought, well, that’s not going to work because when it turns off, it’s going to reset, and then it’ll come on and it’ll need me to set it up again. How wrong was. So it turns out, you can literally do this you you set up a soccer timer. I happen to have a mechanical timer sitting around which I used to use for a slow cooker. You set it up for when you want to come on, you plug it in, you plug your machine in, and then you switch the switch on the timer so there’s always on you load your machine, you set your machine, you turn it on, and then once the door locks, you switch the switch on the timer back so it’s on timer mode, your machine turns off, and then when the timer comes on, your machine wakes up and says oh Got a programme running, and then it just carries on and washes your clothes. And I had literally no idea that this would work, except for some rando on the internet saying, Oh, you can do this?

Alan Pope 10:09
Would it be fair to say that the control knob the big daily thing? I assume it has a big daily thing? The washing machine, not the timer? Yes. Does it click? Is it like a rotary like clockwork II type thing.

Mark Johnson 10:23
It’s got a click to dial but it’s got all sorts of touch buttons. So you it’s not like yeah, it’s not like you’ve you’ve set physically set a switch for it to go. It’s not that old. Right. But it is quite a fairly cheap model.

Alan Pope 10:38
Does it have a Mangle? But yeah, it has a sort of it has a

Mark Johnson 10:43
flashy button that beeps and doesn’t click in when you say go, which is why I assumed that as soon as you turn it off, it forgets everything it does. I feel

Martin Wimpress 10:51
a little bit robbed. off your opening statement, I thought you were going to tell us about how you’d found the REST API to your washing machine. And you’d found it was running an old version of nginx and do some buffer overflow exploit and you put your own custom firmware on the washing machine. And but no,

Mark Johnson 11:14
no, sorry, I don’t I don’t think I might be false advertising to talk about here. I don’t think my washing machine is running Linux at the moment at the moment. Well, you know, now I’ve got the taste for it. Who knows? Who knows where this might end up.

Alan Pope 11:29
I am interested to hear if any of our listeners have hacked their white goods in their kitchen, or sorry, I know it’s a weird thing in the UK that we put the washing machine in the kitchen and everyone else thinks we’re weird. Your white goods wherever they may reside. Yeah, to do this kind of stuff.

Mark Johnson 11:45
I’d also be interested if anyone can explain to me why it is that this works. Because I guess it must have either some non volatile storage or a battery backup in case of power cuts or something which is designed to I imagine it’s not designed to be used for this. I imagine the reason it can do it is because if it loses power,

Martin Wimpress 12:05
now it must be right. Because it’s such a sort of Clockwork solution. It could have only evolved because these these old, you know timers, which we’ve got them around the house, you know, from when we used to go on holiday, you know, and I’ve been on my hands and knees in the front room, searched down but I thought was a mouse. At one point it wasn’t it was a squeaky time a weak guy is squeaking as it was winding down. But it makes me think that you know, as a home appliance, maybe this was something that was sort of baked into the design of these things years ago because that was the way you would have automated them. I have to

Alan Pope 12:42
say I was equally incredulous at your rather limp hacking definition. And so the way to redeem this is you need to go and get the manufacturers circuit diagram or take it apart and discover whether it certainly has a battery backup or some kind of non volatile memory I look forward to a subsequent episode where you clarify that Linux matters is part of the late night Linux family. If you enjoy the show, please consider supporting us and the rest of the late night Linux team using the PayPal or Patreon links at Linux matters.sh/support. For $5 a month on Patreon you can enjoy an ad free feed of our show, or for $10 get access to all the late night Linux shows ad free. You can get in touch with us via email show at Linux matters.sh or chat with other listeners in our telegram group. All the details are at Linux matters.sh/contact.

Martin Wimpress 13:42
I entered Linux Game Jam 2023 in a not very Linux II way, or did you get disqualified? I don’t think I’ve been to in fact I know I haven’t been disqualified because my entry has now been assessed by the judges. So now it wasn’t disqualified. But it was an unusual choice. And what was your choice? Well, back in 2019 You will remember that the three of us did a coding challenge where we each created a in air quotes game using bad How

Mark Johnson 14:14
dare you for

Alan Pope 14:16
slightly more air quotes used for some of our games than others

Martin Wimpress 14:20
for exhibition at FOSS talk live which was a live show that Joe rissington used to host in the basement of a pub in London. And this was our big extravaganza that year. And the game I made that year was called NCAA alien attack and it was my effort at making a bullet hell shooter them up in bash. And well Alan nerd sniped me because he told me the Linux Game Jam was coming up about a month ago and I was like, I think I might have a go at this. And without any other ideas. I thought back to the challenge that we did in 2019 And I thought, You know what that game that I tried to make in bash it really deserves like a proper implementation or remaster? Yes, exactly. So I dusted off the idea, and I reimplemented it in something a bit more modern.

Mark Johnson 15:15
So full 3d graphics. Yeah, HD,

Martin Wimpress 15:18
you’d like to think that I only elevated the technology level ever so slightly, I use something called pico eight. So those of you that have ever played like, retro games emulation, and what have you, Pico eight is effectively like an emulator for like an eight bit console that never existed. It’s a fantasy console. And it’s very much sort of an eight bit sort of that crossover between the eight bit and 16 bit era. So I use that. And it’s an emulator sort of, but it’s also got like a development environment embedded into it. So there’s an IDE and a sprite editor and a sound editor and a music composition tool.

Alan Pope 16:02
You’re very generous calling it an IDE really well. I mean, I guess it is, you know, you type code and you run it. Yeah. So is that the minimum requirement for an RDA I guess?

Martin Wimpress 16:14
Yeah. Yeah. I mean, it’s a it’s a bare bones IDE. And what I quite like about it is, the font is absolutely massive. So I can see it when I forgotten my glasses or can’t find my glasses, it was quite handy.

Mark Johnson 16:29
Is this just because he’s very low resolution, pixelated and you have a big screen?

Martin Wimpress 16:34
Yes. So the resolution of Pico eight is 128 by 128 pixels. So consequently, when it’s scaled up, each character in the editor is about two centimetres. Right? So the PICO H choice was the not very Linux C thing, because in the past, I’ve used something like Godot, which is an open source game engine to do these sorts of things. But I wanted to try pico eight. Because quite often, you’ll see people using PICO a in game jams, particularly game jams that are very time compressed. Because because of its constraints, you can work really quickly with it. The sprites are only eight by eight pixels. So if you want to draw sprites, you don’t have to be a good sprite designer. And it’s very easy to make sprites. So game developers use them in jams,

Alan Pope 17:31
and it’s all integrated anyway. So it’s not like you need to go and assemble like five different tools and utilities to do it. And you don’t have to switch between them. You press a function key and you’re inspired to press the Function key here in the editor. Yeah, done. It’s very elegant.

Martin Wimpress 17:45
You put a sprite on the screen, you Ctrl R, you’re now running your game, you know, it’s really fast to work with. And the main reason I wanted to try pico eight is, when I was doing my last game jam, I made a platformer. And during that jam, I researched some other modern platforms to learn like how to make a platformer. And Celeste was obviously something that I looked at. And I discovered that Celeste was originally a proof of concept that was developed using PICO eight, during four day game jam. And that original version of Celeste kind of propelled pico eight to popularity, it was the thing that has a now if you go and look in the PICO a community, you will find endless remixes, and adaptations of that version of Celeste. So having learned this thing existed, and having heard that you can go quickly, I thought, right, it’s a game jam. I’ll use this thing because I can move fast. And it was a 10 day Game Jam, which is quite long. But I have limited time to sort of squeeze things in. So I thought it’d be a good fit. And I absolutely loved using it was really good fun.

Mark Johnson 18:55
And you say it’s not very Linux. He presumably is this is a Linux Game Jam. He does run on Linux.

Martin Wimpress 19:00
Yes. So Pico, eight itself runs on Linux, Mac OS, and Windows and Raspberry Pi, both 32 bit and 64 bit Raspberry Pi. And what’s rather impressive, is its export facility. So make me a build of my game. We’ll export native binaries for all of those things, regardless of which platform you’re on. And it only takes a few seconds. So you can script this. And in a matter of seconds, you have a Mac build a Linux build a Windows build and Raspberry Pi 32 bit and 64 bit native builds it also will spit out an HTML five build a web assembly build and I think I’m missing one as well. So for the purposes of entering a game jam, it’s absolutely brilliant because it’s really minimal, very quick to test and you can push out versions for everything that you’d want to run it on.

Alan Pope 19:57
Nice and Pico eight is is constrained in terms of resolution is also constrained in other ways as well. There’s a limit to like how big your game can be as well, isn’t it?

Martin Wimpress 20:09
Yes, that’s right. So the way that pico eight games are shared around in the PICO a community, they call them karts as if it was a cartridge that you might have for like a Nintendo Entertainment System. But those kart images are actually PNG files, a PNG file of the cover image that looks like a cartridge. And that includes the compressed gain code and all of your assets. And that compressed gain code can only be 32k. So there’s sort of these artificial constraints to sort of put you in that eight bit mode where every bit matters. And then to sort of further enforce that on the programmer, you can only use 8192 tokens in your programme. And a token is x equals one, that’s three tokens. So you know, it gives you an idea, you know, there are some tricks about how you can maximise the way tokens are allocated, but you have to think in a very sort of efficient way. And that was a problem as it happened, because it was a 10 day jam, and you can hit the token limit within 10 days. And that starts to hamper what you can do if you were just doing a jam, that’s a few hours or a couple of days, I think you could programme freely without thinking about these constraints, and you’d be fine. But when you’re doing a larger project, or you’ve got more time, I think you can exhaust the tokens before the time of the chair.

Alan Pope 21:45
We did follow along with your escapades and tested out the game as it went along. And there were quite a few occasions where you would, you know, make a bold statement about okay, I need to go and find some more tokens. As if as if you were like scrabbling around for 10 pencils in the output of a cigarette machine or something. You know, it’s

Martin Wimpress 22:04
it was a bit like that, right?

Alan Pope 22:08
Yeah. And that seems to slow you down a little bit at times.

Martin Wimpress 22:11
Yeah. So the last four days, there were things that I hadn’t made for the game. And they were things that I wanted to add. And I was limited by tokens. And I spent almost all of a Saturday, just optimising the code to claim back 150 tokens so that I could make the end of level boss for example. Wow.

Alan Pope 22:33
So would you use pico a again, if there was another game jam, because like, you’ve surpassed what I think bash can do, I think. And then now you’ve you’ve really got into your stride with pico eight, would you do another one with pico eight? Or would you maybe stretch your legs even further and reimplemented in some other language or tool?

Martin Wimpress 22:56
So I think that’s a really good question. I can see myself using PICO eight. And I’ll tell you for why. So the one of the big things I learned about pico eight is that the language that pico eight uses is a subset of Lua. And I’ve never used Lua prior to this jam. And it turns out, I really liked Lewis Carroll. It really agrees with me. Yeah, it’s excellent. Actually, for this sort of thing. It’s brilliant. So you can go quickly with low and you can do complex stuff without complicated code, which I really like. So yes, you can prototype stuff. And I can totally see this as a prototyping tool to try out an idea really quickly, because you can have stuff running in a matter of seconds. So yes, but also, my daughter has been using Scratch for several years and has really excelled at scratch. And now she’s learning Python at school. But she doesn’t have that immediacy of getting interesting things happening on the screen with Python. But with pico eight, you really can. And actually, Luer is a really great language, I think, to teach sort of new programmers. So I’m going to be using PICO eight as sort of a learning tool with my daughter to help her further develop her skills. And I suppose the second part of your question is, while I can totally see myself using PICO and a short jam, maybe a one or two day jam, or one of those three hour jams that I know you’re interested in participating in Alan, I would use it for that. But because I’ve now discovered Lua, it’s got me researching other game engines that use Lua as the scripting language. And I’m looking now very seriously at a couple of other game engines for sort of more comprehensive game ideas. The nice

Alan Pope 24:42
thing about Lua is it’s well established. It’s been used by a lot of people for a lot of different things like in games, scripting engines, and so on. And there are other game development tools like the one I’ve used a lot is love 2d, which is built upon Lua, and it means there’s a tonne have documentation out there. And you can search for you know how to do this in your how to do that in Lua. And it’s quite a basic language. There’s not a lot to it. And you can learn it pretty quickly. It’s not super complicated it is. I think it is a good choice. And I think you could build educational materials for kids. And they can pick up fluid just as easy as they pick up Python, if not

Martin Wimpress 25:22
easier. Yeah, I think it’s easier because there is Python has the whole it has to be spaced and tab indented and there has to follow a system. And that’s difficult to explain to a new programmer. It’s frustrating for new programmers actually. And Lua doesn’t have that restriction. And also, as you say, there’s lots of good Lua examples out there. And they’re all always directly applicable. In Pico, he finds something interesting in Lua, you can apply it directly in Pico. And I think that the developers of Pico eight must be aware of this because they’ve recently created this educational version of Pico eight, which is a web only version. So you don’t have to download and instal anything, you can just go to the website, and you can just code up programmes in the same way you use Scratch now.

Alan Pope 26:10
Oh, yeah. That’s very good. Yeah. So what are your big takeaways from this?

Martin Wimpress 26:16
My biggest takeaways are, if you enter a Linux Game Jam, it’s probably better to choose something that’s a little bit more native, because I had to adapt the way pico eight behaved for the like the Linux build. So it felt like a native thing, as opposed to like a console from the 1980s. And to sort of make the most of it being a Linux Game Jam, I did the packaging for lots of different stuff. So I did app images and snaps, and Deb’s and Nix flakes and all the rest of it. It spits out tarballs but I turned those tarballs into proper packages in air quotes,

Mark Johnson 26:53
the build of the game, does that include the engine as well? Or do you need the quote unquote, Pico eight emulator as well as a separate thing?

Martin Wimpress 27:01
No, when you do an export of the game, that is a complete runtime. So it includes the runtime, but one of our testers so we have a little group behind the scenes, we have a little group of friends that talk them test games together, and MacPhail, who’s in that group, he’s got a PlayStation Vita, and he was testing ncav and attack Pico, on his Playstation Vita. And Matt uses something called fake oh eight, which is an emulator for pico eight, because pico eight itself is proprietary. And phaco. Eight is an open source implementation of the runtime. And it’s not 100% compatible. So the first day of the jam I spent making my FICO eight compatible because I’d created some text rendering routines and they didn’t work,

Alan Pope 27:51
it is amusing that there is a open source reimplementation of a non existent console.

Martin Wimpress 27:59
It’s a little bit bonkers. So doing all of that packaging for Linux II stuff. In the future, I wouldn’t bother I didn’t bother with flat pack this time, because I didn’t have enough time to learn it. I did make a stamp and put it in the snap store. But that feels uncomfortable alongside the way you do sort of modern day development with GitHub workflows and actions and things like that. So I wouldn’t bother with doing a Snap again in the future for a game jam. It’s sort of cost prohibitive in terms of time, and it doesn’t really fit in with the general flow. But the thing the main thing I learned is, I love pico eight Apsara. And while I do love pico eight, but I really love Lua. And I have rediscovered a passion for writing games. The thought process behind creating a game is very different from systems engineering, which is the sort of stuff I do day to day. So I’m going to be doing more game development. And I’m going to be using Lua. And I’m intending to find myself a forever game engine built on Lua.

Alan Pope 29:06
Nice. So when does the results of the Game Jam get announced? Do we find out if you get a gold star or wooden spoon of failure?

Martin Wimpress 29:17
As we record this, I think there are two weeks left in the sort of submissions of peep. The people that took part in the jam can play everyone’s games and provide their feedback and reviews and ratings and all the rest of it. And it’s really designed to be a this is what was good. This is where it could be improved. But because of the way in which ratings and reviews in jams work you do sort of get like a results table leaderboard. Yes, exactly. So it will be a couple of weeks before I have all of that feedback but the organiser has reviewed my game and they enjoyed it. They played it twice. They managed to complete the game on their second time that I’ve done So it takes about 20 minutes to play. So from start to finish, it takes about 20 minutes, it’s about 16 different types of variation on the shooter map idea, some of the levels, there is no shooting at all, I thought, this will be interesting.

Mark Johnson 30:17
I really liked that actually, I thought thought it was a really nice sort of mixing it up just suddenly, oh, you’re just concentrating on fly. So it’s not just because you know, a lot of it is you hold fire and you wiggle back and forth to make sure you hit everything. But suddenly, it’s like, no, you’ve just got a bash into stuff with your shields, or you’ve got to avoid hitting everything. And yeah, I quite liked that.

Martin Wimpress 30:37
I’m glad you enjoyed that, I discovered the sort of game modes by accident. So as I was writing the game, when the aliens didn’t move, and they didn’t fire, and I was writing the collision detection, I was just sort of whizzing around the screen colliding into objects. And I thought to myself, there’s a game here, just doing that. And that became the mini game power spree where you have to collect things that are whizzing around the screen. Yeah. And again, whilst I couldn’t fire, and the aliens were moving at that point, I thought there’s a game here as well without firing, just avoiding them. And that became the sort of asteroids dodging, which you’re suddenly propelled into hyperspeed. And the weapons go offline. And you have to weave in amongst dozens of asteroids, you know, tumbling toward you.

Alan Pope 31:25
So I imagine we’ll put a link in the show notes to your h i o page, I guess that’s the easiest place.

Martin Wimpress 31:32
Yeah, that will be the best place to go. So we’ll we’ll stick a link to that in the show notes. And if you want to play it’s free to play. It’s the source code is MIT licence. The assets are creative commons. All of that is on GitHub, and that’s linked from the each page so we’ll put a link to the each page in the show notes and you can have a play

Show Notes

In this episode:

You can send your feedback via show@linuxmatters.sh or the Contact Form. If you’d like to hang out with other listeners and share your feedback with the community you can join:

If you enjoy the show, please consider supporting us using Patreon or PayPal. For $5 a month on Patreon, you can enjoy an ad-free feed of Linux Matters, or for $10, get access to all the Late Night Linux family of podcasts ad-free.

Hosts

Alan Pope
Mark Johnson
Martin Wimpress