Open Sourcery – Episode 1 – Juliette Reinders Folmer

February 25, 2021 01:10:16
Open Sourcery – Episode 1 – Juliette Reinders Folmer
The Open Sourcery Podcast
Open Sourcery – Episode 1 – Juliette Reinders Folmer

Feb 25 2021 | 01:10:16

/

Show Notes

Show notes

View Full Transcript

Episode Transcript

Speaker 1 00:00:14 Hello, and welcome to the newly rebranded Open Soul podcast. If you are a listener of my previous show, the WP Hacker cost, you probably wonder why the rebrand? Well, I'm involved in open source outside of WordPress as I'm a web developer and an a Buntu desktop user. So there are many interesting folks in the general open source space that I would love to interview. But with a WordPress focus podcast, it limits who I might consider a guest For 2021, I have decided to open the guest list to folks who drive the open source software movement, the maintainers code contributors document writers, and everyone who puts time into open source software to make it work. For the first episode of this new format, I cheated a little, and that my guest is both a prolific open source contributor and a WordPress contributor. If you've spent any time in the PHP community, you would've seen or heard of Juliet Reiner's Farmer. Juliet has a passion for open source and a wealth of experience in the field. I consider myself lucky to be able to call her a friend and a mentor. We spoke about many things, including her thoughts on the recent pH p h release, so I hope you will enjoy my chat with Juliet. Hey, Juliet, how are you today? Speaker 2 00:01:26 I'm all right. How are you? Nice to see you from you again, Jill. Speaker 1 00:01:30 Yes. You're, if I, if I remember correctly, I think the last time I saw you was before the plague, uh, <laugh> when we could, when we could, when we could still have word caps, <laugh>. Speaker 2 00:01:41 Yeah. I think it was probably word computer in Berlin. Speaker 1 00:01:43 That's, that's right. Yes. Yeah, that, that, that seems like so long ago. Anyway, so I know who you are, um, but there might be some people listening to this podcast who don't know where you dunno who you are. So could you tell us who you are, what you do, and where in this lovely world you are from? Speaker 2 00:01:59 I, I'm still trying to figure out who I am. <laugh>. Uh, let me read you something which I use in my speaker profile, which sort of perfect. Probably tells you enough. I'm a opinionated, passionate, busy buddy with a prolific portfolio of contributions, uh, to higher powerful opensource projects. Uh, and, and the short of it is I'm, I'm self-employed. Uh, I do whatever the heck I please. And a lot of that is contributing to open source where, uh, I feel I can actually make a good contribution, add value, um, and at the same time what the kind of make the kind of contributions I enjoy doing. Speaker 1 00:02:46 Excellent. Excellent. And what part of the world are you from? Speaker 2 00:02:49 I'm from the Netherlands. Excellent. You see the, the bright sky behind you, uh, is the Amsterdam sky <laugh>. Speaker 1 00:02:58 Oh, wow. Lovely. When, when I was, when I was still planning to go to Porto for, for Word Camp Europe last year, um, the flights from South Africa, uh, included an eight hour layover in, in Amsterdam. And so I was, I was really going to sort of reach out to my, my, my friends in Amsterdam and say, Hey, can anybody show me around your city for eight hours? I really would. You would've been Speaker 2 00:03:20 There. Yes, please. Speaker 1 00:03:21 Yeah. And I, and I would've done, and I would've probably thoroughly enjoyed it, but then obviously that didn't happen. So yeah, <laugh>. There you go. Um, the other thing I like to ask my guests, just out of interest's sake, uh, is what are you drinking today? Are you a tea cook person, a coffee person, a alcohol person? What is your favorite drink of choice? Speaker 2 00:03:36 Uh, let, let's put it this way, it's in the middle of the afternoon, so no alcohol yet, <laugh>. Um, it's, I'm a caffeine in person and as I Okay. As coffee is too bitter it, I'm using Diet Coke for my coffee. Okay. Excellent. Speaker 1 00:03:53 Excellent, excellent. Yeah, I'm a, I'm a bit of a coffee nut myself. Um, I've, I've had to slow down a bit because sometimes I drink until about four, five in the afternoon, and then I can't sleep properly. <laugh>, Speaker 2 00:04:02 That does I, that doesn't bother me whatsoever, Speaker 1 00:04:05 Doesn't it? Speaker 2 00:04:07 The very last moment before I go to sleep. Speaker 1 00:04:10 Wow. I wish I could do that. <laugh>. Cool. So I know you as, as you mentioned, an opinionated, uh, prolific open source contributor. Um, I'd like to talk to you a little bit about your open source history, but before I do that, I'd like to ask you this question. You mentioned in your introduction that you are self-employed. Have you always been self-employed or was there a time where you used to work for companies and then you switched? Speaker 2 00:04:34 Uh, when I first graduated, I became employed by a company, oh God, this is long time, long time ago. Uh, very small company, which basically, uh, placed people at other companies. Speaker 1 00:04:50 Okay. Speaker 2 00:04:50 Um, we call it detachment agency, but I don't think that translates well. Um, and they turned out to be a daughter company of one of the biggest IT companies in the world, and quite soon they decided, uh, that they didn't want daughter companies anymore. So they integrated and I worked there for about seven years. Speaker 1 00:05:12 Oh, wow. Speaker 2 00:05:14 So, uh, and, Speaker 1 00:05:15 And, and so what, what caused the trans the transition from working for a company to working for yourself? Speaker 2 00:05:25 More than anything, I became self-employed for the freedom. Speaker 1 00:05:30 Okay. Speaker 2 00:05:31 Uh, the freedom. I mean, the, I, I have no bad feelings towards that company at all. I mean, they gave me amazing opportunities. And because it was such a large company, if you wanted to, to switch careers to do something completely different, you just went to a different department. Nice. So that was quite amazing. Um, but there were other things like, you know, the infighting you sometimes have between different departments, uh, the, the, the internal competition Mm. Which I did not like, uh, and Okay. And the politics around that, which I just didn't really wanna deal with. Then again, I mean, open source is not much different. <laugh>, Speaker 1 00:06:12 <laugh>, but at, at least with open source politics, you're not getting paid by it. So you can step away if you need to. <laugh> Speaker 2 00:06:18 Yeah. I can decide this is not worth my time or my energy. And, and the freedom to be able to decide that is, is a big part of why I enjoy being a, a self-employed. Hmm. Um, absolutely. So, yeah. Speaker 1 00:06:31 Absolutely. And tell me, um, this one is one that I've, I've never actually asked you, and it kind of leads into our open source section as well, but have you always been a PHB developer or had you come from other languages and ended up in phb? Speaker 2 00:06:45 Oh, to be quite fair, I'm, I'm a business major. Speaker 1 00:06:49 Okay. <laugh>, Speaker 2 00:06:52 Uh, I studied international business, uh, and Okay. Self-taught phb, uh, developer, um, yeah, I have dabbled in other languages. Um, one of the first sites I built was for a nonprofits organization, and we used ssi. I dunno whether you remember that. Speaker 1 00:07:18 I, I've never worked with it, but I do know I've heard about it. Let's put it that way. <laugh>. Yeah. Speaker 2 00:07:22 We, it's basically a way where you can, in using surfer sites, technology, but basic apache default technology where include one follow into another. Hmm. Uh, and obviously once you wanted to do slightly more, uh, complex things like having, uh, you could do the header and the footer, uh, include those surface height includes, uh, but then if you wanted to change the title and have that different for every page that was getting more complex. Nice. So at some point you then needed something else. So I started, uh, doing that with JavaScript. Okay. Which did actually work. <laugh>, uh, learned, uh, css. Um, and at some point realized I need more. Speaker 1 00:08:12 Okay. Speaker 2 00:08:13 Um, doubled a little bit in Pearl, uh, but very soon, very quickly, uh, settled on php. Speaker 1 00:08:21 Okay. Excellent. And so you settled on php. You, you've obviously got this, this wide range of contributions to opensource, opensource projects. Can you remember what your first contribution was to opensource? Speaker 2 00:08:36 Oh gosh. I was afraid you were gonna ask me something like that. <laugh>. Uh, I don't rightfully remember, but most likely, and I'm guessing here. Speaker 1 00:08:47 Okay. It was Speaker 2 00:08:48 Probably a translation of one of the Firefox, uh, uh, add-ons. Speaker 1 00:08:53 Okay. Speaker 2 00:08:54 Something like that. I mean, the, I, I started like most open source contributors with low level contributions, which are valuable, all the same. Uh, absolutely. Translating, uh, Firefox add-on or, um, and at some point I'd, I'd started doing some things on search for, which was, you know, before GitHub. Um, uh, yeah, I don't fully remember, but it will be something like that. Speaker 1 00:09:22 Okay. No, fair enough. Um, yeah, I I I find it interesting you say Source Forge before GitHub. I'm sure there are many people today listening to this podcast going, there was something before GitHub. Yes. So, so I know you, um, I met you, or at least I, I got to know you through my involvement in the WordPress community, but I I also know that you're not just a contributor to the WordPress community, you're a contributor to the wider PHP community. Um, would you say that if you had to look at your open source contributions, they are heavily, um, sort of swaying to, to the WordPress world? Or do you feel like you have a good 50 50 balance of whatever you're involved in outside of WordPress? Speaker 2 00:10:06 Realistically? It's funny. People perceive me differently. People who are largely from the PHP community think I'm, you know, a 40 for WordPress. Hmm. People within the WordPress community see me as the PHP person. Speaker 1 00:10:22 Right. Speaker 2 00:10:23 So the, it it's largely a case of perception. Um, if I look at what I contribute to, I do more than anything. Um, mo most of my contributions are in the PHP fields. And if I look at the WordPress part of that, I see, I think I see myself more as someone who works in the periphery. Okay. I will get certain things set up so WordPress can progress, right. Where I will push certain topics within the WordPress community, like, you know, someone behind the scenes pressing some buttons and getting a lot of peoples to, to then actually action it <laugh>. Mm-hmm. I, I'm not the one who will carry a torch and, and, and see something within the WordPress project, uh, through, from beginning to the end. Well, I, I will in some cases, but that, that's not my, my role really, more than anything. I'm Yeah. Trying to inform people enough so that they can take the, the actions which are needed. Speaker 1 00:11:49 Hmm. Hmm. I'm, I'm, I'm very interested in the fact that you've said that because I first met you, uh, when you were leading the WordPress coding standards table at Word Camp Europe in Belgrade. Okay. Um, and I, I, I, you probably don't remember this conversation cause I'm sure you've had many conversations like this. I obviously do. I remember saying to you, oh, well, I didn't realize there was a coding standards team, and you said to me, yes. And here we are, <laugh>. Um, and, and that is how I know you, I know you as somebody, and, and this might be the terminology that you were staying away from, but I'm gonna go ahead and say it almost behind the scenes controlling people, but definitely controlling. No, Speaker 2 00:12:30 No, definitely not controlling. Definitely. Speaker 1 00:12:32 Yeah. But definitely not controlling. But you, you, you, you help and guide and steer, but you're never the kind of person to be at the forefront of something, um, the, the face of something. Um, so what we're gonna discuss a bit later, I think is probably quite an interesting position for you right now, where you almost become the face of something, which we'll talk about in a second. It, it must be quite, quite interesting for you. And, and let's talk, let's not talk about that now. Cause we will get there. Um, but I know you as a person who is not, um, massively out, not outspoken is probably the wrong word, but you're not, you're not standing up in front saying, Hey, we should all do this. You're in, you're, you're behind the scenes guiding and helping and mentoring. Um, my second interaction with, with you was when I was, um, learning about how to do, uh, auto loading and how to do auto loading and plugins, and, and you and I had a conversation in Slack, and I, and I, I just asked the question about something, and you came in and you gave me your advice. Speaker 1 00:13:30 Um, and based on that, I went and, and did something. But again, you were not the kind of person who was promoting Autoloading to the world. You were just there to offer some guidance and to offer some help. Um, do you think that that's something, some Speaker 2 00:13:42 Misconceptions about it, Speaker 1 00:13:44 Ex Exactly. Exactly. And and do you think that's something that is who you are naturally as a human being, um, and that's why you are that way? Or is it something that you've learned over time? Speaker 2 00:13:53 Probably more something I learned over time. Um, more than anything. For me, it's a case of making choices. How do I want to spend my energy? And if I can see certain things are gonna be a long process of lobbying a lot of people and, and, um, really, um, doing all the political work, I might choose to not be the one to be at the forefront of something. Mm-hmm. But, and make sure that the, the people who do wanna be at the forefront of it have the right information to be able to carry it. Mm. So I very much choose where my energy is best spent. And, and that's by far not always in those kind of processes, uh, which are heavily political. Speaker 1 00:14:51 Right, right. So, before we get into that kind of conversation, the last thing I just wanna ask you very quickly, um, in terms of your open source history, and I'm going to apologize for all the other projects that you're involved in for me asking this question. But what is your favorite open source project that you are currently an active contributor to? Speaker 2 00:15:11 I don't have a favorite one. Speaker 1 00:15:13 Okay. Speaker 2 00:15:14 I mean, um, no, I, if I had a favorite one all my time would go into that one. Uh, Speaker 1 00:15:22 Fair enough. Speaker 2 00:15:24 Basically, I do what I, and with my open source contributions, I do things which I enjoy doing mm-hmm. <affirmative>. Um, and as soon as I get bored, I will move on to the next project, which will, you know, uh, keep me my attention occupied again. And which will keep me interested again if Okay. My attentions are welcome there, and if not, I'll find something else. Speaker 1 00:15:47 Okay. Excellent. That's, that's good to know. Speaker 2 00:15:49 Yeah, it, uh, there's no favorite. Um, if you look at where I spent the majority of my time, probably it's in the PHP code sniffer sphere, but that's mm-hmm. <affirmative>, not just p php, coach Sniffer, it's P Coach Sniffer, php, C stil, phpc, s extra P, uh, PHP compatibility, WordPress Coding Standards, and other standards, which are company specific, which, uh, I get hired for to, to actually help at. Excellent. So, yeah. Um, Speaker 1 00:16:27 No, it's the, there's no wrong answer there. Um, it's almost a trick question from my part. Um, I didn't expect you to have one. It's just interesting to know. Um, so I'm glad you mentioned all of those packages though, because they do lead onto to our, our next sort of topic of discussion. Um, for those of you who don't know, Juliet posted a, a blog post on the 24 days in December website recently titled A Perfect Storm in which she details some of the experiences that she had, um, as an open source maintainer, and how the, the latest version of PHP eight affected that world. Um, I'm going to link to the article in the show notes. I do recommend you taking it, taking a read at it. I happen to also be one of the people who, um, organizes the 24 days in December website with Andreas. And, and, um, can't remember Chap's name right now. Do you apologize to him? Ooh. So I, I was able to see some of the, uh, activity around this. And Juliet's Post definitely was the one that was online on social media the most. Um, Speaker 2 00:17:27 I did recent Speaker 1 00:17:28 Realize Speaker 2 00:17:28 When I wrote it, uh, I, I was taking a stamp there and, and I do, it's could be perceived as very controversial. I was very careful how I worded things cuz I, it wasn't intended to offend specific people or to attack specific people. It, but I did think it was a statement which needed to be made. And both on social media as well as privately, I've had a lot of comments from people saying that was daring. Thank you for saying it. It had to be said, and I'm glad you did it. Hmm. A lot of open source maintainers who've reached out to me privately also to say this. Mm-hmm. Which, uh, I think is telling Speaker 1 00:18:13 Mm-hmm. <affirmative>. Absolutely. So the crux, I, I'm obviously not gonna read the whole, the whole blog post here, and correct me if I'm wrong, but the, the crux of the, of the post was your experiences of almost the breaking changes that pH p h Corps, um, and, and how that affected the projects you work on. How it affected the people maintaining those projects. Um, almost sort of the state of P H P development right now in terms of how it's moving to a almost, uh, one way of doing things, whereas previously it used to be you could do things any anyway you wanted to almost. Um, and so you, you say, you know, you, you thought about how you drafted this, you thought about how you put it out there. I'm sure you knew that you would get positive and negative feedback around it. Um, do you, do you I'm Speaker 2 00:19:00 Surprised to be honest, how little negative feedback I've gotten. Speaker 1 00:19:04 Really? Yes. Okay. Okay. That's, that's very interesting. So positive. The first question. That's, that's excellent. The first question I wanted to ask you there then is, and, and this I'm gonna preface by saying this is Juliet's opinion. So, so I will allow her to edit any part of this that she wants to, um, in your opinion, based on the current PHP release cycle and, and based on what you wrote in the article, let's, let's boil it down to what do you feel could be improved with the next version of the php? Speaker 2 00:19:38 More than anything, one of the things I'd really like to say is the voices of big users of php, as in, uh, big projects which use PHP will are not c developers, to also be heard, to have a voice in, uh, the RFCs in the actual internals of PHP and be heard and not be dismissed straight away. Oh, but you're still sporting PHP five six, so drop that and your problem is solved. Cause it's not true. The problem isn't solved by dropping five six. Hmm. Um, but having those voices heard and and taken seriously would be interesting and would be helpful, I think. Speaker 1 00:20:26 Mm-hmm. Mm-hmm. Okay. So I, I kind of, based on our conversations before this podcast, based on me knowing you, based on other conversations I've seen you having, I've been thinking about this myself. Um, I, just to give the listeners a little bit of my background, I only discovered the concept of open source communities when I joined, as it were, the WordPress community. And I have since discovered the wider PHP community. Um, and I have had interesting conversations with many, many people. And I was thinking about are there be, before we, let's, let's, let's put aside, um, the process. Are there things that we could be doing better, physical tooling or structure? Um, I'll give an example. I know for a fact that there is a WordPress community Slack instance, and I can join that instance and I can join different teams there and I can ask questions. I don't know if such a thing exists for the PHP community. Speaker 2 00:21:29 It's called PHP Internals and it's a mailing list. Speaker 1 00:21:32 And it's a mailing list. Yep. Now, in your opinion, do you think that we could add more things? Do you think adding more ways of get, getting feedback would help? Or is it perhaps the way that we gather and listen to feedback? Speaker 2 00:21:48 I don't think the tooling is the problem. Okay. I think more than anything that there is a disconnect between the PHP community and communities like WordPress, where we're the majority of WordPress developers have very little awareness of what's going on in the PHP compute community until there is a release and then they lead, uh, might lead the migration guide, if at all. Mm-hmm. <affirmative>, um, and the communities like the WordPress community basically need to start stepping up. They need, need step up and, and get involved with PHP internals where not just be, you know, we will take whatever has thrown at does, but we want to be involved and, and take part in it. And internals, PHP internals has a bad reputation. It's nowhere near as bad as it used to be. But again, from, if I look at it from my personal point of view, I choose very carefully how I wanna spend my time. Speaker 2 00:22:54 And, and I've so far chosen not to spend it there because, uh, I kind of feel I would probably get too frustrated and, and in that case, my energy is better spent elsewhere. Mm-hmm. <affirmative> mm-hmm. <affirmative>. But there might be, fair enough, people will have less, uh, uh, have different frustration thresholds. We would be better suited to have that conversation, and I would very much like to hear from them. I would very much like to help them, enable them to get involved with PHP internals. Cause I do think our voice need to be heard. And I do think the only way we can get that to happen is by speaking up and by getting involved. Mm-hmm. <affirmative>. Speaker 1 00:23:39 Interesting. So I'm going to, to share an opinion that I have with you. Um, I've had the opportunity to interview, um, folks from, from, uh, the United States, Canada, those sort of, you know, the western world, if you will. I've also had the, uh, opportunity to interview folks from Europe, folks like yourself, folks like Ilan. Um, and I actually asked Ilan the same question I said to him, uh, when I interviewed him for the podcast, I said, I, I get the sense as a South African, I get the sense that the, the sort of the u the, the Western sort of US America, Canada, um, that side of the world developers, contributors, they tend to have a very, um, what's the word I'm looking for? Um, get it done mentality. Whereas the European developers and, and, and folks that are involved tend to have a bit more of a, and he, I think he used the term academic mentality. Speaker 1 00:24:35 So a little bit, a little bit more thoughtful about what happens in the way, the way things are done. Um, and so the, the point that I'm trying to get to is, is that do you think that the people who are, are sort of getting involved in, in these kind of things, or should be getting involved in these kind of things, um, are not doing it because they don't think in the same way? Do you think that there is a almost a, if we look at, if we look at WordPress as an example, WordPress, in my opinion at least, is kind of very US-centric. It's getting better over time, but it is still very kind of US-centric. And so they don't think about the academic side of what's happening in php, um, and, and, and making sure they're, they're keeping up to date with their things, or do you think it's just a case of ahk worry about it when we get there? Speaker 2 00:25:33 I'm, to be quite fair, I'm not a hundred percent sure what you're asking me. Okay. Is this about the WordPress community? Is this about the PHP community? Is this Well, Speaker 1 00:25:42 It's about, it's about what you were saying about as a, almost as a WordPress community or as Aple community or as a LAAL community, we should be getting more involved in what PHP is doing is, is what you were saying earlier, right? Yeah. Are we not, my question is why are we not doing that? Um, what, what should we be changing? What should we be improving? Or is it just a case of people just taking the time to see what's going on? Speaker 2 00:26:08 Uh, uh, it's is a case on the one hand of people having the interest, uh, having the know-how to have constructive conversations in those channels. Um, I honestly don't think it's a cultural thing. Okay. Um, no, the, I mean, the open source community is a global community both in the page piece square as well as the WordPress variant. And, and you are saying that WordPress is heavily America centric? I don't necessarily identify with that. Uh, okay. If you even look at the word comp, word comp Europe has been bigger than Word comp US for years. Right. So I'm not sure that it's a cultural thing. Uh, I'll think more than anything that look okay. And, and there were, we need to step back a couple of steps. If I look at the WordPress community, I see a lot of people who've come from, okay, I have my own side now I want something to do mm-hmm. Speaker 2 00:27:16 <affirmative> to be slightly different. Mm-hmm. <affirmative>, um, now, okay. So they look at Stack Overflow or whatever other site and find a little snippet mm-hmm. <affirmative>, they add it to the function file of the team mm-hmm. <affirmative> and, you know, two fast forward two years. And at some point they're like, okay, I want to do some more. And, and they build a tiny plugin. Right. Um, or they build their own team. Um hmm. And they slowly grow into the WordPress community that way and start contributing in different ways. Right. But that a large part, and I'm not saying all, but definitely a large part of the WordPress community, the way I see it comes from site owners would want to do more, uh, and will have very little, or if any at all knowledge of php they learned by doing, uh, from based within the WordPress structure. Speaker 2 00:28:21 Quite fair, the WordPress coat isn't that great. It works. Right. Which makes it great. Right. And is running in millions of sides, which makes it great. But if you look at the, the coat itself, some of it, uh, yeah. Could definitely be looked at again. Um, the, the, if you look at it from an architectural point of view, uh, it can do with some large defectors, uh, but don't touch it when it's not broken is also a mantra in it. And yeah. I mean, it, it is a legacy project. It's a project which has grown from humble beginnings to the, the massive player it is now. And, and you can see that in the code. And there's definitely a high quality code there as well. Absolutely. So it, it's, but the quality is different. And the way of writing WordPress code for plugins and team, if people are educated in PHP with that as a basis, they have got the best branch work to actually understand php. Speaker 2 00:29:31 So a lot of them, for the, for a lot of people, uh, PHP is, yeah. Outside of their scope, in some ways, it's, um, something they're not a hundred percent comfortable with. Mm-hmm. And there's very few people, um, and there definitely are people, but there's very few people who've come from PHP to WordPress who actually new PHP and new in debt before they ever touched WordPress and would know about good best practices wouldn't, will actually understand PHP in a way that they, they also have the interest to, to keep up with what PHP is doing. And, and I understand from a WordPress point of view why a lot of people are not interested in what PHP is doing, because let's be fair with a minimum of PHP five six, we will not, will not be able to use all those kni new goodies for years come. So it, it, they, there's not much benefit for a lot of people in the WordPress community to keep up with what BHP is doing because they don't benefit from it in their code. They can't use it. Mm-hmm. So I understand the, there's a, the gap there. Mm-hmm. Um, but that doesn't mean we shouldn't try. Speaker 1 00:30:54 Right, right. I think, I think now I'm understanding better, you, you had a conversation with somebody on Twitter recently where you were talking about, um, the, the premise of this person's article was that the majority of P H P people who are affected by this are PHP developers. And that, and that assumption you believe is wrong. And now I'm understanding what you're saying. So, well, Speaker 2 00:31:14 That's the, let me get back to that. Cuz the, what I meant by that is, if you look at, if you look, look at the stats, 80% of the web runs on WordPress, although, sorry, runs from php, 50% of that is WordPress. Speaker 1 00:31:27 WordPress, yeah. Speaker 2 00:31:28 And, and I think probably not even 1% of the WordPress users are involved with development of WordPress. Mm-hmm. Mm-hmm. So I'm talking about those 99% of users will go to C panel, press the install WordPress button and have their WordPress signed up, add a few plugins, and add a team, have, have no clue that it runs on php. Speaker 1 00:31:54 Right. Right. And Speaker 2 00:31:55 That's not even, that's not the contributors to WordPress. Most contributors to the WordPress do know, it runs on PHP and, and, uh, are at least aware of what PHP is. I'm talking about the end users, which for, for whom it often is really, really hard to know how to upgrade their PHP version. Yes. And I know the WordPress project has put a lot of effort into getting people to upgrade the secure versions to maintain versions. And they've been really successful. It's, it's a slow part. Mm. Uh, but they really have put a lot of work into that, which I, I totally admire and I really respect, uh, the WordPress community for doing that. But that is needed because people don't even know they're running on php. And if you run on a managed, uh, host at PHP of a WordPress version, that's not a problem either, cuz your host will sort it out, except if you have bought some hosting without any knowledge of what you're doing, and just press the install WordPress and you won't know what HP version you're on, let alone whether you need to upgrade or how to do. Speaker 2 00:33:06 Mm-hmm. And, and that is the majority of word reviews. I mean yes, of course there's big companies which have agencies running things, et cetera, et cetera, and that's also a part of the WordPress community. But there's also a large part, which our end users will have no clue what PHP is. And that's what I was talking about in that re remark, because WordPress is still 50% of the user base of, of php and of the WordPress user base, let's be generous and say 20%, um, say 40% actually knows what PHP is. Mm. But that still leaves 60% from who says, okay. I, I may have heard the term, but it, it, it's too difficult and too scary for me. Mm. And, and then I'd like to refer actually to the article I wrote on Make WordPress, where I proposed a fixed rolling schedule for php uh, uh, drops. Speaker 2 00:34:03 Um, where I compared it with the car surface, I actually just picked my car up from the garage. It's just been surfaced. When you have a car, you can either say, okay, I'm technical enough, I can maintain it myself, you know, I can do the car surface myself, uh, and tinkering tinker away. That's fine. Or you can say, okay, I don't know that, but I want to learn. And you go and to a course and learn how to maintain a car. Hmm. If you don't wanna do that, you go to a garage and get them to surface it once a year. Yeah. And if even that is too much for you, you instead buy of a rent a lease car where the lease company takes care of all of that for you. Right. But it happens, turns out where the website, if you are a WordPress user, you have your own website on WordPress, you can either say, okay, I'm technical, I can update, do the updates myself, I can make sure that it's on the right PHP version, et cetera, et cetera. Speaker 2 00:35:10 You can, uh, say, okay, I don't know that, but I wanna learn. And you can learn, or you go to a professional vent half, uh, half a day and get them to do it once a year or once every, uh, three years for you and get the site up to date. Again, you can rent an agency to do it on a regular basis, or you can use Managed ho uh, hosting where the host will do a lot of this for you. But don't tell me that the reason that they don't know PHP is a good enough reason not for WordPress not to update the minimum, uh, PHP version. Mm-hmm. <affirmative>, I mean, we're still rolling out security updates all the way back to, what is it, 3.7. So it, cause if relieving those users insecure, it just means they won't be able to use the new features. If they want the new features, well then they need to either learn or spend some money to actually get it updated. I mean, it's no different than anything else. Speaker 1 00:36:16 Mm-hmm. Mm-hmm. So, so what I'm, what I'm hearing is that there, there are, there are, if we look, if we look just at WordPress, because that is the community that we're both involved in. Um, but I could, I could, I could include the Ruple community, the Magenta community, any other M lab application. Yeah. Mla, any, anything else written in P H P. So let's call it the, the ancillary communities and let's call it the core PHP community. I almost feel like you're saying quantum Speaker 2 00:36:46 Management systems, uh, the, the communities, Speaker 1 00:36:50 Both parties need to do some work. Yeah. Um, the content management system communities need to do some work. The PHP community needs to do some work. In your opinion, let's start with the content management slash framework slash whatever communities. What should they be doing to, to prevent this kind of perfect storm from happening in future? What, what kinds of things should we be putting in place? What let's, let's make it even closer to home. What should I, as a plug-in maintainer, um, as a member of the WordPress community and acts of contributor to the WordPress community and somebody who likes to contribute to the PHP community and, and, and what is the way I can do, what should I be doing to prevent this from happening in the future? Speaker 2 00:37:35 Well, I'd like to very much invite you to, uh, join an idea I've been playing with to get set up a working group of people from c uh, various CMSs, including WordPress. Okay. To regularly go, uh, you know, meet, say every two weeks, keep an eye on internals, uh, PHB internals, discuss with it that, uh, group, hang on. Is this something which will impact our frameworks? And if not, okay. Uh, you know, let's move on. If it is, boom, which person of our working group is gonna spearhead this discussion and gonna vocalize our concerns about what's happening now in pt? Right. And, and get people from that working group to speak up about different subjects. Speaker 1 00:38:28 Right. Right. So that would, that would entail reaching out to the Jum, the drs you know, uh, typo three, all of those communities and, and forming, as you say, some kind of working group with representatives in all of those, those communities and getting them involved. Right. So, so you, you've given me an idea of what, what the community should be doing. What should the core PHP community, in your opinion, be doing differently? Um, how, how should they look at this, this perfect storm and go, well, what can we improve to help prevent this from happening in future? Speaker 2 00:39:04 Well, one thing would be, uh, and now I'm gonna be controversial. Speaker 1 00:39:12 Okay. Speaker 2 00:39:13 I have honest backward compatibility impacts analysis in RFPs. Okay. Speaker 1 00:39:23 Okay. Speaker 2 00:39:24 Because if you look at the RFC for the stricter engine, uh, warnings, which basically made of a turn strict mode on for all the PHP internal functions, whether you want it or not, the actual impact statement there is this will impact PHP core, uh, PHP itself more because we have to adjust our tests. Speaker 1 00:39:46 Hmm. Speaker 2 00:39:48 It, it, it will be very rare for this to have any impact on user land. The, the fact of the matter is it has a huge impact on user land. Cuz user land is, was used to PHP being a loose type language and juggling. And if you combine that particular change, which PHP eight, adding lots of type declarations to functions, which didn't have them before changing, uh, return types and, uh, and, and changing sometimes the, the parameter types of, of PHP internal functions, all of those now go from not even a warning or a notice to fatal error in one go. Speaker 1 00:40:30 Right. Speaker 2 00:40:32 That is part, that is specifically what I was am talking about with the perfect storm. And that is something which was completely not addressed and not, uh, even mentioned in the impact statements, uh, of the rfc. And, and I think that had been known in advance, the voting might have been different. Speaker 1 00:40:57 Right. Speaker 1 00:41:00 So, okay. So I'm going to, I'm going to preface this question with a, I am not here to try and point fingers at anybody. Um, I am very much a, why can't we all just get along kind of guy. Um, my, my contribution to 24 days of December last year was along those lines. Um, I am one of those people that you've mentioned earlier. I was a PHP developer, not maybe an amazing one, but that was my, my designation. So I literally just worked in PHP before I even discovered WordPress development. So I feel like I have a better understanding of the kind of things you're talking about. Um, and, and I found in joining the WordPress community, I discovered that almost, um, derision of the fact that I now called myself a WordPress developer. I wasn't hardcore enough anymore, or whatever you want to call it. Speaker 1 00:41:57 Um, the point, the, the question that I'm leading to is, or at least before I ask the question, the the point that I'm trying to make is I'm not here today to ask you this question, to try and say, these people were wrong. They were, you know, evil. They were doing nasty things. I'm just trying to help us as a community improve. I noticed for the first time since I joined the WordPress community and started following people on Twitter and following people who were involved in these things, I noticed quite a lot of discussion around some of these RFCs leading up to p h eight, quite a bit of, um, back and forth positive and negative. I know Derek was getting involved. Um, I think Andreas made some comments. Um, and it seemed to me like this conversation that you and I are having now. We're almost the, and peace, excuse this phrase, the old guard. Uh, the folks that have been around for a while, the folks that have been doing this for a while had some reservations about what was happening. Is there, is there almost a disconnect between the people who are driving PHP forward, um, and the rest of what's happening in PHP land? Because the people driving PHP forward to me, at least this is my opinion, seem to be maybe a bit younger, and therefore they haven't had to deal with the PHP fours and fives of the world. So they, they, they almost live in a perfect world where they don't have to worry about too far backwards compatibility, or am I just talking out of the hole in my head? Yeah, Speaker 2 00:43:28 No, I think you have a point. Uh, but I don't think that's the only thing. Uh, I do think it's part of it. Okay. Um, I do think that there, I mean, and, and it's not surprising. I mean, let's be fair, PHP core is written in c the people who contribute to PHP core in general are c developers to not PHP developers. Speaker 1 00:43:52 Right. Speaker 2 00:43:53 And, and that makes Nat for a natural disconnect. Right. And, um, yeah, I do think it would be helpful to have more voices from a big open source projects heard because of, you know, they, they actually work with P P F every day. And, and some of the developers and, and people who are voting right in, uh, P H P Core actually do work with p php every day, but not everyone. And the, I think the people who are, who identify as a C developer, um, rather than a PHP developer, probably might have more, more of a struggle in gouging what the impact of a proposal is Hmm. When they make it, instead of the people will actually come from usual and php. Speaker 1 00:44:58 Mm-hmm. Mm-hmm. Speaker 2 00:45:00 And I, and I don't blame them. I, I don't think that, I think it's very logical that that's happening. I do think it would, might be a good idea to maybe couple people with a mentor, uh, who has got more usual on PHP experience. Speaker 1 00:45:19 Mm-hmm. <affirmative>, that's, that's interesting. Then would you, would you say that, and this is difficult for me to even answer because I haven't been following PHP development for much time at all, and and you might have a better understanding here, you might not, I'm just asking, but do you feel like the people who used to be those voices, um, have since moved on and that's why those voices aren't there anymore? Speaker 2 00:45:43 Partially. Speaker 1 00:45:45 Okay. Speaker 2 00:45:46 Partially, um, not completely. Um, but yeah, different phases of life, different priorities. Mm. Um, but also, yeah, people changing standing in the community at some point based on how active they are. I don't know. Mm-hmm. Speaker 1 00:46:09 <affirmative>. Mm-hmm. So the next question is kind of related to your blog post. We've mentioned that there's been some, some discussion around it. I saw a lot of the positive and, and, and I did see a lot of positive retweets with comments. Um, you know, uh, agreeing with what you were saying, um, I saw the other day, uh, Z Zuki one of the original developers of php, he's now C T O s Strat, I think it is. Yeah. Um, he retweeted it with, with similar, this this should not have happened, kind of comments. Um, there also has been some, you know, you guys need to, uh, the one comment I saw was just tell people to use the older version. Okay. That's a whole discussion. We won't get into that now. Uh, Speaker 2 00:46:47 Be quite fair. I mean, and, and I've, I've said this yesterday at the php CCC online conference as well. Mm-hmm. <affirmative>, even if you wrote a project for PHP seven four minimum Hmm. With strict mode on, you will still run against, uh, into the same problems as I've been outlining. This is not about changing the minimum version of a project, minimum PHP version. Even with PHP 74 with strict mode on, you would still go from perfectly working code to fatal error in PHP eight for certain things. So this, Speaker 1 00:47:22 You're already answering my, you're already answering my next question, but that's great <laugh>. Um, so No, no, that's fine. That was the question that I was gonna ask, but I had a follow up. Do you think based on that, that your, your article has sparked, and I mean, it's definitely sparked this conversation. It sparked your talk yesterday at p h pcc, which I dunno if they're publishing it live, but I will link through at least to the conference on, on the show notes Speaker 2 00:47:44 You for that, uh, a few months, uh, before the article already, but Speaker 1 00:47:48 Oh, oh. But it was a perfect opportunity, um, <laugh>. But do you think that that's gonna, do you think that's going to create enough of interest from the right kind of people to prevent this again, or at least to help this be better next time? Or do you think that there's more that we should do to get the word out? Speaker 2 00:48:08 Well, just me speaking out is not enough. Hmm. I do think I've managed to get a number of people thinking about it more than they ever had before, probably. Okay. Uh, and that I've managed to, for some people, create an understanding of the point I'm making, which they didn't have before. Um, so I do think it, it's helping, but it's not enough to make a, a change. Um, but the fact that this has now been pointed out, the fact that PHP eight has been released with these things without a way to turn them off, um, is caused for, for concern. Not just by me, though. I've been one of the most focal people about it. Um, I think the fact that I've been focal has hopefully triggered enough people to realize, okay, we do need to change something here. And, um, we need to speak up more from, uh, a usual answer perspective. So the, what we mentioned before, you know, the, the idea of possibly forming a working group within various CMSs to get more involved, get more, uh, focal in, uh, PHP internals, I think is one of the things which came out of this. And I would really hope that that becomes reality. Uh, and I'm, I'm very happy for people to reach out to me if they wanna be part of it. I, I'm very happy to get it started after that. I would very much also like to step out again, Speaker 1 00:49:59 As we said earlier in the background, helping, guiding, but not the one running the show. <laugh>. Yes. Thank Speaker 2 00:50:04 You. Speaker 1 00:50:05 Absolutely. Um, awesome. So from my point of view, I feel like we have discussed this topic now. Um, is there anything else around this topic that you would like to mention or discuss, uh, before we sort of move on to the, the last bit of this, of this, uh, interview? Speaker 2 00:50:22 Well, more than anything, I would really, really, really like to tell anyone listening who manages a PHP project, whether it's open source or closed source, doesn't matter. Please, before you move on to PHP eight, make sure you have tests in place, unit tests, integration tests, make sure you have, test with high code coverage, as in testing all the different parts. Make sure the unhappy part is tested and make sure you use strict assertions and then test on PHP eight, because this change to PHP eight really can break a lot of things. So be careful and, and, and be warned. Uh, and, and, and doesn't, I mean, for projects with high code coverage, it's, it's a relatively easy change because the test will point out all the problems, but without tests, it's really hard. Cause most of these changes cannot be detected by static analysis. And I'm saying that as the main alter, uh, currently of PHP compatibility. Speaker 2 00:51:33 So we can detect a lot, really a lot, but we do not have access to runtime type or value or variables. And all of this is to do with runtime type and, and, and failure of variables. So something like PHP compatibility will not be able to detect this properly. Something like PHP stand again, will not be able to detect this properly. They will, uh, they will guesstimate, but, you know, you might get a report with a thousandth issues out of which there are 950 false positives. Hmm. Because we, we, again, static analysis tools doesn't ha have access to this. The only real way to guarantee your own, uh, projects, pH p a compatibility is to have tests. And that does mean that, you know, all that technical depth which is built up in projects, is gonna have to be addressed now. And, and that's painful. Speaker 2 00:52:36 And, and, and it's also painful to have that conversation with a business manager saying, look, yeah, I know you, you have always said we need to prioritize other things, but if you wanna change to PHB eight, we now need to prioritize this. Hmm. And, and, and it's something for which you will not see any effects until something goes wrong, which, you know, which will probably hurt you even more because it won't get into the code base, because the test will actually prevent it from getting into the code base being incorrect. Mm-hmm. So it's a hard sell, uh, to business owners. It's a, but yeah, that technical depth is really, should really be number one priority if you wanna start using p p eights. Speaker 1 00:53:27 Hmm. Absolutely. No, I'm glad, I'm glad you raised that. I, I kind of discovered that myself, uh, a few years ago when I made a commitment to learn how to test properly and how to, you know, sort of figure that all out. And, and one of the things that I discovered that I actually wrote about, and I refer to whenever I talk about testing, is what I call the adding test to a legacy code-based conundrum, where you sit down and you go, right, I want to build a new feature. Okay, but before I build the new feature, does the current feature have tests? No, it doesn't. Okay, now I need to write test. Oh, wow. Now I need to think about this happy path and all of these sad bots. Oh wow. Now I have to write the test. And then by the time you've done all of that, it's three days later and you haven't even started the feature and the feature was gonna take you a day. Um, and, and that's the reality of it. Uh, and so it's Speaker 2 00:54:09 No, and on top of that, you sometimes you look at the, the code which doesn't have tests, you're like, what were the, what was actually the intention of the code? Mm-hmm. <affirmative>. And I mean, uh, the funny anecdote, which I am allowed to, to mention, uh, a customer of mine wanted to start adding tests to legacy code base, which didn't have any test. Mm-hmm. <affirmative>. And we, we'd already cleaned up, uh, the code staff, the code base, cuz that was a mess bef, uh, before as well. Uh, and while doing that, I spotted, uh, a standalone function, which was beautiful, as in beautifully standalone, a beautiful example to, to start adding the tests mm-hmm. <affirmative>. Um, it was a painful afternoon for my customer because Right. We started adding tests, uh, and, and at first he used, he tried to use his own code invol to generate the test data. That was like the, yet no, let's not <laugh> Speaker 1 00:55:13 Do it Speaker 2 00:55:13 Manual report or use someone else's tool, but do not use your own code. Okay. So that was the first trap. Uh, then once the test data was there, the test obviously didn't pass. And then I added some more test cases, which I knew would fill. And again, obviously they didn't pass. We just by adding TE test to that particular, you know, well, originally it was a probably 40 line function in the end, after we added the test and deuced it, it was a five line function, um, which taken so many bucks out. Wow. So the value of having tests is really there. Mm-hmm. <affirmative>, but for a legacy code where you're not always sure what the original function's intention was, it, it's hard. Uh, and yes, sometimes it's easier than to create, uh, uh, well to refactor, but with test driven development mm-hmm. <affirmative>. Um, but, and, and I understand when you say the refactor would've cost me a day writing the test for three days. It's an investment, but it's an investment which will pay itself back in the future. Mm-hmm. <affirmative>, I mean, absolutely. You know, the whole story about, uh, the Mars rer, uh, which crashed mm-hmm. <affirmative>, you know, why Speaker 1 00:56:36 No. Speaker 2 00:56:37 Okay. Someone used miles instead of kilometers that would've been called with tests. <laugh>. Speaker 1 00:56:45 Yes. <laugh>. Right. Wow. Yeah. My, my my favorite, um, and I might edit this out, but my favorite is when you sit down, you're working on a legacy code base that, that somebody else had written before you, and nothing against this person, they just weren't thinking about writing tests. And you realize that the code is untestable in its current form. Oh, yeah. Because it just does way too many things. And so you first have to pull that apart, but how do you write? You first gotta write test that you know you're gonna throw away because you're gonna have to pull that apart anyway. Uh, but anyway, Speaker 2 00:57:15 And or, you know, written sync with internal caching in a way that, you know, the cat will prevent the second test case from running. And Yeah. There's so many ways to write untestable codes Yeah. That, that does make life difficult. All the more reason why it should then be refactored <laugh>. Speaker 1 00:57:34 Absolutely. So, in, in, if you don't mind me asking, and this is very much Juliet's opinion, but if you were to say to somebody today, uh, that comes to you and says, I want to go and learn how to write tests, I don't know nobody, nobody's ever explained it to me. Nobody's shown it to me. I don't know even know where to start. What, what resources would you point them to? Speaker 2 00:57:54 Well, this is very, very biased. Uh, Speaker 1 00:57:58 No problem. Speaker 2 00:57:58 <laugh>. I mean, the first thing which comes to mind is, uh, Chris Harks has written a number of books, Rufi Speaker 1 00:58:05 Ster, <laugh>. Speaker 2 00:58:06 So please go and have a look at his books. Uh, they're good. Second of all, don't Ever for, uh, underestimate the value of documentation of test tools. The, uh, the documentation of PHP unit alone is a, a treasure trove of things which are unused because people are not aware that that's part of PHP unit. Mm-hmm. <affirmative>. Um, so there, there's lots of tool, uh, tools and resources out there. I I don't have a preferred one, but if you're really greenfields, I'd say start with one of the books or video, uh, uh, by Chris Arches. Speaker 1 00:58:42 No, excellent. That, that is actually how I started. So I can, I can resonate, I can resonate with that statement. Um, I don't know. I don't know at what point I started following him. Um, but, but yes, that when I, when I, when I sort of made that decision, I went looking for people, and I think that's how I found him. And I started with his, with his content, so I'm glad you mentioned it. I would've, I would've even <laugh>, Speaker 2 00:59:03 If I'm honest, I haven't read or, or seen, uh, the material myself, but I know him as a person and I know that what he will say about this will be solid because he really is an expert in the field. Speaker 1 00:59:17 No, absolutely. Absolutely. Excellent. So we're getting, we're getting towards the, the end of our hour here now. Uh, we could talk about this all day, but, but I don't want to take up too much of your time. Um, what I like to do at the end of my podcast is just run through some, some very sort of quick, uh, short form slash hacking questions For me. This is more just about getting to know the person a little bit better. Maybe I glean some, some interesting piece of information or tool process that you're using. Um, so the one question I have for you is that if you could, and, and let's, let's focus this around the WordPress community, just because that's the one where I know you from, if you could change, if you could snap your fingers and change one thing about, let's call it the WordPress project, um, what would it be and why? Speaker 2 01:00:03 Okay. I'm gonna give an extremely biased answer and say, let no problem, let's accept that proposal of mine, uh, from August where we have a fixed, uh, rolling schedule of PHP version props. I mean, this perfect, that will make PHP version, um, uh, minimum version manageable, predictable agencies can plan two, three years ahead with customer. Mm-hmm. Because they know what's gonna happen. Mm-hmm. Uh, it will make life so much easier for anyone who gots, uh, a business related to WordPress. And for users, the end, the impact won't be that much that large, uh, because, uh, with that proposal, they would have to effectively, um, you know, at, at the outside, change their PHP version once every, I think nine years. Seriously. Mm-hmm. I mean, do not come complain to me about that <laugh>. That's really generous. Speaker 1 01:01:01 Absolutely. No, great. And, and I don't mind biased answers at all. That's the pointer. Um, and I will link through to that proposal, uh, in the show notes for this episode. Please do Then I wanted to ask you, I, I know that you have a very interesting, um, development setup because you have to have multiple versions of PHP running for testing and those kind of things. But what is your, your primary, um, development tool or ide or text editor? What is, what is the tool that you use the most every day? Speaker 2 01:01:25 My most important development tool, realistically is get extensions. Okay. What is a gok or, or forget. Okay. I live in GI extensions and it's not a code editor as such, though you do have the ability to edit code directly in the gooey mm-hmm. <affirmative>, uh, which I do actually use once in a while. Um, but GI extensions is where I live and breed. Speaker 1 01:01:49 Okay. Speaker 2 01:01:50 Um, if we're talking editors, I mean, uh, I use several. Um, I often use a really small unknown one called context, and, and nobody's ever heard of it. Nobody uses it, but it's very lightweight. Mm-hmm. <affirmative> and when you have a lot of other things running on your machine at the same time, lightweight is a good thing and I've just switched to a new desktop. My previous desktop really would not have been able to handle a, a full-blown IDE combined with all the other things I'd be running at the same time. Right. A new machine. I'm hopeful <laugh> <laugh>, Speaker 1 01:02:31 Except this is, this is why I ask these questions cause I like to know what other people are using because it might spark something that I might decide to switch to. So, so I, I'm always interested to know what folks are using. Yeah. Speaker 2 01:02:42 Well, I, I can very highly recommend, uh, uh, GI extensions. Uh, it, it is a primarily Windows project, uh, but uh, with Moo it can run on Linux and Mac as well as far as I know. Um, but yeah, I, I, I, I, for me, I, I tried something like four or five different gig GOs because I'm far more go oriented than command line, even though most of the projects I'm currently working on running on the command line. Right. Yeah. It, it's a bit of a contradiction there. Um, but yeah, the, the, the, it, the great thing with GI extensions is it uses exactly the same terminology as the command line. Mm-hmm. So I can talk anyone who, who use to the command line and use the same terminology, use the same phrases, but be able to exchange, uh, you know, uh, work, work around or, uh, productivity tips. Uh, and we know what we're talking about because we use the same language. If you want to, it will show you literally all the command line commands it uses. So the, the bridge between command line and gooey is, is, is there. Mm. Uh, but it, it's so effective. It's, it's, it just helps me get my work done so much quicker than I ever could on the command line. Uh, wicked. Speaker 1 01:04:05 Excellent. Excellent. Well, I'm definitely gonna check that one out. Um, now the next, the next question I wanna ask is kind of, um, a little bit more philosophical, uh, if you will, um, and I'm going to, I'm going to, uh, sort of give it a, a set timeframe. If you could go back in time to the point where you left working for that employer, you mentioned and you went and worked for yourself. So think about that time of your life, um, or, or maybe even the time before you got very involved with open source community. So think about your open source journey. If you could go back and give yourself one piece of advice that knowing that now would've made life easier for you, what would that have been and why? Speaker 2 01:04:50 Always put yourself first. So choose to do the things which give you in energy, not drain your energy. Mm-hmm. <affirmative>, um, and, and have, have faith in the universe. Uh, especially when I first started a business, you know, the, the, um, every few months I'd get really worried like, okay, I can still pay the bills this month, but next month I'm not so sure cuz there's no nothing coming in. Right. I haven't got any customers lined up and I'm finishing the project, which are already paid for, stuff like that mm-hmm. <affirmative>, and for some reason it would always take the point of getting really worried and then something happened and it was all right again. Oh, wow. And that's happened so often that at some point I've learned to trust the universe. Um, good things happen to good people maybe, but, uh, it, right. It's not, it, it, I mean, I never became self-employed to become rich or anything. I'm not. But, um, do trust that if yeah, if, if you stick, if you're true to yourself, um, and if you enjoy what you do and, and hopefully are good in what you do, then things will work out and it all, you know, and if needs to be, you can always find a job Speaker 1 01:06:17 <laugh> <laugh>. Absolutely. Absolutely. Um, so now the last question I wanna ask you just to kind of wrap this up and before I ask you the question, I just wanna say thank you very much for your time. It's been amazing talking to you today. Um, I'm looking forward to being able to talk to you in real, in real life in the future, whenever that will be. <laugh>. Yes, please. Um, Speaker 2 01:06:33 I'm look forward to at some point in the foreseeable future, sitting down in the sun on a terrace with a cold drink in our hands, toasting the fact that we've had to do this over video link and that would absolutely. Helping each other alive again and give each other a hug. That Speaker 1 01:06:53 Would be Absolutely. Absolutely. Um, so the last question I wanted to ask you is, and this this one is a little bit more sort of businessy slash personal slash how do you, as a self-employed person, how do you manage your time when it comes to, because you are quite a very prolific contributor to open source. How do you find that balance between making sure you're doing enough billable hours, making sure you're doing what you want to do in open source and just having a life in general without, without only getting two hours of sleep every night? Speaker 2 01:07:27 Uh, with, with Greg difficulty, Speaker 1 01:07:30 <laugh>, that's about as honest answer as I'm gonna get, eh, <laugh>. Yeah. Excellent. Uh, Juliet, as I say, it's been wonderful talking to you. It always is wonderful talking to you. Um, you, you are, you are a fountain of knowledge. Um, and I, I, I, I, whenever I do talk to you, be it work related, be it WordPress related, be it PHP related, I always come away knowing something, uh, valuable. So thank you for your time with us here today. If people want to find you, if they want to connect with you, if they want to contact you about possible working groups, how can they get hold of you? Speaker 2 01:08:04 The easiest way is just to, to reach out on, uh, on Twitter. Okay. And, uh, j r f underscore nl. So my initials, Juliet Reinders foer underscore, uh, NL for Netherlands, it's, it, it can't get much easier than that. Um, and, uh, my dms are open, do not spam me on them and do not certainly abuse, but if it's an honest question, I will respond. Speaker 1 01:08:29 Perfect. Perfect. I was, I was a little bit annoyed that, uh, when Zeev shared your post, he didn't use your corrector to handle <laugh>. It was j n o, uh, under n o <laugh> it happens, or j j it happens. Speaker 2 01:08:41 And, and then I was lucky. I actually did see the, the post, uh, uh, within the day. Uh, someone else put it in my timeline anyway, <laugh>. But yeah, it doesn't happens. Uh, it does once you know how the Twitter handle is built, it's not that difficult to remember and Speaker 1 01:08:58 Absolutely, Speaker 2 01:09:00 I always have the same avatar wherever I am. I mean, my twi my handles are sometimes variations. So, uh, in the wordless, uh, slack on J ref without KL on GitHub on J R F N L without underscore, because they didn't allow underscores when I registered <laugh> <laugh>. So yeah, they're variations, but the avatar is always the same. So if you see that avatar, it's me. Speaker 1 01:09:25 Yep. Absolutely. I can always, I can always tell it to you when I see that avatar. Uh, once again, thank you so much for your time. It's been amazing to talk to you, um, and I look forward to seeing you in person in the very near future, <laugh>. Speaker 2 01:09:35 Most definitely. And it was a pleasure and, and, and it was lovely, uh, of you to invite me. Thank you for that. And, uh, giving me no problem. So things <laugh>, Speaker 1 01:09:45 Not a problem at all.

Other Episodes

Episode

October 16, 2017 0:00:00
Episode Cover

WP HackerCast – Episode 3 – Anchen le Roux & Page builders

In this episode I’m talking to Anchen le Roux. Anchen is the owner of Simply Digital Design, a web design and digital marketing studio...

Listen

Episode

November 13, 2017 0:00:00
Episode Cover

WP HackerCast – Episode 4 – Dwain Maralack – From freelancing to Automattic.

Welcome to episode 4 of the WP Hacker Cast. Today I’m joined by WooCommerce Code Wrangler and WordCamp Speaker Dwain Maralack. Dwain is a...

Listen

Episode

November 27, 2017 0:00:00
Episode Cover

WP HackerCast – Episode 5 – Gareth Allison – Creatives

Today I am joined by another Automattician based in Cape Town, Gareth Allison. Gareth works for the WooCommerce team as a marketing/designer/strategist (that’s his...

Listen