Tech Over Tea - A Simpler Way To Switch To Linux | Technoporg

Episode Date: October 24, 2025

Today we have the developer of the Operese project on the show, a new tool for migrating to Linux directly from WIndows without ever having to manually install Linux.==========Support The Channel=====...=====► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson==========Guest Links==========Operese Video: https://youtu.be/4YUkD5oslmcOperese Repo: https://codeberg.org/Operese/operese==========Support The Show==========► Patreon: https://www.patreon.com/brodierobertson► Paypal: https://www.paypal.me/BrodieRobertsonVideo► Amazon USA: https://amzn.to/3d5gykF► Other Methods: https://cointr.ee/brodierobertson=========Video Platforms==========🎥 YouTube: https://www.youtube.com/channel/UCBq5p-xOla8xhnrbhu8AIAg=========Audio Release=========🎵 RSS: https://anchor.fm/s/149fd51c/podcast/rss🎵 Apple Podcast:https://podcasts.apple.com/us/podcast/tech-over-tea/id1501727953🎵 Spotify: https://open.spotify.com/show/3IfFpfzlLo7OPsEnl4gbdM🎵 Google Podcast: https://www.google.com/podcasts?feed=aHR0cHM6Ly9hbmNob3IuZm0vcy8xNDlmZDUxYy9wb2RjYXN0L3Jzcw==🎵 Anchor: https://anchor.fm/tech-over-tea==========Social Media==========🎤 Discord:https://discord.gg/PkMRVn9🐦 Twitter: https://twitter.com/TechOverTeaShow📷 Instagram: https://www.instagram.com/techovertea/🌐 Mastodon:https://mastodon.social/web/accounts/1093345==========Credits==========🎨 Channel Art:All my art has was created by Supercozmanhttps://twitter.com/Supercozmanhttps://www.instagram.com/supercozman_draws/DISCLOSURE: Wherever possible I use referral links, which means if you click one of the links in this video or description and make a purchase we may receive a small commission or other compensation.

Transcript
Discussion (0)
Starting point is 00:00:00 Good morning, good day, and good evening. I'm as well as your host, Rudy Robertson. And today, we have the developer of a project you may have seen the video of because it was going around quite a bit about two months ago. The developer of a project called Oprys. Oh, is that how you say it?
Starting point is 00:00:21 Yes? Yep. Okay, awesome. For anyone who may not have seen that video, explain what it is. So basically it's a tool to migrate a computer from Windows to Linux in place, transferring all your files, your settings, your programs, with the goal that basically it's a completely seamless transition so things look a little bit different on top, but non-technical users
Starting point is 00:00:46 can just keep going on and using their computers exactly the same as they otherwise would. So it's basically an automated migration tool to go from Windows to Linux. Exactly. Okay. I guess the first place to start here is why. Like, why couldn't someone just go, like, why wouldn't someone just go and install an ISO and then just move the files over? What, what reason did you have to just go and make this project to do it all seamlessly? I think that there's a common assumption in the Linux community that you know you just download the ISO, flash a live USB, boot from there, installs,
Starting point is 00:01:28 Linux or copy all your files first and then install Linux and I think we tend to overestimate the skill of the average user at doing so. And so I've seen this firsthand with some people I've helped switch to Linux. I just did it a couple days ago actually with someone and they had no idea what a partition was to write images to a USB and they were like I would have completely lost on my And so I think there is a need for tooling to make this easier for people who want to make the switch, but don't have the technical confidence to do so. Mm-hmm, mm-hmm. I would imagine, so are you doing, you're in university right now. What are you doing?
Starting point is 00:02:11 Is it like computer science, software engineering, or is it something entirely unrelated? I actually started out in software engineering, but then transferred to mechatronics engineering, which is kind of a combination of mechanical and electrical, just because, I wanted to explore a bit of a broader range of technical subjects, but there's still very much a core software component to it. So I would imagine a lot of the people around you are probably more technical than the average person then. Yes, absolutely. But even there, you know, if you've done everything on Windows and Windows has automatically
Starting point is 00:02:46 made your petitions for you and managed all this stuff for you, I could easily see why someone, you know, even someone who's built their own system, if you're doing it on Windows, you probably have never bothered interacting with petitions, unless maybe you've installed a new drive after the system's been built and you wanted to petition it weirdly? Like, that's probably the only time someone actually interacts with it, not at the core root file system level. Exactly. Like, I have friends who are in computer science, very good at it, but even then, they're
Starting point is 00:03:20 still, like, I don't know what NTFS is, so there's a bit of a gap there. That sounds like a bit of an education gap, but sure. You're probably right, but whatever the cause may be, it is still there. So, when you'll, I guess we can go through the process of using the tool. So how does it all start? So you launch it on Windows and then what happens from there? So the sort of intended way that you'll proceed through it is that you'll download the installer, run that sort of standard Windows installer, and then open up the program, and it will show you a very minimal screen, and that sort of minimalism is intentional. I actually made the UI design initially to look kind of like the Windows installation screen
Starting point is 00:04:18 just to give people a bit of a sense of like at home that I can trust this program and to show the most important information like let people know there are risks. Please still back up your data but not show so much detail that people just their eyes glaze over and they skip through it all because I think there's it's hard to strike that balance but I've done my best to do that. And so then once you've read through all that initial information, then really, you just press start, and then it runs. It goes through a couple restarts,
Starting point is 00:04:50 and the like three different sort of stages of execution, which I can get into later if you're curious about the technical details. But basically, from a UX perspective, it just runs some stuff, and then ask you to input a new password, and then reboots one more time, uninstalles itself, and then you just have your computer, which you keep using. So I guess before we can get into how it works on the technical side, what is some of the stuff that's gone wrong during your development process of this?
Starting point is 00:05:25 Because I'm sure it hasn't been entirely smooth sailing. I can't imagine there's a lot of documentation on handling this process. No, there have been too many roadblocks to count, But some of the bigger ones, let me think here. Just like weird undocumented behavior with Windows APIs, like creating extended partitions when they're not supposed to. Or like also weird undocumented abutu APIs, like figuring out how their live ISOs work
Starting point is 00:05:59 was not easy just based on the stuff on their website. But then from a technical side also, I went through a couple sort of revisions. of the design process went down some dead ends with like running this in VMs or LBM groups or like how am I going to get the file system set up? And so I definitely wasted a lot of time trying approaches that I thought might work but didn't. And then also learning Rust was probably the last biggest one because I didn't know Rust when I started programming something at Rust. So now I do.
Starting point is 00:06:32 I always love what I hear from a developer that their first project There's something vastly more complex than any first project should be. It's like, oh, yeah, so my first project was writing a kernel in Rust. Yeah, so my first project was writing a migration tool. Like, you know, most people are like, yeah, I'm going to write a calculator. I'm going to do a, I don't know, basic HTTP. Just like, you know, things that are fairly well understood. And you're like, nah, that's boring.
Starting point is 00:07:05 Yeah, we're a strange breed. I guess, but it worked out at the end and so, I mean, I had done lots of programming before so it's not like this was my first ever foray into the world of computers, but it still definitely was a learning curve. So, I guess on the technical
Starting point is 00:07:23 front, how does something like this work? Because I know there have been in the past there were Windows-based, I think it was a Windows based Ubuntu installer. It was It wasn't a migration tool.
Starting point is 00:07:39 Sorry? A wubi, I think it was called. Something like that, yeah. Yeah. But it wasn't a migration tool from my understanding. It was basically, I believe it's set up like a dual boot, if I remember correctly. Yeah, so basically the way that worked, as I understand it, is that it would allocate like a disk image file on Windows and then boot into that somehow chain loaded from the Windows bootloader and then run Ubuntu off of that. And so, like, it was native Linux, but it was, like, mapped to Windows file system in a weird way and had some issues that are not present in a normal system.
Starting point is 00:08:18 And so they eventually deprecated that in favor of just install it yourself. So it was never really a proper installation. It was always tied to the Windows file system in a weird way. Exactly, yeah. So if you had, I've never used this tool. If you'd gotten rid of the Windows install on that system, would that have then also broken the Ubuntu install? It would have, to my understanding, yes.
Starting point is 00:08:43 I've also never used it, but I did read up on that when I was trying to figure out how I was going to do things on my end. So there is some prior literature on doing weird installing Linux from the window side, just not... Okay, is there any prior attempts at doing what... Operase is doing, or is this specific route something relatively new? I think this doing it this comprehensively is new, but parts of the process have been done before.
Starting point is 00:09:18 Like one project, FerranOS, they have a tool where, like, you, in their live USB, copy some data automatically over from Windows, and then copy it back once you've actually installed the system, but still you have to manually go in and do some of those things yourself. whereas what Oprys does it does it all like itself automatically and so I think on this scale it's new but I'm definitely standing on the shoulders
Starting point is 00:09:43 of giants and working based on some things that have already been done Okay So on the technical side then How does any of this work And I'm sure there's a lot of different areas to approach this from I'm sure there's some window stuff that happens
Starting point is 00:10:03 there's some out of like there's some Linux stuff that happens there's some stuff that somehow bridges the two together but I have no idea of even where to begin with something like this so I guess from the start of the process and we'll work our way to a full installed Linux system okay uh how much technical knowledge could I assume on the part of your listeners if there's any word if there's any phrase we need to explain we'll just pause it there
Starting point is 00:10:30 and explain the term and go forth Okay, okay, sounds good. I mean, it's not like that bad. I think I can make it pretty approachable. But basically what happens when you start is that it's just running in Windows and sort of the key constraint here is that Windows starts at the beginning of the disk,
Starting point is 00:10:53 the partition there, and you cannot shrink to the left, but we would like to get Linux at the start of the disk. You can only shift like NTFS EXT4, all major file systems, you can grow or shrink them to the right, but never to the left. And the left is where we would like to put the new Linux partitions. So how are we going to get around that? And I do it kind of via an indirect way. So start by shrinking the Windows partition to the right, and then at the very end of the disk,
Starting point is 00:11:24 just copying over a full Ubuntu live ISO disk image to a new partition there, and then installing Grub. And then once that's done, I restart into the Linux partition that's at the end of the disk. And then you have that there. You're no longer in Windows. And so you kind of have more flexibility to do whatever you want with the NTFS file system now in order to get it out of the way and get the Linux partition at the start. Are you sort of following so far? Or am I going to quickly? That's all good. Okay. Perfect. Yeah. And so then the challenge really how do I get the Windows partition and all its data to move to the right. And one option is just to like shift it over byte for byte using something like SF
Starting point is 00:12:17 disk. That's what KDE partition manager does under the hood. But on real disks, it's like non-incremental and fairly un-resilient against any disk errors. So that's what I was doing in... Would it be a slow process as well? Yes, exactly, because basically you're just like take the last byte and then move it over and then take the next last bite and then move it over again
Starting point is 00:12:46 and just keep doing that until you've moved like every bite of the partition over without even being aware of the file system or anything like that. And so it's not the best way to do things by any means. It is what I was doing in my first demo video, incidentally, I've gotten a way better approach since then, which I had been needing to do for a while. You also said it wasn't very resilient. So if you had, if there was some, like a power outage, would everything just basically be bricked?
Starting point is 00:13:15 Because you'd have bites out of order or bites not aligned. Yeah, they're all just kind of like strewn across the hard drive in the process of moving. And the file system is totally corrupted. There's no log of what's going on. And so a people's data is something I take very seriously, and any risk of losing that, I do want to minimize. And so what I've done now is written a custom file system to get around that, which is something I mentioned to you at the start. And it's not as crazy as it sounds, but basically the premise here is that you can't shrink most mainstream file systems to information. from the left, but what if you could?
Starting point is 00:14:01 And so I created one which starts at like the like basically like right before the intermediate Linux partition, I call it, the one I put right at the end of the disk, and then it grows from there towards the start of the disk. And so you kind of have windows here. I'm very much explaining with my hands here, so I apologize to any audio listeners. You have windows on the left and this custom file
Starting point is 00:14:25 system on the right, which I call pay cats. and then you're shrinking Windows from the right, and then you're growing K-Kats to the left towards the start of the disk. And so it's kind of like you're taking the data out of Windows, and as that shrinks, then you're moving this custom file system and growing it into the space that just got freed.
Starting point is 00:14:48 Okay, so you're... As you're shrinking the Windows petition, you're basically, I guess, encroaching, into that space with your new file system. Exactly. And it just behaves, it just behaves like a stack, basically. So you push files on, one on top of the other, and it's just right to left instead of left to right. And so that is like sort of incremental.
Starting point is 00:15:20 And so if there were a power outage, like all the files not touched would still be on the NTFS side, all the files that are moved would be on the K-KATS side, and K-KATS is just stack backwards, which is why I gave it that name. Oh, yeah, I didn't catch that. Yeah, that makes sense. Yeah, so I felt pretty clever when I came up with that one, but... That's very much a developer name. I appreciate it. Thank you. And yeah, so after it's moved all that data over, like you've got this file system which has grown from basically the end of the disk to the start, and you've taken all the relevant files out of the Windows
Starting point is 00:16:03 partition, and so you can just delete the Windows partition then, and there you go. You have your free space at the start of the disk to install Linux, and then you're not leaving people with, like, weird empty space at the start, or, like, some strange volume group that fills it up afterwards, you just have nice clean disk geometry going from the start to the end with one partition. And then you just reboot into that, pop all the files off the stack, back into Linux, the final Linux, and then you shrink my file system to the right, you grow Linux to the right as well. And then, oh, sorry, you shrink it to the left, and then you grow Linux to the right. And then you just pop all the files back off one by one until you've got them back.
Starting point is 00:16:54 And then it goes through and reinstalls all the programs and creates user accounts based on some, like, data manifests that got generated on the Windows side that encode, like, where are the wallpaper paths, what are the user accounts, what files do we care about, and then it just goes through and uses some KDE or occasionally Kubuntu tools to do those changes. And then, yeah, after that, it just restarts and is deleted the intermediate stage. By this point, it's all, like, clean as you'd expect it to be, and then it's done. That's the end. So you say files that we care about, so you definitely want you to be skipping your program files and things like that, stuff that's very Windows relevant, but you want to make sure your, you know, your user files, documents, pictures, things like that, those are being brought over. Yes, exactly. And so things like the Windows kernel, we don't need to transfer that over.
Starting point is 00:17:56 For example, nobody needs that anymore. And so it's best not to waste space by migrating that. And that also enables us to have fairly low, like, free disk space requirements, because then it's not like you need to have space to make a full copy of everything. You just need a little bit of space for this intermediate stage at the end. and then you're basically just moving files around so from Windows to K-Kats and then back to Linux the final time and it's all like kind of just juggling rather than like
Starting point is 00:18:33 rather than cloning so to speak and the free space can basically be guaranteed by saying okay this is how much space is taken up by stuff on Windows so obviously you're going to need some gap there to do that intermediary stage how much space well okay how much overhead is
Starting point is 00:18:56 the window stuff itself the stuff that you're not going to bring over like on a clean windows install probably 15 to 20 gigabytes like it's a lot and obviously if you've used that window system for a while
Starting point is 00:19:12 you're going to have a bunch of extra stuff like an extra you know Adobe blah blah blah but whatever nonsense you've got installed Yeah. And actually before running it, like the whole repartitioning stages, then it runs like the disc cleanup tool and removes like update backups or whatever just to maximize the chance that there will be enough space to do this. And if there isn't, then it just won't run. But then after that, what was it going to say?
Starting point is 00:19:42 Yeah, after that, I only have the user home directories migrating right now, and that's something I'd like to change in the future, but for now, quite a bit of space is being saved by that. So, obviously, if you had a completely full disk, you wouldn't be able to do this intermediary stage. What sort of space would you need to make that work? I conservatively have the minimum set to 25 gigabytes right now, but realistically, it's only about 5 gigabytes, because this intermediary stage, it's just like basically the contents of an Ubuntu live ISO that I have taken and applied some customizations to and then packed back down into a compressed file system, and so it really does. doesn't take up all that much space. Mm-hmm, mm-hmm. Okay, so that is getting the files transferred over. So how do you, how is, how do I say,
Starting point is 00:20:52 the process is getting Linux installed from that point? Is that just a normal, basically, Linux installation from there? You're just doing it in an automated way? Yes, so Ubutu has a, They are automated installer called Subiquity, and that's Ubiquity for servers. Ubiquity was their old desktop installer, and so it's just an unattended means of installing Linux on a fresh system. And on their official live ISOs for Ubuntu desktop, it's meant to be run from like a USB targeting the main drive. But as it turns out, you can run it from one partition targeting another partition.
Starting point is 00:21:36 and nothing's stopping you. So that is something which I was very thrilled to discover. And so it's just like you're running from there and targeting another part of the disk with the live installer. And then that runs. It copies over all the files from the compressed file system into this final installation. And then you're done.
Starting point is 00:21:59 I can imagine why I do like that. Like if you're setting up some, you know, server farm, right? Like, you're gonna, you're like some, you're using a bunch of virtual machines. Like, I could very easily see why that's a feature they would include in there, even if it may not necessarily be the way that most people would be interacting with it. Even if it's like, yes. Yeah. It, anyway, so the, the process sounds quite simple.
Starting point is 00:22:26 But I'm sure it's a lot more complex than it sounded. Like, you've done a good job at explaining it. But, thank you. Like, how long did this... Well, firstly, how many other things did you try before you got to this idea of using a stack-based file system where you can just transfer things, you know, in and out? And once you came up with the idea, how long did that take you to get to a point where you were comfortable using it? So I had the idea for this whole thing May of 2024, so it's been a while. And so I kind of started casually working on it then really none of the code from that time has survived, which is a blessing for everyone except for like one little utility crate.
Starting point is 00:23:18 And so then I mean, I worked on it off and on a bit, but it was only really like a year ago this time that I kind of got serious about it. And so first what I tried was like doing the installation of Linux from a, VM running on Windows with raw disk access to the host hard drive, and that was a terrible idea on many levels, and so I didn't go down that road any further. Did it technically work? I never got it to that point. Okay. I saw the light before I invested too much more time in getting that approach to function.
Starting point is 00:23:58 I think it could technically work, don't get me wrong, but whether it should is a question that's pretty easy to answer. And the answer is no. And so, yeah, then after that, the approach that I tried was just the, like, sort of brute force taking all the bites and pushing them over to the side. And that I did get to work.
Starting point is 00:24:21 That's what you saw in the first video demo, which many people are convinced was like a technical miracle, and it was really like a bunch of hacks that nobody saw. And, okay, yeah. Yeah, and then sort of this system with the stack-based file system, I just implemented this summer. And so I think that's kind of now the approach that's going to be used going forward.
Starting point is 00:24:48 Like the core structure of the migration isn't going to change that much. Of course, there's still lots of work left to be done, but the foundation that we have I'm very happy with. So you've talked about how it's not. not, is it, okay, is it still not open sourced? Because I know in that original video, yeah. Sorry? It is open source. It is open sourced.
Starting point is 00:25:11 Mm-hmm. Yes. What was your... Did I send you the link to that? No. Oh, sorry, I thought I did in one of my previous emails. Oh, maybe in emails? I don't have my emails open right now, though.
Starting point is 00:25:25 Oh, that's fine, that's fine. If you can just send it on Discord, that would be awesome. Yeah, I'll do that right now. Um... Because in that original video, you were, you said you hadn't open sourced it yet. I had not at that time, no. I was still sort of deciding what I wanted to do with it. A part of me was like, hey, maybe I should sell this.
Starting point is 00:25:50 And then, like, that would be a good alternative to student loans. But then I wouldn't be open sourcing it and kind of like, you know how everyone feels about that. That's seen as a betrayal. and for valid reasons, some invalid reasons, but mostly valid reasons. And so I was like, no, I wouldn't be okay with doing that. And so I think if I did commercialize it now, I would just sell the binaries and then have the code be open source similar to something like CREDA or Arder, but I don't even think I'm going to go down that road. So now, yeah, it's just on Kodberg, on the link I sent to you, it's under the AGPL3 license.
Starting point is 00:26:30 Mm-hmm. I can understand why you would consider commercialize. I know a lot of people, you know, again, I am in this space very deeply. I understand exactly the kind of people you've run into, but I can totally understand why you'd want to do so, right? Like that, yeah, like, this is a really cool idea, and if no one else is doing it, like, I get it. Thank you. I appreciate your shockingly reasonable take on that. Yeah, someone's got to, someone's got to be reasonable.
Starting point is 00:27:01 someone's going to keep everyone else in check. Yeah, exactly. But anyways, it is open source now, and I'm happy about that decision. I think it was the right one. Are you going to... I didn't even notice. There's a bunch of issues already open.
Starting point is 00:27:18 Are those your issues? Or are they... Yeah, so I've been tracking issues internally. I've also got a whole different repository with feature proposals. I've just tried to set it up from the get-go so that it's ready to have more contributors coming in. Right, right.
Starting point is 00:27:35 Okay. So you are going to develop it in an open-source way. It's not just going to be an open-sourced project, like the Nvidia kernel modules, for example, where the code gets open-sourced, but they're not actually accepting code contributions. Yeah, no, the plan is to have it open-source, both in terms of code and community contributions. So when... Oh, go on. Oh, sorry, go ahead.
Starting point is 00:28:00 No, I was going to shift to a slight different thing. I was just going to say, also with respect to the commercialization thing, one thing that did come into my mind when I was thinking about the idea for this whole thing, which I think is maybe also important in understanding where it's coming from, is that it's targeted for Windows 10 computers specifically, not for Windows 11, with the upcoming end of life of Windows 10 and the more than 200 million computers that aren't eligible to upgrade, which is an insane stat.
Starting point is 00:28:33 I thought there are a lot of people who would like to have an alternative to buying a completely new computer. I've spoken to quite a few people who their reason for coming over to Linux recently has been the whole Windows 10 thing. Now, I don't expect there to be... I know every time this happens,
Starting point is 00:28:57 people say, oh, this is going to be the... the day that everyone starts using Linux. Oh, wow, this is the year of Linux. If you go back, if you want a fun time, go look at post during the Windows XP EOL, and people will talk the exact same way about XP and Linux then as they do with Windows 10 and Linux now.
Starting point is 00:29:19 People have always thought that the next Windows EOL, that's going to be the day that people move over. That's going to be, especially Windows 8, right? Like when Windows 7 went EOL and then into Windows. Windows 8, especially then, I do think there's a slow, gradual shift over with people being more comfortable as things are getting better, as more software is available, especially as more things done in the browser, right? Like, if all of your computing is done in a Chrome tab, right, it really doesn't matter what you're on at that point. Yeah, yeah. Like, a phone,
Starting point is 00:29:55 the only reason you don't use a phone is because the screen's small, right? You could use any computing device. No, that's absolutely it. I don't think, I'm not expecting a massive shift, but I do admire the optimism that people have around it. Well, I do admire the fact that people are actually trying to not just talk about it, but actually provide paths, right? Like, you have the end of 10 campaign where a bunch of distros and desktops are sort of
Starting point is 00:30:23 putting together resources for how to migrate over to Linux in a, comfortable way, software that you can use as a replacement if you're using other things, and then obviously you have your tool being worked on. I have some friends in the V-tuber space who they've put together a guide on how to do V-tubing
Starting point is 00:30:43 on Linux, how to get all the software working through wine and all that stuff. And it's nice to see that there is a push to make this happen even if it's not going to be you know, 50% of people move over, 20%
Starting point is 00:30:59 percent of people move over. There's going to be people who see that there is a process now and there are people there who are, you know, wanting you to do so. Yeah, the community has really stepped up to open those doors and that's quite inspiring to see. So when you put out that video on operas, I can't imagine you expected it to get, I'm sure you, you know, someone would see it. Yeah, but like it got posted around basically everywhere Linux related. I kind of had you expected the kind of attention it got. Yeah, I was a little bit blown away by that. I'm not going to lie. Like after I have a Discord history of me saying to my friends, like, it has 1,000 views. What have I done? And then that was just the beginning. And so I was really not
Starting point is 00:31:52 expecting that. And it was really, really cool experience to have very humbling, too. And so I'm glad that so many people have seen it and that there's so much enthusiasm around it. And, yeah, it's also a little bit intimidating, like, oh, you know, now all these people are watching me do this, which is maybe why the next update has taken a while. It's like, can I live up to that sort of, I don't know, I don't know what to call it, like, maybe like one hit wonder of the previous video sort of thing. but yeah I think it's like all publicity is good publicity sort of thing so yeah I'm really happy about that so what sort of response were you getting from people because I haven't I've not read every single comment on the video but I yeah I did see it seemed like generally positive yeah I've read
Starting point is 00:32:43 I've read most of the comments and they all do seem quite positive uh like a lot of people saying oh you know I'd I'd use this or I'd like to know how this works or like thanks for making this sort of thing and so those are all really great to see of course there are also a couple negative ones i i remember there was there was one that was like just like this is a waste of time uh you should not have worked on it and i was like okay thank you uh i really appreciate that internet stranger uh which i'm sure i'm sure you get those sorts of things too as uh as another youtube content creator so uh really the the most i can do is just laugh that off uh and then also with the the email address that i put there i don't really know
Starting point is 00:33:24 what I was expecting, but I was not expecting, like, random adult programmers to start sending me their resumes, like, asking to help out. It was like, I'm a university student, guys, don't send me a resume. That's weird. Well, that's, you know, that's, that's a positive, as annoying as that, oh, not maybe an annoying, but as weird as that might be, it could certainly be worse, right? You know, at least it's just resumes. Exactly.
Starting point is 00:33:50 It was kind of cool being the one receiving the resumes, where I've been. than applying for internships and sending the note myself. So that was a funny role reversal. But, yeah, I got generally very positive responses and a lot of curiosity too. I think that's maybe even the stronger emotion out of all of them that were there, just knowing what's next and how it works sort of thing. Did you have anyone calling it fake? No, I did not.
Starting point is 00:34:22 Me too, me too, yeah. I mean, I tried to avoid that by including, like, the video of running it on a physical desktop. Right, right. And maybe people actually saw that. Maybe I just missed the comments or selectively forgot about them. I don't know, but I'm pretty sure that there wasn't, like, any calling out of it being fake, which, yeah, I was also surprised by. I think you maybe just missed the threshold for, like, the regular tech people to see it, like the gaming space. I think you managed to just keep it within that Linux adjacent area.
Starting point is 00:34:59 Because if it went, I think if it got a little bit more attention, you probably would have started seeing those people. Probably, yeah. No, I'm glad that it's getting a lot of positive attention. I'm glad that people seem interested in wanting to work on it. Hopefully that means that, you know, once you've put out the next video, once this comes out and, you know, people know that it's, you know, the repo is now available, that you get,
Starting point is 00:35:24 people wanting to help out with the project, especially as it comes further and further along. Exactly. And so, yeah, what was I going to say? I've already gotten quite a few people saying, like, hey, I'd love to help out with this, and I would love to have people help out with this. Like, I am not superhuman. I have a lot of commitments, and I'm not the best programmer out there. Like, I'm decent, but I'm more of a perspiration than an inspiration sort of person. I just sort of work at it until I find a solution and I may be not as fast as like, I don't know, Nico Messakis or any of the other rust maintainers who just seem to like whip out their computers and upend the programming language space in the span of 30 minutes.
Starting point is 00:36:11 But I think having a broader team to help out with that would be fantastic. And I mean, I myself have actually been considering stepping back from this for the time being, just because there are a lot of other things in my life that are starting to take priority more and so knowing that it would have sort of a safety net and people to carry it forward if I were to maybe step back and focus on school and friendships and volunteering and that sort of thing
Starting point is 00:36:43 that it would not die out without me. Right. No, that's totally understandable. I went through a, I went through a sufferer in degree and yeah it's hard to focus on doing things outside of that especially well it's easy to focus on doing things outside of that it's hard to do it if you actually want to
Starting point is 00:37:04 make the degree valuable and I know you're not in software engineering right now you've shifted over to mechatronics but I'm sure it's the same way where it's like you could kind of like skate through it with like bare minimum but what are you doing then? Why are you even doing the degree if you're not trying to make it worth something
Starting point is 00:37:23 and learn something from it. Exactly, exactly, yeah. And so, like, of course, I could go all in on operas and, like, really work on becoming a good maintainer, a better programmer, that sort of thing, and really bring it further. But then at the end of the day, I have a niche software program
Starting point is 00:37:44 rather than, like, you know, a well-rounded set of interests and a lot of good memories to look back on. so I don't know maybe this is getting like a little bit more meta life sort of thing but I think I'd just like to take a break from sitting in front of a code editor and go outside so yeah that's usually a good thing yeah I can respect that thank you can definitely respect that no it's um I like I hope this project like continues going and I hope this like there's always this problem this problem exists sort of throughout the entire open source space, where people are doing really cool projects when they're in high
Starting point is 00:38:24 school, when they're in university, and then towards the later years of university, they start doing internships and full-time positions, and a lot of people end up falling out of the space, even if they were before quite dedicated to it, working on a lot of code. I've heard the story countless times. There are the exceptions people that stick around for, you you know, multiple decades, but I think most people end up, sadly, leaving the space well before that point. Yeah, I think that's true. And I definitely don't want to give it up entirely. I mean, programming is a huge part of who I am and what I do, and I do it because I love it. But I also would like to stop well before the point of like burnout and just not wanting to do it anymore. Like, there was
Starting point is 00:39:18 that story with the KDE developer who just left and he sounded like he was not in a particularly good place about it. And I would like to, yeah, just maybe stop before I make programming my entire life and then have it crumble away. But that's not what we're here to talk about. This is a tech podcast, not like a psychology podcast. I'm happy to go down any weird route. I've had some, I've had some just random discussions that don't even remotely belong on here before. Awesome. I do know a bit about the KDE stuff. I know people are directly involved in it,
Starting point is 00:39:54 and it's a lot more complex than the guy who retired. It's just, there's a lot of different interests there that there's some context that have been left out. It's just a big mess is basically the best way to put it. Okay, sorry, maybe that was not the best example. No, no, no, it's totally fine. I just, for anyone who may have heard about that story, um, there is, there is a lot more to it than just that singular blog post. All right
Starting point is 00:40:21 Okay, so one thing we hadn't really talked about is the distro that you're going to be migrating to Yes, that is kubuntu Now in your video, you basically just said, I don't care what your opinion on, any other distro is we're going to use kibbuntu because kibbuntu, you know, good choice But what, like, the, what reason did you go with Kubuntu? Um, a couple reasons.
Starting point is 00:40:56 One is that Ubuntu is like very widely used, very stable, has good software support. And if a vendor supports Linux, it's probably Ubuntu. They're also the most help resources available for it online. And so I think it's a pretty stable, like not too flashy. but dependable choice. And then the Kubuntu part is because KEE plasma, which is what I'm using right now as well, is just a more familiar experience for Windows users
Starting point is 00:41:28 than, I don't know, Noam or Hyperland or NERI or anything stranger than that. And so there are, of course, other choices. Oh, yeah, the other major consideration that I had was secure boot support, because Ubuntu has a Microsoft signed SHIM bootloader. for secure boot and so you don't need to disable that and making people having to have to go into their BIOS or UEFI settings and disable secure boot in order to run this kind of defeats
Starting point is 00:42:01 the purpose of having non-technical software right and so that kind of limits you to Ubuntu Fedora or maybe OpenSuse based distros and of those all I thought that Kubuntu was the best choice It's not perfect for sure. It would be nice to have something with plasma 6, which won't be available in an LTS release until, like, April next year. Maybe something atomic would be nice just to stop people from breaking their distros. Like, there are a lot of different options. And, like, I do kind of feel bad about telling people, like,
Starting point is 00:42:39 I don't care what you think about my distro choice. You can do it on your own time. I mean, like, I'm not saying I don't feel that way. But it is also valid to bring up gripes that you might have with my choice of distro. And so in the background, I've actually worked on some improvements to make it easier to court this to other distros. And hopefully that can be continued in the future by myself and other contributors, making it sort of a completely distro agnostic system where you have like a back end that's specific to all the things for that distro. but then like the core application code
Starting point is 00:43:17 is all the same and so then you could have people migrating to I don't know Fedora silver blue if they felt like it that would be cool
Starting point is 00:43:26 it's also a lot of extra work it is a lot of extra work yeah and so it's not something I think I'm going to work on because I mean like I said the grass is greener on the other side sort of thing like as soon as we got there
Starting point is 00:43:38 there would be things like oh you know this distro is bad because XYZ we should go back to Kubuntu, the pinnacle of all distros. And so I don't think it's worth getting caught up in all the flame wars and that sort of thing. Like just pick one that's functional and dependable and make that the main option, but allow other people to implement support for it if they really feel like it. Because when the feedback to do that is that overwhelming,
Starting point is 00:44:06 then, of course, I will listen to it. I'm not deaf, so even if it's not something I'm the most interested, in can't be really claimed to be a good maintainer if I just ignore what everyone wants and do my own thing. I think the main concern with making it distro agnostic is each distro
Starting point is 00:44:25 is going to have a different install process and it may not necessarily be as well documented as what Ubuntu has. They may not necessarily have a well defined automated installer so you end up putting yourself in a situation where basically you're just
Starting point is 00:44:40 tracking down or making installers for these different distros to really make, I would say make the tool more complex in a way where most people who'd be using it probably aren't really concerned with the results you get, right? Like if you're, if you're someone who's using a tool like this, you're not the kind of person who's going to be debating, oh, do I want to use Cabuntu or Fedora KDE or something else. You're the kind of person who doesn't really know much about distro choices and you're using this tool to migrate. Exactly. Yeah. And you've really just kind of understood what I've been getting at with this whole thing. And so it's just like, you know, people have suggested to make a
Starting point is 00:45:29 drop down to pick your distro when you're starting. And like people don't really know or care what that means. And if they do, then they're not the target audience. And so I, I think like I've tried to keep that in mind and I think most people are aware of that and there are yeah I can keep saying the same things forever but yeah other distros
Starting point is 00:45:52 a possibility Kubuntu still the main one yeah I think there's a lot of how would I say it when you're someone who is very involved in a space it can be very easy to forget what it's like for the average person who's just now getting involved in it, right?
Starting point is 00:46:12 If you're just starting, I don't know, a new sport, if you're just starting to use Linux, there's going to be a lot of things that you don't know that you don't know where someone who is more advanced in that space, it's sort of like innate knowledge to them, where they don't even think about the fact
Starting point is 00:46:28 that people who are getting involved in this aren't going to know what a distro is or aren't going to know what Wayland and X-11 are or aren't going to know what different desktop environments are. It can be very easy to overwhelm some with that information. And it makes me think of that XKCD with the geologists saying, like, oh, you know, the average person only knows a couple of silicates and maybe like an alloy or something like that.
Starting point is 00:46:56 That's not the meme text, but it's just about how experts overestimate the familiarity of the average person in their field. And I think that does happen a lot with Linux and kind of the Linux bubble, just like, oh, you found it? I think I found it. Okay, yeah, it's, uh... Average familiarity, 2501. Cilocyte chemistry is second nature to us geochemist.
Starting point is 00:47:21 So it's easy to forget that the average person probably only knows the formulas for olive wine and one or two feld spars and quartz, of course, of course. Even when they're trying to compensate for experts in anything wildly overestimate the average person's familiarity with their fill. Yeah, yeah, yeah, exactly.
Starting point is 00:47:41 So I think people in the sort of Linux bubble, like I called it before, like just are like lovely humans, but do not necessarily take the time to look out into the world and see where everyone else is at. Yeah, I think if you surround yourself with nothing but experts in a field, you very quickly forget what the average person is like. And I've had this discussion with so many people before, not just about distro choices, but any, any little thing on Linux, like, you, if you want someone to actually migrate to this system, you have to meet them where they're at, or at least where they're willing to get to. Because a lot of people, again, they don't really know, someone might be willing to learn about a system, but if you know nothing about it, you don't even know what you don't know.
Starting point is 00:48:37 know. So you don't even know what there is to learn. And I think having resources in place where people who aren't necessarily super technically, technically literate, like they have a deep knowledge of the system, I think having resources there where people can easily move over, at least to me, isn't it a good thing? I know some people, I know some people don't like the idea of you always have people who are concerned with something becoming too mainstream and there are certainly
Starting point is 00:49:10 concerns there with Linux where you have people who don't understand what open source is who don't understand licenses who don't understand that just because you can get the software for free doesn't mean that
Starting point is 00:49:27 these people don't also want to make money from the projects as well I don't know, I've got a lot of thoughts on I've got a lot of thoughts on this space Yeah, I've given quite a bit of thought about that As well, just sort of the dynamics of open source and Linux and how Like, I don't know, sort of culture wars between all the new user sort of thing
Starting point is 00:49:56 And so maybe Linux isn't perfect, maybe the community isn't perfect but I still love it and it's the free OS we have even if it's not the ideal one out there and so I think like whatever we can do to smooth out those issues and help get people using Linux like not just slapping them on there and saying have fun but like actually setting them up for success I'd rather have people using Windows than like a completely broken Linux install so yeah I think just exactly like you were saying meeting people where they're at So you built this project with Rust
Starting point is 00:50:35 and this was a fairly new Rust project for you Why did you decide to go with Rust? I decided to go with Rust because Operes is kind of an interesting mixture between like operating system stuff, high-level things, and like hideous but unavoidable hacks or like really other low-level stuff. And so I found Rust to be an excellent language for kind of spanning all that space and going like, okay, when I need to, I can write my own file system,
Starting point is 00:51:16 but then like I can also do a user interface or something. And it's fast, no memory issues. Like, please don't ever ask me to write something in C++ because I will not. And so it's just, it's worked quite well for that. Whereas something like, I don't know, BAT or PowerShell, you can't make a GUI in that. You can't write a file system in that, but it's really great for stitching together system tools. Or Python, like, maybe it'll be like easy to do at a high level. No worrying about memory issues, but then it's not quite as fast sort of thing. And so I found Rust to be a really good blend between, like, speed of development and speed of execution and, like, access to the system features that I need.
Starting point is 00:52:02 Yeah, that blend of, I think a lot of people, when they're looking at a project from the outside, they forget that the speed of development is also relatively valuable to people as well. Like, you could write everything in assembly. You could do that. There's nothing stopping you doing that. However, I have things I want to do in my life. Exactly, yes. So all the sort of compiled time contracts that you get in Rust eliminates a whole class of logic errors at runtime that would really hinder progress here and make it harder, especially starting this out as a solo dev.
Starting point is 00:52:47 I wasn't concerned as much with making the most beautiful code ever, but I was very concerned with making sure that I could understand it a month later and iterate quickly, and so I found Rust to be a good fit for that. It's, like, not the best language. I'm not saying, like, rewrite the whole kernel in Rust, just parts of it, you know? But that was a joke for those of us who maybe are less humorous about rest sort of things. But yeah, I think it's got really good applications and promise for a lot of a lot of
Starting point is 00:53:24 domains. So right now you've gone an open source. Have you considered opening up the ability of people to support the project financially, whether that be a Patreon or anything like that, or are you not necessarily interested in going that route? I am interested in going that route, and I have actually set up a, uh, LiberiPay for myself, which I was going to advertise in the next video. And I mean, part of me feels sort of gross about asking for donations, but I have invested, well, a, massive amounts of my time and, B, also, like, money as well in developing this throughout the process.
Starting point is 00:54:09 And so having some sort of return on investment for that, or not even investment, because I did it because I thought it needed doing, and it was a cool project, not with a huge, like, reward incentive in mind, but it would be nice to get some form of acknowledgement and support, probably financial for the effort that I've put in, because I don't think it's particularly fair when open source devs are just expected to do work for free and implement XYZ feature with a cherry on top by next Monday. you raise an interesting point there you said you feel weird about accepting donations but earlier you talked about how you were interested in commercializing the project is there a reason why you feel kind of different about those two things
Starting point is 00:55:00 I guess like commercialization it feels more sort of within my social norms to be like okay I'm getting value out of this project. I'm downloading a build and running it on my computer and saving myself amount of money for a new computer minus cost of operas. Like that's very easy to quantify, whereas something like some generous person likes the work that I'm doing and gives me money
Starting point is 00:55:35 out of the goodness of their heart. Like that's maybe for me with my engineer brain like a little bit harder to wrap my head around. And so I'm not saying it's, the most logical of stances. I'm not a perfectly consistent person, but I think, yeah, actually, I'm like, now that you bring it up, it is a little bit ridiculous to say both those things, but, yeah, I, I've mostly gotten over the fear of asking for donations, I'd say. No, I understand, I understand why there might be a concern here, because when you commercialize something, you are asking for money for a thing. When you're donating to something, you're to something, you are just giving money with, you know, no expectation of anything in return.
Starting point is 00:56:20 Like, this is a, it, it's both receiving money, but I understand why, especially if you're not someone who's, you know, spent tons and tons of time in the open source space or around, like, anything like this, like volunteering. I know you said you've done some before, but if it's something that still feels, feels kind of new, I can kind of get why it might seem like a different thing. You're very good at this whole interview thing. I say a bunch of rambling phrases and you just understand what I mean. So I very much appreciate that. I would hope that I've learned something after like 300 episodes of this. I know. I think it helps that you're actually good at
Starting point is 00:57:09 explaining also your general positions. I've had a lot of of people who go on tangents from tangents from tangents and that makes for an interesting conversation it's just relatively difficult to follow along with fair enough yeah like there are so many episodes i've done where i don't speak for maybe 20 minutes in a row and that's fine Because oftentimes when someone, when someone is very invested in the work they're doing, they can just ramble off things. Just like, I've had indie game developers on, for example. And if you're three years into an indie game project and it's the thing you spend,
Starting point is 00:58:00 if you're doing that full time, right, you're really invested into the project. This isn't something where you're, you're just a number of an offers. You're doing it because you're super passionate about this project. So being out of ramble off stuff, it makes sense. But it does make it hard to chime in sometimes. Yeah, absolutely. And I used to have a podcast with a friend, actually, where we just talk about random topics that we found interesting.
Starting point is 00:58:29 And I'm not going to tell you what the name is because it doesn't deserve to see the light of the day. But we definitely did a lot of rambling for 20 minutes and not talking about anything else. so I understand what you mean there. I enjoy the rambling. The rambling's fun. So what is, I guess, your background in not just programming, but tech in general,
Starting point is 00:58:58 because you've shifted from software out of that now in university, but I assume that you probably had some experience before university. Like, how did you get yourself into this position? Yes, absolutely. So my first introduction to the Linux world was when I was maybe 10 or 11, and my parents and my aunt decided, hey, we have this oddly stem-motivated child. Let's give him a raspberry pie for his birthday. And so then I got that, and I, you know, got this raspberry pie for Dummies book, who booted that up. And then all this text was coming up on the screen and flashing through and then eventually it said Raspberry Pi login and I was asking my my family members all these questions like hey you know what does what does this mean what does that mean what's an init system and they they didn't know and that kind of spawned a lifelong quest to figure out okay I'm going to figure out exactly what all this means and so since then I've kind of worked my way
Starting point is 01:00:03 through different Linux distros different programming projects I have a habit of learning by starting something and then never finishing it. So my past is littered with the graves of games that I've never finished or random little programs to solve something that I was wondering about by questionably optimized means. And then, like, a lot of that sort of thing, did some programming in school too, but not really very much. And then outside of that, I don't have.
Starting point is 01:00:40 have much of a background in tech other than software to be honest like prior to university that was kind of all i'd done and like during high school i'd worked a couple internships doing like web development and machine learning development and stuff and so uh those were those were pretty cool and so i was like hey i'm just going to do this software thing forever uh but then i realized i never had tried anything different and so now now i'm just seeing if i can branch out a bit and maybe discover what i whether i have any other interests and i've really been enjoying taking a broader range of technical courses and now i'm working on uh say another project with some friends where we're building the weather balloon and we'll just send that up and take some pictures uh
Starting point is 01:01:30 and so like i'm doing PCB design now and i don't know anything about PCB design and it's awesome I love this so yeah how long have you been doing that for like doing this like shift into new things about six months I'm only a second year student now and so I did my first semester last year in software engineering and then after that transferred to mechatronics and then I'm in my second term of mechatronics third term of university now and then I have like I said this balloon side quest of materials courses mechanics courses, circuits courses, and all that sort of thing. So really aiming for the Jack of All Trade's Master of None category.
Starting point is 01:02:14 The one thing I will say is trying out something new is going to be exciting, but I don't necessarily know if that means it's something you're more passionate about. I'm sure when you first started programming, you are super passionate about that as well because it was something unique. It was something new to you. And now that you're trying out this mechatronics route, like, this is new, this is exciting. So it's going to, like, over time, you're going to work out, is this something I'm actually passionate about? Or is this something where it was like that honeymoon period where it's this all new exciting stuff?
Starting point is 01:02:52 Is this, is it just that? Or is it actually something that you want to spend a lot more time on? That is uncomfortably insightful. but yes, I think that's basically what's going on, but I think that trying to just sort of explore options can't be a bad thing in the long run. Yeah. Yeah, no, definitely. I don't want to say I'm old. I'm only 27. I'm not that old.
Starting point is 01:03:21 But I have done a few, you know, I went through a software engineering degree and then I started making YouTube videos, right? Like, I, I've, I've done, I've done, I've gone down the dumb route that people have done. I've done actual real jobs in the past. But it's, I don't know, I think it's, it's definitely worth trying things out. And a lot of people, they, they sort of skip that phase. They fall into the first thing that catches their interest. And then they realize a year or two later that,
Starting point is 01:03:58 It was something they were only interested in because it was new. And you're always going to, like that honeymoon period's always going to end. And you're always going to get to a point where it's not as exciting as it was originally. Like, that just happens with everything. But hopefully you can get yourself to a point where even if you're not as excited about it as you were originally, you still have a passion for what you're doing. Like, you don't want to get yourself in a position where, you know, you're just a number at an office and that's, like, you have no passion and it's just, I'm doing this because I need to do this. Exactly, yes.
Starting point is 01:04:41 And even if one finds out that they don't have a passion for something after trying it for a bit, like, at least they can learn a new skill in the process of doing so. And that's never a bad thing. Like, I don't know, maybe after university, I'll go decide to do a master's degree in peace and conflict studies. And then that's not for me. So I go become a Muay instructor and then figure out that I hate that too. But, I mean, I've still come out of that with a master's degree and like some kind of black belted moitai. So that's not a bad thing either. But I don't think that's going to happen.
Starting point is 01:05:17 You brought up Muay. Do you practice? Or is that just a random example? I have friends who practice, but I have never done it myself. Okay. It just seemed like a very, like, of the, of the martial arts you could mention, it just seemed like a very odd choice to mention, just offhand. Yeah, you're, you're getting a privilege incited to the weird ways in which my brain works.
Starting point is 01:05:43 Mm-hmm, mm-hmm. So, what are the sort of long-term, I know you said you want to take sort of a step back, but long term, where would you like to see this project be at? I would like to see it be at a point where I am confident that someone downloading it can run it. If something will not work, it will stop right away, it will not proceed, it will not leave anything broken, and once it has finished, they will be left with a Linux system. with no degraded functionality compared to their Windows experience. And so that's very broad, and there's a long way left to go for that. But some of the more important parts are broadening support for program migration.
Starting point is 01:06:39 So right now, the only programs which it migrates are Chrome and Edge, because as you said, most things are in the browser, and those are the most common browsers that are used. And so already right now, like if people have Google Chrome on their laptop or whatever, and then they run operies, then they open it back up, and they have their bookmarks, their browsing history, even like their last session, Restore, everything is still there. And that was surprisingly easy to do, actually, but I think that covers. Session Restore just works across operating systems.
Starting point is 01:07:11 I did not know that. It does, yeah. It's pretty cool. So in the video that I'll be putting out tomorrow after, probably after this podcast episode is released, I will be like sort of subtly flexing the fact that I just change operating systems and then open the browser back up and go to the same web pages that I was using last time when it closed. So that's pretty nice. The only thing that doesn't migrate from chromium-based browsers is passwords and stuff because those are in the OS key ring. And so there's nothing that can be done about that.
Starting point is 01:07:45 but other than that like yeah it's pretty slick uh so i don't know if you said it and i didn't hear you do extensions migrate over as well i haven't tested that that's a good thing that like that's a good idea for something to test i would be surprised if they didn't but i can't say for sure but i think it should because they're just stored in the regular data folders and chromium uses the same uh like file formats across every operating system and so I think I see no reason why they wouldn't You said that for Chromium
Starting point is 01:08:23 Is the same the case for Firefox? Firefox is trickier They do some strange things with profile checks to make sure it's the same or whatever And so I haven't implemented support for it Which I mean I am a Firefox user So this is not me saying like
Starting point is 01:08:42 Like oh whatever I'm just ignoring a group that I'm not part of. Like, I am myself a Firefox user. I think it's, in many ways, a superior browser, but just most people are using chromium-based browsers, and Firefox is
Starting point is 01:08:57 not impossible, but it will be more work, so I just wanted to get kind of the low-hanging fruit out of the way first. And you've talked about wanting to migrate other applications, so obviously there are things like Discord where it's just, you know, it's just available in Linux.
Starting point is 01:09:14 Do you just want to hand things where it is the same like there is just like there is the software available on both Windows and Linux and that's what you want to migrate over do you you want to provide anything for software that wouldn't be included
Starting point is 01:09:29 so people know that that's not included or what do you want to do that? Ideally yes so I would like to have there are kind of two ways that I could go down this road and I'm not sure which one is better but I would like to have a way for people
Starting point is 01:09:45 to just keep using their Windows programs on Linux if there is no native alternative and so I could do it with just putting them into like a wine prefix and then creating desktop entries for all the shortcuts and everything and then for programs that run on wine that would be great people could keep using them but for the the ones that don't like say new versions of Photoshop the other way that that could be done is using a project like Win app I was literally just going to send you a link to that one. Okay, cool. So I am familiar with that, and that would be also kind of like the golden ticket in terms of like getting people to still have their apps and compatibility with those. But it is, you know, a bit heavier to run, maybe clunkier to set up, that sort of thing. And so I'm not sure which is the way to do it. but I'm sure that after discussing it with people wiser than myself that will be able to come to a conclusion of some sorts
Starting point is 01:10:51 for anyone who hasn't heard of this project basically what it's doing is running the application in a Docker or Podman container or inside of a virtual machine and then just free RDPing into that container and then just showing it on your Linux system it's a surprisingly functional hack and I like it. Yeah, I was so impressed when I first found out about that.
Starting point is 01:11:20 And theoretically, basically anything works. It's just running on Windows, right? Like, all of the Adobe stuff just works. Like, I know there's going to be things that don't. I know that a lot of games are not going to work because of the whole fun anti-cheat stuff. Like Apex Legends, for example, specifically checks for running.
Starting point is 01:11:42 inside of a container or a virtual machine. So that's not going to work whatsoever. Or basically anything that needs kernel level access is probably, I don't know. It'll be a bit iffy because you're still running in that container. So something... But I know for a fact that a lot of games are not going to work. But if you desperately need creative cloud,
Starting point is 01:12:05 supposedly it's been tested and it works. Which is awesome. Yeah. So that would be a really awesome way to just get people to keep using their applications. And one concern that I do have with that, which is maybe not super obvious, is where does the Windows image used there actually come from? Because I could just take it from the Windows that the user already had installed on the disk, but that's Windows 10, and it's going EOL.
Starting point is 01:12:38 And so can you do an unattended upgrade to Windows 11? inside the container, I'm not sure. Or, you know, take a fresh Windows 11 image and install it in Win apps and then run it that way. But then do I run into legal trouble if I'm on a mass scale installing unlicensed copies of Windows on people's computers? I don't know. I'm not a lawyer. And so that sort of thing makes me a little bit hesitant. But I'm not too sure. I'm not a lawyer either But I don't know I really don't know I think you'd be in a safe position using the Windows install that was
Starting point is 01:13:21 already on their system But I don't know really how this would play out Yeah me neither So this is definitely something
Starting point is 01:13:37 that I'm not qualified to talk about but the good thing about open source is that there will be people who know about these sorts of issues coming in and being able to answer these questions and saying yeah, okay, this is how you're supposed to interact with Windows licenses
Starting point is 01:13:52 to do it in a way that doesn't get your open source project suit or whatever. Right, right. But that would be either way a problem further down the line anyway. Yeah, absolutely. But having that sort of catch-all migration for the things not specifically covered by native versions is definitely a goal. In terms of other goals, there's, I mean, other stuff like broader hardware support. We only support BIOS systems right now, but
Starting point is 01:14:23 UEFI. Oh, we only support BIOS? Yes. Uh-huh. Not because it's impossible to support UEFI just because I haven't added it yet and so I think it should be it is more complex mostly just because of the secure boot stuff and so I just need to make sure that I'm installing the sign images from canonical when I install grab that sort of thing and update my my partitioning library to support UEFI disks which it doesn't right now and then take it from there but I don't think it's like percolian undertaking it's just like it's not it's non-trivial but it's definitely a big thing that would expand compatibility with a lot of systems that doesn't exist right now
Starting point is 01:15:14 because I think post 2013 maybe somewhere in that range pretty much everything is UEFI at that point or at least the main thing you'd be using there's still hardware that supports both
Starting point is 01:15:33 but UFI is basically the standard and has been for over a decade at this point yes yes no I am quite aware of that and so it's it's been an open feature proposal on the code group for a while now
Starting point is 01:15:49 and I was considering adding that before the next video demo but I just had to eventually say at a certain point like okay enough is enough I could keep piling odd small improvements forever but I think it's time to give other people the chance to do the same. So what about short-term goals?
Starting point is 01:16:09 Like, what are you, what is the next thing on your radar that you want to iron out? Automated testing. Okay. Don't even have to think about that because there's really no means right now of verifying, like, correctness in execution besides just running it and looking at it and making sure that it's working as one would expect, but having some kind of virtual machine-based test suite or something like what the post-market OS devs are doing
Starting point is 01:16:39 where they just have a bunch of phones wired up to their test harness, like some kind of electrodes things in a biology lab, and they're just running tests on those 24-7. I would really like to have that for operas and just be able to verify in, like, continuous integration that everything, there are no regressions being introduced, everything's still working as expected to give developers the confidence to move forwards
Starting point is 01:17:07 without causing obscure breakages. But you talked about how Secure Boot is a current limitation. What other limitations exist right now? Um, like, there are a lot, it's kind of hard for me to just think of one without like maybe a more more specific thing to call it to mind. I mean, I guess one thing could be that, oh, it doesn't migrate like network settings right now. And so if, uh, right, for some, uh, exactly, if you're using Wi-Fi,
Starting point is 01:17:51 then you're in trouble. And I have made an effort to make it so that it will still run in completely offline situations because many of the people on older Windows 10 computers are also in areas with highly intermittent or prohibitively expensive internet connections. And so I would like it to be able to be something that you can just run offline and not have to download a big image file from if that's something that you literally can't do. But for some programs, like it's not realistic to store every possible program in the image. And so some of them will have to be downloaded at runtime. So yeah, I can't do
Starting point is 01:18:30 network stuff right now. Usernames that have capital letters in them don't work. It's hard-coded with the reliance on the C-drive. You're looking at me, like I said, something that I shouldn't have. No, I'm looking at you because I'm confused about what you're
Starting point is 01:18:46 saying. What do you mean, cap? Sorry, can we just focus more on this one? I need to know more about this. I just dropped that bomb and then moved on, but basically, like, in the, in my testing, Windows has allowed creating usernames with, like, capital letters in them, not like full names, not like, like, whatever, first name, space, last name, that's, that's fine. That's just, uh, on Linux, like your
Starting point is 01:19:17 GECOS field or whatever, but, uh, on, on Windows, like the actual, like, I, identifier for the user like mine would be Technoporg with a capital T capital P for instance whereas on Linux many programs don't support usernames with capital letters to my knowledge and so it would have to be like migrated to all lowercase okay okay right why not so yeah there are all kinds of weird compatibility things that you run across and you're like No one should ever have had to think about this, but here we are. Mm-hmm, mm-hmm. Well, I guess, I guess someone had...
Starting point is 01:20:00 I guess someone was going to, and you're the one who's done so. I guess so, yes. So, uh, let me even pull up my issue tracker here. I've, uh, I've got more than I would like. There's some security stuff. It would be nice to maybe verify that a bit more. Binary signing, that would be nice. So we don't get like the Windows Smart Screen
Starting point is 01:20:33 warnings and that sort of thing, but need to get a key for that, which I haven't purchased yet. So that's where maybe donations would come in. Lots of testing. Oh, the bugs list is much shorter than the improvement proposals list. Better user interface. The user interface sucks right now.
Starting point is 01:20:53 I'll be the first to admit that, so it would be nice to improve that. Develop a user interface, that's what it is. It's, you made an interface that works, and that's enough. Exactly, yes. And I, as a developer, am maybe desensitized to these sorts of issues more than I should be, because I'm used to just opening something and having it be slightly off, and I just don't even see it at this point. I'm blind to it.
Starting point is 01:21:15 Like, my monitor has a weird issue where, like, every 20 minutes or so, it'll blink off for like three seconds and just go completely black. And I don't think that's a Linux thing. I think it's just a thing with the monitor, but I don't notice it. Like, I just keep going. I'd like keep typing. It'll just go black and I'll keep typing whatever I was typing.
Starting point is 01:21:35 And my friends are like, do you notice when it does that? And I really don't at this point. Like, it's just my monitor does this and I live with it. And I shouldn't. No, this is just a U issue. This is not a developer. No, we can't blame your screen going black for three seconds. on the...
Starting point is 01:21:51 No. How do you deal with that? Okay. Okay. I thought it was a developer issue that we were just used to things maybe not working as expected, but apparently that's just a maybe more localized quirk
Starting point is 01:22:05 than it expected. Okay. To be fair, my roommate, he, he had a line, maybe like a, I don't know, inch thick, line of pixels on his screen that were just
Starting point is 01:22:25 I guess 50% brighter than everything else and he never noticed it I don't know how but I pointed it out yeah I don't see it so maybe maybe this is normal
Starting point is 01:22:41 maybe yeah I'm not sure but anyways the point is I'm not the best person to ask about user interfaces and things that look as they showed and so hopefully we can get some people with actual experience coming
Starting point is 01:22:56 in to take a look at that but yeah also another big thing for long-term goals that might be nice to have which is I mean you're asking about short-term things but another long-term thing would be better enterprise migration support
Starting point is 01:23:12 and that's like kind of a very large-scale long-term thing but for systems or organizations like governments or companies that heavily use, you know, Active Directory and OneDrive and all the Microsoft stuff, it would be nice for them to be able to provide, like, an enterprise solution to migrate their entire system over to Linux
Starting point is 01:23:35 and keep sort of the same IT management tools, which, I mean, I will hand it to Microsoft Windows for Enterprise is arguably better right now than Linux for Enterprise. Like, it has more tools geared towards that sort of thing. but to be able to find alternatives on Linux and then migrate companies like in one fell swoop to those
Starting point is 01:23:59 I think would be a really great option to have or especially with like all the focus on digital sovereignty and whatnot in Canada and the EU and maybe Australia too I don't follow news from your part of the world so much but I think that's something on a lot of people's minds right now I think when you start getting to the end enterprise space, you're like well out of the range of what most open source projects would
Starting point is 01:24:25 be touching. I can see why you would consider going down the route of commercialization if that's sort of some ideas you've had. Mm-hmm. Yeah, no, you're, you're probably right there. You're probably right. No, I think it's cool. Don't get me wrong. I think it's cool. It's just, this is a project where the scope can basically creep until the end of time yes it absolutely is I
Starting point is 01:24:59 what if you want to define a a reasonable stopping point I guess we kind of touched this before like how much would you want a reasonable stopping point to be Because, again, you can do this project forever, basically. Yeah, I mean, it's really hard to define one, because part of me is like,
Starting point is 01:25:27 what if we migrate people's printer settings and, like, everything else on top of that? And there's really, you can go as deep as you want, but I think probably, that's, like, I've never given it that much thought before, because there's never, been an end in sight, I'm not going to lie. Right, it's still so early on that it's hard to think about what that point would be. Yeah, I think probably like a reasonable end point would be once, I don't have an answer for that. I'm so sorry, I don't have an answer for that. I don't know if there is an easily definable endpoint or if it's just something that could keep going forever.
Starting point is 01:26:16 Maybe once the file size gets above a certain limit that I just have to say, okay, that's enough. Like, we've packed enough stuff into this. Well, maybe approach this from another side. Is there anything that you feel like is out of scope of the project? Yes, absolutely. So, like, implementing new tools for the Linux desktop to mirror ones that are available on Windows is completely out of scope. That's not the goal. The goal is just to migrate people to things that exist already.
Starting point is 01:26:48 And so if people want like an alternative to, I don't know, some Windows tool or setting that already exists, and they're like, hey, operas, our migration would be better if you had this, then like that's a hard. No, the rest of the open source community can go out and implement that, but we are strictly on migrating to things that already exist. Mm-hmm. I think it's pretty subtle answer, yeah. Yeah, I think that's, that's kind of the big one. Like, maybe, I don't know, super niche configuration options that, like, if you're using them, you know what you're doing. You don't need an automated migration tool anyways.
Starting point is 01:27:35 But I can't think of any off the top of my head. Exactly, yeah. Exactly. Or, like, some strange unconvention. digital disc layout, that sort of thing. I mean, it would be nice to support multi-hard drive systems, but that is a low priority because it's not as common in sort of the mass market, like personal computers that you'd get. Right, that hadn't even come as a topic, had it? I had not. So the migration is just done on your boot drive then?
Starting point is 01:28:10 exactly yes and as of right now it will actually refuse to run if you have multiple drives I've tried to be sort of conservative in setting the limits of where it will start and what it will say like okay this program can't handle this sort of situation yet and so like of course I'm doing my best to advertise like hey this is very much alpha quality software the year for the Linux desktop is not coming that sort of thing but even so I would like to
Starting point is 01:28:45 I have safeguards in right now and one of those is that if it has more than one hard drive it will not run right now because there is no logic in place for supporting extra drives right okay okay if you were
Starting point is 01:29:00 well you said it's low priority so it's definitely something you've thought about then it is yes how would you approach it because the drive would likely be formatted with
Starting point is 01:29:12 NTFS festivals on Windows so there are you can technically mount
Starting point is 01:29:18 NTFs drives on Linux it's just not optimal so what would
Starting point is 01:29:24 you go about that route um again as with anything worth doing there are
Starting point is 01:29:33 a couple ways of doing it one interesting option would be something like
Starting point is 01:29:38 the NTFs to BTRFS tool which takes an NTFS file system and in place converts it to BTRFS, which is a pretty nifty thing to be able to do. I didn't know about this. Oh, okay. So someone's already done most of the work then. Exactly, yeah. And so you could just run that on an NTFS partition and it doesn't even touch the data. It just touches the metadata and converts it to a BTRFS file system, which is really neat. So that would be probably the easiest option. I don't know too much about like reliability of that pool, especially in case of like a power outage or something.
Starting point is 01:30:20 You're probably sensing really recurring themes and my thoughts on the design requirements of this software, but I will keep harping on about safety until the end of my days. And then another way to do it would just be with my file system, like push it all over and then bring it back. and then just use the stack to convert it like that. That would probably be the easiest option to implement in the short term.
Starting point is 01:30:48 I was just looking at the listed contributors on NTFS to Butterfest, and he shows up everywhere. There's a Fedora developer called Neil Gomper. He's in the contributor list. There are so many projects that he just randomly has a contribution on. I've probably seen at a And these aren't projects that he's made I've probably seen at minimum
Starting point is 01:31:14 50 different projects where his name shows up just in unrelated areas not 50 within like KD or anything like that just totally separate projects That's so interesting I mean that awesome that he's getting involved in so many things but
Starting point is 01:31:32 a little intimidating that he's just that prolific Yeah he's He's, uh, I've talked to him many times on the, on the podcast. He's just, he's just one of these people that really likes to help out upstream in projects rather than doing things in downstream. So if there's a solution he comes up with, it makes more sense to just put it into the project itself rather than doing it on Vodora. That makes sense. So, I think, I feel like we covered most things with the project by this point. Actually, wait, sorry, one thing. You said, you said, you've, the project is sort of standing on the shoulders of giants. It's not doing, it's not
Starting point is 01:32:14 doing stuff just by yourself. What are some things you would like to highlight maybe that we haven't touched on so far that have actually made this project possible? Um, big uh,
Starting point is 01:32:34 big one is the fact that uh, grubb uh, makes builds for Windows, and so I didn't have to go out and, like, re-implement a bootloader myself or something. I could just download, like, grub install.exe. Oh, right, no, I guess the dobo. Yeah, that makes sense. Okay, that, yeah.
Starting point is 01:32:51 Yeah, and so that, uh, that was really huge. Ubuntu subiquity, uh, that's been massive in terms of, uh, making my life easier, uh, the, uh, Kimeu and virtual box for virtual machines for testing, uh, has been huge. Yeah, I could keep going on and on, give you an alphabetical list, 3,000 names long. But, yeah, KDE, also the amount of software that they've made for this incredible desktop environment just really blows my mind when I think about it. Rust, as a whole, the iced GUI library is a really nice one. Yeah, all kinds of stuff. Even, you know, I'll be generous.
Starting point is 01:33:37 Even Microsoft has helped me out by providing some documentation for the APIs that helped me get away from their APIs. Good guys, Microsoft. Exactly, yeah. Microsoft loves open source. That's one of my favorite slides. Yeah. So I think we've kind of touched on basically everything. Unless there's anything that you wanted to specifically mention that we haven't talked. talked about?
Starting point is 01:34:10 I think... I think we've been pretty thorough. Yeah, nothing comes to mind immediately. When's the video supposed to be out? Because this will probably be out, I would have met... Sorry, once my doorbells ring. Give me a second. Okay, go ahead.
Starting point is 01:34:32 Perfect time, thank you. Back in like a minute. Anything else, anything else. Sorry, a package showed up. All good? saying um actually what was i saying um sure what was i saying um what was i saying
Starting point is 01:35:42 um what was i saying i should remember this um um anything you're asking for there was a kid that i hadn't mentioned um when the project the video is supposed to be out
Starting point is 01:36:00 oh yes uh so my hope is to have it done tomorrow uh for like The whole afternoon before this interview, I was just working on, like, recording and editing that. I have a better microphone now that I did when I made the first video. So hopefully people will be complaining about that a little bit less. And then, yeah, hopefully that will be out tomorrow or my tomorrow, maybe your today, who knows. And then, yeah, after that, I hope there will be more videos. I'm really enjoying this content creation sort of thing.
Starting point is 01:36:33 and hope to continue with that in the future. Yeah, what do you plan to do on that front? Do you just want to do update videos? Would you want to talk more about how it works? I mean, I'd like to branch out from just Operees specifically, and update videos, I think, will become more intermittent. The, like, the updates won't be groundbreaking anymore. It'll just be kind of slow and steady progress,
Starting point is 01:37:00 sort of like you'd see in, like, the List Week in Rust newsletter, That might be a good format for it. But I'd probably like to continue in doing sort of Linux stuff. I've been thinking maybe parody songs, but I'm not sure. We'll see. Okay, okay. I will definitely have to check that out if that does happen. Yeah, obviously that's not something to base my entire internet persona on,
Starting point is 01:37:27 but maybe one or two could be fun. I have a couple other things cooking, but we'll see. Awesome. Well, hopefully all that goes well as well. Thank you. Thank you. Yeah. And actually, unless you were going to ask something else, one more thing did occur to me while you were getting your package. I did not mention anything about sort of the gaming side of this migration, which is kind of a big thing for a lot of people. Like, will I still be able to run my games and everything? And I mean, I brought that up. but the answer is that I don't have
Starting point is 01:38:05 a lot to be able to say about that. Like, I've reached out to people at Valve about, like, hey, would you be interested in collaborating on implementing a migration for Steam stuff? And I haven't heard back from anyone, which is disappointing because it would be really nice to just have, like, migration for Steam straight to Proton.
Starting point is 01:38:27 But hopefully that is something which will happen eventually. That actually would be kind of neat Yeah Like the Yeah You can very easily move the Game files over
Starting point is 01:38:42 But then you've got to put them into wine prefixes individually And Yeah I don't know if there's Because you can You can point the Steam client at GameFile So I don't know if there was a, if there's like any CLI tooling around Steam, because I know there is the CLI for Steam, I don't know if there's a way to generate a proton prefix for the games, sort of automatically. Yeah, me neither. And getting Steam also to recognize that they are installed as proton games rather than as native games would presumably require some changes to whatever database Steam is using to store its stuff. And so,
Starting point is 01:39:30 Like I said, I haven't taken any time trying to reverse engineer that because that sounds like a whole can of worms. But it is definitely like a significant chunk of users, I think, would be happy to see that. I would love to see that. And so I think Valve would love to see that too. So hopefully it's something where we can all come together on that in the future. Yeah, that would be a really, really cool change. Having it so you can just... Having it so your, even just your games are there as well.
Starting point is 01:40:03 Like, that's, that's, it's not a, like, it's not a big deal, right? You can just download the games off of Steam, you've Steam, it's not a, it's not a big deal, but it would be just that nice, extra little thing where it just feels so smooth. Yes, absolutely. And that's really, really what I'm going for here. And so, yeah, hopefully it happens. Awesome. Awesome.
Starting point is 01:40:25 I've had a lot of fun here. This was a really good episode, I think. And I hope people, if they didn't know about the project, now do. And if they did, maybe learn something more about it. Yeah, thank you. Thank you for having me. I really enjoyed being here too. You've been a great host, and it's been really interesting and somewhat cathartic
Starting point is 01:40:45 and made me think about it a bit too as well. So, a fantastic experience and would do again. Awesome. If you want to check out the project, check out the videos on it, where can they go? Right now, you can go to my YouTube channel, YouTube.com slash at Technoporg, where I have my introduction video talking about what Operees is, and then as of the release day of this episode, there will be another video talking about sort of all the updates that I've covered in this podcast episode. Awesome. Awesome. Nothing else you want to mention, nothing else that might have come to mind? I guess I'll lean a bit into the discomfort that you mentioned earlier this episode and say that if you would be interested in retroactively
Starting point is 01:41:38 or sort of for the future donating to support this project I will also be linking a Libera Pay in the next video there Awesome Yeah just send me the link to that afterwards and I'll make sure it goes into the description for this Thank you Yeah, I'll just, I'll do my outro, and then that should be the end of it. Sounds good. Cool.
Starting point is 01:41:59 My main channel is Brodie Robertson. I do Linux videos there six-ish days a week. Sometimes I stream. There will be a cosmic stream coming up at some point, so check that one out. I've got a gaming channel, Brodion Games. Right now, I'm playing through Yakuza 6, and also Silk Song. So that is on Twitch and YouTube, both Brodian games. The podcast, Tech of a Tee, that is available on YouTube.
Starting point is 01:42:22 Tech of a T. If you're wanting to find the podcast version, the audio version that is on Spotify, every other podcast platform that exists. There is an RSS feed as well. Just search Tech of a T and you will find it. I'll give the final word. How do you want to sign us off? I like that you're also playing Silk Song.
Starting point is 01:42:40 It's very cool. The devs are from my state, so I'm absolutely going to play it. Oh, okay. Nice. Yeah. Other than that, I know, Be good humans. Contribute to my project if you know how to code.
Starting point is 01:42:54 Thanks for listening. Awesome.

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