Hey everybody, welcome back to Linuxcast. I'm your host Matt. And I'm Tyler. Holy crap, we're back. It's 2022. We added a whole year that went around to the sun. You know, I think that's how it works. I mean, we're talking about physics before I'm sure that I learned that sometime in university. I mean, I have a feeling that this podcast might end up being educational, somewhat. Probably not. Probably not. But you know, we can convince Don't set your expectations too high because by the end of it, you're just bound to be disappointed. Exactly.  Just don't set them. All right. Either that or set them so low. So like, all right, story time. 30 seconds in. Tangent. Hello, some shiny. Anyways, I like sports, but I can't like, and I like to watch like football and basketball and stuff like that. But I never have the expectation that my team is going to win. Like, I always think that they're going to lose like guaranteed. I've set myself up like this since like the year 2000 because in the year 2000, Michigan State went to the national championship and they lost to Florida by six points. And at that point, I was like 15 years old, right? And I'd just gotten into sports and I was not used to my team losing because they'd done so well. Like the first year, I actually followed sports. I was so I was just sad and very disappointed and stuff like that. But since that point, I've just talked myself into believing that every time my team plays, they're going to lose. Not only they're going to lose, but they're going to lose bad. Like they're going to get their asses blown out. That way, every time they win, super surprised, you know, and it just works out that way. If they lose, I'm not disappointed at all because I expected it. You know, it works. It keeps my blood pressure, you know, low during games and stuff like that.  That's what I expected to happen. See, I mean, that's like, I mean, that's a really good way of protecting yourself.  He has no faith in us at all. Exactly. Like the only reason he enjoys watching us is because he's already okay with us just losing. Well, you get there was a period where the MSU football team was just God awful. Like right after Nick Saban left and we went through a series of coaches like John L Smith. He was okay. So there was this game. We were playing Notre Dame in Michigan State. I should you not led 40 to 13. I was at work. I worked at Kroger at the time. Like it was like a late game. It was like a like a night game. And they were leading 40 to 13. And one of my co workers said this and I quote is exact word he has. There's no way Michigan State is going to lose this game. And I was like, yeah, there is. And guess they lost 42 to 40. Oh my God. Oh my God. It was so bad. It was just not like I wasn't disappointed because I expected it. And oh, you should have seen this because you just imagine the other team like the other team coming back home was like, dude, there was like the coach had to be ecstatic because he's like, there's no way we came back from that like that. That was an unbelievable comeback. Yeah. That's called the end of John L Smith, by the way. That was he never he never coached again. I'll nod my head like I like I know and I'm familiar with his coach. Yes, he was done for. Yeah. All right. I should not talk about sports. We can't we can't talk about Linux because douchebag over there is using Windows. Hey, hey now. All right. Look, I may be using Windows, but I am developing an open source game. So like that's something. This isn't open source cast. I know it's not I know. All right. So I don't even know why bother asking this question. Like Tyler, what have you been doing in Linux the last couple of weeks? Bouncing around trying a whole bunch of different distros on this Ventoy drive. Got about I don't even know how many on here dog like definitely definitely 12 plus Linux distros on here. All of them have various issues on just so everyone knows I have an RX 6600 XT and a 1440p 165 Hertz monitor. So the screen setup and stuff. It's a little weird, but yeah, Ubuntu has a weird pink hue over the entire screen. That's fun. Every single Linux distro I've tried has issues. Fedora is the closest one to perfect, but on every Linux distro my 4k webcam flashes green and discord and some other programs periodically discord is egregious though. So yeah, that's that's what I've been doing in Linux here recently. Bouncing around and then he said I'm done with this. I'm using Windows 11. That was now the only distro that I haven't tried yet because I'm trying to like I've I've been waiting for today to try it out because I feel like I have to is Arco. I want to wear the Arco t-shirt as I install Arco because I need Arco to work. Okay, I need Arco to just so cool if it worked. Exactly. Here's the thing though. If you use it and it has like a problem or something, don't just automatically dive away from it. Go into the the telegram channel and ask what's going on. See if somebody can help you solve it because their community is so good.  I've done it. I mean your monitor can support other refresh rates though right?  So I would like to recall your attention to the beginning of our conversation where I told you to not set expectations maybe lower those expectations just a tad you'll be able to the thing is it's like it's not really an expectation it's just so before this year before I got all this stuff I was I was using Windows 10 to work in Unreal mess around in Unreal quite quite a bit and still am to an extent.  I would tell you go down to 144 you'll probably have a better a better chance of getting stuck to work. Well no because the I have to if I'm outside of a desktop environment I have to manually go into Xorg to configure the refresh rate properly because Xrander I have to manually run an Xrander command every time don't ask me why it just Xrander running it with like DWM for some reason causes issues if I don't do it manually inside of DWM don't know why even if I do it there it has it will like it sets the the monitors correctly but half of the screen is unusable like it's just a black portion of the trying arco and that same thing happens ask them because they have a DWM spin so they're used to supporting DWM now I mean chances are if it's a problem that they've experienced where they probably made a video and they'll probably point you towards a video on their YouTube channel but if it's not a problem that they've covered before they'll probably help I mean if there's a solution well I mean the thing is is like I can get this stuff to work like I can get 165 Hertz to work in different Linux cisteros the thing where it starts to really fall apart as the webcam is like a major pain in the ass I don't think that webcam is going to be fixed bro it's just that's just a problem you're just exactly you're just gonna have to deal with it that's what I that's what I've been doing I mean granted this this so far I haven't seen mine do it at all but mine never does it every once in a while it's a stupid it's stupid because it's different brand uh and like mine it said you can also ask the people in arch forms they're really friendly people yeah yeah yeah actually that's that's funny he says that because I actually did that was like that was one of my few times where I actually reached out to the Irish community for help was configuring that and figuring out what was wrong with XOR or XRander and I had an argument with somebody who told me that I was lying about the way that XRander was working like I was a lying because there was no way that it wasn't working like it it's not working I'm sorry those lovely arch people you can't live with them you can't live without them yeah buddy what you doing back there bro he's just itching right now in that good scratch all right anyways um so for me I have been I started my brand new long-term review of MX Linux and I'm really liking it like it's really good and I've gone through and set up a lot of stuff I will say that the software availability is not as good as I'd hoped it would be um but the main stuff is there weird thing is is like discord is not there so you have to use the flat pack and the flat pack is really old like the flat or at least it feels really old because it still has the bug where when you get a notification it freezes for like five minutes and then the notification will come up and it'll work fine until you get another notification yeah because as far as I know like I was talking with TFL and I I feel like that problem got fixed like a week or so ago like a week or two weeks ago it's been fixed for a while like in the the arch version but it's not fixed in the flat pack version so that's been a pain in the butt that's the reason why I'm on arco today because I didn't want discord to freak out if I get a notification while we're recording and it just decides to freeze for five minutes that just pissed me off um so that's that's the reason why I'm on arco today but um uh the software availability stuff has been mostly good but there's been some things like clip menu d you had to I had to build it uberzug had to build that from scratch I had to build um like rofi emoji from scratch the rofi power menu from scratch the problem is the rofi power menu thing doesn't work in mx links because we rely relies on system d and mx links doesn't use system d uses uh ciss v in it or whatever else called um so I've been having problems with that too so those are going to be my two interesting things because there's been a lot of that little stuff that you have to use in order to get like no managers to do good um just isn't in any of the repositories because it's debbie it so um that has been that's about been about my only negative experience other than that it's been really good um uh what I don't think I could switch to it though because a lot of the stuff I use requires just indeed like it just requires it was built for system d and getting it to not you know to work with another different in that system just you know is not and I mean if you switched away from arco like why the hell are we selling these t-shirts like come on now this arco installs stand here forever you don't have to worry about that there's nothing there's another hard drive for the other those other more inferior distros you know lovely all right anyways so that is it uh for that section there uh now it's time for the lovely part which is the contact information which is going to be way harder when I haven't done it in two weeks like I had practiced there we had like a little bit of a strict going from for episodes and was getting pretty good there towards the end now I haven't done it for two weeks and um yeah this is gonna be brutal all right I had to get it I had to I had to get my feel in water all right I mean you gotta stay hydrated all right all right I'm hyping myself up see if I can get through there I'm gonna sit back here I'm gonna sit back here this is gonna be a successful read I'm gonna be quiet get away from the line if you want to get in contact with us you can do so you can follow us on twitter at the linuxcast you can subscribe to all of our stuff at the linuxcast.org now before the break I showed a picture of a website and I promised by the time we came back if you're online I I didn't fill that promise it's ready to go like it's the website is ready to go it just needs to be uploaded to a server someplace and I haven't done that yet I was hoping to do it like this weekend we'll see how that goes but it exists it does exist like the the the website is done like the html files and css files are all ready to go anyways uh you can contact us by email a email at the linuxcast.org you can support us on patreon at patreon.com slash linuxcast you can support tyler who has his channel on youtube and odyssey you can subscribe to his youtube channel youtube.com slash zany og is that right I remember that I should write that down somewhere you can also subscribe you can also join the discord forum or discord forum the discord server good lord matt I made almost all the way through before my my foot got in my mouth anyways the discord server the link for that will be in the video description we also have a telegram group uh which uh there's like four members of I think uh I didn't even know we had a telegram group it's been there for it's been there for a while uh I'm pretty sure I've been the only one that put anything in it and uh so it's just me talking to myself as usual anyways you can also subscribe to the linuxcast on youtube at youtube.com slash linuxcast we are about 350 subscribers away from 8 000 which is um still astonishing to me I mean it's just absolutely astonishing um and dt's getting like he's like 40 000 away from 200 000 which is like that's insane right anyways yeah um so that's the contact information it wasn't as bad as it could have been um yeah no that was actually a solid read you know what I what I need to do is sit down record it perfectly like just and then we'll just drop it in every week I'll never have to read again that's exactly what you need to do you need to watch that video that Brodie put out and I'm like I'm just making like an OBS scene like a like a just a capture and then you just drop like you just switch everything and you just let yourself read it from like two weeks ago forever forever and ever exactly good problem all right so normally this is where we talk about the news but it's the first episode of the year so what we're going to do instead is talk about uh predictions for 2022 in linux now buddy what's the matter buddy we hear you buddy's part of the podcast I mean he's gotta be we should have a bingo and one of the spots is buddy joins the podcast another one would be matt flubs his way through the contact information that'll be a that'll be a gimme that'll just be the middle spot like where you always start off there you go that's just to give it one will be bitching about mazilla the other one bit another bitching about gnomes another one uh tyler's using windows we should definitely do that we should have that yes for the for the live audience would be great all right anyways anyways um we're doing predictions that's the point we're gonna go over with that so we've uh each done three predictions and we're going to go through them one at a time we'll go back and forth so tyler your first prediction okay my prediction is that this year will finally be the year that everybody will stop talking about matrix and just talk about element and like it'll actually start competing really with discord I think this is the year that they're finally going to implement the grid mode which will be nice like very nice because that's literally the only thing if you go in and use element it is straight up just discord slightly different naming scheme the UI looks marginally different the only thing that it's random dialer there for some reason I mean I think that's been removed because the last time I went in there I didn't see it that being said I could have just not been paying attention for it but they have the only thing that they are missing to where it could be used as a drop-in discord replacement and be very competitive is a grid mode just add that button to where everybody's videos is not overlaid that that solves all the problems just make a grid mode I think this year is when they're going to implement that feature and we're going to get people that just finally understand marketing and stop talking about fucking matrix that's only confusing don't bring it up does an element use matrix yes but who the fuck cares no one cares like I don't want to know what discord is using on the back end why would you even tell me why would you even talk about what's web RTC yeah who cares if that if that grandma gets implemented are we going to use that to record the podcast hell yeah I know I don't see why we wouldn't I mean at that point it's literally discord and I mean it's the same thing it's just open source we're going to have to learn how to create a bridge because if we can create a bridge between that because I've been asked several times look I got that message too I'm not bridging over my discord that's stupid literally element is a drop in replacement for discord all it needs is one the one tiny missing feature that every content creator needs so that they can move over there and it's a simple fix just implement it and everyone will move over totally disagree with you so hard right now because what really yeah because all right there's one thing that is missing with element it's not a grid mode like that's a feature that can be easily added the one thing that is missing with element is people like nobody fucking uses element why because nobody knows what to tell them ask well go into that go into a random non-linux discord server and asks them what element is and be like what nobody's gonna know like and okay other than obs and like I don't know blender or something name another open source project that is how much string you're technically right but here's my argument against that do you know what gutter is no exactly no one knows what gutter is except for the fact that people are getting banned off of twitter and joe rogan just switched over to it and literally overnight 500 million people joined it here's my argument on the reason why no one knows about me I will go I'll call Joe Rogan I got him on on speed dial and see if he can join element to see if he'll pick up no but see that's my point though like that's my whole point is no one knows about these things until content creators or people that actually talk about them and make them relevant use them use them content creators can't use element because it it it doesn't have the things necessary to do a podcast yeah all right I'm going to come out and say this right now that you're going to be wrong on this prediction it's it's not that I don't want element to be good or to be used I just it's the chicken egg problem right you can't and nobody's going to go to element unless there's that's where the friends are that's the reason why facebook is so big and continues to be so big is because that's where everybody is like and yeah that they've been losing you know random people and you know growth is slowed but I mean two billion people are still there and for the most part if you want to get in contact with family that's still probably the best way to do it if they live in like California or something you know you know if you want to see their baby pictures you go to fucking facebook you don't go to element you know you know I'm saying is that yeah the social the social aspect of social media requires people to use it and I don't I don't think that in this day and age but what brings people to social platforms nobody know the big no yes everybody no yes people do know it's the big people like the popular people if the popular people use the social network the people will come chances of that happening for element though would be so astonishingly well here's the thing discord has major problems everyone knows that everyone talks about it it's hilarious because one of my predictions might feed into yours like the if one of my predictions happens yours might actually happen that'd be hilarious okay you go on we'll just hope and pray Joe Rogan saves element that's just I mean I don't think it'll be Joe Rogan but I definitely think once creators can actually use it then it'll be competitive interesting we could make bets on who it could possibly be like Matt Damon or something I mean like that's the thing I don't think we need like we don't need like those types of big names for to be really what everyone's using if just the actual like interesting people on youtuber using it that's what matters and most youtubers want something other than discord I mean do I mean do they if they really did want something other than you didn't discord wouldn't they just use element well but that's the problem though it like most content creators do podcasts podcasts are huge now and you can't do a podcast from element that's the biggest problem I guess I guess we'll see all right all right so my first one I mean to is that solas will fall so solas linux is um was started by icky daughter I don't know how it's how you say his last name um ages and ages right and he's he's left the project and now their co-manager their co uh their co-lead has left the project and taken budgie with him like he's he's taken budgie with him and he's going to manage that separately which is probably a good idea um but it seems like every few months there's some kind of major shake-up with the solas team and this just feels like the year that solas will wrap it up and not be a distro anymore it'll just die no because solas is actually a good distro but it's always had problems with software availability because they have their own repose and stuff so um and let's face it they've been so this is a more of a budgie problem but they've been promising budgie 11 now for like seems like four or five years um and they've changed their minds on what it's going to be forever like it it was going to change to cute and then they decided to scrap that they were going to continue on with g2k and do a rewrite using that that's been scrapped now they're going to use the fl libraries uh who knows if they're going to continue on with that i mean nobody uses the fl libraries so i mean there there has to be a reason why the fl libraries aren't popular i don't know what they would be but it seemed like there'd be a reason if if because if it was really good more distrust would use it or desktop environments use so that's more of a budgie problem but still um now solas solas and budgie were together right they were created together they were tied together heavily literally created by the same people for each other you know and now they're separate um budgie has a reason to exist because people like a desktop environment what is the reason and for solas to exist and the answer that is i have no clue what reason it's there for um what does it bring to the table that is going to be you know a unique distro because most people who want to use a distro uh and unless they're like uber linux nerds and want to use something independent like artics or whatever you know those guys you know but i mean most people when they wish want to use a distro they're going to use something that's mainstream that's something that's based on ubuntu or debian or art or that you know has really good support yeah yeah it's not going to be some random small distro i mean the only way solas stays afloat is if it's just like a they just do it for themselves like it's not you know it's just a small project that they the developers develop for themselves um so uh yeah i think that this is probably the year that solas will just not be developed anymore that's my prediction it'd be sad but i'm not surprised because ike's doing something different called serpentos i like i don't know what it is but i haven't been keeping up with with what they're doing yeah but it's it's it's unfortunate because like solas really in all honesty i mean so fantastic distro like yeah i mean yes there was definitely like you know they as with any distro it had its own you know pros and cons but it was a overall really good distro i think it still is it's just it's now it's on even more rocky ground i guess yeah i guess that's how you put it it's going to be i mean it's pretty sad but if it does happen so all right so your next prediction no my next one is the distributions based on ubuntu will change that because i don't think ubuntu is really making a lot of decisions that are popular with their downstream variants i think a lot more projects are going to be slightly shifting away from ubuntu or at the very least just not implementing a lot of changes that new ubuntu and new canonical are making that's kind of my prediction now i don't think that linux mint is going to be based on arch don't please don't misunderstand what i'm saying there that's exactly what linux mint needs is a third thing to base themselves off from is the arch then they might as well do one for slack ware and gen two and and and dude could you imagine of linux mint slack ware addition like that needs to happen like and that needs to happen why i mean they happened yet dude like look they like wasting development time so why not why not like seriously definitely linux mint gen two existed addition where instead of being able to install everything everything has to be compiled out of the box that's gotta happen you get the great user interface with a cinnamon desktop but just none of the user friendly aspects of linux mint i'd love it so on your under your prediction i think the thing that's going to happen with ubuntu is not that people are going to stop using it but it's there's going to be like a fragmentation in what ubuntu is so there's going to be the ubuntu that everybody uses and that thing is going to be the snappiest snap thing that ever snapped everything is going to be snaps everything that they can make a snap is going to be a snap and that's going to be ubuntu whether or not anybody will use that experience because it takes 12 minutes to load up your browser i don't know and see what you're saying right now is why i'm making my prediction because i feel like as an actual developer you would probably want to change when your distro because it's based off ubuntu all of the tutorials on getting shit to work in your distro won't work because they're so much different about your version of ubuntu than the mainline ubuntu so the thing is is that i think a lot of developers and distro maintainers are going to do what linux mint has done which is they use ubuntu they use the lts ubuntu releases and then they strip out snap like they just completely take it out i'm pretty sure kabuntu does this right and that's an efficient way i think so real so it really wouldn't surprise me if more ubuntu based distros do that now personally i think at that point if you're going to take out snaps you just might as well base yourself on debbie and because that's basically what you're doing i mean yeah without yeah because i mean most most people just want to get it if you're basing off ubuntu you're probably doing it because of ease of use and if you're ripping out the ease of use factor that like most people who are going to ubuntu want we're just they don't have to worry about anything they who cares that it's bloated or whatever just it's a snap it'll work and the the guides online are going to be just go grab it from the software center pseudo snap install like all right miguel in the the chat s for a a debbie and base katie neon i would check out sparky linux um yeah it's basically debbie in but with katie and a really good installer it's really good um and if you i believe it uses system d so you don't have the same problems i've been having with mx but i might be wrong on there um anyways definitely sparky is a really good one so um yeah it'd be interesting to see what happens with ubuntu because my next one actually also has to do with ubuntu uh so they're switching their uh installer to a flutter based they're designing it in flutter which is i don't know how like a development framework that is you know designed and developed by google and canonical together and wait hold on hold on so i'm a troglite here so just explain this to me so is it like are you talking like framework is in the same type of ideas like gtk is in a framework kind of yeah but i think it's more like a web-based framework i might be wrong about you remember not a developer so um but it's something like that it's something somewhat along the lines of gtk or java or something it's something it's one of those things um i couldn't explain it more than that it's it's framework that's the word that i learned that's as far as i went i'm with you a hundred percent but but anyways they're developing their installer as this thing they're also doing a couple other apps in flutter i think in 2022 we'll see more and more ubuntu stuff based with flutter also being snaps um and they're they're going to continue to this path towards um just removing gtk from their version of genom and eventually it just won't be genom anymore it'll be flutter whatever you know it'll be there maybe maybe because one thing that's true is that they've gone through and abandoned unity a couple times like when when they were first developing unity they've used unity then they abandoned the idea they came back to it and then they made it the default for ubuntu and then they abandoned it and then they come back to it and then this last time they abandoned it so it wouldn't be surprising if they come back to unity now especially because unity 10 has been being worked on and apparently it's fairly good um so it'll be really like almost from it from what i hear from most developers getting away from gtk is kind of a goal uh because if you're not literally just straight up on the genom project they don't really take what you need or what you might ask them into consideration well and we know that canonical likes to control things so yeah well and to me it's it's really odd that we live in this day and age like to me like when i like look back on my like beginnings and linux like the perspective that i got from everyone online was that like you went to ubuntu as your starting place in linux because you were interested in getting away from like the big tech horrible licenses like like just that entire i like mindset and framework and now like canonical is just like the most eager company like hop into bed with google and people are so like yeah this is the default yeah it's weird it's very odd that they chose to develop a framework or whatever it is with google um because i mean first of all google kills projects all the freaking time so who knows if if canonical is going to be left holding the bag you know like in a year or something google decides flutters not their new thing and this decides to leave canonical to do it all by themselves that would not be surprising because google's done it before you know they kill them all the time google is also a data analytics company so why would you make a framework with an analytics company like that's kind of not what you're about well i mean google does a ton of stuff that's open source right and so i mean they from a like a resource perspective if you ignore all the evil shit that google does which i mean it's hard to do i really admit that if you ignore the evil shit they have a ton of money and a ton of developers so they can if you can team up with them and kind of take advantage of those resources it kind of makes sense but then you got to remember that they do evil shit um it's like um it's like if Voldemort was really really rich you know and you needed some money so you yeah you get you asked him for a loan but he also is going to murder you you know yeah yeah like i mean if you don't pay him back like you're you're being abracadabra into it like another reality but at the same time he did give you the money that you needed to start your business so like you know so you just kind of turn a blind eye to the fact that he's you know murdering harry potter every year you know yeah yeah all right it's just it's it's weird but i hope i hope i hope we have a bright future where canonical is i don't know changing in a good way for once that'd be nice we can hope i don't have any hope for that i'm sure that there are many good people who work at canonical and they've done literally without canonical ubuntu would not be where it's at or linux would not be where it's at right like it just wouldn't be just like if you took red hat out of the equation we would not have the vast majority of stuff we had we wouldn't have x or we wouldn't have pulse audio we wouldn't have you know any number of system d you know all this stuff that is absolutely required for linux to run wouldn't have existed if red hat wasn't making money doing it because there would have been no incentive for them to do any of that stuff if they weren't able to then put it into their enterprise stuff and make money from it right so we bitch and bitch about canonical being a corporation that makes money i guess but i mean really it's not the the fact they make money it's just who it's the fact that they make money with who they choose to make money with yeah which hey like look if you're gonna play ball you kind of have to i mean you look if you're inside of a school eventually you're gonna have to have some dealings with the bully okay and a google is the bully of the corporation space so eventually you're gonna have to do a little song with them all right you know they're gonna have to steal your lunch money somewhere right it's just inevitable yeah you know there's no getting past Voldemort all right all right um you're a third and final one all right um mine is something that people probably will not like but it's a honest to god prediction for this year i think if we get the steam deck this year people are probably gonna be running windows on it just throwing that prediction out there i don't even know if that's surprising to anyone um um the 100 game compatibility compatibility in steam is not going to happen um also from what i've figured out with talking with some developers enabling easy anti-cheat is not as simple as some would make it out to be um it's not just emailing and pressing a button i it does require a little bit more than that and can cause problems um yeah it's overall i've just found that most likely gamers will probably i mean if you got an extensive library you want to play everything probably put windows on it which i really hate that just makes me so sad i know the thing is you're probably right i got a i hate it i hate it it's so bad but i it's all going to depend right it's going to depend on how many games work if the vast majority of the games that people want to play work in so the thing is when you see articles about the steam deck online and they're talking about oh all the games are going to work hold on there charlie yeah that was never going to happen epic is never going to bring a a a native client to linux that's just never gonna happen unless the steam deck is like switch style popular like if they sell millions hundreds of millions of dollars a hundred millions of of of steam decks and that's when epic might do it but that's just even then it's not even it's just not going to happen so the the same thing with like or ea's origin and all these custom launchers all that stuff that's going to have to be in in wine and proton and all that stuff ludris you know that's the way it's going to have to happen and that stuff it's always been the biggest hack that's ever been hacked on linux right it's just the way it is like you ever install anything in ludris yes it's way easier than it used to be when you try if you used to try to get something to work in wine it used to be the the nerdiest thing you ever did now it's way easier but it's still beyond so most people or it just sometimes still doesn't work right like well yeah because things break like their long the launcher gets updated and then the script no longer works because basically all it's doing is running scripts in the background right or they update the game and there's a new dll that it can't launch yeah so that stuff everything outside of steam it's always always going to be a crap shoot right all the success of the steam deck is going to highly depend like 100 percent depend on how much steam does or involved us to get games working and it doesn't have to be all of them because they have that I don't remember this but they went through and decided that they're going to have like a rating system like how well this game worked on the steam deck that's what they're going to do and as long as people pay attention to that thing and realize when they're buying games whether or not it's going to work it's going to be fine it's going to be the people who have existing game libraries which is going to be most of them that are never going to see that little rating system and just going to install a game and then realize that you have to tweak something in order to get to work or there are all their extra steps or something those are going to be the people are going to say you want this is way more work than it needs to be I'm installing windows those are going to I mean the main problem is like really a hundred percent game compatibility kind of is necessary like I didn't believe that but here's at the same so I am working with Scott or Arch Center and Phoenix Python on my discord we are working right now on making a survival game in unity that's peer to peer like very small games but anyway we're working on a game that's similar to survival games like Dead Side and Day Z because there's not any for Linux and I love those types of games I'm addicted to them I love them and there's not a really good dedicated game for that on Linux I love Dead Side I'm addicted to Dead Side I want to play it it does not run on Linux and so like I can the only chance that I have to play the game is running through GeForce now and there's input latency there that's makes the game really difficult to play if not bordering on unplayable and I have a system now that I can play I can play that game at ultra at 1440p at above 100 fps that is an amazing experience I want to be able to have it and if I have if I have a steam deck I want to carry the game I want to carry that little console around and play the game that game has to work on there and again that's not a problem with steam or anything but that's just kind of backing up my prediction where most people install windows on it Milo Hoffman in the chat said something I was thinking of he says no the Sony PSP doesn't have 100% of windows games and that's what I was kind of thinking of was like well the steam deck doesn't really have to have 100% because it only has to have games that work on it because like the you can play a PlayStation game on the switch right that was the analogy I was thinking of but this really doesn't work because you can buy all the games in steam if all the games you can buy in steam don't work you're going to have a bad experience because you're going to and that's not even the point it's been marketed from day one is this is a PC like you're getting a gaming PC and that's kind of the problem if you can take the steam deck with Linux on it and like me as an example I have like 250 games in my library I have a ton of games in my steam library if I want to play some of those games and they don't work on the steam deck it really wouldn't be that that big of a deal except for the fact that I know that I could just put windows on it and then play all those games so the way I think that what's going to end up for us it's not going to be a big deal at all because for you can run windows on your computer and play the games there that you want to play and then your steam deck or whatever is just going to have the games that you can play with it natively that's the way I'm going to do it well I'm I'm not going to sell windows because I'm I'm not dumb like you I'm not a bloody trader like you are I love the way that you said that that was that was so confident I love it I'm not going to sell it sorry I didn't really mean that you can use me just whatever you want I don't care um no stick to it I like it fucking trader anyway anyways um like but for most people who have a computer and a and they're gonna have a steam deck when they need to leave the steam deck to play different games they'll do so like they have windows probably they're gonna play all their games that don't work on the steam deck there and it's just going to be an added benefit to them that they can play most of their games on the go using their stream deck or steam deck fuck that shit um um so that's the way most people are going to be fine and that's the reason why I think that there's a good chance that a lot of people are going to stay with linux yes they're going to have I know a lot of people are going to stay with linux but here's my predict my prediction is just this that a lot of people are still going to install windows oh it's going to be a lot of people but I think that I also think that it's going to be harder to install windows on that thing than you probably going to expect I just have a feeling because I mean you're probably going to have to hook up a keyboard to it in order to I mean how I mean unless you think that there's now that I'm thinking about it yeah you're right yeah you're definitely right because it doesn't have a USB port so no matter what you'd have to plug out some kind of dock or something to it so for the average person probably not well because vast majority of people have don't have usb c usb thumb sticks right so they're going to have to find some way to get a usba you know thumb stick in there or some other way of doing it right so they're going to have to do that that way so installing windows is going to be harder than it's would be on your computer because your computer has a usba you know port on it somewhere which you can plug in a drum drive to this doesn't most pc users don't aren't like mac users and have like 17 usb c dongles just laying around the house right um yeah so it's it's it's going to be very interesting if if the thing even comes out this year it would not surprise me yeah if it gets delayed again like it wouldn't surprise me if it gets delayed again because steam has done that before plus we're in the middle of a chip shortage it's it's steam brother this could be like half life alex or half life three we'll just never see you this was all just a scheme to get you to spend five dollars to reserve one and they really needed that money or something they use that money like boost the stock price or something i don't think that that's true but it really wouldn't be surprised if we're if it comes to be october and it's still not out no again wouldn't surprise me or if we get to october and just very few people have one like it's like really really freaking rare um no it wouldn't surprise me all right so my last one which feeds into your first one is that discord will see some kind of huge scandal whether it's a it's a hack or there's some kind of like moderation scandal where like there's you know a whole bunch of like really bad stuff going on on the platform and they're having they have to implement a whole bunch of rules to try to uh you know maintain civility and if you've been a part of some of the big ass discord forums some of the shit that goes on in those discord i keep calling a discord forum i'm like 900 years old discord server um if you're a part of the any of the big discord servers there's a lot of just really shady crap that goes on in some of those channels and um if that like any of that stuff blows up to the point where it makes it to mainstream media um it wouldn't surprise me if discord is a part of that kind of scandal and that they have to go through and then implement new rules and moderation stuff um because discord's been around for ages and they just now implemented a way to put people in time out like just now i didn't even realize they hadn't done that until now yeah well because you a lot of servers had timeouts before then but the way they did it was assigned roles right that if you wanted to put them in a timeout you'd give them a role that had no permissions right um that's how you do it now there's an actual timeout thing that you can use but it's just now like it's been around for years and they just now done it so moderation is better on discord than it is on youtube but that's not saying all that much you know so um i think that discord will just see that because it's getting more popular right like i know you're talking about how elements going to come in and save the day or whatever but more and more people are using discord like my mother asked me about discord the other day like i was doing something and she asked me hey man what's discord and i looked at her and i looked away like what wait what you know what discord is yeah and that's the kind of thing it's like it's becoming mainstream it like it used to be just for gamers and like random communities now it's going to be for everybody like every subreddit on reddit now has a discord you know every single one um and the bigger it gets the more likely it is we're going to see some kind of scandal that you know propels it even further into the mainstream of course i mean the the end goal of discord is to is for it to morph into twitter like that's what'll happen yeah i don't think it's could you imagine stories like infinite scrolling stories and stuff on discord well they have threads now so they do keep kind and so here's all right well there's many problems with discord but the thing about all these technology companies is that they're freaking copycats so if instagram or snapchat does something and it's uber successful every other social network has to have that thing so like cool clubhouse was a thing for like five and a half seconds and got like a million users um it's that i don't even know what that was it was an application for like android or something where they had audio chat rooms like where or something i i don't know i didn't join him dumb i i mean it's it sounds like a way to get uh catfish from negeria or something i don't know awesome that's my favorite pastime i i don't i don't know but it got really popular it's like five minutes right so of course spotify had to have a a a a chat a clubhouse clone uh discord had to have one you know facebook had to have one all the my problem with discord was that when discord first started they were i mean it's chat rooms so let's hold off on the calling it unique but they did a really good job of being something that wasn't really around anymore it was like they they took the best things of irc and chat rooms and like aol instant messenger and kind of put them all together in a single client and made it awesome and then implemented a voice chat feature where gamers could chat together right that's why discord was great but then they got bigger and they had to find new features and it turns out making new features is really hard that are you know unique so what's the best way to do it steal them from facebook instagram snapchat snapchat that's the way you do it and that was really disappointing for me because why isn't it possible for you to make a good product that just stays the same like stop adding or here's the great thing we don't need monolithic programs like we don't need facebook to be instagram facebook or instagram twitter and all like no just we do not need discord to become emacs well here's the thing i don't want my car to be my toaster okay like they're two totally separate things i don't want my chat program to be like where i watch my porn in that's what like no that what are we talking about here like like discord would have been so much better if they just got good at the thing and then stayed there you know stop adding add some new features every once in a while when you come up with a good idea but you don't have to go through and pull pull things like you know things from facebook and things from snapchat and things from clubhouse and all this stuff and cram them in it just makes it way more complicated than it ever needed to be you know what i mean and it i mean when i when you first helped me set up my server you know how much of a hard time i had with permissions right like permissions on discord are complicated as fuck like they're so bad and and then 90 90% of the time you find out that your permissions are still screwed up on channels and stuff it's you went through and set up all that stuff and i had to have scrapped go through and redo them because we missed the calf of them and that and every time you set up a new channel or a new text channel or whatever it has to be done again and it has a stupid obs like quality where things change in the background because you know reasons so i'm sure you set up the permissions fine but they changed like a week later you know like why is this happening like i don't need people to see this channel like it's a it's a private channel or whatever it's for whatever you know why did it change it's or or they didn't have access to its channel like they couldn't view it or whatever and it's just it's a complete mess fix that stop adding features all right we ended up writing about discord who who the hell would have thought that that would have happened you know it gets a week off oh i could i mean i if you want i mean we could we could we could transition uh i used you know yesterday for a little while i shot a video and loved it as per usual well i mean it was papa west version you know i'm so that's it counts i guess i don't know anyway so kind of moving on to the apps of the week we call them apps of the week they're more like picks of the week they're more like tips of the week they're what we don't have a good name for it what i want to do is steal from destination linux they have picks tips and software tricks or something like that like that's cool i'm going to steal that but i don't want to be that guy um so here's our tips i was going to do it anyway anyways here's our apps of the week so tyler um what free and open source software have you chosen this week for your app of the week uh that wasn't specified in the show notes at all um so but then again here is my open source uh piece of software for the week edge look if you want a chromium based browser that ties in with your microsoft account because reasons it's good it's kind of just like chromium but but with microsoft hold on a second i remember i i distinctly remember when i made my video about edge and i was switching to edge i remember getting made so much fun of by someone i'm not going to name names tyler um that i was switching to edge like and i remember you trying it for like 30 seconds on a stream one time like you tried you were going through and trying different browsers and you install edge like this is crap and you install like 30 seconds later and you were making so much fun of matt for switching to edge and now here we are because i literally loaded up edge and i was like this is chromium but the only difference is it asked me for my microsoft account like so i would just like to point out that you were now using edge when you gave me so much shit for it not yeah look i i will defend my position a little bit okay you don't use microsoft products much less windows so it makes no sense however if you're like me and you're going to be an absolute degenerate and use windows well then hey it ties in with your microsoft account and it's just chromium so i mean you you weren't wrong too in your video the vertical tabs thing is nice i don't like vertical tabs or care for them so i don't use it but like there's no it's nice they build that there's no browser that does vertical tabs well other than edge like firefox has like a vertical tabs like plug-in it's janky as fuck man it's just so janky because when i left edge because i did leave edge eventually i wanted that vertical tag functionality so i tried to get in firefox it just it's just not as good right now i'm using brave for my for my browser it's okay i hate the fact that in order to earn a dollar a month through their crappy cryptocurrency i have to get 3000 ads every day i mean no no i mean eventually i'm just gonna get sick of it and turn them off but i'm very determined to earn some money off from brave there you go there you go there you go speaking of that if you if you use brave and you want to contribute to the channel with their crappy cryptocurrency you can now do so by going to our youtube channel hitting the contribute button let me just go ahead make this clear for anybody who wants to contribute to the podcast in that way matt doesn't even know how to sell cryptocurrency so the thing is if you donate via the the bat or whatever the hell it's called i would have no clue what to do with it like i'm saying i'm pretty sure that i can sell that through gemini they will eventually get transferred to gemini or maybe i don't know you're looking at me like i know i have no clue i don't know no idea um i'm never messing around with that and letting mine it said favaldi for the win i'm banning you disgusting just ban him ban him that's not a browser that's an office suite i mean it's in a terrible one at that it has an email client built in like okay okay i can understand maybe the people who like favaldi also like emacs because literally it's emacs right it's built on a chromium base but then they went through and built a whole bunch of stuff i'm surprised it doesn't have games built in it probably does like i really do need a remake just a like a dedicated video because i think i did it in a live stream where i checked out revolting just live um i think it was about five minutes after installing it and having it open that i went okay look all i want to use is the fn like browser i want to i want to get to a website they have some good ideas like they they're customizable ui for their browser is really good it's really cool that if you want your your tabs along the bottom you can do that you want them along the side you can do that you want them along the top you can do that you want different colors if you want your your browser to change colors based on the website you're in that's kind of cool uh i don't know really know why i need it but it's cool but when you go through and add extra things i mean and the thing is edge has been doing this too like lately i don't know if you notice that they they've gone through and like they've added deals they've gone through and now a pay to a pay to uh a pay to own thing that they now have built in and so they're going through and do this because we all know it's a scientific fact that browsers are just not bloated enough like they just don't have enough features more stuff uh the single thing is this fire fox is doing the damn thing too now every time you open up fire fox you get a a new tab open up that says hey try out mozilla vpn like first of all fuck you know i'm not doing that yeah um i i don't like burning my money but thank you for asking right if i'm going you literally took somebody else's vpn and then reselling it but you somehow made it worse so hold off on the vpn go back to the drawing table do it well i mean literally the vpn stuff is the same thing as me taking a snickers bar and slapping some shitty sticker on top of it and be like you want to buy this yeah yeah it's not called snickers it's called pickers or something you know you just change one word in it and it's a terrible font it's all pixelated it's not good no it doesn't have like the name on on the wrapper it's just literally like a brown paper bag for those of you had bitch about mozilla in the in the bingo you have now learned a square yep if one of with one of our um great community members wants to create that um that bingo for us that'd be awesome and share that with a community that'd be awesome or me and scott might work on that after the stream we want to make a little bingo thing and post in the discord that's so good all right anyway so my pick of the week i almost forgot that i had a had a one to do mine is also for browsers but mine is for chromium based browsers it would work in edge but you wouldn't need it because um it's already so good edge you know edge does uh downloads properly like they hide them in a fucking menu just like firefox does but if you use uh just a a standard version of chrome or chromium browser that just basically looks like chrome like brave or on google chromium when you download something you get this gigantic freaking bar at the bottom and it's the ugliest thing you've ever seen your life it's the worst invention humanity has ever decided they're going to create uh and and the thing is if you're like me you can't see stuff and often forget to put your glasses on it happens to me all the time um and you have so that means you have to zoom in to see shit right the thing is the fucking bar gets bigger like it gets bigger like every time you zoom in it gets it grows it's so freaking stupid so there's there's a there's a um an extension called disabled download bar and it works in all chrome based browsers just in the chrome web store um and it's literally is the only reason why i've been able to continue to use brave like if not i would have ran back to firefox so freaking fast the first time i had to download anything like and the thing the stupid thing is like i would understand if that bar was there if like when you downloaded something big like if you downloaded an iso that's four or five gigabytes large and you need to be able to see the the progress of it fine i mean it's still stupid i can understand it because at least then you can there's a reason why but it appears every time like you download an image like you click on right click on an image really it would be fine if it didn't zoom in with you right i didn't even know it did that like that's the most egregious thing like the fact that it would ever get bigger why does it get bigger it doesn't it's already huge it's already massive it's so stupid all right this was the start of the year guys this is exactly what you'll expect for the next 52 weeks it's awesome i mean we're not 52 weeks anymore but still um yeah so that was the Linux cast if you want to uh support us on patreon patreon.com select linux cast before we go i should take a moment to thank my patrons all of these fine people i'm going to try to get myself out of the habit of reading all their names so i apologize if i no longer read your name but there's there's 30 of you guys now it is wow it's becoming glad it's becoming to the point where i take more time reading the names at the end of my videos than i do actually doing the videos because half the time it takes me like seven tries to read all the names because i get and you know i go uh sit sit sit a dev on chris east coast web you know i should be very impressed that i have most of them memorized right but um you know i'll get through most of them and then i'll get to like um now let's go back i i i always get to maiglin just fine and then jackson knife and tool pops up and i just stumble over that name every single time so i have to start over again and then like the fourth time i'll i'll get through i'll go sit i dev on chris east coast web gen two's fun two patrickle prime is marcus maiglin jackname tool i'll i'll get past that and then i'll stumble over cyber guy linux's name or uh garrix name or for whatever reason i can't say carbon dated i always call call them carbonated so i always do that too so yeah i'm trying to get myself out of the actually going through and saying the names uh it was going to happen eventually uh the dt goes through and reads like a hundred names at the end of his and he's really good at it i don't have that capability i just don't so um yeah anyways thanks everybody who does support us on patreon or youtube in the youtube membership i really do appreciate that um tyler also has a patreon uh that you can go support him i don't know what the url is i'm sorry tyler it's not nearly as cool don't worry about it just just go to the shop we got dope merch like arco t-shirts and stuff it supports the podcast man you gotta come on now like it's not like let me get these headphones away the link to this nice dope merch the link to the store should be in every single video that i do every single video that tyler does every podcast should be it should have a link to the store um so you should definitely go there and check that out so that is it for us this time coming up next week we have um let's see what are we doing next week oh best ways to switch to linux is is the next topic we're going to be doing so that should be very fun to talk about and if you're interested here are a few things that uh we're gonna be talking about in the future ken katie beatnome is brave at the browser is the linux community bad for linux which should be a very entertaining episode should be to everything in rust and should you use a firewall so those are the things that are all coming up on the uh the the podcast make sure you subscribe and all that nonsense we'll see you next week peace


Hi, I'm Melissa DeLigarza inside the Cal OES headquarters in Mather. This week, Cal OES announced the release of $1.35 million in grants to organizations statewide to protect Californians from abuse that occurs in a romantic relationship. We hope this effort will help save lives and provide vital resources. In addition, Cal OES continues to coordinate with local and state partners on emerging drought conditions. Following the driest January and February in over 100 years, we remind Californians to conserve water at home. To learn more about how your family can help our state by conserving water, visit SaveOurWater.com. The warm dry weather also reminds us spring is right around the corner. Don't forget to spring forward. Daylight saving time begins 2 a.m. Sunday, March 13th. To see more from us, go to news.caloes.ca.gov and follow us on all of our social media platforms.


Welcome, everyone. This is the last talk before the lunch break. So if we just on the way. Introducing Tim Mitchell. He works with Aaron's Geo. Company based in Christchurch. So it says home turf here. And I could see you have quite a turnout. And Aaron is also looking for Python developers. So if you haven't heard about it, talk to these guys in these t-shirts. They're looking. Really interesting stuff. And yeah, Tim is going to talk about database migrations. If you haven't done it, it's a world of pain. So you're in for a treat. So take it away. Thank you. Yeah, as the slide says, I'm Tim Mitchell. I work for Aaron's Geo. I'm a senior software engineer. I've been there for about 10 years now. Let's not do anything. How do I make it go to the next slide? Right. We make geological modeling software. We have a whole family of software with three different products. All under the leapfrog brand. And we do most of our work with Python with some C and Python for the heavy lifting. You can't hear me? I can't do anything about that. Apart from a look down when I talk. Hello. And hello. I've been working with databases since last year. Speak up. You want me to shout? Okay. So we started on a new project last year. And it's when I started working with our real databases. So, overview of the talk. First I'm going to set the scene of my working environment, which I use Alembic for database migrations. Hang on, where's my mouse gone? And give you an example, schema migration and some of the things we've learnt to do. I go beyond the tutorials that you find on the web. Some tips from our experience using Alembic and also the really good news about how the pain has got less. And how our processes have changed since we've been using Alembic. Okay, the situation is we're working on a relatively young product and we're adding features to that product as fast as we can. And so, because of that, there are frequent schema changes and hence many schema versions. So, our test data is at different schema versions because they're written at different times. We have my databases on all the dev machines. You know, they're at their own versions for whatever branch they're working on. We have VMs for the testers running and they are at whatever version they're on. And we need to manage that whole mess of different versions left, right and center. And so, the situation for us was that migrations were giving us migraines. You start up your application and then you find that the database didn't have this table. It was quite a nightmare to manage. Right, a little bit about Alembic. It's obviously a database migration tool. It's written by the same author as Esco Alchemy which is very popular. It's very straightforward to set up. It's got good documentation. The user form is really good to respond to questions really quickly. The development status is only four in beta but we've only had one or two bugs in Alembic in the time we've been using it and I think it's more reflection on the capabilities at this point than the reliability. And the last thing is, if you're going to use Alembic that means the OOM or rather your source code is the source of truth. So if there's a table in your source code and there's no table in your database then it's the database that's wrong. That's not always the case in everyone's setup. Okay, getting Alembic set up is pretty well documented. I'm just going to mention a few things that we need to know for this talk. Alembic installs an executable into the scripts folder and this executable does pretty much everything you need to do. It has an init command that you can see there and you pass to it a folder where you want to keep the files and it will create this folder structure. The Alembic INI file simply points you to the folder that you specified and has your connection string to your database. The inf.py sets up the actual migration environment for Alembic with your OOM tables and other settings. There's a readme file for you to delete, Mako script for templating the creation of your revision scripts and there's a versions folder and this versions folder contains all your revision steps, upgrade steps as you make them. We've missed a slide. Yay, there it goes. So for our example migration today we're going to start with this simple OOM. It's got one table, it's got two columns an id and a name and our table has some data in it. Some test data, first customer's Mickey Mouse, the second customer is Donald Duck. Now we want to change our schema. The first thing you do is you edit your code to say what you want it to be. We've changed the single name column to be a first name and a second name. However, our database still looks like this. So what we need to do is write a script that migrates our database to match our code. This is what Alembic does. So using the executable you use the revision command and you can pass it this wonderful flag and auto generate. And what it does is it looks at what's in your code, looks at what's in the database, figures out what the differences are and writes a script for you. And it also lets you specify a short comment to say what you're doing. And it's going to enter the version folder, put this file starting with a revision identifier and your comment. And there it has everything you need to do to generate your database. It's written in Alembic operations, which means it can work on multiple backends. So if you need to support SQL server and MySQL and PostSquares, then this will generate the correct code, the correct SQL for all those database backends. There's also a downgrade function, which doesn't fit on the slide, if you need to roll back your database. Now, all we need to do is run the upgrade command. And so the upgrade, the head, just specifies upgrade to the latest revision of your database. We could put in that long UID if we wanted. And you get kabong! And this doesn't happen in the tutorial, but it does happen in real life. And to be fair, the data part of the migration is quite hard to document because it's different in every situation. So what do we do? This is reality, but it's not under documentation. We need to split our migration into three steps. First, we need to add the new columns, but they need to be nullable because they're going to start off having nulls in them. Then we can add the data to the new columns, moving it out of the name column. And then we can alter the columns to be not nullable and drop the column name. For those who are asleep, I'm going to say it again with pictures. First thing we're going to do to our database is make it look like this. We're going to add nullable columns. Then we're going to copy the data out of the name column into the first name and last name columns. And then we're going to delete the name columns and change them to be not nullable. Now, SQL Alchemy, however, wrote me add column nullable. What we want... It's not SQL Alchemy, Aliembic. What we want Aliembic to do is to write a nullable column followed by an alter column statement. Otherwise, we have to do it ourselves. Thankfully, Aliembic will do this for us. We just need to rewrite here nullable columns are written into our upgrade script. This has been copied directly from the docs. So Aliembic has the concept of a rewriter. You can override how it writes an add column operation. And you can see in the code there if the column is nullable, then just do it. Otherwise, change the column to be nullable and add an alter column operation. This goes into our m.py file. We need to only do it once. We need to do it after all our nullable columns get rendered with two statements. Rewriters are also very useful for other things such as setting permissions when you add a new table and other tasks like that. So now our migration script looks like this. We have our add columns, our nullable, then followed by our alter columns. And all we need to do is add our data migration. Right. We'll just write some normal code. The first thing you need to do is get a connection to your database so the op object has a get bind which gets you the SQL Alchemy connection. And then you can use the execute method on that to do whatever you like. So this is pretty straightforward. We iterate over all the customers, we split the name, and we update the votes. Now we're going back to migrations. We can upgrade our database to the header vision and it prints you up. It's a useful little message and that's the job done. Quite straightforward. And our database now looks like this. What we also have is an Alembic version table, which Alembic puts in by itself. You can control where it's put. And it stores for you the version of your database. This is really helpful so that your database now knows what version it's at and can know which upgrade steps it needs to run and which ones it doesn't. Now, in some situations, workplaces, you need to get your DBA to migrate your databases. And so you can't pass your script and say, run this Python against the database, please. He's going to say, no way. But that's all right. Alembic knows about database administrators and there's a simple SQL option and so instead of actually migrating your database, it's just kind of like your script. Easy peasy. Not. No type object is not iterable. We don't have a database connection. We're just iterating a script. So we can't iterate over the rows of the table, as you see here. So rule number one when writing data migrations is that you can't actually use the results of a select statement. This is a good thing in reality because otherwise your upgrade step would upgrade the first customer to be Mickey Mouse and your second customer to be Donald Duck and would not migrate the rest of your customers. So it's quite simple in this situation to rewrite your upgrade step to something that doesn't use a for loop. We're using this instra and the substra, SQL commands, an SQLite, and away we go. We can run our upgrade commands. It generates a script. You can give that to your DBA and that's your job done. There's a couple of tips for using Alembic that we have found. If you trawl through the docs, you find you can actually run it programmatically and actually it's really straightforward. You need to create a configuration object from your Alembic Ioni file name. And then there's a command module which has all the commands that you have on the command line and they're very easy to use. And so we hardly ever use the executable. We run our own scripts. And the good thing about being able to customize how you run Alembic is that you don't need to use random UIDs for your identifiers.  But they're really good for uniqueness across branches so I can kind of understand why they've done it. But, you know, sequential is good for us. And so we changed our code to use sequential numbers one to 001, 002, 003 and so on and so forth. And then John on his branch would make 10 and I on my branch would make 10 and then you had two databases with version 10 and then you had a mess on your hands again. So when I get to round to committing my code we're going to start using three-digit numbers followed by a random bit. And this morning I thought to myself you could just use the comment string as well. So yes, do write your own new revision command that puts in a sequential revision identifier because then your upgrade steps are sorted in your IDE and in your file explorer. Yeah, that was all I wanted to talk about when I planned my talk but when I came to actually writing it the things I really wanted to say was actually how it had made my life so much better and easier. So what has changed for us since using Alembic? I used to do this all the time just blow my database away start with a new one while I'm writing my code and then I'd switch to another branch I have no idea what version that database was at because it's been the weekend so now I always stamp the database when you create one. That way you always know what version your database is and it helps you keep control and manage all the different copies of your database you have all over the place. We had, well we have, so integration tests which use SQL dumps for our test data to restore the database to a known state and every time you change the schema you have to recreate that data in the new schema. And that was actually as much work as the feature or bug that you were fixing and it was a real pain. Now we added the version number to our SQL dump so it knows what version of the schema it's on. When we restore the database we then run the upgrade steps. Now when I add a table I don't need to change the test data at all except for perhaps if I need a new test data for what I'm actually doing. That means your test data actually changes a lot less often and makes life a lot easier. It also means that your migration steps get tested as well which is excellent. For our testers they always used to use the restore utility that came with the database. We used Postgres and that was fine except that they had their own... they'd done some experiments, they'd done some stuff, they'd dumped it and they had dumped all these different versions and they'd restore it against your branch which didn't match and that was a pain in the butt. So now whenever we build our software we build a restore tool that comes with it and so when they're running your branch of the application they run your restore tool and it runs your migration steps and migrates their test data up to your version of the schema and it's made life a lot easier for our testers too. As I've already alluded to we had a lot of problems with running up the application it talks to the database it runs along fine for a while until it hits the bit that's not there and that happened quite a lot. Now, whenever we start up the application we check the schema and the database matches the schema in our OAM. We use Alembic for all this it has this lovely compare metadata command which produces a list of diffs which is exactly how the auto-generate command works for generating revision scripts and you just check if that length is zero. Just checking the version number is not enough because otherwise you'll change the table and the OAM go have coffee, come back, run in code the versions are the same but actually the schema is a different and you've just forgotten about it. So yes, Alembic has definitely taken the migraines out of migrations for us and I guess that property is not unique to Alembic but I hope some of these practices will be useful to you guys. That's all I have to say. Thank you for listening and do you have any questions? Yeah, thanks very much, Tim. Questions? You can make me run. Tim, you've obviously used this as you've been developing the software and you've been iterating so fast that the database has been changing but is the intention that it is also part of the release product for the users so that when you go from a version one to a version two that your users actually migrate their databases as well or is it just purely for internal development? Both. So at the moment that when we install our server on a machine if there's a database, when you configure it to a database server and there's a database there it'll upgrade it. So it's envisaged for some of our customers they'll just install the new software and it'll upgrade their database when they install it. We know that some of our other customers will have a DBA and I'll say no way, give us an SQL script, thank you and we'll use Alembic for that to generate the script for them. Yeah, so as you write the actual data migration as a SQL rather than using the IRM I guess there's no way to actually make that back-end neutral. You can use SQL Alchemy Core functions and methods but yes, for anything that's beyond a test example for a talk then you do usually end up having to use back-end specific code but again, you can with the Python switch on the dialect and you know, generate a script for Postgrease and generate a script for MySQL. Great, thank you. Does it do backward migration, handling rollbacks as well? Yes it does. I didn't show any of my slides because of space but yes it writes through this of an upgrade step. So there's downgrade steps in all the migrations file but when it comes to data involved and we have to manually do all that stuff we tend not to use them. Have you done any comparisons with like Django Migrate or South or anything like that? No, I haven't. We looked around we said, oh it's written by the same person let's give it a shot we haven't had reason to not use it. Yes, I haven't actually done any real comparisons. Any more questions? Well, I have a question for the audience. Who has used Alambeg? Hands up, keep your hands up. And we have like two shows and comment any further on the use? Yes, thank you for the presentation. I've only I guess used the outer wrapper, the vanilla flavor of it, so you've certainly opened my eyes to the scripting possibilities inside of it. I can see it being a lot more useful. Well guys, it's almost lunch. Thanks very much Tim. Thank you.


The Minister of State for Petroleum Resource System, April Silver, has visited Oppo-Nembe Kingdom in Nembe, local government area of Bajasa State, where an oil spill along the Santa Barbara River has adversely impacted the environment. The spill was reported on the 5th of November 2021 and up till this moment, well-hearthed continues to spew crude oil into the environment. The natives are groaning over what they described as untold hardship, inflicted on them by the well-hearthed which belongs to IT or Eastern Exploration and Production Company, as the rivers and fountains have been greatly affected by the spill. They want something urgent to be done to remedy the situation. This happened precisely on the feet of November 2021 and you can see with yourself that our entire livelihood has been taken off us. The entire aquatic life is gone. Look at the vegetation and then somebody has even died. This is serious. We've been told in history that this is second to the worst that has happened in global history. We are angered with what is happening. We are totally angered and this must stop. We are demanding this must stop in no time and we're expecting that once it stops, there should be a remediation immediately of the environment and everything can happen. As sent by the president, we have gone to the site, we have looked at the place and we have seen that the company is making reasonable effort to contain the spill. We will go back, we will make comprehensive report to Mr. President and we will get back to the community. And of course, the company has assured us that they are going to do everything to ensure that the spill is contained and the Christmas tree is repaired. In fact, they are giving us a commitment that in the next two days, they will be in position to clean up to at least stop the spill. And of course, when we go back, I want to assure you that every step will be taken to ensure that this problem is finally contained. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.