Thanks for coming out. This is, I'm calling to order the select board hearing continue hearing in order to receive evidence on whether to discontinue or designate as a trail a portion of the class four section of the town highway seven. What we're going to do tonight is, first of all, we have the select board requested that the city attorney, the town attorney, prepare a Ask for a survey of the road and a survey has been prepared. The surveyor is here tonight to, I guess what I'm going to ask you to do is come up and have a seat. Timothy Cowan is the surveyor and what we he provided through our town attorney, Joe McClain was here. He provided the survey to us. We in turn distributed to the parties to this proceeding and posted it. So what I'm going to do tonight is ask Tim to kind of summarize and present his survey and then give all of you a chance to ask any questions you want or make any additional testimony you want. I think likely today at the conclusion of this, we will close the public hearing because we haven't closed up here before we just continue. I think tonight will be the last night and we'll close the public hearing and we'll see. So when we start, Jim, welcome. Good to be here. So please go ahead and present to us the results of your survey. Okay, how much time would you like to spend? It could be a half an hour, but I could shorten it to ten minutes. I think ten minutes. You like that. Are there certain people who are able to read, certainly able to read the whole thing? Now there's your conclusions, but I can't remember in the middle. Well, I have some maps to use as exhibits, and I'll be a little bit tough in this situation, though, to be able to stand over here. Oh, that would be great. What's the problem with this? Well, I think you can break it. What direction do you want to go? You have a grade 7 voter. Yeah. And he can be then a white man. And that's it. Why don't you just have him vote? And should we enter into evidence before you? Well, I think it doesn't matter when you enter it in, but I would just have Tim describe briefly what his background of experience is, so that's on the record. So just to be clear, this is Joe Cleaney. He's our talent attorney.  I would like to move to enter this. Joe, is this final? No, we just, we don't need to move to enter this. Okay, at this time. Okay, so I just like to... Yes, two things to enter. Okay, we'll do that. Go ahead, then Joe, tell us about yourself. Of course. Thanks, Joe. My name is Tim Cowan, and I'm a licensed land surveyor and a senior surveyor for a company called Civil Engineering Associates in South Burlington. And what Joe asked us to do back in the summer was to review town records and do what surveying we needed to do in order to get a handle on where town highway seven begins and ends or began and ended and what's going on in between. Make sure you understand that I'm not here to give any advice on what to do with the road. I'm just telling, explaining where it is and where it begins and ends. Those of you that are familiar with this, with the survey built in 1840, it was the original description of this town highway, what we're calling seven now. And those of you who are familiar with it, remember that it starts at the east line of Alonzo York's land. And so the first question I had was, what did Alonzo York, where was his land in 1940? And luckily the land records were quite clear on that, that in 1838 he acquired all of what 22 in Division III from a man named Ealy. And this is a plan of the allotting system in the whole town of Palace. There's three different divisions. There was the first division of these large lots kind of in the middle of town. And then the second division was this L-shaped garden. So a little bit over 100 acres apiece. The third division is this tier of lots along the lines of Worcester on the west side of town. And lot 23 of Division III is up here in Orange. Where is that? Is that? I didn't survey the whole parcel, I surveyed the road. That's the shoulder slot. Okay, that's what I'm asking about. Well, we'll get to that. We'll get to it all over. Yeah, the shelters are on this lot here, which is 22. The one that's filled in completely is lot 23. You can go to the next page. We've got a blow up over here. So in 1838 Alonzo York got the whole of that block 22. And then just a year later he sub-divided and conveyed the south one half of it to Willard and Handridge. And so I'm going to just draw a line across here. That's how the descriptions were written at this time too. When York got that parcel from Ely, it was the whole of lot 22 in the third division. That was the description. And then when he conveyed a year later, he conveyed the south one half is lot 23 to Hanford. 22. Thank you. 22. So the description calls for this row to begin at the east line of Alonzo York's land. And at a point that's six rods, which would be 99 feet, north of the northeast corner of Hanford. So that puts it up in here. Six rods. 99 feet. So the next thing, the description then gives a series of three bearings in three distances. And says it ends at the center of West Kennedy Road. So the first thing I did after looking up the land records part of this was to go up to where I believe the line would be. And sure enough, there's a very obvious stone wall along pretty much this whole lot line. Between 22 and 23. Yeah, between 22 and 23. That's very well marked with a stone wall and some barbed wire fence traces. And nowadays it's painted bright red. I'm not sure who painted it, whether it was the owners now of this lot or the owners of 23. Let's switch to the next page. Can you re-clarify it? Schultz lot was lot 23 in division three. You said it was lot 22. And I'm looking at an ortho photo and it says lot 23 division three is Gary and Jill Schultz. And that's what the lot on the, to the right of where you drew the line. This is lot 22. Right, so lot 23 to the right. That's the Schultz one. Right, so you were going to, so that's what I asked you if that was a Schultz lot and you said there's lot is 22 earlier. So, okay. I'm sorry. So the Schultz is 23. That's what I was thinking. Okay, sorry, I'll just go. Anyway, we've got York in 23 and nowadays Schultz in 22. These are just for, you've probably all seen these. This is Walling's map. I'm confused. You just said Schultz was now 22. I'm sorry. Schultz is 23. Yeah, okay. Go ahead. It was 22, 23. Schultz is 23 division three. I'm looking at it right here. It's written in the report. I'm looking at it. Go ahead. Seriously? Okay, I'll go ahead. This is just a Walling's map from 1858. And I'm just showing it so that you can see that at that time they were showing a road up in this area. And somebody in the apartment had moved at the end of it. And I'll just switch to the next sheet. This is a portion of your beer's atlas from 1873. And we've got a point to the road here. This is town highway seven. It begins with County Road, or one end of it is County Road, and the other end they're showing at Homestead, Mark to L of Carr. The reason I'm showing this is just that I'm trying to go chronologically through the history of the road a little bit. But we'll get more to the survey description in a minute. One thing that's interesting here is if you look at beer's atlas, underneath the road there's a small figure that says 160. That means 160 rods. And so they customarily show distances in rods between intersections, or to show lengths of roadways. And the 160 rods, though, brings it all the way to Mr. Carr's house at that time, which isn't necessarily part of the town road. You'll be having a hard time seeing this in the distance, but this is an aerial photo from 1942. And I chose this because the road shows up quite well in 42. In later aerial photos it doesn't show up well at all because of trees and so forth. I will point out, you can see this edge of woods here. That's that lot line between 22 and 23, which is where I was telling you about the stone wall and the blaze trees and all that. And then you can see the road wandering down here. I've shown the Schultz's house, I've added that quality on there just for context. It wasn't there at that time, of course. But there was a house down here near the intersection that shows up on beer's atlas as a parade in place. I'll call it the praise for now. If you look way up here, near Venice, no, way up here, there is a little block that is homestead that corresponds with the Carr house we showed you on the beer's atlas. That's basically the end of that roadway. I think there's both a house and a barn down there. You can see a little bit of signature of a roadway along here. There's bushes and stuff growing up alongside the road. What you can see if you were able to look at this up close is you can see the intersection of that roadway and our stone wall at the lot line, which is where the description of the 1840 highway, what we call a town highway, now begins there and then goes downhill, cross and connect. It doesn't end here until... That's right, it doesn't end here. This is the important thing is that the question that kept coming up is where does the road, the towns right in this road end and it's at Alonzo York's line and the first thing we had to do is find out where Alonzo York's line is and that's here. So the description starts there and then goes three courses and three distances down to where it intersects with the West County road so-called. If you were able to see this up close, in 1942, if you look at the line of trees that's coming down the hill from West to East, from near that lot line, if you look really closely you can see light marks on each side of the trees. This is a really steep part of the road. It's after the 17th or 17th percent from down here up to here to that steep. And anyway, what I'm getting at is that you can see a little bit of road on each side of these trees and I think what was happening by 1942, the road was so eroded as you all, a bunch of you have seen it, that it was being traveled on either side of the old road and you can actually pick that up a little bit in this 1942 area. And then they come, the two roads, the road on each side of the gully come together again about the area where it gets and flattens out. You can see a cluster of trees along here, a lot of trees and it corresponds with some stone wall that's still there to this day. And then the other thing that shows up really well on this map is that you can see the three roads coming together. County Road, which is called West Hatter Road, Town Highway 5, Town Highway 8, I believe you call it, Town Highway 7. This road came later. This was West County Road, it was around 1808. The road we're talking about is 1840 and then this one was 1851. They all come together out here close to where the Schultz's driveway enters West County Road today. Can I ask a clarifying question? Yes. So you mentioned there are roadways on either side of the gully. The actual town right of way is where? In the gully. That's coming. Okay. Good. Next chat. Thank you. Yeah. So in the report that I emailed that you've all seen, this upper map is overlaid on an aerial ortho photo. I've turned it off for this exhibit so that people can see the line work a little bit better. But from the starting point in the lot line between 22 and 23, there's three compass courses like this. Calls for, I'll have to read the distance because I can't remember. The first one is 54 rods, which amounts to 891 feet. That's the place where it's the steepest and the road is washed out the most. And what you can see of roadway now seems to be wandering out of the right of way on the south side. Right in this first in the upper half of this area. So what we were looking at and thinking was the highway is really outside of the right of way. But it's in the right of way at the very beginning. And it's back in the right of way when you get about halfway down the hill. This isn't unusual. It's a case where roads get eroded and people start going around it. And pretty soon they're way off on the side to get beyond the steep backs of these gullies. Second course, the present roadway. I'm calling it a roadway but it's in quotation marks. It's not much of a roadway. But it comes very close to the edge of the right of way at this angle point. And then where things flop now again, there's very little sign of the roadway today. And that's because it's out in open country and has been probably plowed and so forth. I imagine if you really needed to, you could find an archaeologist or a geomorphologist. They could cut some trenches across there. You could locate where the road was based on the stratigraphy of the soils beneath the ground. But anyway, let's say we did have a line of trees on one side that seemed to correlate really well with the south side of the roadway. But it's the third course down here that's following most of the computing. In the description, it calls for the bearing. And it says, then it's this bearing six rods to the center of West County Road. And so you get there and you're clearly your way up by Schultz's house here. But almost at the end of their driveway. And it's clearly further than 99 feet to West County Road. So first question is a surveyors, how far is it? And it turns out that it's 36 rods rather than six. And I'm talking really close to 36 rods. And there's, in surveying, it's a rule of construction that we use all the time. When there are monuments and there are bearings and distances, the monuments control the end of the line. So if it says six rods or if it said a hundred rods to West County Road, you would be going to West County Road and stop right there. I think the confusion has been that people are adding up the record distances, including this just 99 feet here instead of almost 600 feet. And measuring up the hill from West County Road and coming up well short with the lava line. And that's, to me, it looks like that's caused a lot of confusion. Did you find this Browns mill dams? No, but we know where it is. There would be evidence that it would be the dam, right? Well, the road is evidence of where our road ends. I mean, West County Road is evidence. But it crossed the dam, we know where the stream is here. There's a metal area there. The West County Road was altered in 1836, I want to say, so that it would go across that dam. But as it happens, you pretty much have to assume that the stream was where the stream is now, which we can find. And it is a little bit, well, the other thing is that it doesn't say the center of the dam. We can't tell where that is. And I don't know how long the dam was. So if you go six rods from up West County Road, you're presumably at the end of where the dam was in 1842. But I can't prove that. So you think they weren't dealing with the Scrivener's error? Yeah, I really do. If it was 36, rather than said, if it was 36 instead of 6, it would make perfect sense. And it would be the way we've drawn here. So would you present your conclusions? Sure. Well, hang on before you do that. Building on Mark's clarification, I guess, amplifying your point makes you sure we understand it. It's a Scrivener's error that has read 6 in what, deeds or something? Only in the survey bill from 1840. I don't know of any other descriptions of that. Okay. But it should be properly 36. And the kind of bolstering point you made is that you rely on surveying on the monuments, which are the lot line, which you clarified, and West County Road. Those are the monuments. Correct. Okay. In fact, you'll find town roads described sometimes without any bearings or distances. They'll just say starting at Captain Scott's door yard and ending at Will Jones' house. That's the most true for your business. Madam, why don't we finish and then I will open it for all you guys to ask him anything you want. Just so everybody's clear on the importance of the monuments at the end, it's that the monuments can't be easily mistaken. It's easy to make errors in measurement. You can make transcription errors writing down the measurement in the field. And then the person writing the instrument at the town clerk's office has another chance to make an error. But the beginning point at the lot line and the finishing point at the center of West County Road are very obvious. And if it's 36 instead of 6 rods, then it all falls together very nicely. So your conclusion as to the beginning and end of the road, if you would repeat. Yeah. The road begins at the lot line between 22 and 23, which is clearly marked with stone wall, barbed wire, and red blazes. And it's been used as a lot line for at least since the 1830s before that, as far as we know. And the other end of it is at the center line of West County Road. I was a little bit confused a little bit because I've seen some maps that call this road West County Road too. And not being a native, I didn't know about that. But that road came in later, and that was like 11 years after our road that we're talking about. That's about it. We were going to take independent testimony, but let's start with anybody who would like to ask questions, Tim. Tell us your name. My name is Charles Lauer. Thank you for your professional opinion. My question has to do with monument to monument, the way that we're looking at this last leg. I understand that monuments can't be moved at the corner of a stone wall. A granite post that's buried on the ground and that can deviate from a defined distance on a plan. I understand that clearly. I'm wondering what the limit is for something like that, because we're talking about increasing the number of roads by 36% of the leg of the road. So that's adding 500 feet to this seems completely out of this world. I just want to understand what would be the limit when you wouldn't consider the monument to monument? The thing is here is that we know where West County Road was even at that time. And we know where the lock line was at that time. There's no chance. West County Road was... Yeah, there was a small alteration in 36, but it was just in this section here and it was minor. It was to make sure they could put the road right across the dam. That was 1836 or 1936. So is it increasing the size of the line? No, not changing any of the lock lines. The lock lines in fact, the only place they come into play here is for that starting point near the poverty hill. I think in my understanding, going back to this question, what I'm hearing from you is when you know where the end points are, really that's what you go by, regardless of the distance error. And in this case, you're especially impressed by the fact that it was 6 versus 236. That would have been harder to explain if it said 10 instead of 36, for instance. But as far as the limit, I understand your question is how wrong can you be? You can be pretty wrong because numbers can get written down wrong and they do frequently. In this case, you look at the original instrument and it looks like almost a gap before the 6. And so my pet theory, and I can't prove this, is that the Scrivener is writing down that number and he's looking at the surveyors' notes and can't tell whether that's a 36 or a 56. And so he just puts the 6 and he's going to ask Robert later on what number that was and just never happens. I don't know if we want to go down that rabbit hole coming up with various things that could have gone wrong. We don't have 160 years ago, but of course I'm concerned adding by factor of 6 that last leg of the survey. 500 feet is not insignificant. And so I'm not completely glossing over it and then moving on and just saying, well, it's a problem. Any number of errors, that seems... You're right that it's a lot of feet, it's almost 500 feet, but it's only one digit. It's my digit that didn't get written down. I'm going to add another digit and we're a magnet to make it work. I mean, I work with data every day. I would never be able to use my license because that's just not proper. So you can't just say a 36. Ah, it's probably supposed to be 36. That's completely... Yeah, I'm not saying it's probably 36. I'm saying that would be the conclusion that one would have to reach for all of the other data to fit. You take all of the data into consideration. We've got pieces of fence, we've got the road itself, we've got stone walls, we've got lines of trees, we've got old maps. I think we didn't consider it. There's a lot of data there besides just that 36. But what we're not considering is the reasons why that survey could be accurate. Because it was accepted by the town at the time, so what we haven't talked about yet is what would there have been 160 years ago that would have made that survey correct? And now we're trying to guess 160 years later. And really there could have been a number of reasons where the left that was correct as was accepted by the town. Well, we know it's just a standard rule of construction in reading any deeds or highway descriptions. We know where it begins and we know where it ends. You could pretty much throw out all the numbers. We know where it begins and ends. Go back over how you know where it ends. Can you clarify again, I know it's the beginning of your talk. Now where it begins, that's what you're calling it. How do you know it begins as a town rule? Because we know that this is, the first question was Alonzo York, where was his east line? Go to land records. He owns Lot 22. The east line of Lot 22, we know from our first map that I was showing, we know generally speaking where those lots are from doing surveys further south in the same tiered lots. I know where those lots are. They're general bearing, general lengths of those lines. And when I went to the place where I thought it would be, sure enough, there's a perfect stone wall and everybody's been using it as a lot line here. I understand that part. That's the lot line. How do you know? We know roughly where the half lot line was because we know the dimensions of the lot. How do you know that the road begins there? The western end of the road. Because that's where it says in the survey. It begins at the lot line, to paraphrase it, it begins at the lot line, six rods north of the corn lit north-east corner. Oh, by the way, the fence line has a big gap in it right there.  I agree that's the lot line. I just don't know how you knew the road began. Sharon, you had a question. I think I just wanted to, you just repeated part of what I wanted to say. It's not just one data point. It's the six rods north on the lot line. The lot lines as they were laid out originally when towns were chartered are super clear. And it's not so much adding 500 feet. Nobody's adding. It's clarifying that the road included that 500 feet as evidenced by it started here and it ended here. And that is what we rely on. If there was no dimension at all. There were dimensions and bearings only for these first two lines. And we just stopped here a little bit west of the Schultz's driveway. And then the description didn't even mention any bearings or distances, but said two center line in West County Road. We know where it is. The bearing helps us a lot in figuring out where the line was. By the way, it fits really well. And the fourth survey. The part I can't agree with is they made a 600 foot mistake. I know what you're saying. I don't buy it. We can disagree. This is America. So I don't know. I mean, if you can't believe if you think they made a mistake there, maybe they made a mistake somewhere else. Maybe it didn't go from a lot of property. Maybe it went from French buckle doors. Just don't know.  I ain't going there. And that 600 feet error is not even realistic. Okay? I mean, it's 500 and 600 feet. What does it do? It just gets you to West County Road. Where the road was clearly trying to go from Alonzo's line to the West County Road. So if it's 500 or 600 feet, people are talking about wasn't there the road before you got to the County Road? That's right. That's why I have trouble. Gary's idea. If you start at the top of the hill, Gary, and you're coming down, then it ends in the middle of there. Then it ends in the front of your house. Or farther up. Yeah? Which seems unlikely. From the County Road up, that road stops and trails. A wagon road, a wagon road, off to the left. Maybe they measure from the County Road up and go, we're in the town, we only want to take responsibility as far as this road here. I think it's evident from the words on the actual D that they're trying to build the road from Alonzo's east line to the West County Road. So the only, if you want to argue about where Alonzo's line was, then that's cool to do. Maybe they did. Basically, we're going to go down the County Road. Let's measure it. This is as far as we're going to go. We're going to take responsibility for this budget. We don't want any more. It's still, if you just ignore all of the dimensions, it still goes from Alonzo's line to the center of West County Road. I think we've beaten this issue. That is, our surveyor is saying, what really matters is the beginning point and the end point. You guys are saying, there are so big calls and questions, the whole thing for me, we hear it. Is there any other questions of Tim, the surveyor? Tim, thank you very much for your service. Now, could we please enter the survey and the map into the record? One of you for all of Tim. And, do we have that? I'll make the motion to enter Tim's exhibits completely into the record. And report. Okay, we haven't done motions before. I was listening. We don't need it. You don't need it. You don't need it. I'll second that. We're entering all those in favor of them. We're entering the survey and the maps into the record. We have another map. The maps in the report. And that's exhibit 23. We have an exhibit 22 to take care of, which came in after our last meeting on July 17, 18. This was the conservation. I'll close the motion in minutes where they withdrew their previous letter in support of keeping Town Highway 7 and they have now asked to have that removed and they have, here's a copy of the minutes. Do you want to know what the minutes say? Yes. Okay, Town Highway 7 potential discontinuance. Stephanie noted that in her cover letter to the select board attaching to CC's letter opposing this continuum she had added that after learning more about the issue the commission may revise this position. Josh Schultz explained why his family wants the road discontinued. Stephanie reminded the commission that the select board, not the commission has to decide whether this Town Highway 7 should be discontinued and suggested that the legal question of how long the Town Road is and whether it has a commercial property or steps further may have to be resolved by a court. Stephanie told the commission that Eric Sorensen had said that any new or upgraded roads and a forest block can create habitat fragmentation and the Town already has a lot of people's roads. Larry said that if we had known the road did not extend passing Schultz's line we would not have recommended what we recommended which was to keep the road. Julie said that if there are any children playing the road it should be discontinued. Neil said that the road is a Town Asset whether it extends or has a property line and what we should be careful of setting a precedent. Mark said that the roads are our Town Square but we should withdraw the letter because we do not have consensus among the commission. Mark Brown was on the commission. Thank you. Mary moved and Julie seconded that we tell the select board that at this meeting we voted to withdraw the letter we had previously sent. Thank you. There are minutes of August 3rd. Can I ask a clarification? Does this have the effect of formally removing both pieces from our record or do they just both stay in? I would just leave them both in. Okay. So what I would like to do now is give anyone in the audience a chance if they have anything additional to say that they haven't said we do have on the record every all of your testimony and not only is it on the record we heard it. We actually heard it. So you don't need to repeat anything that you said previously. In other words, we know your positions unless they've changed. If anybody's changed the position or wants to say anything in response to this the new evidence that was introduced tonight please feel free. Yes. Okay. All right. You know, I don't know too much about what's going on but I don't like giving a town right away for other people. I want to leave it. I've been in this town for almost 80 years and I'm born and raised here so I know pretty early road and I walked that road down through what you're talking about and we need to leave some of these roads open for snowmachiners and people want to go on a nature walk and bicycles and we need to leave this stuff and you know, I was set on my behind years and watched this town give all these old back roads up give them up. One right up here over to Jack Hill. They went up there and went right down through Verne Cluston came out on Route 14. They threw all that stuff up. That's crazy.  Well, I got a lot on hand too. I don't care who walks on it just as long as they respect it and don't leave the garbage or anything like that. We're going through and you give take these old roads and put them up just give them up. We don't need to do that. We need to keep these roads open for people, everybody to walk make this town a lot nicer walk around, ride your bikes do what you want to do so all these roads up and I bet you snowmachiners come down that road I know what that road is I've probably dragged gear down there and I think you've left that road I can't remember the name of the pond there's a pond right down there what's the name of that pond? It's not posted It's not posted? It's not on the pond down below It's off the mountain That is Yeah, it's hot in the pond Yeah, there's a road right still in there so just use the trail whatever you want to pass through the pond Yeah You want an old round saddle? Yeah, yeah, yeah Tell me anything I don't know We give that stuff up and I kick myself in the butt every day thinking about what we did We can't just somebody gets a piece of land and they think they own a whole damn world For example Lightning Ridge where I live down the hill, down the hill that road I showed you I've dealt through the woods on the right hand side, very obvious but the old farmers all got together and they dragged the stones off my land put them down in the road and you'll see Lightning Ridge Road where it's always frosty and wet, you know what I'm talking about? That's because these field stones in there and the water runs in there you know where it runs right? That road used to go right straight through here, do you know what? They moved it, they moved it down by, down in the middle down in the gulf right down through I'm probably not the subject but I want to congratulate you guys for making a right decision about the town roads and what's going on in this town what's going on you guys are right probably I'm talking out of line but you are right you know? I can mention just one thing anybody want to know about the town? come and see me I've been here for almost 80 years my grandfather was the first one I want to come up and tell you about the town accounts my father, my dad my uncle, my uncle and I was on a road committee you know I was on a road committee and I talked to the road commission and we told them this you never had any records and I wanted records one of the truckers reached and changed and we never had any of that and now I'll just give you one and then I'll shut up our road commissioner wanted to to read our truck in and most of you have heard this most people in town don't know that he fixed his truck all fixed it painted it, got it all ready it looked nice and then he came to us like what you are not at all you are not you're too guilty that's what really so he traded it in for $2,000 $250,000, $230,000, whatever hundreds everything we found out about this after I know so he takes this truck that he didn't like he traded it for a new one big one, $10,000 he turns around and he buys it back himself for his own fleet and that is bull and he's still running that truck today thank you and I can play with a lot more anyone else like to testify thank you I wanted to come up here and speak to your name Charles Flower Schultz's son also I'm not going to speak anymore about the survey because we beat that horse to death but I will say 500 feet is an unacceptable amount of length to add to any measured roadway without much more review so I'll leave it at that what I want to do is speak to the board from a human perspective here and despite all of this that's going on one important thing that that's happening here that I want to shine a light on and that is this road did exist in certain people of Calis that road was surveyed 160 years ago and that's what it looked like then since then a lot of generations have passed and a lot of changers have come to this town and one of those changers that has come naturally to this town is that road, it was absolutely no use to anybody on the town it became a home ladies and gentlemen could you be quiet please thank you to let the speaker speak with you Doug, please Doug and Gary we can't hear thank you and since it was accepted as a legal roadway it's evolved and to serve other purposes and clearly it has ceased to become a road long ago that was 160 years ago since then this is the third generation of children that live there now and now we're trying to safeguard that land because it's dangerous to have a right-of-way and what happens there's a small handful of people that come out of the woodwork to oppose that and I understand in small towns that's the kind of thing that happens but so I'm up here to try to put some perspective on how long ago that road existed and what it's become now and what are we doing here by questioning that what legal tricks are we going to break out to keep it and do it into nothing it's not even a passable roadway and we all know that you've all seen it so I guess I just wanted to say that out loud that it was served its purpose a long long long time ago it wasn't like 50 years ago it was 160 years ago that was surveyed so when did it fall out of use when did it fall out of use when did it fall out of use when did it fall out of use when did it fall out of use that's a question when did it fall out of use it may have come into being 160 years ago but when did it its use fall away yeah I don't know I heard the gentleman the surveyor saying we've got aerial maps from 1940 that it appears that there were walking pass on either side but I don't know that's a grand assumption you cannot assume that that was used for anything you can't look at an aerial map from 1940 years ago and say well this was probably what traffic this was probably parents traffic so I understand your point I was just a question what if you had any information no but I don't accept a 1940 is that being the use of looking at an aerial survey especially if it's going to turns good folks driveway into it anyway that's all thank you any other questions by the board thank you is there anyone else who would like to testify I would please come up tell us your name my name is Joshua Schultz Gary Schultz is my dad Joel Schultz is my mom I grew up in mom and dad's house and I am now living in my grandmother's house across the road so I've been there for over 40 years and I decided well first I wanted to do this I'm just doing this because dad asked me to because I'm the computer guy and our mouse will send this to you guys electronically but it occurred to us recently that we had never really submitted pictures we did a walk but I think that at least this lady here hadn't been on it and saw the walk so I thought maybe we should send some pictures and we did take these pictures when the survey came out I was able to look and see where it deviated I made sure the pictures were down the side where it was in the road so these are depicting the extent of the damage to the road I did not go up closer to the stone vault closer to the area where it was deviating and Tim the surveyor he mentioned it's washed out pretty much the entire way with that steep grade but I wanted to get some pictures on the record here are you guys going to send this to the NPS? yeah sure I got a copy for everybody here and then I'll also get you this electronically it actually might be a couple extras here I wanted a copy for me and I also got one for Mr. McLean so it just has some pictures here of that roadway and I tried to do my best I labeled them so you guys can read the labels and I tried to do my best even if there's some goofy ones of me standing in there to show the width and height of this wash out area and even up closer to the I mean it's bad all the way through there it's wet even when you get outside the gully it's wet the gully is going every which way even on the outside of the road so it's just a this is rugged terrain up there and Gary is it Josh it's okay I've been calling much worse so it is your position your statement that these pictures are taken in the right way yes sir and probably if you were a stranger walking along up there didn't know there was a road there in most cases you probably wouldn't even know it was a road it was a big washed out ravine I mean you all have seen it so I think during our walk none of us really end up walking in the road pretty much at any point maybe a couple of times we deviate into it but most of the walks we were like out on the edge where it was safer so with that you know you guys can all read through these pictures and they'll you'll get them electronically so you can post them online too that will save you from the scan and stuff make it easy for you first of all I just wanted to talk a little bit about the survey I know that the the survey referenced a lot the aerial photo that was taken in 1941 in 1942 there was a map it was actually one of the earlier maps then there was a 39 one but there was a 1942 map it looked like it might have been the first time when the town of Calis first started kind of excuse me kind of formalizing their submittals to the state of Vermont for what their town maps were what I saw on there on the 1942 map so the first one that was like formal had like a legend in everything to it TH7 so a year after that aerial photo was taken I'm sorry 1941 the aerial photo was 1942 so a year before that aerial photo was taken in 1941 TH7 was tagged as untraveled that was what it said so in 1941 a year before that we know that it was an untraveled road based on the well at least the record it was given to the agency of transportation we also know because I like history I talk to my dad so and also talk to and even like Colonel Bain and I know his daughter-in-law is here but just hearing these old stories from back in the day nobody used that road and these are now we're going back I'm talking to people that are now you know passed on and well not obviously not my dad but and they talked about how that old car farm was always accessed and I know this road doesn't go to the car farm that's in the survey but it talks about how that was accessed from the Woodbury Mountain Road and that also with what my dad says when he used to come up and visit and again we said this during the walk but I don't think it can count as testimony but I'll say it now my dad used to walk over there he was six years old after the war they came over and dad was a little kid and dad said they hadn't walked through a brook like you couldn't tell there was a road down there going up so they walked through a brook to get up the field where the house now is the stone wall that was alongside the driveway and there's also stone work down around the brook down towards the bottom mom and dad's driveway and there's also some stone piles that was me and dad also helped so when my friends in high school were playing Super Nintendo I was out playing with rocks because I loved doing rock work so that stone work there I'm not going to say that there wasn't a stone wall there all I know is that there wasn't one there alongside mom and dad's driveway and there's stone steps you'll see and other stone walls in multiple places that don't look like there should be a stone wall doesn't make sense and that's because you had a high school guy out there doing it so but just so you're aware of that I just, you know, and I can understand why Tim wouldn't know that I was thinking a lot about this and I just wanted to I just want to say that we're talking about this road and I just want to I guess ask the question why so we're talking about why not discontinue and I know that one of the things that Joe McLean had mentioned was that I think it was public need to public good I think I might be getting that phrase slightly wrong but it was about how good does this serve the public kind of thing and I was thinking a lot about it and I was thinking you know there's so first of all let's just for the sake of argument I agree I have some issues with the survey but that aside let's just save the sake of argument or discussion that this road terminates right there at the stone wall that's 49 and a half feet of access to lot 22 I think it is that lot has hundreds of feet of access off of Woodbury Mountain Road which is how everybody accesses lot 22 if anybody in lot 22 ever decided to post their land say for example this TA7 doesn't give anybody access on their property it's just takes you to there it takes you right to the edge of their line just like Woodbury Mountain Road follows the edge of their line and so it's not like this is buying the public like this access to this property that the public doesn't already have so and the public already enjoys the access from the Woodbury Mountain Road and that's how it's been accessed like I mentioned before for I'm gonna say over 100 years because that road was not noticeable in the 40s at least it was not traveled and my dad said if he doesn't even he couldn't tell her the road there he's walking through a block to get up there so when you ask the question why so when you all are deliberating I think that would be a really good thing like why like here we are we're talking about surveys we're talking about this but like let's just take a breath and step back like why what is this buying the public in the town of Calis it's really buying them it's granting them access across mom and dad's property that's what you're buying the people and mom and dad's property and Mr. Lily I don't know I mean I know he's and he's right Doug has been up there hunting because I've seen him up there hunting I was burnt hunting he was deer hunting I don't think you knew I saw you but he was gone oh there he is but he was up there and the he was there because it's not posted dad's never posted his land we've never posted our property and we don't intend to post our property so the public access across mom and dad's land is already there and even if mom and dad did post it like we're not playing on it like they're not access through the Woodbury Mountain Road to get around there and there's parking up there you know it's just that's so you're not we're not like losing something for the town there are not snowmobiles that go up there dad allow snowmobiles on his property the snowmobiles don't want to go up TH7 and they're also very good about asking dad like where where would you like us to go can we go in your land dad's like yeah sure and he just keeps away from the house and everything's been fine for as long as I can remember the snowmobile trail has been on mom and dad's land and so we're not trying to stop snowmobiles we're not trying to stop the the Boy Scouts go up there they haven't in a couple of years but they used to go up there every year and camp public are welcome so in fact more than once if they're going up there and they don't use TH7 by the way because it's hard to walk so so there's that the why when we started this one thing I noticed they started with this process is the folks that have come out to oppose this have been to the same there's a couple people on the select board now I know at least Denise and John were here it's the exact same contingent of people that opposed the ancient roads to the I think almost to the T and and I know TH7 is not an ancient road it has it's a class 4 road I understand that but in spirit it kind of is it's one of these like forgotten roads that is nobody uses it it just lingers on the map it's been untraveled at least officially since 1941 and it's just one of these roads that are just there that are a nuisance to one family and I would even dare say that there's some ancient roads that have been discontinued that probably would serve as a better asset to the town or would have served as a better asset to the town or a nicer place to walk easier access you probably actually could walk on the road and not down to Gully that were discontinued and the reason is because the town came out and probably record numbers back then and it wasn't that long ago I mean it was years ago but it wasn't that long ago this upstairs was full and it went out into the outside of the road and it was an overwhelming majority of the town that said discontinued these we don't want the ancient roads there was some on the Baines property and they discontinued a lot of I think I don't want to speak because I know some of them require a process but I know a great majority not all of them were discontinued we had to vote mass discontinuance and then we had individual roads based on the recommendations of the ancient roads committee we had a committee and I guess given the facts here and the fact that this has not been a public good it hasn't served as a public good and need it just takes people across mom and dad's property and it hasn't been a public need or a public good what it has been though it has been it's been something that we get the mud trucks coming up there and ATV's and they come up there and we've got our kids out there playing so we're talking about public need and public good I guess I would just ask and I think I said this is my last testimony so I'll just repeat it I'm all but we've got 17 members of the family and more generations to come and that's part of the public and they're the ones that are affected the folks that are opposing this they were out voted but they also didn't over there I haven't seen any of them over there walking on that property walking up that road and so a lot of them live on the other side of town and so it's the folks that do live nearby a lot of them have written letters of not opposing but supporting that has continued some those are the ones that actually nobody uses it even the Schulzes don't use I don't use TH7 I think I've been in like the first time I've probably walked the whole thing was when we went up there with Reid wanted to challenge myself to see if I could walk all the way up to TH7 and I kind of thought well if we're going to walk it let's walk it but I don't use it I go up the other way a lot prettier walks and easier ways to get through there I guess I'll just say that again if it's discontinued there's not people are not coming out in droves you guys have done a long process you guys have had plenty of people giving me the opportunity to write in I haven't seen one person write in or stand up here and testify saying I want TH7 open because I use it because I want to go up there I want to keep using it I don't want to take it away this public need, this public good I haven't seen anybody do that everybody's just clinging to it I think of that old t-shirt in the bottom of my drawer that I go through I don't really like it that much it's just taking up space and I get rid of the thing and I don't miss it that's what this reminds me of and I guess if it's discontinued you will change the lives of our family I miss a lot of anxiety around this road it's safety, it's all these kids and that's the positive I really feel like the positive it's been way outweigh the negative of this this is the age if you ever have a decision that you get to make like that in this day and age especially it's like thank god that's what I think so I just wanted to end and this picture was taken down down close to mom and dad you go in the woods a little ways I'll show you all this is TH7 and this is on the survey it's through there it's washed out and this is one of the pictures that's in there I'll still enter but this is the town when folks say the town asset and this is the way it looks like you all have seen it and you'll see it in the pictures it wasn't hard for me to find this I could have taken any number of these pictures you could frame it and hang it up I know I just wanted to show you all this I know Tim I see Tim smiling he was up there surveying it this is after Tim surveyed this is after Tim surveyed and I understand had to cut some trees so he could get his traverse through there and this is the gully in the washout that folks are talking about and this is what were the town the asset again if I was walking I probably wouldn't even know this world if I was a hiker they could come up here it's not coasted and they can walk around it and we're not looking that access through the shoals property that terminates at the other line they have it now we're not looking to get rid of that we're not looking to stop people from coming on our land and then I took this pictures also on TH7 but I wanted to show you all this is what this is the good this is what were trying written in saying our use TH7 but these we have the lower section and the upper section on mom and dad's land we don't use it because it's too hard to use so we walk around we walk on mom and dad's property this is so I'll show you actually I'll just quick show the the audience here this are all and there's kids missing by the way there's two teenagers they're a soccer practice and there's it's 11 kids and these are just the ones that are locally live here we have four others I'm getting the number four others that come and visit in the summertime and Thanksgiving and Christmas but TH7 goes straight here this is where Tim had mentioned that the driveway curls around in the barn this is mode this is mom and dad's front yard and I asked people I've been to every single commission meeting they had and if I didn't go it was because I didn't know about it but I think I've been all of them and in every single commission meeting there wasn't one time where anybody said this should ever be a road even the trails committee had a note in there saying we don't ever want to make this a trail unless the Schultz has ever asked for it where we wanted to nobody ever said this should ever be a road and I think I even asked the conservation commission would you guys ever want to run a bulldozer up and take out mom and dad's front yard where it's been like this forever you know and they're like no absolutely not Josh could go ahead consideration for the third fourth fifth generation do you kind of include yes yes thank you conclusion guys this is the good this is what we're trying to do here we're trying to keep it on the map even as a trail it's still going to be on the map people will still look at it and think oh I can get up there I just want to discontinue it they have access to the neighbors already and the people will still have access to mom and dad's land even after long after this is gone so thank you very much thank you you can enter these in thank you this chair is probably by design I know how you guys are Josh you need a cane read please would you like to testify read okay read you don't want any accidents so I want to say Josh you do a very good presentation I do feel say something about the difference between the ancient roads issues and this issue the ancient roads were almost entirely roads I don't remember how many at least 40 entirely roads that no one knew about or that no one knew that the town had a claim to them and so there was a big fairness issue in dealing with the ancient roads issue that doesn't apply to whether it doesn't apply to the issue of whether people were discontinued or changed classification of an existing known town road that's on the map so I just want to point that out and it was a wrenching process because a lot of people were very upset to discover that there were roads on their land that they didn't even know about and they had had title searches but they didn't go back and include that so we had to really bend over backwards on behalf of those landowners whereas in this case Gary built that house on a known town road it's still a town road but he wasn't it's not as if he was unaware of it have I made it reasonably clear? yes thank you very much is there anyone else who would like to test it out? I think at this point Joe let me let me ask you, my inclination at this point is to close the public hearing explain what our options are and I do have a question Mr. Chair what? did the trails committee submit anything any updates? they submitted a trails committee sent an email on June 11th of 2022 visited number 13 that is do you want to read it? on behalf of the trails committee I would like to inform that the committee at its inner meeting on June 5 voted to pass the following motion regarding the petition to discontinue or re-classify Town Highway 7 the trails committee recommended that the select board take no action on the Schultz family request and that this no action decision is underlined by commitment from the trails committee not to pursue a public trail Joe, my inclination at this point is to close the public hearing and explain the process going forward is that alright? before I do that the hearing is still open do you guys have questions you'd like to have? yeah quite a clarification if we if we close because I want to understand what closing is I don't fear that I understand Joe will explain to us what the legal process is and that involves private immigration at which time we now will have the whole body of evidence if we have questions then can you just want to be explained the process if the question comes up or quite a clarification that we have that isn't clear from the record how do we what I understood is a couple maybe even July when we met is that we might possibly open the hearing back up ask Tim, ask somebody to come back and testify and help us answer the question then we go back in I need a clarification your head are we closing tonight's hearing? we're closing the entire hearing are we closing the record? yes the reason I ask is could we just got the survey and the public may have just seen it and how do they provide commentary? that's what happened tonight let me try to make a shot at this and go open up so what I'd like to do is close the public hearing that means we've taken all the testimony all the real material that we're going to get and it's now the record we have to make our decision based on the record we have three options so what we would do, we'll close the public hearing then at that point we kind of act like a court we then go into we go into deliberation we deliberate that's not in public the judge deliberates in public we take all the evidence we read it, we discuss it and we reach a conclusion we reach a decision and we write the decision we write the decision which explains what we're doing and why we're doing it just like a court's decision we have three options we could keep the right of way as a class forward we could discontinue the road we could class reclassify the right of way as a trail and whatever we do the standard is we could we could is that our decision has to be expressly based on the legal standard what we are doing is reflecting the public good necessity and convenience of the town so we can't just say oh we're doing this because it meets the public good convenience and necessity of the town we have to explain ourselves we have to relate it to the evidence that's before us now my understanding is let's say we all get together this select board and we start deliberating and we realize there's something that we didn't hear about we thought we heard everything but we didn't and we want to ask Reed Cherrington a question or we want to ask our surveyor a question we can't do that in private we have to reopen the public hearing notice that we're reopening it give all the generations here a chance to come back and hear our question and the answer and make any comment they want to make then we would re-close the hearing I'm not saying that will happen I'm saying that could happen well that's what happened well we never closed the hearing we never closed the hearing we continued it okay 60 days 60 days from closing the public hearing okay so Joe I said it right okay close it yeah because we have it enter you have to enter right we're going to enter I don't know exactly call this Josh call it his name but he's saying it's Gary's picture who's Josh who took the pictures um my uh Kristen my wife and then Charlie took some okay looks primarily so I'm just gonna call it Josh's pictures and submitted by my parents though I did it for my dad that asked me to go there and take them so yeah that's why it's from my dad alright so it's don't forget to send them to us like Trump yes I will not be able to get to you do we need to enter these separately they're in there I don't think we need to separately and those could just be they can have a go to come monster to the exhibits okay so suddenly we're making motions to enter exhibits we don't need a motion we didn't we have it okay now I am therefore asking for a motion to close the public hearing so second I think you got a motion all those in favor of opening the public hearing on D.H.7 on the D.H.7 manner aye okay so the hearing is closed I cannot thank you enough for the patience and the respect for the process that you have shown yeah I know this is the kind of thing that excites passions and I think you've just pointed yeah so thank you so much we will do our very best by that's all I can say our very best and yeah we will act according to the standard and is there any other comment or final statement by member of the board no other than thank you all you've been very kind to each other and that's really important do I hear a motion to adjourn no I thought we were going to do we want to deliberate at all so so what we're going to do we have to do is we'll take a second before we adjourn so we will find an evening when we can deliberate you'll be with us do you come to the deliberation I do we have a clock ticking where we have 60 days to whether the decision to whether the decision 60 days is in a 60 days it's the eyes are red you can't see it anymore well yeah just for keeping score at home we have a lot of other things well that's my advice that's my advice we have a motion to adjourn is that all those in favor can you say aye thank you and thank you kids thank you


Before creating a video analytics rule on a camera, you must first calibrate the camera. Calibration allows the camera to more accurately classify people and other detected objects. To calibrate the video camera, tap on the video card from your app's home screen. Then tap the setting cog in the top right corner. Tap Recording Rules. Then tap Add New Rule. Tap Video Analytics. Select the camera you would like to calibrate by tapping on its video feed. A warning will appear stating, this calibration will delete any VMD schedules you have previously configured. These will be replaced by the new video analytics rules. Tap OK. The camera will process an update to prepare for video analytics support. This may take a few minutes. Once initial setup is complete, you will see a success message. Tap Close on the bottom right to continue. Once the camera has completed the initial video analytics setup, a message will appear over its video feed prompting you to calibrate the camera. Tap on the video feed to start the calibration process. Read the recommendations before proceeding. You will be asked to take a series of photos from the camera. Make sure to capture your entire body in the photos and move straight back from the camera rather than side to side. Once you are ready to start, tap Continue on the top right corner of the screen. After starting calibration, move into the camera's field of view. Take five photos of yourself at varied distances from the camera by tapping Take Photo underneath the video feed. Once all five photos have been taken, tap Submit on the top right corner. The page may take a moment to load. After calibration is complete, the camera is ready to configure video analytics rules. For more information on this process, check out the videos on creating video analytics rules for tripwires and ground zones. Make sure to subscribe to our YouTube page and click the Show More tab underneath the video where you can view valuable links pertaining to this product, similar how-to videos, and our low-cost, no-contract alarm monitoring services.


All right, everybody. We're back with Steve talking about the eShop on-web ASP.NET Core application. Take it away, sir. Hey, everybody. I know we're running behind. Sorry about that. Looking forward to getting started quickly and hopefully getting us a little bit back on schedule. I can't guarantee I'll be done in 19 minutes, but we'll be quick. So let me start by sharing my screen here. Figure that out. There we go. Share screen. You should be seeing a slide. Let's see. We're all good, yeah. All right, looks good. OK, so I'm going to talk a little bit about clean architecture because it applied quite a bit to the eShop on-web sample. If anyone has any questions for me and we don't get to it today, all my information is right here on this slide. You can reach me on Twitter as Ardalis. I'm also on Twitch as Ardalis as well. If you want to follow me there, I usually stream on Fridays. You're welcome to follow up with any questions you have there. We're going to do this talk in under 30 minutes, hopefully under 18 minutes now. So if you want to grab the reference app, you can go here, ak.mswebapparchitecture, or you just do a Google search for eShop on-web. It looks like this when you run it. There's a free eBook. It's about 140 pages. If I remember right, PDF that you can download, or it's available on the awesome Doc site that Myra and her team work on. So you can find it online as well if you don't want to grab the PDF. Also, I just wanted to mention that this week we just launched a preview edition of the architectingcloudnative.net apps for Azure Book, which you can find at this URL, which someone will probably be nice enough to throw in the chat for me. Okay, so I have a whole slide deck that takes about an hour at a conference to talk about clean architecture and principles and things like that. I'm going to skip to the end and talk about just some of the most important parts which have to do with dependencies. And so if we think about how dependencies work in a typical old school end-tier application, you've got something like this where direct dependencies because you're newing up something or you have a static call you're making look like this on the left where you have a class that references another class by newing it up or making a static call on it and it references another class, right? And so then at runtime, it runs the same way that it compiles. If you use the dependency inversion principle, which like I said, I normally cover in this talk, it looks more like this. So at compile time, you reference an abstraction and interface. And so at class A looking here at the left references interface B and class B might implement it. Meanwhile, class B also needs to use some functionality it references an interface as well which might be implemented by class C. Now at runtime, your control flow runs through those classes just like it did before but now because we have those interfaces we have seems that we can use to break apart how the application is constructed. I can compose it modularly at runtime from different implementations. And I can also use those seems to make the code a lot more easy to test. Okay, so one of the goals of clean architecture and for the eShop on web reference architecture is we wanna make the right thing easy and the wrong thing hard. We wanna force developers to kind of fall into doing the right thing without thinking about it. And one of the ways that we do that is we construct the solution in such a way that the dependencies flow the way they're supposed to. And if you try and go the wrong way, Visual Studio or the.NET Core build system will stop you because the references just don't work that way. All right, so one of the things that is a principle that we wanna follow is that our UI classes shouldn't depend directly on the infrastructure classes. That's gonna make them more tightly coupled. It's gonna make them harder to test. It's gonna make it harder to swap in different implementations of infrastructure. For example, we just heard about Cosmos DB. If instead of Cosmos we wanted to swap that out for a different data store of some sort then we would have a hard time doing that if directly inside our web project we were working with Cosmos DB APIs. Another example of this is that we want our business and domain classes not to depend on those infrastructure classes for the same reason. Let me just check the chat here for a sec and make sure everything's okay. Yeah, all right, looks like we're good. Okay, the other thing is if we have a lot of repetition in our code. If we have the same like DB context calls in every controller over and over and over again that kind of repetition makes it harder to change directions to swap in a different implementation and violates the don't repeat yourself principle. So are there patterns that we can use to make it so that it's a little bit easier for us to use these things in a repetitive, a less repetitive way to reuse them more often. Things like query logic, validation logic, et cetera. Okay, now I loosely talked about these dependencies but here's an example of the issue you get if you don't follow clean architecture as pattern. You end up with a data layer that talks to a database typically. You have a business layer that calls the data layer and a UI layer that calls the business layer. This is your traditional end tier and these transitive dependencies mean that everything depends on the database which makes it really hard to test at least in a performant way. So everything depends on the database. The clean architecture which goes by other names like onion architecture or hexagonal architecture or ports and adapters. This is probably my favorite diagram that kind of shows how it all comes together. So in the middle you've got your business rules. That's your domain layer. You might also have a small application layer that sits around that that has some rules for how your application specifically works. It's gonna expose these ports that other things can implement that are outside of that core application layer domain layer. What is a port? Well in .NET a port is something that you can implement. So generally it's gonna be an interface. So if we look at that top right purple icon in the internal persistence port that might be a repository or some other interface that you would use for storing data and retrieving data from wherever. And so in your infrastructure layer you might have a SQL server or other database implementation. You might have an in-memory one that you use maybe just for testing or for demos. And you can swap those in and out easily because they both implement that same port. And you can see there's other ports used in this example as well. Okay, so before we jump into the eShop-on web let's talk briefly about the different projects involved. In eShop-on web there is an application core project. And the things that go in there are these types of things. We're gonna see interfaces. Most of those are gonna be in core. We're gonna have entities, aggregates, value objects. These are domain-driven design patterns that their implementations typically live in the core project. Any domain services which are, you know, services that are purely business logic should be in core as well. If you're gonna use custom exceptions this is where they would be defined so that they're accessible from anywhere in your app. If you're using domain events and event handlers which is a great pattern for you to investigate they would also be inside of the core project. And then specifications which we're gonna look at if we have time today are another thing that would live inside of that core project. Okay, so now what goes in the infrastructure project? Remember the core project does not depend on infrastructure. The infrastructure project depends on core. Okay, so inside of infrastructure you're gonna have repositories if you're using that pattern. Repositories are just implementations of an interface for persistence. And so if you're using entity framework and any framework core in this case that's gonna live inside of infrastructure as well along with repositories that might use it. If you're using caching which I strongly recommend that you do your cached repositories would also live inside infrastructure and they would have a dependency on whatever cached provider you're using. This might be Redis, this could just be in memory, et cetera. I see there's some questions on the chat about whether or not we're gonna do Blazer when we're gonna update the 3.0. Those things are all on the roadmap and should be happening soon. I don't have a deadline yet but I would hope to have them done before 3.1 of .NET Core comes out. If you're consuming external APIs then you've got web API clients would be here. Anything accessing the file system if you're using custom logging adapter, implementations those would go in here. Anything doing email. Things that reference internal infrastructure like your system clock even. A lot of us don't think about that but that's infrastructure as well because it's outside of your program running inside your memory space. Another one is configuration files would often be something that you might put the accessors for or the logic for in the infrastructure project. In .NET Core we typically can just use the built-in configuration stuff so that isn't one that's in this particular example but if you're using traditional full framework .NET you might wanna put your configuration code inside of infrastructure. And you might have other services here as well and occasionally interfaces. The only interfaces that should be here are ones that are tightly coupled to some kind of infrastructure. So if you are using let's say an Azure SDK and it has a custom interface that returns back Azure specific types that interface should live in infrastructure because it depends on that SDK and so it shouldn't go inside of your core project. All right, so then what goes in the web project? The web project is your UI front end for this application. It should have mostly things that have to do with web stuff and not things that relate to business logic and that stuff that relates to other kinds of infrastructure. So you're gonna have controllers, you're gonna have views, you might have razor pages depending on which technology you're using. We actually have all three of these inside the reference app eShop on web just to show you how they all work and that you can use them all together if you want. Your view models or API models or binding models, these DTO types generally are going to live inside of the web project as well. With some exceptions, occasionally you might pull them up into the core project if it makes it easier for you to use them from other services. Any kind of MVC filters, model binders, tag helpers, all that stuff is very web specific. It should go in the web project and then you might have other services or interfaces that just don't belong anywhere else. So application services, they might live in the web project because that's the front end of your application and that's the example that we use in eShop on web mostly for simplicity purposes. Likewise, interfaces that go with those application services might live there as well. Another question about .NET Core 3 on the chat. Yeah, expect that to come, it's just not there yet. All right, then there's another thing that you might have. This isn't actually in eShop on web but if you had multiple different solutions in your organization, which many of us do and you wanna share code between them, there's a concept in domain-driven design called shared kernel and you can use shared kernel to share things between those projects. My recommendation is to use NuGet packages for this and you can put any kind of shared types in there. So base classes, common exceptions, common authentication user classes, guard clauses, all those kinds of things might go there. All right, so when you're done, here's pretty much what the structure looks like. All right, you've got, your web project depends on core, your infrastructure depends on core. You have different tests that each focus on these different projects. Now you might have unit tests for all of these things but most of your unit tests are gonna be against core and most of your functional tests are gonna be hitting web and most of your integration tests are gonna hit infrastructure. It's typically how it plays out. Now web has a light gray arrow pointing to infrastructure because the dependency on infrastructure should be minimal. The only place in your web project that you should know about infrastructure, if any, is gonna be in that startup CS that wires it all together. All right, here's the folder structure. We'll look at that in a sec. Let's go to the code. All right, so here's eShop on web. Let's stop this for just a moment and we see the project has this application core and I pretty much already ran through all the stuff that's in here. Infrastructure has the data and then there's the test, the web project. Let's start by looking at the homepage. The homepage actually uses razor pages. So this is the pages folder. There's an index.cshtml. That's the main page for the site and then this index page that has the on-get, if you haven't used razor pages before, that's what's gonna handle this page, all right? So this is essentially the same as having a home controller with an index.action method that gets loaded. So if we run this and just do a quick look at the application itself so you can see what's there. Oh, I already had it up somewhere. Let's go over there. All right, so that's the thing on GitHub. Here's the actual page open on my other screen. So this is the app running. The homepage supports paging, it supports filtering. So if you just wanna see mugs, you can do that. If you just wanna see different brands like .NET, you can see that. You can log in. There's a built-in user here, this demo user at Microsoft, this pass at word one, log in, now I'm logged in. I can add items to my shopping cart. I can update their quantities and check out and I can go up here, I can view my orders. I can see here's my order I just placed right now. I've got five minutes left. I can click on details. I can see everything about what I bought. That's pretty much it. There's no payment providers, it's just a demo app, but it sufficiently shows that level of complexity inside the application. All right, so now let's show how this works as we come into the application. So on this first page, let me turn this off for a second so you can read it easier. The first thing we're gonna use is this catalog view model service. This is an application service. And the reason why it lives inside of the web application is because it returns a view model. So this catalog model is the view model that's gonna return. Since view model is a web-specific thing, it didn't necessarily make sense to put the service inside of a different project than web, okay? So if we turn this back on as a breakpoint and just walk through what it's doing, we'll be able to see kind of how we go through these different layers and how they're related to one another. So start up, there we go. And we should hit our breakpoint, here we go. And we're gonna step into this. And now we're in the Cache Catalog ViewModelService. All right, so we're using caching. And the first thing that's gonna happen here is, when you get to the key map, we're gonna create a cache key based on the different things that we need to know about this request. In this case, it's page index, items per page, brand ID, et cetera. If we find it in the cache, then we're just gonna return it right away. In this case, I just launched this thing, so it's not gonna be in the cache. So we're gonna step in to this one, and it's gonna take us into the Catalog ViewModelService here that's actually gonna get the catalog items. So this is like the real one, not the cached one, all right? So stepping into that now, we are inside the getCatalogItems actual method that knows how to go and get catalog items. So let's look at what this is doing. We can see it's got a little bit of logging, and then it has a couple of specifications. Now I mentioned that we would talk about the specification pattern here in a moment. This is what it's doing. Specification is a pattern where you define a query as an object, right? And so in this case, instead of having a Lambda expression right here, or worse, inside my controller, inside my razor page, I've defined the query that I wanna make and put it into its own object, which is this catalog filter specification. So if we jump into that one, we can see here is where that Lambda lives, right? So this is using a base specification type, and it's just passing in the Lambda to say that, you know, the brand ID and the catalog brand ID have whatever value, right? So that's the where clause that it's gonna generate. From there, we're also gonna get the paginated specification here. So it's just another specification that knows how to do the work to get the paging. And then we're gonna do a check to get the list, and then another check to get the count, because we need the count so we can display the total number of items. And then we just loop through the page, grab the pictures that are associated with them.  So we'll skip past that. And then we build the view model, right? So that's the main responsibility of this service is go fetch the data and then go build the view model and then return it. All right. So looking at all this, we return that view model. Everything comes back out, it stores it in the cache, and we're done in the page displays. All right, if we hit it again the second time, and if we're fast enough and we drill in here, what's gonna happen is we're gonna hit this and it's gonna say, oh, it was in the cache, and it's gonna pop right out. And the results gonna take like almost no time. And I must have hit something to edit something. So we'll stop that. All right, so let's talk for a little bit about the specification pattern, because I think it's one of the more interesting pieces here that most people haven't used. I mentioned, let's see, let's look at the customer orders with item specification. So here's an example of a specification. One of the challenges that you have when using ORM and a repository, and the reason why a lot of people don't necessarily like using a repository pattern is because you can't always easily describe the query adequately, right? Sometimes the repository implementation hides how you're gonna get the data. And so what specification allows you to do is avoid that by saying, you know, I can actually be very specific about the actual query I wanna run. In this case, it's very simple. Get me the items for this buyer, as well as the shape of the data I wanna return, right? So in this case, if I need to include some related tables and not use lazy loading, because that's evil in a web app, I can go ahead and I can add these include items here. If I wanna add filtering or paging, or not filtering, if I wanna add paging, I can do it here with one line. I can just say, apply paging. So what does my repository look like? Because a lot of times what happens when you have a repository is you end up adding a bunch of extra query methods, right? So you've got like an order repository and it has a list method. And then you have another one that says, get the order items with paging. Get the order items with filtering and paging. And you end up with 10 additional, you know, query repository methods, all for different custom queries you might wanna run. This is my generic repository for the whole application. It doesn't have any of those special types of extra methods on it, right? It just has your typical CRUD methods on here. The only one that's probably, one that's not typically in most repos that I see people use is this count one. But this list all async with a specification, that's very, very flexible. That's what's used by just about any query in the system that needs to pull back data. And so this uses this apply specification helper method, which is just down here. And it uses a specification evaluator to construct a query inside the repository using all the features of the specification. And what are those? Well, they include adding the criteria. So we just say dot where, and we add the criteria off the specification. That's that lambda that we saw. And then we can do includes. So here's how you add all the includes from the specification onto your query. Likewise, you can do ordering and grouping and then paging as well if that's enabled. So this one place evaluates everything on the specification, turns that into an appropriate query on the DB context uses Iquariable to do it, right? Everything in here is using Iquariable, but the repository itself doesn't expose Iquariable. If we look at these return types specifically for list, I'm returning a read-only list of T here. I've already hit the database, I've already gotten all the data and I've already turned it into an in-memory list when I come back from my repository. And I do that everywhere. That's again, helping developers fall into the pit of success because they're never gonna accidentally not know whether or not something coming back from that repository is gonna execute on the database or it's gonna execute in memory inside their application. If it came back from the repository, it's in memory. If it's huge and you just pulled back a million records from your customers table, then you just did that, right? You know that that's what you just did. And if you need to filter it, you know that you can filter it in a specification. The last reason why you should consider using specifications if you haven't used them before is that you get this catalog here of different types of queries that are very reusable and that have a specific name. So every developer can go and look in the list of specifications. And if this gets big, you know, you just break it out into folders based on whatever it is you're trying to query. But this becomes an alternative to having store procedures that would have all these different types of custom queries inside of your application. Now you can name them, you can version control them, you can stick them all in this one place and you can write tests against them, right? It's very easy for me to write tests that verify that these queries do what they're supposed to do. Let's see, that's most of what I wanted to cover. The other bit here is inside of the entities section. You'll notice these are broken up into aggregates. Aggregates are another domain driven design pattern I mentioned briefly where you fetch and store things as a unit. So when we grab the basket and its items, we do that as a single operation. You won't see us going and fetching out a basket item or a list of basket items directly without grabbing the whole basket. Same thing with an order, right? When we fetch an order in this pattern, we fetch the whole order with all of its items. And that's why we have specifications for things that say, hey, go get me the thing with all of its children so that when we make that call using entity framework, everything comes back at once like that. The other thing that we have support for is Docker. So if we come in here and we see Docker compose up, this will go ahead and create the application in Docker for us. It's running on Fort 5106, I believe. So if I come up here and hit localhost 5106, you'll see the application is running here in Docker. If I hit refresh or click on different things here, you can see that all this is logging out from the Docker container. So if you haven't used Docker before, you can grab this application. It's got all the files you need to kind of get started. Pretty simple, pretty easy to get going. I think that's everything I wanted to show and I'm almost hitting my time. So let me come back here, verify it on anything else. No, I'm not doing that. Here's some resources. Yeah, that'll be good to end with. All right, so I can check questions real quick and then I know they're gonna wanna move onto the next person and hopefully recover some time here. So yeah, let's see. Eric's Eflam's talking about my course on Pluralsight with Julie Lerman. That's this DDD Fundamentals course. You can check that out if you want. And let me see what other questions there might be before Javier goes and puts me back on video, which is fine. Wow, in 20 minutes. Anybody questions? There was a question earlier about if the demo uses CQRS. Does the demo use CQRS? No, it does not, but that's a good question. Let me talk real quick about the companion application for this. So there's also eShop on containers. All right, so if you wanna see advanced patterns, do a quick search for eShop on containers. There's another book that goes with this. This is a more advanced application. The book is here. Donut Microservices by Cesar and a couple others. And it's a great place for you to learn more about microservices, Docker containers, Helm charts, Kubernetes, Azure Kubernetes service, all that stuff. If you look at it, it actually is the same application, but broken up into microservices. So it's the same eShop. It's got a shopping cart, it's got login, it's got a catalog, but every one of those things is its own separate microservice doing the work. All right, there was another question. Do you have any complex business logic in view models? No, there should be no business logic in view models and certainly no complex business logic. All right, any other questions? And again, there was someone asking about learning, about DDD, where they share your course on that and any use of actors? No, it's not using actors currently. There's a few things that I want to add in the short term. One of them is more support for mediator, which I wanna show examples of. Another one is obviously we wanna do more with Blazor. I've been wanting to add SignalR for a little while and that would be easy to do alongside Blazor. So those are some of the easy three things I'd like to add along with updating of course to .NET Core 3.0. All right, awesome. So thank you so much, Steve, for the great talk. People were excited to join and I think the feedback shows that it was really good. So thank you so much for joining us today and sharing all of this. Yeah, is there a repo where Slides will be available for .NET Conf? I see some people asking and I'm happy to send them. Yeah, I was just asking here while we were on the break and there seems to be a repo, so we can share that later. So, but if not, you can share it on Twitter, on your Twitter account and then people can grab it from there as well. All right, sounds good. Yeah, so folks look for me on twitter.com slash rdallas. I don't know if I'm still sharing my screen, but that's me and if you have any questions, hit me up there or find me on Twitch as rdallas. Thanks. Yeah, thank you.