 All right, so this is falling in love with your development workflow. Back in 2014, I was actually working for a pretty small agency and there was only two developers, two and a half developers on our team. And we had a, this is probably, well I said it was back in 2014, I don't remember exactly when. But some of you might remember, Yoast SEO had like a very high vulnerability security update that had to get pushed out like as soon as possible. And so that meant that the two and sort of half people that were on our team had to get Yoast SEO updated on every single client site that had it. Up to date we really didn't have an efficient way to do that. We had a CRM that was documenting what sites were using which plugins, which definitely saved us. We were able to create a report, but at that time we had version control and things like that, but we didn't have an efficient workflow to be able to handle all of that. So that meant that I spent like two days trying to update all of these sites to Yoast SEO. And of course, as I'm doing that, finding other problems that have since entered into these websites that maybe either weren't under maintenance contracts or they just weren't keeping them up to date. And it was a nightmare. And so after that emergency nightmare, we decided that there has to be a better way for us to do this. Creating a better workflow for updates, creating a better workflow for making sure that our clients are up to date, and just being more efficient with some of these things that are really super important. So a little bit about me. I'm developer outreach manager at Pantheon. Pantheon is managed WordPress host. If you don't know anything about it, come check us out at the booth out there. Otherwise, Google some really good stuff. In my side where or in my personal time, I should say I really enjoy teaching women and kids how to code, something I'm very passionate about. I love dogs like I'm obsessed with dogs. If you're at the speaker or sponsor party last night, you probably saw my shirt that said ask me about my dog. That applies to anyone. If you're shy or introverted or you want to have a conversation, just start talking about dogs and I'll take it away. I really enjoy shooting archery and again, just passionate about teaching others, whether that be about coding or anything that I can share with them. And these slides are already out on Twitter. So if you want to follow along or if you just want to capture some of this information, feel free to grab them there. I am going to have huge lists of really cool tools that you can use in different areas. So grabbing the slides will be the best way to retain that information. All right. So we looked at Slido. We're going to come back to that when I have more questions. But for now, we're going to dig into more of the content. So we all have to start somewhere, right? So I told you my horror story with Yoast SEO. We had some processes in place for version control and some other things. But we had no processes in place for maintaining any of our client sites. It was really just, we have an emergency, something's happening. How are we going to fix this? How are we going to maintain this? And so no one is doing it the right way. We all have different ways of doing things. And some of the things I'm going to tell you today might not necessarily be the way you want to do them. But I'm hoping to give you more tools and more ideas to help you optimize your workflow. So why is a workflow so important to begin with? If we would have had a workflow, if we would have had a set process for maintaining those sites for the Yoast SEO plug-in, it wouldn't have felt like a frantic emergency for me to go through and actually update all of those sites. If we were doing that in an efficient way, it wouldn't have felt so painful. So an efficient workflow can help you reduce risk. Again, the Yoast SEO situation, obviously it was a high security update that had to get done. And we had a process in place that would have reduced the risk of that vulnerability being out there, as well as many other things. Estimating better. How many of you are awful at estimating? I'm like it admittedly put two hands up. I'm super bad at it. And it was really bad at it until we had a workflow in place. Once we started implementing the different steps and the different things that we're going to keep our projects efficient, it was very hard to estimate because I never knew what we were going to be doing and how we were going to get that started. And that of course gives us increased profitability. If we can estimate our projects better, if we can reduce the risk, if we can stop wasting time on how to figure out how to do things, then we can be more profitable in general. So this is going to be a super long list and my hope is for you to just review this, compare it to your workflow, and be able to kind of absorb this information, whether here or if you review slides later. So my favorite workflow has a variety of things, and I'm actually just going to get all the bullets out there so we can talk through them. Essentially creating a new project from a start state. That is the part that is huge for me. So the start state was something that I implemented and our team implemented after our little Yoast emergency. What our start state became was, it was a theme that we started with. So we just grabbed underscores, which is if you're not aware of it, it's kind of a bare bones WordPress theme. We did a lot of tweaking to it, added a lot of functions that we like to use, added some plugins we really enjoy using, and that became our start state. But the best part about that start state is that we kept it up to date and then also became our kind of code base for our client sites. So when we made updates to that start state, then we made sure that we made those updates to all of our client sites who were on a maintenance plan. So the start state alone saved us a lot of time and a lot of energy. Of course, setting up your local dev environment, if you're not working locally, it's something I strongly recommend you do. You can make coding changes and see things immediately or be able to work through different things, especially if you want to use command line, which I'm a fan of, allowing you to be able to do things on that local environment through command line. Obviously, write some code. Find an editor that you really like. Mine happens to be sublime text. I know some people hate it, but I just like how plain it is and it does what I need it to do. Initiate task runners, which we're going to dig into this in a little bit. Committing my code. I'm working on a team. I'm using pull requests. Automated tests that run, hopefully pass. Deployment to my dev environment takes place automatically and then merging that stable code over to master. It's kind of a preview of my favorite workflow. And then with maintenance. Maintenance became that thing, right? That's the thing that triggered our problems. That's the thing that made us realize that we didn't have a proper workflow. And so maintenance workflow is really important. And so I'm not going to spend a lot of time on this, but I've got the slide in here and just want to walk through it. There is my co-worker who's actually here. Andrew Taylor has a really good workshop. He did a loop comp. And it's all online for you to be able to capture the information in the code base. But essentially, the idea is that you're updating that site from that start state we talked about, right? So you're using all those things that are your favorite things and you're keeping that up to date. And then when you find those updates, you're automatically bringing those to a new environment, doing the updates, doing a visual regression test to compare the two. If all of that stuff looks good and everything matches, then just go ahead and push it out so you never have to touch the site. And so that being a really good workflow. Unfortunately, I didn't know about this awesome thing called visual regression testing until joining Pantheon. But it's something that I think a lot of agencies and new developers in general can be taking advantage of. So to really dig into the different pieces of the workflow, I want to start with a start state. Like I said, that is the hugest thing that saved us a lot of time, was finding a theme that we liked. And not only just finding a theme, but taking underscores and adding the stuff that we liked. So we took functions that we enjoyed using. We wrote functions for different things. Custom post type functions, Google font functions, whatever it is that our design team was constantly giving us for our designs and our development sites. We integrated that into our start state because if the code is already there, then it's easy to just enable it and start using it. So for your WordPress start state, you can start with the starter theme. Like we all need a theme of some kind. There are tons of them out there, so I'm just opening it up now. And actually, that's our next question. I'll unlock my phone to start it. So the next question on Slido, if you have it open still, is what is your favorite starter theme? I wanted others to be able to share what their starter themes are. I feel like themes can really help you get most or at least half part of the way as you need to get with your development sites. So underscores is a good one. WP rig is a newer one that's actually like really, really cool and excited to be able to dig into that more. Roots, bones, there's other ones. You can peek and see if I can get this back up. Results are hidden. That's not fun. I don't know why they're hidden, but I will read them to you. So Genesis, that's actually a really good one too. I haven't actually used it, but I've heard really good things. Homegrown, it's cool. Underscores is a few. Enfold, Yikes, Incorporated starter theme. That's a nice judge. My company has its own, but they used to use bones. 2016 with a child theme, like that's a great starter theme too. WP rig. Just some really good options out there. But find the one that works for you, right? Like your phone, or your, I thought that was my phone. You're going to hear lots of opinions on whatever it is that you decide to use, but the whole idea of an optimized workflow is finding something that works for you. Not using the thing that someone is telling you to use, not using the thing that seems like the latest and greatest. I still really like underscores, and I've got all this great stuff that I've built out and made all these great page templates for, and I just enjoy using that. So don't ever feel pressured to do something else because someone else is telling you to do it. What are your favorite plugins? Dang it, what did I just do? I deleted all my... Add your favorite plugins to your start state. So Yoast SEO. That was a huge one that we always used, obviously. Advanced Custom Fields. I am absolutely in love with that plugin, and I use it on just about every site that I possibly can. So including Advanced Custom Fields, if that's as a part of your workflow, maybe you have like an SSL, a forced SSL plugin that you're constantly using. Whatever it is that you use and you feel like you're using it time and time again, then include it in your start state so that you have it from the beginning. So when you create a new site from that start state, you've already got all that stuff ready to go. And then configuration. I'm going to talk a little bit more about databases and how to optimize those in a bit, but having your configuration, if that's a possibility, inside of your start state. So one thing that I do is that with Advanced Custom Fields, I have like this page builder that I built out that uses flexible content. And so because Advanced Custom Fields allows you to sync all of your field groups into a JSON file, that JSON file can go into my version control and I can move that from one environment to the next, which means that when I'm creating a new site, my page builder is already ready to go and inside of my start state. And then stock photography. If you have a... I know for a fact that we had a lot of clients that just didn't know how to get started with their images. They didn't know how to implement content. They couldn't visualize what they wanted, but having even just default stock images inside of the website really helped them to place them and then start to really decide like, okay, how can I envision my content in this place? And whatever else makes you happy. So some techniques for a start state. You could start with a git repository and fork that. You can also use Composer or another dependency management, just having a file that has all of the things that you want. A third-party solution. I at the time didn't know of any and I still don't know of any, but I can't imagine that there isn't something else that's allowing you to do this. And on Pantheon we have a thing called custom upstreams and if you're interested in it, we can talk to you at the booth, but it allows you to do the same thing. Create sites from it. Also maintain your sites from that upstream. And maintenance gets a lot easier, right? Because we're just updating our start state and when we update our start state, we push it to our client sites and everyone else is also updated. Version control. Who here is using version control? Raise your hand. If you're not using it, you should be using it. And if you're afraid of it, that's okay. I was there. I really like to use GUIs actually and I still do to this day. I'm proficient in command line and I know the commands, but I really am just a visual person and I like to see where my branches are going and where it's getting merged and how everything is working. And so I like to use a GUI. So in terms of getting involved with Git, there's Git repository hosting. So it's either GitHub or Bitbucket or GitLab or probably tons more that are coming out or find a WordPress host that has Git integrated into it. And if you're scared to get started, then use a GUI. It's a graphical user interface. Source Tree happens to be my favorite. Git Kraken is also really good. GitHub Desktop is okay. And there are tons more out there, but it's something that you definitely want to start using. We saw some of those horror stories. Someone deleted an entire directory. Someone lost two days worth of work. Use version control and other things like that to make your job a lot easier. So WordPress Git tips here. Follow the feature branch workflow. If you're not familiar with it, it's in my slides and I made it a link so you can look at it. Work in feature branches. Don't keep everything in master. Master should be your stable. If it accidentally got pushed to production, it's totally okay code. And create your favorite Git ignore file. Everyone has an opinion on their Git ignore file. Some people have nothing in there or they have hardly anything in their repositories. Some people keep the entire WordPress installation. That's entirely up to you. If you're not familiar with Git ignore file, it's basically a file that tells you what files not to include in your Git repository. So things that you should include in there is your config file. Your config file has your database passwords. We don't want that on a Git repository that someone else can use possibly to use. So find your favorite Git ignore file and use that and feel comfortable with it. All right. So I'm not going to talk about text editors and IDEs for very long because this is a very opinionated topic. But I want to give you a few. If you're new to development and you're just getting started, I want to give you some ideas to work with. I bolded the two of my favorites, Sublime Text. I really actually enjoy and I know some people judge it because it's not a full IDE. But I just like it. It's simple and it's fast and it's sufficient. Visual Studio Code, as much as I don't enjoy Microsoft products, that one is actually really good. You know, there's also Adam, there's HPStorm, there's Kodet, there's tons of other editors. But find the one that works for you and don't let anyone make you feel bad about it. I will tell everyone I use Sublime Text and I'm not going to say anything about it. That's my favorite. Command Blime and Scripting. I avoided this for as long as I possibly could because it scared the hell out of me. And I don't really know why because it's pretty black and white. There's really no way to screw it up. It's either it works or it doesn't work. It was scary to me. I thought once I figured out Command Line it was like I was this all-mighty powerful hacker and it was going to be hard to get to that point. But it's not and Command Line is awesome. And WordPress has what's called WPCLI. So it is a command line that is built specifically for WordPress. So you can do a lot of really awesome things with it. The other thing with it is creating local bash scripts. Even if this is your optimization or this is how you get things done, creating a local bash script. You can make it interactive. You can do everything you want in Command Blime, especially if you've got a host or another server environment that has SSH or command line tool to allow you to work into it. You can essentially use the SSH and WPCLI to be able to create an entire site and install your plugins, install your themes, do everything you want, and that's even your start state. So Scripting and Command Line can be very, very powerful. And it opens you up to a whole new world of amazing things in automation. Who doesn't want their stuff automated? I know I do. All right, so local development. We talked about it just very briefly. And I'm not going to get into this in super heavy detail. I think a lot of people know about local development. If you don't, it will save you a lot of time, especially if you're starting to learn WordPress or learn development, because it's very instant. You can instantly see if something that you're doing is working or not working. I teach a lot of people how to code and how to get started, and it's funny when I start to teach them Git and all the funny Git messages that I see. So they commit code before they make sure it's working, and they're like, well, just kidding, that didn't work. And then it's a new commit message. So local development can save you from all of that. You can see your code, make sure it's working. Do some automated testing if you want to locally, and then do your commit once you know that everything is efficient and working well. And like text editors and IDEs, there are lots and lots and lots of opinions. So this is just a brief list of some of the local tools that you can use. I actually personally still love MAMP. It's easy to set up. I can do whatever I want with it. It's really powerful. If you're using a container-based hosting solution, or even if you want to get a little bit more advanced, like Lando's are a really good option. Otherwise, all of these other local tools are great, too. All right, task runners. How many of you are using SAS NPM or anything like that? So if you're not familiar with that, SAS being like a way to write CSS in a much more efficient way, another thing that can save you time. When you're writing that SAS, you have to compile it. And there's lots of other things that you can do with it, too, that I've listed up here. But using a task runner and letting that do the work for you, so image compression, things like concatenating JavaScript or minifying the JavaScript or your CSS, all of those things are going to help your code be a little bit more efficient or faster, more performant. The load testing package for NPM is like my latest favorite. If you are not familiar, it is amazing. So it's just a package you install, and you can set the number of traffic and however many people you want to and what the cycle is to your website. So if you're using any type of load testing or if you're doing performance monitoring, you can just run that right through NPM, which is super handy. I just used it the other day. And there's tons more stuff that you can do with it. And it does all of the work for you, so you don't have to be compressing these images. You don't have to be minifying all of this stuff on your own. You can let the task runners do that work for you. All right, database management. I think this is by far the biggest void in WordPress is database management. There's still no great way to move from one environment to another and have version control in your database. If anyone solves it, please let me know because it would be amazing. Version controlling your database would be like the best thing ever. But it doesn't exist. But there are some things out there that do exist that can help you. So WPCFM has a plugin that allows you to export that configuration from your database into a new database. When I say configuration, it's things like WordPress configuration of settings, anything like the settings area. Customizer is saved in there. Let's see what else is in there. Plug-in settings. If a plugin is built in a way that it's using the WordPress settings, then that's actually in there. It's just a really great plugin. So check it out. Give it a try and it allows you to export all of that stuff to a JSON. And so what that means is that your configuration can be in version control. So again, if you've got all that stuff, maybe when you're creating your new WordPress sites, for me, I hate it when the uploads are in by year and month. I have no idea who came up with that and why they would do that. Because now when you're trying to find an image, you have to go through all of these folders to try to find something. So I always turn that off. If that's something or like a time zone or there's other things inside of settings that your team is constantly changing, put it into a WPCFM file and put it in your start state and then bring that into your new databases. So it's just another way to save yourself time with some of those things that you're constantly going in and changing. I've never used it, but there's a library or kind of a code base called Dictator that's for WPCLI that's supposed to do a very similar thing. So I'd recommend checking that out. And then find a host that allows you to have multiple environments and be able to move those databases around if you have to. It's never fun trying to figure out where your content is or where your plugin settings are or where anything else is. And there's not a great tool to compare all of them together, but some of those things should help you make your life a little bit easier. All right. Bring your brains like breakfast. Shut down. All right. Upload handling. So uploads are really tricky. If you're digging into... I gotta like remember how many bullets I have here. If you're digging into version control in the beginning and you're not familiar with it, it can get complicated if you have your uploads inside of your version control. So it's something that gets a little tricky with managing that, especially if your clients have very large files. There are some really great plugins that can help you with that. So WP Migrate Pro has a media files add-on. It's really good. Manually moving your files using SFTPs. So keep them out of your Git repository and bring them over when you need to or host your uploads on S3. And I bolded that for a reason because it is smooth and it's amazing. So what that is is Amazon S3. You can create a bucket there. You can have all of your images go directly to Amazon. So when your client adds new images, they go directly to Amazon. When you delete images, it's all controlled through Amazon. The nice thing about that is that if your site, maybe you're on like a shared host or maybe you're on a really cost-efficient hosting plan, at least those images aren't constantly having to load from that host or maybe someone's coming from whatever the situation might be. Having those images somewhere else, it's going to make your site a lot more performant because it's not having to load those images from your actual server. All right. So automated testing. I could talk about this for like days and days. Did anyone go to the BeHat test or the BeHat session earlier? Awesome. Of course, Andrew, you did. It was a great session and it talked about testing your critical features in your site with BeHat. And if you didn't get a chance to see it, I strongly recommend you find his slides online or that you check out the video on WordPress TV and just talks about allowing some automation. So using BeHat, which can do a lot of behavior testing. So essentially what he showcased was that he had a donation form and he had a test written that would test the functionality of that donation form and he didn't have to get involved at all. The computer just did it for him. So not being afraid of some of those things. Not being afraid of some of those things. It can be really hard to dig into. When I first started digging into them, they're scary. They're still scary to me to be honest. But they get easier as you start to use them and they're going to save you so much time. So if you don't have to go in and actually review that form, allowing that automation to do that for you. So there's lots of different things you can do. WordPress coding standards, that's a really good one, especially if you're newer to development. It'll give you some warnings about the way that you're writing your WordPress code, which can help you obviously become a better developer. Unit testing, BHAP, like I said, or visual regression, like I briefly mentioned when we were talking about maintenance. Or you can check out Codeception or Staging Pilot. Staging Pilot is actually a service that will help you test out your sites and they do it for you automatically. Codeception is a kind of a software service too that will allow you to get started with automated testing. So if writing all these tests out from scratch is scary to you, it's a great place to get started and then you can slowly start to write them on your own. And when you start to automate your testing, why not automate those deployments at the same time? So if you are writing code and everything passes and everything makes sense, why not just automatically deploy that? And that can work for a variety of different things. It doesn't have to be that you're automating testing. It could be that you're working on a team and you're doing code reviews. And once a code review is done and you accept it, you have a process in there that just automatically does that for you. So there's some tools to help you automate your deployment. Deploy bot, beanstalk, WP pusher. I've actually never used that, but someone recommended it. And I think using SSH or CLI, maybe you're just running a bash script. Maybe that's your automation until you start to dig in. Or completely setting up continuous integration and deployment and using things like CircleCI or Travis. If you have questions about continuous integration, there's lots and lots of really awesome talks out there, but I did deliver a talk at WordCamp US last year that's on WordPress TV that you can check out to kind of have an intro to continuous integration and deployment. So automating those deployments so that you don't have to be the one like, nobody wants to go live with a website on a Friday. Nobody wants to go live with a website, period, because it's a pain point. But if you're automating things and things that are structurally set up in a way that is optimized, it doesn't have to be a pain point. It can be easy. All right, so I think this is the last one. So talking about hosting. Don't waste your time managing servers. It takes so much time to sit there and manage them and optimize them and set up all of the things that you need to make sure that they're efficient. If you want to do that, then great. Like, you should do that. But if you don't want to do that and you want to build WordPress sites and you want to just write the code that you want to write, find a host that's going to manage that for you. So find some type of managed WordPress hosting. There are lots of awesome offers out there and lots of people who do it really well. But things to look for. I'm not going to tell you who you should use. I'm not going to tell you providers, because that's not fair. But I'm going to tell you things that you should look for. So we talked about version control and how that's really important. Find one that's Git-based. Free SSL certificates. No one should be paying for that right now. SSL should be free. Pre-configured caching or a CDN. So CDN being a content delivery network. Making your site more performant and more efficient. Multiple environments. It's really nice to have those different environments to work in and have a separate testing environment and a separate dev environment. And even beyond that, to have separate feature environments. SSH or at least a command line interface to be able to work with. If you're going to start automating stuff, you have to have a way to be able to do that with your host as well, or it's not going to save you the time that you need. A dashboard with multiple site management. That's not a must-have, but it'd be great to be able to manage all of your sites in one place, right? Performance monitoring is really nice to have and also easy updates and maintenance. That's where I feel like the most pain comes into place when it comes to WordPress development. It's actually keeping those sites up to date and making sure that everything has what it needs to continue to function correctly. All right, so maintenance. It doesn't have to be scary. I'm just going to pull this. He's up here quick. Dang it. Every time. You guys remember how many bullets there were? Nope. I'll get it this time. All right, there we go. Perfect, we got it. So maintenance. We talked about that start state. So making sure that your start state is built in a way that you can push your updates to it and those updates can get pushed to your client sites. That really is going to be dependent on your clients and how they work and whether they're in maintenance contracts and who your hosts are and lots of different variables, but it's something to strive to accomplish. Use visual regression to test those updates and if visual regression from scratch is scary to you, try out staging pilot. That was one of the things I mentioned as a service. Backstop.js is a really good open source library that you can use. There are also tons of commercial visual regression tools that you can use and find a host that helps with this. So Pantheon offers our custom upstreams, like I said, which allows you to update and create new sites from and LiquidWeb actually integrates a visual regression like in their sites. So they do it for you when there's updates and then they just shoot you a notification saying, hey, this is good to go, which is super handy. So find a host that's actually helping you. I know it's easy to just go use a host that costs $5 or $10 because it's cheap and that's what your clients are willing to pay, but if there's value to it and it's saving you time, then your client's going to see the value in the end because of profitability and it's costing them less. So this is a quick little graph chart. Really at the end of the day, all of these are going to help you reduce risk. They're all going to help you estimate better because you're going to be more efficient. You're going to know what you're actually doing and that in turn is going to increase your profits. All right, so I'm going to open. I think I had one last question on there, so let's do it. I ask you, what is your favorite tool to optimize your workflow? Let's see if I can get it open. And then after that, I'm going to go to questions. So if you have questions, feel free to add them in there. No one has tools. What is your favorite thing that you use that you're like, if I didn't have this, my developer life would be horrible? Grunt, that's a good one. The node modules one is funny. SAS is great. I love SAS also. So it takes tag clubs and sometimes breaks them apart. So this could get really funny if a lot of people start entering things. CircleCI is great. These are great suggestions, but there's so many more of you guys. Come on, there's more tools. All right, so there's a couple of questions on here. So while you guys are entering all of your favorite things for your developer workflow, somebody just put on here, why didn't you put Vim on your list of text editors and then they wrote Troll? That's great. If your host offers a staging, production, and dev environment, will you still use a local environment? Absolutely, because if I'm building stuff out, especially if it's something that I haven't done before, my PHP skills are probably like a 7 out of 10, but my front-end skills are a lot greater. And so when it comes to that PHP stuff, sometimes I question what I'm doing, and so if I can do that in a local development and actually see the errors that I know are going to happen immediately and fix what I'm working on, then I can learn quicker because if I have to push it up to a staging server before I can even see if it's working, that means I'm doing a commit likely to a version control to get it up there, and then not only that, I'm getting it up there and then to find out if it doesn't work. So local development tools are huge. Whether you're working with tons of people, whether you're working by yourself, whether you're working on a super simple site, being able to work locally will allow you to be able to see anything that you're doing instantly. So I cannot reiterate enough how important it is. All right, we got one more. Okay, how do you handle deployments with a build step? Are there MWP hosts that allow this without committing built files to Git? So I would say that that's kind of dependent on how you want to do it. If you wanted to set up like CircleCI, for example, it's a really great tool. You can actually set it up in a sense that your project will take in those like unbuilt files. So maybe you want to commit like raw SAS over to your Git repository. If you do that, then you can create a step after there's a commit that there are things that happen. And so CircleCI could actually go through and compile that SAS for you. They can minify the JavaScript. They can do really any automated thing that you tell it to do. So if you can think of it and you can figure out how to write it in a bash script or in another way, then those tools can actually do all of that for you. So if that's something that you want, you want to be able to commit your raw SAS or whatever it might be, then try that. That's a good option. And in terms of like the actual host being able to do that, as long as they have like a command line interface or if they have an SSH access, you should be able to do a deployment from CircleCI or Travis or any other tool that you want to use for that. And then they can just automatically do a deployment once all of those processes and tests pass. How often should you re-evaluate the tools you are using constantly, like all the time? There's always something better. And I don't even know if there's always something better, but there's always something new. And that's really kind of up to your team. We used to have a monthly lunch and learn at the agency I worked at before. And what we would do in that lunch and learn is that we would bring up stuff that we just saw on the internet. It might be a new, I don't know, pre-processor for CSS. It might have been a new task runner. Maybe it was like a new text editor. It just was something new that we were seeing. And in this lunch and learn, we'd obviously eat lunch, but we would talk to each other and we'd be like, hey, I saw this and we'd have an hour of time and we'd be like, cool, should we install it? Should we see what it does? Should we try to use it on this test project? And it was just a really good open conversation. And then it allowed if one of us had used it or if someone else had already used it to be able to talk through that and be like, well, I've actually used that. It's not that great. Or at least give us time to be able to evaluate that. And I think that that's something that not enough companies are doing in general, is allowing their employees to just spend time together in a casual way. If you're in here, you're probably a developer. You're aspiring to be a developer. And our brains are constantly trying to think of the most efficient way for us to be lazy. And so having that communication for us to be able to figure that out with one another is huge. So if you're managing a team or if you're on a team, try to initiate that so that you are either once a month or every few months having those conversations about what can we be doing better? What are some pain points you've been seeing? Or maybe it's just time to just have fun and dig into new tools. All right, let's see if there's any more. I think we are running out of time, right? OK. Do you want me to stop questions? We're good? OK. OK. So do you have an example of a working Circle CEI 2.0 configuration file at the beginning? Can you very well allow me? Do you know that I cried? I cried once about trying to set up a Circle CEI configuration. And I actually don't cry. For being a girl, I'm not very emotional. And I cried because I could not figure it out. And it drove me crazy. And it turned out being one stupid little line of code that just was not exactly the way that it was supposed to be. And it was awful. I do not actually have a working example, not 2.0 in any of my Git repositories. But Andrew is a great co-worker of mine. He does have one. He has one called Advanced WordPress. Is it Advanced WordPress on Pantheon? Or is it just Advanced WordPress? Yeah. So Advanced WordPress on Pantheon. And so it's on GitHub. And it's, what's your username? A Taylor Me? Yeah. On GitHub. And it's working with Circle CEI 2.0. That was huge for me. I had to find a working example to figure out, A, why mine wasn't working. But B, to even get started and dig into it. It is not an easy task to do. So finding actually working coding examples was huge for me. So check that out. Otherwise, if you do a search on GitHub, instead of searching on the internet, that actually worked better for me to find stuff. And I think that's it. Looks like all of them. Otherwise, I'll be around for the rest of the day. I will also be at the after parties. If you have more questions, track me down.