Welcome everyone, this is Jenkin's Advocacy in Outreach, SIG meeting, we're on the 15th of June, 2023, and today we have Jean-Marc Messin and myself, Bruno Verraschten. Welcome. The agenda is kind of light today, so that should be a quick meeting. We have to talk about the GSOC updates and DevOps World Tour 2023, and that's all that we have regarding Advocacy and Outreach. Fortunately we have you, Jean-Marc, to tell us about GSOC updates, so we have just finished the weekly meeting, the office hours just before this meeting, so how is it going? I already know the answer, but for people not knowing yet, how is it going? I don't know, but a quick update. So projects are moving correctly, good engagement, good experience for everybody, we're still in the middle of the first coding period. An observation that we did is that the different school terms over the zone where the contributors are coming from, so mainly India, are not structured the same way, so we have a difficult time to range people being available or not, school terms, exams, so it's a little bit more chaotic than if it would be in the western hemisphere where school terms are about aligned. It seems that it's a consequence of COVID where schools have to adapt. Oh really? This is the main observation that we did. We are reaching or we preparing for the end of the first coding period that's confirmed by the mid-term evaluation that it's due for July 14th, so between the 10th and the 14th mentors and contributors will submit their evaluation and closed July 14th. A key element for this evaluation is the mid-term presentation, so we are preparing a meet-up where every project and contributor will be able to present his progress, what he's done so far, doing a demo, what the next steps are. This presentation will take place on July 6th at the same times as the Google office hour, the Google Summer of Code office hours. Because of what I mentioned that the school terms are not aligned all over the subcontinent, at least one of the contributors will not be able to make it because of exams and he's going to submit a recording for that, so we're still looking or listening to possible problems but we want to stick on July 6th, otherwise we're never going to do that presentation. We prefer live presentations but we need to do it for lots of various reasons, yes always better to do live whenever we can. This is my report for Google Summer of Code Bruno. Yeah, doing good, it looks like it's progressing well, thanks a lot for that. Now the other subjects we had was DevOps World Tour 2023, so last year it was kind of difficult for our special specific reasons, hurricane, but this year so it won't happen in just one place, it will happen in several places in the US and also in the rest of the world, by rest of the world, I mean Europe or almost, I think it's in London, UK and also there is something in Singapore, I guess in Asia, yeah Singapore, I was right, so Chicago, New York City, Singapore, I think it is, we don't have the date yet but I think it's... So they have recently been announced, okay. Yes indeed, I don't know, maybe I should click the link and we maybe see what's official and published on the DevOps World Tour website, my PC is struggling, sorry about that. So what do we have, New York, Chicago, Silicon Valley of course, and Singapore, yes it's confirmed. So we have Asia too. Yeah, that's cool. And London, almost Europe, not so far. So it's between September and November and we hope to see a lot of people in the various places where it will take place. I hope you don't have any question about that because I don't have any answer. All I know is on the website. Jean-Marc, any thing you would like to share about that? No, only as noted here, Alyssa is looking if we can get discount codes for community members. That would be great. So that could be good, but... Yeah, nothing more than that. I remember about the places, yes. Silicon Valley of course, there must be some Jenkins contributors over there, New York City, I don't know but I do hope so, Chicago for sure, Singapore, I don't know, I hope so, and London of course, I know some of them. So that would be nice if they could get discount code and attend Devos World Tour 2023. Jean-Marc, do you have any other subjects regarding advocacy in Auschwitz? No, I don't either. So it looks like we can wrap it up. Kevin joined the call. Oh, really? I didn't see it coming. Oh, hello Kevin. Thanks for joining. Yeah, of course. I wanted to catch back up. Do you have a point you want to discuss or add to this meeting? Nothing that I had personally. I did see some notes in, I forget what other meeting agenda is, but I know that Devos World Tour 2023, since it's being done in this different way and doing a World Tour feel, it's going to be a lot more selective for like what talks are given and who is delivering those talks and whatnot. So it might, there might be some limitations or like something there, but yeah, I don't have anything. Sorry. Yeah. Good, good. Fine with me. Thank you, Kevin. Thanks for coming. So if everything goes well, the recording should be available from 24 to 48 hours from now and there will be a blog post in committee.dudging.io. Thanks a lot for coming and see you a few weeks from now. Bye-bye. Okay, bye-bye.


I'm staying back Cheap shot me. Okay, I need a PS. Maybe it was bad PS. Maybe I should trinket Just follow you See if we can send the trees. Yeah, yeah, yeah, yeah, yeah, I'm popping phenom. No, I can't Yeah, but I don't have PS Staying up staying in combat as well. Take this and Got you cheap shot me dancing me Rockville Rockville Did some jank movements? Don't try games. Maybe you're trying to get to him Yeah I'm getting it's really soon. I'm so bad bro. Like a joke. I'm juke to him again. Juke to come in They're priests emcee priest Send this rug for me, bro Oh my god, I juke myself now.  It's okay.  I wasn't even looking where I was going emcee sham Put in down down down on me. Be careful of your deep. He was stomp the sham. I don't know if it dears it Gonna fail Yeah, sure. I'll go on the ground Stomp yours.  Okay I'll help you with the fear I'll come with this game every double. Yeah, double double double.  I'm hot. I'm hot. He resist resist resist Shouldn't have fit into it to be honest. I'm just lining just lining Coming to power I'm gonna do burn. Can you deep? Yes, and I ship a ship. Okay lining During now Burning no more MDS MC warrior He comes to hodge me probably Yeah, I'm just lining Leap bleep bleep coming I have fear ready. Yeah, sure wait waiting wait Fearing now Trinket it's perfect You can drink you can drink doing War has trinket I can fear I'll use everything yeah, I still have an edge and the other one is shit


with a little bit of a distributor background also answers to some of the general questions that you pose. For this discussion today, we're going to use questions that reflect some of the major topics that we selected. Before each question, I'm going to draw the name of a full respond, and then we'll proceed with responses from the other candidates in the order which we're seeing. Each candidate will have a maximum of two minutes to answer questions. And one or five will be stopped for some audience questions. The candidates also have graciously agreed to remain at the forum today to look at any question that you may have in an individual. So with that, we'll start again. Mayor Mike Anderson, question one. Shwoigen's roads are in terrible shape. This is a college for existing and potential new businesses. What is your planning to get them back in shape? And what sources of funding are most vital to this? Thank you very much, Mark. First of all, it's been an honor to serve as your mayor for the last four years, missing for a few years. We have a great team at City Hall, and I think we're all working collaboratively to solve problems like this. And when we talk about our streets, you've hopefully read the Shwoigen press and saw the article on my Shwoigen about the work that David Bebel and his staff is doing at Public Works. We have been spending less in the last 10 years, and we should be, to keeping our streets up. So we're adhering to a problem that's existed for a while. And right now, we have a great program that's in place. We've developed new revenues with the wheel feed, the money that the county's giving us from the sales tax, and our councils voted to bond for $5 million this year, up from $3 million to the past 19 years, to put more money into our streets budget. And as you can see in the graph that was in the paper, the city's gonna be able to go from what was an average of 2.3 miles per year on an average for the last 10 years, up to 5.5 miles of streets will be improved either via resurfacing or reconstruction this next year. We hope to continue this trend because that's the only way we're gonna solve this problem. You can't pay these roads with good intentions, and you have to put money into the pot to take care of the roads that need attention. Bill, please. First of all, I'd like to thank everybody for having me here today to speak my views and join you guys today. I feel I have done more than anybody that's up here to help fix our streets. I brought forward the wheel tax that we have in the city of Sheboygan. We collected the money this past year. We can put that money now to use, which as the mayor stated that Director Bebel has, I do believe it's 10 projects that he stated in the Sheboygan press that we have planned plus additional funds where he can go out there and let's fix some of these potholes and let's make a change. We also did vote on extra funds from our strategic planning to put forward towards the streets. I know there was a heavy discussion in our council at that time. Some wanted to spend extra money, some didn't want to spend money. I gave up a proposal that was somewhere in the middle, you know, a middle ground where we could still get a lot of projects done on streets, but still not break the budget and still put some money towards the streets. Some of the people up here I know didn't vote for, you know, streets are an important thing and they say they're an important thing, but yet they didn't vote to put any funds or come forward with any other ideas to get our streets fixed. Thank you, Mark, for, you know, hosting this event in the Chamber of Commerce.  Regarding the streets or the roads, in 2016, the following legislation was passed specifically to target the roads, a $20 for vehicle wheel tax, and that equates to $880,000 a year. The garbage fee was extended at equals $1.1 million a year in revenue and that was targeted specifically for roads. The county half-send sales tax that everybody is familiar with, that's $412,000. So that equates to $2.3 million worth of new revenue that is going to be targeted specifically for roads. And we'll continue to borrow and hopefully we'll borrow at a more responsible level than we did this year for the roads and we'll continue to have special assessments when possible. And so those are all the funding mechanisms for the road. In Monday evening at the council meeting, we're going to be probably approving a new paving machine for the roads as well. And what that's gonna do, it's gonna allow Director Beable to pave more roads with his own staff and do it at a more economical price point than what we've currently been able to do with the outdated or the smaller size paver that we have. And the above mentioned revenue streams that I talked about are over and above the property tax level, which is already burdensome. So we pay more than enough in taxes and fees and assessments. We do not need to double our debt in order to address this issue. We need to prioritize and fund our priorities at the expense of those items that do not meet the threshold of being a priority. So what I would do is I would prioritize the higher volume collector streets or main streets, East and West, North and South, the heavily traveled streets. And I would insist that these streets that would require attention would be moved up on the priority list. I also want to thank the chamber for hosting this today. And for streets, I think that they are getting worse. And I think one reason that they're getting worse is that we don't totally agree with the will to be, but I understand that we do need it. But I would like to see another way or two of getting more money for streets. A few years ago, I had asked the city attorney if there was a way that we could impose at that time a half percent gas tax in the city of Sheboygan. And he said no, it would need approval from the state legislature. But I thought if we do it from a gas tax, the people that live outside the city but use our streets would also be paying something for improving our streets. We would also get some money from tourists who come here and don't pay anything for repairing our streets, but use them. And I also felt that the people that use the streets more would be paying a little more than a flat wheel fee where everybody pays the same, whether they travel 30 miles a day in the city or half a mile once a month. And I'm just about out of time. Thank you. Our next question. What is your plan to draw young business people, skilled workers, and entrepreneurs to the area? How can we keep our talent here and stop the city's brain drain? Questions. The first question is, how do we draw new people to our community? And I really think that our collaboration with the Sheboygan Economic Development Corporation and Chamber of Commerce and the Some Place Better Campaign is really one of the great ways to do that. Because we sell Sheboygan and the great things that we have in our community that are really attractive for people as a place to work. And then we have had over 3,000 jobs available for the entire year, which are listed on that site. So people can really focus on the job that they want to come. And then we've tried to make Sheboygan better for these new people coming in. We have $37 million worth of construction and residential projects that are allowing people to find great market rate apartments soon in our downtown and other areas of our community. We also have been trying to accent the cultural aspects of Sheboygan. And one of the big things that we collaborated on with the John Michael Culler Art Center and the Sheboygan Square Business District is to have the Thursday night, 11 a.m. concert series. That really is something that brings our community together and really shows what a great place this is. The other part of this is our Red Raider manufacturing and our Lakeland College technical schools. But we're trying to teach the students that are growing up here that they can have another pathway by going into some of these technical skills and being able to work in a local factory. The last part of it is trying to get the kids that have left Sheboygan going to college and maybe have had a job for a few years in another community, get them to come back home.  And I think we need to work with some of the reunion groups and maybe have job fairs over the holidays when these kids are home visiting family. Thank you. Thank you very much. We need to do a great job of selling Sheboygan as a whole. We do, we have the chamber, we have all these other entities that do do a great job. But we gotta give them a reason to wanna live here. I've had the opportunity to coach kids up at North High School a few years back. And now that they've graduated, I ask them, why aren't you coming back to the community? Why don't you come back here? And they say you gotta give us reasons to come back here. We have a great arts, we have all this. I think we need more retail shopping opportunities. We need more restaurants. They're looking for all these extra things. That's why they're tending to go towards the bigger cities. I just think we need to look for those opportunities, make those phone calls, try to get those retail businesses in here. I think we need a revenue for more concerts. The Stephanie Wild Center is beautiful. I go there very often. But I'm talking about if we wanna bring in some national entertainment. We don't have that one size bigger than the Stephanie Wild Center to bring in that type of entertainment. And I really think we need to find a way to build that type of entertainment in our city. I think all these things together, and just by selling shabuagan, we can definitely get these people to come back to shabuagan. Because we got the jobs here, we got great businesses. They wanna work for them, but they wanna have a good time when they're away from work too.  So we gotta give them both. I certainly agree with the premise that there's a brain, a brain that's leaving the city. I've got young adults, I had three kids, and one came back here in work. He went to Marquette, and Kohler offered a co-op. He worked at Kohler. So I know that employees, or employers like Kohler, that are offering internships and co-ops. Acuity is currently recruiting a lot of young talent. So there are jobs that Les previously mentioned that are here. There are companies that are doing whatever they can to attract young people. Kohler even recently put an office in Milwaukee because they wanna be able to attract young people that wanna live in an urban setting. So what we need to do as a city is address the need for housing, which has already been mentioned, and we have with Oak Brook, we've got another apartment on South A Street that'll be breaking ground, Portscape Apartments. So that continues to be a need that needs to be addressed. And once we have that, then I think organically, some of the other needs for a vibrant downtown life will be met. So we also need to have a mayor that is going to be engaging the local businesses. American Orthodontics, HSA Bank, Aurora, et cetera. What are their current needs? What do they anticipate as future needs? And we also have to have an open dialogue with employers that are outside the city, Kohler, Sargento, Masters Gallery, Beam, and Sartori. We need to have a positive relationship with these leaders and able to react in a precise manner to address their needs should they have one, such as Masters Gallery, which we lost to the city of Woosburg. But we need to have somebody that is going to have develop relationships with the business leaders, anticipate and know their needs, and be able to react in work with developers to make it happen. I think one reason that we have a lot of the college students not returning, and according to what they have told me, a Sheboygan has such high taxes. I know a lot of kids that have moved back to the area after graduating from UW-Milwaukee or Madison, and they are picking the town of Wilson to live in, or city of Sheboygan Falls, or town of Sheboygan, and they all give the same reason. We like this area, but the taxes in Sheboygan are too high. They tell me if I go out to this town of Sheboygan, I don't have to pay the garbage fee, I don't have to pay the wheel tax. So in order to get the people to come here, we have to find a way to reduce the cost of the people that live here. And I'm not seeing that. The taxes keep on going up, and when the taxes can't go up, we start throwing wheel taxes, or garbage fees, or something else. So the people notice that, and it turns them off. And it's for the apartments downtown. I know one woman that just got a job at Acuity, and she's making a lot of money now, and I asked her, are you gonna move to Sheboygan now? She goes, no, because Sheboygan has high-priced rents. She goes, I'm still paying off student loans, so I can't afford $800 a month for rent in one of the new apartments. And we have to look at the college students that just graduated and realize they can't always afford $800 a month for an apartment here, because they have student loans to pay off. They probably have car loans to pay off if they have a family that's expensive. And I have to cut this short because I'm out of time. Question three, what is your stand, excuse me, what is your stand in drawing the city and the services to support a healthy economy and to entice more businesses? Alderman. Drawing the city and its services to support a healthy economy and entice more businesses. Well, I'm in favor of drawing the economy of the city, but I am also concerned that we have to get along with our neighbors. We can't always take property from the town of Sheboygan or town of Wilson or other townships, because then we start to get into a battle with whose land is this, and that could very well turn off some businesses that wanna come here that don't wanna get into an argument of do you wanna be in the town of Wilson or city of Sheboygan.  And I think if we do expand, we also have to look at the cost that's gonna be to the city. As an example, if the city is now expanding to some property that they just bought in the town of Wilson, and in order to be annexed into the city, we have to add water and sewer, and that all costs money, and that's coming right now from the current city taxpayers. I strongly support and encourage economic development. What I do not support is growing our government or services. In fact, I'm in favor of outsourcing where it makes sense, and turning over function to the private sector if that is in fact available. Economic development is essential and vital to moving the quality of life in Sheboygan as well as increasing the tax base. We need to have a mayor that has a passion and is engaged with developers and business leaders. We need to be receptive and encouraging and creative when opportunities are presented to us, and we also need to have the correct personnel in place to negotiate and deliver a positive message to the developers and business leaders. We had that with Don Hammond when he was president of the council. He had the professional financial background that was necessary. He was well connected with developers and business leaders in the community. He had the political acumen from years on the council, and most of all, he had the passion for economic development and a true love for the city. He left the council a year ago, and there's been a bit of a vacuum as it relates to that. So we need somebody similar with similar talent to keep the momentum moving forward. Quite frankly, the pace of economic development has slowed in the past year compared to what it had been in the previous years before. I see it picking up somewhat again, but it has somewhat slowed. So we need to have a laser focus on economic development. We need to reach out and be proactive rather than sit back and hope opportunities knock on our city halls front door, and we need a leader with a vision. I think we all in agreement that we all feel economic development in the city of Sheboygan is very important. We need to look at every opportunity that comes towards us, and we also need to have someone who's gonna go out there and make that phone call to get that person to want to come to Sheboygan and sell Sheboygan. I've been in retail now for quite a few years. I feel I know what the retail department or retail areas are looking for to come to the area to develop in the city of Sheboygan, and I want to make those calls, and sell Sheboygan on how great Sheboygan is. We have great services. And covers the codes and ordinances that must be adhered to. It's a great program, it's a great starting point. It's educational. Anybody that's gonna be a new landlord or for existing landlords as well. So there's that program that's in place to address that. Then as mentioned previously, code enforcement. We're adding another code enforcement officer dividing the city in half, so we should be able to address twice as many issues as we have in the past. And that's been quite successful. And I would like to credit Alderman Susie Holschu for bringing that forward and ensuring that that got funded. So that was a great addition as well. One of the other things that we have is we have quite a few neighborhood associations that have become more prominent and active. We have several neighborhoods that are working towards becoming officially recognized members. And Penny Weber is working with these neighborhood associations closely to guide them through the process. So the neighborhood associations are made up of concerned neighborhoods in a given geography. And those people, what they want are safe neighborhoods and they want the properties in their neighborhood to be well kept up. So it's these people that are in the neighborhood that are driving this and they're looking out for the welfare of the neighborhood. Along with that, we have a police department that has community policing. And part of that is neighborhood officers who specifically target given neighborhoods and work with the community or with the neighborhood associations as well. So they're able to identify the trouble spots and work with the neighborhoods. As far as the drug problem goes, I believe that the chief has a very good handle on it. I'm very impressed with his work. Part of the problem is mental health issues. And Aurora has a great mental health facility. And I know that the police chief is in favor of keeping that and supporting that as well. For the drug problem, I feel that the police department is doing an excellent job. But the police department also needs the support of every citizen in Sheboygan. If the people see something suspicious, they got to report it to the police. And they also have to realize that the police have to get the evidence so that the district attorney has a good case. They can't expect to report something to the police and see a rest the next day. The people have to be patient and they have to work with the police department. I also think that we have to somehow get the county judges to stop with the slap on the wrists. I see too many people getting convicted of selling drugs, maintaining a drug house and then their sentence is probation and they're back on the street selling drugs again. So I think we have to start putting some of these people in jail for a while to get them off the streets to stop selling drugs. As for the slum lords, there's a group on Facebook called Slum Lords at Sheboygan. And I had joined at a couple of months ago and I was shocked by some of the pictures that the people posted on that page and what they told me. And in every case they told me, if I come point to the city, I will get evicted. So we have to find a way to protect the people. And Boston has a program where before our landlord can rent a house, it's gotta be inspected by the city and they get a certificate of rentability. And I asked the city attorney if we could do that here and he said no. So I've been at least looking into what we can do. What will you do to work cooperatively and collaboratively with other units of city and county government on the gospel? I would try to meet with all of the other local leadership privately, one on one and hopefully also in groups because the more we can communicate, the better we'll all get along and all of the problems facing Sheboygan are not just Sheboygan's problems, there are everybody's problems around here. If Sheboygan's got a drug problem, that's also going to affect Sheboygan Falls, Kohler, Usberg. We can't pretend that it just stops at those city limits of Sheboygan. It affects everybody and all of us in every government body have to work together to solve the problems. If we want more people to come to Sheboygan to work, we have to work with the other communities also so that they have places for these people to live if there's not enough places to live in Sheboygan. And we have to make it so that people can get from these areas to Sheboygan on good roads. Within the city, we need to have strong leadership in the mayor and the chief administrator. Department heads need to have well-defined goals and objectives that can be measured. They need to be held accountable. This must be done in a professional, transparent manner and this can be done cooperatively and collaboratively. There's not an issue with that. The county, on the other hand, that's a whole different animal. The county's taken advantage of the city and the taxpayers in recent years. The combined dispatch is a great example. We could have achieved the combined dispatch years ago for $430,000 at the still then relatively new police station. All we needed to do was add an additional work station and run some additional fiber optic. Instead, it was just recently completed at the county for $12 million. The city's portion of this fiasco across the taxpayers, $2.5 million. The mayor originally wanted the city to pay $5 million as part of this program. Again, remember, this could have been done for $430,000. In the next sterling example of cooperative government with the county is the half-send sales tax increase for transportation. This was created by the county in a vacuum with no input from the city, yet the city comprises 43% of the county's population. Once alerted of this scheme, the mayor lobbied county board supervisors telling them that the city supported this great idea. Once I became aware of that, I put a resolution forward to oppose the county sales tax and it passed unanimously twice, once at the committee of the whole and once in front of the whole council. It was not a good deal for the taxpayers of the city or the city in the mayor lobby for it and supported. I will only work with the county in a collaborative fashion if the interests of the city of Sheboygan are respected and addressed in a positive manner. I will always put the interests of the city of Sheboygan first and I'm tired of the county using our geography and our taxpayers to waste and redistribute tax dollars without equitable benefit. I would also like to meet with all the areas in the city of Sheboygan, starting with our department heads, getting to know that the city of Sheboygan is about working with teamwork. It's not all about one person or one area. We all need to work together. One thing I learned as by many years is from coaching football, it teaches you a lot more things than just sports. Little bit was the dollars of it. I really wish we could make something like that happen. And that was that first proposal. Then we came back with another second proposal with a little less and stuff, not so much in favor of that one. If we're gonna do City Hall, I think we should just go all the way and make it look like something special for the city of Sheboygan. As far as looking at other sites or new sites, I'm always up to listening to those ideas. Obviously, it all comes down to dollars and what makes sense for the taxpayers of Sheboygan. If it would come forward that a new site would make sense, I would definitely entertain that. But I'm all in favor of making City Hall something important for the city of Sheboygan to make that the structure that people recognize when they come to our city. Thank you. Well, when we started this discussion, I also was in favor of staying in City Hall. But when we got the architects dollars and we were looking at 11 to 12 million dollars, I just knew that there was no way that we could really fit that into our budget. The $8 million program was still a hard thing to swallow. But then we started talking about the building next door and trying to rearrange that whole block. And when you look at the opportunity to create new tax base in what are now surface parking lots, that added a different dynamic to that particular question and gave us, I think, some ways to not only win with a new building, but win with new tax base that we'd be building an opportunity for new businesses to move into our downtown. Now there is an issue with the way the floors are lining up and we estimated we'd have to put another floor in that facility to accommodate City Hall. And I'm not sure if we can rearrange that in a different way so it still works. And then we have another opportunity to look at a different building downtown that's still under study. So I think the jury's out on that, but I'm all for trying to create more tax base. And when you look at City Hall, it would cost us that $8 million minimum to really fix it up so we could use it. But yet there's two or three developers that are knocking on our door who would love to get a hold of that building, claim historic tax credits, and put 21 market rate apartments in there. Now they can do that and draw down those other funds where we can't do that. That's what all come out of the taxpayers pocket. And so that may be a better route to go. One thing I wanna keep strong in all of this is I don't ever wanna see City Hall torn down. We wanna have something in that building that's gonna continue to have that building in our community. It's something that we need to preserve. It is just about one o'clock and starting with the audience questions, we have one writing question and it's a bit long so bear with me please. A few years ago, a small business owner reportedly invested $2 million to renovate their building before reopening, a direct competitor wanted to enter the market only three blocks away. The City of Sheboygan provided significant financial assistance to the newcomer because it wanted the additional tax base. The owner of the established business then decided not to reopen. A small business will now wonder if investing in their business in Sheboygan is a good idea. When it's possible that after faithfully paying property taxes for years, the City will take action that directly hurts their prospects. Are you aware of the damage this action did to the entrepreneurial environment in Sheboygan? Alder than Thiel. The current example that they're given there but it hurts me to know that somebody wasn't able to reopen based off of something like that. I think we really need to take a look at every situation and look at all the avenues that it will affect. I feel bad for that business I lost because I don't like to lose any business, especially one that's been established already. We always wanna encourage new people to come in but I think we gotta actually take the time to look at the broad picture on how what it's all gonna affect and so they're just going, oh hey, we got new business here, let's just quick it a minute. We gotta really take the time to look at the whole deal. Many of these business development loans are made through our Sheboygan Redevelopment Authority and when somebody proposes a project and asks for some funding to, it's basically set for job creation, we evaluate that proposal, we go through the finances of it and we present that to the redevelopment authority and they make the decision. Now many times some of our local merchants may not come and ask for that money. Many times we see people coming from the outside are more apt to do that because they're bringing a business to the area and they're looking for some assistance but we have no really preferences whether it comes from a local business or whether it comes from a business that's coming from the outside and it's just a matter of their particular situation. We try to fill a gap with most of the funding so many times there's an opportunity for a business to come in but the bank is only willing to borrow them so much money and so the redevelopment authority will take a second position behind the bank, fill that gap so that they can put their project together and then things can go forward. Right now in the hall today we have Brian Werner who is opening up a new restaurant downtown Sheboygan. He approached the redevelopment authority and also was able to secure a business development loan and we're very happy to fund local interest. Brian's been in the community for quite a while and we're happy to see that he's opening up the Harvest Cafe soon. Really with the specific instance it's being referred to in that question either. I do sit on the plan commission where new businesses come before and their plans are brought forward and they're debated and they're given granted approval and I don't recall anything like this. I don't recall there ever being an issue. I've been on that commission for over two years and we invite neighbors, anybody can come into that if this person had a concern with this business being opened up, could have come before the plan commission and voice his concern before things moved forward. So I guess I would just like to throw that out there for the person with that question in the future that should some similar situation arise that he could certainly address it at the plan commission. So and again, I show the same sentiments that Alderman Thiel has that nobody wants to discourage or eliminate any business opportunity from becoming a successful and growing, thriving business. We're all looking for development and that's what we want. And without any further specifics regarding this I guess I can't comment anymore on it. I've also heard from a few friends of mine who are small business owners in Sheboygan then they have complained to me on numerous occasions that when they go to this. So it makes sense for them to take advantage of this opportunity and build up their athletic opportunities by improving the fields. And we hope we can get this done sometime this later this year. I can support something that hasn't even been proposed yet. So I'm gonna side with Alderman Thiel and there hasn't been anything that's been presented yet. So I can't say whether I support anything or not because I don't know what it is. So in the past, the past proposal, I supported. I've got a very unique relationship with this whole project in that my wife works for St. Nicholas. She's in charge of surgical services for both of their surgery center and the hospital. I've got a family member who originally was an original investor for the surgery center there. I get the economics. I know exactly what Aurora wants to do and why they wanna do it. I understand that. Is the community, is Sheboygan better off with Aurora in the city limits? Absolutely. I mentioned before that the mental health services that they provide is an outstanding asset to the community. So I'm in favor of them being in the city. I cannot say that I support a proposal that hasn't been made public yet. I have no idea what it's going to be. I also happen to represent the far northeast side of Sheboygan. I live two blocks away from the existing hospital. So I'm very, very concerned what's gonna happen with that property, how it's gonna be addressed, what future use, is it gonna be torn down, how quickly it can be torn down, what effect it's gonna have on the neighborhood in the values that's gonna transpire in years to come. So again, without having something formally, I can't support it. I will again look at it with Alderman Bill Thiel and when it comes before us and I will make my decision at that point in time. I am all in favor of Aurora building a new hospital in Sheboygan, but not on the field of dreams. And I have maintained that position since the Save the Field of Dreams group started. I have been speaking up for saving the field of dreams for two years. Aurora has a great chunk of land on Whedon Creek Road that they bought years ago to build a new hospital. Now they tell me that there's all sorts of problems. And at the open house at Aurora that I had a couple weeks ago, I asked why they bought that land if it wasn't good for a hospital. The answer I got from the five people that I asked was, I wasn't working for Aurora about two years ago so I can't answer that. And when they said they would get somebody that could answer, they never came back to talk to me and answer my questions. And Aurora says that it's for the best future of Sheboygan. Yet if you look at the future of Sheboygan, the southern part of Sheboygan is the fastest growing part of Sheboygan along with the area of Gooseburg and Cedar Grove. So a new hospital on the south side of Sheboygan would better serve the needs of the future of the medical services in Sheboygan. Also, if you look at or listen to the people that say the field of dreams is not in good shape right now for the fields, that's because there has not been any maintenance done on the fields. If you build new fields and don't do any maintenance, you're gonna have the same problem as at the current field of dreams that there's no maintenance on it. So maintenance has to be done. And who's gonna be doing the maintenance on the new fields, not the school district. And the mayor said that the field of dreams is not a park. If you go in the mayor's office right now, you can pick up a map of the city of Sheboygan which shows the field of dreams and it's listed as a park. Now, help them better, rather than see another hospital and other people maybe with the job. Place at the Aurora Hospital. Well, if Aurora builds in Sheboygan, no matter where they build, they're gonna create new jobs. Right now, their sole purpose of wanting to be next to St. Nicholas, which they don't want to admit, is to take patients away from St. Nicholas and in the long term put St. Nicholas out of business. That has been their goals in other cities where they have built right next to an existing hospital is to put that hospital out of business. And what happens is in reality, it raises patient costs for patients in both hospitals. And I'm all in favor of Aurora building a new hospital in the city of Sheboygan but not on the field of dreams. The new jobs will come wherever they build it in Sheboygan. The jobs are not gonna come to this area if Aurora builds, doesn't build on the field of dreams. And people that would look at this with a reasonable mind would realize that but a lot of the Aurora people are brainwashed and even at some of the common council meetings, a lot of Aurora people were there speaking in favor of a new hospital. And one night after the meeting, I was in the lobby of City Hall and I said to one of the Aurora people about how many, that they had to stay so late. She was, I don't care, I'm getting paid to speak up for Aurora. So Aurora was paying people to speak up. And in the meantime, the common council was ignoring the people from the field of dreams who lived in the area. How many people here would like to live next door to a new Aurora hospital when it's like for like helicopter lands?  They're gonna not only shop at those places but they're gonna shop at our smaller businesses also. Competition is good. I work for obviously one of the biggest retailers and we don't have a problem with Meyer coming to Sheboygan. We know the competition is gonna be good. It's just gonna make us better and it should make us better. And I feel just by bringing those retail places into the city of Sheboygan and giving them all type of atmosphere again, I think like an outlet mall at Sheboygan if we could find a place to build that and in the city would be excellent. And I definitely want to push to try to bring that. The old mall is pretty much gone. Pretty soon we're gonna tear it down or Meyer Foods is gonna tear it down and they'll be in hopefully 2018 building their new store here. So, what do we do about the leakage that Bill mentioned? The people that are going out of town to buy many of these goods and services and clothing. Well, again, we partnered with our Sheboygan Economic Development Corporation and they hired the retail coach. They did a study of all the leakage so that they can detail what it is and share that information with some of the businesses and developers that are out there. And Sheboygan unfortunately doesn't have a lot of land where these stores want to operate. They want to be right next to the I-43. They don't want to be in downtown Sheboygan. We have a different plan there for the more boutique type businesses we're trying to draw to downtown Sheboygan. Like there's a lost sheep yarn shop that just opened up the other day. But the type of businesses that you're talking about are probably gonna end up in the town of Sheboygan north of town. They've identified some land on the, behind the Culver's area there and they're looking to try to put a plan together with a developer to develop another shopping area out there and that's probably gonna be where those will end up in the future. Just to reiterate what has already been said, that Meyer is doing what they're gonna do with the property that they acquired and it's unfortunate with Hobby Lobby and some of the other retailers that we've lost. Hopefully through Chad's efforts and Daryl's efforts, we may be able to find some other location that would be suitable for a place like Hobby Lobby or other retailers as well. The dynamics of large shopping malls in the city of our size, I think they're not sustainable anymore with all the online and things are going on. And remember that we're landlocked to the east. We've got a big lake there. So our population density doesn't support a gap or a Nordstroms or anything like that. And as much as I would like to see that right here in our own backyard and again what the mayor stated, the interstate corridor, the land that the city owns and it's very limited and these retailers want to have very specific, they want to be right off the interstate. I mean, if you look at the corridor down in Grafton where Daryl came from, how that all developed and that's the perfect scenario for someone that's got land that's available that's right next to the interstate. So unfortunately we've got land issues and we've got issues with technology as well with online that are working against us. I am also sorry to see them all go and I know we're going to lose a few more stores that are left out there because none of them are going to renew their lease knowing that them all is going to get torn down. And I would like to see more stores around here also but I know that the stores want a certain size population that they can draw from in the immediate area. And as John said, we cannot draw any customers from Lake Michigan and to the south we're actually too close to Port Washington, to the north we're actually too close to Manitowoc and to the west we're actually too close to Fond du Lac. So when they draw a circle from those cities they see that part of that area would also cover Sheboygan's area. So why should they really build a new store in Sheboygan for a very limited number of customers? It's just sad but it's the way the truth is about where Sheboygan is located.


Hi everyone, Joe for jaspyscasebreaks.com coming at you with 2019-2020 upper deck credentials hockey I think new release just came in a couple days ago five box half of an inner case number two Remember pulled out the half inner case mark these number two, so we all know that's from the same inner There's the combo right there all card ship ten spots in this break one spot gets you three hockey teams two three And there are the teams right there plus the combo. Let's roll it. Let's randomize it six and a one seven times Seventh and final time after seven. We've got Miguel Rose down to Kevin Benedict after seven Nice. We got a league of their own playing in the background seven times for the teams Seventh and final time. I know I do Ross. I do need to get out to to the England Someday maybe next summer or next fall. I don't know sometime whenever their soccer happening Miguel with the flames Michael with the panther Steve with the Oilers Kevin with the Sabres Steve with the blue jackets and red wings Joe Drobak with the New Jersey Devils Michael Lang with the Stars Karen with the Rangers and the Combo Hurricanes and Sharks Joey with the cabs Karen with the Preds Joey with the Jets Kevin with the Lightning and the Flyers Steve Burge with the Wild Megan with the Blues Steve with the Ducks Joey with the abs Miguel with the Blackhawks Joe with the Bruins Meg with the Vancouver Canucks Joe Drobak with the Kings Kevin with the coyotes Steve with the Canadian's Megan with the penguins Miguel with the Senators Kevin with the Knights Michael with the Leafs and Kevin at Benedict with the New York Islanders Sort by team any trades We'll pause the video give it a few moments for trades when we come back. We will have the break stick around BRB All right, welcome back folks there was a lot of trade chatter and a deal got done between Kevin and Karen So Karen is now out of the Rangers spot and into the Islanders spot. We'll put a tee next to there for trade and Kevin I think he said he was a Rangers fan now has his Rangers will put tees next to there for trade So we can see who draws first blood if any in this deal Let's print. Let's rip print Oh, let's officially close up the trade window in the chat TWC trade window closed. All right. Here it is the final print out. It's official. All right, and here we go Jesse. Oh, what's going on? Oh, you put that. Oh, you had to put the one-of-one randy moss on eBay It was tough. He says that's a tough decision Well, let us let us know what it ends up ends up going for hopefully a lot I got a piece of metal in here. Look at that It's wild and I'm pretty sure all cards ship in this. Yes all card ship in this All right. Good luck everybody and There's Libor Hagek and 299 so Kevin draws first blood in that deal I don't know if that guy's I don't I don't know much about hockey ladies and gentlemen So not sure if that person is any good or not, but there you go. All right, so plenty of time Karen for oh There's that metal card And it's it's capo-coco for the ranger. That's pretty cool Steel wheels. All right. It's another ranger. There's the ticket access. This kind of looks like contenders, right? Jack Eichel to 199 Buffalo Flyers to 699 Sean Monaghan to 199 spoiled to 6 or to 999 999 What a great movie of League of their own one of my favorites. I Like the high ones girls. You're scaring the chickens I've watched some you way too much Way too much. Oh another I felt another Metal card in there. I think we didn't see any in the first the first half oh Buckled on the change John Lovitz is great in this movie too. All right next box We've got an out of 8 out of 10 Noah Dobson Islanders And we've got one for the Kings Carl Grunström 36 out of 49 Joe Drobak with the Los Angeles Kings It's a good hit Dottie Henson 21 out of 99 steel wheels another one of this that's Philip Zidina Good thing your sister bailed just a 199. There's Alex Ovechkin. I've heard of this guy There's Kevin Stenland to 999 and Zack Seneshin for the Bruins to 699 999 for the wild So 699 Next box Yeah, when Tom Hanks hits the kid with a baseball glove and it says got it There's a lot of great moments in here a lot of great moments in the League of their own That's silly charm school. They had to go to That's great. You'll scare the chickens You've got Gunström again to 699 Mark Andre Fleury to 199 to 999 Fulcher I Guess is that how you say his name? to 699 there's panoram Acetate card right here for the Rangers and We've got debut ticket access autograph Taro Hiroshi I'm gonna go with Hiroshi That's kind of hard to see the number there that's 77 out of 99. I think Detroit Redwings That'll be for Steve Birch. There's Kirby doc to 299 and another metal card right here steel wheels for Max Jones and the ducks Steve Birch and I Like how his eye twitches in that scene Darren Porter You're still missing the cutoff Something I'd like you to work on for next season So long milk maids Another metal card. I feel like we saw zero in the first half of this now. We've got like four or five out of twenty five And we got Carl Gunström autograph to 299 another king for Joe Drobak commercials and Out of 299 steel wheels the tally Abramoff Ottawa that'll be for Miguel You've got Mayhew to 699 McKinnon to 199 Abramoff again to 699 and Debut ticket access. Oh, I thought it was gonna be an autograph It's for the sharks to 999 All right next box almost done with this and then we can get to some more baseball ladies and gentlemen And I think we'll have the other inner case Up on Jaspie's case breaks calm hockey fans for more that credentials. Oh short commercials Thanks on all the network another metal carb Thank you There it is right there. There is Elvis Mers Lincoln's Gonna go with that to 299 debut ticket access autograph for the Columbus blue jackets That'll be for Steve Birch Tony saying Betty spaghetti is Penny Marshall's daughter in real life that I did not realize Nikita Gusev New Jersey Devils gonna go to Joe Drobak Wended hats for women go out of fashion 60s probably to 25 Patrick Kane keeper to 699 Koyvula to 999 for the Islanders Les Brons to 999 of Etchkin and Retanion at the end there you go I made it survive the hockey break Joe for Jaspie's case breaks calm. I'll see you next time for the next one. Bye. Bye


I was wondering your views about whether big data and machine learning will make this literature relevant. You know, Amazon, Google, Netflix seems to be much better and knowing the preferences than myself. Sometimes I can easily think of an app where you put relevant characteristics and the app makes the choice for you. And another question I have is there seems to be some similarity with the ambiguity aversion literature where the overload information is measured, is modeled with a set of priors instead of unique priors. And I'm wondering whether you can spell out the connection between this and that literature. You started your presentation saying that it might be optimal for us to observe what the neighbors are doing and that herding might be optimal. What happens in the world where people are very different? So my neighbors are very different from me. What would your model predict for information and herding? So the type of information cost that you put down here, you didn't use these words but it's relative entropy. And relative entropy information costs have the feature that the more that you know, the cheaper it is to get additional units of precision. So I think this is what's driving herding in your model because you already know what it is that other people have done. And so then that makes it easier to learn more about the products that other people have experienced that you've already seen the high market share for. So my first question is that right? Is that what's going on? And then second, if so, do we think that that's actually a good representation of human cognition? Like I know you guys have thought a lot about this in a lab but it's different from saying people learn about options that are valuable to learn about and test that feature of rational and attention. And there is this particular form of payoff to additional units of information that have this diminishing marginal cost. And that seems really important in this model. So I'd like for you to comment on that. I'd suggest we first give you and then we have a second round. So that actually would be useful because then things are in my mind. Hello? Okay. So let me just start with actually let's go in reverse order. No and no. Okay. So that's not what's going on because what's happening is the watching other people is shifting the prior, right? And so having more prior over here is unlikely to make you go less, I mean, pretty much anything with a non-infinite marginal cost of learning. Starting in this area direction, you tend to go more in that direction. Just think about convex adjustment costs or something like that. It's basically we're shifting the prior and that's what's generating the hurting. You see other people do it, you think it's likely that's a good idea and therefore you start from the premise that it's a good idea and then you learn from there. And so that's kind of but you're the other bit you said so it's not what's going on here but you're perfectly right that Shen and entropy is probably not a universal model of information cost functions in the sense that I mean they don't even even the physics literature they've moved to other type of entropies like telecentropy in which you can have things getting more or less difficult to learn as the situation becomes a little bit more complex or not so you're trying to learn about two independent random variables if they're in Shannon the cost of learning about them together or separately is exactly the same but in Telus it could be bigger or less it's essentially the CES extension of the PLNP so and and there's a lot of people who are thinking along those lines Woodford is doing a lot with different types of information cost functions and with the correlations and what you learn in the signals and you know definitely you know different sorts of things so that's definitely where things are going but it's not but so it's no and no. Neighbors are very different so right now we don't have anything about our I mean just the type and we don't have space in the model so we don't have neighbors we just have a bunch of people distributed with certain types if and and essentially our model is about you see a bunch of people in them in and doing something and you're saying am I like them or am I not you know you see I'm gonna use restaurants it's easier example you see a lot of people in a restaurant you look around and these my people or are they some other people you know lots of popular restaurants serve food that I detest and you're always trying to back out who the other people are and so that's a fundamental that's in the model but what you were saying was adding another dimension to it like is there a the group around me different than like the whole population and that we we don't do but could easily be done yeah I'm like now in a in a different country where people do completely different things different customs different standards yeah we don't do that but it's you know conceivable ambiguity aversion ambiguity aversion is essentially the same thing is robust control and robust control is like this but without rational expectations in which you get to choose use this information constraint and you choose your beliefs in order to maximize the worst case outcome and that is mathematically equivalent to to Epstein's in which is a form of ambiguity aversion so this is different in the sense that I know that the outcome of the math is completely different it's the same in the sense that we have multiple posteriors on the table and are choosing about them but we don't have any of the risk aversion type of things that pop out of robust control in what we're doing it's purely Bayes rule and that's the constraint that tight that means whenever I learn I pop out to a bunch of posteriors but the big mathematical complicate complications they all have to satisfy Bayes rule which is what makes robust control so much easier mathematically and that sims hand senate sergeant could write like a 500 page book in like a year big data the couple problems with big data one is they need an input they need to know people they need to see people making choices in order to know how to interpret the stuff they see if everybody's just being told what to do then nobody's doing anything and you can't know anything which is why a lot of these computer programs these mapping programs send people on incorrect routes small fraction of people have to be sent on bad routes to make sure that those are bad routes because they need to know if everyone sent you know on interstate 94 then you have no idea what airport road looks like and so you have to send somebody there and get them stuck and then big find out so there's like really company you need to have an input you can't have Amazon and Google telling you everything to do because then they lose their source of information our social learning came from the private information was reflected in the market shares and then you had something to learn from you need to it's a complicated problem and to optimally you know sample to figure things out even Google has a big data problem let's see I think that that Bertos raised two really important points the second one I think is more important than the first and no it's less a criticism of me than it is of the literature and that is that in all of these rational expectations rational and attention models we have no way of differentiating what is easy to learn and what is hard to learn there's just this learning cost and there's just this land and front so everything is the same difficulty to learn and so the way people handle this is you know Laura has you see the stock price and then you're learning about fundamentals we have you you know see market share and then you're learning about your type Bertos in his paper with Miracle Villa hold has people seeing their consumption their you know interest rates you know everything that they just can't they learn about prices and marginal cost and so we don't really have a way of we want people who are learning about all of these things but we actually think people know certain things pretty well and don't have to put a lot of effort I get my paycheck you know it's not hard for me to learn my paycheck it's a lot harder for me to learn you know I was gonna say something that you just look up in Google and so it's actually learnings become a lot easier but but you know we don't have that and the first one we're not in steady state you need to read the unreadable appendix and it will show you that we can say nothing about the not being in steady state you give me some dynamics I'll construct a model that will deliver it these models are very ill behaved on the convergence path do we have more questions Peter you cited retirement as an example of the start one of the central facts of retirement is large fractions of people make no choice and so the supplier has to create a default so could you construct a theory given the diversity of the population and the default designer knowing something and how default the realization of the default is something I mentioned I'm in the default I had 8% return last year and so maybe that leads you to go into the default or maybe that leads you to do something relative to this you could think of an optimization problem for a default designer yeah I don't think this model captures that as well as one would like the way this model would explain is a lot of people do the default therefore people do the default but when people have ideas of defaults they have something else in mind that it's more of a sin of omission than it is anything else it will show up in market share it will but I don't will be bouncing some particular I think that you still have to see the whole thing so the way the model would explain it is this is market share seeded by the fact that it's salient and prevalent and then it kind of stays that way because everyone else is doing the fault they seem to be doing well I'll do the default that kind of story but I think the fundamental thing that gets it all the way going at the beginning is that that was the default and we don't have a theory of searching through lists or you know effort to move off of you know a bias towards a status quo or something like that this is not a theory of everything no there might be some types I think likely to end up in the default than other types certainly that will then change the nature of the information so I guess I would chosen shares I would I would yeah I think the way so one thing you could do is you could have a cost of switching and then a cost of learning and if there was heterogeneity in the cost of learning you would imagine the people who found it easier to learn would learn and then they would learn whether they should switch whereas other people would just throw up their hands it's gonna be really hard for me to learn and then I'll just stay here with the switching cause the other obvious question to ask of the model is you've of course got no suppliers in the model yeah so given suppliers ability to manipulate market shares I tried to set you up for that for next for tomorrow but yeah so manipulating market shares one way right that it gives a story about why firms might want to get big because once you're big I mean you tend to look there first because you have limited attention the other supplier phenomenon would be just take advantage of people's confusion but are you thinking of modeling any of that oh yeah I this we're not here yet that's in the future stuff supply side is in the future stuff definitely so I was I was also thinking about this endogenous supply and I mean you're emphasizing this manipulation exploitation but as far as I understood it the key inefficiency is related to the extensive margin key efficiency if you have firms are advertising their products wouldn't there be huge you know say I have a killer product that nobody's buying wouldn't have huge incentives to just advertise it and make sure to get out of that inefficient equilibrium so I'm not so sure that adding the supply you have to be able to make money along the way but you might lose money in the short run making a long run in your steady state it's clear the steady state we have an equation that tells you exactly whether your profit your project will should be in the market or not and it's a simple entry condition it basically whether your the ex-bonentiated utilities are above some constant if that's true you should be in and if it's not you should be out so the extent that suppliers know have the same information about utility that the demanders do the guy should know that if he can get his product out there and get people to try it it should survive in steady state definitely it's a very simple equation who gets kicked out of the market isn't infinitely complicated but whether this guy should be in the market is actually a very simple calculation so can easily we think thought about writing models of entry and exit and industry dynamics with with and uncertain consumers no we don't my equation is whether they would make profits in the steady state then I would add to that the cost of trying to get to to the steady state and the cost of advertising and increasing market share and then you would know you'd have two calculations I mean you shouldn't ever try if you shouldn't be there in steady state and then conditional on that you say okay what's the what's the entry cost and does that entry cost justify being there so it'd be slightly more complicated than what I what I said but not not undoable okay if there are no further questions and I always forget to do this but thank you for your comments I wrote it here at the top so that I knew I would forget to say it and I still forgot to say it thank you and let me thank both John and Bartosz for and all of you for an interesting section thank you thank you


Hey, folks, my name is Chris Manson and you might know me online as Relate in most places You can find me on Twitter Twitch The Ember community Discord all is Relate, but apart from GitHub where I am Mansona That's because for some reason GitHub really don't like the underscore So if anybody watching this knows anybody at GitHub that has the power to allow underscores in this form Please do get in touch. I will push that button as soon as it's allowed Today I am talking to you about a process that you can adopt to Improve your code base That may sound very broad and vague But it's actually true. The process isn't tied to any single technology It isn't even ember specific and you're already using parts of it probably There are just two things that I hope that you will take away from this talk that might Fundamentally change your approach to improving any of your code bases in the future. At least that's my hope and If I didn't quite convince you or I didn't quite explain it well enough Please do get in touch and let me know. I am personally on a constant journey to slowly improve How I communicate this process over time and yes, that is a bit of foreshadowing for the content of this talk So let's start our journey together with a bit of a story You are a developer and You are pretty confident enough in your language of choice We might be thinking JavaScript here since we're at Emberconf But it could just as easily be HTML and CSS or if we wanted to go even more lo-fi We could be talking about someone who writes exclusively in Markdown But let's say that this developer in our story has been working on an established code base for a few months And they started to get to know it some of the nice bits that feel all slick and modern and some of the Flaws and things that countless developers before them have vowed that they will come back to and fix But never did Let's say our developer has been participating in this new process that their team is trying called code reviews Where a team member reviews their code before it's added to the code base Remember folks not every good practice that you believe in is truly universal Trust me. I know that there are teams out there that don't even use version control Anyway, our developer has begun to notice that Everybody in the team keeps making this one mistake every so often Not every day or even once a month, but often enough that there are quite a few files in the code base that this Problem is going to be a bit problematic to work out and to find and fix all of the files that have it Our intrepid developer has come up with a plan to fix this problem though Step one in this plan is that they're going to start a rules document that everybody needs to follow when reviewing code and On this rules document They're going to make the first rule be a bit be about that mistake that they started to notice everyone making Every so often. So let's let's name this mistake so that we have a concrete example to think about Let's say that it is people forgetting to add alt text on images Generally the developers on the team remember to include them But sometimes the deadlines are a bit tight and the code reviews are a bit rushed So a few cases have fallen through the cracks But now that we have this rules document We will double-check that alt text on each and every image for all the new ones that are getting added So that's step one in fixing this particular code base. No new images are going to be added without an alt text But what about the cases that slipped through the cracks before we enforced our rules document? Don't worry. Our developer has thought of step two and they've put together a plan for the existing issues in the code base They don't actually have the time right now to stop everything and write a proper alt description for every broken image in the massive code base right now, but They have put together a list of all of the images that still need alt descriptions and They've shared this list with the team Now they're all going to slowly work together to fix the existing images over time alongside their existing work and Not only that to help motivate the team Our developer has even put together a little graph to show the progress being made as each image is fixed Never underestimate the power of the graph Now I would suspect that everyone here at EmberConf Will have picked up on my very thin allegory But let's just spell it out in case anybody missed it Our rules document is actually our linting rules if you have ever worked in an Ember app You will have experience with using linting because Every newly generated Ember app has a whole plethora of helpful rules enabled by default and Automatically baked into the default testing process What I mean by that is that if you generate an Ember app and run npm test You will automatically run all the preconfigured lint rules And you know what the rule in our example alt text images is one of the lint rules that is automatically enabled for you Thanks to Mel Sumner and the amazing work by the whole accessibility team There is a whole host of accessibility rules enabled by default So far I Probably haven't told you anything new I'm trying to set the scene and hopefully make sure that everybody listening has a good foundational understanding of the purpose of a lint rule But there are two examples in my little story that I suspect a lot of people listening don't actually have Embedded in their daily routines yet And these are two things are the ones that I said I wanted people to take away with them So firstly I said that our developer wrote a new rule in the rules document Sure, our example happens to be one of the ones that comes with every new Ember app But what if I give a different example?  Mwah beautiful for some reason my Code highlighting here is removing the capitalization. I don't know why but imagine this capital is there and So it turns out that we needed to change the CSS on the inside of this button Just a little bit to make sure that The button gets rendered properly everywhere in the app To cut the long part of this story short after this change Turns out that we can't use the flex class on You know from tailwind on this button anymore. So essentially that second version is now banned The question now is how do we turn this rule into a linting rule? So what even is a linting rule? I'm not going to go super deep into the details here Just because I'm not here for an hour long talk Instead, I'll give you a bit of a conceptual overview and if you want to dig in any deeper I would highly recommend a workshop that a colleague of mine did for ember conf I'm gonna say two years ago. Maybe it was three years ago I don't know what time is anymore and it's all free and you can do it at your own pace You just go to that link that I'm showing there on the screen So Let me give you a quick overview anyway I said earlier that it's likely that you have that you have lints baked into your testing flow When you submit a pull request, you will likely have broken the build if your lints have failed I think that's interesting thing that we've moved to be so rigid on linting in our daily development habits It's useful in some regards, but it's also a bit problematic Linting isn't a it's not a functional thing. You're not testing functionality when you write a lint rule You're asking a little program to read your code and tell you if it thinks it looks right or if it sees any mistakes This is important because firstly, it's just a little computer program It can get things wrong and secondly linting rules read your static code It doesn't actually try to run anything so it can't actually tell you when something is actually broken It can just make suggestions when it thinks something doesn't look quite right Next up We're going to look at what it what it's like to write one of these then rules because as I was saying It's a little bit different than writing functional tests But before I do I want to partake in a little bit of audience participation So can everybody raise their hands if you've ever written a test? Oh, hold on. I can't actually see your hands So let's try this a different way. Hey Twitter people have you ever written a test? Okay, okay, this is pretty substantial margin For the last few holdouts there and you got to try testing. It's pretty epic. Okay next question How many of you have ever written a custom lint rule that was specific for your code? Okay, okay, I'm actually quite impressed by this number I knew that there was going to be significantly fewer people having written a custom lint rule But I'm impressed that it's hanging around about the 30% mark Hopefully I will inspire a few of you to try this out and and we can bump that number up a little so let's write a Slightly simplified example of a lint rule together. I said earlier that there is That AST workshop and that will go into all of this in way more detail But for now we're going to look at an absolutely crucial tool to use for writing lint rules AST Explorer This is an incredibly powerful tool and it supports loads of languages We just have to make sure that see in the top bar there It says handlebars and glimmer Set those two right and because otherwise this can get pretty confusing pretty quickly So you'll see that I've added our example from earlier on UI button class equals flex In and that's on the left hand side. That's our code and on the right hand side. You'll see the AST Representation of that template. I'm not going to too much detail here about what an AST really is again There's a workshop for that But you'll see why it's useful now in a second one of the best tricks of AST Explorer is you can just click the bit That you care about in your code on the left hand side and it highlights the bit in the AST representation of That bit that you just clicked so there's a lot to see here But I've clicked on the class itself or I think yeah In fact, I clicked on flex in the class and you'll see on the right hand side that we're inside an element node and that element node has an array of attributes and those attributes have a particular attribute node that is Named class and has a value of flex okay, so hopefully you can see that on the right hand side and If that doesn't if that isn't a hundred percent clear, I would recommend just Copying and pasting that example into the AST Explorer right now because it's pretty cool And so now that we have that in mind. That's all we need to Find that classic was flex with our lint rule So let's move on to actually writing a lint rule and You can follow the instructions in the read me of ember template lint and I think the AST workshop that I was talking about goes into more detail of this But again, we're going to skip ahead and we're going to just use the example that they have in their read me Which is? Trying to find a comment statement and I Assume that that's useful to some people to be able to go and find comments in your code but we're just going to copy that structure and Use it for our element node So this is from what we saw in the previous example in the AST Explorer We know that we're trying to find an element node So we are returning a function called element node from this visitor function And again, I'm not going to go into too much detail here, but this is a visitor pattern essentially it just means that That function called element node will be run Every time we find an element in any of our templates so What we need to do is we essentially need to find a specific element, so let's do that by Putting a little if statement to check if the tag is UI button and ignore every other element then we will go through when we find a UI button and find any Attributes that are Named class, so we're just doing node dot attributes dot find where that name is class Next we check if that class attribute exists because We could have buttons in the system that don't have any class and we check if the value of That class attribute Includes the text flex and This is this is it. This is the last bit essentially We just need to complain to the lint system here and this is going to be different for every Lint system that you're using or every kind of lint rule that you want to write But with ember template lint you just call this dot log Pass it a message. So try and be as descriptive as possible here help your developers if they come across this error and Then you just need to pass in the node as well So that say if you're using Linting in your editor it would know where to draw the little squiggly line And that's it It's been a bit of a whirlwind example, but I'm telling you now That although this is a bit of a simplification because I'm leaving out a few edge cases. This is the essence of a simplified linting rule and I hope That a few people watching will be looking at this and saying to themselves. Wow, that's more Approachable than I expected And as I said earlier This isn't a master class. I'm just trying to inspire or to encourage more people to Try writing their lint rules if I have inspired you to try it out. Do let me know on Twitter I'm always interested to hear when people are trying out things that I've talked about so now that we've covered that creating that lint rule I want to and I want to talk to you about the one of the other things that our developer story had and they said that they wrote down a list of all the places in their code that needed to be Changed and even put together a graph So this is where the little tool that I built comes into the picture and it happens to be the namesake of this talk Oh, let's get away from me again lint to the future lint to the future was built to solve a very Specific problem and it's a remarkably simple tool let's talk about the problem first and Then we'll get into what the tool actually does once we understand the problem a bit more So let's imagine that we have just written our don't use flex class on buttons lint rule And we wanted to enable it on our massive code base We put it in the right place and configured it correctly and suddenly our CI system Explodes and tell us tells us that we found a thousand lint errors across all the files in this giant code base Turns out buttons are quite common web apps. Who knew? So I know I said earlier that lint Rules don't actually break things But for better or for worse our CI systems are usually set up to explode if even a single lint rule fails So you can't just turn on the rule committed and push it to master and It turns out that this particular rule isn't something that we can blindly fix We can't just find and replace and remove all the flex classes because when people were adding those buttons They added flex for a particular reason and we need to go in and manually check Each of the buttons before we remove the class. So what do we do? One method that we might have done in the past would be to add the rule But either configure our system to just ignore it So this doesn't really help us very much because we might as well have not added the rule if we're Instantly going to configure our system to ignore it at all times So there is another approach and we can set the system to think of it as a warning and not an error So that's what this looks like And as you can see it's not all that much different the big difference here is that it isn't Erroring at the end. So our CI system will allow you to merge your pull request But we've also just created, you know a thousand lines off Unmanageable comments and warnings. We can't really do anything with this so We can either set our system to ignore it globally or There's another approach if we want to improve things slowly over time What we could do is we can use we can make use of a special Comment format that can ignore a particular rule in a particular file So every lint system has one of these every lint system that I've come across anyway And you just have to know how to write one of these comments and what it needs to be formatted like and in ember template lint It looks like this Template lint disable and then the names the rules So what's the actual benefit of this didn't I just say that if you disable something you might as well not have added it well Remember I said that We need to Make sure that all new files in our example in our developer example all new files conform to this New rules document or the lint rule well by setting up the File-based ignores like this as a one-time thing when we enable our new rule That means that any new file that we create won't have these file-based ignores at the top of it And they need to conform to the new rule that we've just configured So you might think that this might be a bit tedious to find all the files and either add a new comment or add our Rule to an existing comment and I would tend to agree and this is where the first feature of lint of the future comes in Let's install it into our repo first We just do npm install lint of the future and lint of the future ember template this installs the main lint of the future package and The ember template lint plug-in for lint of the future. It's a plug-in based architecture, which is pretty useful So now any time we run any of the commands against lint of the future It will know how to deal with files that are covered by ember template lint So now that we've installed it we need to make sure that we Configure our rules so that the ones we want to ignore are Currently failing so in this case we go back to our custom rule example that we had and we see all of the errors there and We wouldn't be able to commit this as I said, but we just run npx Lint to the future ignore and it will automatically add those file-based ignores to each of the files that we've checked so Now you're ready to commit and push your work This is a great first step For enabling a new rule tier code base if the code base is still growing then all the new files from this point will Be just that little bit better from the way they were before and now all we need to do is find something to do with our Existing files and this is where the second feature often into the future comes in the dashboard I plan to reveal the dashboard right at the end But I couldn't contend myself. I just had to show it here I'll show you a bit of a demo just kind of navigating through it right at the end But for now we'll go into a bit of detail on how the dashboard works and how it gets its data So we're an example from before we talked about this big list of files that needed to be fixed essentially the fact that we are now using file-based ignores for ember template lint or whatever other em Plug-ins you're using is all we actually need to tell the system what files need to be improved So in lint to the future We have this little command that asks each of the plugins What the files are that have these file-based ignores and if we just run NPN? Mpx lint to the future list and ST Standard out just prints it out essentially. This is what the output looks like It's kind of cool. It's not the graph that I showed you a second ago But it's Interesting for one particular reason you'll see the way that this output is actually structured We have the date which is when this was run And then we have it grouped by each of the plugins in our case ember template Plug-in and ES lint plug-in and then for each of the rules and then of course You don't see the array, but that's just an array off the actual file name that has the file-based ignores at the top There's one more Command for lint to the future. That's interesting and it's the thing that actually outputs our lovely graphs it is lint to the future output and dash o Just tells you where to create the folder that it generates for you So what that actually gives you and I'm just going to look inside the folder here You'll see that it's actually built a static web app for you and you'll notice that that there's also a data.json And it happens to be the same as the output of list from before So if you booted this static site up right now, you would see a set of graphs with exactly one data point Because it only knows about today when you run it just now If you want the app to do what it's supposed to do and allow you to track things over time You need to tell it where to find yesterday's data by just passing in a link to the previous results so if you run this and then took a Another look inside the data.json You'll see that it's gone and Downloaded yesterday's data and you can go and take a peek at yesterday's data If you wanted to by just looking at that link and it's merged it into the json with the output from the list command from today I think this is a pretty neat trick to allow you to keep track of your data Using only a HTTP server and not needing a database It means that you can even host your lint to the future dashboard on GitHub pages without needing any other infrastructure So on top off building into the future I've built a little reusable github action that allows you that actually does the lion's share of all this work for you So all you need to do is add this little snippet to a workflow document And I know that probably looks a little bit small on your screen But I couldn't zoom in because the length of the length there and I could probably Rename the repo to be a bit shorter and then it would be cleaner for demos, but That's it. That's all you need to get started with link to the future dashboard if you wanted to try this process out and If you've gotten this far, what does it actually give you? I've teased you with a screenshot. So let's go and do a quick demo and I'm just kind of randomly moving through the dashboard here and a few things to note first of all, you'll notice that there's Awesome styling dark mode here major props to and cret for this And a little birdie tells me that she'll be talking a little bit about designing for dark mode So watch this space You'll see that we have a graph for each of the rules that are failing You'll see that we have like a continuous graph from when it first showed up to today And that's it's actually filling in any gaps of days that you That you didn't run the process and which is pretty handy and And you'll see that most of these graphs kind of started out in the month view That's just because there's so much data after it After there's so much data. It just kind of defaults to monthly rather than daily or weekly. This is another Thing that and great actually contributed. So thanks again for that And and you saw me do it a few times there But at the top of each graph you have this view files link that you can just open and see which files need Still need improvement And that's it really and that's it for my talk I hope I've given you a nice foundational perspective on what lints are or how useful they can be to actually unlocking Improving your code base slowly over time and if you're writing your own lint rules That's just an incredibly powerful tool that will change your game a lot if you get into the habit of it And don't forget to try out lint of the future set up your dashboard and Tweet me if you do and I'll leave you one thing never underestimate the power of a nice graph Thanks for having me