 Thank you for coming and joining us here in Austin today and kind of taking, using your Labor Day for, for hanging out with a bunch of other Django folk. So yeah, so I work at the Texas Tribune, which is a, start bancing my slides. News outlet here, based out of Austin, Texas, we cover state-level politics and policy. So we're really interested in anything that's going on at that big pink building just down the road. We, I'll be explaining in just a second what news apps means and kind of the bigger picture of the Texas Tribune and how our kind of technology groups are organized. But just to touch a little bit on the Tribune itself, we were founded in 2009, so still relatively young as far as news organizations go. We launched on election night in November of 2009 and we were kind of, we were founded as, intentionally as a nonprofit and that was that, you know, is funded through membership. So it was a little bit of the kind of PBS and MPR model. We have foundation support. We have events that we host that we charge admissions for. The Texas Tribune Festival, for example, is one that's coming up here in October. You can get Tribune people back there, yes, October. That is actually here at the UT campus and the HT Conference Center. So if you're around, you should come check it out. We have the largest state house news bureau in the United States. So that means that we have more people who are covering state politics than any other organization in the U.S., which has been one of our initial kind of claims to fame and one of our kind of goals when we were founded was to fill in the gap that we saw was kind of left open as a lot of the other news bureaus kind of were, you know, figuring out where everyone was going. Good news is a lot of these other organizations have definitely rebuilt a lot of that team. So good news for Texas and good news for state coverage. If you've never heard of the Texas Tribune or just maybe you may know a couple of these things but we have kind of a few different projects that we tend to be known for. The Salars Explorer, which is one I'll touch on a little bit later, is one of our kind of biggest traffic draws and one of our biggest actual data applications that we have currently has more than 350,000 state employees within it and from more than 50 different agencies in the state. This is something that we're constantly updating, constantly adding new agencies and refreshing the data and the kind of goal or purpose of this project has always been to kind of show the citizens of Texas where, you know, where their tax dollars are going. You know, it's been, it's always been kind of a, you know, one of our kind of bread and butter experiences that we've always had at the Tribune and it's kind of carried it through, I think even, I think it was 2010, actually, when the original version of this came out and this is one of our, again, I'll touch on it a little bit later but this is actually one of our Django apps that I'll be talking about in a couple of minutes. The Salars Explorer, same kind of idea, we have data that we collect from the Texas Department of Criminal Injustice which has, you know, has this big database of everyone that's currently in the state prison system and we've taken that data, we've claimed it up, we presented based on kind of crime breakdown by housing, you know, by the unit that they're located in. This is updated month by month, so as people leave the system, they get removed from a rap as well. But the kind of goal of this was originally to present, you know, make this something that was a lot more user friendly than what the state currently had and still has. It's very, very clutchy. It's more kind of just a search box and hopefully you get lucky finding, you know, looking for someone that you want. So this is kind of a negative of a lot of the work that we do at the Tribune is taking these large data sets, these large state government produced data sets and turning them into things that are more consumable and more user friendly. One of the Tribune's kind of main tenets has always been, you know, and it's kind of a basic news journalism tenet is kind of serving as like the translators of kind of the wonkiness and turning it into something that the people of Texas can use and understand. And our work with data is a big part of that. Our other, one of our other, this is not necessarily a data project, but definitely one of our other kind of claims to fame was our coverage of the abortion filibuster here in Austin back in 2013. This is our last legislative session. It was almost by stroke of luck that we happened to be, that session had got a agreement with the state to stream, to live stream the House and Senate chambers. And we, you know, they've always had the ability to do this, but it was a horrible, real player powered monstrosity back in the, one of the back rooms of the Capitol. And we had got to kind of organize with them to get it turned into something that could actually be on YouTube and be streamed to YouTube, which really opened up the audience and just the ability for people to actually see this stream. And again, just kind of just so happened to be that that was a very good year to have that live feed and have that live look into what was going on in the House and Senate. That was a very, very long night. But, you know, we've, this was kind of our push to send to doing something very similar this year as well, and really kind of change the dynamic there that it's now really expected and understood that this is something that, you know, people will be able to watch all across the state. So today, kind of what we're, what I'm hoping to kind of get to kind of tell everyone about is like as a news organization and as a pretty small one, like how do we kind of go into our decision making about when and when not to use Django for our projects? And when, if we do decide to use it, like what goes into making those decisions in terms of how we're going to architect it and how we're going to choose what components are part of it and approach the deadlines and kind of turn around for that. How we make that small team work in this capacity and I'll be kind of explaining the dynamic of that team here just in a sec. And then I'm just going to talk about the, a couple of these projects, the salaries, database will be one of them that I think are just kind of good representations of the processes that we took and how we went from, you know, starting with, starting with kind of day one brainstorming meeting and got to final product. And of course, we'll be saving some time for questions at the end. And as I'll just kind of add this to, if there's like, I'm, as I'll explain in a sec, I'm, there's a news apps team and there's a platform team. So if there's very technical questions, I may not be able to address. There are three of them right back there. So if they, so do not feel afraid to ask those questions because I'm sure one of us will be able to answer. So news apps, what, what, what does that even mean? So it was actually right at the end of last session, the 2013 session that we decided that kind of the arrangement we had before is that we had a technology team that was responsible for a whole lot and still are and do a great job. But was getting spread very thin by kind of the editorial demands, but also the demands of the business side, the marketing side, membership. And kind of looking at how the rest of the industry was going where they were kind of making these dedicated teams to producing editorial products. We knew that this was something that we also needed to do. So Becca Aronson, who is one of my co-workers and one of the co-leads of the news apps team, I, and Travis Weisskut, who is also here, who was with us at the time, we kind of split off and kind of deemed ourselves the news apps team. And our job was to be kind of dedicated to what, you know, anything that editorial needed, plus these kind of more editorial focused data projects like salaries, prisons, and other ones that came up. So we do still have our kind of tech platform team. This is the gang back there. They're responsible for building and maintaining our content management system. And they're the ones that work very closely with marketing, membership, and business to kind of get their needs done. They've been working tirelessly on the Tribune Festival site and launch. And also are responsible for keeping the ship afloat. They're the ones that keep an eye out on deployments, what we've, and work closely with news apps to kind of, as we get to deployment phases with our projects, we'd often turn to platform, often specifically Daniel back there, to make those things happen. And I apologize for what's next here. I just, I always left out every conference, every talk that talks about Docker, which I'm going to briefly mention it has to have a ship container thing. So I wanted to continue. I didn't want to break that thread. So there's been a lot of great ship container art that's come out of this product. So news apps. So we are actually on the editorial team. So we are technologists that are embedded with the reporters, with the multimedia team, with the art department to do development based around that. This is a good point where I kind of stress like we're sitting in the same room as the reporters. We're all together. That's also true for the tech team. So the Tribune, we've always tried to really keep those walls, take those walls down and not let it be very much kind of technologies over here. And news people are over here. We're all kind of working toward the same goal. We're always in conversation, always talking. So we're the team that's kind of dedicated to doing the development work for anything that comes up for editorial. Depending on the time of year, depending on the kind of scope of the projects, we kind of morph into different kind of arrangements. We also work on graphics that you'll see running in our stories. We build interactives. We do the data explorers, again, like salaries and prisons. And also work on the bigger series features that are more kind of text or multimedia based, but we're kind of the web development team that puts those together. And we're also responsible for working on data reporting, which is definitely kind of Becca and I's background. We kind of came from being more kind of data reporters for the newsroom and transitioned into doing more development, but we still do that stuff as well. So if data sets come in, the reporters need help with kind of parsing through a bigger data set or just making sense of it, that still kind of falls under our tent. Just to kind of give highlight a couple of them, and these links are all included at the end, just to kind of give a list of things to kind of touch through, but just examples of some of the things that we focus on. Faces of death row, for example, was our project that looked at everyone who was currently on death row in the state of Texas, which I would have looked up the stats on that. But at the time, this is an older photo, and I of course cut off the number, but more than 200 people are on death row in Texas. And we went through the painstaking process of getting the mugshots for all those individuals, which was something that the state agency was not at first really, really wanting to release. But we wanted to present this large group of people that are just kind of been some people more than 40 years have been just kind of in this system and give kind of resurface that conversation. Kind of more on the interactive side. This top right here is kind of just a snapshot of our reservoirs explorer. This is our kind of just live tracking of the state of the reservoirs in Texas. This is something that we, not Jango, but this is something that we've had for three, four years now. And we every day get fresh data that's that this keeping track of the state of every reservoir in Texas. And this is one of our kind of more wonky but popular apps that a lot of kind of our audiences interested in water issues will very, very quickly tell me whenever it's out of date. So we have a small but passionate audience for that. And the Texas Legislative Guide, which is at the bottom right, which I'll touch on again in just a little bit, was our big project at the beginning of this year to kind of as a combination of data and editorial to kind of approach the coverage of the legislative session a little bit differently. So one thing I wanted to kind of touch on is kind of leaving the breakout of the team's part is another part of the reason that we have kind of the explicit platform team and news apps team is there's this formal and formal kind of line in the sand for editorial that we intentionally keep it that way. And while we all like everyone in the organization and we all get along great, it's definitely kind of meant to be a separate, there's a reason why news apps doesn't do membership and doesn't do business. We feel better about knowing that the teams that are dedicated to editorial don't touch any of that stuff. And that's been kind of our another big part of breaking out the two teams into separate kind of groups because we wanted to be able to maintain that. And of course, doesn't mean we don't still, if technology things come up that platform needs help with, we'll help with, but we definitely kind of try to stay as far as much as we can away from the content aspect of that. So as being a talk at DjangoCon, it'd be assumption that we're using Django all the time, but no, not actually. We very much, if just I just went and found a bunch of random things, we actually do use all these though, Flask, middleman node. You know, we always want to make sure that we're approaching everything with the right tool. It is, if an app can be a static app and has no database, has no app server, it is a fantastic good day. And I will fight for every project that can be that way. Because it cuts maintenance down to practically nothing, just hoping that S3 doesn't go down. So because the team is so small, you know, this is really important that we don't let everything kind of blossom into a big Django or big, just any like database driven project, because there's only so much time that we have. And we're also kind of on the hook for maintaining all of these pre, you know, the salaries, prisons, all these other apps that don't really have an end. Like they will, they will continue in perpetuity until I guess the tribune is no more, which is hopefully at any time soon. And we know we want to try to save the bigger tools, the heavier lifting for the projects that are, you know, more suited for that. So of course, it kind of pivots into the question of why are we doing Django at all. I think Rails is okay. It's fine. Flask is definitely simple. And you know, if we need to just kind of have something that's sitting in front of an endpoint, that's great. And static site generators have just exploded in the past couple years, and it's just kind of continuing down that path. There are some news organizations that will have committed to only doing things that way. And I think that that's, that can be a challenge if you're just really refusing to ever touch a server or a database, but it's certainly possible. But for us, you know, it's the batteries that are included that Django just makes it really easy for us to, to turn projects very quick or at minimum explore project very quick. You know, they're very obvious one Django admin. We do, you know, I do think that we've, in some of our situations, we've, we've leaned on the admin a little too much, but, but for internal projects, it's been fantastic because you get that basic kind of crud setup for free. We've been able to kind of do, you know, spin up an app really quick just for data entry, just for working with reporters that have, you know, something that we know we can't scrape something that we can't do, just kind of process through as like a spreadsheet. But we want to, you know, ensure that we have kind of the validation in place for every step of that process. Often, you know, almost, it's, if there's a very good chance that if we ever are touching Django, we are using Django and PostJS in some capacity. Almost it, pretty much anything we've, we've done has this kind of just GIS element to it. So often we're looking at things at the county level, at the city level, at the comparing, you know, the state totals to local totals. And, you know, the real power of this combination is that we, we have to, we get to spend a lot less time thinking about how to manage that data, how to turn it to something usable. We can just load it, model out, load it and go. And that's, that's definitely kind of a good, this cuts out a lot of that, that very distracting figure on how to organize things. So many of our kind of, we have, so we kind of have two different kind of kits that we have built out. We have our Django powered kind of templating that, or setup that's meant for, you know, your more traditional apps where you have the database and you're loading all the data there and then generating pages from that. But we also use kind of our version of our static site generator, which is written in Node, that uses a templating language called Nunchucks, which is almost identical to Genja 2. It's actually kind of crazy how, how they've, how it's just, it emulates it so closely. But the advantage is that, you know, there, between the Django template language and Genja 2, there's not, you know, there are differences, but because they're similar enough, you know, we're able to get designers and other developers to really kind of, when they're needing to build pages, the mental jump is not very far. You know, we've, there's, that's, that can kind of go from working on a static app and looping through data and, you know, building lists and then come to a Django project and do the very same thing. And it's, it's not, not a big, like, loss of time for them to figure out the differences between the two. Certainly comes up, but it's great for, for just having that, that breakout. For me, one of the best things is just being able to do the data modeling and probably my, my weird favorite part of doing anything in Django is building out the models because that's, feels like Lego is almost to me for some reason. But, you know, it's great because we can, we can use this again. It's all those built-ins, all those kind of affordances that you can get from, from just, you know, modeling out what, what the does and look like, all the validators, all the forms get, come along with it. And then using those forms and validators for the loading of government data. So, you know, we have, you know, we know, you know, we get, we can use the built-in Django kind of logging systems to, to kind of throw up that flag and say, hey, there's something funny here. This date doesn't have, there's only three characters in a year. You know, there's examples like that, that, you know, when we, you know, doing a lot of things kind of with Excel, sometimes we don't know, we wouldn't always just like come across those sort of things. It would, it would very easy for it just to kind of, kind of pass through and not notice that something was wrong. And because it's so easy to spend these up and so easy to kind of build out those, those, those kind of structures for this, this, you know, we can, we can, we know, you know, it's worth that extra kind of like hour to build out something just so we get all the extra additions. And of course Django being, you know, birthed out of a, you know, news organization, we've, you know, we have a great community that, that we can work with and interact with, you know, if there's challenges or if there's, you know, just, just watching whatever else is doing. And I put this up here just because if, if anyone knows much about the kind of the news layout or kind of landscape in terms of platforms and things that, that New York Times has always been very traditionally rails, they use everything. I mean, if there's go back there and everything, but I was just very excited to see that, that Django is starting to make its way in. So hats off to you, Jeremy Bowers. So, for how we kind of, we approach our projects, you know, we, we, we know that often that our timelines are going to be very, very tight. It's, it's very rare that there's one exception which I'll get to, but we, there's very rare that we have kind of a long like year, six month kind of span that we're going to get to really work on a project, take the time tweak it, push back for a month, certainly happens, but often, you know, there's all these other kind of elements that go into it. Or it's just something that we need out quick. If a project is going to not exist forever, like one of the, you know, one of the major data apps, they must have a sunset plan. We have to have a process for eventually turning that server off. Because we've, I think we've seen a lot, we've, even we've experienced and we've seen a lot of other news organizations that, you know, the ease of building it is exciting and, and you get it up and it's running and everyone's excited. But then eventually, you know, some, you know, if it's not something that's, that's top of mind being updated on a regular basis, someone's going to forget about it. And, you know, worst case scenario, it goes down. Other case is it's just bleeding money. I mean, you're not, you know, no one's, no one's really noticing that. So, you know, we always want to be sure that we have a plan for kind of turning off the servers, turn off the database and letting it continue to exist in just kind of a frozen state. So the first of the projects I was going to just, was going to touch on was the disappearing Rio Grande. So we, and I'll actually, I guess I can't click on that, but so this project was one that was pitched to us by a freelance reporter named Colin McDonald. He used to work at the San Antonio Express News and was, had been itching to find some pathway to traveling all the way down the Rio Grande River. And he wanted a place to publish this. He wanted a place that he could kind of maintain kind of a running blog of what his experience was. He was going to have an award-winning photographer traveling with him. And he would already had set up a Kickstarter and was getting that funded and reached out to us and said, hey, do you want to be the partner on this? And when he was at the Express News, he actually kayaked all the way across the Texas coast, went from bottom to the Louisiana side. He hiked across Big Bend in like 12 days. So the credentials certainly checked out. He was very serious about taking, starting all the way up in Colorado and coming all the way to the Gulf. So this was a project that kind of, you know, regrettably kind of snuck up on us because we, we kind of went back and forth about the feasibility of getting it, you know, being the partner and then how that was going to work. This was kind of in that weird little void when we were kind of the post transition and figuring out how we were going to kind of own this project. So, but, you know, we knew that this was something that was going to rise to the level of being a Jango-powered project. So for the, you know, what we needed to have is that we needed a way to, you know, was actually very cool was that Colin was going to do a lot of data collection as he was traveling down the river. He was taking water measurements every night. So every, every, they were, they were camping along the river when they were in places that they were allowed to camp on or got permission from the private owner, property owners. And at every point he was doing a water measurement to kind of test what the state of the river was at that time and at that location. So when we were building this out, we had to build something that was, that supported that that was easy for him to, to get that data into the system. And there was the extra level of, you know, he was going to be often, you know, sleeping in a tent and was not necessarily always going to have a good enough connection to just be sitting there, you know, typing numbers into the Jango admin. So, you know, it had to be something that he could email off and get, if, if, if someone to kind of help him, you know, get all that information in. What was probably to me the coolest part of, of his kind of trip was that he had this little, little clicker essentially that was a G sent out a kind of ping up to a satellite that said, this is where I'm at. This is my lot long right now. And we were, we were able to work with the kind of creators of that system to get access to their API and get that feed. So like as every time he hit a point, we would know within, we were checking it probably like every 10, 15 minutes, we would know within 10, 15 minutes exactly where he was at. And we're using that data to kind of build out these, these kind of bigger interactive maps that, that, that showed like where he traveled there during that day and kind of collected into this big, like bigger map that was looking at what, you know, his whole kind of trajectory as he traveled down the river. We also had to kind of do the media uploads, build sort of a galleries because again, this, you know, didn't want to waste this fantastic photographer that was traveling with him. And probably one of the biggest things, and this, this, this will, you know, there's, the one kind of product or like app suggestion I will make and advocate for was white noise, which has been one of our kind of, you know, great, great tool to have for, for these quicker apps when we don't have to worry about, you know, building out static file servers for everything, even though it, you know, it's going to list, exist for two weeks, white noise wraps that up into when Django's serve. So it provides that kind of same functionality, but it's both wrapped in. It was originally kind of, or not originally, but it's been was always kind of pitches a good partner with like Kuroku, because you get that kind of, you don't have to set up all the separate hosting for the static files. But for our purposes, it's been great because again, it's so simple and straightforward. You know, especially if an app again, it's only going to exist for a couple weeks or a month. It's not ever going to really have the load that we know we need to like build out this kind of multi redundancy setup. So this is one of the stars of every, every app these days, but want to just kind of plug it there real quick. So the Texas legislative guide, which I showed off showed us the picture of a little bit earlier, was again, like was our most recent kind of bigger Django project. And our approach was that we've, we've had covered a couple of sessions and usually we, you know, we had our standard stories and coverage that was going along with that and we had built out in the past, build trackers effectively. So using the state's data to to kind of like have our own interface on the state's kind of the state of the bills in session, which worked and was good. And it was definitely a much more enjoyable kind of way to interact with that bill data. But when we were kind of approaching this way, but this new session, you know, we wanted to try to figure out a way to do that differently. Because we kind of had approached, you know, we felt like we had approached a lot of those previous sessions, like we get bill tracker, good, we're done. But for me, and this was kind of a personal kind of challenge I had with that, was that, you know, we often in stories would talk about these bill numbers, it would become SB 20. And then every time a reporter wrote about it, it would be SB 20. But if you came into this, the session, you know, a month or two in, that bill number means nothing to you, you know, there's no, there's, there's, you know, it's dissing, it's not attached to the actual issue. Like, you know, for some people, it, you know, rises to that level that they recognize what that is. But if you're not someone who's falling this day to day, that that bill number, you know, could potentially, you know, you have to go hunt and figure out what that actually means. And also, as you know, the challenge in Texas is that issues on bills, just because a bill dies doesn't necessarily mean that its issue went away. It can pop back up on an amendment that, you know, they found a thread of kind of connection to, and then the very same language could end up somewhere else, but now the bill number is different. So we wanted to approach it, you know, again, less about the bill number or more about the actual issues that we were, that were being covered. And we really wanted to let the reporters be content experts that they are, that, that, you know, it was less about kind of trying to aggregate all this data into one place that someone can just go look at. But giving a platform to the reporters to actually kind of maintain this evergreen look at what each one of these issues were, you know, were going through. So, so like campus carry, for example, like, you know, we, you know, we were covering that very diligent, you know, constantly, but, you know, the language and the bill that was doing that kept moving, it kept traveling. But, you know, instead of us making about that bill number and then having to explain every time that it changed, you know, we instead just let it be this kind of block of text that the reporter was curating and building kind of this list of stories that they had been writing about it and let that be what informs, you know, what's happening with that issue versus just kind of having to try to draw all these lines and every single story with like three paragraphs at the beginning of like, it used to be here and now it's here. And also we really wanted this to be something that had a designated end. You know, we wanted this to be something that was purposely dedicated to being, you know, a resource at the end of the day. So like, so one session ended, it would be kind of like frozen and be a source that you can go to and see, okay, what happened in this session? What happened with this issue that I was following? You know, we rewrote all of the kind of summary texts to be kind of conclusions to those things. Let's see, I have about one minute left. So just to touch on quick, Government Exiles Explorer, this has been one of the oldest apps that we have back to 20th, I'm guessing 2010 actually, there's been variations of it that have existed. So it's kind of actually a question mark when you would not consider it technically there. But this is our one that we are constantly updating and maintaining, going to give proper shout out to Travis Westgood and Dan Hill who did a bulk of kind of the front work on it. Dan and I were the ones who kind of closed it out. But a big part of what we were kind of going for with this is really wanting to abstract out the kind of the data elements of it and the presentation elements of it, which is actually two separate Django apps that we built for this purpose. And the goal there was to, you know, knowingly like approaching it as, you know, there's a front end kind of element of it, the user facing, reader facing, but also wanting to be able to use that data internally and have kind of the data app in this case that could be repurposed for anything we wanted to hook it into and not necessarily have to travel with the front end elements of that. I can't get that link going, but I'm running out of time anyway. But again, just to touch on what the self-documenting, so the repo, and actually all the repos for all these projects I've talked about are actually open source on our GitHub. But, you know, we wanted to make sure that there's code that's written to clean up every single data set that goes into the salaries app. And kind of a byproduct of it being a public repo is that we wanted it to be both self-documenting but also transparent so people can see kind of how we walk through cleaning up each agency's data set and kind of normalizing it to fit in the kind of the modeling that we had done. And next on our agenda is redoing our public schools app, if anyone's seen that. Just kind of looking at the, looking at data for every public school and district in the state of Texas and letting people find their, find their school and see where it ranks in relation to schools near it and with the state. I was actually hoping to show some of that here today, but we've, I was very, I was way too optimistic about both time and also how far we would get along working on that. So, I will just ask everyone to keep an out for it in the coming next couple months. So, I'm actually going to fortunate at the end here, so let anyone ask questions if they'd like. This will be making this presentation public and sharing it, but these are links to all the GitHub projects and things that I mentioned during this and thank you. Thank you, Ryan. It looks like we have two or three minutes for questions. I have one actually. Yeah. Since you've been working with all these government agencies over the last few years, have you noticed any like change in behavior on their side? Are they more kind of aware of like exporting data? Have you noticed like, are they getting better at, you know, being more transparent and making data more available to the public? Yeah. That's a great question. Yes and no. So, I think that, you know, our best example of this is certainly with the salaries app, which we've, we went through a lot of, and I was kind of fortunate to be part of a lot of those conversations, but, you know, we kind of, when we first started that, we interacted with a lot of agencies that just said, no, like we don't, that's not a thing we want to give you. They actually can't do that as we found. That's, that's public data. But, and, you know, it's kind of like, you know, we, it's, I'm trying to get best analogy for it. You know, we've done the motions enough that, you know, they kind of understand, you know, okay, look, what's, don't, don't play the game of, of, oh, well, that's going to be hard because we've already fought that battle. And here's the list of everyone we fought that battle with, and you're wasting your time. And here's an AG opinion that we've won that battle. So, you know, like when we first were going through a lot of these, you know, we would get like, like, oh, well, we have a mainframe. And, and, and the state of Texas, you actually can charge a lot of money for, for getting open record state out of a mainframe. It's, it's there because you have to reserve time. And I believe it was, I want to say it was UT Dallas. I'm not 100% on that. Actually it wasn't them, but it was another agency that we like, essentially asked, we got to the point where like, prove that you actually have a mainframe before you charge us, you know, $800. And it comes, it turned out they did not have one. And did not know that they didn't have one, which was the most amazing part of that. They just, it was just a charge that they were, this knew that they could make. And no one had ever really pushed them on it. So a lot of the agencies that we, you know, interact with now, like the prisoner database, for example, that's a ring, like we, that we've already like arranged that, like they know we can get it, you know, they do charges for it, we pay, it's, it's a transaction that's, it's understood. In general, kind of across the state, I mean, I think that, I think that, you know, this is becoming, and it's not just in Texas, like it's becoming more of a thing. It's more, you know, people are asking for this data, not just even in, in news outlets. And a lot of places that we've interacted with over the years that used to just, you know, it kind of float, if you don't assign someone as your open records person, it ends up just being like the head of the agency. And a lot of these organizations now have dedicated people, dedicated teams to fulfilling them. So again, you know, we're fortunate that in Texas, and this is true in Florida too, we actually have a pretty generous open records law. It's, it's a lot of kind of no one wants to be, you know, the best way to kind of get back at other people is make things more open when you're in politics, which is fantastic for journalism. And we've definitely taken advantage of that. So I think, yeah, we've, you know, there's certainly still humps. But I think it's, it's, it's become a thing that where we even have agencies reaching out to us to kind of like, hey, we want to make this available. How can we do this better? So, you know, at the end goal, they're wanting to save time and money. We want to do that too. So it's, it's, it's, you know, I would never say it's 100% there, but I definitely have seen improvement over the past couple of years. Thank you, Ryan.