Gina Hoiska
👤 PersonAppearances Over Time
Podcast Appearances
I had this quite nasty situation that, yeah, Python 2 to Python 3.
I had this quite nasty situation that, yeah, Python 2 to Python 3.
And I was right in the middle of it because all of the plugins out there were Python 2 only. Octoprint was Python 2 only. And it took a long, long time to get Octoprint up and running. And that was also thanks to a lot of very, very nice contributors who helped there doing a lot of the legwork and then spending half a year or so ironing out all the bugs that were introduced in the process.
And I was right in the middle of it because all of the plugins out there were Python 2 only. Octoprint was Python 2 only. And it took a long, long time to get Octoprint up and running. And that was also thanks to a lot of very, very nice contributors who helped there doing a lot of the legwork and then spending half a year or so ironing out all the bugs that were introduced in the process.
uh pushing out blog posts pushing up tools that would help people to move over marking plugins as python 2 or python 3 compatible automatically on the plugin repository by yeah basically by looking at the code automatically and detecting if it would compile under python 3 or not and it was an absolute nightmare but somehow we pulled it off but
uh pushing out blog posts pushing up tools that would help people to move over marking plugins as python 2 or python 3 compatible automatically on the plugin repository by yeah basically by looking at the code automatically and detecting if it would compile under python 3 or not and it was an absolute nightmare but somehow we pulled it off but
It was exhausting. And 5% of OctoPrint's user base, according to the anonymous user tracking, is still on Python 2. Wow. And at this point, I just have given up trying to motivate them.
It was exhausting. And 5% of OctoPrint's user base, according to the anonymous user tracking, is still on Python 2. Wow. And at this point, I just have given up trying to motivate them.
Yeah, I mean, OctoPrint is Python 3 exclusive now since version 1.6, 5? I have no idea, actually. Something like mid-2020 or so. I can't remember exactly.
Yeah, I mean, OctoPrint is Python 3 exclusive now since version 1.6, 5? I have no idea, actually. Something like mid-2020 or so. I can't remember exactly.
And there are still people who are left on the Python 2 only version who I redirected to take their updates from somewhere else, just in case there was anything that I still needed to push out, but so far have never done anything and will now also not do because those 5%, they can just like, if a security issue or something like that shows up, they really should just finally do the jump.
And there are still people who are left on the Python 2 only version who I redirected to take their updates from somewhere else, just in case there was anything that I still needed to push out, but so far have never done anything and will now also not do because those 5%, they can just like, if a security issue or something like that shows up, they really should just finally do the jump.
Yeah, I can imagine. My knowledge is still stuck on Java 7.
Yeah, I can imagine. My knowledge is still stuck on Java 7.
I would have done so many architecture decisions differently that are now biting me in my behind over and over again.
I would have done so many architecture decisions differently that are now biting me in my behind over and over again.
Do you have a time machine? Apart from that, I mean... I think most of the stuff, if I just had known any better, so if I had found some more information on some things, then yeah, that would have saved me a lot of work. I mean, some of the problems I actually just managed to iron out with the current release because I basically have two web server situations going on.
Do you have a time machine? Apart from that, I mean... I think most of the stuff, if I just had known any better, so if I had found some more information on some things, then yeah, that would have saved me a lot of work. I mean, some of the problems I actually just managed to iron out with the current release because I basically have two web server situations going on.
I have Tornado sitting in there, single-threaded. Async. And on that, I have Flask sitting, which is sync. So that is really a bad idea. You do not want to mix that up. But in 2012, Gina didn't know any better than that. And now I know.
I have Tornado sitting in there, single-threaded. Async. And on that, I have Flask sitting, which is sync. So that is really a bad idea. You do not want to mix that up. But in 2012, Gina didn't know any better than that. And now I know.