First, thank you for coming out tonight on a Thursday. I know we have some meetings on the east side that has happened as well with city staff. And so I first want to always tell you it's an honor and a privilege to have the opportunity to serve you as your council representative. I don't take it lightly, I don't take it for granted. Also, we have our assistant chief here as well representing our city manager. And we also have some ACMs that are here. So thank you for being here. The black chamber is here. And so take opportunities to thank you for allowing me to represent you. And I believe that if we're going to get work done, we have forms like this so that we can engage on a different setting where you're not having to come down to city hall, we're coming to community. And we talk to you about what we're doing at the city and how we can improve. We always can improve. And so that's what these meetings are for. And so here you probably have already seen this information, but I'm your council representative for district eight. I am a Texas Westland board member, a Trinity Metro board member. I was just in Kansas City talking about transit. We have a lot of great things we really want to do to get people moving in the city or forward. And you see all of those. All right, here's what we've been doing. So got elected in 2021, 2022, 2023. Each year, this is our third year having our form here. And so one of the things that is very impactful is how we get people moving in forward, how we get rooftops. We talk a lot about grocery stores. We talk a lot about restaurants. We talk about healthy food, healthy eating. One of the most components that make that happen is rooftops. And so here in 2023, we have continued our effort to build, to bring in affordability as well as homes inside of district eight. We know for several years that development had really stopped in district eight. And so it was very important for me and my office to make sure that we kicked that development going. So we have 336 rooftops close to downtown Fort Worth, overland properties, 94 rooftops in Riverside, generated housing partners 96 in Crowley Road. Housing channel is going to bring 248 rooftops behind Renaissance and Renaissance Square. Columbia Renaissance also bringing a hundred rooftops. I'm going the wrong way. All right, economic development, job creation. If we can't get people two jobs, the next big thing we can do is bring jobs to people. And so while we're working on transit, trying to get people from south forward all the way to Alliance, or rolling hills to south forward, we are trying to bring jobs and bring them inside of district eight. And so we was able to generate in this last cycle jobs that's going to be bringing here 787 new jobs, DrinkPak, Siemens and New Cole. DrinkPak is a $232 million investment, 450 full-time employees, annual salaries at $70,000. I will tell you, every time I talk to people who want to bring jobs to the city of Fort Worth, the number one thing I tell them, I appreciate everybody have an opportunity to all over the city of Fort Worth, but when you hire people and when you bring people in these jobs, $70,000, I need them to have zip codes that live inside of district eight, 76104, 76105, 7612, 76140. I make that a priority. It's because you can bring the jobs to our neighborhoods, but if we don't get the jobs, then we still stay in poverty. And so Siemens is $125 million investment, 167 full-time employees at an annual salary of $63,000. They also have a plan in Grand Parry with a union, and I'm here with the union reps today. We want to make sure that we can try to unionize this project here as well, but we can only do so much in representation. New Cole, $300,000 investment, 85 full-time employees with an annual salary of $80,000. We really appreciate, Robert Stern is also here who does our economic, he's of our economic department. And so this is not Chris Nutter's going out and making all this happen. This is our economic team that's making things happen. They do come to me as for approval. We work with city council. We work with our mayor's office and our management's office to make sure that it meets the qualifications for the city of Fort Worth. So this is a team effort. This is me showing you what we are doing for the residents of Distrigate and the city of Fort Worth. Community development, permanent supportive housing. We talk a lot about how affordability is at a low level for the city of Fort Worth. And really all over the nation is that we can't find enough housing to deal with our homeless population. We have a serious homeless issue. Now, we will say that it has been decreasing, but the more it decreased, the more homeless people we get. And so the best next thing we can do is do permanent supportive housing. And so this has been an effort of our council, an effort of the city council. And so we have journey homes with 72 units, Columbia residential with 25 units and overland property group with eight units to help support people who are homeless to give them permanent supportive housing. We have worked with terror and other groups to make sure that it takes place. Community development also, so this is part of the journey homes off of Crowley Road, 18 duplexes serving 72 individuals. This is kind of a project, if I'm not mistaken, kind of like the one we did in district two that has been successful where they have services on site to deal with our homeless population. Columbia residential continued to do the investment there. Riverside, same thing. All right, 36 deeply affordable units. Here recently, I'm really excited about this is a vote that just took place with Justin's Place. It's a great story. Single mothers and children have an opportunity to prevent them from going into homeless. So one, you have preventable housing, which is this and then you have permanent supportive housing, which is the one we just talked about. All of these, you have affordable housing. All of these takes place or helps our community. And so Justin's Place is gonna do some units. We was able to give them $1.5 million to support their initiative. They also received money from Terry County to make sure this comes online. And this is the project that they're gonna be bringing. And when I say project, I'm not talking about like projects but this is the project that they're gonna be proposing as Justin's Place. We program on a partnership with Center for Transforming Lives to bring the headquarters to district eight. This building will include small business incubator, financing coaching, counseling, housing programs. This is something we talked about last year. It's the old Montgomery Wards building. This is one of the votes that I stand on and being proud of when we first got in office, that was gonna turn the old Montgomery Wards into a U-Haul storage. And I was like, I don't think that's the high most best use for that area. And so we said on it and we had Transform Lives come and say we want to take over and make this building. And I don't know, has not been an operator for 10 plus years. I believe it's much longer. So this is gonna be a great investment for district eight for the area surrounding Morningside, Rolling Hills, Southside area, bringing development back to the district so that we can take care of our roads, streets and lights and et cetera. Just right across the street, the Boys and Girls Club opened up a brand new door kitchen. I mean, it's the top of the line. They are able to feed more children down 300, 3,500 meals a day for our young people who needs meals when we talk about poverty, we talk about parents who are working day jobs, working night jobs and they're not able to feed their children because they're not at home. And so programs like this that provide super meals helps our families, helps our mothers, helps our fathers to raise our children. And so we're excited about the Boys and Girls Club breaking that new kitchen in. We was able to Goodwill, North Texas generate with Mark Beeson, I know we had a representative with Mark Beeson's office here and hopefully once we get to questions, if you have questions I'd be happy to answer or we'll send them to Congress and Mark Beeson who's down and watching and fighting for us. Community concerns, we have been having some issues with in our historical Southside area and I really appreciate Assistant Chief, Assistant Chief Julia Swarajan who's not here and the Chief Police, we had some concerns with our, well not a grocery store, it's a convenience store with a lot of foot traffic and so we was able to get a Sky Tower there to try to mitigate some of those issues. Civilian Oversight Board, we talked about that, we pushed that last year, it didn't pass, we got a lot of information to try to fix that and get it here, we're excited to announce that we have a new officer, Police Monitor now which is Bon Silla, she's also here so if you have any questions for her we'd be happy to answer those but we look forward to having a conversation with her for the community so we can talk about how we're going to deal with our oversight, with our oversight. Monitor's office and how it is completely separate from the city of Fort Worth, those are some of our concerns. Yes, they are hired within the city of Fort Worth but the office operates independently to make sure that we have oversight when it comes to our police officers. So what do we do in the 2024 budget? I'm not gonna go through all the budget, we had several, David I don't know how many budget means that we have at least 10, 12 in the community at City Hall around the city of Fort Worth and so I hope you took part in the process of the budget but a couple things we want to highlight that we're excited and proud of is that we was able to implement 106 new police officers compared to last year's 73, police department hope team getting four new officers and our firefighters were increasing those to 76 new staff. This council mayor has been very vocal on public safety and making sure you're safe in your homes, making sure there's five years, making sure whatever happened that we're gonna support public safety and so we're proud that we're continuing to do that in this budget and we'll continue to do that as long as we're in office. Let's see, MWBE contracts, these are some of the things that I had some interest in because I know that when we, when I got elected there were some issues with minority getting contracts and not so much an issue on the city but sometimes if we're not focused or we're not intentional then we miss out on opportunities. So if you know people who are contractors are working we have been increasing that number greatly so from the physical year of 2020, we had at point 67, now we're up to point 58 by the end of 2022 and there's some numbers that's still gonna be coming in. So when it comes to projects, contracts with the city of Fort Worth we wanna make sure that our black and brown communities contracts are getting some support and getting funds through the city and so this is our contact, your representatives, my email up there, Sally Mastin is here and then district eight goes to all of our staff. So if you have any questions or concerns we ask you to email us and also call us. Our goal is to be bodily accessible to district eight. So if you're calling and you're not getting a return call please email, please loop me up. If you send it to district eight I get it in my entire staff gets it and so that's the best place to send it to make sure everybody's getting the email and some hit me up on messaging all those kinds of things this is the best way to contact us here and so at this time those are the things that we've been doing and I wanted to let the city and let district eight know that we're working for you every single day. You might not see a post on Facebook you might not see a news article but these are the things that we're doing every year. This is our town hall that we're doing today we do this every year around October but we're gonna do another one around the spring time because we want to be focused we want to engage our community and so we have a lot of representatives that are here today that can talk and answer your questions. So at this time I think I'm gonna open it up to questions is that right? Yes, I'm getting a head shake. Okay, so whatever your burning questions is we got a hallmark representative here. We're gonna ask, sure. One of the slides, what are you suggesting or recommending of improvement of the OPOM office? What are your suggestions? Because our neighborhood had a speaker come from there but we'd be interested in hearing or I would be interested in hearing how you think it can improve. Okay, so we also have the volunteer here so I want her to answer that as well. Anything and all things can improve. One of the things we did know while I'm giving her a time to come up is when we went and looked at all our policies a lot, we have policies in place sometimes they're not just follow. The other caveat to that is that these policies need to be updated. These policies been implemented years ago and for work it's not the same and so I'm gonna see an opportunity to answer your question and be more. It's been six weeks so I've been busy. Very excited and we do have plans. So right now my immediate thoughts are our office is small and we need to grow and I need to make sure that I have experts in the office to do the work that we're required to do. But I spent the last month probably doing meet and greets. So anyone who's been involved in race and culture task force any community members I can get in contact with I've been having lunches and coffees. What I've learned is a lot of people didn't know that Berkeley were actually doing it. So a lot of people didn't know it could actually come to our office and file an internal complaint and that would be investigated. A lot of people didn't know we monitor critical incidents and use a force. So right now the big thing that our office can do is educate the community of the resource you have in upon. So internally we're going to be reviewing policies making recommendations, I already meet with the chief all those things that what I need is to make sure that I have an informed and educated public. So when you see something you know that you can come to our office and I should say something. Any other questions for me while I'm standing here? While I look forward to working with everyone. Yes sir. I can't open your card. Most of us understand that you can't run this campaign by yourself. So in terms of boards and commissions who have you appointed to what board and commission and what board and commission appointments are coming up and who you're thinking about. Okay. And while I'm coming up with that setup you have any thoughts on that? Let me know. One of the things we did do because I believe that it was important that we just then completely devolish what we had in place. And so my predecessor had elected and selected a lot of board members. Most of those board members we kept on to make sure it was a smooth transition. We have board members that are here tonight that represents on our parks. And we have a board member that works in on our residential boards and adjustments. And so I can get you the list of each names. I think we have a total of 10, 11 board. We recently have brought Tisa Leggan on to represent on our zoning commission. And I don't think we have any new ones within the last year. But I can actually provide that list of each name and representative for the boards. And we don't have any vacancies at the moment. Will you be able to make the appointment to the Silver Service Board? I think that's the mayor's appointment. But I can always make a recommendation. If you're interested in serving, if you will send me an email, I will forward that over as a recommendation. And I think it's important that, I don't know if we can figure out where those lists are so they can go onto the website. I don't know if anybody here can help us with that. But there's an opportunity where you can go on it. You can actually apply for each of these boards. And then it is sent out to all of the council for recommendations. John, can you get a question? Yeah, my question deals with transportation. All these jobs that you mentioned, they usually come in with all the top paying jobs. When they come in and they already got a pay. Okay, now the other thing is transportation to these jobs sites. They're full of facts of, we're having a transportation system. Is there someone working, I looked at the transportation. There's no way somebody living in this industry ain't as difficult to get to those jobs sites to apply for those jobs. And second thing, how do you deal with a lot of people who are coming in out of, who are ex-offenders, who are also looking for jobs and trying to, is there anyone working on that part? So we actually- Transportation and ex-offenders and also, that we've also talked about education before RSD and partnership with them. So when these kids get out of school, they're already there and they can move into them. Okay. So it's about five things that you just talked about. I'm sorry, I get up at three o'clock in the morning thinking about this though. I don't get up at three o'clock in the morning, but I, so we talk about transportation. You actually get people, so you talk like a bus system to get people to, that the thing about it is that we have a bus system, I sit on Trinity Metro Board now, and the stigma of riding the bus is so low. People think if they ride in the bus that they are in poverty or broke or whatever it is, and people just don't ride the bus. And so what Trinity Metro has done is they have given service to where the ridership is the greatest. And so if you're on Lancaster, you having buses come up and down Lancaster every 10 minutes on the stops because that's where the most riders are. Now, there are more stops that we can create, but that's at the Trinity Metro Boards and Commissions. And so I'll be happy to introduce you to people who create those stops last stop now and sit with you and see how we can increase that for these jobs because you are correct that if you're in East Fort Worth and Southside, it's gonna be hard for you to get to Everton Parkway and Oak Grove. It's a bus you have to catch to get there. So that's not necessarily a city of Fort Worth issue, but it is an issue for Fort Worth because we gotta make sure we get people around. I think you mentioned what was used. So we work with first, what is it called, Sally? First stop reentry, which offers out a circle drive. We actually did a job recruiting for ex-offenders. We did one for with United Black Contractors just last month trying to get people lined up with jobs. They actually have another one that's coming up in November. I'll get that to you. That's coming up in November for ex-offenders. And so there is opportunities out there. We'll put that on our social media and our website. And while I'm talking about that, if you have not registered to receive mail or emails from the city of Fort Worth, you need to do that immediately. What you can do when you go on there to register, you can register for city news and you can register for district eight news and each district. And so every time we are doing something as a community, it goes and it's automatic sent to you. So like today we sent out, I think 12,000 emails, 12,000 emails to people to tell them about tonight. So yesterday we sent it tonight. And so if you're on that email blast, if you need to update, you can get information like that. Evan's Avenue, what about it? So what's the meeting with Reckon and Rosedale? Evan and Rosedale is one of the projects that we have been excited about for a while to come online. And I would tell you, David would tell you that this is something that they've been working on way long before my tenure. One of the things that's taking place is with Hope Global, I don't think they're here tonight, they have requested an extension through January and February to finalize the deal of the purchase of the land to, and the mayor and I met with them along with staff and we agreed to give them that extension to finish the work that they're doing. So that's where we are. It's upon them to finalize work with DJ Harrell which is in our development service to get permittings and plans finalized and done. Now, I know you had the question about changing plans. They're not changing, they can't change it, then we already approve what we're gonna approve but they have to actually submit those plans to the city of Fort Worth for final approval for them to move forward.  They can't change. No, we want to approve. So what we have, so they get it this way. They have to actually submit for permitting. We have, as a community, you guys have already said what you wanted and they have sent you, I think they have showed you the renderings. Those renderings are the same. They're not, if they have, if they change those renderings, they have to come back to the community. So it's not gonna go up six or down one, it's gonna stay the exact same as you were shown the last time in your meetings but they have to submit to the city of Fort Worth to actually get an official permit in order to do the work. So they don't need to do the magic. Can y'all talk later?  No. Got a question in the back. Okay, I have two questions. Sure. The annual income that you show for those jobs are they medium, minimum, average? What does that represent, you know? It's the average income. So if it's 100 jobs, average out of 100, they're gonna be making that amount. Got you. My second question is, are you aware of the homeless problem on Evans between Jefferson and Richmond on the west side of the street? Big, big building that used to be a store, I think, but there are homeless people that are in camp that are in the front and in the back of that facility where you guys, was anybody aware of that? Code, are we aware of that part? So Code and the police department, the Hope Team, we work, you know, Code does the cleanup. Hope Team does the outreach. I know we've been out there a couple of times. I don't know what the current status is but at the end of the meeting come see me and I'll get you out. I'll work on an update right now for you. And one of the things that we do have is the My Forward app and it allows you to actually take a picture and report an address right at that moment and it automatically sent to the appropriate departments to start getting that fixed. And so I encourage everyone to do that. And then you also can take the snap picture, email my office. It's something that's done automatically. Once we get that, and what we have done in the process just to kind of give you some context when I see you there, hand David, when we have done that salad or anyone in my office, we will start working on getting a solution. And we will respond to you back once we have received a solution. So sometimes what we'll do is like, thank you for your email. We're working on it. We'll get back with you on a solution and we're working offhand in order to make that happen for you. Okay, David. Yes, over in Park Park, we have a situation where we keep on reporting on the app, the homeless camps that are being built and they get rebuilt, but they just move away to a different spot. I remember before the pandemic, we used to have code enforcement that would ride around and look at things that were violations. Are we going to, could we have those patrols again? And also like focusing on the homeless camps in Park Park and District 8 right there along with the railroad tracks are at and toward the back where the park is at at the dead end and also, I guess the south of Seminary, those are the parks right there. That's where a lot of them camp out at. And then we do move them, the city code enforcement does clean those areas up, but they move to a different location. But all I was concerned about, maybe we could get patrols again like we did before the pandemic, or if there's something that we should, I should be doing as neighborhood association to get that going or something. So, and those of you who don't know me, I'm Brandon Bennett, I'm your Code Compliance Director. That I've been with the city about 20 years now and I'll tell you, we've never had enough code or police officers to proactively address all the different crimes that happened in your neighborhoods. And so one of the things that we have, a tool that we have now that we didn't have in the past is the smartphone app where you can be our eyes and ears because you're absolutely right. What happens is that where the homeless problem used to be singularly located on Lancaster, I will tell you there isn't a neighborhood in Fort Worth that isn't experiencing camps, that anywhere there's a nook cranny, anything, any type of growth of trees and stuff, we got the homeless because they realize that they can hand handle in this neighborhood or that neighborhood on different intersections and raise money. So we have it throughout the city. Use that app to be our eyes and ears. That will get you the quickest response on homeless camps because what happens is when you put it in there, there's a work order that goes to the police and code compliance at the same time. So when the officers come in in the morning or if they're on duty, when you send it, that that's one of the things that they get a work order for right away. That is the fastest, cleanest way to do it. In your particular, in your neighborhood, because I am familiar with your neighborhood. You've been here with us on that. Yeah, I've been to your neighborhood meetings. No complaints, no complaints. Yeah, I will tell you, it's just a matter of, it's a sequence issue, right? Where they can only get to so many things in a day and sometimes it takes them an extra day or two to get to things and that's where it helps. I will tell you, when you use that app, it prioritizes code compliance. We're gonna address those things that come into us from all of you before we address other things that the officer may come across in a day. Is there like, was that like a code ranger or something? And when you have a code ranger program, I'll tell you it's primarily made up of people that also do the code blue with the police department. So both police and code have citizen volunteers that can help keep the neighborhood safe for the police department. They do a crime prevention function where they report suspicious activity and look for hazards and things like that. At the same time, if there's a code violation, that they can help us. And the way they do it is, is a notice goes out to a violator from the code ranger, comes from the city that the code ranger initiates it. That frees up a code enforcement officer to work on higher priority calls like the homeless camps and things like that. So at the end, we'll see the code compliance table and we can tell you how to get involved in that or how to utilize the app and things like that. Okay, go ahead, no you can't. I'm actually piggybacking off of you, but. I'm gonna piggyback too. All right, so go ahead, I can't wait to end. Go ahead and go first. I don't mind. I was gonna bring up the nuisance abatement on the property over there. Now I know it's district 11 for the motel, what is Daisy and Motel, but I've heard from other people from different neighborhoods. How does that, how do we get that thing started? How does a nuisance abate get started? Like if we have another property in Carter Park area that we wanna deal with, how would a neighborhood go about doing that? Do we contact a council or do we contact? Yes, both, you reported. And so, and what, and I don't know if you have something you wanna add to. Okay. So whenever you want to report a nuisance abatement, we have MPOs throughout the city. I'm sorry, my name's Robert Alderge. I'm the executive assistant chief in the police department. I would say connect with your MPO, let them know where the address is because there's a threshold that we have to meet to make it a nuisance abatement property. What's that? Well, there's, I'm sorry. There are so many offenses that are violent crimes, repeated drug offenses, and there's reports that we need to make or the citizens need to make that needs to be on file before we can start the nuisance abatement process. So what I would encourage you is if there is a problem property, just contact us through the MPO program. If you don't get your MPO, let me know. But it takes the first step and just let identify where the property is. And then we can tell you what the needs are for us to go forward with that. So does that have like violent crimes? Highland crime is definitely one of them, drug usage. So part of it is, is that that property owner allows this activity to happen. So they don't have any preventative measures that prevent that stuff from happening. Like if, you know, he knows that they're selling drugs out of the parking lot or they're selling drugs from within the business itself and he does nothing to prevent it, well that would fall into a nuisance abatement category. So, and it's no different for things that are going out on outside of this parking lot. Thank you. You bet. Kenny, you had a question. Okay. My name is Kenny Mosley, I'm the executive director for Renaissance Heights Foundation that's leading the development there in Renaissance Square and really piggybacking off, well, backing up a little bit. So what we do, we work actually alongside a lot of the neighborhood associations in our work to make sure that we're bringing along that revitalization in the way that the community wants to see that happen. And in those community neighborhood association meetings that I'm a part of, I'm listening to the co-team coming and talking about how they are addressing some of the pain points of the community. And one of the things that I wanted to kind of ask or discover if it was possible from a reporting, like a report back. So when the neighborhood associations, when the residents, the neighbors are reporting cases, right, if it's cop-hark or somewhere else, homelessness or whatever, is it possible to have a report so that the act that you're referring to? Once that is entered, can your team bring back to the neighborhood associations? Here's a report of all of the cases or incidents that you reported, right? And here's how it was addressed or is it still in progress? Has it been closed? So that way the community can see exactly how your team is executing or what the gaps still are and what they need to do as a community to be supportive and working in collaboration with COVID. The answer is absolutely yes. So one of the cool things about Fort Worth is that the neighborhood police officers and the code enforcement officers work the same patrol means. And we do this because there's a correlation between crime and crime. So just like an MPO would bring to a neighborhood meeting, here's the crime statistics for the area. We can work on getting the code officers to bring you updates on the code cases. We just implemented a new software application, right? So that's been probably part of the reason why that the old system was not as robust as the new system. So that may have led to some of this. And then also for those people, you don't necessarily have to wait for that meeting that the city has a tool on the main webpage and it's one address. And if you type in the address of the violation, it'll not only tell you what the code activity has been there in the past, you know what's current. It'll tell you past crimes that were in the area. It will tell you past building permits. I mean, there's all kinds of information on addresses there that you can use, but absolutely come see us afterwards. I'm all for that. The cool thing about the app is when you use it, is you can still do it somewhat anonymously. And then when you make the complaint on your phone, you can track it back easily. I'll tell you for code compliance, if you leave contact information, an email address, a name and a phone number, something like that. 99 times out of 100, my staff will call you back and give you updates at different milestones. If you happen to be unlucky and have that one time out of 100 where we don't, you can call me personally and I'll fix that. Because I think it's important to bring feedback to you. When you bring us something in support of you, we should be reaching back to you and saying this is what we did with it. So I'm with you on that. That's good. Yeah, closing the feedback loop is what I think what's really key there. Andrea McKinnon. Just to piggyback, Andrea McKinnon, citizen of Fort Worth, Brandon, thank you to your team. Couple things along as down Evans Street, that was stated already, 2,200 Evans Street, seems to be a location of severe homelessness. So just want to put that, that's the former Brooks Pharmacy. So want to put that on the radar continually. And unfortunately, 2,401 Scott Avenue. I'm fortunate that I'm a homeless person a couple of weeks ago. And so the concern is making sure the brush to find a solution to help support the Code Enforcement team. Know your, understand, get that. However, where there's a lot of brush, that's where encampments are. So Beach and I 30, I think text out if somebody came and cleared the brush so homeless was reduced. So where there's opportunity to clear brush because that's where homeless encampments are. Secondly, how can, how can let property owners post no trespassing since that becomes more of an urgency to come out versus not posting. That if you homo, if the, if the property owner posts says no trespassing can that help support your team, Brandon? To make sure that that's if somebody reads it if a homeless person, anybody that they know that there will be a fine. So just want to ask, how do we help you? Because the challenge of development that council was trying to do, homelessness creates a barrier, an impediment to create good development because we're having challenges in places that have been there for a long time, like 2200 every day. So how do we help you? So I, and I, I wholeheartedly agree with what, what, what Andre said that we know that having homeless camps it impacts your safety, your quality of life, development week, there's no argument to that. So we do a, we do a number of things. One is that if it's city property or city right away or state like what we did with the state and we have repetitive camps, we'll actually go in, we'll work with the parks department. If they're trees, we'll work with community service workers, if it's brush and we'll clean that out. We use crime prevention through environmental design. We borrow that from the police department because we know if we have natural surveillance or have good sight lines where they can't hide then they're less likely to come back, right? If it's on private property, we can't just enter onto a property and trim it. But one of the cool things we do in Fort Worth is we can work with private property owners because it's expensive for them to clean up camps, right? If they'll bring the stuff to the curb, right? We'll haul it off for free. And then if they'll trim up their brush and put it in the curb, we'll haul that off for free. And it's not really free because really at the end of the day they're saving you the taxpayer money because if they clean up their property that way we're not having to send police and fire and code back out over and over again on the camp. So it's a complicated process that process. But most certainly, you know, part of it is feedback to us to say I reported this over and over and over again. I know that that seems redundant. Remember, there's lots of different code officers and police officers. And sometimes it's different people that have responded to different complaints and it doesn't always add up right away. So your feedback is important. We've got a couple of, hold on, yeah. Any, you got a question? To the sister of the police monitor not to throw you under the train but we won't let you catch bus. Fort Worth Talks and State just had this annual consent decree conference here in Fort Worth. Would you agree with the Justice Department that there is enough circumstantial and real evidence to warrant a justice investigation to the police department and possible place them on the consent decree? Great question. What I'll say is that I was in attendance for the consent decree conference and I'm coming to Fort Worth from the New Orleans Police Department that is under consent decree. What I'll say at this time, for what I know and I'm only gonna speak on what I actually know at this point in time, I can't say that the Department of Justice will come in and impose a consent decree on Fort Worth Police Department. What I will say is my goal is, is to do the work that I'm permitted to do and allowed to do and this community wants to see me do to hopefully prevent that from having to happen. Just to make that, they ought to be interested in coming into the rest of the case. I understand. So we got about a few more minutes for questions. So we have an opportunity to allow you to meet with the vendors again before we leave out. I've heard from some of my neighbors about calling the police and police response time being very slow. I also recently heard that the police station on Bold Street, which is South Division was moving to Burleson. Is that true, one and two? What is that going to do to the response time? I got what you need to know, Chief. Okay, the response times, let's talk about that first. Response times, every call that comes through the communication center, it's prioritized. So a life and death situation is priority one, and it kind of goes down from there. If somebody being assaulted can be a priority one depending on the circumstances and then you have lower level offenses. So depending on what was reported and I don't know the specifics, I would have to figure out why it took so long for them to respond. So some of the other issues were in our communication center because we were having problems with staffing, but because of the council member, our city leadership, we've increased the staffing in our communication center to be able to take those calls a little bit more efficiently and effectively. So to answer, we're moving to Burleson. No, we're not moving to Burleson, but we are moving down south. So it is going to be on McPherson Road and McCartn McPherson because we had, it's south division was divided into two divisions. So one was on Bolt Street. The other one was at 7451 McCart, which is literally a few blocks away from where the new subdivision is. So the whole hope was to get all the patrol officers in one division and in one building because it's easier whenever you have the collaboration between all the patrol officers instead of being split up. So to answer your question, is it going to impact the response times? No, because they're still going to be, they're still going to be out in the community. They're still assigned to patrol beats. And so all they're changing is the location of where they report. They're not changing, you know, how they deploy and how they actually answer calls for service. Okay, on response times, I think it's been like accidents when someone has an accident they call the police and they, it takes forever for them to show up. And a lot of that depends on the injuries location. If it's blocking, I mean, there are a lot of factors that kind of go into that of how they prioritize those calls. But I mean, if there's one specific I'd love to research it for you and get you the answer. Okay, thank you. I would love to have a police substation in our area. We're in Highland Hills area. There's the vacant buildings on the end. Is it possible or how can we get a police substation?  So how can we get a substation in our neighborhood? So I think what you're referring to is a storefront. A substation for us is an actual police headquarters facility like what you see over here at 1100 Nashville. But storefronts, basically those are buildings or locations that the property owner donates to us or we pay $1 a year. And so the cost is almost nothing to the city but yet they allow us to occupy those locations because they lack our police presence or there's other reasons why they lack us on those properties. So really it's kind of connecting with those business owners to see if they would like that. And then that way we can determine if that's a good place for them to be. I believe Highland Hills is a good place to be. So yeah. Thank you. Also, I would like to comment on the Mind Forward Act. It's a superb act. It is one of the best in the code. But it's a great act, I always get the response quickly. So I appreciate that. All right. One or two more. Anybody? Yes. Let's show them. I got you there. I would like to know if my name could down the street for me at the home there. And now each room is a apartment number. Is that acceptable here in the city of Fort Worth? No. So is it A-5? Is the home zone as a A-5 residential home or is it zone? We may not check the zoning on the home itself but it's on our street. Okay. It's like a residential home. Single family home. So they can have apartment A, apartment B. It's gonna be determined on what is zone. Is that correct? Yeah, so come see us after the meeting today. And I'll tell you, for all of you, sometimes people convert property unlawfully, right? And you live in the neighborhood, you know what's going on. And so that's where we encourage you to call the Code enforcement officer for your area. Like tonight, talk to Tony Hiller, the one with the white hair. And we'll tell you the proper name. And let's look and see what's going on with the property for everybody to understand that when we deal with these type of code violations that they don't generally get fixed overnight. That it's generally a process of law. In Texas, we are a very strong property rights thing and we have to work through putting the case together to get it to court, schedule an appearance before court. There's all these things that we have to do. And so I would encourage you tonight to talk to Tony and he can tell you where we are in that process. Absolutely guys, we don't want houses turned into the quasi-boarding homes illegally. That's not what we want. We want you to help us be the eyes and ears for that. And you can email that address to us too so we can stay with code. Yes, sir. Okay, last number change, thank you much. But my name is John and Goose. I live in historic Southside. And one of the things we've been looking at, we have done the work is discerning bonds. The bond that makes you a street repair. We've been, I can show you streets that 50 years we've been asking for them to be repaired. We sent them this to you. We sent it to the city attorney. And we want to know what do we need to do to find out if any of these streets are up for street repair. We need to meet the same streets, the same pop holes, the same things that need to be repaired. And Chris, it's just, I mean, councilman knows, it's just getting really frustrating, not just to me, but for other people. When you're talking about having new homes built, we've got all these houses being built. But on the northern end of our community, it's, you know, you go through that. It's like, it's like, right, it's like they lose. Superjuice, they're well, and I've been there. And so that's one of the things that people ask about. What do we do about getting each streets on the south side of the town? We've sent them, we've sent them, missed the streets, we did work. So the city can't say, well, we didn't know. And the other thing is only on the lights. We sent them, we've done the work on the lights. We went out and did the work on the lights. They need to update those bugs. They know it. When is the last time you've done the lights? Because we have started a new program. I can't remember. You started a new program. When is the last time you sent them in? Okay, it's been about two, maybe three months ago. We go through a little bit of dead lights out. And also, the other issue we brought up, was the thing, as far as you need to go out and trim, trim around those lights. Because the problem you've got is, you've got to meet some officers that won't even go down some of these streets. Because they said, no, I'm not saying for a joke, I'm not saying I'm out, because it's dark down here. I don't even wanna go down there, but I do. Let's answer those two questions for you. I just wanted to say something real quick, Mr. Lewis. We definitely did get the list of streets. It came a little bit after the 22 bond election, but I promise it was sent to TPW staff for evaluating it for the next bond election, which I think is 2026. We sent it real early 2020. My name is Julius White. I'm the Senior Cover Project Officer for Transportation Management, and I manage the street lights and traffic signals and signs. I heard you mentioned that you guys have done something in the community with the lights. If you wanna come talk to me afterwards, when we finish up, I can try to work with you and see about what's the issue that's going on over there. I don't want to go into the bus with problems here. It's the same problem we've been having. We got it, Johnny. We got it. All right, if you do have lists of streets, and I don't know if y'all can talk real quick, because there's two different types of repairs that we do. If you... So, I'm Mary Hannah with Transportation Public Work Capital Delivery. So, if you have a street, it depends on the type of, like, what type of repair. If it's something we can do it with maintenance, with every year maintenance budget, we can do it. But if it's beyond maintenance, the way you are describing it, seems like it's beyond maintenance, so it's need to get reconstruction, that will need to be what ends up on. So, we are actually working, we just started working now to prepare for the 2026. So, it takes us a long time to get the list. If you get us late 2021 or early 2022, it was too late for us to include it into our 2022 bomb. We are working now for 2026. So, come talk to us and give me the list. We are actually working on that right now. Do we have a deadline for those streets to be... For 2026? We still have a year and a half to compile all the lists before it goes to, like, the Council on Groover and then we'll go to the public meeting and then, like, in 2026, May 2026 will be the vote. So, we still have a year and a half working on this list. Okay. But as we talk about, like, potholes and stuff, that goes on the pay go. Yeah, if it's something small, we can't see if it can be repaired or maybe filled up, gone and repaired. If you take a picture, there is a box full, if you put a picture with the app, they will be better than 24 for a gift or a match. Okay. Okay, we have to stop so we can make sure we get out on time. But again, I want to thank everybody for coming out. Thank you for your question. Your questions don't stop today. Please continue. And again, there's people, just like any other business, employees come, employees leave, people have emails, people delete emails.  So keep us on our piece and queues that, hey, I sent this on this day, I'm returning it another email to make sure you get it so that we all can be coherent together. So thank all of our city staff for coming out. Thank you. And so we act in South Side Community Garden has made it. So please visit her. Well, I'm telling people to come visit your table. Don't visit a tree, y'all. All right, this ain't church, so there's no benediction. You guys are dismissed. Thank y'all for coming out tonight.


This class is for students who are interested in studying mathematics, engineering, physics, chemistry, computer science, or other fields that require multivariable calculus. In the first semester, we'll look at vector functions and partial derivatives. In the second semester, we'll look at multiple integrals and vector fields. We will cover all of the content from a typical college-level multivariable calculus course, plus a few additional topics. Throughout the year, we will also work on a variety of application problems that will stretch our understanding of what we are learning. For example, we'll look at how Bezier curves are used to design fonts and how line integrals are used to turn information from CT scans into images of your internal organs. For students to be successful in this class, they should be willing to learn both the applications of and the theory behind mathematical concepts. They should also be committed to keeping up with online lessons and assignments and attending weekly webinars. Variable calculus is an extension of single variable calculus, so students should have a strong understanding of the concepts and techniques from their BC calculus course.


At some point in your life, you probably recognized a familiar shape in the cloud. And then you probably began wondering, why do clouds come in so many shapes and how did they form in the first place? Clouds are made up of many tiny water droplets or ice crystals. The formation of these droplets requires cool temperatures, water vapor, and an aerosol on which the vapor can condense. There are many different types of clouds. Cirrus, which means curl of hair in Latin, are high-elevation clouds that are thin and wispy. The presence of cirrus clouds usually means fair to pleasant weather. If clouds are really low and look like fog that doesn't reach the ground, there are stratus, which translates to layer. Altostratus clouds are mid-elevation, blue-gray clouds that cover the entire sky. These usually signal a storm with continuous precipitation. Cumulus clouds, heap in Latin, are puffy-like cotton with flat bases and rounded tops. They can occur at different heights above ground. The cloud can continue to grow upward and form a cumulonimbus or thunderstorm cloud. There is a lot of energy released in these clouds, which results in lightning and thunder. I'm sure you've seen a jet zoom across the sky, leaving a cloud behind. These are called contrails and are formed from the injection of water vapor into the air from the jet fumes. So before you leave the house in the morning, take a peek at the clouds because they can tell you a lot about the upcoming weather. From the University of Wyoming Extension, I'm Mae Smith, Exploring the Nature of Wyoming.


Yes, it's all those things, buildings, I was talking about in that section. Those are really specific concepts that are part of the ego's self-concept. And that's part of the fragmented world. And you might say that the real world is more like a unified mind. So it's more as if, like if you relinquished those boxes or those concepts in the mind and could look upon the world in a whole different way than the way that saw streets and buildings and cars and clouds and so on and so on and so forth. Or if you could empty the mind of all those concepts and we'll say let it be given back to you like in a purified form or cleansed of those specific concepts, then that would be the real world. And there's a line where Jesus says, it's beautiful, Jesus says, the body's eyes will continue to report differences. But the healed mind has put them into one category, one category. They are unreal. Or we could say better the Holy Spirit shows you that there is only one category. Then the body's eyes will continue to report differences. In other words, people would say, well, Jesus was in the real world. Wow, what did he see? There still seem to be bodies and human bodies, men, women, you know, there seem to be Nazarets, there seem to be, you know, Gentiles and Jews, there seem to be the disciples or the apostles they were called and so on and so forth. Then animals, donkeys, he wrote in, you know, the very end, Hosanna, Hosanna. He wrote in, you know, back into the city on a donkey. You know, the body's eyes will continue to report differences.  The body's eyes continue to report the differences of the world. But because he has allowed the Holy Spirit to put them into one category, they are all the same. So he must be looking at the world in a different way than a human perspective. What kind of human being would be on a cross and have nails and spikes, you know, in the arms and legs with blood dripping out and say, forgive them for they know not what they do? Does that sound like a human perspective? No, he was teaching forgiveness from the cross. He was still teaching and demonstrating a state of mind, of peace, even when the body was nailed on a cross. That body nailed on a cross didn't detract from the lesson, which was, in fact, Jesus actually says that in the Course. Jesus says the real meaning of the crucifixion was this, teach only love, for that is what you are. Where is the sacrifice in that? Where is the suffering in that? He had transcended the guilt in his mind. He had transcended the beliefs that the images had meaning. He was invulnerable because he knew who he was and he was identified with the mind and not the body. He wasn't literally in the body. There were groups that came, the Gnostics came shortly after Jesus and Gnosticism is really a beautiful teaching because it's, believe it or not, right after Jesus the Gnostics taught that the world wasn't real. That's pretty sharp. It's pretty on the money. Of course, they had then experienced that. You can't just say it. You've got to actually get into the presence of that. But the early Gnostics, they actually had a little scenario where they had Jesus while the body was hanging on the cross. They actually had like an image of Jesus off in the hills, laughing at the whole scene. We talk about the laughing Jesus, that's pretty high. They pictured Jesus off the cross, kind of laughing at the whole scene of being on the cross. Which was a symbol, again, of the real world. Of not taking the symbols and the images of this world seriously as it's the real. So, that's also a state of mind of unification. There was no betrayer. Jesus, you know, did not see Judas as betraying him. He constantly, and if you go back and read the Gospels, he knew exactly what was coming in the script and he told the apostles and he told others. He talked about tearing the temple down and rebuilding the temple in three days. He wasn't talking about a building, he was talking about the body. The body will be torn down, crucified and rebuilt in three days. It was literally, during the resurrection, the body of Jesus was used as appearances as part of a symbol of teaching, you can't kill me. You tried, but it didn't work. You know, I am the way of the truth in life. I am eternal life. It was a skit. Even the resurrection, the appearances of Jesus with that is just a symbol.  And so, that's really what the real world is. It's really not seeing the world in the way that it was seen before because the categories in the mind have vanished. And the world you perceive comes from the world that you believe. If you believe in fragmentation, you perceive fragmentation. If you believe in unity and wholeness, you perceive the real world or true perception he calls it, or the happy dream he calls it. He uses a lot of different words to teach about the very same state of mind. He just uses different words in there. But that's what gives you the incentive to judge not, to release the categories from the mind. In that passage, the body's eyes will report differences. That's how the world seemed to arise was it is all false perception. And he already says in the workbook that he does have a great line. He says, the body's eyes were made not to see and the body's ears were made not to hear. So, true seeing, we can say with the Holy Spirit, is an inner seeing. It's not vision as we would define it through eyes and light waves and retina and all the aspects, the pupil and all those things. One time I was in Cincinnati and my friend Lisa and Jason and some friends of ours, we all went out on a walk and we were guided to walk across this big river, the Ohio River and go to Kentucky. And we saw all these signs and symbols about sight and vision and so on and so forth. And we met someone who was blind on the walk and we met different people. And when we got over to this festival that was going on in Kentucky on the other side, we were going around and Lisa had a fake, it was a microphone like this, but we didn't have any real equipment with us. So she stuck the little plug thing into her belt and she went around just holding this cord and microphone and interviewing people about miracles, just asking people, do you believe in miracles? And we went all over there and she kept in her glee and joy asking people about miracles. And one lady came up to us and she said, yes, I believe in miracles because we had signs and symbols that the whole walk was going to be about sight and vision and that was going to be the theme. And sure enough, everyone we met had something to do with sight or seeing. And we met this woman over there in Kentucky who said, I'll tell you my miracle as Lisa put the microphone there. And she said, the scientists and the doctors say that I am a walking wonder. She said, I have no pupils. And we both, we all went really and we actually went up and we all looked into her eyes and she had no pupils. And she said, I've gone into clinics and I had my eyes tested and everything and the doctors say, no way, you can't possibly be seeing because you don't have pupils. You can't see without pupils. It was another one of those contradictory kind of things where people don't, when people do doctors and scientists do research on eyes, they're researching all kinds of things about the eyes but they're not researching whether or not they're pupils there.  And she showed us her eyes. We all were like, wow. As you go like this and gaze at one another. She obviously from the world's perspective was seeing. She was because she could look and she could talk about the colors she saw and she could talk about what we were all seeing around us. So it wasn't like she was blind at all. And she said, that's my miracle story. We're going around and everyone we met and including at the end something, a child who had lost something who was blind and the parents working with him. The Holy Spirit basically after the whole day was just saying, I remember now the body's eyes were made not to see and the body's ears were made not to hear. So don't think you'll ever experience meaning through the five senses. The meaning is in your mind. The meaning comes when you let go of the judgments and the categories and you see with the Holy Spirit what you see with the vision of Christ. Then you reach meaning. Like what people say when you're having a talk with somebody and you're talking, talking, talking to them and they go, I see, I see. They're saying, I understand, I understand. They're actually using seeing as a synonym with understanding. And we could say that peace of mind is that seeing, is that understanding. That until you experience a consistent peace it would be an honest statement to say that I do not see clearly. Or I do not understand. There's nothing embarrassing about that. In fact I think you'll find more and more as you go through your life you'll get more and more comfortable laughing more and more relaxed and more and more comfortable saying, I don't understand with the smile on your face as an opinion is coming your way. As a judgment is coming your way you can go, I don't understand.


Hello everyone. My name is Ruchir Mundra. I am a graduate student at Rensselaer Polytechnic Institute. I am the lead author on a paper in which we talk about a unique method that we have developed to decontaminate bacillus pores. Bacillus pores are deadly pathogens. They pose a big environmental challenge. They cause a number of diseases like food-borne illnesses as well as are responsible for causing inhalation and thrags. But what makes them even deadlier is the fact that these pathogens are resistant to a number of commonly available treatments like they will be resistant to enzymes, use of other benign com chemicals, organic solvents and so on. The present methods to decontaminate these pores involve the use of very hazardous chemicals, chemicals like bleach and in some cases even heating at 100 degrees Celsius. What we have looked to do is develop a benign method, a more enzymatic method to decontaminate these bacillus pores. What you see here is the structure of a pore which has three layers. The germ cell wall is the innermost layer which is surrounded by a cortex which in turn is surrounded by a coat. This pore coat consists of over 70 different proteins which are cross-linked together. This cross-linking is mainly responsible for making the pore resistant to various enzymes, antibiotics and various other chemicals. What we have looked to develop here is an outside-in decontamination strategy where we start from the outermost layer of the pore and slowly move inwards thereby killing the pore completely. How we achieve this is we have a three-step decontamination strategy. Since there are three layers in the pore, we look to degrade each layer at each step of our process. To start with, we use a combination of proteases and DTT. DTT is a reducing agent which we use in combination with proteases to degrade the coat. This step is the most critical aspect of our work. This is because the present methods to remove coat involve the use of SDS urea such denaturants as well as sometimes they even use heat. Now in environmentally relevant settings, using heat becomes impractical as well as we want to avoid the use of detergents due to their associated toxicity. Our method, we bring about the same coat degradation as achieved by conventional methods without using any of those things. What we use is essentially just a protease and a DTT. We have identified unique proteases which are capable of selectively degrading the pore coats of bacillus cirrus as well as bacillus anthracis. Now we invite you to read our paper in much more detail in order to understand how we identified these proteases and how we analyze this coat breakdown in much more detail. Moving on, we use lysozyme and slab in the second step to degrade the cortex. Lysozyme or slab are known to hydrolyze the cortex but they work only on those pores whose coat has been completely removed. So our hypothesis here is that proteases will be able to break down the pore coat and then lysozyme and slab will be able to hydrolyze the cortex causing germination. Once lysozyme and slab are able to hydrolyze the cortex, we want to add pH or Pli-G which are bacterial lytic enzymes which are known to hydrolyze vegetative cell wall. These enzymes are known to kill vegetative bacilli which do not have any coat or cortex. So the complete strategy here would be using proteases to break down the coat, then using lysozyme or slab to break down the cortex and then using lytic enzymes to kill the germ cell wall. Thereby, completely decontaminating the pore. I would like to thank you for your interest and I would invite you to read our paper in much more detail. Thank you for listening.


All right, let's see. Sound good? Can't see anybody up there. All right, so welcome, everybody, to bagering up a standalone multi-node OpenStack Swift cluster. Thank you all for being here so early in the morning. I know it's early for a lot of us. It's 2 a.m. to me. And especially after breakfast getting here, I know we'd all want to still be asleep. So thank you for being here. So who am I? I'm James Thorne. I'm a sales engineer at Rackspace, working in the Rackspace private cloud business unit. I've been with Rackspace for about a year and four months, and that's as much of an introduction as I'm going to give. So we're going to get right to it. And what are we going to talk about today? So the first thing I'm going to talk about is a very quick overview of OpenStack Swift. Then we're going to go through the vagrant file I've put together to create a standalone multi-node OpenStack Swift cluster. And then we're going to do a quick demo of some of the Swift commands, the Swift recon commands, open it up for QAA. And then at the very end, I'm going to show you where you can get all this stuff, so you can do it on your own time. So what is OpenStack Swift? So I say OpenStack Swift and not just Swift, because thanks to Apple, we now have two popular things called Swift, and it makes googling for information a bit more difficult. Hopefully, Swift has been copyrighted by the OpenStack Foundation, and we don't have any silly name changes like we have had with some of the earlier or other OpenStack projects. I attempt to make my own definition of Swift, but the folks over at the OpenStack Developer website provide a very efficient definition. So Swift is a highly available, distributed, eventually consistent object in Blobstore. Organizations can use Swift to store lots of data efficiently, safely, and cheaply. And those last three words, efficiently, safely, and cheaply are kind of the foundation of Swift. It's something you can run on commodity gear or enterprise grade servers as well, or anything in between. So use cases. What can you do with Swift? So it's an object slash Blobstore. What does that mean? It's a place to put stuff. A blob, an object, it's essentially a file. So one of the biggest use cases that always comes to my mind is photo storage. We all have cell phones in our pockets with high-resolution cameras. We all have digital SLRs at home. And we're always taking pictures of our cats and our kids. And even though all those pictures look exactly the same, we always want to keep those pictures around. And Swift Cluster is a fantastic place to put all that information, all those pictures, efficiently, safely, and cheaply. In addition, it's a perfect place to put anything static file-like, so your photos, your audio files, your static web assets. It's not something where you would run any sort of real-time data, so you're not going to run a virtual machine off Swift. You're not going to run a database off of Swift. But what you can do is run the, or not run, but back up those database snapshots to a Swift Cluster. Back up those virtual machine snapshots to a Swift Cluster. Anything static that you need to write once and read later, maybe many times, is a perfect use case for a Swift environment. So how do you access an OpenStack Swift Cluster? It's done entirely through the API. So you have the Python Swift command. It's using the APIs all in the back end to talk to the Swift Cluster. You can, of course, use curl.  And that, of course, uses the APIs as well to interface with the Swift Cluster to create containers, to upload objects, to download objects, to delete containers, so on and so forth. So I mentioned that was a very brief overview. And the meat of this presentation is actually in the demo. So I'm going to jump out of this presentation. And which PowerPoint does this thing? All right, so on my laptop, and this is just a four-year-old MacBook Air with 4 gigs of RAM running four virtual machines. So that kind of shows you the little amount of resources necessary. But this laptop is running out of RAM, so things are going to be a bit slow. So I recommend at least eight gigs of RAM to really do this efficiently. Each virtual machine has about half a gig of RAM, which is not enough. But it'll work for demo purposes. So to show you real quick, let's see. We're on vagrant status here. So I'm running vagrant in virtual box. And I'm sure you all are familiar with virtual box. VM Refusion is another option you can use as well. And then vagrant, if you're not familiar, sits on top of both of those things, as well as VMware Workstation. And it allows you to bring up virtual machines very quickly without having to interface with the virtual box GUI or the VMware Fusion GUI. It becomes very tedious going through all those menu options when you're creating a lot of virtual machines, especially when you want to bring up an entire environment quickly, bring it back down, and maybe do it again after some changes or testing has been done. So with an image and a text file, you can create an environment. I can give you those things. You can create an exact replica environment. And that's what vagrant is really meant to do. And it does a great job at it. So I currently have four virtual machines running, one proxy node and three object nodes. And a Swift OpenStack cluster can be architected in a lot of different ways. But the typical ways are you have the proxy nodes and you can have many of those for redundancy and high availability. That's where the Swift API runs and that's the front end for the environment. So whenever you upload or download or do any sort of querying against the cluster, it's gonna go through that proxy node and then that proxy node will work with the object nodes to service that request. So on the object nodes, that's where the actual storage is. So all your hard disk. In this case, I just have a loopback file on each virtual machine, 10 gig loopback file that's created as a device and I'll show you that here shortly. On those object nodes are the object services, the account services and the container services. All those can be separated out, but wherever your storage is, that's where the object services need to run. And then you could distribute the account and the container services to other servers depending on how large your environment is or how heavily it's taxed or whatever your use case is. So let's actually look at the vagrant file. So I'm gonna start here at the bottom.  I've taken some time to try and reduce some of the redundant code that you typically see in a vagrant file. And what do I mean by that? So I have four virtual machines running and each of those virtual machines is defined by what I call like a vagrant virtual machine definition. So it's this block you see on the screen up here. And the first top of that block is always, it's just that one piece that defines what vagrant box, which is the image you clone from to actually create the VM from. And if you don't happen to have the vagrant box, I'm using a CentOS 6.5 box. If you happen to do not have that virtual box or that vagrant box, you can pull it down from that URL. So I could give you this text file after you had just installed vagrant, installed virtual box, you could type vagrant up and it would go grab that box and begin building the entire environment. In addition, there's a VMware Fusion block in there as well. If you prefer to use that, it will go pull down the VMware Fusion compatible vagrant box if you so desire to use that. In addition, there's this turn off shared folders here. With vagrant, you can mount a shared folder from your laptop into the virtual machine. And that allows you to funnel data in between the two different things. You can also SCP that data over as well. There's some caveats there with virtual box based around network connectivity. But in this particular case, I'm not using shared folders, so I've turned it off. It makes the boot time of the vagrant environment a bit quicker. And then we get to the actual part where, or which is defined for each virtual machine. So between starting at the boxes line, going all the way down to the last end statement, typically you would have multiple of those in a vagrant file. So I have four virtual machines. Typically you would see four of those. Each one would have a lot of the same code, but you would have the unique parameters for each one. So a unique host name, unique IP addresses for each of the additional network adapters I add, the amount of CPU, the amount of RAM, and those could be the same or different. As well as specifying any sort of inline scripts you wanna run or provisioners.  In this particular demo I'm just using inline shell scripts which are in this file up at the top and we'll look at it in a second. But instead of having these blocks done four times, I simply have a pretty much a for loop. At the very top you'll see the boxes.each. It'll loop through this thing and put in all the particular parameters in place for each virtual machine. But where do those parameters come from? So I'm gonna hop back to the beginning of the file. And the top there is just a vagrant file boilerplate specifying a required version, a minimum required version. So that's nothing special there. And then this is where the actual unique parameters come from. So it's just a boxes variable with a JSON array. Inside of that array are four objects. Each object has different keys, name, eth1, eth2, mam, CPU, and node type. So pretty self-explanatory there. The name for each vagrant box, the unique IPs I want for eth1 and eth2. Memory, CPU, and node type. So that you can put in whatever keys you want here. The node type is an arbitrary key I added, whether it's a proxy or an object node. I have particular inline scripts that need to be run, pertaining to which node is being brought up. So that's where I can simply use an if statement down at the bottom of that virtual machine definition to say if it's proxy, run this set of scripts. If it's an object, run this set of scripts. Or commands rather. I'll open up questions here in a second. All right, so that's where that boxes.each loop pulls all the parameters from. So let's look at the actual shell scripts. So the first set of scripts we're gonna run, or commands rather, is the common script.  So this is gonna run on every virtual machine that is brought up. Simply laying down an etsy host file, so I can ping the short names of each node. As well as laying down some environment variables. So I'm putting in environment variables for each one's IP and each two's IP. And I'm doing that for the scripts or the set of commands we're about to look at. This is also a technique that you can use to reduce some of the redundant code. So there are three object nodes. And on those object nodes, pretty much the same set of commands need to be run to set up the object nodes. But of course you need the unique parameters such as the IPs for services to listen on. So instead of having an object one script, an object two script and an object three script, I can set these environment variables, have one object script and reference these environment variables in that script. And I can show you that here shortly. So with the common script out of the way, we can then begin to look at the proxy script. So there's only one proxy node. So I just have one proxy script. And there are some hard coded values in here. If I had another proxy node, I could do something similar with the object script and the environment variables to reduce some of the redundant code. So what are we doing to actually install the Swift proxy node? First, we're installing the Rdio repo. It's a CentOS VM. I'm installing EPL. And then I'm actually installing the OpenStack Swift Proxy software as well as the Python Swift client and Memcache D that the proxy node will use as well.  It would simply take too long and it bore us all to death. But we start to get to the actual configuration of Memcache D, enable the service, start the service. And then we get to the actual proxy server.comp stuff. So you can see right here at the very end is one of those environment variables that it's pulling. And when it cats in that file, it'll pull that environment variable, put the IP in there and it will have the proper configuration. Scrolling down here, one piece I wanna point out is this. So this piece right here. So in the title of this talk is the word standalone. So what does that mean? So typically in an OpenStack Swift environment, you're gonna have a full OpenStack environment at your disposal. So you'll have Keystone as well. Swift can be very easily tied into Keystone to provide tenant authentication, user authentication, all that stuff. So in an effort to reduce resources, I don't have Keystone. So what can I use? So Swift has a temp auth authentication system that you can use. And it essentially provides the same things with less features. But I have an admin tenant, I have a test tenant, I have a test two tenant. And then I have an admin user, a tester user and a tester two and three user. Each of those users have different roles and privileges that you can, or that are applied to them. For example, the admin user has the admin and the reseller admin privileges. The admin role allows that user to have full control over their account in that tenant. And the reseller admin is the full admin of the entire environment. And then the tester users as well have full admin over their stuff, but they can't affect anybody else in the environment like the true admin user can. So that's what the standalone piece means in this particular case. And then we're going and setting up the Swift.conf file. And that's generating some hashes that will be used in creating a Swift ring. And I'm not even gonna attempt to get into the discussion of a Swift ring. It's kind of a complicated topic. Essentially what it allows you to do is it allows Swift to figure out where data is and where to put data. So if you have questions around that, I recommend go talking to the Swift stack guys. They're right across from the Rackspace booth and they're even giving away signed copies of their OpenStack Swift book. So I'm sure there's a great many chapters in there on the Swift ring. So definitely check that out. And then we get into the actual creation of the Swift ring. So we create an account ring, a container ring and an object ring. And this is the first piece right here to do that. And then we get into the actual places where the storage devices are. So for each hard disk you have in the environment or each storage device, you're gonna have a set of three lines for the account ring, the container ring and the object ring. And that may change depending on how you architect the environment as well. In this particular case, each object node has one 10 gig loopback file. And at the very end here, you'll notice that I have just a 10. That's the weight. Typically, match that to the size of the disk. It makes things a bit easier. You can make it whatever you want, but it's gonna introduce confusion down the road. So 10 gigs, just 10, makes it simple. So that will actually build the ring for each object node. So I have three of those blocks there. And then once it's built, we rebalance it. That can take a while, depending on the speed of your CPUs and how many hard disks you have in the environment. Setting some permissions, enabling the OpenStack Swift proxy service, starting it, and that's it for the proxy node.  So you'll notice at the end there, there's an IP address, a port slash device name, and whenever you issue any Swift commands, it's gonna try and talk to those things. And if it can't, it's just gonna air back and you won't be able to do anything. So before we can actually use it, we need to run all the object scripts. So again, starting with the object scripts, starting from the top here, again, install RDO, EPEL, and then install the Swift account container and object packages, as well as XFS progs, which is going to allow us to format the hard drives that Swift uses as XFS. Swift is designed to work with any standard Linux file system, but to my knowledge, it's been more thoroughly tested on XFS, provides better performance, so that's what we're gonna use here. That's actually what we do at Rackspace as well, is we format as XFS. And then we're also installing X and at D for the R-sync daemon. So once those packages are installed, we're actually setting up the R-sync daemon. And again, there's one of those environment variables to make things a bit cleaner. Once that's in place, we get into, enable the service, we start the service, we create some directories, again, permission sets, and then we get into laying down the configuration files for the account server, the container server, and the object server. And these are not the full configuration files. There's additional feature or things you can add in here to open up new features for you to query things in the environment. And then once that's in place, so this next bit right here is a bit specific to Vagrant.  I've added, there's some additional things added here that you typically wouldn't see. So the object nodes come up after the proxy node. And the proxy node, as mentioned earlier, created the Swift ring. And when it creates that ring, it simply creates a handful of files. So there's an account file, there's a container file, there's an object file, and there's also the Swift.comp file that contain the hashes that were used when it was creating the Swift ring. So all four of those files need to be on every node in the environment. So the object nodes need to pull those files. So I'm creating an SSH key on each object node, running the SSH key scan command from each object node to the proxy node so we can get the known host file populated, because as you all know, you SSH in the first time, it's gonna say yes to the fingerprint to get that in your known host file. And if that comes up when this is running, it's just gonna stall out. And that doesn't help you in any automated way. So I'm doing the short name, doing the IP. And then even though that's all done to actually get the key onto the proxy node, you can use SSH copy ID. And of course you have to enter a password. Well, I don't wanna be there to type in that password. So you can use expect to do that. So install expect and then actually do the expect statement. So spawn that SSH copy ID command, wait for that output to come back saying please type in your password. Pass the password. It's just vagrant throughout the entire environment. This is all running on a workstation. There's not really any security concerns. And with that done, now each object node can log in via SSH directly to the proxy node.  So it's just star.ring to pull in the account.ring, container.ring and object.ring. Put them in a particular directory they need to be in. And then same for the swift.comp file as well. With those in place, we again set permissions. And then we get into actually creating the storage device. So making a directory here, just slash SRV slash node slash loop two. And then we're using DD to create the 10 gig file. Then using the loop back setup tools to actually turn that into a device we can mount, format and then mount, formatting it as XFS, make it an FS tab entry and then mounting it. So with it mounted, we again set some permissions or the user and group in this particular case to ownership. And then we go and restart all the services. So there is a Swift init command where you can Swift init, restart objects, Swift init, restart account. I like to have this a bit more verbose just especially for newcomers to this just to see all the different services that are being restarted. So with everything all set up, it'll restart all the services and now that object node is available to use. And then again, this last part is specific to Vagrant. Because I'm using that loop back file, if you reboot the environment, so vagantly reload will restart all the virtual machines. If you reboot it without this last piece here, the object, the actual loop back file will not be set back up again and the object services are gonna fail to start. So just recreating that loop back device, mounting it, restarting the services to make sure everything is healthy. So with the end of the object script, which runs three times, we're back to that virtual machine definition. And that's it for the vagrant file. So now I'm going to actually begin running some commands against the environment. So I have the Swift Python client installed on my workstation here and I have access to that proxy node so I can communicate with it. So let's do that. Let's just run the Swift command real quick. And of course, like anything, it's gonna output all the help. This is actually a more useful help than you typically see. You have all your various sub commands, delete, download, list, post, stat, upload, capabilities, and temp URL. And then some very useful examples, especially around authentication. That's always kind of the trickiest part. So in this demo, I'm using the version one Swift API. There's also the version two. So how do we actually authenticate against the environment and begin issuing commands? Luckily there's this very useful example here to show how to do that. So that's helpful. But there are some parameters there that need to be changed. So go ahead and do that Swift-A and then I need to point to the actual URL of the proxy node. So run the <IP_ADDRESS> on port 8080.  So in the version one of the API, this is not just a username. It's the tenant colon user. One thing to keep in mind. So we're in the admin tenant with the admin user. And then dash K is the API key or the password. In this case, it's just admin. And then we actually can issue a sub command. So let's just type list. And it's gonna return nothing. The list command simply lists containers or object in containers. And in this case, we don't have any containers. But as you know, this is a very tedious command to write over and over and over. And with any of the other open-sex services you can just create a text file with your environment variables typically called an open-rc file. So I already have one here with the particular variables that you need, stoff, stuser and stkey. So let's just source that in and now we can just type the swift list command and much simpler, much easier. So great, we have that swift list command and there's no containers. Let's run a swift stat. Give us a bit more output. So we're in the off admin tenant. Containers, none, objects, none, bytes, none.  So all right, that's kind of useful. But let's get some photos into this. Let's actually upload something into the environment. So I have this lovely llama picture here that I wanna make sure is kept around forever. I wanna replicate it three times because by default, data in a swift environment is replicated three times. That's why I have three object nodes. Ideally, you would have more than that for failover zones. But this is my treasured llama picture that I wanna upload and save. So let's get it up into the environment. So again, swift upload, very similar to swift list or swift stat, very easy to use. So swift upload photos, I'm gonna create a container called photos and you'll notice I didn't do like swift container create photos. That's not an actual command. But in this case, if the container doesn't exist and you're uploading a file into it, it just creates a container and uploads that file. So we upload it. Successful output is it returns its name and of course you can run the swift dollar sign question mark command return to zero status. Good to go. Of course, if it returned anything else then you should probably look into what's going on. So now if we run swift list, there's our photos container. Let's run swift list photos. There's our picture in that container. If we run swift stat, we now have one container and zero bytes that's interesting over the entire environment. So let's run swift stat photos. And here we actually have a byte value. So we're looking at statistics on that container. Again, we're in the account auth admin. We're in container photos, objects one. There's the size of that container. And then we have read and write ACLs. We're gonna come back to the read ACL here in a second. They're empty right now.  So we can of course upload another file if we like and we now have two pictures. So let's say I of course accidentally delete my picture on my workstation. It's gone. My treasured llama picture is gone. I need to download it. Very similar to the Swift upload command. We have the Swift download command. If you just do Swift download photos it'll download everything in the container. And of course you can specify one particular file. Open it or download it and it gives you a bit more information. The speed at which it downloaded and good return statement. And I have my picture back there llama one. So cool, we got that back. But let's say we wanna share that photo to someone. I want all of you to be able to access that photo without any sort of authentication required. And I want you to be able to do it just through your browser. I don't expect you to have to use the Swift command to download this picture to get it. So let's actually apply some metadata to the read ACL so you can do that. So to do that we use the Swift post command. Swift post dash R to specify the read ACL. And then the syntax for the particular metadata is a period R colon asterisk. Single quotes around it and then the photos container. So if we do Swift stat photos you'll notice now we have a read ACL that has information in it. But how do we actually get to that data? I'm gonna open up the browser here. And this is probably gonna autocomplete because I've accessed it before. But the IP address of the proxy node in the particular port that it's listening on. And then specify version one of the API. Specify the tenant name which is auth admin. Specify the containers. And then the picture. And there's our lovely llama picture that we can access. So great, now you all can access it. But it turns out the photographer this picture doesn't like the fact that I'm distributing this. Sends me a copyright notice so I have to take it down. So to remove it, just Swift post dash R again. Just do single quote, single quote, photos. And we'll run Swift stat on photos again. And it's gone. If we go back, refresh. We now get a 401 HTTP error unauthorized. So hopefully that made the photographer happy. But he also stated that I need to delete it from the actual cluster. So Swift delete photos, llama one, oops, jpeg. And if we do a Swift list it should be gone. Just the other llama pictures in there. One thing to keep in mind is if you do Swift delete photos and you accidentally hit the enter key and there's a bunch of stuff in there, it's all gone. There is no, are you sure you wanna do this? So just keep that in mind when using the Swift command. I have a lot of just silly things in Rackspace cloud files which you can also use the Swift command for.  So just one thing to keep in mind. So that's all I'm gonna show for the Swift command. The last thing I'm gonna show is the Swift recon command. So I'm actually gonna log into the proxy node. And the Swift recon command is something that you can use to start getting an overall health of the environment. So this is gonna take a second cause I have no ram left on this laptop. So it takes about five seconds here or more. There you go, all right. Go up to root, all right, Swift recon. And this is something you have to run from the actual Swift proxy node cause it needs connectivity into the rest of the environment. It's not something you can run from workstation to my knowledge. So Swift recon, get the help. And what we're gonna look at are the dis-use stats, the load average stats and the replication stats. So to enable this feature I mentioned earlier that when you're setting up the Swift proxy configs there are additional things that you can add. Typically this part of the config is not in there so you have to go in and add it to be able to use it. And you'll know it's not working or if you're missing that config by just running the Swift recon command and it doesn't function. So it's a quick Google to find the particular configs for that. It's a couple of lines in that Swift proxy file. So Swift recon dash L, let's get the load average stats. So it gives you the typical one minute, five minute, 15 minute load averages across the entire environment. And this gives you a quick way to make sure that all your nodes are up as well. So at the very end here you can see reported three. That's good. Typically any of the Swift recon commands if they fail to run you'll see real nasty error statement pop up and then the rest of this output. So this is a good way just to see what the load is across the entire environment to see if maybe something's wrong. I expect in a much larger environment you're gonna have a pretty consistent baseline with the high load, especially if stuff is replicating back and forth. And then let's run Swift recon, this stats or disk usage rather. So this gives you a distribution graph, disk usage space used, space free, the lowest, the highest and the average amount of disk used and we of course don't have much in this environment. We only have, each object node has a 10 gig loopback file so that gives you 30 gigs but data's replicated three times so you only have 10 gigs usable in the environment. And the last thing here, replication stats. Again, gives you replication stats, the lowest, the highest average, any failures, the oldest completion time, the most recent completion time and on what node. So as for the demo, that's all I have for that. So I'm gonna flip back to the presentation real quick. Go PowerPoint and open up for questions. Yes. If it does, you would probably need a Linux box to do it because I mean, OS 10 doesn't have Docker support unless you use Docker within a VM. But yeah, I'm not sure if it has, what do they call that, a vagrant provider I think. So like virtual box is a vagrant provider, VM or Fusion and there may be a Docker provider or something like that or an LXC. There's no Docker provider? Okay, thank you. Okay, cool. Any other questions? Good, cool. All right, so again, thank you all for coming. Everything I showed you here today is available on my website. Go to thornlabs.net. On there you'll see a search bar, search for Swift. And there's gonna be a bunch of results but look for the result that's named similarly to this presentation. It should be install a standalone multi-node open stack Swift cluster. And there's an entire post there with links to the GitHub repo with the vagrant file as well as all the manual steps. They're a little bit different because you do it all by hand. But it's all there. If you have questions, feel free to ping me on Twitter. Thank you all for coming. So have a good rest of the summit.