proposed as part of the Mass Ave, Appleton Street safety and accessibility corridor project. Nine trees are proposed for removal, but the total number of trees along the corridor will increase by 15 compared to the existing conditions and the diameter at breast height will stay nearly the same and grow from year to year resulting in increased tree canopy along the corridor. So there would also be 17 silva cells for new trees and four new bio retention basins and rain gardens. So with that, the project team and I would be happy to answer any questions you have about this request before voting, being voted on. Thank you. Excellent, before, so this will be a public hearing because it's tree hearing. So we will have an opportunity for public comment, but before we do, any questions or comments from the board? Okay, so now we have an opportunity for public comment. If there's anybody on Zoom who wishes to comment on the tree hearing portion of this, on the tree plan that we've just heard, please raise your hand in Zoom. We have, I saw Susan Stamps briefly, are you bringing her in? Okay, yeah, go ahead and bring Susan Stamps in. Good evening, Ms. Stamps. Hi, good evening, thank you. Thank you, you can hear me okay? Yes. Just state your name and address for the record, please. Yes, Susan Stamps, 39 Grafton Street in East Arlington. I am a member of the tree committee, but I'm not speaking for the tree committee. I have participated in the workshops and I'm very impressed with the work the static has done. I always hate to see any trees taken down. I understand the need for it though, safety is preeminent. It is important to understand that the inches lost will not be replaced for many, many years to come, so every tree lost is gonna be missed for a long time. Specifically, I have two questions. One was, I love the idea of the silver cells and I'm wondering why they're not being used for every new tree, number one. And then number two is the select board may recall that they voted for a policy a few years ago that at any town contract, there would be a two year watering plan for all new trees and I wanted to alert the consultant about that into Mr. Alessi and make sure that they see that those requirements are in the contract for the new project. And also, I'm sorry, the other policy which the select board voted for, which also is applicable, is that the tree warden is consulted on all new trees. It does sound like you've been speaking with the tree warden, but it would be great if he could actually sign off on the particular trees that are gonna go in the ground. So those are my three comments. Thank you. I'll make sure that we get an answer to those after you go off. Thank you for your comments. Thank you. So we'll ask for an answer for that after we conclude public comment. Is there any other public comment in the room or in Zoom on the tree rules? Okay. You seeing none, Ms. Marr? Seeing none, yes. Okay, Mr. Alessi, you wanna address Ms. Stamps' three questions? Sure, so the first question I believe was why the DPW is not using them currently and I am not a part of the DPW and I cannot speak to that unfortunately. I think as part of this project, we're trying to enhance the corridor with healthy trees and to create more rain gardens. So as part of the grant, we have probably a little bit more availability for funding for these types of improvements, but I don't wanna speak for the DPW. You know, everything costs money and there need to be priorities with spending. So I can't speak to it, but I'd say that we have the availability of a mass works application that can fund these improvements easily. Mr. Feeney? Thank you, Mr. Chair. I would second that. These are a fairly new development. We have not experimented with them in town yet. I do know they carry with them a higher cost than perhaps structural soil, which we had deployed at the Broadway Plaza project, but as a means to incorporate them into the grant, we thought it would be sort of the perfect opportunity to explore their use in the community. To Ms. Stamp's second point, I will note that the tree policies passed by this board, we have incorporated it into a new procurement checklist we have for any projects that come through the manager's office for the public bid process to ensure that that box gets checked, given that trees are a part of really any number of projects we do now. So that is an element to safeguard and ensure that we get that. And third, of course, we will engage the Tree Warden on putting the right species of tree in the right location, and that's usually dictated by the side of the road and where the utility poles and lines are in terms of the height of the tree that's chosen. But the trees depicted earlier are those which were recommendations of the Tree Warden for consideration. Thank you very much. Any motions, comments, questions from the board? Mrs. Mohan? I'd like to make a motion for positive action for the tree removal request associated with the Mass Ave. Appleton project, and just say kudos to working within the board's policies and statements, and I want to thank the town manager for, I didn't realize that the two policy votes that we had taken are included in the request for a proposal, RFP process. So that really takes a lot of the heavy lifting away from all of us. So that's my motion, very wordy, I apologize. Works. Mr. Diggins? I guess I'll second this one. Yeah, but I'll... He keeps guessing he'll do it. But we won't urge you to do it, so yeah. My brother from another mother, come on. So just quickly, maybe you said this to me, but we did talk to the tree warden about this, right? Yes. So we're all fine, you know, so yeah, yeah. Easy second. I had a question regarding the question from the resident. So will the DBHB, when the new trees are put in, will it be immediately equivalent or will it take time for them to grow out? Do you happen to know? I might look to my left. Yes. Oh, you get a moment of the sun, yes. But just to state your name, please. At least in our area with StanTech. So the trees that can be transplanted will remain the same DBH that they are currently. When we did meet with the tree warden, he requested that we look at a few different farms that have larger caliber trees. So our LA landscape architect was doing some calculations to see what we could get in to have as large DBH put in as possible, but there are a couple of larger trees that we will not be able to get back right away. So it will take some time. Yeah, that's fair enough, yeah, thank you. And I'll just comment on the silver cells. Please do. Yes. So I just want to add, there are space requirements to get those installed underground. So at this initial stage, because we haven't taken a deep dive into grading just yet, we looked at the space that we had compared to drainage structures, underground utilities to make sure that we weren't going to conflict with those. So if we can fit more in under some of the other new trees, we will try and do that. But at this point, these were the areas that we know we will likely be in the clear. Excellent, thank you. Yeah. That was the question that I heard from Ms. Damps, too, was like, why not? Because that was the question I had too, and I wasn't quite sure if I heard the question correctly with the way that Mr. Alessi responded. To state, I'm sure you know, it's just that one of the trees that they're taking down, it's like a 20 inch tree. Yeah, right. So even though you could replace it with 21 inch trees, be the amount of canopy, so that it's not effectively, okay, so I won't say anymore, because you know what I'm saying, okay fine. All right, I'm done. Thanks. Thank you. My only comment is again, appreciation for this, and I think it's a good opportunity to thank the entire team, both in the room and on Zoom. This represents an incredible amount of work, and I also hear quite amazing things about the consultant to the table as well from a former and trusted colleague, but you know, I think that Ms. Ricker and Mr. Alessi and the time manager have employed a really terrific team, the best of the best to really help us navigate the difficult compromises we have to make, and I think this stuff is always a lot more complicated than a layperson thinks it is, and the trade-offs are really tough, and you want things to be possible, it just aren't, and it's like Quack-a-Mole, right? Except that we don't act like Quack-a-Moles. But we re-house them. But, so you know, I just want to express my appreciation for that, and I really do believe that this whole plan, including the tree plan, that we have to make some difficult choices, and I hate to see trees go too, but I think that for the long-term benefits. The other thing I will say is I really appreciate the town's leadership, the town manager, and the previous town managers before him, that when we do take out trees increasingly, we're looking to how can we improve their longevity. We did structural soils at Broadway Plaza, which was a real enhancement, and there are times where trees, we're doing that, yes, we're gonna have to wait a while for the new trees to grow, but they have a much better chance of decades more life to be healthy for carbon sequestration, and for canopy, you know, if we are able to take advantage of these new technologies. So I encourage the town managers team to keep doing that, because I think that makes the investment that we have to make when we're taking out trees more worthwhile, so thank you for that. Any further discussion for the board? Okay, we had a motion for approval of the trees. The tree plan by Mrs. Mahon and seconded by Mr. Dighan. All in favor, please say aye. Aye. Opposed? That's a four, nothing in this book, and thank you. And once again, we can invite Mr. Dighorsi to rejoin us. You might not trust us. Hey, I know, I wouldn't blame him for my skeptical. I'm gonna take the blame for sitting about early. That's right. All right, before I move into course on Mr. Dighan, I missed anything else in the agenda. It's all right. Welcome back, sir. Okay, now we have item 13, correspondence received, removal of the speed limit, 30 signs of Broadway and Warren Street sent from the Broadway Neighbors Coalition Steering Committee. I'll move receipt on this and that we send it to the town manager and then get a decision about how to move forward with it. Second, Mr. Dighorsi. Any for the discussion? And a motion by Mr. Dighans to refer the manager to the town manager for further advice to the board. Does that summarize your? Yes. And second by Mr. Dighorsi. All in favor, please say aye. Aye. Opposed? It is unanimous. Okay, thus ends the agenda, except for board and staff announcements. And this is my night to do things irregularly and out of order, and so I'm gonna continue that trend by starting board and staff announcements by expressing, noting that this will be the last select board meeting at which Attorney Doug Hyme will be representing this town council. Doug has been with the town for 10 years, which is hard to believe since 2013. And I just wanna say personally has been an incredibly valuable partner to me and my various work in the town starting with the CPA committee and through my journey here on the select board, I have deeply appreciated the generosity of your time, the fairness and thoughtfulness and thoroughness of your advice, your unfettered love for the community, your unfettered patience with the community and your friendship. I know that your next, and we'll give you a chance to speak after we thoroughly embarrassed you, that your next opportunity is a wonderful one for you and the right one for you, and I can't be angry with you because of that, but I will certainly miss you. Thank you. Thank you, Mr. Hyme. I will now turn to my board colleagues to offer any comments, Mrs. Mahan. Thank you, Mr. Chairman. I did have a private phone conversation with Attorney Hyme, so I won't totally share all of those remarks because anyone who knows me, you know what I'm like on the phone. But I do wanna say, having served with now three town managers, and I don't even care if this gets me in trouble, you truly are the best town council that I've had the opportunity to work with. I think the chair, when you said his Attorney Hyme's fairness, that's something, your professionalism, your non-partisanship, a-partisanship, whatever you, I mean, I could truly then have, many times, contacted you and had a thoughtful, intellectual, well-rounded discussion around legal issues, and always stood by the advice and opinions that you gave me, and pretty much could take them to the bank after, I'd say, almost three years, it took me. I stopped double-checking, in fact, checking after you and I had the conversations, because that's what I was doing in starting in my tenure in 1999, and you'd be amazed how many times what came out of that, but I realized after three years, I'd been wasting three years of that, that I didn't have to do that, and I'm very appreciative of that. I also appreciate your sense of family and your morals, and honest and goodness, I wish I could keep you here, but I also respect the fact that, and I wanna thank your wife and your children, because they also, through osmosis, have given to the town of Allington by giving us you and taking you away from important events, so I know it is a family commitment and continues to be, and I appreciate your priorities, you definitely have them in line, but I can't talk enough about your intellect and professionalism and the next town that gets you, they owe us a lot, but I know you do well and thrive, and I always try to explain to people when they ask me, what is Town Council? I said, well, you know, I have to do a sports reference, he's kind of a coach of like 12 different sports, you know, you have to be well versed in land court and zoning and town meeting and slip and falls and bylaws and select board policies and conservation committee and don't forget about, you know, open space and that's really hard to find, and it's really hard to have someone that can shine in all those different areas, so I do appreciate working with you, I'm gonna miss it terribly, I'm gonna hang on to your number and if you change it, I'll find out what you change it to, so I wouldn't bother and I wish you nothing but you and your family, good luck, continued good health and I know our paths will cross in the strangest of ways in the future. Thank you, Mr. Chairman, thank you, Doug, I really do appreciate it. Thank you, Mr. Mayor. Thank you, Mr. Mayor. Mr. Herd.  I am the Eagles fan. Doug called me at about eight o'clock about a month ago, he said, oh, it's something I just gotta tell you. I said, well, you're not leaving, and he said, but I mean, it certainly is a parent who is literally always running from one sport to the next thing, coming in hot here from the baseball field with cleats on sometimes. I certainly understand recovering two hours of your day by taking advantage of an opportunity to work at the town that you live in, which I do. And if I were to take two more hours where I'm sitting in a car, then I just couldn't do the things that I do in my life. And I certainly get that, but I have enjoyed working with you. If everyone in my life was as responsive and accessible as you are, I would be much more productive. And I put myself out there in that category as well. But you're very knowledgeable, like Mrs. Mahan said. My wife joked with me. She said, why don't you apply for the town council position? I'm like, I'm not qualified. I'm not, you have to know so many areas of the law that most lawyers would never come across. And to be able to do that, and I mean, you've navigated some storms in the town of Arlington. It's not, I would imagine just like being the town manager of Arlington, it's not the easiest place to be the town council. And you've done so very respectfully of people that sometimes didn't return the favor to you. And I think that is certainly a great characteristic to have as a town council. That's something that we'll miss and whoever ends up replacing you. And I hope they use your guidance and model as a way to navigate the waters of the legal department. I would say, I mean, we did just get your air conditioned and so it's like, after 12 years of, well, it's in process. It's municipal government, like nothing happens overnight. But I did do enjoy working with you and wish you the best and hope you stay in touch and maybe if we ever get that softball team going, we'll give you a call. Mr. Degorsi. Thank you, Mr. Chairman. And Doug, I want to wish you all the best. I'm really happy for you. This is a good decision you're making for quality of life with your family. We are really going to miss you. There's no question about that. And I always appreciated our chats since I became a member of the board and even prior to that. And in my years, Chairman, we spoke quite a bit and I enjoyed those conversations. And one thing that Mrs. Mahan said and Mr. Hertz said, sometimes people think, well, you work for the town of Arlington, you only have one client. Well, you've got about 100 clients. And that was the thing that always amazed me is that there were so many people demanding your time and responsiveness. And I don't think there's a person that I've spoken to who I mentioned that you were leaving who didn't say, oh, I'm really going to miss him. He was great to work with. That's across committees. That's across department heads. And I know for myself, I enjoyed the back and forth that we had and we had some good times putting together a letter from Mass Housing and working through things. But you have a great ability to, when you have a client, that you may come up with a draft and the client wants to put something in there, put something in addition, you had a great way of knowing, okay, yes, we can do that and pushing back in the right way. No, I don't think that's a good idea, but working collaboratively, but knowing the limits as to what can be done. And I think that's a trait that in your next position, your client will be well served by that. And the other thing I would say, because we went through this unique time period where we've had three time managers in the past few years, you were involved in all the meetings that we had when we were going through negotiations and discussions. And that was a really hard balance, but you gave us great counsel in terms of what to think about process and where to go. And I look back and I enjoyed for meetings, particularly when I was chair, and sometimes we debrief on certain issues and I enjoyed your counsel on that. I know we'll still stay in touch, and appreciate your friendship as well, and wish you nothing but the best. I'm not good at the goodbyes, I just am not, you know.  We go to for help, we bond legal stuff. I mean, town managers usually be for the other stuff. We actually, it's like we're staff, this is the first person we go to, you know, and then town manager and town council. So yeah, I really appreciate all your advice, you know, and all of your assistance, me, and who do I go to to correct something in the bylaws? Are you asking me right now? You can talk to Attorney Cunningham for the time being after October 6th, and then the town clerk, if there are... The simple typos, right? The scrivener's errors, correct. I'll talk to him. They may be correct in the vote, not correct as it's transposed on the website or within the document, but scrivener's errors we can correct, sure. Okay, great, I'll talk to him. Just a little thing I saw when I was looking for something tonight, so that's it. Thank you, Attorney Ham, if you wanna offer anything. Thank you. You may, in fact, not miss me so much, given the fact that I've never been the most concise town council. And we've always had a long discussions about various different things. I just wanna say that I'm full of gratitude tonight as I sit in here in this room looking at all of you who I consider to be wonderful people to work for and people who I consider friends. Good government starts with people who are willing to put themselves on a ballot and then put their ideas and decisions before people in the public. And they do that in conflict and they do that in consensus and they do it with equal measure collaboration and conviction. This board and this government, which is made up of hundreds of people, elected officials, appointed employees and volunteers, is a remarkable collection of people that results in the highest form of local government. And I've been so grateful to be a part of that and to be able to serve all of you and so many others. I'm going to miss hundreds of people, which is a remarkable thing to think about when you leave a job.  And the board administrator and her predecessor and the manager and his predecessors. I can't thank all the people by name who I would love to just tell that I'm grateful for the opportunity to have worked with them, to have learned something from them. So many town meeting members and residents and committee and commission folks taught me something. I'm so flattered by so many things you said, but the reality is that I don't know everything and I've been so fortunate to work for people who are so smart. Members of this board who all know something, many, many things that I don't. And it's really just my job to try to represent and advocate for those things that you know and that you bring to the table as best as I can. Or the managers that I've worked for. Or so many talented folks who work for the town. It is an extraordinary place to work and I know that I've been so very lucky to have had the opportunity, the honor to be here. I would be remiss without just specifically thanking each one of you. Jim, Ashley, Mr. Chapter Lane, Mr. Puller, Edmar Lange, who was my right-hand man for so many years, Mike Cunningham, Peter, Renee, and Tara in my office now as well as Joanne and Trish and a whole bunch of other folks who worked there for many years. And of course my predecessors, Julianne Rice and John Marr, who are always so gracious and willing to pick up the phone when I was first starting out this job and being trying to figure out what exactly to do when somebody submitted a warrant article about something I'd never heard of before. I really learned on this job and grew on this job and for that I'm always going to be grateful. But the thing that I'm always going to be most grateful for is the people who make up this town, this community. Thank you for the bottom of my heart. I really do hope that I'll be able to pick up the phone and call or text any of you and so many people here in Arlington. I've truly been blessed to work here. Thank you so much. Thank you, Mr. Thank you, Doug. Cunningham, I've already been walking through your office measuring the jerks. I hear he's excited about air conditioning. He'd take this nameplate. No, no. All right, thank you very much. All right, let's take a pass at our usual board of staff announcements in the usual fashion, Ms. Marr. Just thanks to Doug. Any other announcements, Mr. Attorney? And do you have one piece of this? I just want to make sure I highlight this before I leave. I just want to note the terrific work of the Arlington Police Department, Chief Larrity, Captain Sean Kearney, and Lieutenant Rick Pagrini in a gun licensing appeal. We had a license to carry appeal. It was in the police department's judgment that the individual who was seeking license to carry was not suitable. It was appealed to the district court and it was quite a serious hearing in which both Captain Kearney and Lieutenant Pagrini testified very effectively in terms of helping to make clear for the court that the suitability determination that was made to keep someone from your license scary that the police department didn't think should be having one was going to be upheld. And Mr. Peter Buckley in my office was also instrumental for preparing for that hearing. So it was a successful day, but it was great work by APD and some folks on my staff. Thank you. Mr. Finney. Thank you, Mr. Chair. I think for the community's benefit, I would love to invite them to come, say goodbye to Doug and thank him for his many years of wonderful service on Friday, October 6th. Doug's last day between 10 and 1130 a.m. on the ground floor of the Arlington Community Center. While we're on the topic of the Jarvis House, maybe a timely announcement if we were notified today by the Department of Energy Resources receiving another $100,000 in green communities funding, a portion of which is going to go to insulating the Jarvis House and electrifying the HVAC system over there. So there will be finally reliable heat, but also cooling in time for the next town council. Is the change of mind? I think the current air conditioners are run by squirrels. So they may be green energy, but it's not clear. So, you know, that grant is good news, obviously to remain to the warrant article presented tonight that was advanced by the Clean Energy Future Committee with this Fox's help because it will also assist us with the electrification of 85 Park Ave, which is the town building that houses ACMI. So those are important projects and timely in this instance. And then finally, I just want to congratulate, I know I shared with the board before the meeting that Colleen Leger has been appointed the next director of health and human services for the town. So if you have the opportunity, reach out to Colleen. Thank her, but I look forward to having her at a board meeting in the future. Thank you. Thank you, Mr. Town Manager. Mrs. Mahan. Thank you. In light of that announcement, I've switched the order of my announcements. The first one is for our new health and human services, Ms. Leger and our town manager, Mr. Finney. I know this is probably, I feel terrible saying a long shot, but one of the things that the town of Ellington did in the early days of pandemic and going forward, thanks to mostly the now deputy town manager, Ms. Bonjourno, was through the Board of Health, those Ellington residents who are homebound because of disabilities or a whole other host of reasons. Ellington was one of the first communities in the state that had a program where the vaccine supplied by the state, the employees of the Board of Health went out to different residents' homes in order to administer those COVID vaccines. And sometimes, flu. This is the first cycle I just found out because I started making calls for people who said, you know, I'd like to be able to do that again, that I don't see as of this moment right now that the town of Ellington is going to be able to do that. And I was provided with a mass.gov website as well as a phone number where you could call to that. So that would be a last resort, but one of the things a lot of residents said to me, especially if you're homebound for many of the reasons that I won't go into, but we're all aware of, having someone from the Ellington Board of Health come into your home was much more amenable and sort of felt safer, not that other program's on. So I just would ask, since we now have Colleen and Mr. Feeney, I probably anticipate that the answer might be back, that's just the way it is and there's not much we can do. If we could look into that and or if there's any other kind of alternative, even if it was a low fee pay structure or something, that instead of directing these residents to the mass.gov website, and you really don't know who's coming into your home or if there's anything else more local whether through the council on IA Jean Minuteman Meals on Wheels, something. And I know, again, it's a big ask and I just figured I'd try. And then the second of the three is I did get a piece of correspondence saying that I originally got a package July 23rd, which it did come to the office, but because of the summer schedule I didn't get it to the end of August. I'm gonna contact the town manager on the next day or two. I don't wanna take the time here doing that. And I will, after talking to the town manager if appropriate, I just got sent this and not the rest of the board. So I'll make sure if it's something, I'll make sure you all get it just so you have it, but it's my name in there. And then the last thing is I can't tell you how many people have razed me. I don't know where I can go for coffee regarding why do I have to take a tutorial to press seven buttons to get the free parking when before I just had to press the green button. And I don't know if it's appropriate, Mr. Chairman. I have had a conversation with the town manager if maybe if he could just briefly respond to that. I understand it's not seven, it's like five, but is that- I think it's not new business the board's gonna act on so that's fine. Mr. Feeney, if you wanna make any comments. Sure, thank you for that. I do think that once everyone has had the opportunity to try it on their own, it will seem a bit more intuitive than in the video we have recently updated the instructions on our website to try to make them a little bit more clear that you can use if you've seen one of the meters that there's blue buttons for either plus or minus that help you toggle between the two options and that you can see which is highlighted. But I think that the part of the additional steps come from the fact that there is now one meter serving two spaces. So anytime you go to activate anything on the meter, the first thing you have to do is choose the right space or the left space and then confirm. So a number of the keystrokes if you will are going to happen whether you're paying for parking or getting free parking. To build on that, I will say we have received some concerns or folks would send me pictures about the visibility of the meters and what may not be intuitive and what I have learned myself and have experienced because I've been testing a number of meters personally is that the first thing you always want to do just like our old meters is press any button because that activates the backlight so that you can actually see the digital screen. Otherwise it goes to sleep almost immediately to save battery life because it won't charge quickly enough. So the visibility is always best triggered once you hit a button so that it activates the screen there. And one other thing we're gonna look at doing with the vendor is perhaps increasing the font size on the screen to see if that might make it easier to read because these are small digital displays. So thank you for raising that. Thank you, Mr. Chairman. Thank you, Mr. Not, Mr. Heard. Thank you. I just want to thank everybody, town staff, DPW, police fire that worked on town day. I want to thank the vendors for coming in and braving potentially difficult weather and the Tons of Arlington residents that came out. We had a meeting on Thursday before we got a whole bunch of questions about the feasibility of cancelling or rescheduling town day. I think as Ashley will attest, it's not really possible. The amount of planning that goes into town day is months, not a week. So we can't really have a rain date, there's too much coordination. So the question was really, do we move forward and cancel? And I think I came to the meeting about 15 minutes late with a, we're doing it. And we kind of went full steam from there and I let him certainly on board too. And then the day came and I was like all butterflies in the morning if like everyone was gonna be pissed that we had town day and it was all rained out and everyone got screwed. So I'm glad that the rain held off. I actually had to go to Connecticut for a hockey game which such as the life I live, but I did come back around 2.30 and spent some time at the beer garden having a couple of spy PAs, which were pretty good. And I mean, I think the rain really held off for the most part until about four o'clock. So we're very impressed by the turnout and hopefully the businesses that participated were able to see enough customers that it made it worth it and it was better than canceling. So I do wanna thank everyone from, you know the town staff right through the patrons who are involved in town day for sticking with us. Like I said, you can always bring an umbrella. Thank you, Mr. Hurd, Mr. Dacorsi, thank you. Sorry, I do wanna specifically thank Ashley and Lynn who if it's a seven or eight month job, the other ones that spend the most time in those seven and eight months coordinating town day, I kind of pop in as I can, but my schedule makes it a little difficult but they're the constants on the town day committee that are making sure that the, that's running on time. Thank you, Mr. Chairman, a couple of things and I'll try to be brief. I attended the Council on Aging September meeting last week and received a great positive feedback on the senior parking sticker program and the number of seniors who are participating in that is now over 500 and could get up to as much as 1,000 by the time this is done. So that has been very well received, very appreciative and it's as we said, very worthwhile program. Second thing, I haven't done it in a few months but I'm back to a sports update. I want to congratulate Frank Roach who's the new coach of the Arlington High football team at 2015 graduate of Arlington High School. He got his first two wins as the head coach of the football team. Last Friday or last Thursday, Arlington beat Brookline 52 to 21 and Arlington's running back, Caden Mills figured in six touchdowns. He ran for four, he caught one and he threw a pass for one. Six total touchdowns he was involved with the week before it had three touchdowns against Stonem. So he was recognized by the globe and I want to just recognize that that has to be a record for Arlington High. So best of luck to the football team and all sports teams throughout the fall. Thank you, Mr. Chairman. Even I know that that is impressive. Mr. Diggins. Thank you, Mr. Chairman. So I'm on town day. I first off really want to thank staff. And so it was Ashley Lauren and Britain. They were just so on the ball. Whenever I would wonder if something was happening, it was already done. So they were critical and the other two people were Jeff Monroe at ACMI and Kathleen Darcy who really pulled together entertainment. And that was the thing we were really struggling with at the Thursday meeting was we were like, we can go to the booths. I mean, what do we do with entertainment? And we were in the process of scaling back on entertainment with Mr. Heard who did come in late said what about moving indoors? I think you've probably thought about that. And we hadn't and then we just removed it indoors. And one thing I do want to emphasize to me as in all endeavors like this and in most relationships it's not that everyone contributes equal amounts. Like if you were to be do like the hours you put in by the amount of money that they make per hour. It's not about that. It's really that everyone contributes being what they can and effectively and everyone on the team did that. And so it was a really great team. You all saw the email that I sent me and I really meant every word of it. We haven't set a date yet. We'll probably do that tomorrow. Yeah, I looked me in and I'm compouring all the Jewish holidays are in October. So we'll probably gravitate towards that third Saturday. But we'll make a decision tomorrow and then let you know for sure we do have the fireworks that outstanding. So we'll make that decision tomorrow also probably lean towards a Saturday or Friday. I say in that order when we are relatively sure it'll be clear. So it may be a matter of saying to folks pay attention to the website and we'll let you know. But once again, we'll come out with that tomorrow. So a couple other announcements. There's gonna be a housing in Arlington, the youth and young adult, not the youth in Arlington. Youth being young adult perspectives. I want to take the the out because I don't want it to sound like it's like that's the end of it. And it's really meant to try and get some understanding how youth and young adults in Arlington feel about the housing situation present and future. And also it's a way to try and let people know that we do have this young Arlington collaborative that we're trying to get off the ground. So Envision Arlington State and Committee is sponsoring it, hosting it, but it's on behalf of the YAC and finally preliminary update is on the, I'm giving on the overnight parking pilot need of the 125 slots we have about 56 or 57 have been taken. So a little less than half, 56 or 57. So a little less than half. And so there are three more months to go folks being as pro-rated and so if you're thinking about be wanting some overnight parking, please sign up. I know it's a little hard when you don't know if it's gonna persist me right now. The pilot is of course scheduled to end me that then the December. So I know that we'll probably get less demand really there, but if you aren't thinking about it, let us know. If that's not enough time, let us know that too because we're just trying to collect data on this. So maybe if we have time in the next meeting maybe we can get a little more of an update from APD to see if there have been any complaints about just the pilot in general and the parking that has resulted as people have utilized it. So that's it, thank you. We might see the time my manager had can reach out and see if there is any information that he can let me know if you wanna speak about that at a future meeting. Sure. Thank you. Everyone has covered everything I was going to announce so I won't duplicate. I think that's it. At this point I will entertain a motion to adjourn. Move to adjourn. By Mrs. Mahan, seconded by Mr. Herd. All in favor please say aye. Aye. Aye. Opposed.


So I'm going to talk about non-interactive publicly verifiable secret sharing with thousands of nodes. I'm Shai Alevi, and this is joint talk with Craig Gentry and Vladimir Voshchevsky. So the overall goal of this line of work is to implement secure multi-party computation in a crowd where you have maybe thousands of parties participating here. Why would you want to do that? Well, it's useful if you're in open systems like blockchains or maybe other coalitions. But I'm not going to dwell into the motivation.  Now, the hard part is manipulating secret information. And the core of that is how to share a secret. So this is the focus of our work of verifiable secret sharing scheme. What is verifiable secret sharing? So just like any other secret sharing scheme, you start with a dealer that has a secret called S. And you end with the parties that hold share of the secret. And in this case, Shamil secret sharing. So there is an polynomial f of x of degree t, t is a parameter. The evaluation of f at the point 0 is your secret S. And party i knows the evaluation of f at i. This is verifiable in the sense that shares of the honest party sit on a degree t polynomial and therefore can be reconstructed later, even if the dealer is faulty. And faulty here is malicious. The dealer can do whatever they want. Some additional properties that are useful if you may use them in the secure computation protocol are publicly verifiable. Everybody that sees the communication can tell if the dealer was faulty or not. And non-interactive. Non-interactive is just saying that the dealer can broadcast a single message and then go away. There is no back and forth. Now, the communication that we're thinking of is broadcast channel. So for us, if you want to send a message, you broadcast it. This is the only way to communicate it. So in this setting, there is a generic way of doing things. I mean, the dealer needs to distribute the shares. How can I broadcast what it's going to do? It's going to broadcast an encryption of the shares. So encrypt f of i under the public key of party i. And then just send a single message to all of them. And in addition, you attach proofs, non-interactive, zero-knowledge proofs that the encrypted values lie under the great key polynomial. So this is a single message. Everybody can verify all the proofs if the dealer cheats in any of them gets disqualified. And then the honest parties can choose some kind of default value, maybe the zero polynomial, what have you. And then when you want to reconstruct the secret, well, everybody saw all the ciphertext. So now if I want to reveal my shares for the purpose of reconstruction, then I'm just going to add a proof that the share that I just revealed is indeed the decryption of the ciphertext that you also. So this is the obvious, perhaps, way of doing non-interactive publicly verifiable secret sharing. And if you want to implement it, then, well, now you need to show me how to encrypt, how to improve. And if you want efficiency, then you need efficient proof and efficient encryption, et cetera. There's a lot of a pile of work about how to do exactly that. But most of it is not concerned with the parameter of the gene that we care about, where there's a lot of parties. So almost all pile of work of systems that are very efficient for small number of parties, but choke once you hit about 100, let's say. Perhaps some exception that was the script log-based encryption, where the secret is shared in the exponent. So when you decrypt and recover, you can only recover s times g, the representation of s in the group, rather than s itself. This is good enough for some application. It's not good enough for others. In our case, we want to do a straight-out VSS. So you really want to recover the secret s itself. Before showing you how we do that, let me just briefly sketch the techniques that we present here. What are and how well do they perform? So we have an implementation of our techniques. They're rather naive. They're signal-threaded, single-threaded. The exponentiation is not fast, et cetera, et cetera. But it was designed to show feasibility. You can easily, like a forex factor, maybe more. It's embarrassingly correlizable. Multi-threading should get you. But what you get is 1,000 parties. It takes about half a minute to prove and maybe 20 seconds to verify. So not blazing fast, perhaps, but entirely feasible. In terms of bandwidth, remember, we broadcast everything. So bandwidth is at a premium. So it's OK. Not great, but fine. The specific parameters that we chose for 1,000 parties you have about Lx for expansion factor, meaning you're broadcasting about eight times as many bits as it would take you to just send the shares in the clear. And the more parties you have, the better is the expansion factor it converges to 2x as the number of parties grow. For example, with 6,000, you already have like a 3x factor. So it gets there. And with that, let me say a few words about how we do that. And I need to describe to you how to encrypt. And I need to tell you how do we efficiently prove the things that we need to prove. Encryption will be done with lattice-based encryption. That might be a surprising in the sense that we want efficient bandwidth. And lattice-based schemes don't do that usually. But I'll show you with the packing techniques of Pekka, Bekutonata, and Waters we can do quite well. And then Avaris set of tricks to get the proofs to run faster. Let me remind you how the encryption works with TVW packing. So in this setting, you want to pack multiple plaintext element in a single ciphertext so that you can encrypt them all together and decrypt them all together. Let's say that you're trying to encrypt L elements and you have security parameter lambda. So first of all, we would think of this as working in the common reference string model. So with it is a common reference string matrix, m by lambda matrix, a m as you can think about it as more or less the same as lambda. And it's public and it's random and it's out there and everybody knows what it is. And the secret key is an L by lambda matrix of small elements. So it's a secret key of small elements. It's not in all the applications. But in our application, we need it to be small. In order to generate the public key, multiply the secret key by the common reference string, you add a small noise matrix, again, matrix with small elements. And what you get is a matrix that can be called B. And we publish this matrix B. And it's convenient to think of the public key as both matrices together. So A concatenate with B. The property that makes this a good public key is if you multiply it by the secret key concatenated with the identity, then what you get is a noise matrix. So it's a matrix that looks random under the hardness of a distinguished LWE. But you know linear combinations of the rows that give you small vectors. That's what a regular public key is. How do you encrypt? Well, you choose another random small vector. This time, you're gonna multiply it on the right of the public key. And you're going to add your plain text. Specifically, you're going to add the plain text in the rows that correspond to the matrix B. And you're gonna pad it with zero in the rows that correspond to the matrix A. And that gives you the Cypher text. Now, this is one version of public encryption. We are gonna actually use a slightly different version where you add a little bit of noise to it. The reason we do that is essentially just get better parameters as this one. How do you decrypt? You just multiply the secret key by the Cypher text.  So it's X with a little bit of noise. And if your X was encoded to begin with, then you can recover the information from this noise vector. So this is how regular encryption works. Notice that the Cypher text vector has dimension L plus security parameter. And you use it to encrypt L encoded by text elements.  In our case, the encoding that we use is a little bit different than what Legev was using. And it entails a two X factor in bandwidth. And then the more L is relative to lambda, the closer you are to a factor of two expansion ratio. This is why when there are more parties, the bandwidth gets better. Let's talk a little bit about what happens in the multi-user setting. Because PVW was done in the setting where the single party has the entire secret key. In our case, we have L parties. And the nice thing about PVW is it works quite well. You just give every party I one secret key vector. So, and we're thinking in our head about all of these vectors being part of the one secret key matrix. So I have a vector SI, I'm computing and broadcasting the public vector PI, which is just SI times A plus a lot of noise. And all of these BIs are included in the global public matrix. And we're just gonna concatenate them and put them together in a matrix. So it's exactly the same, except now every party knows a single row of this secret key matrix. Encryption is still exactly the same, but now the IF plaintext is intended for party i. So I'm going to put the share that I want party i to get in the IF place plaintext slot. And decryption every recipient can get can decrypt as usual. So you just do an inner product of your secret key vector with the ciphertext. And what you get is the plaintext that was meant to be sent to you plus a level of noise. And again, if it's encoded, then you just decode and get your things. The one thing that I still need to tell you about is security. Security in PVW was proven in the regular model where a single party holds the entire secret key, but here we have a different setting. I have my own secret key and I may be dishonest. So maybe using my secret key, I can learn things about the encryption randomness that will allow me to attack the encryption for others and need to analyze that. Turns out in an R application, that's not really a problem. The reason it's not really a problem in R application is because R application any old files, all the parties to prove that they generated the key correctly, which means I need to prove that the BI that I broadcast was indeed obtained as SI times A plus EI where SI and EI are low normal vector. And I'm going to use the proof of knowledge for that. So in the proof of security, people can extract from me SI and EI. And in that setting, we can show that PVW encryption works beautifully. Do not violate the security of others with a little bit of twist in that the bottom of the noise, additive noise that you do in encryption has to be higher norm than the top. So here is our system, exactly the same as PVW except the E vector has a bottom corresponding to the one that uses to mask out the plaintext has higher norm than the others. And we need some noise flooding, if you know what that is. But everything else is completely as usual. Plaintext XI is intended for party I, the bottom is bigger, the crypt as usual, the parameters have to be set so that you can tolerate this high level of noise. That's the encryption that we use. And as I said, you get very good band, relatively good band with, because as the, you have more and more parties than the expansion ratio tends to two. And you get very efficient encryption because all the operations are just linear operations. And moreover, it makes it a lot easier to prove things about the encryption. I need to prove, collect encryption, collect encryption, collect TK generation, et cetera. So let's talk about proofs. We need a lot of proof sub-protocols to prove that they generated my keys correctly, I encrypted correctly, I decrypted correctly. I need to prove that the encrypted values form a valid secret sharing. So I need to prove some linear statement saying that they all lie on some polynomial of low degree. The building blocks that we use, we use a hybrid of discrete log and lattice-based proofs. Discrete log-based bullet proofs for proving the underlying linear and quadratic relations that we need. And one thing that helps us to make keeping simple is that the group order that we use for bullet proof, the discrete log group order is the same as the encryption modules we use, I guess. So we can always work in the same place, in the same algebraic structure. And then we use this lattice-based proof of approximate norm, the cold lattice-based, even though there's nothing lattice-specific about them, they're just used in the context of lattice-based scripting. And then we have combined them in various ways. There are trade-offs between tightness and complexity and need to aggregate all the proofs into just a handful of them in order to execute them. I'll talk a little bit about it next. Let's start with the building blocks, one building log-based bullet proofs, and we use it in order to prove linear and quadratic relations. So linear relations, we have a committed vector, we have a public vector, and we need to show that their inner product is some public value B. Quadratic proofs is very similar, except now we have two committed vector and we need to show that their inner product is some public value B. Roughly speaking, quadratic proofs cost about twice as much as linear and the reason for that is that you just commit to twice as many values. The lattice-based proofs that we use are approximate L infinity proofs. Here we have a bound B and a commitment to a vector and you want to prove that the L infinity norm of the vector is bounded by B. The honest prover needs to use a short of vector. So if you want to prove a bound of B, you need to use an honest prover, you need to use a vector whose actual L infinity norm is B over gamma where gamma is the size gap of your, and gamma is a parameter again. So this we use, we just take it from the literature and use it, and now on top of that, we build all the proofs. So the first thing, which is fairly standard, except as Zabin would say, this is the first time that we find that this very obvious approach actually works to do something useful, is use these tools to get a tight L2 norm proofs. So I want to prove the L2 norm of a vector and I want to prove that exactly without the gap. Here we're going to use sum of squares. So remind you that for every integer n, there exists for other integers, a, b, c, d such that n is the sum of the square of these four. How do we use that? If I have a vector x and I want to prove that the L infinity, L2 norm of the x is bounded by some bound v, then I'm just going to pad x with these four element a, b, c, d such that the norm is exact to be. And then, so I'm going to get a vector y, which is the concatenation of x with these four elements and I'm going to show that the inner product of y with itself is B square, which is a quadratic proof. One issue is that bullet proof can prove quadratics modulo p. We need to prove that the inner product is B square over the integers. Here is where we use the approximate size proofs.  Now we know that the relation of course over the integers and we're done. So that's a very natural thing to do. There is one twist here. It's not exactly enough to show that the inner product of y with itself is B square. We need a little more than just the quadratic proof. The reason is the quadratic proof, if you look at it as a black box, what it does it gets two commitments and it proves things about the inner product of these two vectors.  So in order to fix that, what we're going to do is we have the verifiers and the shift vector delta. And then the prover will prove that y plus delta inner product of y minus delta is the B square that we have before minus the non-square of this delta vector. And it's very easy to transform C1 and C2 into the commitment to y plus delta and y minus delta. And that's all the problem. Now, if I didn't commit to the same thing, then the probability that it would be able to prove it is negative. Right, let me go describe something slightly more interesting. And this is how you prove smallness of a very high dimension vector. So suppose we have a vector of dimension D, which is really huge. If I wanted to prove L2 normally the way I just described, well, then I need to have a quadratic proof for a dimension D vector and that's expensive. I want to save a little bit. So what I do is the verifier will send a random small matrix with entries zero and plus minus one, which is a compressing matrix. It's security parameter by D. The prover compute the low dimension vector V as W times R and commit to it. And then the prover proves two things. One is that VE, the committed vector V is indeed equal to the committed vector W times R. Well, that's just linear proof at a high dimension, but linear not quadratic, so half the cost. The other one is it proves that V has low norm. This is the smallest proof essentially quadratic, but low dimension, so it doesn't cost a lot. So what we get is roughly a factor of two X improvement versus high dimensional smallest proof. Why does that prove anything about what we wanted? Well, by Johnson-Lindlstrasse, the L2 norm of W is tightly concentrated around the L2 norm of, so the L2 norm of U is tightly concentrated around the L2 norm of W times some factor that depends on the security parameter. So if you have a bound on the size of U, you get a bound on the size of W with a very, very small. Okay, the last thing that I want to tell you about is aggregating bullet proofs. We have a lot of sub-protocols. We need to prove a lot of properties. Each sub-protocol implies some linear relations, some quadratic relations, and we have some variables that appear in these, multiple of these relations, of course, but each variable is only connected once. So we show in this setting a series of simple transformations that converts this to just a single linear relation proof for all the variables that only appear in linear statements and a single quadratic relation proof for all the other variables, and you need to throw in one single additional variables that appear in both. So you can convert all of the myriad of many, many proofs into just two of them and then you run protocol just twice. And with that, let me summarize we implemented a non-interactive, publicly verifiable secret sharing. It remains feasible even, you know, thousands of those, I'll explain in about 2000, but you should be able to do it with 100,000 and still, you know, coming tomorrow and see it finishing. It uses reges with PVW packing for encryption in the multi-user setting. So there's a security analysis that's needed. It uses a hybrid of lattice and discrete log-based proof and a very large bag of tricks to make them run faster. And maybe we can actually use it to do a secure MPC in big crowds, but there's a lot of work remains. In particular, if you want to use it in blockchains, there are a ton of extra work that still remains to be done. This is really just the core of the system. And with that, I am done. Thank you very much.


Lou at the elevator SCP 49 I think that is uh one in the restroom which I don't get why he's in the restroom all the time yep it's this dude oh my god the plank doctor no oh my god dude that was just we were at the wrong time at the wrong moment as soon as his bubble came off he got us that was not cool man okay oh my god told me to have six thousand points oh I like how he just follows him behind him why is everybody standing on top of this of the stalls okay let's go up here then oh my god it seems like everybody's afraid of that plague doctor because they all tend to hide up there hey what's up totally right wait is that totally right I don't know man there's a lot of people it's not totally right okay let's see hey lockdown wait which is this one I don't recall this one that boy needs some milk yeah he does man oh lockdown this one it has chunky wait so a lot of floors have chunky you come to realize I love his maniac laugh oh gosh look at him go oh no he's trying to survive nice he got away oh gosh okay we're chunky let's trap him in here let's trap chucky inside his box well actually it seems like it didn't work out because this one's broken mr. oof god if he's the oof god but it doesn't make sense because if you die but he's the oof god I don't know man that's pretty cool name though because hey look the skateboard come on I don't like writing the skateboard oh there you go because you can't really control them you're like they're having trouble oh my god hey where you know no skateboard is in the hallway man you gotta relax ooh diner who is the new map let's go okay so there's like two modes to the new map it's like the nightmare one and I'm not sure about the other one but we got the nightmare one earlier so let's see if this is the nightmare one or not oh wait I think the nightmare mode is the one where they release like two killers at once or like three oh so this is cool they have you can come into diner yo guys there's a speed coil over here oh my god look at the officer oh my god mr. officer what happened oh no freddy get away from me oh my god dude that guy was slashing me okay so this kind of reminds me of like what's that game dead by daylight I believe that's what it's called I don't know it's like a killer game I think gaming with calf plays it's a pretty cool game hey oh no not the saxophone he's gonna make my ears bleed he's gonna keep spamming that thing like there's no tomorrow nice uh sonic costume by the way I still want to find out what this is float uh oh I think that's penny wise oh no not penny wise yes it is let's go visit my boy Georgie Georgie my boy how you doing man yeah I don't think Georgie's doing uh pretty well just look at his face poor guy man I feel bad oh not oh wow oh my god that wasn't cool penny wise you're just gonna jump scare me like that oh no no this guy's on skateboard that is funny oh we just came back in the elevator to jump scare this what a camper only one survivor wow no I got him the oh my god great how do you get off this thing I don't think you can I'm have to reset well there goes nothing man okay let's get rid of that skateboard oh everybody's getting stuck on the skateboard just get it out of here man this possessed or something nightmare uh oh I don't want to have any nightmares I think this is Freddy Krueger oh no nightmares the one where they release all of them oh god this should be a fun party where is he at oh there you go we got penny wise okay so only penny wise nope Michael Myers oh they even play all the songs at once that's crazy man Chucky I think they kind of mix the killers around jigsaw yeah they did nice that's pretty cool oh god jigsaw's right behind us is there a skate patch here because I want to get out of this this is not my type of party all right nice to survive man right this guy has a skateboard in here yo what is that was your good man you can't even turn oh my god poor guy man he's gonna have a he's gonna have a lot of trouble there with that skateboard if I was here I would just reset smile no I don't want to clown again to stop clowning with me elevator all right we'll say bye tweeter there you go little buddy all right you guys well thank you guys for watching thank you guys for the amazing support if you guys enjoyed the video make sure to slap the like button if you're new to the channel make sure to subscribe and turn that notification bell on and I will see you guys in the next one bye


Let's try this one for the first problem of the day. So remember we're on alkene, so this obviously is going to be a reaction with an alkene, and hopefully you guys can see the alkene right there. So alkenes remember a double bond, so this one happens to be a terminal alkene because this is a CH2. You want to think about it? It looks like that. Okay, so when we react, recall from last lecture, when we react hydrogen with an alkene in the presence of the palladium carbon catalyst, what'll happen is we're going to get so you can think of this as like some sort of pseudo mechanism, even though it's not really proven or anything like that. You can think of the hydrogen gas coming down, and once it gets in the presence of the palladium on carbon, it'll kind of react to form some sort of complex that looks something like that. This is an idealized form of it, of course, and then recall your alkene is going to come down. So if you want to think of this like this and react like this, giving you the syn addition, okay, and then of course the catalyst is back unchanged. Okay, so that's like a pseudo mechanism. So you would expect to form the syn product here, the syn hydrogenation product, and you do. But in this case, there are going to be two of them. Why? Because we've got this methyl group here pointing up, pointing towards us. So we can have the hydrogen add from the top side here or from the back side. So let's draw those two isomers. So if the hydrogen added from the back side of the board, we would have it like that. If you wanted to, you could think of this one as adding back, too. But of course, there's no stereochemistry associated with that. And you'd also get the other isomer, cyclopentane. So if this one added from the back, then this one, of course, it's going to give you the other diastereomer and add to the front. It gives you a molecule that looks like this. And then it asks, well, what's the major product of this reaction? So which of these two products is going to form in the greater amount or have the greater yield after the reaction is over? Well, remember steric hindrance. So two things can't occupy the same place at the same time. So since this is pointing up, this methyl group, well, let's look at it on here. Since this methyl group is pointing up, it'd be harder to react from this side. Why? Because you got something that's kind of blocking the reaction from this side. Okay. But on the other side, there's only a little hydrogen. Hydrogen is very tiny compared to the methyl group. So there's something that's very less sterically hindered that's blocking you. Okay, so in other words, it would be easier to add from the back side than from the front side, back face instead of the front face. So since that's the case, hydrogen added from the back on this product. So this one would be formed as the major product and obviously the minor product. What do you have? Questions? Any questions? Nobody wants to talk? Okay


Yeah, about time. Okay, let's just put that on, let's go. Okay. All right, we're going to start with the next session. So the next session is again, a panel, second panel for today. Just like the first panel, it's a bit of an experiment. It's the first time we run this, well now it's second time. And this panel, we thought we'd set up, well we set a few experienced LLVM developers in the front of the room, and they're up to answer all of your questions, well all of your questions that are at least somewhat related to LLVM or its development. So to start off, maybe can each of you do a small introduction where your experiences are? So hello, my name's Peter Smith. I'm working at Linaro at the moment. That's working primarily on LLD. So I'm mostly in the Linker area, ELF type area, so please no complicated compiler questions for me. Hello, I am Jeroen Dobbeler, I work for Synopsys. In the group that I work at, we work on a tool called ASAP Designer. And that's a tool that allows you to describe a high level, in a high level language, a processor architecture. And from that tool we produce the hardware, the simulation, the software tools, including the compiler. And I mainly work on the LLVM site there. Hi everyone, my name's Nick D'Zoniay. I work on Android's LLVM team at Google, and I work on building the Linux kernel with Clang. I probably should also do a brief introduction for myself, so I'm Christof Bez, I work for ARM. I've been working on compilers there for about 10 years, mainly on LLVM and LLVM related projects. So I do have one or two questions prepared to get the panel started, but I really want to open the floor for the audience to ask questions all the while. Hopefully that will give the most interesting questions. So please do raise your hands if you've got any questions to ask in the back. So I'll repeat the question, was about how is Asim Godu? So Asim Godu shipped in Clang 9. So if you need it, it's there. We actually put out an RFC for extending it. So this is the curious case of what does it mean for LLVM to extend a GNU C extension? So we actually have patches. There's actually like a constraint in GCC where if you try to use output variables, you can't, you get an error message in the front end. And there's definitely like ambiguous cases of like, what happens if you have two Asim Godu statements that jump to the same label, but then they have conflicting output constraints like one says put this output in one register and one says put it in a different register, right? And I suppose you can detect that and just error out when that's the case and then still write assembly that isn't overly constrained like that and support that. So patches are out in their under review currently and there's still a lot of work that we're doing there. But Bill Wenling is driving that work. There's posts on LLVM Dev for the RFC for that. And we'll probably have kernel patches soon that detect if your compiler supports that and then makes use of it. Cheers. So just a quick follow up question on that Nick. You said that is extending a GNU extension. That seems to be similar on topic for the previous panel. Also have this LLVM and the GCC community work together. Do you have any insights for this specific one? I think this is something where we've picked up on like kind of feature requests on it. And I think a lot of the pushback on the GCC side has been this is not something that's easy to implement. Not necessarily that it's impossible just that it's not easy and there are lots of kind of edge cases and things that we can think of kind of thing. And I think if we were able to show that it is possible and come up with some test cases and try to work out and understand these edge cases like conflicting output constraints, we might be able to take this back to GCC developers and say like, hey, we have it working with some constraints kind of thing. And then there's an actual important code base that may use it kind of thing. And that may help drive prioritization to implement it as well kind of thing. I think a lot of different features like it always requires someone to take a crack at initial implementing something initially and kind of work out the edge cases and find what's sharp. And then typically a second implementation to really work out interop between other things that the initial developers didn't think about. And then there's always a question of, well, is this a priority or not for me to implement kind of thing? So there's definitely been like back and forth that I've had with GCC developers where I've said, hey, as a developer trying to write portable code, it'd be great if I had has built in, right? We have has attribute helps write kind of more portable GCC and C++ code. If I had has built in, that would help as well. GCC developers got back to me when they got around to implementing it saying, oh, we noticed difference between GCC and Clang is we happen to expand macros then passed to has built in and Clang does not. Like we think this is a bug, what do you think? I said, yes, this is absolutely a bug. I filed a bug, but it's not my priority right now to go and fix that kind of thing. So I think that that's a tricky part too is like, if it's gonna be like part of the explicit language standard, that sets a deadline of like, when should we have this implemented by? There was a question here. I was wondering whether you can maybe tell something about, so when you have a batch for LLVM, so there's the system for code ownership, but sometimes it's not very clear who is the owner of a certain piece of code or who you need to review a patch at, who you? So the, trying to repeat the question, if you've got a patch and you're looking for someone suitable to review the patch for you, it's unclear sometimes who you should ask. And there is, there's a code owner's file in the directory showing for different areas who the code owners are, but even then sometimes it's unclear. And so on the code owner's file itself, I think some of the code owners listed there, they're not very active in the project anymore, they used to be active. And then for probably some of the code owners have just areas that are so wide that attract so many patches that it's impossible for them to just look at basically just everything. After that, it gets to the point where somehow you need to figure out who would be the most active person understanding this area to be able to review this for me. Of course, if you're working in a team with lots of LLVM developers around you and with lots of connections to other teams that I don't know, other companies, it's a bit easier to know and understand who to ask. But if you don't have that, it gets a bit harder. So some of the tricks I sometimes suggest to people facing this problem is first of all, look at who last touched the code that you're touching. That person probably understands the code at least somewhat and there's a chance they're still active in the code base. What's another suggestion? Look for anyone who gave a talk on that in that topic in the recent years might also be a suggestion or look for who actually reviewed similar patches in the same area. If they did good reviews in the past, that's a good sign, probably good reviews in the future. And then yes, probably just like in any project there are some areas where it's just there are one or two experts and maybe they started working on a different project and it gets hard. That's an awful lot to add to that. You're right, it is a bit diffuse and it's not any formal policy on who can sign off, who cannot sign off. As far as I understand, I think anyone can sign off on someone else's code, but it has to be sort of in an area that you're known and familiar with or that it's kind of expected that you make that check and say that standards across the code base vary quite wildly. Some of them have quite strong owners, some of them not so much. Quite often a good way to do things is just to look for areas where people have strong opinions. Certainly if you patch in somewhere where someone's got a strong opinion it will probably get attention at that particular point. So often finding out who's the sort of person you're likely to upset if things go around that particular point. Sometimes also IRC is a good thing to go to, say, hey, I've got this patch, can somebody advise me who can look at that that type of thing. So sometimes you might find going on the LLVM IRC channel and going and asking on there can often help. Anyone else anything to add? Question in the back? Or it's not a question so far away. Yeah, Nikolae, what's up? If someone happens to answer at the end of the review work. If you want to repeat that. If you want to repeat that trick. Yeah, so this particular trick was if you push your patch to the mailing list and someone, well, makes themselves a victim, then by all means add them to the thing. No good deed goes unpunished I think in that particular case. Okay, first to review one. You mentioned IRC, now there's Discord as well, which is much more newcomer friendly. And as you can ask over there, is anyone willing to review my patch? Okay, yeah, so to the comment there was there is also a Discord server. Is that actually on the LLVM mailing list of where to find that? I think it's on the home page on the left-hand side, so you've got all links for IRC Okay, so yeah, so there's also a Discord server that's potentially more beginner friendly. And so on the trick of looking at who touched the code last, you can say like get log on the individual file or directory kind of thing, but not just the author, but if someone committed their patch with ARC, the mailing utility, it'll typically say who reviewed the patch. So you can get the kind of list of reviewers who have reviewed people touching this file most recently. In fact, fabricators will, when you put your patch on fabricator, it will also come up with some suggestions already. I noticed. First, the follow-up for good to lesson? Yeah, so I'm kind of interested in sort of like in developing the as-and-goat as represented as an instruction of the call and the broadly. Right. And so I care about ADGPU, where interesting things happen with control flow, and one of the things that they're kind of thinking about is having target-specific intrinsics that can be called with this call branch instruction. Is that something that you think people have problems with? Is that something that there would be obstacles with in the current communication? Just at the IR level, obviously, the backend would have to do something. So the question was could we build additional, like higher level intrinsics on top of the call-BR instruction that is used in the IR level to represent control flow? I can't think of anything. I think you'd probably help us work out more bugs in various transforms on call-BR, because it's been like a minefield, and that's like part of the discussion in the LLVM community right now is kind of the overhead involved in adding new instructions to the IR. Tends to like you have a lot of case statements in certain places where like the default branch is absolutely not what you want. And there's like that happens all over the place. And so adding a new instruction, like a lot of things are broken and it takes a long time to find broken transforms. But we've put, I've paid a lot of blood into call-BR. Like if you want to build on top of it, it's relatively stable kind of thing. Community, a while ago, one of your top contributors wrote you something you could not be called political reasons. As I said, they deserve a negative impact on the community that the atmosphere changed. Do you notice that he's missing? Because he contributed so much. I can only give my personal view and I didn't notice the difference. Raphael was a big contributor to LLD, I guess. So I guess I know him from those particular ones. And yes, did the velocity of the LLD project. It would have been faster if Raphael had stayed around. And yes, it almost certainly would have been. But I think other people from the community have come up and stepped into that place. And whilst we may not have been as fast as we were before, we have managed to pick that up. But yes, there's always a risk when anyone leaves the community for any particular reason that the project will slow down. But generally, when someone leaves a hole, other people rise up to fill it. It's all I could say there. Anyone else want to add to that? It's extremely hard to deal with LVM from the perspective that disillusioned forbid me to have an unknown version of LVM. But LVM APIs change so much, and you have five years of branch support. And it's a nightmare. And I don't know whether you have any experience. They assume you have some experience like that. So if you have any tips on that, I would be very interested. So I haven't had any direct experience myself. I know that I think one of our earlier presenters today, Alex Denisov, I don't know if he's in the room at the moment, but I remember him presenting about his particular strategy for one of his tools that had to support multiple backwards revisions of LVM. I think, in effect, he had basically wrapped version sort of interfaces where it had various different ones. I think it's one of those things that the, I think the community sort of, it follows the live at head mentality, unfortunately. I think it's one of those things you want to use LVM. Unfortunately, you pretty much have to subscribe to that. Otherwise, you're in trouble. It's painful, yes. I think it's just one of the drawbacks of that particular model. Anyone else? I think I can only make like a general statement that it's, it's a trade-off between improving the system you're working on requiring to break APIs or being held back by keeping stable APIs for a long time to come. So, yeah, maybe my guess is that most of the people who contribute a lot to LVM maybe feel the pain less because they don't have the use case of having to support something that was the version from five years ago or five multiple versions at the same time. So, yeah. Using the LVM, what is it called, attribute deprecated to just keep old versions of overloads, for example, around and just mark them as deprecated so that, because we have the same problem as well because some of our stuff, this is actually an outside LVM project. Yeah. I think we should do a better job. I'll try to summarize. Nikolai thinks we should do a better job by using deprecated attributes. And if I understood correctly, having wrappers at the old API keeps on working but under the hoods calls the new APIs something like that. Where it's feasible. Where it's feasible. Yeah. Surge? Surge remarks the REST project allows wrappers to have some API stability and the C API is also mentioned. Apparently it's a less of a pain but also sometimes you do see the same problem popping up there. The question in the back. I think it's slightly rusted. We can see our runtime. But it also has the beginnings of a bit of a sink. This indicates that we have to come in a bit more and have more run types. If so, I'd love to know roughly where the lines are here. So I've got a load of runtime libraries which I can distribute really easily. No. So the question is, or I'll just try to rephrase. There's a number of, if you want to get any code running you need to run time libraries. LVM for example has open CL run time libraries. There's a C run time library project starting. And the question is, LLVM seems to be open to accepting more run time libraries. You've got a bunch of run time libraries and you want to contribute all of them. How do you go about that? This is pretty much speculation on my part but I think a lot of it depends on is there a large subset of the community that's interested in those particular ones. I think a Lib C obviously is of interest for quite a substantial portion of the community. Although that does bring the drawback, there's a lot of different opinions on how to do Lib C. But I certainly think if the various run times that you've got reach a significant amount of people, particularly some of the larger community members who can potentially throw more of their way to actually get some of that through. So I think the answer is probably it depends if something is considered useful by considerable amount of the members. I think it's worth a shot. Is it compiler RTs? Sorry, isn't compiler RT has separate like ISO specific builds? It does. Right, so I'd assume it would follow a similar model to whatever compiler RT does. Have you talked to any of the compiler RT folks about this idea? Well, git log, compiler RT. Sorry. Yeah, I think maybe just one last remark on that is the only way to find out is actually have an RSC proposal and see what kind of answers you get. Try to explain your rationale for wanting to contribute. That's the best way to find out. And I get this right. The Rust folks are just basically normal users of LLVM or is there some sort of cooperation between you guys? Are you working together on some things? So from my point of view it's not like the LLVM community is like a very cohesive small set of people. There might be close collaborations between some people in the LLVM community and some people in the Rust community. Me personally, I don't have a close collaboration with Rust people per se. So from my perspective I would say it's more like the users of LLVM and probably some of the Rust developers probably contributes changes to LLVM. But I'm guessing some people who are active in the LLVM community might see it differently. Mostly interested because I would like to know if there have been any changes to LLVM to accommodate things Rust? Have there been any changes in LLVM to accommodate Rust? Can anyone think of some? I can't think of concrete examples of changes to LLVM, but the last time I spoke to Alex Crichton of the Rust C developers he explained to me that they have significantly expanded LLVM's interface. They have quite a few additional kind of methods that they expose in LLVM for whatever additional whatever their front end kind of needs additionally and I said, oh wow, this is great, have you thought of upstreaming this? I mean, I'm just so busy, I never have time to kind of thing. So I think a lot of the folks at Mozilla were interested in this compilation pipeline of like Rust through LLVM to WebAssembly so you had people working on WebAssembly back ends and then like Rust front ends kind of thing and then it didn't look like too much development within LLVM itself kind of thing and I think since then I think they've kind of picked up some people in the Rust community looking at making modifications to LLVM itself I was surprised most recently to find some folks on Google's Fuchsia tool chain team contributing to the Rust compiler kind of thing and kind of using existing LLVM experience to extend LLVM for Rust but concrete examples I can't give you one, sorry. So yeah, the question is in our product then the LLVM is used for the generation of the hardware or only for the extensions, the instructions. So LLVM is used as the front-end compiler CC++ and it maps to the specific instructions that you have in your hardware so it's not used to produce the actual RTL hardware or do any optimizations there so it's not LLVM IR2 RTL but it's C to do your particular instructions that you have defined. There do exist LLVM IR2 RTL generators but I'm not sure if they are open source. There have been talks in the past about such systems. Question? So the question is that you can use LLVM to compile code but you can also use it to generate run time code after run time, so JIT and the question is if you can use so the question is if you can also use profile guided optimizations for the JITing. In our tools we also use LLVM as JIT engine for the simulation and we do make use of run time information there. We are not using profile guided optimizations although if you can get the numbers, the probabilities I'm sure you can also make use of the passes when doing JIT. The main issue was actually getting the data back into the compiler. You can just use all the code that LLVM has for ahead of time profile instrumentation. You just need to mess with what the run time does to save the data and get it back out. I think it's comparable to JIT in the graphics world. Maybe one more example I'm thinking of is there's been a few presentations at the dev meetings from how Azul uses the LLVM JIT in their Java virtual machine and therefore sure they need run time information to be able to optimize well. Exactly how much of that infrastructure is fully upstream versus part of their products that remains a little bit unclear to me but at least it shows it's possible maybe you don't have all of the necessary infrastructure in open source LLVM. Well as LLVM is mainly just a bunch of libraries and in the main clang you can do this so once you can provide actual numbers of measuring the number of iterations on then you can just include those libraries and you can get it done but it's of course extra work. When we are talking about JIT there are two interfaces the MCJIT and the ORCSJIT and in other areas LLVM is always eager to have a good interface and there's two interfaces for years are there any plans to stream lines as well? I don't know too much about the JITs but I know the author of I think ORCSJIT and probably ORCSJIT 2 has just started a sort of I don't know whether it's a weekly or monthly sort of summary of the progress in that sort of area so there's being a bit more on LLVM Dev a lot more sort of consolidated reporting on that so if you're interested in that area it would be worth following that so I think if you follow that that would be worthwhile to see if there's any development in that area. Does anybody want to go first? It would be nice to not have a long tail of like compatibility bugs in like weird corner edge cases I find myself working on a lot of those I would like to get back to just traditional compiler optimizations like instance combine is like a nice pure classical Maybe it's not the top three but one of the things that keeps on annoying me is that maybe the first question is who actually can sign off on a particular change so with the most of the time actually it's I find it nice that there's more of this consensus driven model towards having decisions but at some point some discussions just keep on going and going and having no decision seems worse than having either option A or option B decided and move forward I'm not entirely sure if there's a solution to that that's not worth that status quo sometimes that annoys me I think that there has been some move at least from Chris Latner to maybe try and open this kind of worms for sort of saying how do we come up as a community with a sort of decision making procedure to try and break some of the dead locks and I say I fully welcome that I think that's hopefully as a community we can come up with something that over several iterations we can all agree with but I think I agree with Christoph the majority of things that I want from the LLVM are more community based than technical based I guess from a technical side I would love that it didn't have a horrible experience for people with the default build options the first thing you type or ninja or make you end up with static linking debug with as many threads as you can use and it generally blows people's memory apart and there are a difference set of build options to avoid that but they're not the default and we don't even document them so lots of lots of questions on the main list about that as far as actual features that I think hope promise in the future I'm particularly excited about post link optimization and I think that's being explored in a bunch of different spaces including parts of LLVM but a lot of it is kind of like the linker process has ended and you've thrown away all this knowledge that the linker just accumulated such as was there a relocation here and who really needs this value to really be in this spot and I think people are kind of proving out that you can there's still performance we're leaving on the table that post link optimization can win back things back but for very very large binaries or like certain large programs there's like assumptions that post link optimization just completely wrecks the binary and doesn't give you something that's actually runnable or usable but I think if these were more tightly integrated into the linker perhaps we may be able to like keep some of that information around and actually like do further optimizations that we're not doing today I guess the question was like what's the status on the original pass manager versus the new pass manager my understanding is that passes are slowly being ported over to the new pass manager I don't know that there's any deadlines or plans but do you have something to say about that? I also want to make sense of what I are but adding MLR into our compiler pipeline gives me nightmares because our customers are already complaining that LLVM is too bloated having an MLR to LLVMR position puts a barrier where you can't do pass reordering anymore it blocks you so I was just wondering how people feel about we've seen people want an accessible LR and there is understandable hesitation to expand LLVMR itself but I think if we think about carefully what we can do in small sets then maybe we can get to a point where LLVMR is as accessible as MLR so I wonder if any of you has thought about that before? No I haven't really thought about that I'm happy to offer an opinion so try so you've criticized the design approach where you create something brand new both on top rather than gradually changing something that exists in this case LLVMR can demonstrate so I don't know in this specific case maybe that's the only way to demonstrate it's useful and that's how you have to do it maybe gradually MLR and LLVMR could grow closer together it just becomes a dialect in MLR might take a dozen years or more to get there so I would say I definitely recognize people being bearish on additional intermediary representations one of my favorite examples right now is this project called CraneLift that kind of so LLVM has two different pass managers it also has two different instruction selectors and two different register allocators at least two but the CraneLift says let's bypass multiple IR conversions and just go straight to machine code and we think we can cut out a lot of compilation time or time spent lowering by not spending so much time going between IR to IR to IR so I can agree from that perspective the spirit of the question of MLIR where it really shines to me is kind of converting to and from a textual representation and then doing kind of your dependency analysis or like use def chains or certain compiler passes are really kind of language agnostic and it would be really cool to be able to generate a compiler from an abstract description of your IR 20 seconds left does anyone have a 20 second question oh, Andre, 20 seconds I just have a quick to see pass manager there was an RFC on the mailing a few months ago are you ready to switch to the new pass manager consensus was yes we are expectation was now we have switched but no we have not as far as I know all passes with an LLVM have both interfaces and porting is very straightforward but no we have not switched there are a few other things missing yes as far as best consensus to switch all right I'm afraid we have run out of time for this session thank you everyone for the questions thank you panelists and I would like to also request if you have any feedback given that we run this as a first time and as an experiment please to share feedback either in person email me or on the FOSM website at the bottom of this session or every session you can also share feedback please to share your feedback thank you