All right. So let's continue our journey in the Linux channel. And this time, Wolfram will discuss object lifetime issues in various subsystems. So please welcome Wolfram. Thank you. So happy that you are here. And I think despite the kind of boring title of the talk, I think it's going to be quite entertaining and fun, hopefully. Before we dive into the topic, I need to really set some basics straight because if there's some level, some only half understanding, then you get easily confused because it is a complex topic. But first asks, okay, this is a rough outline, basic problem, results, conclusion, nothing special about it. Who in this audience does not know about reference counting? Cool. Awesome crowd. We can skip this. I have lots of slides. So I'm happy about every slide I can skip. So the Linux kernel also has some way of reference counting, which is embedded for mostly in a struct called, the reference counting itself is a struct kref. There's some documentation about it. This is mostly tied into a struct k object. There's also documentation about it, if you really wanted to know about it. But most importantly for this talk, this struct k object is embedded into a struct device. And this is like the key struct now for the Linux driver model, which is especially important for the research I was doing here. So it's all about struct device, creating devices, and those devices are reference counted and should only be gone when the reference count is zero. To modify the reference count, we have get device, put device. Yeah, that's about that. So then I assume who does not know the difference between physical and logical devices? Yay. Good. So we have physical and logical devices. I want to extend a little that beside the physical, here's the platform device, which is tied to some hardware. It has memory as an IQ. Here's the user space side. It's not, it's a struct C dev. So it's a little bit different, but it exports functionality to user space. In most cases here, we have an intermediate device, which is also a logical device. So there's a struct device involved. And the I square C world where I mainly work, it's called struct I to C adapter, which is basically abstracting away the hardware difference. So if someone from user space or from kernel wants to say, I just want an I square C transfer, it talks to this adapter, and how this works in reality is done with a platform device. So this is one layer of abstraction, also usable in the kernel, but it's important. It's another struct device. It's a logical device, and it has its own lifetime. It is reference counted basics. The problem. Let's start. One annoying thing about this is the problems are rare. And just coming off, if you're doing a regular work cycle, it is usually like this. So you don't see them so often like other problems. When you boot there, the kernel finds a platform device that platform decides, hey, I'm an I square C driver and give me an I square C adapter, so I can expose my functionality. Kernel happily does that. So we have now a struct I square C adapter already with a reference count of one because the guy rather the code wants to expose the functionality, of course, has a reference count. Later, then user space comes along and says, hey, give me your functionality. I want to talk to that device. And so yeah, okay, it connects to that. And we have a reference count of two. So far so good. Then someone user space is done. Either the device is removed or the device is just closed. Doesn't matter. This is not having a reference count anymore. Reference count is going to one. And then when we unbind the driver using Sysfs or reboot the system, the platform device says, okay, I'm going away. Please delete this this adapter. It calls delete adapter. Ref count goes to zero. So it's not reference counted. This can go now. No reference count anymore. And then later in the power of this platform device can also go. So no problems with that. But if you remember the previous slide, when there was a reference count of two, there are two candidates to go away. So it also could happen that the platform is device is going away while the character device still has a reference to this intermediate intermediate device. This is alone a whole set of problems. But it's not the main thing I want to talk about here. But you can imagine that if you're not carefully checking here pointers, you might have into that structure, you have no pointer differences. And even if you check for that, you have to really be careful not to run into races that between the check where you do that and the platform device going away, whole set of problems. But with the previous talks by Laurent and Bartosz, they were focusing on managed devices. Laurent said def mkzalog, this function which allocates memory is harmful. Bartosz said, no, it's not. That sounds like a contradiction. I don't think they're both so far away. But this is anyhow, this gave me the idea, okay, I want to research that. And what is the problem with if you use managed device, especially allocate def m with def mkzalog? Like in ice grocery, there are subsystems where the platform, the physical device needs some private structure to operate. I mean, this is pretty common. You need to store some state machine or whatever. So every structure, private structure here. But like ice grocery kind of expects you to have this ice grocery adapted this intermediate device in the private structure. And where's my pointer? There it is. But this is now we're mixing. And if we use def mkzalog, we attach the lifetime of this private object to the platform device. But we have intermediate device with a separate structure device which has its own lifetime. We're mixing them. This is dangerous. This is really dangerous. And when we use this adapter, the system goes live. So we open the possibility that user space or other users from kernel may come in and increase the reference count. So what then is really bad is let's assume the example before there's this intermediate device and it has still a reference from the user space and the platform device goes away. Now, if we use def mkzalog at the end of the remove of this platform device, it will free the complete private structure. And there is this intermediate device in it. So we actually killed a device which has a ref count of one because user space was still connected to it. That's super bad. Because, hey, that's one of the promise of an operating system. If there's an RF countered object, it's not going away. So subsystems do that. They need some kind of protection to not let this device go away, although the platform device is going away. And now here comes def res or these managed devices. If you don't use it and use kzalog and k3 directly, there actually is a way where you can do it right if you're super careful. There are still a lot of ways to shoot yourself at the food, but at least there's a way where you can get it right. Namely, we will go into detail later, but if you use this release function which every device has, if you populate that, then you can get out of this mess. But with def mkzalog, it will always be wrong. Because even if you populate this call, remove callback, which waits until all calls are gone, def mkzalog will always remove once this device is gone. It doesn't matter if here's a ref count or not. So def mkzalog in that context is always wrong. So that is why I would say this is not causing the problem. You can have the problems without def res as well, but it makes it easier to fall into the trap. That is the problem. The kind of good thing is because it is always wrong, we can detect it, we can scan for it. Because I don't need to scan for exception. If I see that pattern, it's always wrong. And since I love coxinell, I wanted to say, okay, who else in the kernel does it like this? So the kind of maybe little academic formulated question is which subsystem use structs with embedded k objects and allow these structs to be allocated with def mkzalog. To make it more real, think about i2c. i2c has such a struct, namely i2c adapter, it has a i2c device in it, and it wants drivers to use def mkzalog. Or it allows, not once, but it allows. So sadly, as a maintainer, I have to say I know i2c is one of the candidates. Uh, who else is there? So I ran one coxinell script to scan all include files and find structs which include a struct device directly or indirectly, because if you just do one iteration, you won't find all. It can go up to many iterations until you get finally to the struct device. I used three because my poor computer was busy enough with that. And I found six around 630 structs. So this is quite a lot, I think. And from then, with these 600 structs, I searched, okay, and where in the kernel are those structs allocated with def mkzalog? Because this is a potentially dangerous situation. So I generated 630 coxinell files, which I then ran, and then I got some outputs. And then I wanted to know how do these subsystems protect against this too early freeing of the embedded struct device. That is basically my research question. So far so good? Or somebody already left behind? Okay, so a little bit of a first result. The good news is I got less hits than I anticipated. So actually, I can show you in this talk all of the hits I got. Hey, that's good. But the bad news is that with all the hits, although they have some kind of protection, I still have issues with them. And more or less, I basically, they all need fixing. Okay, I'm brave again. I will do live demos. What could go wrong? Let's see. Can you read that? Okay, so you're all waiting. Something is going wrong, right? Okay. Here we have the serial console. And here we have a telnet, both points. It's a Renaissance port, of course. Thank you for giving me such nice hardware. And a good candidate is UART. It was not in my list. So it doesn't look, it wasn't reported by my research results, but I still wanted to give you what the end result should look like. I can't give you the bad results because they're bad. So here on the right side, there will be the user space side. So I will open a device exported by the UART layer. On that side, I will now unbind the device while someone has in user space has a reference to it. So go to this, what is it? TTY class? I always mix that up. TTY, which device was it? I need to check this. It's E6C5. Okay, device driver, echo, E6C5, unbind. Okay. I have some debug options enabled here. You see objects got released. That's fine. The user space exited normally. It might have exited with error code, but this is still gracefully. We didn't have any delay here when returning from unbind. This is what we want. We unbind, we get back immediately, and the user space deals with the problem. Okay, good case. There we want to end. Ah, yeah, MTD. So MTD also exposes devices to user space and I will just open one of them. So I just assigned this file to a file descriptor. It's basically opened. It does nothing. It's just open, right? But it increases the reference count. Now let's unbind this one. This is a class again, I think. MTD nor read only, device driver. I'm now at the SPI nor driver and I unbind this exposed SPI. It has nothing to do with SPI. We're on the MTD layer level. So it's SPI nor. Yeah, thank you. So let's see how MTD, wow.  It's still crashing. So lots of things going wrong there. And I think the machine is even in a such unstable machine. I think I can't reboot now. No, it's okay. Luckily we have a reset button somewhere. Okay, this was, that was MTD. So as struct SPI nor embed struct MTD info, which embed struct device. That's why I said you have to do an iterative process. No, okay. It crashes as you saw when while MTD read open is opened. I couldn't find any protection mechanism in the MTD core code. It might have been that there is one and it's not perfect, but I did not find one. But I found this command from March 2009. Revisit. Once MTD uses a driver model better, whoever allocates MTD info will probably want to use the release hook. I think this is probably right. So with this, I think there's a better option than using the release hook, but that we will leave that for later. But you see, okay, MTD is seriously broken since ever. I square C. I square C zero, I think. Yes. So I open I square C zero. It's a character device. Okay. You want to see a crash, right? I use always, as you can go this way or that way. And I always use the path I can remember most. Okay. There is it. You're making bets already. Okay. It doesn't crash. This is good. So it has some kind of protection. But as you can see, the unbind does not come back. Bartosch in his talk mentioned it was a deadlock, but it's not a deadlock. A deadlock is a situation where you cannot get out. This is an uninterruptible weight. But so and if you have a better device where you just have one terminal or shell or whatever, so then it can mean that you're stuck. But luckily we have this terminal, this telnet client here. So I can remove this reference count from user space. And then you see things happening. Devices get removed and the system is in a consistent state. So it doesn't crash. That is good. It blocks, which is not perfect. Embed struct device blocks uninterruptible. I square C delete adapter waits until all references are gone using a struct completion. I will explain this in more detail on the next slide. But we also have a great comment. Fix me. This code is old code and should ideally replaced by an alternative, which results in decoupling the lifetime of the struct device from the adapter like SPI does. Yes. That is still true as of today as it was in 2015. And the problem is known for much longer. It's just I put the comments there in 2015, so I won't forget. And because I always forget the details, I made this talk because I can now look up in the future to remember what actually is going wrong. So why does it not crash? This device is meant to, it's unbind. It should go away, right? So the remove callback calls I square C delete adapter and there's this wait for completion. It waits because there's still a reference to this intermediate device. When the user space closes this or deletes or gives up this reference and this ref count goes to zero, then the release callback of the device is called or yeah. I square C core populated that before. So when this release callback is called, we know the ref count is zero and then we call the complete and say, Hey, it's done. Finally, the waiting is over. Completion is completed. And when the completion has been signaled, it's done. The waiting ended and everything can be freed safely now. This is why I square C has to wait, but it doesn't crash. Ideally, it would be returning right away. And if user space would connect to the users, I square C dev device, it would say, sorry, all my functionality is gone and keep saying it that long until user space says, ah, come on, I gave up. There are some other subsystems which have the same approach of protection. This one is I3C. The master controller embeds a struct device. I couldn't really test it because I don't have I3C hardware. Regarding their own master controller thing, there might be a protection. I haven't fully understood it, but I did not go into detail because for them, sadly, they have I2C backwards compatibility. So they embed an abstract I2C adapter and use I2C delete adapter to remove it. So we kind of caught I3C and said, Hey, you're with us now and you need to wait until I2C is fixed until you can fix your stuff. Sorry. I found another subsystem doing that. It's called NTB. Does anyone know that? Okay, a few. Cool. Non-transparent bridge or something. It's probably not too interesting for embedded devices. I3C Express can do magic things with it. It also has, just by code review, so my research, my coxie now scripts told me there might be such a subsystem and I reviewed it and I found they also have a completion. So which I think is worth fixing. That was the surprising result. Word.io. Okay, let's check. What could go wrong? Ah, I don't need it. Now you got it. Now I'm lost. Where's my driver? What a pity. I don't know how to fix it right now, which is sad for you because it would have crashed. Even without me opening some additional reference card from user space. How come?  Virtual IO device embeds a struct device and by design, their subsystem forces all users of their subsystem to use a release callback of this virtual IO device they created. I think it's not very elegant to push that responsibility to drivers, but it does work. If you allocate the struct device, you make sure that the freeing option is connected to this actual device and then you don't touch it yourself anymore. That basically works. But one driver, this MMIO driver got it wrong and still used dev res with it. And if you enable this debug option, which nobody knows unless you're working with object lifetimes, then it fails. Why? The good case. Why how all the others drivers work. You allocate with kzalac, not managed. The virtual IO device, which is reference counted. And then from that virtual IO device, you populate the release callback with the accompanying freeing option. Only when the reference count is zero, then we're freeing that memory, not before. And then you do something with the device and then on unbind, this device is the terminology of the driver core is not good here. The device is deleted, which means it's taken away from the driver model. You cannot connect to it anymore. You cannot get a reference count anymore, but it is the memory of the struct device is still there because in the driver model, we call it release if you want to release the memory. So the device is deleted. You cannot connect to it anymore. And because let's assume we're the only user, the reference count goes to zero. And now it actually, which one comes first is not so important because let's assume we're the only user, reference count goes zero immediately. We free the memory. And then we can also free all other resources connected to this platform device. But it could be the other way around because this intermediate device takes care of itself. We could delete this first and wait until all references are gone and then delete this one. Understandable? Not so much. Where's the problem? Can you say it? No, pity. Shall I try again? Okay. The problem with dev res is now that it totally breaks these assumptions. We're allocating memory with dev mkzalloc and populate the release function not with k free but with dev mk free because we use this one for allocating, which sounds like a good match. We do something with the device unbind like before a reference count goes to zero. And now comes the difference. And this is where dev res is really harmful. Once this device is gone, because it was allocated with here with dev mk.alloc, it will delete the device nonetheless. There is a release callback populated, but dev res will still kill the memory or free the memory before that. And that's why we got the splat because then when the reference count is going to zero and this debug option, what does it? It delays the release. If this is all going instantly like we go here to zero and right away this will be removed and this will be removed, you will not notice anything because you're lucky with the ordering. But if this debug option waits a certain time, like a few hundred milliseconds until we release the memory, then you get the dev res problem because dev res will remove this and including this. And after a delay, the driver core will try to call the release function and all the device is gone. There is no release function anymore. Boom. Not good. This is, like I said, subsystems which say we use, I request you to use a release function. It's technically, you can argue that it works, but I really don't like this approach. If you look here at the slide, there were multiple tries to get the lifetime thingies right. And so there was the initial submission and then the driver core found out there's no release function. That's forbidden. So it emits a warning. So what did the first one guy do? Well, it put an empty release function so the warning goes away. And then someone else noticed, no, it shouldn't be empty. So it added this dev MK3 just to match it, but still not understanding what was the actual problem. And while trying to get that, this guy got the, all the def m management wrong. So he needed another fix up. So at least the def m part was consistent again, but it was still wrong until a few minutes ago. I sent a patch. And this is what I think we have consensus on this one. Bartosz formulated this in his talk. When you listen to the complete talk of Laurent, in which he gave at Plumbers, people were also like this. It is not a good idea to put the responsibility of this lifetime management to driver authors. I think most people agree that these layers who introduce a struct device should take care of it and not say, here, you do the work. Experience says it goes often wrong very often. So I could fix this subsystem. It is okay now, but still I think the approach in general needs fixing. There's another quite new subsystem I'm not super familiar with. It's a bit scary, actually the auxiliary bus. It also expects that you populate the release function. Unlike other, they're pretty explicit about it. So let me show you the documentation. So they really have separate documentation here about the lifespan and how they expect the management of this lifespan should be. So it's quite long. Must be good, right? So they're at least explicit. So you can read about it. But still, I think, just from review, I think one driver got it wrong and using depth rest at the wrong point. I can't test it because it's very architecture specific. I think it's Qualcomm. I'm not sure. I'm not blaming them. I'm just, I don't have that hardware. I can't test it. But it seems that the other drivers do it right. But right, what does mean right? This is an example how this auxiliary bus is used. So first, you request the bus. I don't expect you to understand that in detail. I just want to give you the impression of how this looks. So we request the bus itself. It seems you can use managed devices for that. Then we want to have certain devices on that bus. We can't use depth rest for that because they're separate lifetimes. So we use KZL. So we have a mixture of those two. This is already And then the auxiliary device does not have all the fields this driver needs. So it puts a wrapper around the AUX device with the AUX device itself and the additional information it wants to store. It needs a unique number. So we need this IDA to get a unique number. And then it starts filling the stuff with like, I mean, AUX bus, AUX device, AUX dev dot name. This is not exactly short. This is not exactly readable. And I think it's kind of fragile. So you need all, where is my pointer? All this code for one device. And since they want to have a second one, they do it all over again for the other device. I think this is not maintainable code. Easy to read. Easy to read. Easy to get something wrong in there. And I mean, Greg Croatman likes this subsystem, I have been told, but with that IPI, I'd like to meet him soon. I would suggest something like this. And this is really the pattern I like in general. And this is probably also the pattern I square she subsystem will evolve into. You have here your private struct and fill it with stuff. And then you allocate the device you want to use later. Well, I need more. You allocate the device and the core will take care of all the bookkeeping which is needed for the embedded or for this struct device, which is needed by the subsystem, not by the driver. And then you get a device back and then you can fill the fields which are needed. If you still need to do something special, you can have an optional release callback, but if you don't really do nasty things, most drivers should be able to get without that. And then once you're done with that, you give this object to the subsystem again and it will do the rest, especially when unbinding. This is what SPI does. This is what NetDev does. This is a pretty common structure in the kernel and I think we should apply it everywhere we can. So far it worked. It has other benefits, but I can't mention them right here because I'm already short of time. To my surprise, USB gadget was also reported because there was a mixture of release function and def m. I was surprised because USB is usually the ones who get it totally right because they know magically disappearing device best, I think. And indeed, I could not trigger a problem, but I still want to find out, but I need to investigate this. Either I was not triggering the right problem or they're actually safe, but I haven't understood why. So their USB gadget is still kind of an open target. But maybe depending on my investigation, I might have bad news for you in the future. My conclusion, the first summary is not so surprising. We have different kinds of life cycle problems in the kernel. I was just presenting these def res embedded complicated thing. There are even more. Some of them are really long lasting if you think about MTD, like with the command from 2009. With the ones I was researching here def mk.eloc cannot be blamed for it. I mean, you can do the same mistakes without it. But as I said before, it makes it easier to fall into the trap and enabled me to do this initial start of research because def mk.eloc is always wrong in this situation. But with such research, if you answer one question, you get at least three new ones. Further research activities, I see I would like to, I think it's possible to have a coxinell file also finding this manual once where you use kz.eloc and use k3 not in the release function, but in the remove function at the wrong place. I think this can be encoded in coxinell as well. And then we get likely more hits. And then as I said, to limit the search space, I was only scanning for struck device for a complete thing. I should scan for austra k objects. Then I will get the character devices, the CDES and all that. And there's more. And when I found this one driver, which tried to solve the situation with an empty release function just to silence the driver core, I think we can check for that as well. There might be corner cases where this is okay, but in general, that's indicating a problem and somebody not understanding what's happening there. So we should check those as well. Potential solutions. I already mentioned pushing the responsibility to drivers that she seems to be agreement that this is not a good thing to do. In Laurent's talk, he just, I think mentioned a garbage collector, I think only for completeness, because everyone who hears it is like, oh, no, I don't think this is the way to go. Bartosz had a nice idea. There's a underscore underscore clean up annotation you could use where you, if you call a function, you already defined the cleanup function. And if you combine this with res counting, you can make sure that things will happen magically. That's the research to be done from my gut feeling. It is technically possible, but it's a paradigm shift because you usually, in the kernel, we're used to, you allocate something, you free something, and this would be different. So even if it's technically possible, I think Bartosz has to convince a lot of people to get this into mainline, but maybe it's worth it. I don't know. My preferred solution is what I said before, do this thing with ALOCK, ask the subsystem to give you a prepared struct, and then you work on it and then you pass it back to the subsystem. So it will do the magic it needs to do for the devices it uses itself. What you do with your own resources, it's your thing in the driver, but this separation needs to be made, I think. But converting I-square-G, for example, to that, I mean, I have more than 150 drivers, which technically need to be converted. This is a lot of work. Yeah, I just, and even more life cycle issues exist. I mentioned character devices where the platform device go away from video for Linux. I know there's some, Gerr told me about like dependency hell where he cannot unbind this device because another one is gone and DRM, okay, sorry, but it's all media. So there's also stuff and then there's this case that there are some existing protections which are not perfect yet, there are race conditions, they all need to be audited. Plenty of things to do. And since safety is a bigger topic this time, I want to mention that. As far, I have only half knowledge about safety, but I know you can't audit Linux kernel as a whole. So what you do is you describe processes, how you handle if something goes wrong, and then this gets accepted or not. So I think our process, if an issue regarding life cycle of objects and Linux device drivers is discovered, and I really mentioned device drivers here, I think the kernel core kernel code is way better looked at and I don't expect such as let's say simple bugs to be present in the core, but in drivers it's quite present. The process is we add it to the list of already known life cycle problems. It is agreed that fixing these issues would be great, but nobody does it because they'll be dragons and it's simply a lot of annoying work. This is, I think, kind of the status quo we have with life cycle issues now in the Linux kernel. So that brings me to my last slide, the future. I think it doesn't look too bright. I don't expect too many things to change in the near future because the problem is not like, it's not like, oh that's an interesting problem, I can go for it. What is kind of interesting is what I did, do research. Where is this problem? Where can I find more instances of this problem? This is kind of fun, but if you then see, okay I need to fix the whole subsystem, that's so. And so I could, I guess we see some of these fix me still in 10 years, if not somebody is throwing a lot of manpower and money to the problem. So raising interest in the topic and raising funding will be, I think, the necessary first step because this is no part-time work. I will try. We will see. Until then, I personally will still start fixing the I2C subsystem. Let's see where we go with that. At least because of this talk, virtual I.O. is now fixed. At least one good outcome, right? And I want to support, thank you Renazath because they're partly supporting this work. I should mainly do other things, but it's okay for them if I spend time on such things. And of course, CoxyNail, it's such a great software. I don't know how many bugs it already eliminated or found or whatever. I love it. And with that, just five minutes late, but you still get some snacks, I promise. This is the end of my talk. Thank you for being here and I hope you learned something and enjoy the conference. Let's pretend we have time for one question. So it has to be the best one. I can't say I understood everything from your talk, but I'm thinking, would it be possible to teach DEVRES to do something special for reference-counted objects so that somehow that interaction, that bad interaction is solved in DEVRES itself? It's probably too difficult to answer that immediately. I don't think so because as I said, there's a different level of nesting where the actual reference-counted object isn't. With that already, I see a problem to teach DEVRES that. What Laurent mentioned in his talk is that DEVRES is mainly misunderstood. When DEVRES was sent mainline, it was clear the promise was that the objects tied to the device will be removed on unbind. He clearly said that and then the next slide, super funny, what people read was it will remove that at the magically at the right time. That's what people hope for. That's what they want, right? But this is not the promise of DEVRES and I would need a little bit of hacking and trying out, but I don't see piggy-packing that on DEVRES is the right way to go. I might be wrong with that, but it's just a gut feeling. So, thank you. Thank you very much.


Meanwhile, as Shouadjou Bola Tinibu says, he is the most qualified candidate to fly the ticket for the 2023 presidential race. Tinibu made this known on Wednesday when he met with the APC members in the House of Representatives to beg for their endorsement, with over 200 lawmakers in attendance to receive him. In his welcome speech, the Speaker of the House of Representatives, Femi Bajabiamila, described him as a man of unity and a man of the people. We have only seen one person running up and down, going to Nigeria, giving to respect to whom respect is due, selling his words, marketing his tooth train, delivering his message. I personally think it is wrong that for a country such as ours, we are only hearing names, and nobody else is campaigning. It is an APC family affair, so we respect and we expect that this foundation that has led today, respect for our institution will be built further, I will be counting for that. So we should also try to advocate in that manner. Say, without fear of being quoted by the press, that Bola Amitibu, the leader of the APC in Nigeria, has everything it takes to be the president, what it takes to run. You also have what it takes, both in terms of intellectual, and capacity. Capacity covers every other aspect of human capacity, to be the president of the federal public of Nigeria. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Actually, I think I am well prepared to answer your question. The day before yesterday I was going from my home in Phalarum to the city, when a friend of mine saw me from behind at a distance. He was in a jovial mood, so he shouted in an official voice, You, the man from Phalarum, halt! I stopped and allowed him to catch up with me. Apollodorus, I was just looking for you. I want to hear about the party at Agathon's house. Tell me about the speeches on love made by Socrates, Asabaites, and the others who were there. I was talking to someone who heard the story from Phoenix, the son of Philip, but his account was muddled. He said that you might know the story, so I thought you would be the best one to report the words of your dear friend Socrates. But first, tell me, were you really at the party? His account was certainly muddled if it led you to believe that the party was recent that I could have been there. That's the story I heard. Agathon has not been in Athens for several years. Also it has been fewer than three years since I have been following Socrates around and hanging on his every word and action. Before that I ran around aimlessly, thinking I was doing something important, but I was worse off than anyone else. In those days I would have done anything rather than pursue philosophy. I was a lot like you are now. Apollodorus, please stop making fun of me and tell me when the party actually took place. My friend, you and I were still children at the time. It was when Agathon won the prize for his first tragedy. The day after, he and members of his cast had already celebrated their victory. That was a long time ago. But tell me, was it Socrates who told you the story? No, it was not Socrates, but Aristodemus of Sedatheneum. He was at the party. He is the same person who told Phoenix. Aristodemus is the little guy who always went barefoot and seemed more devoted to Socrates than anyone else in those days. Later I was able to confirm some parts of his account with Socrates. Then please tell me the whole story while we walk to Athens. It is a good way to pass the time. If you want to hear it, I am well rehearsed to recount the speeches. I love to philosophize and even hear others do so. It is both pleasurable and profitable, much more so than all the talk about making money I hear from you rich people, which I find boring. I feel sorry for friends like you who believe you are working hard when you are actually doing nothing. No doubt you also feel sorry for me. I may be in a bad way as you think I am, but I don't merely think that of you. I know it. I see you are the same as ever, Apollodorus, always finding fault with yourself and with everybody else.  I'm not sure how you came to be called Apollodorus the madman, but you deserve it when you are always ranting and raving against yourself and everybody but Socrates. Well my friend, then it's obvious that I am out of my mind. Why else would I have such ideas about myself as well as the rest of you? It's not worth arguing about that now, Apollodorus. We agreed that you would give me a full report on those speeches about love. Well, they went something like this, but perhaps it would be best for me to begin at the beginning and try to give you the whole story as it was told to me. Aristodemus said he met Socrates, who had just taken a bath and was wearing elegant sandals, which was unusual. He asked where he was going, all dressed up. I'm going to a dinner party at Agathon's house. I missed the celebration yesterday because I dread crowds and avoid them when I can, so I promised I would come today instead. I dressed this way to honor my handsome host. Wouldn't you like to join me, even though you were not invited? I would, if you think it is all right. Follow me, then, and we will challenge the proverb that says, To the feasts of lesser men, the good unbidden go. We will replace it with a new saying, To the feasts of the good unbidden go the good. Homer's authority supports this change. He not only challenges, but actually contradicts the old proverb. After presenting Agamemnon as the most courageous of people. Sample complete. Ready to continue?


Hey, well, welcome, everyone, to the City of Santa Rosa Cultural Heritage Board meeting, September 13th. We'll start out with a call to order and roll call. Okay. Board Member Boran. Here. Board Member Carney. Here. Board Member Fennell. Here. Board Member Klein. Here. Board Member Marslyn. Here. Vice Chair Garrett is currently absent, but we'll be here shortly. Chair Muser. Here. Let the record reflect that all Board Members are present with Vice Chair Garrett showing up linked. Thank you. Moving on to Board Business. Our statement of purpose, the principle duties of the Board include undertaking and updating historic inventories or surveys recommending designation of landmarks and preservation districts, reviewing proposed alterations to historic buildings, and promoting public awareness of preservation issues. If you are in a historic district would like more information regarding historic districts. Please see the process and review procedures for owners of historic properties. Real quickly if we can open up for public comment on that. We do not have any attendees via Zoom and nobody in person. Okay. We'll close public comment. We move to item three. What do you think about Board Member reports? Were we going to do that at all? I don't think we're doing anything except this, except the item for the special meeting. And then, and we'll. So no, no report from Ms. Murray. Either. Oh, no, I don't. I don't. I don't. Leah works. Study session. I have no reports. Okay. I do not at this meeting, but I will have a report for the next meeting. Okay. The special meetings because people aren't aware of them as much. Okay. I'm sorry. I apologize. Thanks. Just started. Okay. Moving on to item three. Scheduled items. And. This report. City of Santa Rosa. Resilient city changes. 2023. File number PRJ. 23 dash. 010 at background of city of Santa Rosa zoning code text amendment and a zoning map amendment for the resilient. City. Resilient city changes. And. Present her city planner presenter today is Christian. Thank you. It's all yours. Thank you. I'm going to share my screen really quickly. I will. I'm unfortunately hard of hearing. So. Okay. The more you could speak up the board would be appreciated. Good evening members of the board. Today I'll be discussing the resilient city combining district update. This is going to be. Talking about a few things related to resilient city that we have currently in the city. And we have certain measures for rebuilding. From disasters that were in place starting in 2018 that we're looking at changes by the end of the year. So currently we're looking at modifying our resilient city code section regarding a resilient city combining district. This currently is not within the historic combining district whatsoever because. These were adopted in response to the Tubbs nuns and glass fires. These are set to expire on December 31st 2023 unless amended by council. And these were created to address the reconstruction repair rebuilding and damaged parcels. From those disasters. This is also utilized alongside what we have is the resilient city development measures as well. So our project goals for this process and also coming here is to do permit streamlining to facilitate reconstruction. For any catastrophic events and then avoid any type of bottleneck during the permitting process. And reducing the review for any type of expedited review. So that would be reducing any level of if maybe a permit has to come to the CHP maybe it's reduced to the zoning administrator or to the staff level with the director review. So currently here has been our project timeline for the resilient city changes. We've gone through originally with city department feedback sessions in April and August. And then after that we reached out to a few developers about our design review process. And then we conducted a public survey about both of our resilient city ordinances. And then we went to the design review board for proposed changes that were pertain to design review. And then today is for cultural heritage board. Next we're bringing the entire project to planning commission for a recommendation to city council. And then we will be going to city council in November which would lead to the ordinance being adopted in December. We are currently looking at a permit streamlining for landmark alteration. This would be only be applicable to properties that are affected by any type of hazard in the city. We're currently working on that language right now for the upcoming ordinance changes. This would also help with reducing the process and time for rebuilding. Currently we have only gone through this process for hillside development and design review. So for areas that were affected by the fire they had originally they would be going to the zoning administrator or maybe even to the design review board for reviews for hillside development and design review. But our current resilient city measures reduced that to either zoning administrator level or to staff level to review these projects. This happened, that's still currently happening. That's because the ordinance is ending soon. And moving forward we're looking at making this process available for any natural disaster that happens in the city. So that's why we wanted to come to the cultural heritage where because that is a huge area of the city that could possibly be affected in the future. We're also looking at no longer tying this to a specific zone. So we're looking at no longer using the RC combining district but rather implementing it citywide so it doesn't have to go through any rezoning process with the city council. We have a few proposals to bring forward regarding resilient city landmark alteration processes. So the few of them that you can see here but I have listed four different types of projects. So separated between residential and non-residential. So we are giving you an idea about the residential project process. This would be reducing any type of rebuilding measures to just concept with a CHP and then going straight into the building permit process. Another thing would be going for residential projects going from CHP to zoning administrator. And then some findings they would need to cover would be listed under architectural compatibility so that is color, materials and pattern. Architectural features as well as district character. And then also thinking about the damage structures themselves that are considered historic. Looking at how those might be documented in any way or incorporated into the process. So that would be photo documentation in case these buildings might need to be taken down and we don't want to lose them forever so maybe we would have the property owner. Property owner have a photo documentation of whatever is left of the structure. Restoration would be maybe only a small portion of a structure is damaged. They can rebuild it or fix it or repair it and wouldn't need to go through as much measures and it would still be a part of the entire structure. Incorporation would be maybe the entire structure or majority of the structure has been damaged but there is still like a wall or a few up or any other determining factor. And then that's incorporated into a new design with the district character. And then also looking at possible historic report or historic evaluation for these projects to ensure they are still following our standards for historic preservation. Another thing to go over is that we have planned developments within the city. So these are areas within the city that kind of have their own type of zoning within the policy document. These are created to, there's a variety of reasons of why things are planned developments. They generally have their own standards because of specific reasons at the time when they were developed. A large majority of the parcels within historic districts are planned developments. So they have their own specific standards for those as well. We currently have a specific section in the RC zoning code that allows plan developments to go through different standards. But that will be being updated in the future. So to make it more clear of how these standards are going to be placed. And then lastly it's recommended by the planning and economic development department that the cultural heritage board provide comments and recommendations to staff about the proposed landmark alteration permit streamlining and the upcoming resilience city zoning code text and map amendments. My information is listed here. And please let me know if you have any questions. Thank you. Thank you. I have given this subject quite a bit of thought this last week. And trying to think about a way that the board could be the most productive and giving you information that's going to go on then to the planning commission. And I'm assuming the planning commission then will have a draft that they'll actually review. I think that might be a good idea. I think that might be a good idea. I agree. So because we don't really have kind of a draft of ideas. I drafted something up. And if everybody's okay with it, I'd like to just so that it goes on public. Maybe go ahead and read it. And I think that might add to creating some discussion of our board as to, you know, what, what things we might want to consider or think about to be forwarded to the planning commission. Do you good with that? We're trying to bring it up so we can have it on the screen while, while you're, you're going through it. And so members of the public can see it. Exactly. Okay. Yeah, it's going to be pretty hard. But if anybody's watching it on zoom and then towards the end of our discussion out, I will open this up for a public comment if there's anybody in the public. So anyway, I kind of handed this out to everybody. It's also was listed as late correspondence on an email to you that came out today. And I just titled that major disaster properties located in H combining districts. And for some of the new board members, you may already know this, but in case you don't, any area that's been designated a historic neighborhood has been identified on the zoning map and it gets a dash H after the properties on it. Miss Marie correct me if I'm wrong. And so that's what kind of makes the neighborhood identified specifically and those properties with the gas. So whatever they, their zoning was they get this addition dash H to it. So they call it acid combining district. The purpose of this document is to generate discussion around policy needs should a major disaster such as fire, earthquake or flood occur in a historic neighborhood. The disaster would involve the entire if the disaster could involve the entire district partial district or selected properties because changes to contributing structures within historic districts require either a minor or major landmark alteration permit. This document attempts to address the rebuilding needs of a historic district should it be impacted by a major disaster. So I kind of broke down some different scenarios. So the first scenario is a historic district with a major loss of structures identified as historic contributors. So should the percentage of loss contributing structures be greater than the number required to originally create the historic district, the following action shall be taken. And I'm, I think I've read somewhere I couldn't find it that when a historic district has created a survey is done and there's a count basically made of contributing structure versus non contributing structures and if there's enough contributing structures it makes it an historic neighborhood. So in this first scenario if you had a loss of so many of those contributing structures that was greater than really what was required to be. So a couple of options. First option zoning map amendment. After a survey of the affected area affected historic neighborhoods zoning map could preserve the historic district. I'll bet smaller while allowing rebuilding of loss structures under the provisions of 2028 100 that's the dash RC document that we saw the second option, removing historic district designation after a survey of the affected area, removal of historic district designation would occur if the loss of contributing structures is so significant that exceeds the number originally needed to create the historic district and geographic all location of the loss would make it impossible to adjust the zoning map for the affected historic district rebuilding would then proceed under the provisions of 2028 so those are two different things. One is we just redraw the map and actually we wouldn't be able to we would recommend to the planning commission to recommend to the city council to redraw the map or if there was so much loss like what happened in Hawaii it's really no longer a historic district it's all been lost. Two historic district with minor loss of structures deemed as historic contributors total destruction of contributing historic structure of the rebuilding of a totally destroyed structure with an historic district would be treated in the same manner as building on a vacant lot within a historic district therefore requiring major landmark alteration permit the new structure would need to comply with the identifying characteristics of the historic neighborhood and this will be an area for discussion for us is do we really need to require a major landmark alteration permit or could we do some of the things that are being suggested as far as having the zoning administrator handle the review of that or just after concept review just forward it on to building permit. B is partial destruction of contributing historic structure to repair rebuilding of a partially damaged structure within a historic district should be done in a manner to repair the structure to its original design and again if we're going to do it to a traditional design that might be something that concept review then straight on to permit process or we could stay with as it is now requiring major landmark alteration permit especially if they're going to be making changes in the process and then the third item is kind of a combination of both so you have a fire that maybe took out one of the streets or one of the area but you have pockets within the historic district but there's still enough left in the historic district for it to remain intact so you might have a rezoning map in our map rezoning the neighborhood as well as these pockets damaged or completely burnt down structures for major and minor landmark alteration permit requirements all fees associated with major and minor landmark alteration permits shall be waived losses of historic districts designated as a dash RC combining district shall receive expedited review by the CHP through the process of holding special meetings as needed and I would think that if we had a situation like this or we had a major we should be available to meet as often and as frequently as needed under a special meeting context to keep things rolling historic properties to be repaired in the same manner as they were built would be done so with a minor landmark alteration permit new structures to be built within this historic district would require a major landmark alteration permit five, removing historic designation and zoning map amendments to historic neighborhood designations a detailed survey of the historic district shall be conducted to determine the extent of damage and loss to the historic district the CHP should receive a recommendation for removing historic designation or amending the zoning map associated with the historic district CHP should provide comment to the planning commission if it is believed that historic district designation should be removed for the zoning map for the district changed and CHP special meeting shall be conducted to determine the extent of expedite review process and then finally additional considerations due to the additional complexities associated with historic districts and what makes this different than even the hillside or coffee park is that H designation because maybe the hillside was complicated because of building on a hill but the historic districts because they're collectively a historic element and so I think I feel that this new zoning language that the historic element needs its own section so anyway it is recommended the PED assign a single staff member for performing a post-incidence survey of the affected historic structures and oversee the rebuilding process so with that I'm going to jump back to staff or the other board members if they have comments or thoughts or clarification on what percentage would you say that it would have to be the buildings would be roomed or whatever to take away that designation of historic is there going to be a percentage point 25% of the buildings 50% or how many buildings were required at the time to make an historic district so I have 75% are burned it would lose its designation as an historic district I would think we would go back to the original survey that was done I don't know I don't know there was a number of percentage I don't know I know that we have we have our preservation districts we have a lot of properties outside those preservation districts that also are historic that don't have protection generation but I think I think yeah ultimately I'm sure concentration would play a role ultimately it would be the city council making that decision so whether or not it's a preservation presumably that would be on the recommendation of the city yes and that's the local designation there are other designations there's state and federal as well but if you look at the federal I read through all the federal information on the rebuilds I think this is pretty right on in terms of the federal and what our purview is I would I mean there are a couple of minor things I change in this like if you built on a vacant lot like the one on mcdonald avenue did they have to get a major landmark alteration just to build a brand new building on the lot yes yeah okay so that's one question and then I think we should clarify what the identifying characteristics of the historicity what we mean by that and what I've always assumed from our local guidelines and the federal guidelines is that you that is the pattern of the fenestration of those buildings and the pattern of the roof pitch and the materials used but that preferably the building be easily distinguished from the historic buildings so in other words like they've done in London to build a glass and steel building in an historic district is appropriate if the fenestration and the roof pitches are so large to the other buildings in that neighborhood I think that's always been an issue in Santa Rosa talking these through but I'd like to see some language like that added to this and I don't know how you I mean I think this this how do you know down on two part B if you're repairing a historic building how do you differentiate between the repair of the original building which you'd have to do my questions that's a repair in other words you're going to because your siding material has lived out its life and so you're going to replace the siding you would want we would want the siding material to match the original siding material because it's being repaired if you're doing an addition to the original structure I think that's where the Secretary of Terriers talks about differentiating something that would look blend compliment but stand out itself as this was added on there that's problematic because for instance in my house that I used to live in that siding is not made so it may have been made and is that something you want to require of and that's why I kind of feel that the processes that we see these are all discussions we would have if it were coming to the board and decisions that would be made if it was coming to the board and I know we want to expedite the process and but at the same time too if the historic district has remained intact there's also an obligation to the remaining property owners within that historic district and that's the reason why we have the major landmark alteration process and the minor landmark alteration process is to have an opportunity for us to discuss those things as well as open it up for public comment and public feedback from other neighbors and things as to how they feel about the design of that building so it's kind of on one end we want to rush it through or get it going but on the other end we also want to take into consideration that this is a historic neighborhood and possibly we still need to keep some of our processes intact I think the goal of this is to streamline process so I talked in the previous meetings about getting before the cultural heritage board through the concept design review which Chair Muser mentioned in his discussion and that's something that we can get pretty quick one of the problems where that can be problematic is with signage and the noticing process and we could really look at that and ease up the noticing so neighbors are still getting noticed but that concept design review process gets it onto an agenda with zero staff analysis it gets it on the agenda with a memo and that way the board can review the plans and make recommendations then moving into the next phase say if they were to follow all of those recommendations or get a report from a qualified professional that supports otherwise maybe something a compromise there that they could go straight to building permit for I think with the rebuild I think we went back to if it was major it went to minor and if it went from minor it went to director I think I don't know if that's how we did it at the get go for also it was delegated down to director all the way even for commercial I think it says for processes that would go to commission that would go to ZA I don't know if that was the original but those are some ideas what we did before you can see in that ordinance that was provided as an attachment to the memo is that it took things that were major projects and bumped it way down for minor projects and gave them to director level the process was intended to be very expeditious to get whether it's one person or 3,000 people that have lost their homes the goal is to get them back in the home very quickly and I completely agree that the so understand that that's when it's going to occur for somebody who has when their home has been demolished which could easily happen I mean you think about it if the fire started you know, wherever in the fountain probably burned down through the valley and through the proctor neighborhood it would take out McDonald's it would probably flip over to Cherry Street and then to Bourbon I mean if it's that big a fire it could burn a huge amount of the city because all those buildings are wood almost all of them I mean if you stuck up buildings and in that you'd have the high school which although it's not designated that's one of the most historic buildings in the city you'd have a whole lot of other major landmarks from the city so I do think it would have to be expedited because how would how do you get it done? and I think that's why there should be language that gives opportunity to undesignate a historic neighborhood and that would free up if there was so much damage if if the council was able to very quickly undesignate a historic neighborhood then you could fall back to whatever you have there without that yeah and as well as a language that would allow remapping if you had just a street or an area because like I say the reality is what makes it is the structures and if the structures are gone even if you built them back as close as you could they're still not and it shouldn't but if there is a building that is of value that's still standing that building should be treated under the historic code so for instance the McDonald mansion if that were to be a less standing that should not be raised just because the rest of the district is gone something else we do in our accessory dwelling unit ordinance we give people an option to provide design it the second unit like this when matching the siding materials color types of windows or provide a report from a qualified historian or we get up to you to figure out whose qualified to do that report but as an alternative of going for landmark alteration minor landmark alteration they provide that report and we look it over if we've got questions we know who to ask but that's an option you're going to have people in a catastrophic event with a lot of loss you're going to have people that do things that you don't want them to do but generally speaking people do the right thing and giving them really the goal here is to make it as easy as possible for them even I'm encouraging you to think outside the LNA process that that report after review if it meets certain standards and you can advise us on those standards where if they meet all those standards that they go straight to building so food for thought it seems like our discussion is kind of coming down to what do we want to do as far as the major landmark alteration permit requirement in the case of a major disaster and do we want to allow for concept review only and then you know the zoning I think it should at least go to the zoning administrator not just go direct to permit a major reduction under this circumstance or do we want to maintain the requirement of a major landmark alteration permit but maybe figure out a way to be able to fast track it a little bit more so to give some context to that when a major landmark alteration comes into the city or a minor for that matter it's not just planning staff that reviews that permit it goes through our building or engineering or water fire department everybody gets so it's not tough to expedite that and it's even tougher to expedite 100 of them let alone we've already seen 3,000 and in that case we brought on independent permitting staff and there were mistakes made standards were not followed by the homes built and in the end I think that even where those mistakes were made it was a really good thing over in Coffee Park I think Coffee Park has really turned out nicely you know for the most part but so I mean again the goal I'm assuming but I think the goal is really to make this as expeditious as possible and I don't think it would be reasonable to ask the board to be here 7 days a week yes depending on maybe the amount of destruction if it's complete destruction and the two homes next to it have all you know the other properties flanking it have also been destroyed maybe at that point it doesn't require I'm just throwing out ideas but we're looking for that kind of suggestions for you and I think can those suggestions come in after this meeting via email yeah absolutely we're happy to take any suggestions here today and then via email to Christian the only caveat we have is our timeline and we are moving quickly and that's just because both Resilience City sections expire at the end of this year and we want to make sure that these provisions are in place before the expiration so yes I think we can definitely take a look at the plans prior to the plan our deadlines are pretty soon another thought I was having to many of the waters just because that's what we like to do you know this is what we're taking forward to the Planning Commission and Council is codification of the Resilience City development measures that were developed and have been updated periodically since 2017 and so we're dealing with existing code language that we're putting into sections that make sense and modifying as needed this is creating something new that wasn't in there and it wasn't in there because the just the calamities that we have had have an impacted preservation districts right so another thought could be if this is more complex then we can do in this short period of time you know we might be able to say let the Council know that we also want to address preservation districts in this but it's more complex and we're going to come back I know that you want to move on to other things just to give it more time so we can move forward to what we have and amend that section later it's just another thought are there national guidelines like FEMA I know Mark DeBalker worked for FEMA for a while and went to disasters and made instant decisions on things would it be worth consulting with Mark to find out how how they if they had any guidelines for those decisions we have city staff that have been over helping the line fires and FEMA has a lot of there we may be able to just ask what's going on over there we might be able to get some guidance because there were a lot historic properties but you can't rebuild an historic property so it would be the ones that are left and it doesn't look like we have very many historic but the banion tree an arborist has weighed in and said that the banion tree was going to be down that came back with our building official I guess my thought is just and maybe it's totally all wrong but I just didn't want to have a situation where an RH designation combining is suddenly in a historic and it's all rules are off you know you build whatever you want and some of the neighborhoods are really challenging because some of the neighbors share a driveway with a joint garage in the back some of the neighbors have a driveway that's right along the edge of their house and then the garage is in the back these are a little narrow lots that you would never prove today that if fire was to go through there how would you rebuild those lots and how would you still allow a joint driveway but share in a historic neighborhood the answer should be yes the answer should be that's a defining characteristic of the historic neighborhood that they that's what made that all apart and those places looking the way that they look and I just think in a historic just because it is a historic district we just need to have an element you know if a disaster happens in that historic district that will kind of cover that and maybe after the fact or something might be a way to address that I don't think that this ordinance will address every situation that comes up and we all clamor on to fire there are lots of other things earthquakes can have some pretty devastating impacts as well and I think you're right I think after we see what happens there's probably going to be some urgency ordinance that comes up behind to assist and rebuild but to get us to a point where even with the smaller catastrophes you know it's one of your homes that goes down if it's an individual one single structure of fire or if it's a city block there's a gas main problem or something like that you know and I am I don't know the historic building code and we would certainly like that I don't know the official delay in on it but my recollection is that all the new structures that were legal nonconforming have been found and had to be reconstructed with current standards and we made provisions for them to still get through the process expeditiously but that's certainly something that we can look into but because I agree the other doesn't the reconstruction I don't think any of us have that and that's a problem because some of the historic district blocks are finding in West End you've heard kind of us banter so board members have I thought you were sort of gave some answers on how to handle different situations so is this a recommendation it may be a how things are handled based on circumstances generally I think we're going to probably leave it to staff as to determine what they want to move forward in their draft document but really hoping to get some feedback and again it doesn't have to happen today this is a lot to handle today you can certainly you've got to avoid the meetings even on a topic like this but I know that you can have certain you can have conversations with board members there are board members we all know they have a little bit more experience but again they can't talk to everybody and there's a reason for that education is okay education is not so there's a reason we have a 7 member board so I would encourage everybody to think about it and really look I'm happy to send out a couple ordinances like the ADU ordinance that has how we got people the state said you cannot ask for any additional entitlements meaning we can't ask for a landmark alteration in structure and preservation district if it's an ADU but we had to make some in order to avoid it you have to comply with this or do this I'm going to say a lot of times we talk about those reports and stuff but those reports are darn expensive they started about $4,000 amounts for the smallest of changes and they go up from there so somebody who's willing to do a report like that and get a certified professional writing that historic analysis that person's willing to make the investment in my opinion generally speaking there's always going to be the one ox but they're willing to make the investment to preserve the neighborhood so those are things that are food for thought for you all we're looking to you for a direction I have a question so ultimately what should we focus on in terms of coming up with a plan or a process that we can submit to the city or however it goes but do you want us to come up with a process to address these issues in historic if there's a disaster in the historic neighborhood yeah so what we're proposing in the presentation is some of the ideas that we have we would also like for you to weigh in on any kind of processing and permitting procedures you would like this is a great example of offering something to us the attachment from the chair definitely anything you can think of would definitely be very beneficial we just do have a very tight deadline so we'll be available after or via email or phone call if you have anything that comes up as well did we get a copy of your presentation it's on your agenda oh I didn't see yeah I can show you that and I think just the key to touch on the blue presentation yeah it comes up and the key to any comments from the board is really going to be looking at trying to streamline the process and make it easier for folks we all saw with the 2017 fires people just want to get back in their homes and they want to deal with going through a hillside development process or design review and to the extent that we can address the concerns of the board and what you guys look at through this process but through a streamlined way that's really kind of what we're hoping to get is there a way that the city can mitigate I don't know quite what the wording is for that but it's a 145 year old building and it burns down and you would want to build something else there that's equivalent not necessarily mimicking the historic building the codes the current codes are so different that the expenses just to bring everything to today's code is going to be extremely difficult so I don't know how you deal with that I think that's covered by homeowners insurance there's a problem because the homeowners insurance doesn't want to pay for all those upgrades people found out some hard lessons some people didn't have the clause in their homeowners insurance that would allow for code upgrades some people didn't have enough price per square foot to rebuild that I don't know I think that's more of a I don't think that's a city thing I think that would be a female thing homeowners also people need to realize they have to figure out what the rebuild is for the square footage for their own and I tell people all the time look if you were to rebuild now my house almost burned in the 2020 fire the glass fire six other homes are how we did and you just have to look what is it, is it 450 square foot is it 550 are you going to want those fancy pillars that are going to cost 40,000 a piece you've got to add all that extra but people need to be educated about being insured correctly and that was the big problem with both of those fires a lot of people were under insured so it is an issue do other cities have do you know what their codes are for the historical district has that been looked into what they're doing what I can let you know is we're one of the first cities to even have a resilient city ordinance and a couple cities that happened that were kind of may have followed ours we were kind of modeling a lot of things that are going to be happening because we were one of the few places that even had a disaster at this level so that's something to consider so if I was to just kind of condense my comments I would basically the direction that leads from me I would give would be to create a process that would expedite the rebuilding of homes by allowing the undesignation of historic districts if deemed necessary based on what was said or the remapping of a historic district or the ability to fast track our current major and minor landmark alteration processes without compromising the integrity of the historic neighborhood because we do have an obligation to those homes that remain in the historic neighborhood we don't we don't want to you know somebody survived and they got their little bungalow and now this T111 thing just got built next to it you know because it was fast track so anyway so that's that would be that might so that would be the fast track to adhere to the characteristics well yeah or allow allow staff to deem what they feel would be inappropriate I think at a minimum a review by the cultural heritage or at a concept review at a minimum and at a maximum the full scale you know because I know what you're saying with the major land we got to do the noticing we got to do it just it's gonna and with if you have quite a few numbers it could just really get rid of the major what did you say well get rid of the major landmark yeah and I guess what I'd like to keep is the what the elements of the major as far as the the it kind of protects the character defining elements of the neighborhood or it gives an opportunity at least for a review of the board but maybe get rid of the all of those other things that slow it down anyway yeah and I'm like Sam open for any process it just doesn't doesn't compromise the neighborhood the remaining neighborhood are there archives of all the historic building and we do have photo record of quite a bit of them I don't know about every single building but we do have a drive through survey that was conducted a couple years ago that have been used during all of the the binder still exists somewhere they do right by my office they're right by my house you should bring those to a meeting sometime and you have I have one okay every house in the historic district and then the that were done every yeah the contributing structures there's also a lot of photographic history the library of course the library does I I'm just going to throw out food for that again again so I know there's concern about some not that we need to discuss this day but when you're when you're putting together your recommendations I really hope that everybody takes a little bit of time to put together a recommendation and like Jessica said keep an eye on streamlining we've already seen the council waive all fees I'm just going to assume if it happens again they're going to do something along those lines but in the streamlining in terms of I mean like if the home that burnt down the home that vanished still had surviving neighbors and we saw that in a lot of neighborhoods right one random house was burnt or one random house survived there's no explanation for it but what if you know if something were there it's a I'm thinking of the Burbank Gardens district if there's single stories you may not want a double story a two-story coming into the neighborhood so think about stuff like that that could maybe keep people if they keep the same you know again roof if they keep these certain character defining elements which by the way are listed in our zoning code we codified them with the downtown station area specific plan in chapter 20 28 something and I can go ahead that's in our preservation district combining district I'll go ahead and forward that link to you too but if they were not not rebuilt like a historic building but still had those like the roof patch single story double story whatever the articulation maybe that's something that could get somebody right past right past that that landmark alteration permit and save them a ridiculous amount of money on a historic report again that's in a situation when the whole houses is gone and you I've said you can't my little thing which you can't rebuild history but that at least keeps that compatible so can we eliminate like we don't want any T11 signing but we already you know what we already and I you can propose it you guys that's I personally would be extremely supportive of that we have it in our design guidelines no T11 but then I've had people come in and say oh T11 doesn't just look like this anymore I don't even have the discussion because so few people are wanting to use that now people are going towards a hardy board but the other thing to consider too rebuild is requiring somebody to do do you mind how much you paid per shingle for your home well that's not probably an appropriate example $10 a shingle yeah so I mean it's very yeah but and there's beautiful shingles but shingles like for like you may have similar right it's kind of like wood windows you can't find wood windows unless you go to a restoration but the board has given us the ability to improve wood windows that are modern wood windows double-paying in the life all around the home that's the what we just want to do that so and again I like to say I think if your draft report if probably what I'm hearing at least at a minimum a concept review you know at least have a concept review I think the board really would like to see in concept we may not be in a position because of the emergency and everything to be in a decision making position but at least we could get feedback and then whoever the entity whether it be the zoning administrator whatever could take that feedback and go from there and in reality it's a good possibility it's going to be a higher contractor a consulting agent I mean that's what happened it may not even be your office your people that the feedback goes back to well maybe a clause that requires that individual to have a certain qualification no I think that's a good idea if it is a historic district that we try to keep it away from a group of contractors that are brought in to handle a situation like coffee park this coffee park to me isn't great so I think you can go down any street in coffee park and go under insured, over insured, under insured under insured, over insured and you can literally look at it and go okay these people did really great under insurance and these people were screwed and I think you can do that in preservation districts too you can see where there was workforce and there were the people that had more money but and just for clarification it wasn't, the contractors did the rebuild but we hired people to do the plan check and that is where that's where it's going to get approved I mean that's where the materials have called out so again I'm throwing out suggestions but I'm hoping that all of you can there be something that that's been done by a city actual employee rather than subcontract to approve within a designated district I just wanted to give some background on the data for that so we were able to pull a report for all the tubs and then fire parcels that were affected or designated RC so just for tons of nuns fire those were 2,644 parcels and from 2018 to now we've had 2,000 building permits finaled so that's quite a significant amount so I want you to think about that number when you're thinking of recommendations and the other thing to think about is yes they were contract folks that were doing a lot of these reviews but they had qualified planners in there and they were working under the direct supervision of our city staff members so they were not doing anything that wasn't in a direct line with the provisions and the direction given by city staff and I'm not aware of any city staff that have the qualifications that you're looking for I'm not aware of any city staff that have the qualifications that you're looking for I'm not qualified to write I would suggest that staff to the cultural heritage board should probably be in charge of the re-building in those historic neighborhoods No, that's a question Other comments? Patrick? I think that what Susan was talking about is someone's going to build something that is within the characters that we can in these preservation districts then they should be streamlined past any review that we have or maybe not I mean I'd like to say any review but then who's making the decision I guess is kind of what we're all a little bit hung up on but I think that's absolutely and someone wants to do a rebuild of close to what kind of what was there or something along those lines and it should absolutely just be a concept review like a repair to what was there a rebuild to what was there My understanding is that a rebuild a repair to what was there a rebuild to what was there I my read of the Secretary of State not to mimic but to remain compatible and with those those character defining elements again with the driveway depth of front yard three foot fence in the front yard those and those are all listed those were approved by the cultural heritage board we used to know it as Resolution 209 and we finally caught it and Mark Bakker was thrilled yeah I was going to say Mark is it true that some of those houses that were rebuilt my coffee park in those neighborhoods they had the plans as they were built got streamlined to be rebuilt on those previous plans they were except they had to be brought up to current standards so where we were I'm sorry yeah I can answer this was also like a previous question too about reconstructing things the way they were in historically we do have provisions for non conforming structures and uses so we did allow them to do generally the same thing as long as they're up to current building and fire code but it still allowed quite a few things to be as they were as long as they rebuilt in a certain timeline would that dictate what materials they use in the current it depends on what the building and fire requirements are but they might allow it to continue there's been some indigestion over shingle shingles and also shingle roof that's understanding forches decks vents in the home there's a lot of new fire and also interior sprinklers systems not as a big upgrade there's also a trigger for some of these things so when things were brought down to staff level review for hillside if they expanded over 10% of the original building footprint if they were doing more visual changes or environmental changes that would bring it back up to the zoning administrator level but other than that it was kept at staff level if it was generally similar to the original building I know you're under a tight time frame but just as you did a category at hillside is there possible to just throw something that category of the short neighborhood yeah we're already planning to do that I guess one of the things that when we talk about bringing something back some of these districts didn't become districts until what, 2000 yeah richwix yeah richwix so a lot of these homes started out as historic and then over the years they were you know when we talk about bringing them back you know my house is one of those awful plate houses but I had right before we went historic the owner that I bought it from put T11 up and took out all of that wonderful sign and took it all down and so in a situation like that and like the property that we had a few weeks ago that had a different sighting and then they're saying now that it's a different sighting you know we need a little bit of guidance some kind of concept review yeah repairs or if it is you know having a place all of the sighting and stuff but what was the sighting what would have been the sighting in the day I don't know that we could use a catastrophe to require people to restore I think if it was legal non-conforming they would be given the ability to go back with the legal non-conforming which is you know that whatever I'm assuming the person who owned your home and events hopefully they had building permits to do that work but it's not you need to know but yeah so if it's legal non-conforming but there's the benefit of it coming to the board on a concept review basis because restoration process if I'm going to use your house again as an example if a fire started at your neighbor's house and spread over and took out that wall it's you know you've got to reconstruct your wall the benefit you know if you're somebody who doesn't understand what the preservation district is about the benefit of coming to the board for concept is that you get that education there are a lot of people who are going to come just because it's required and say I got my plans already and this is what I'm doing exactly what was there before but there are others that will say wow that sounds like a really cool plan and it preserves the district and it makes my house work more money so anyway so that's just again I don't require anything that was legally constructed which by the way includes quite a few of those narrow driveway structures right and those are the ones I don't know that they could be reconstructed in the exact footprint I would have that we would have to defer the building you almost have to let them because there are lots that you know lot of lines and I think alone I would just have to defer to our building division on that I did not know the answer I'm trying to remember and I may be wrong but I think the cultural report does have the ability to adjust setbacks I think that's limited in historic neighborhoods so again there could be opportunity so the difference the differences setback is the zoning code district design standard whereas you've got the building code that requires certain access if it's building code the cultural heritage board might at least not that I'm aware of I don't think any board can supersede that you just have to let that process well trying to maybe think about trying to wrap this up let's kind of move towards final comments or staff I have one more question to throw in there I'm still worrying about the standalone historic buildings like the post office and there are a fairly large church of one tree but there is a large group of standalone buildings and how do we have those some designated and someone designated yeah right but I mean there are not these designated post offices designated their properties all over the city and unincorporated area a major disaster that just burned down for whatever reason just a one-off what would be the yeah I knew it wouldn't replace them but if they're damaged this I think is this ordinance intended to go for the one-off as well as the it is intended yeah so if it's designated and it has that if it's designated it has the dash H even if it's not in a district and so then if it's damaged and they want to do repairs it would need to follow the landmark alteration process so then we don't have to separate those two just everything we can to protect the cotton town sign I would also like to state we don't this doesn't have to be like perfect I would want you to know that both resiliency ordinances were updated around 12 times since 2017 so just know it will probably be changed when that happens on so when do you want us to have this ready like at our next board meeting well that's next week right we're not saying it again so we need to decide today we're just providing comments today and then if you have additional comments that you can email so you're going to take our comments today yes we're taking your comments today and if there are you know if you have additional comments that you want to email to Christian we would gladly take those just for Christian sanity if you could have that by your next meeting next week that would be lovely yeah would it be possible to see the draft prior to the planet commission meeting at this point at this point well look we can't provide it prior to the planning commission so yeah but it would be posted the week before so we always see it at that time and so the board can definitely provide comments on that that you know staff can take a look at and you know if we could get those prior to the meeting then we can take a look at it and be able to provide any response to the commission okay so this is pretty good so thank you it's just food for thought yeah and so will I heard I heard from a few but not all that there was some support for dropping down to concept in an effort to expedite concept review and then go for either director level or director level so did I excuse or even a someone that's been specially assigned that has you know those kind of qualifications to to deal with the historic structures in the historic districts something that has that high for that a number of of board members that do it there'd be some other comments final comments I don't have one more because I think that runs that on as far as if there is such a total loss that it should just it should boost the start doesn't matter entirely on that then it becomes really cool and the quicker you can make that happen and the quicker it would be people that just roll into you know you still don't think there should be like well if 25 percent is ruined they have to comply with how those buildings were it's 50 percent ruined that it's not a historic ability should there be you know still certain amounts it's gonna be so hard to tell me if it goes away entirely and the rest are mains yeah so it's gonna require a survey a legitimate survey there I hope we don't see that in our lab time other thoughts other comments I'm going to go ahead and open this up then for public comment we don't have any attendees via zoom and nobody in person I'll close the public comment period last final thoughts I'll call for adjournment then thank you all very much thank you