This is a transcript. For the video see Tag1 TeamTalk #027.3 Documentation as code: Part 3: A Linting How To - The Vale Linter in action (Demo).

Michael Meyers: [00:00:00] Hello, and welcome to another edition of Tag TeamTalks .Today, we're talking about documentation as code and linting prose. This is part three of our three part series where we are going to demo how this works and show you it in action. If you haven't seen it already, please check out part one, which is a broad overview of what it is in general.

You know, creating a test that you apply to your documentation to improve your writing and ensure that you enforce your style guides. In part two, we talked about. The various different linters that are out there from the most basic things, built into Google docs, to the right, a really powerful tool Vale that we're going to show off right now.

My name is Michael Meyers. I'm the managing director of Tag1 Consulting. And I'm joined today by Lynette Miles, our principal technical writer. Lynette welcome back. And thank you so much for joining us again today. I can't wait to see this in action. You know, talking about this a lot, and I knew, so, you know, I conceptually got it gave me this great sense of all of these powerful things that you can do, you know, buzzword checkers, making sure we always refer to our products in, in the correct name and case, you know, instead of press a button, it's click a button, you know, You know, it's, it's, it's amazing what you can do, but I haven't yet wrapped my head around it.

And so I think seeing it in action is going to get me there and yeah, I can't wait to see this, so let's, let's jump right in. I'd love to see how this

works.

Lynette Miles: [00:01:48] All right. That means it's time to share my screen and hope I don't do anything really embarrassing. Alright. You should make sure I've got the right screen.

All right. I'm going to start with pulling up the, where Vale actually lives out in the world. Hopefully. Is that showing right? Yup. Hopefully it's showing. Excellent. Okay. So this is the repository, the GitHub repository for Vale. So like it says it is a syntax aware linter for prose, but with speed and extensibility in mind and it absolutely is. So Vale itself lives. So this the Vale, this is like the command line version here. A Vale server actually is. One is the thing is that Vale server is not as open source, you have to get a license for it. And I actually, I haven't had a chance to try it out, but I really, really want to, because it will, it's the kind of thing that will make it easier for people who aren't as command line excited or, you know, they're just not as command line friendly to be able to share things and run Vale in their browser and stuff like that.

But personally, right now I'm used to using Vale through the command line and I have it integrated with Visual Studio Code. There's just an extension that you can install and then we'll run Vale for you.

Michael Meyers: [00:03:14] So we'd say it's free. It's open source and the GitHub URL is at github.com/errata-ai.

Lynette Miles: [00:03:28] Yes. So as I go in here, there's styles, here we go.

So I'm going to go into the styles directory. These are the styles that Vale starts with that you, when you download Vale, when you, so you can do it just from the command line, it's like brew install vale. It’s that simple. And then you have, it comes with these styles. Um, there's actually an install guide, I think, from the top level.

But so I'm going to look at, like we talked about, in the previous thing is about, uh, write-good. So, write-good is a, wow. I think that's actually a native linter okay. That's native, must be native. We talked about passive voice. Like passive voice is so just pervasive in our language. It's really, really pervasive in written language.

So this, so this is a YAML file. And it literally says it will pop up and sentence, you know, it looks for there's the I'm going to, I'm sure I'm going to get some details wrong here. Extends that. I think it's the class, the existence class. You let you pop up a mess or not a pop up, but it prints out a message that says this.

It might be passive voice, use active voice, if you can. It ignores the case and it's a warning. So there's three levels. There's suggestion, warning. And. I forget what the red one is, but that's an error - error. When you have your product's name, wrong or misspellings, or like curly quotes. Like if you don't use curly quotes, cause a Google doc is notorious for curly quotes.

So when you copy and paste from Google docs, everything is curly quotes, I hate curly quotes. So we wrote a test for curly quotes, so we can go search and replace on it. So it does things like, you know, here are the most common passive verbs. And so it looks through all out well, and then it's got, you know, a lot of the rare, very common, like this list is huge.

Michael Meyers: [00:05:31] So it's basically a dictionary file of all of the words that are typically used when you're in the passive voice.

Lynette Miles: [00:05:42] And then, then it just flies out and says, Hey, maybe you want to reword that. And I can't tell you how many times. This has just made me have to stop and rewrite a sentence, a paragraph because sometimes like, Oh, how do I reword that to be less passive?

Oh, I have to reword this entire... Okay. But in the end, when you're trying to communicate a task, how to complete something, writing it in an active voice is clearer and easier for a user to understand nearly all of the time. The only problem that I've run into with this is it occasionally this looks for passive voice and future tense sometimes looks like passive voice “so you click this thing. This thing will happen.” So it's not passive.

[00:06:37] Michael Meyers: [00:06:37] it's not a hundred percent accurate, but it is phenomenal in what it can do.

Lynette Miles: [00:06:43] Yes. So it's like it. It doesn't teach you how to write, but it encourages you to be better about what you are writing. And when you've got, when you're trying to onboard, say, a junior writer, somebody who doesn't have a lot of technical writing experience, being able to basically like here's the thumbscrews, you're going to use, here's the hammer.

This is going to hammer that style into you. You don't have a choice. I'm not even going to look at this with the number of errors that you've sent me. Go back and fix all of these, these types of things. Go, go do that. And you're spending, like, I hate to break it down to numbers - the monetary, but straight up, it's cheaper to make the junior writer do that than to make a senior writer, your principal writer, like you don't want me to be spending my time fixing passive voice when I could be writing lots of big content, right? That doesn't make sense. Like straight up. It doesn't make sense monetarily.

Michael Meyers: [00:07:39] I could be writing lots of passive voice.

Lynette Miles: [00:07:43] I have tests. So I catch those before I send them to my editor now, especially because I, you know, got caught with saying naughty words in my text one time, so.

Alright. So. Let's see I have, so if we look at what you're talking about, Michael asked in either earlier or in the previous section about buzzwords, you can do things like, here's this

corporate speak, these kinds of things like that is fine in certain types of writing. But when you're trying to communicate documentation and feature use, these are things that you probably. These don't belong in your writing.

Michael Meyers: [00:08:25] Oh my God, this is one of the best things I've ever seen. These phrases should never be used - “synergy”.

[00:08:34] Lynette Miles: [00:08:34] This is an error level. So we talked about like, Oh, the other one was a warning. This is an error. Like this will show up as a red. Don't do it.

[00:08:45] Michael Meyers: [00:08:45] This is.

[00:08:45] Lynette Miles: [00:08:45] Yeah. this one always cracks me up and Oh yeah, the cursing one , for example, that's a handy one. I'm not going to click on that. Cause you know, I don't want to offend anybody and another, like cliches.

[00:08:58] Michael Meyers: [00:08:58] Oh, interesting.

Lynette Miles: [00:09:00] There's one test. I saw one time that was a, it was not quite gender, but it was, it was kind of like testing for the ways you would refer to people. So when you talk about it, an explicit example was like the grizzled engineer, like that gives you a particular immediately. Like you're thinking of the, the old school sysadmin, with the beard and the, you know, that's not the reality of today, right? I mean, it never was the reality, but it is a stereotype. So there's somewhere in one of these, there's a test for things like grizzled old or, you know, whatever. So you don't want to, you don't want to have those kinds of things.

[00:09:40] These also check out, here we go. Here's a good one, gender bias.

Michael Meyers: [00:09:44] Oh, wow. And this is a really interesting example because it's unlike the others, which were sort of like detecting words. This gets a little bit more complicated because it looks for, it looks like, you know, programmatically looking for different things.

[00:10:05] Lynette Miles: [00:10:05] Yeah. So it uses version of Go. And it uses Go. I can't remember what flavor, but it uses that go. One of the Go versions of flavor of regexes, which actually is great. And also one of the limitations, because the particular flavor that it's using doesn't do, it has trouble looking for two words together that you always want to have together.

So like, and this is why, like I have a test, I'm going to show a demo in a minute. That's going to be two words supposed to be two words. So our original example was like, Drupal uses the word modal for the popup windows. Right? Well, Microsoft is, it's a dialog box. So we were using the word dialog box. So it's not a box. It's not a dialogue.

It's a dialogue box. So we put in a test that was just a warning level to say, make sure that this is dialog box. Anytime we sell the word box or dialogue. So cool. But otherwise, you know, when you have these, you can, you put together a regex and you can do all kinds of really awesome stuff with it.

Michael Meyers: [00:11:18] So direct matching to regular expressions, to even more complicated stuff that we're going to get into shortly.

Let's see how this works. Like can, can you show it in?

Lynette Miles: [00:11:33] Let me reshare with the correct window. Here we go. All right, here we go. So the big thing you have to actually configure, Oop, that's an old one. Look at that previous.

Michael Meyers: [00:11:46] And this is, you said this is Microsoft visual studio with a plugin. That's doing this.

Lynette Miles: [00:11:53] So there's an extension for Vale. There we go.

[00:12:00] [00:11:59] Michael Meyers: [00:11:59] And this plugs into the command line version of Vale.

Lynette Miles: [00:12:03] Yes. So it pulls in. So what you see down here that doesn't make any sense right now is the whole slew of junk down here. This is, this is Vale giving me . So there's, there's an extension. So if I go back to my UI here, here we go.

I want this one to get rid of that one. So this is my current one I'm using right now. So the styles path, I'm just telling it. This is my vital INI file. If you're running Vale from the command line, you have to run it from wherever your INI file is, or doesn't work just unless you've got, I guess, your path set up correctly.

I apparently do not. What I've done here is I've got the basic styles that I'm using or write-good. And I created a Tag1 style. That's just for things that I know Tag1 in particular wants. So, you know, if you look on the left here, Under my styles directory. And have I installed this like long enough ago that some of those other styles weren't in it.

So it just has, I just have, write-good. So it has things like the cliches, the passive voice tests, the passive that we saw on GitHub a few minutes ago. It has things like

Michael Meyers: [00:13:10] for your version to check it, you just have to have it in this list on, on your server or

Lynette Miles: [00:13:17] Yeah. I have it in my local directory.

So like if I'm working in a, if I was working in a Git repo, I would just, I actually have this as part of my repo so that everybody who pulled down the repo would have the same set of rules. We would all be working on the same from the same base assumptions. So,

Michael Meyers: [00:13:35] this is great. You know, when you said this is, you know, it's a command line when you were giving us that overview.

I was thinking, wow, that might put it out of the reach of a lot of people, but seeing this is, you know, it's, it's totally, you know, Wysiwyg and, and, you know, a visual setup, you don't, you know, like you're not using the command line at all. You know, everything is, you know, right out for you color-coded and beautifully put together in this [00:14:00] editor.

[00:14:00] This is great.

Lynette Miles: [00:14:01] Yeah. I actually don't really like using it from the command line because the output isn't as nice sometimes I've done it for debugging, but I very much prefer to use it in visual studio code or, I mean, and there's a, I know there's a couple of other IDEs that people have made plugins for, but I'm forgetting off the top of my head with the, what else it's that there are plugins for right now.

[00:14:26] But I mean, these are just, you know, these are the tests we see these. On theGitHub repo. So what I did, because I knew Tag1 it's going to have particular things that other people do not, I created a spelling test. So this is just, this extends the spelling class method, whatever that says, Hey, check this spelling.

And then I have a list. Ignore all of these words. So I made a list of things that I knew. That Tag, words that, you know, Tag1 uses in various posts, we use Ansible, Drupal, DrupalCon, Goose, Tag1, Yjs. These are all things that we see in blog posts and stuff like that. So if I use those words, it will just ignore these for now on

Michael Meyers: [00:15:18] I , I'm dyslexic.

So sometimes I mix up characters. So, if I write, you know, a puppet correctly, it's going to ignore it. But if I swap two letters, it's going to catch it

Lynette Miles: [00:15:31] as long as it's not the two p’s. Sorry. But yes, if you misspell it, it's still gonna catch it or it should catch it. So let me see if I can figure out which, which one.

So I wrote. I mean, I have this like ignore it. If you see Tag1 Quo. Cool. The other thing I did is I wrote a test to just look for, it's going to look, it's going to look for a substitution. It's going to look for the word quo. If it sees it, it's going to try, it's going to tell me, swap, use this use Tag1 Quo instead of just quo.

So I don't actually, so I have this as an error, not a, not a. I can drop that to a warning, but I mean, if I had the right kind of test written, I would could put this in there and then I would never be in if, you know, if you do the whole continuous integration set up with, you know, Git, you can do GitHub actions, except to say that you can't commit this with this error, fix it before you commit.

So things like that would never get out.

[00:16:39] Michael Meyers: [00:16:39] Now, does it swap it for you to, you know, anytime it sees Quo without Tag1, before it. Does it just change it or does it just warn you or in this case gives you an error that says, yo, you got to change this.

Lynette Miles: [00:16:54] It warns me. So this is, this is a blog post that I was working on.

And I've put, you know, we're talking about Drupal 7 extended support, like you and Michael gave a talk or sorry, you and Jeremy, talking at DrupalCon, this was a summary. So at the bottom, I've said, you know, to learn more about Tag1's extended support program, you want to go look at this post about Tag1 Quo.

[00:17:18] Now so, because I was talking about that, you can't, it's hard to have it grasped two words and make sure it's always the right two words. I have it just to say, Hey, you know, make sure this is Tag1 Quo. So it's got right here. I've got in the bottom. This message just says, Hey, be sure you're using this. And it tells me what line, what character exactly.

[00:17:40] Where is it? If I click it, it will take me exactly to where that problem is. I can double check. Yup.

[00:17:46] Michael Meyers: [00:17:46] That's great. Is it possible to tell, like in this particular case you wouldn't want to automatically swap it. Is there ever a time where you want this thing to take over and change your writing or, or is that not even a possibility?

[00:18:03] Lynette Miles: [00:18:03] I mean, I guess it depends on what you're really after, because there's cases where you're doing things like changing a product name. And then, but in that case, like if I'm doing that, I'm just going to search and replace, especially if it's a full, like I've pulled just a bunch of stuff down from the repo, but I'm just going to search and replace it.

[00:18:23] I don't really like to do that a lot, because there are times where you're using - just the way the sentence structure works. And depending on how you're referring to a thing, you may mess it. It may, it may not flow right anymore. And you may be willing to accept that.

Michael Meyers: [00:18:43] Let let, let's be honest. I'm looking for a program.

That's going write for me. When does the AI get to the point where it can just write my email .

[00:18:52] Lynette Miles: [00:18:52] Write your In the email I send it to you? It's like here what's this. No, no, no, no. Stop

[00:18:56] Michael Meyers: [00:18:56] So your recommendation as a professional writer is, you know, show the errors, show the warnings, but you should look at it and make a judgment as to, you know, how you want to put this in place.

[00:19:09] Lynette Miles: [00:19:09] Yeah. Okay. So like, I mean, this is a semi-technical post, but so if we scroll down and really like looking at how widely used versions of Drupal or widely used versions of software versions are retired, this is true. This is like, there's not a good way to rewrite this in this context actively, you know,

[00:19:33] Michael Meyers: [00:19:33] it finds the problem, but it doesn't say.

[00:19:36] In this case, it doesn't say, you know, you should consider replacing it with this. Whereas like, if you write policemen, it'll suggest, you know, maybe you want to write police officer. Okay. So sometimes it gives you suggestions and sometimes it just says, Hey, there's a problem here.

[00:19:58] Lynette Miles: [00:19:58] Yeah. It depends on how you've written the test.

[00:20:01] So there's tests that like have a swap and there's some that are just like, Maybe reword this. So there's things like, so it has a test for weasel words. So you have words like, you know, it's likely this thing approximately, you know, stuff like that when you're using words like likely, and, and maybe in technical writing, it wants you, you want to be specific, right?

[00:20:28] Like, and when you're talking about some things, this thing is probably going to happen and this kind of a context is fine, but when you're talking about. Hi, you click this thing and maybe, this box will show up. No, that's not good for your users. You want them to know what exactly is going to happen? You want to be specific as possible.

[00:20:50] Michael Meyers: [00:20:50] These are, I don't know. I love the names. Write-Good, weasel, too wordy. You know, they're there. Yeah.

Lynette Miles: [00:21:00] Yeah. Well, I mean, so then the other thing is that like words, it pulls up, catches things like this. There's a, you can add a test in for literally readability there's I'm going to butcher the name, but Fleisch Kincaid is one of the two or three tests that you can actually add in that looks at your language, your style, the complexity of your sentences, and gives it a grade score.

[00:21:27] So you can see like approximately the audience you're actually aiming your writing at.

Michael Meyers: [00:21:33] How do you have any, any sense of how it does that? Is it like looking at, you know, you're using like really sophisticated words here, words that are more than so many letters, like, is that the kind of stuff it's looking at?

[00:21:46] Lynette Miles: [00:21:46] Yeah. And there's a whole algorithm for that. We use Flesich Kincaid before I've used that one before, so I think. If I'm remembering correctly, I mean, this is easy to find out that it does things like it looks at your word choice. It looks at complexity of sentences. So if you've got, you know, the short click, the button, that's, you know, that's a lower layer, but when you do this, then this will happen.

And as a consequence, blah, blah, blah, that's a more complex sentence. So the longer the reader has to follow it, and the more things that are happening in a sentence that raises the grade level. Okay, until it gets to the point where you can say, Hey, 25 words is too long. He really needs to stop. We need to stop and cut that in parts.

Michael Meyers: [00:22:32] Is there a recommendation for people? Like, is that something that's part of like the Microsoft style guide, like we're targeting this grade or is it just something that like you determine, you know, for your audience? You know, you say we want to write in this fashion and target this grade level.

[00:22:49] Lynette Miles: [00:22:49] We decided that when we did it before we decided that

[00:22:52] Michael Meyers: [00:22:52] it's not a Microsoft thing. Okay.

[00:22:57] Lynette Miles: [00:22:57] We decided that we decided it on our own because, and then we ended up cause we were, we were trying to target like 10th to 12th grade level or like, and then we ended up with College and above level because there's jargon in our industry. There's so much. There's, I don't want to say jargon, but really it's very specific to what we're doing.

Kinds of things. When you start talking about PHP and mySQL and adding all of these, you know, run this command and all these things that are very specific to web development and web hosting and all these things that we do, you can't make that you can't drop it. It's really hard to drop it down to that targeted eighth grade or level or whatever.

[00:23:42] Michael Meyers: [00:23:42] Can you show us, uh, you, you, you put an article in here. How, how do you get an article in here? Do you just like create a document and paste it in?

Lynette Miles: [00:23:53] Okay. So I just made these, I just made some files over here. This is like, [00:24:00] this was transcripts I'm working on from some of the blog posts from previous Tag TeamTalks.

I'm working on transcripts so that we have them available for people who just want to read, and then this was the blog post. So yeah. That's so one of the reasons you have to be, you want to think about where using a style is literally, this is like the kind of, when we talk, we don't necessarily talk the same way we write.

So our good friend, Preston, he likes to start a sentence with the word “So”, and it's not just Preston, I'm picking on Preston cause you know, But, you know, people use that. They use the word. So when you're writing, this is not necessarily a good way to start a sentence, but like, this is an error as far as Vale is concerned and people do it all the time.

And we use a lot of these very vague or, you know, emphasis words like previously and very, and those kinds of things. And that's great because it's engaging when you're having a conversation. But it's less precise and specific when you're writing.

Michael Meyers: [00:25:07] Yeah. Yeah. Okay. So you, you create that you, you import it into this program and then how do you run Vale?

Like, does it just happen or do you need to tell it to run or

Lynette Miles: [00:25:24] So with the extension for VSC? It happens when I save. So let me actually, so I've got a great example right here. So Symfony. Symfony is a word that is specific to our industry, right? So I don't want it to tell me. So if we look, look in here, Symfony, it says it's Symfony, actually a word.

This is spelling check Symfony. Yep. We know Symfony exists, it should go in spelling exceptions. Put this in order - Symfony. I spelled that. Right. Didn't I, okay. So I'm going to save this exceptions file cause

Michael Meyers: [00:26:00] Because its very important that you spell things right in your dictionary.

[00:26:04] Right!

[00:26:04] Lynette Miles: [00:26:04] And I have in fact screwed that up in the past, which is why you'd never commit your own code.

Like Greg says his thing, cause yeah, I did. I totally did the wrong thing to the dictionary and I added it to the wrong dictionary. That was, that was good too. Okay. So this was. alright, had this before I saved it in the dictionary. So now when I save it this time, there it goes it's gone, and now you're

Michael Meyers: [00:26:29] You're telling me, that Symfony, isn't a dirty word.

Lynette Miles: [00:26:32] Symfony is no longer a dirty word. So now anytime that I'm writing something and I use the word Symfony, it will just ignore it. Cool. Symfony's a valid word. Oh yeah. So yeah, Corona virus. I can add that to the dictionary. It will go away. It will stop doing it.

[00:26:50] Michael Meyers: [00:26:50] I didn't see run it. Did, did you do that so fast that I missed it?

[00:26:53] Lynette Miles: [00:26:53] Okay. Yeah, I did just save the file. I'll do it again, coronavirus. So I'm going to add Corona virus to my spelling dictionary. Save that file. Go back to my post that I was working on. Okay. So here's coronavirus in the UI highlighted. Here's my arrow down here in the bottom. So if I just literally saved the file.

Come on. Save the file again. Really? Why aren’t you working this time? Oh, you know why? Because I put spelling exceptions. It's looking for capitalized coronavirus. I need to change that now. It's gone.

[00:27:29] Michael Meyers: [00:27:29] Wow. So are you resaving the blog posts or is it okay, so you saved the dictionary. You come back to your post, you save it and on save the plugin runs.

Lynette Miles: [00:27:45] On save the plugin runs and then, so I I've, I had filtered it down, so there's no more spelling problems in this. So now I can go back to looking at all the other things.

[00:27:57] Michael Meyers: [00:27:57] And it says that there's 30 [00:28:00] warnings in here.

[00:28:00] Is that what he problems?

[00:28:01] Lynette Miles: [00:28:01] 30 problems. I mean, and I can like hide this window and it shows up down here too. Down here on the bottom of the,

[00:28:09] Michael Meyers: [00:28:09] I hide the window and the problems go away.

[00:28:11] Lynette Miles: [00:28:11] Yeah, I wish right. If only were that simple, I mean, you know, and there, again, they're not problems with this particular text, just because of the style of text. If I were writing documentation, I would absolutely fix basically all of these.

[00:28:26] Michael Meyers: [00:28:26] Is there a Gmail plugin for this for avail?

[00:28:31] Lynette Miles: [00:28:31] I think the Vale server actually works with. I actually I'm actually, I don't know if it works with mail, but I know it worked. I'm pretty sure it works with Google. That's something I want to actually experiment with that because right now, when I'm writing things for someone, I'm like doing all the working and doing a bunch of work and then I export it to Markdown and then I paste the Markdown in here and I'm double checking it here and then I'm going back.

[00:28:52] So I'm like, it's not the cleanest workflow for me. Yeah. But when you're working in like that Docs as code sort of methodology, you're pulling down from your repository, like, you know, you're doing a Git pull, change, your files, you run Vale, you make your unit, you make your, a commit, you create your pull request.

[00:29:11] And it's all part of that very clean process for a developer.

[00:29:17] Michael Meyers: [00:29:17] That's great.

[00:29:18] Lynette Miles: [00:29:18] Or writers who are working in that kind of repository.

[00:29:21] Michael Meyers: [00:29:21] Let's talk about licensing fees offline. If this is something the team can use, you know, and it's reasonably priced, I think it would be a fantastic investment in, you know, getting rid of, you know, we want to automate it, and smooth out that process as well.

[00:29:37] Lynette Miles: [00:29:37] Yeah. I mean, I only have a couple of tests right now for you, but, um, that's part of my background thing here, at Tag1.

[00:29:45] Very cool.

[00:29:46] But this is where having a company style guide, like that's the first thing that you want because you don't, otherwise you end up with this kind of mishmash of stuff. I'm like, I know spelling, like I know these are words we're always going to use.

[00:30:00] These are just common words for, but. There's so many other things that you can do as well, that are dependent on just the way that every particular company operates. Do you like your headings in sentence case? Do you like them in title case? Do you like your bullet? You do like your list this way. Do you like it that way?

You know, all kinds of different things. These are, these are like super simple examples. Yeah. But as a junior writer, When you're bringing in a new person, being able to just be like, Hey, fix all these little things, go do the thing. Or when you get like outside contributors. So there's other companies like Digital Ocean. They have a lot of outside contributors and they run, they work with technical editors. So, you know, when you can run tests like this, you can say, here's these things we expect you to not ever send us. Right off the bat and it gives you that concrete starting point where everybody's working [00:31:00] for the same and it just cuts off editing time.

[00:31:03] Michael Meyers: [00:31:03] It's this is great. I'm really appreciate you showing off how this works. It really closed the loop for me. I am going to download studio and set this up. Maybe we'll do a tutorial on how to do that. And then I'll,

[00:31:21] I'll do this.

[00:31:23] Lynette Miles: [00:31:23] I would be happy to write a tutorial for that. Cause I can, I love this subject.

[00:31:30] I we've given, you know, we did talks on this at Write the Docs. There's a Test the Docs channel. If you, if people are interested and want to learn more about it, that's, you know, the Write the Docs Community is amazing and friendly. And one of the most inclusive communities I've ever been a part of, I, if this is the kind of thing people are interested in , there's people doing just amazing work in this space right now.

Michael Meyers: [00:31:55] That's great. Well, thank you so much for giving us a demo and a walkthrough. [00:32:00] I can't wait to do the how to, again, for everybody. please remember to check out part one of the broad overview of what these tools are. Part two, it gives you a great sense of what the different tools are that are out there and some of their strengths and weaknesses and where they're a good fit.

[00:32:21] All the links that Lynette mentioned really. You know, interesting finds will be in the show notes. So be sure to check those out. If you like this talk, please remember to share upvote and subscribe. Uh, as always you can see all of our Tag TeamTalks at tag1.com/tagteamtalks, and we'd love to get your input and feedback and ideas on what kind of topics you want to see us cover in the future.

[00:32:46] You can reach out to us via tagteamtalks@tag1.com. A big, thank you to everyone who tuned in and joined us today. And to you, Lynette, for walking us through all of this, that [00:33:00] was phenomenal. Really interesting. I think, and hope that the people who joined us got a lot out of this today. And I look forward to the how to. Thank you.