Professor, University Of Washington, Assistant Professor discussed on Talk Python To Me


You have an interesting quote in the article that I'll link to talk about the maintaining this as a solo open source develop burns on you. Say the pilot tutors. Probably as far as you know the most widely used piece of open source software that's maintained my single active assistant professor. And that's quite an interesting statistic. I think maybe right. Yeah as far as I know where that's always good to say. As far as I know because as far as I know it's true. Yeah so that quote. There was an assistant professor. Someone who's basically in the first five or six years of their career tenure track but not yet tenured right. Yeah so tenure track means out your path to work toward getting tenure. But I'm not there yet so you know you're basically at these big university. It's a lot about publishing getting grants writing research papers teaching. Well all that stuff goes in court folio and you know building open source software's not really part of that portfolio although there are people who do it because that's part of their research lab rights. So right I guess my you know I guess somewhat claim to fame as I think out of people both who are early in their careers. I don't know of anybody who's really been. Maintaining software been so widely used and there's of course software projects that are much more widely used the Jupiter project is a great great example right so Jupiter notebooks and the whole Jupiter ecosystem that has started out of academia. And now there's a lot of industry partnerships but that's you know a big team effort with a lot of funding funding with a T. It's not just one person in their in their Home Office hacking away late at night. Yeah for sure. There's a bunch of folks that work on that another example that that came to mind was sage math. You've sage man so yeah. He was at University of Washington in Seattle. And he worked on sage math. I don't think he did Solo Solo but he actually left academics to just focus on sage math in the platform. I interviewed him many years ago and I hope hopefully he's still doing well but yeah I mean that's kind. The pressure right is for him. He's like I can't do both. I'm GonNa just go work on this project. Which you know seems pretty interesting but you gotTA balance it right? Yeah it's just depends of priorities rats. Yeah so William is a bit quite a bit more senior than I am. He's a he made tenure and a full professor he events quite a bit in the ranks and University of Washington as the math professor. And and all the meantime you know. Obviously as passionate making the sage project for computational mathematics and that you know again I think that started with him right like many projects and then crew and to to the point where you know he wrote some great blog post about this kind of Over the years of how. It's really hard to sustain this in academia especially growing. Because that's not really your day job. It's hard to get funding for. It's hard to get students to work on it. But then you know. He decided at least as of European decided to quit his professor job in full-time just basically run his right as a business. I think it's still concerned. But there's a consultancy model and hosted and everything. Yeah there's paid hosting cloud version as well. That's interesting have you considered considered you are subject to the publisher parish segment of your career right. So have you considered publishing things about John Tudor on say say Joss the Journal foot open source software or something like that so far. Actually you know this whole thing about python in these past few years. It's not just for my own personal enrichment or benefit in the. There's actually a great career benefit as well so because the bathroom has a lot of users I'm actually able to use it to do data analysis or run experiments or to deploy these user user surveys like for the older adults like magic. It's hard to reach thousands of older adults. Cody all around the world. If you don't have that you can just especially beginner coder exactly in the advanced ones. You can go through the standard data channels but right back overflow or whatever. Yeah it's really hard to reach the the beginnings though. Yeah so I've actually been able to my students. I've actually been aimal do a good amount of research on the platform so we have a bunch of papers using the platform. But you're right. We haven't actually thought about writing technical papers about the system itself per se and part of it is just the lack of time and priorities and you know the hope is in the future. If I have more time to think about these things I might transition that but so far. You know like you're saying the I've been down much more traditional academic research routes. Our papers are much more academic nature which is which is good because obviously like doing that too. That's right that's right. Yeah right all right. So let's talk a little bit about your article and you basically laid out the very steps ups and trade offs. I think traces the under the key word. Keep underpinning here of how can you both keep this very popular thing going and yet focus focus on your academic career and you have a ton of students right at. UCSD that need to come to office hours and you need to grade their papers or their code and work with them and that already is draining. You probably don't WanNa go and then take care of a bunch of issues and bugs and stuff afterwards that you don't need to. Oh yes L. Freight so yeah so you kind of laid out some of the steps that you and through and it's a little bit of a counter example of what people say you should do to be a really good open source source. Maintain her at all comes back to. Where do you want this thing to lead you to do? You want to create requests of super-popular library or do you WanNa Create Jupiter or do you want WanNa keep this thing interesting and useful while not letting it consume your life right. Yeah and I've definitely chosen. You know sustainability as the most as the highest priority right like I like the saying it's running. It's running well. You know. It could sustain itself but if I try to grow it in any way really you know I I feel like it's a good equilibrium now and if I try to do more stuff it would just just create more work right. Doing more creates more work and such so an and I like her framing of it. Kind of counter example the explicit framing of the article which people can read is that. There's all these best practices that people talk about an open source which I'm sure many people on your podcast talked about building a community being responsive to users having good documentation shen good tutorials just collaborators. That's right inviting collaborators maintaining a a community of users and contributors and such and I basically basically try to turn every one of these best practices and think about the opposite right because my use case is that I don't want to grow this. I want this to keep going by. Don't WanNa you know I do. Think one of the key missing elements or key assumptions is of course I want my open source project to be. The most I widely used in the highest contributed to thing period right and that that may be. But if it's not then maybe that advice no longer applies. Yeah I like that. I like the frame and that's on a related note. This read these blog posts about in the technology world. Rather always more technologies coming about you know you can do coober netease and you can do all east crazy setups and you have all these new cloud engines and all platforms and seven Cigar Framework acing staff and all that right. Yeah and then people were just like all right. You can just chill shell because you're not running facebook or Google twitter you know if you're just starting a minimum viable product or small business of. They just pick something that works. It's fine just build. Your product backed out and and I feel very similar. I don't use all the new technologies I don't you know my tech stack is pretty old and pretty crafty but it kind of works as long as it keeps working and the reasonable. I don't want to like I don't WanNa poke at it all because I don't want to have to deal with anything break Bryant. Well if you're trying to chase the most modern javascript framework think how many times he'd three right right exactly it's it's angular nowhere and you're angry at Angler now so it's view of you went to three and people are upset about something there so now as react react is it goes and goes and goes right so pretty interesting so let me just take you through some of the key points in the article that you talked about some of the steps. You've taken to to help keep this balance that you talked about one that I think we've already hit on a lot. Is You hyper focused on a single use case. Yes so the main use case or the only use cases emulating what a teacher would draw on the board right so I felt like that focus is great because that gets rid of a lot of the scale ability issues right. Because you're like oh I need to run arbitrary code owed and like how do you render a bunch of code and a bunch of stuff and it's like you know the way to use us as think about. What would a teacher draw on the board? If the teacher can't draw on the board you probably can't I understand anyways because you know that's not for the use case and also you know if you have too much. Code of Code is too complex. We are up her hands. And you know we bring you an unsupportive Turks page and really are you know this is really outside the scope with his tools. Oh focus really helps the fee eliminating feature creep right. We already talked about databases e-mail reset passwords accounts. GDP are that kind of stuff right and just saying we just need this really cool diagramming auto diagramming feature. This is what we're gonNA focus on. It's been really successful. And I think that leads pretty naturally into not listening to user requests. Right people ask for accounts or social show gamification or integration with get hub or programmer like auto complete like high charm or visual studio code or an LMS. All these different things people are asking for right. Yeah I mean these are all great ideas if other people want to build them or if if I had a team to build does that'd be great but again it's just there's only me there's no way to. There's no wait to put all those. Yeah they all do fun but they all. It's one of those things where you want to ask you. Just make this small change and let's focus it down not just from a whole oh application but let's just take it into the library right some open source library you got. Could you just add this overload or this default value this function or could you just add one. Other function auctioned does something slightly different. It's probably only three lines to write. Please do that. Why wouldn't you do that? Well because now I gotta go write a bunch of tests and then I've got to go rewrite the documentation Asian and then there was that screen shot that showed the output put his difference. We gotta go regenerate screen shots for all these things and I gotta rewrite the tutorial because now this would be an alternative way and there's just this three lines blows up into a week long experience right as it's super hard to see those knock on effects. Yeah you can have this. Oh our just you talk into yourself like you. You basically said all these things way better than I could write these things. Just just keep piling up and I think that goes with the focus really focused on providing one thing and an anecdote here. Is that you know. I don't have any flexibility. In how the diagrams are. I'm sure you've run into the series like I really wishes was drawn in slightly different ways across and high. Yeah too bad right. 'CAUSE 'cause you know to make flexible there's just a lot a lot more work and in a way you know. I view this tool as because it's pretty stable. I just said you know if as an instructor you WanNa work around at you just basically would explain. This is a tool you know. It works but just be careful that you know this thing. Actually you should point backwards or or whatever and early on I actually..

Coming up next