Hello, I am Diego Licerezzo from the OpenShift Online team and I am going to create this small video just to show you how I set up my Windows machine to work with OpenShift Online. I also use this video to show some of the participants on the Global King Jam 2016 on how to use OpenShift Online to host their video games. This was after a small series of presentations at the Georgia State University on game development 101. So let's get to it. Of course the best place to start is at OpenShift.com. Here you can check all the features that may interest you in creating applications with OpenShift. For this video one of the most interesting things that we can do is to go to the menu and go to the developers. Here you can go to the Getting Started link that we're going to check at some point to the developer portal and documentation. This is really important if it's your first time that you visit OpenShift. The other thing here that you can do directly at OpenShift.com is to sign up for your free account at OpenShift Online and of course login to your account. When you log into your account this is a personal one that I created just for this. You can also check your applications and when you go to help you can also go to the developer portal and the documentation. Of course you can go directly to developers.openshift.com and you are going to find the Get Started link. Here you're going to find the documentation that you're going to need to install all the requirements for OpenShift to work on your local machine and you're going to have a link for each one of the different operating systems. So you have Windows, Mac, Fedora. For this video we're going to pick Windows. In this page you're going to find all the steps that you're going to need to get your Windows machine working with OpenShift. First you're going to have to install all the client tools on Windows including Ruby, Git and RHC to work directly with OpenShift. So let's start installing Ruby. To do so you can just follow the link. Obviously it's going to open another tab on your browser and you just try to find the latest version that you have here. I'm going to go for this one and also well you can read a little bit of documentation in case that you're curious about that. Perhaps you already use this in your own developments. So here it is the installer. It's going to take a little bit. I'm going to go back to the steps that we need to follow and you see that we already have another version that is newer than what is needed. Now that it downloaded we can start the installation process, pick your language and then we can accept the license to follow all the steps that we can see here on the tutorial. Please pay attention to the note that is added in the steps. It tells you that it's mandatory that you select the add Ruby executables to your path checkbox in order to run Ruby from the command line. So you can see it here on the image and we're going to do exactly that. Now you can see that your installation process has started. It may take a couple of seconds and here we go. We finish our Ruby installation. To make certain that we install everything correctly we're going to run the command prompt and then we're going to go to the root, see and after that we're going to type the command that we see here. Ruby minus V. We should have a similar result to what we see here in our instructions. You see the version of what is installed and we have a different version but that's basically the same thing. So we can know that installation went okay. Now if you don't see the message with the Ruby version perhaps you should pay attention to this last paragraph that is telling you what to do to fix it. You see here that you have to add executables to your path. After this is done we should go to the next step that is install git. In this case we're going to go for git for windows. We have the link here and we're going to download the installer. Now let's take into account this node that we see here and this is going to be important to install git. Now we just go to the installer, double click and we're going to follow the normal steps taken into consideration the node that I just mentioned. Of course just here to move here just to make certain that we're checking everything that we need to check. I'll check windows style, commit unique style endings and click launch on the desktop. I also want it there. Next and pretty much this process is going to be, here is where we need to really to consider this. So obviously we follow the advice that we will save. We can just say next and we have the different options. It's already set. In this case we can also pick the default console by windows and that's what I'm going to do and you can also decide if you're going to catch your file systems. So after that we just accept everything pretty much. Let the installer do its job. Then we're going to make certain that all the steps or everything that is included in this step is finished and then we're going to be able to configure the OpenShift gem that you can see right there. That is step number three. I know that it takes a little bit to install everything but fortunately well it's just the first time and I wanted to leave this in the video just so you have an idea of everything that I did, everything that I included on my preparation work for this machine and then you can basically compare. There are some steps that you can fast forward and you just can follow the steps that you have in directly in the developers page but I wanted to add it all there and it seems that we are finished. It's opening the release notes. You can check them if you need to. Then we're going to go back here to our steps and what we're going to do is to look for the command prompt. In this case I'm going to run it as an administrator. There we go. Back to the root and at that point I can basically just paste, copy paste this git command and we're going to be able to see the version and you're going to be able to compare with what we have in our steps and figure out that while the installation went correct. In this case you can tell that the version is different that well they are updating constantly so that's not going to be a surprise. After this we're going to go for step number three. So install and configure the OpenShift gem. Since we already installed Ruby we can use the RubyGems package that is included in Ruby to install the OpenShift Client tools. Now you can tell that the only thing that we have to do is to execute this command that we can copy paste from here. So gem install RHC. So well that's basically what I'm going to do. I'm going to paste it here. Quite likely it's going to ask me some sort of permission. There you go. So I'm going to allow access and then the process is going to start. Show you and it may take a little bit. I'm going to allow the process to go and you are going to be able to see all the messages that we receive during the process. At this point the installation should be done and we should be ready to go. Also here at the bottom of the instructions you can see this video by Nic Harvey that is going to show you basically the entire process in like in around four minutes. And it's quite interesting because well it's going to get you ready in case that you forget some of the steps. You can just go back and check it quickly there. After all the tools have been installed correctly you just have to do an RHC setup. You see the command here. You just have to copy that into your command prompt and execute. Now I did try to do that on my Windows machine. You can see it here and it had an error. So at this point the setup is just supposed to ask you for your login and password and OpenShift Online. But I was getting this error so I did the logical thing and tried to look online to see what was going to be the solution for that. Basically the first thing that I found was this entry in the StackOverflow and it explains quite in detail what happened. But the reality is that you just have to copy paste this install and execute it and after that you can continue the process correctly like without any problem. So well let's do that. So let's paste then. Install the gem. It's going to take a couple of seconds. And fetch, parsing, installing and there you go. Now it is. Now since that is solved I should try again the setup. Right? So here we go. At this point you can just hit enter to use OpenShift Online and continue. So let's go back to the steps. You see that it's basically the next step. It's going to ask you for your user and password. So let's do then. Hit enter. I'm not going to set up my own server right now. I'm going to use just OpenShift Online server and there you go. It's going to ask me my login. So let's enter that. And my password that of course I'm not going to tell you what that is. You are then prompted to generate an authorization token. So at that point you can just say yes. And it's going to authorize that. And then you are going to, well obviously check what that is about. You can check the details here. So this is where the key should be created. This case is going to tell me that I should upload the key. So I'm going to say yes. It's going to ask me for a name for the key. I'm just going to press enter. That's going to be pretty much it. Now let's compare with our steps. This is basically what we should have at the end. And that's similar to what we have. I see that in my case I already had configured one domain. So that was going to be the next step that it was going to tell me like hey you need a domain. You can name it whatever you want. In my case I already had something else. But it's already telling me that my client has been configured. So that's really good. So at this point you should be able to create and manage applications using OpenShift. And the wizard should also show you some of the options that you have. Well if not you can see them here at the portal. And you can create your own application or you can do something like Node.js, PHP etc etc. So you just can copy those comments here on the comment prompt. And you should be able to do that. In the following video quite likely we're going to see how to create our first OpenShift online application. Or at the very least how to host a video game that was the original purpose of this series of videos. I hope that you like the video in the entire series and that you give me some of your feedback. So have a great day!


Hello, I'm Rohit Chatterjee and I will be presenting our work in crypto compact ring signatures from Learning with Errors. My co-authors are Sanjum Garg, Muhammad Hajiabadi, Dakshita Khurana, Shauli Ang, Julio Malavolta, Omkath Pandey and Sina Shihar. Let us start by defining compact ring signatures. We have a scenario where there are multiple users, each with their own public and signing keys, and one would like to sign on behalf of a ring with multiple users. Crucially, we require that the signature be generated without any prior setup or interaction with other users in the ring. We expect the signature to satisfy unforgability just as standard signatures, and anonymity, meaning that signatures should not reveal which user in the ring created them. We also want compactness, that is, the signature should have at most polyrhagorid size with respect to the quantity of users in the ring. There are the related notions of sub-linear and linear ring signatures which grow sub-linearly and linearly in the ring size respectively. Finally, ring signatures have been studied for a while and they have myriad applications such as authenticating data for visa blowers, which was the original motivation as well as more recent ones such as usage in cryptocurrencies to authenticate transactions. Ring signatures have been studied in the random oracle model, the CRS model and in the plain model, that is, without any modeling assumptions. All works mentioned here are compact or sub-linear ring signatures. However, there are earlier initial works that were linear. Recall that compact signatures grow polylogorhomically in the ring size, while sub-linear signatures grow sub-linearly. Off-note are the works by Malavolt and Schroeder who built a compact ring signature using a knowledge of exponent assumption. Bacchus, Hangelek and others who built a sub-linear ring signature based on pair rings and finally Bacchus, Totaling and others who give a compact ring signature based on pair rings, which is of closest interest to us. However, in work so far, there is no compact ring signature construction in the plain model instantiable solely from LWE. This brings us to the key question we address in this work, namely, can we build compact ring signatures from polynomially hard LWE? And in this work, we do show how to construct a compact ring signature scheme using components instantiable from polynomially hard LWE. So the answer is yes. Our construction builds upon the BDHKS framework. So let us take a brief look at their construction next. We start by describing the components they use. They use a public key encryption with additional properties, a standard signature scheme, a somewhere perfectly binding hash, which can be thought of as a variant of a Merkle tree, with stronger statistical properties that can be instantiated from FHE schemes. And finally, a non-interactive witness in distinguishable proof system, which can be based on a de-randomization assumption involving NP, by linear maps, or in distinguishability obfuscation. We can note here that the first two components can be obtained from a variety of standard assumptions, including LWE. Similarly, somewhere perfectly binding hash schemes can also be instantiated based on LWE via FHE schemes. Neve proofs, however, are instantiated in most cases from pairing based assumptions, which are known to be broken by efficient quantum attacks. So for our purposes, we're looking to replace the usage of neve proofs in the BDHKS construction. Let us now take a closer look at the actual construction. The components are as before. For setup, we pick signing and verification keys as follows. We sample signing and verification key for the standard signature scheme. We also sample a public key for encryption, that is, we sample it without a corresponding secret key. The encryption scheme allows this to be done indistinguishably. We will see why this is necessary soon. Finally, the overall verification key consists of the verification key for the signature scheme, along with the encryption public key. The corresponding signing key just has the ordinary signing key inside it. We next take a look at how to construct a simplified version of their signature. The public and signing keys are as described before. To sign a message M with respect to ring R, which contains our ring verification key VK, we first generate a hash key for the SPB hash. Next, we compress the ring R into a short digest H using the SPB hash. This can be thought of Merkel hashing the ring, and H can be thought of as the corresponding root. Next, we generate a signature using the signing key for the ordinary signing scheme. Finally, we encrypt the signature under the chosen public key. The ring signature consists of the encrypted signature, the hash key, and the Neve proof proving the following statement. The cipher text encrypts a valid signature under some verification key VK, and there exists an SPB opening, which is like a Merkel tree opening, showing that VK is consistent with the hash root H. Let us now look at the properties of this construction, starting with the size. The encrypted signature and hash key are unrelated to the ring size by default, and so do not grow with it. Turning to the proof, we note that firstly, the statement is small because the hash root H is compact, and then the witness is also small because the SPB opening, which is like the Merkel tree opening and is log size in the ring size, is compact. So we can conclude that the overall proof is compact. Therefore, the ring signature as constructed is also compact. Next, let us turn to inforgeability. Consider a successful ring signature forger. The crucial thing to note is that this forger is forced to either forge a signature sigma for the standard signature scheme or violate the soundness of the proof pi. Given this, it is easy to reduce to either the soundness of the Neve by just simply forwarding out the proof or inforgeability of the signature scheme. This can be done as follows. The reduction switches to a hybrid where it now has the secret keys for every encryption public key it generates. Note that from before, we can do this change in an indistinguishable manner because of the properties of the encryption scheme. Now it can extract the signature by trying to decrypt by using each secret key in turn and picking the right one. The resulting signature it obtains will be a forgery for the originary signature scheme. To show an anonymity, we rely on the wi property of the proof. Recall that anonymity requires that we cannot tell which user in the ring actually created a particular signature. We do this by gradually modifying the signature using a sequence of hybrids, moving from a signature signed under one particular key, say vk0 to another, say vk1, where both of these keys are in the ring. Basically, the signature uses another dummy block or another encrypted signature and hash key pair. To show an anonymity, we switch gradually from the dummy block to one using vk1. Then we switch the proof to now using this block. And next, we switch out the original block, which was using vk0 to now also use vk1. Finally, we switch back to the original block for proving the proof and then turn the alternate block into a dummy block back again. Note that this now looks like a legitimate signature using vk1 and has no trace of the key vk0. And this suffices to show anonymity. As a side note, we use a strong security notion for anonymity where the randomness for key generation is provided to the adversary for every party in the ring. This is the reason we normally generate public keys without a corresponding secret key because if the adversary could obtain the secret keys using the randomness, then it would trivially compromise anonymity. Now that we have summarized the BDHKS construction, let us see how we can replace the Neve proof. We begin by using an observation from Bender, Katz, and Morsely, where instead of using a Neve, we try to use a specific two round WI argument or a zap, which has a public coin first message. The idea is simple. Instead of using the Neve, we place the zap first round message in the public key vk and use the second round response in place of the Neve proof in the ring signature to prove our statement. This seems to work, except that using the first message from the signer's own verification key may violate anonymity trivially. So instead, we use the first message from the lexicographically smallest verification key in the ring. It seems now that we would essentially be done if we could build zaps from LWE. And in fact, there is a rich and recent line of works that constructs zaps just from LWE. However, all of these works crucially require sub-exponential hardness from the LWE assumption. This is specifically to show soundness where these works all utilize some form of complexity leveraging type techniques, and we will elaborate on this later. We have, in fact, no zap constructions that can be instantiated from just polynomially hard LWE. The key observation for our construction is that we only really need a zap that captures NP-intersection co-NP languages. This is due to the nature of the unforgability reduction, which we show allows some extra leverage for proving soundness. Basically, the prover can only cheat in one of two ways, either using a malformed encryption or encrypting an actual forgery. We show that in either case, we can construct a short non-witness or proof of the forger's cheating and use it as leverage while proving soundness. This will make it so that having a zap system for NP-intersection co-NP languages is enough for us to satisfy ring signature construction. We'll not discuss this further in this presentation, but rather focus on describing how to construct our new zap scheme for NP-intersection co-NP from LWE-based components. To construct this zap, we will imply the recently popular framework of using correlation intractable hash functions to compress sigma protocols in the plain model. This just takes a sigma protocol and creates a non-interactive proof where the verifier's response is simply the output of a randomly chosen hash function on the first message. These CI hash functions can be constructed from LWE, and this approach has helped in constructing both zaps and nizics from LWE. In our case, in particular, we will only show soundness of our construction for languages in NP-intersection co-NP, and our key ingredient for this will be a commitment scheme that is extractable given a non-witness. We now describe these components in a little more detail. Traptor sigma protocols are also general sigma protocols satisfying both honest verifier's zero knowledge and special soundness. Further, they also satisfy the following traptor property relating to the bad challenge function for the protocol. Recall that the bad challenge function is defined by the unique verifier response given a prover's first message that allows the prover to provide a successful proof for a false statement. The traptor property is as follows. The bad challenge for the verifier is efficiently computable given the prover's first message C. In fact, the commitment scheme used by the prover in the first round message is actually extractable, and the bad challenge function can use an extraction traptor for this commitment scheme to recover the prover's secret. Correlation intractable hash functions are used to instantiate the fiat-chamade transform. Essentially, this allows any efficient adversary to plant pre-computed correlations between the input-output pairs for the hash function. In more detail, for a given circuit class, a hash family h is correlation intractable with respect to this class. If for any circuit C from this class, given a uniformly chosen hash key, k, an efficient adversary cannot find an input x such that the hash with this key on input x, output C of x. We briefly discuss how the CI hash property helps with fiat-chamade compression. Any cheating prover that wants to break soundness has to find the first message, such that the hash of it evaluates to the bad challenge. However, if we pick the hash function from a family that is correlation intractable against this bad challenge function, this is not possible, and so we obtain a contradiction. This implies that our compressed protocol must indeed be sound. We briefly discuss why previous ZAP schemes required sub-exponential hardness from LWE. For concreteness, we use the construction by Lombardi, Vacodinathan, and Vix from 2019. Here, the verifier and prover each pick a public key pk and pkprime respectively. The verifier sends its public key along with an honestly chosen hash function from the CI hash family in the ZAP first message. The prover now uses the encryption scheme in lieu of the first round commitment in the compressed sigma protocol. It sets the public key for this encryption to be pkexort with pkprime. Now the extraction trapdoor for this encryption is simply the corresponding secret key for pkexort with pkprime, and so crucially it depends on the choice of pkprime. This implies that the bad challenge function also depends on the choice of pkprime because it needs to decrypt the first round message and obtain alpha. So essentially the only thing that the verifier can do is use complexity leveraging to brute force or guess this value of pkprime. And essentially this necessitates using sub-exponential hardness of the LWE assumption, otherwise we cannot do complexity leveraging. This shows us that we need sub-exponential hardness of LWE to show soundness in this template. We now come to our ZAP construction for np intersection co-np. Our construction uses a special two round commitment scheme with the following properties. The first round commitment message takes an arbitrary string t as input. The second round commitment message takes the committed value and an associated instance x as input. Crucially we use the commitment scheme with respect to the language l complement which is also an empty language by assumption. The property that we want is extractability when the instance x is not in l that is. We want the committed value to be extractable when x is in l complement. The protocol now works as follows. The verifier's first message consists of the first commitment message with respect to a random string t and also a hash function h that is correlation intractable against the bad challenge function as mentioned before. The prover's message in turn has the second commitment message which uses alpha as the committed value and x as the associated instance as well as the sigma protocol transcript compressed with the hash function h. We will next describe our special commitment scheme. We call our commitments fitness extractable commitments. As discussed this is two rounds and is defined with respect to an np language. Here we will denote the language by l complement for the sake of continuity. The commitment has the following properties. If the encoded string in the first round is a witness for x being in l complement then the receiver can extract the committed value alpha. Conversely if this is not the case then alpha is in fact statistically hidden from the receiver. We build this commitment scheme by using malicious circuit private FHE which is known from polynomially hard LWE. This construction has a property that the commitment size is decoupled from the size of the related np verified circuit for the associated language and depends only on its depth. This property turns out to help us with the compactness of our ring signature construction. We also construct a witness extractable commitment without this property using OT and garbled circuits. Our commitments are constructed as follows. The receiver encrypts its input which is a potential non-witness using the FHE scheme and sends this as the first message. The committer now evaluates a circuit G homomorphically over this cipher text where G has the instance and committed value hardwired and simply computes our desired functionality namely it outputs the committed bit if the receiver cipher text is indeed an encrypted non-witness and zero otherwise. That is all that we need. We quickly go over how this construction satisfies all the stated properties. Compactness follows from that of the FHE scheme. The evaluated cipher text depends only on the depth of G and not its size and this is guaranteed by the properties of the FHE. Extractability follows simply by the correctness of the evaluation procedure. If the receiver encrypts a non-witness then it also obtains the bit committed by the committer and finally hiding follows from the malicious circuit privacy of the FHE scheme. Note here that the receiver has full control over the generation of the encryption keys and the cipher text. In particular it could be generating these maliciously. Malicious circuit privacy of the FHE scheme provides the exact guarantee that we want namely that even in this case the evaluated cipher text computing G homomorphically reveals only the correct output and nothing beyond it. In particular if X is not in L bar nothing is revealed because no string can serve as the non-witness. This gives us all the properties that we want. Finally we briefly discuss how the properties of the commitment are used in our ZAP protocol. To show witness indistinguishability we note that there is no non-witness for the verifier to use in the commitment. Thus no matter what string T the verifier may use in the first round commitment message the value alpha is statistically hidden. This allows us to then use the honest verifier zero-knowledge simulator for the sigma protocol to show witness indistinguishability. In turn consider a cheating prover trying to violate soundness. We can build a soundness reduction that works as follows. This first switches the first commitment message to an encoding of a non-witness for the prover statement and this will allow the reduction to extract alpha. And this value can then be used to break the CI property if the prover is successful. Thus we have all the properties that we want from our ZAP scheme. This brings me to the end of my presentation and I would like to thank you for your time and attention. I invite you to look at the full version of our paper which is up on the e-print at the following link and to ask us any questions you may have in the live session at crypto. Thank you.


I believe he'd be interested Now he's also in negotiations with Michigan. So is his interest in the NFL kind of being like Michigan I'd be you know, I can't remember a situation where there's been so much stuff coming from Slap the Harbaugh side slash Michigan side talk about NFL interest. It makes me wonder if it's on purpose Whoa, no No, I don't think somebody would maybe leak some information to us insider to create leverage


Welcome to InterGeoDigital 2020. Discover, learn and connect will be in the focus for you during these event days.   This is new in the world of online trade fairs and conferences, so join the InterGeoExpoLounge live at any time and join us for interviews with exhibitors, industry experts, opinion leaders and for innovation presentations. Or you can enter the 3-day InterGeo conference. Around 100 speakers, lectures and sessions will report on the contribution Geodesy and GeoInformation are making to climate protection, the digitalization of the construction industry and the resilience of cities and many more. You can enter the conference with a valid ticket at any time. If you're looking for innovations, solutions and presentations by the exhibitors, join the Discover area. The field of innovation leaders presenting new products at the digital trade fair is large. The Expo is ready to be discovered by you. You can always talk to each other via the video rooms. Stages on the topics GeoInnovations, SmartCity and Drones are filled with practical lectures, discussions and presentations, experience inspiring and highly interesting presentations live every day at the Expo stage. And networking is everything. So let's connect, meet each other, network, exchange ideas and communicate in InterGeo's messaging service and it will automatically appear in the social feed. In your profile you can edit and change all relevant information about you. It is important that you use the text so our system can match your interests with the offer and solutions provided. And whenever you have questions or you don't know what to do, we are here for you at the Welcome Desk. We wish you a great time here at the First Digital InterGeo.


All right. Chris and Tom, it looks like we are live now. Okay. We'll give a couple of minutes to see if our wayward council member finds his way in. Up there he is. He popped up as a guest. There we go. If it's going to happen to anybody, it's going to happen to me. Well, I'm glad you're in the meeting or is everybody ready to get rolling? I think so. Okay. Let's go ahead and call the roll. All right. Chair Rogers. Here. Member Schwatt home. Here. Member Sawyer. Here. Let the order reflect that all subcommittee members are present. Okay. Let me. Sorry, my agenda is actually loading one second. Okay. Let's go ahead and start with public comments for non agenda items. For folks who are in the meeting, if you have a public comment that you'd like to make, go ahead and hit the raise hand feature on zoom. Typically in the bottom right corner of the screen. All right. I'm not seeing any. Did we have any recorded voicemail public comments for today's meeting? Okay. Great to know. We'll move on to item number three approval of the minutes. I know at least council member Sawyer was able to open finally, November 12 minutes. We heard about that earlier, John. Were there any changes that either of you had for the minutes? No. Okay. Great. Then we'll show those as adopted. Or adopted as presented. Item number four. City operations and maintenance budget. I'm going to be turning it over to. Jan Mazik. Jan's are newly minted chief financial officer. And we're really excited to have a. Jan on board. And I would just like to thank her for all the work she's done to date and actually thank Allen for all the work he did. As the interim chief financial officer. Thank you for joining the team, Santa Rosa. And you're going to be very impressed council members. Good afternoon, mayor council members. I am delighted to be here and nice to meet all of you. And I'll look forward to meeting you in person at some time. I think the goal of today is really to provide two things. One is a snapshot. Of where the city ended its mid year. In December. And begin the dialogue as to, you know, short and medium term strategies. Financial and operating strategies. That may frame our outlook ahead of next week's. Goal setting process. And so Alan will deliver the presentation. And so at this point I'll turn it over to him.  Thanks. All right. Good. He's going up. Next slide, please. And let's Jan's already covered this mostly. So let's hop into the next slide. So these are our. A lot of these are what we went over on Tuesday. We wanted to, we wanted to, we wanted to set the context for the further conversation that we would have. At the end of the presentation. So. And then if there's any questions that come up from this, that maybe you thought about since Tuesday, we're here to answer those as well. But as you recall, these are, are baseline. Forecast. So, the top one shows where we were forecasting in April of 2020, when we, when we called management partners in to help us look on how the COVID-19 potential recession would affect us and loss of revenues and all that. And we also, they were also looking at it in terms of the. We were also looking at, we were looking at hiring sales tax measures that would start in. Fiscal year 25 through 27. So then the council made some adjustments during that budget process. And one of which was to. Maintain a general fund vacancy. And also to return some unused project dollars in the general fund back to the general fund reserves. Those were meant to be short time measures to bring our reserves back to some sort of comfort level, knowing that we were going to need to draw down greatly from the reserves in order to pass the current year budget. Next slide, please. So one of the things from, that we showed yesterday and the management partners went through in greater detail back in September were four scenarios that they had. Again, they had three main assumptions that the vacancy amount would be there that those $10 million of reserves would stay in the end to sign reserves and that we would renew all three tax measures. And then they developed some other scenarios based on the use of or potential use of PG and E dollars to augment the 10 million that already was brought back to the, to the reserves. And in doing so, it would provide some time to allow us to kind of write the ship, if you will. Otherwise you're looking at cuts immediately. And so this is where we were, we would have if, if we use at the time $30 million at the PG and E money, there would be no immediate budget reductions needed. And no immediate ones needed. But then as we moved down that level from 20 to 10 to none of the PG and E money, there is cuts that would need to happen starting at $1.5 million in this next fiscal year. So fiscal year 21 22 all the way down to, it was $8 million in 21 22. If we use none of the PG and E dollars. Next slide please. And so I think what this illustrates is that is that your were clearly did not want to use PG and E dollars for ongoing. But what you, what we were looking at was a way to kind of shore up the problem and allow us to come up with a strategy to react to this. And, and, you know, obviously if we needed to cut $8 million in a year, it's going to have a pretty significant jewel to the operation or to the organization. Next slide please. So, you know, one of the things that I talked about on Tuesday is, so here we are in the year, how do we look? And as I mentioned, we, we did dip into a reserves. The costs that we needed to provide upfront for COVID relief, especially for our homeless community was obviously a lot greater than what we expected. And, and there were other needs that we pulled out of reserves to the tune of 8.7 million dollars. And then what we found is that while we were maintaining our $5 million of permanent salary vacancies in the general fund, unfortunately operating needs and, you know, the glass fire other emergency events that we just seem to not be able to shake, also aid into that because we needed to do more overtime and, and that of course would, as we project out, would eat into that salary savings. So just to kind of illustrate that I didn't do it on Tuesday, but just to keep in the back of your mind is we look at just the straight overtime, not the strike team overtime or the other ones like that holiday overtime, but just your straight overtime. The general fund was at about, had spent about 87% of its budget by the end of December. So you can guess that there's not a good likelihood. In fact, actually we had that atmospheric river come through us, which was an EOC activation. And that probably drew some more overtime as well. I know the fire department of staff, a lot of that comes off of overtime. So the odds that we are going to be able to maintain our overtime budget through the end of this fiscal year are non-existent. We will blow past that. And that is why that's how we're getting our estimates that you're going to eat into that salary savings. Alan, can I, you know, I need to interrupt you just for a second. And I, I missed this. I wanted to mention that the other night, but I thought it was probably better left to the subcommittee. Could you go back to the slide, the prior slide, just the one right above this one. See in the comment under the 10 million of the 95 million trade off is that higher PG knee use reduces level of cuts. Yeah. And I just, I know it's, it's, it's, it seems simple. But it, I was confused. So how does using more PG knee reduce the level of cuts? So. Yeah. If you could just add. Fund in there. Yeah. If, if anyone were to read that, like I was reading it, they would be confused. So I just, I know it's, it's a, it's a simple thing, but if you could do that, I appreciate it. I think we'll call it settlement. We'll call it settlement. However you can get that word in there would be great. Forgive our shorthand on that. No problem. Thank you. Sorry to interrupt. All right. So, So. On the positive side, we were in November able to. Extend two of our quarters and sales tax. Taxes. For 10 years. So that is a, a good thing. We still have the public safety. Special tax that will expire in. 2025. Yeah. 2025. And. Right now the, I believe the long range forecast. Has the assumption that if that. That if, that if that tax isn't extended. That those costs would go into the general fund. It's just an assumption that we have in there. We can talk more about that on March 11th, when management partners is here to go through the long range forecast and that we can get into what that looks in terms of an ongoing assumption. Next slide, please. So, and again, just briefly. What we wanted to do was illustrate some of the, some of the things that pop up that, that. Effect on reserves. In a given year. And, and like I said before, our given years are turning to be more. You know, regular, unfortunately, but. We knew that we were going to pull down money from reserves. To plug the gap in our structural deficit. But then on top of it, we had. You know, what is that about. 9.2 million dollars that we pulled pulled out of. The reserves for both COVID response and class fire response. So. So anyway, that is, so what it does is it just exacerbates the problem that we have going through. And it makes it. More difficult. To address the next year because the structural deficit still exists. And we're running out of them. The funds that we can use to plug it. And Alan, I apologize to jump in and interrupt. You, you have on this slide. 9.2 million used from the reserves due to the glass wire and COVID. Earlier. It said due to COVID, it was 8.7 million. Was used. Is this, is this a more updated one or was the 8.7? What we think is reimbursable. 8.7 was. Was more of a. Of a total cost. So that's, that is a response that includes existing appropriations. Okay. Impacts to those. This is specifically what we pulled out of. Of reserves. So the 8.7. Was largely allocated and then on top of the 8.7. Was 9.2 or there's overlap between those two figures. The overlap would be 8.7 is the total amount of the impact for COVID. 7.4 of it. We had to pull out of reserves. Thank you. That was allocated. Great. Thank you. All right. Next slide, please. So then this gets us to our, our reserves as, as we are seeing it. From where we began the fiscal year or where we ended last fiscal year. At $23.8 million in reserves or $2 million under our, our policy mandate. We pulled money out. Including the, the 18. The 8.7 that came out. And then you have. Some turn back coming back. And again, that is. The, what we are thinking that might be. What is left of the $5 million of salary savings. There are some funds that we set aside. And in case we. That we didn't need to use because. We extended all the contracts without. Increases. Due to the uncertainty of where we were with COVID. And then we're, we're thinking that as a total amount, and I know we talked about this a little bit on Tuesday, but as a total. General fund revenue. Bolstered by where we think there might be some more. More positive. Revenue coming in on sales tax. Our property tax being strong. That we think that we might right now we're projecting. That we could have $3 million more than what we estimated. So when we do the math on that, we're left with about $5 million in reserve. Again, it's a mid year projecting out to the end of the year. Basically the way that we do that is that we assume the budget or the expenditures are going to equal budget. Unless we can tell for sure that we're going to go over in a certain area. So like I said, the overtime, we know that that's going to go over budget. So we're going to go over budget. So we can kind of figure that in, but for the most part, we, we would do any projections of reserves. On a mid year on a budget basis. So that's what you have there. Next slide, please. So in here, you know, where we've kind of had it as part of an overall. Use. Of PG and E money to stabilize the organization. Here we're, what we're basically saying is that it is, it is very important that we use that. In order to essentially balance our budget. For fiscal year. 21 22. And I think, I think the next side is when Jan will come up with a, and she's going to talk about where we kind of go from there. We have a very. Strong. Philosophy and drive in our finance department. Those aren't the greatest choices of words, but anyway, we, we know that, that whatever we use to plug a gap, it's got to be, you know, one time use. So we have a dire need for money to come in to plug that gap and reserves to allow us to pass our budget. That is it. We need to make changes during the year. That makes it to where we don't have to rely on anything like that. This is supposed to be emergency need. But with that, we're looking at $40 million. That's the aggregate of the 30 million that management partners. Had in September. Plus the around almost $10 million that we've pulled out through the first half of this year. Kind of gets to the 40 million. Obviously, if not all of that is needed, you know, that it kind of, it's still in that, that can go back into the pot for other community needs. But this is what our estimate is at this point. So it's kind of a starting place. And like I said, in March 11 management partners will be back. They'll have a revised. Long range forecast based on mid year amounts. And they may have a different outlook. So. Next slide. And I believe yes. And so with this one here, looking at our strategies. Let's have Jan come in and kind of take us to the end. You know, before I delve into either the short term or medium term strategies, it probably would be helpful for me just to sort of paint a broader perspective. So I think luckily. After I'd been at the city for a week. I really had to take a deep dive into. Financial. Into prior budget performance and come up with an assessment of where just from my view. Where I thought we were. And to provide a little bit broader perspective on what I'm going to talk about. You know, one of the things that I really heavily rely on is what does historical data look like? Because historical data. Frequently is indicative of future performance and puts information in context. Meaning. What trends are we on? Are they upward downward or fluctuating? And. And so. I mean, I took away my own perspectives of where I thought trends were, were headed.  The fires. There were certain emergent trends. That were present. If you go, if you went back. And said, look, looked at five, six years ago and what that. Sort of. What that pretended, if you will. And so even then, you know, there were divergent streams of revenues and expenditures. Expenditures were trending up. Revenues were trending downward. And so it probably would be helpful to talk about financial condition a little bit. And financial condition in, whether it be Santa Rosa or other governments in California and frankly, in other places around the world. Is impacted by a number of factors. It's impacted by. Environmental. Fiscal. Organizational. Policies decisions and actions. And the results of all of those show up in a variety of ways. Whether it be both budget balance and challenges, service levels, susceptibility to other socioeconomic forces, adjustments to those forces, as well as demographic changes. And business cycle impacts. And I think you can see. Examples of all of those. In the city. And while we may address each of those issues. Very differently. And individually, they really all converge. Financially. And I think, as I said, we see those evidence, those evident forces already at play in Santa Rosa. But with that in mind. I think it will be important to strengthen. You know, budgetary fiscal and financial practices. With the intent that those practices enable the ability to for stronger execution of priorities. Across city departments. I think what that means is it means. You know, rebuilding reserves, balancing, recurring expenditures from recurring revenues. Rather than one-time revenues. Providing. Timely information, meaning the finance department. To be used for decision making. Meaning that we have, we're afforded the opportunity to make some. Express decisions. Meaning. Are we going to stay the course? Or do we need to take corrective action? And I think the mid-year. Going forward is what we should see what we should do. At this point in time. Next year.  It's going to take a little bit of time. It's going to take a little bit of effort, but I do think there are some short-term. And immediate strategy. And I think we should see what we should do. But I do think there are some short-term. And immediate strategies that we should think about. Whether it's repatriating revenues. A commitment to how we balance expenditures. I think the cost structure. That we currently have is really unaffordable. And untenable over the longer term. I think as we think about how we use the other PG&E monies. You know, I. I think we should see. Criteria require criteria and quantitative supporting analysis. That matches with the project. So whether it be we consider, whether it is we're considering one of two choices. Or alternative choices. That's one set of analysis. If we're thinking, for instance, of the fire station, we should think about the operating side of the business. And we should think. Somewhere in the prioritization, how those funds get used. You know, I think should be based on highest and best use. And then. I think on the operating side of the business. I think we need to, you know. Think about what corrective measures look like, whether it be, do we need to reestablish a budget baseline?  So that we can make some short-handed, some shorthand decisions. Revenue stress testing under certain scenarios, whether it be 5%, 10% or some other percentage. You know, what does revenue performance. You know, look like under different scenarios. One of the things I think you should expect. And I would. I'm committed to doing that. And I think one of the things that I think is, is that we have, you know, periodic financial assessment that is aligned with the health and the needs of the city. You know, I've also spent some time speaking with management partners and talking about their views on some of these issues. And realizing that in the state of California. And I think the only sustainability we get on that end relates to, you know, assessment of our own tax and fee policies as they're more likely to be sustainable than anything else. I think we do other things that, you know, augment how we make decisions about spending. Constant examination, obviously of a spending plans. You know, looking at. Fleet capital replacement. How we replace, you know, other assets, how we keep our assets, you know, in good repair. You know, and how we root nice other work are their technologies. For instance, we ought to be taking advantage of post COVID. And how do we make those investments on an ongoing basis? You know, I think, you know, this isn't, this isn't a decision to be made today or probably even in goal setting, but just, I think, in terms of thinking about some of the things we should think about one immediately, meaning in the current budget year and then looking forward. Medium term. And I see the city manager and with that, I'll turn it over to him. I think this should be refreshing news for the three of you. I think this is the sort of work that you've been looking to do in this committee. I think it's going to change significantly what we're bringing to you. So you're hearing that there's going to be a more regularized report out on the fiscal condition. What we're going to need assistance with with your colleagues is understanding that we need to address that structural issue. And that structural issue is going to be difficult because there are, and there are revenue ways to address it, but going back to some of the conversations we've talked about before about policy driven decision making that sets criteria that looks at the health of our revenues and looks at the condition and the needs around of our expenditures. So I think, I think to me, this is exactly where we need to go. I think it's the message that I've heard repeatedly from this group, which hasn't changed substantially over the period of time. Most of you have participated over the last few years. And I'm really excited about Jan bringing that kind of discipline to us and us figuring out how we bring that discipline to the entire organization and into your colleagues on the council, because it is going to be a significant change. We've gotten in a habit that was also continued by the needing to shore us up during emergencies of not thinking in those terms. And we really have to start thinking in those terms for the longterm health and actually being able to write the ship so that we can do additional work in the community. So I think it's, to me, it's really refreshing. It's going to be changed. It's going to change the dynamic in this room. And I know staff is excited about it. It's probably going to be change in our basic processes around how we build a budget moving forward. So I'm excited to get started. I think this was a preview of that. You're going to get some more work. And I'm hoping that work matches up that we don't have any more emergencies between now and the beginning of the budget cycle. So we can synchronize the conversation with this group with the larger budget questions, right? So that, so that, that really the work we're doing supports that. And you can help us make sure that the community and the, the council understands this work that, that's taking place in this committee. And we're, we're open for questions. I don't think there's, Jan, is that the conclusion of the presentation? Yes, it is. I appreciate your comments, Mr. City manager. And to your point that you were making that is why I kept this committee the same. From last year going forward is, I do know from having conversations with both of the other council members that we all do have a very similar philosophy on, on writing the ship. And in fact, that's a lot of my, my notes and questions that we'll get to Jan. If you don't mind. I did want to, I see council member Sawyer has unmuted. And so I'll go to him first. And then I'll come to council members wet helm. And then I've got a couple of additional questions. Thank you, mayor. And it's what I hope is a fairly simple question. I am excited about the changes in, in how we, how we function, not only as a, as a subcommittee, but, but as a, but as, as a council as well, it will, it will force us to behave differently. What I hear you saying in this tense, and please correct me if I'm wrong, that we will actually be able to use some form of litmus test when making expenditure decisions. I think that. It will help prioritize. I think that more rigorous analyses will help in the prioritization of decisions. You know, use of finite resources, and, and I think that's a really important thing. And I think that's what we need to make sure that all of the. Cash and budget are. And I think that really is the goal, you know, what can we get done? Is it affordable? Is it doable? But I think the inf, I think the sort of analysis that one gets should be helpful. In framing of the decision. and we'll come up with a budget.  And unless there are emergency things, sometimes I think there's a tendency for council to spend money that it doesn't have and or that it wasn't planning on spending in the first place. And being how to keep that reality in front of the council throughout the year is challenging because the community comes forward and what sounds like relatively small amounts of money that were unexpected and unbudgeted when they come up throughout the year, it can add up quickly. And so what concerns me sometimes is that we end up spending fairly reasonably large sums of money that once added up throughout the year that we had not really planned on spending. And being able to keep that reality of fiscal being fiscally responsible in front of the council on a fairly regular basis, well, I think it will help with that. And it's kind of a constant reminder that this action that you're about to take is going to cost X number of dollars potentially. And that is going to compromise your ability to do other certain things that you actually budgeted for and now you're changing your mind in the middle of the game. It's those kinds of expenditures that tend to concern me throughout the year after our budget exercise. I can certainly appreciate that.  You know, if we all gave what you wanted the budget process to be is a well thought out business plan for the departments for each year. But that planning has to take place in front of the budget process. And the budget really should reflect, you know what that work plan is for the year. I think if that is done, that will help that won't solve everything but I think it will be helpful. And I don't know that budgets frequently get put together with that sort of precision that one might like them to have but I think that's part of the answer but I think part of the other answer is, you know when people come to the council, I mean I think it should be framed they should be able to frame, hey, what are my alternative funding sources? Have you sort of worked this out in the departments with the city manager, with the CFO or the budget manager, you know, whomever? And you know, it shouldn't sort of be here's what we're gonna do and it sort of puts people on the spot of having now to go back and sort of sort through that. So I think, I mean it's probably not a straightforward answer. I think it's a combination of things but I also think it's sort of practice that, you know, certainly habits we need to do a little bit differently and I would, you know, venture that it's probably all of the above but I mean, I'm really a big believer that, you know, whatever the spending priorities of the city council is for the year and the budgets really ought to reflect that and a plan for execution and then, you know, at the end of the fiscal year we ought to be talking about, hey did we accomplish what we set out to accomplish? Why didn't we? And, you know, have that discussion and you know, it can't always be about something else came up if you've given a lot of thought a forefront. So those are my thoughts on it. Thank you, I appreciate that. Council Member Svetham. Thank you, Mr. Mayor. Thank you, Jan, for this presentation for your comments, Mr. City Manager and Shawnee did hit the nail in the head. This is music to my ears, what I'm looking for. And the one challenge to go along with what Mr. Sawyer just brought up sometimes we're our own worst enemy. And when I'm saying we it's the seven of us sitting on council because I can count probably the last three council meetings we approved over a half million bucks worth of things that didn't fit in any budget. And there's always that little line that I know the city manager and staff puts in there this is coming from the general fund reserve. And I'm just wondering if they're, you know Mr. City Manager, if we could highlight that put some flashing stars on it is that we did not talk about this and there's a consequence for that. Cause I know I frequently said to the Mr. City Manager if we being council asked you to do something that isn't on that priority list it's gotta have an impact, Jan. And that's what I heard you talking about it's an impact to the budget or the workload priority of our staff. And I think sometimes council, especially live we act like whether or not it's funny money but here's a compelling reason to get it but if we take these individually versus what you're talking about the budget process as a whole we need to have our systems down pat and recognize that if we change this process you know, we'll see what goes on in the 18th to 19th that should really be our roadmap moving into the future. And I do appreciate and I really don't have any other questions I'm just affirming that I like this process and I am interested in getting more feedback or more meetings of this group. And then the three of us can report out at council we've got this process we need to be on the same page because if we start, you know if four of us decide to go one direction I get the position the city managers in I can count to four out of seven means we're going in that direction and we have to I think recognize and honor the process that we've all agreed to during these financially challenging times. So sorry, Chris, no questions just kind of editorializing. No, no, that's totally fine. I do have some questions, Jan and Alan because I know Alan you've been doing a lot of the pre-work on this and to council member Swett Helms point I did want to verify the 1.2 million that we're expecting for Cahoots that's not allocated anywhere in the budget, correct? That that would come out of the reserves or it would come out of the next year's budget we'd have to find that 1.2 million. So as I think this is what Jan's so what we need to have as a process where we do the analysis, right? I think sometimes we get into a question about where the funding located and we haven't gone back and done the business analysis that we need to do to set the framework. So we get caught up in where is that coming from as opposed to getting the direction and having a process that allows us to address it. So we may come, we may come I understand. Yeah, but it's not, but right now I would say there are, that's what we're doing is we're trying to do the business analysis on the program so that we can understand where it fits because there may be the public just one we know there are public members who just say either make it come from the police budget or don't add to the police budget. We got to do the business analysis on the product so that we can assign it to a place in the budget. So I'm gonna say it could come from right now traditionally what we've done is exactly what you said go to reserves, move it from reserves. We're talking about a business planning process that may come back with a different answer than the one you've just asked. Yeah, and I can appreciate that. My question is until we have this process in place is it gonna continue to operate the way that it has in the short term? Alter change takes time. So we're talking about business modeling. So that's why we got to use some of this to make some of the changes now but it is going to be an ongoing process to make change. Okay. Go ahead, Alan. Well, just to kind of on the where the money is we did when we brought police down to baseline we did put that aside. So that's about 900,000 of whatever. And so that is something that wouldn't need to be pulled directly out of reserves that would be there for. Again, Alan slipping back into the old model what I think we need to do is have here's where we wanna go as an organization how do we structure our business to meet the need? And so that's why it's a longer event horizon to do budget processes as Jan said it takes more time because you have to start building that work upfront. Our traditional answer is we set this money aside we've gone here, we've gone here and it starts to get us into fiscal issues long term. If the challenge is how do we integrate this service? And again, I think this is why questions about what calls for service come from what are we driving? What costs we're doing? I will tell you this is also the exact conversation I had with the team on homelessness right now about the study session. We're gonna have to change how we look at data and how we look at business planning to address these issues which I think will help some folks but that doesn't happen overnight because we've got a system that I'm sure the former chief can tell you doesn't necessarily work that way. It may work in some departments that way but this is an organizational change and that's why we're saying we're gonna need your help to reinforce that organizational change because we're so locked into that pattern of exactly that question, Mayor. Okay, I appreciate that. So looking at current budget and Jan will get to future, looking at current budget, I am breaking it up into two different categories and I appreciated the way that you talked about this. One is the ongoing sustainability of your operational budget dollars in dollars out and then the other is how to utilize your one time dollars as well as your reserves needing to maintain and build back up your reserves. So there is potential for the federal dollars. How does that calculus change the request from finance of the 40 million from the PG&E settlement funds? So the city manager is gonna say not at all because we don't know the details of the federal requirement. We have to know what the details on the federal requirement are. Then we can bring that question back to this group about where the change should be. But right now we don't know what the requirements are and what the agencies are gonna require. There are questions about whether it can even be spent on things such as investments in communities. Those are real questions, right? So we all know the federal, the devil's in the details with the federal government. I'm hoping to get some more certainty on that front going into goal setting, but until we know it we're gonna have to say money's coming but what are the restrictions and then we're gonna have to come back and have that conversation. It is speculative. And I'm glad that that's the answer that you gave because what I'm worried is going to happen is as we start to see in the press 35 million, 34 million whatever it's gonna be coming to Santa Rosa I don't wanna commit the false expectation to the public that what we've said is that the 40 million from PG&E is now back on the table. And you all know what's gonna happen is even if that's ends up being the number it's gonna have to go to treasury and then treasury is gonna have to determine how quickly it goes out the door. No matter what the 60 day turnaround is what the reality is is gonna be very different than what the directive is, right? And so even in the timing it's gonna be a question what even once we know the rules there's gonna be some real questions about timing. Okay, and then Alan I asked you the other night and I do think it's something that I'd like to discuss here at some point and Mr. City Manager of what is the expected return for reimbursements for all of the different disasters that we've front-loaded and I understanding we're talking about a five, 10 year horizon for some of that reimbursement to come back to the city. I'm sure John thought in 2008 man 10 years from now it's gonna be so much easier for people to budget and I'm sure thinking about how much we've expended and knowing some of that will come back and go appropriately back into the reserves I think is gonna be a conversation that I'm interested in having. Again, divorced from the conversation about your ongoing budget, your ongoing revenues that's coming back to us as a one-time fund that can go into our reserves and help build that. So I'm interested to see what that number might look like. And I think we're gonna start to get it. That's one of the assignments that I've asked Jan and Alan and Jason to take a closer look at. We'll make a pass at that on the 23rd I think there's an update coming. But again, one of our education points is gonna be that the timing on that is incredibly speculative. Right, right. That the timing is, that's where the unknown lies in all of these questions. Yeah, I don't see that as something that today we'd use to project out any types of changes in our one-time funding. To me, that's one of the wildcards to John's point mid-year adjustments that could come in that we'd be discussing at the point that those dollars come in kind of a thing not necessarily to be spent, but in anticipation as they come in surprise dollars which are always a good thing. Yes. Yeah. Jan, my understanding is that property taxes typically lag about two years behind sales tax when there's a shift in the economics that in recessions usually they're about two years behind. I heard Alan say that we actually think we might be 3 million ahead going in this year from what we actually budgeted or expected. Should we also start to prepare to see that dip in the next couple of years or is the COVID crisis so far what you're seeing from other jurisdictions not impacting property values? Do you want me to take that one, Jan? We're not seeing it impacting other jurisdictions right now. A lot of the things that happened in the last recession so far aren't turning up. However, there is concern over, depending on what relief comes for people to help with mortgages, obviously that's gonna be a thing that you're gonna wanna look at and all that to try to project out into the future. But right now what we're seeing is that for the most part, property values are staying high. Building activity outside of COVID when they're allowed to do it, it seems to be going well. People are doing work around the house. Interest rates are low, so I think they are taking advantage of that. So for the near term, we're not seeing it, but obviously we are always looking. I think one of the forums that we went to, the Sonoma County ones is that you always keep an eye on building permits and when you see those things starting to trend downward, that's when you start getting worried because now you're seeing a stall. We just haven't quite seen that where I would be really concerned right now. Okay, great. And then my last question is about pensions and on two fronts, one is for this year's budget, what I know each year sort of we see an additional obligation on the city to increase costs. What are we projecting the increase is coming into this next year? And Jan, you coming in and taking a look, I'm sure, what can you give us your thoughts on sort of long-term how we meet that sustainability point and understanding that it's broader than just us, that it's the whole system, it's sort of where we sit in terms of, do we know what percentage of funded our pension obligations are now? Alan, I don't know that I know that with any exactness. Yeah. And Chris, I'm gonna, oh, sorry, Jan, I didn't mean to step over, but I didn't need to get back to on that. So in the March meeting, we'll have that information. I just don't have it off the top of my head. I know that we have the valuations are there. I don't have it right in front of me right now and I wouldn't wanna have you to guess. Yeah, if you could, that'd be great. I have it in my head from a couple of years ago when we pre some of these fires and pre the pandemic, I know we had a 10 year horizon to finding some leveling off of the pension obligations for the city. And I'm wondering just sort of how potential recession or drop in economics could impact it, though I do also recognize the stock market's doing fine, which is where a lot of that return comes from for the city. What we'll do is we'll get some sort of an explainer. Oh, you know what? If you promote Shelly Riley, she could answer that question. I'm sure Shelly is thrilled. She's thrilled me to the rescue line. Given that she just saved you, what are you gonna promote her to? I don't know. I don't know. So purse rates are doing a couple of things. The normal retirement rates we saw actually go down for miscellaneous police and fire. Unfortunately for us, the unfunded liability payments are still going up. For miscellaneous, they went up about 11%. For fire, they went up 10%. Police, they went up 16 and a half. So next year we're looking at, and this is citywide, I'm not being exclusive to the general fund. So we're looking at about $29 million. Last year we paid about 25. So it's significant increase. And I don't see those UALs, I don't know off the top of my head because like Alan, I don't have that purse rate in front of me, but those will continue to increase at least for a couple more years before we actually start seeing any sort of significant dip in them. Okay. I really appreciate it, Shelly. It's one of the things that I'm trying to just keep an eye on as well when we talk about long-term sustainability is that crowds out our ability to provide more service, right? And so how do we keep an eye on that or keep control of that to the extent that we can and how do we meet that sustainability point? When we talk about, Jan, when we talk about long-term sustainability, I'm talking about all of those components. And I'm sure from what I'm getting from you is that you are too. I am. And I don't think I've said this out loud, but one of the things that in fact, I think we're having Alan and I are gonna participate on a call tomorrow is whether or not, I think now you can sort of take out discreet maturities with CalPERS. I haven't spent a lot of time talking about it or looking at it, but our call tomorrow does relate to that and whether or not we'd be better off sort of, I don't know how we'd make the trade on monies, but whether there's any value to some of the monies being taken out that expensive, because the CalPERS amortization is very expensive, actually, relatively speaking to other things. And so it's one of the things we'll look at. I can't answer that right now, but we'll circle back on it whether or not it makes sense. Yeah. Yeah, that's great. And one of the things that I have in my head, and I apologize, I didn't prepare to talk too much about this, so I might get some of this wrong, but I do remember that this group did a year or two ago, had an opportunity with some leftover pension obligation bond dollars to pay down some one time to get rid of some of the amortized o-ings. Is that how you put it? I'm not quite sure how to phrase it. That was one thing that we were very supportive of was one time investment in dollars to then long term, oh, a little bit less year over year. So I know it's something that we would be supportive of. That's all I've got. So I appreciate that. Any other comments or questions, John or Tom? Any final comments, Mr. City Manager? All right, Jan. Well, I really appreciate you coming on here. I'm looking forward to getting to work with you a little bit. I'm pretty excited by this. Thank you. Thanks, Jan. Thanks, Allen. Thanks, Chief. So we'll go on. I guess I should also see if there's any public comments. I was gonna say wait. I sometimes forget we provide enough commentary, but other people like to be engaged as well. I'm seeing no hands. So I'll move on to item number five. And that's the next meeting agenda items. Now, Mr. City Manager, did you have ideas for the next items or did you wanna hear from us what we would like? I think we're gonna program it. And I think that's, we have a presentation from management partners, correct? That's the big item. So that's where we would like to spend the focus of the period of the time. That works for me. Anything, John or Tom? Just for me coming up on our goal setting to actually implement, you know, and if this slide number 10, some of these different strategies get shared with our colleagues. And I'm not sure how much of this information will be shared during the 18th and 19th, but this looks great on paper, but when we actually start talking about projects and costs and the reality of making some of these decisions, those are the conversations I'm looking forward to. And I think we'll get to that in the budget process. I would be pleased to bring the slide somewhere in the deck and you all could talk about the work that you're planning to do with us on that front. I think that would be good and we'll bring the slide along. You know, priority setting is priority setting, but I do wanna make sure that they understand that we're gonna begin this work this year in the budget process. So we'll figure out how to integrate it into the presentation. We won't probably spend hours on it, but we will make sure it's there, okay? I'm just a big believer, as you mentioned several times, it's a culture shift and we can only move at the speed at which the shift can change and we can absorb that change. So even just planting seeds and then continuing to reinforce that, I think will lead us to success. And it will afford me an opportunity to introduce Jan to the rest of the council at that time too. So we'll make sure that's included. Great, thank you. And just really fast too on the goal setting, we did create space as we talked about on Tuesday for us to talk about utilization of the PG&E funds on a couple of the items that the council seems ready to move forward on. Alan and Sean, are these, is this request for the 40 million for the reserves? Did you get the direction you need from council on Tuesday or do we need to discuss it? I think we need to discuss it just to make sure we're all on the same page because I think everyone was, I'll just say by the time we got there, there was probably a little weariness in the room. And so I would request that we confirm that that's the way we go ahead. So there's no confusion moving forward. I just understanding after sitting through five hours of a very, very important but challenging conversation. I think it'll be good to repeat. Well, we'll make sure that we drill down on that point. I did talk with the facilitator today and told him that I thought that we needed more than a half hour for the discussion about the PG&E funds. Yes, he said, yep, absolutely. Just to follow up on that, on the paying down first thing we did, pay down, I forget the exact amount, I think it was around three million or so that was left over from an urgent obligation bond. We did do a payment on that, it lowered our UAL about $700,000. So. Great, thank you, Alan. John. Thanks, Mayor. I'm hoping that in both our priority setting and our budget setting, that we do not hold back the finance department from cautioning the council strenuously and very, very clearly and realistically about our realities. In my 14 years on the council, I've never seen a $5 million reserve number. I used to think it was scary when we got, anywhere in the teens and being where we are now, it gives me no small amount of anxiety and to our new council members who are not used to, it's all new to them. And we need to very quickly educate them on our fiscal reality. And so my recommendation is don't hold back.  You know, I'm never shy about frightening, but it would be helpful to have some support network for us in that conversation. That's why I'm asking what I asked of the members of the subcommittee. Absolutely. John, the phrase that I heard earlier today is that the Christmas tree can't hold any more ornaments. That's good. I think the Christmas tree is looking a little good. Should we provide the visual? Should we provide the visual? Do you want a big tree with lots of ornaments or the Charlie Brown tree? Charlie Brown tree, that's what I was gonna say. Without getting in front of any trademark issues, which they're very spinuous about. Well, I'm certainly glad we can end this meeting with some laughs because the rest of it wasn't too funny. No. True. All right, thanks, everybody. We'll go ahead and adjourn then and we'll see you in goal setting. Thank you. Thank you all.


In this video, the Gram-Schmidt orthogonalization of polynomials. I'm Dr. Jean Clapper. I'm with the School for Data Science and Computational Thinking at Stalingbosch University. So I'm going to talk about how to orthogonalize a set of basis vectors, but those vectors are not vectors in the usual sense. They are polynomials. We all know famous polynomials, x squared, and we're going to look at how to work with that. This video costs in the Wolfram language. So if you have access to a Wolfram language product, feel free to use that. If you don't, of course, you can always go and search for the Wolfram programming lab on the internet, sign up for free account and you can code long right in your browser. Of course, I think when it comes to computer language software, although I would always punt the open source products, I think value for money is also a very important factor in life and I think it doesn't come much more, a much better example of value for money than the Wolfram language. Really for the money that will buy you a couple of cups of coffee a month, you can get access to a very powerful computer programming language. So I've chosen for this video cast, at least the Wolfram language, let's have a look. So introduction, we're going to look at a set of polynomials of degree n. Remember n is then a positive integer. If it's 2, it'll go up to x squared, any polynomial up to the power x squared, something like x squared plus 2x plus 3, that will be within that set of polynomials and from that we have this idea of a vector space. Now we're going to denote the vector space p, uppercase p of n and it's a vector space under the binary operations of polynomial addition and then scalar polynomial multiplication. So I'm going to assume that you have some idea of what a vector space is and also what an inner product is, although I'm going to show you exactly what the inner product is defined on a set of polynomials. Now we're going to consider this basis that we see in equation number 1 and that is the set of polynomials to the nth degree. So 1xx squared x cubed x to the power 4 all the way to x to the power n, that's my set of polynomials and that clearly is a basis for a polynomial vector space to the nth degree. In other words, a linear combination of that set of vectors that we can see here and one that will give me any polynomial up to degree n. So we have to look at our inner product that we're going to define and remember we're going to take two examples, two vectors in this vector space p and q, they're both polynomials then of at most degree n and we denote the inner product as you can see right there with these nice little brackets p and q and that is how we define this inner space, inner product space between these two polynomials, it is the definite integral on this interval negative 1 to 1 of p times q. So just a product of the two polynomials with respect to the variable. Now these variables, these equations, these polynomials of course only have a single variable and we're going to use x such as x squared, x cubed, etc. So you just multiply the two polynomials with each other and then you integrate that over the interval negative 1 to 1. That is how we define the inner product in this instance that we're talking about now. What we also have to talk about is the norm or the length or the magnitude of a polynomial. Now they are correct terms to use but let's just say norm of a polynomial and such that if we take any polynomial p in this nth degree polynomials of ours, the norm squared is just the inner product of the polynomial with itself. So if we look at 2 again, that's just going to be p times p, the product of the polynomial with itself and if we take that definite integral on that interval of negative 1 to 1, that's going to define the norm squared. Of course we take the square root of that, then we'll get the norm. And then very importantly when we talk about Gram-Schmidt, the Gram-Schmidt process, if you don't exactly know what it is, if you want to refresh it, there's also some links down below where I use Python and where I use Julia just to go through the steps of the Gram-Schmidt process to orthogonalize a set of column vectors in a matrix. And this is what it's all about, equation 4, you've got to know this one. Now I'm putting use and a's in there, you read different textbooks, you're going to see different notation. So if we scroll down, let's just a little bit to 5 here. I've got my set of vectors, basis vectors for this fourth degree polynomial vector space and I've just labeled them vector a sub 1, vector a sub 2, vector a sub 3, all the way to vector a sub 5. So they're both there, they're vectors, but as I said, we use the term vectors because this is a vector space but they are polynomials. And u, all the u sub 1, u sub 2, all the way to u sub 5, that is going to be the 5, my 5 polynomials that will now be an orthogonal basis. So I'm going to change the basis from the one that we have here, 1x, x squared, x to the power 3 and x to the power 4, we're going to change that basis such that all 5 of our polynomials are going to be orthogonal to each other and each one of those is going to be u sub n. So you'll have u sub 1, u sub 2, all the way to u sub 5. And how you work that out, of course, u sub 1 is very easy, we're just going to take one of these to be our first vector and then we'll get polynomials that are orthogonal to that one and then what next one orthogonal to both of the previous ones and that's how we build it up with the Gram-Schmidt process. But equation 4 is a very nice, succinct way of looking at it. So if I want u sub 4, for instance, that's u, the n is 4, that'll be a sub 4, so you'll just go look what a sub 4 is and then minus and then the summation and the summation really goes from 1, so the very first one you're working with, till the one just before the one you're working on. So it only goes to n minus 1, remember that? And then it is the inner product of the two vectors as we define there with our definite integral of a n, the n that you're working on and this instance if we're looking at u4, that would be a4 and then we're going to go from i sub 1, i sub 2, i sub 3, all the way to i sub n minus 1 and then the norm, we've seen how to do the norm, squared, so it's just very easy and then multiply by that specific one you're working with ui, then u1, u2, u3, okay that's not the best explanation, the best explanation comes from the example and that's exactly what we're going to run here. So first in the Wolfram language I'm creating two functions and this is how you create a function, I'm giving mine a name p and q, it's going to take two parameters, the languages might call them arguments, remember with the Wolfram language it would always use square brackets and not parentheses and I put a little underscore after each just to show that this is a parameter on argument, something that I'm going to pass to the function, actual values and this function will now return something for me, so I've got 2 there, that's separated by comma and then colon equals, the colon there means don't execute this now, I'm just defining a function here and what I'm doing is let's set that equal to x to the power n, so I'm assigning some, returning some value to this function I'm creating, so if I put in x and 3 it's going to return x cubed for me, if I put in x comma 4 it's going to return x to the power 4, I'm just doing two of them, you needn't do two of them but just to keep the clarity of there being two polynomials in my inner product, so below if we just run this that's going to create those two functions, so if I want a 3 and remember a sub 3 here was x squared as you can see there, so just pass in p and then x is the variable that I want and 2 is the power that I want and it's going to return for me x squared, so it's just an easy way to do this and then I'm going to define a function called inner product, as per usual with the Wolfram language we always start the first word with a lower case and each subsequent word we just concatenate and the first letter will be in uppercase, so it's easy to read, if someone else reads this code they know I try to generate a function that calculates the inner product, so it's nice just to use a descriptive name and that's of your choice, it's going to take two things p and q, again the delayed execution there which this means this is an assignment, this is what's going to be returned to this function and I'm using the definite integral and going from negative 1 to 1, now you see this beautiful notation that we have here that is part of the Wolfram desktop that I'm running here, it has a palette that has all these lovely buttons that you can click on and it generates this nice looking values for you and of course remember if you look online there is definitely still the integrate function, you can just type in integrate and you'll see the integrate function there so you can still do it by hand, so you look up that function in the help section but if you have access to a desktop version you can just use this kind of notation, so I'm just saying take p and take q and multiply that and there's a space between the p and the q and that is short-hand in the Wolfram language for multiplication, so then you have to put a star there, you can just put a space and then with respect to x on that interval negative 1 to 1, so there we go, so I'm just going to show you here I'm going to take now the inner product of x squared and x cubed so I'm passing my p and my q, remember p takes two arguments or two parameters, the x and the power and q takes two the x and the power, so what I'm just doing here is this definite integral of x squared times x to the power 3, in other words x to the power 5 with respect to x on that interval now that's going to be an odd function and this is important to remember because it's going to save you a lot of time and effort if you do this by hand if you have an odd function like this and your interval is symmetric around zero, so we're going from negative 1 to 1 it's always going to evaluate to zero, isn't it? and there we go so I'm using inner product passing x squared and x cubed there and we see the inner product indeed is zero, so if we just look at a plot of that so it's a plot of x squared and again I can put that little square up there, just some keyboard shortcuts or clicking on just an easy little button in the math help palette that you have access to here in the desktop version and then there's a little space in between just to denote that that's multiplication and then I'm saying go for an x from negative 1 to 1 and the filling is towards the axis and you can clearly see why this results in a zero integral because I have positive area at the top, negative area at the bottom, it's symmetric because this is an odd function it's going to yield zero, so let's get started as I mentioned with Gram-Schmidt process we're always going to assign one of our vectors to be the first vector that we deal with and it's easy in this instance we're going to make u1, u sub 1, we're going to set that equal to a sub 1 and remember a sub 1 is just one, so my first new basis vector is this going to be the first one in the original list, next I have to create one, I have to generate one that is orthogonal to this first polynomial and there I'm going to use my equation and that is the summation notation we had in equation 4, I'm just expanding that, so for u sub 2 that is going to be a sub 2 minus and then remember we're going from i equals 1 to i equals n minus 1 and n is 2 at this instance, I can only go to 1, so there's only going to be one expression here in the expansion of my summation so that's going to be a sub 2, u sub 1, that's the inner product between those two polynomials over the norm squared of u sub 1 and we already know what u sub 1 is, it's there, it's 1, we've already decided that and multiplied by u sub 1, so if I just substitute a sub 2 was x and then a sub 2 is x again it's there, u sub 1 was 1, so I'm taking the inner product of these two polynomials x and 1, I'm dividing it by the norm squared of the polynomial 1 and I'm multiplying it by 1 so let's have a quick look at that, remember if we just look at 1 times x in the product of the two polynomials p and q I'm going to get y equals x and again that's symmetric above and below the x axis, so of course it's going to yield 0, so to get 1 remember it's x to the power 0, so that's going to be my q there my p is x to the power 1 and if we take the inner product of that it's going to be 0, so all of this is just x minus 0 there, so u2 is just going to be x, well so far it's exactly the same as our original basis but what we've learned from that is the polynomial 1 and the polynomial x are orthogonal to each other, let's go for u3, now u3 has got to be orthogonal to u1 and u2, remember that, so we're going to do our summation expansion, so this time we're going to have 2 of these, we add them but remember there's a negative sign in the front of that summation, so it's minus and minus and so we're starting at i equals 1, so u1, u1 but we're busy with u3 so it'll be a3 there and the a3 there and the a3 there but now we're just cycling over our summation counter, so it's u equals i equals 1, i equals 2, we're only going to go to i equals 2 because we're working with n equals 3 and we only go to n minus 1 in the summation, so I think you can clearly see where 9 comes from and when I substitute these remember a3, the inner product of a3 and u1 would be a3 is x squared and u1 we know is 1 and there's u2 we know that it's x, so I'm taking the norm of x, so let's just do these, if I look at the inner product of x squared and 1, that's what we have there, the inner product of x squared and 1, there we go, x squared and 1 if we do that we see it's 2 thirds and what about the norm of the polynomial 1 so that's x to the power 0, but remember the norm squared is just going to be p times p and I'm doing that integral over my interval, so I'm using px0, qx0, I could just have said p and p there, should be more proper because this is p times p, that's how we define the norm and I'm taking the inner product of that and we see the inner product of that is 2 and next we need this inner product here, x squared and x, there we go, x squared and x, if we get that of course it's going to be 0 because x squared times x is x cubed which is an odd function and its interval is symmetric, negative 1 to 1, of course it's going to be 0, and that's why I mean if you do this by hand just look at it before you evaluate an integral because you can clearly see just by looking at it that it's going to be 0, so if we substitute what we've done up till now, we get u3 here in equation 10, u3 is x squared minus a third let's ramp it up a bit, u sub 4 which is now going to be orthogonal to u sub 3 and u sub 2 and u sub 1, they're all mutually orthogonal, so again I've expanded my summation notation there and you can clearly see that it follows that pattern and I've substituted it there in the second line of equation 11 here, so it's going to be x cubed is a4, a sub 4 is x cubed and then I have the x cubed in the front there and then I cycle over u sub 1, u sub 2 and u sub 3, and u sub 3 remember we multiply by that vector as well, so I've got to put that in for u sub 3 that one in for u sub 2, that one in for u sub 1 so if we just do this, remember what do you think is going to happen to the last term, I have an x cubed times an x squared that's x to the power 5, anyway let's just do this one x cubed, I'm going to show you x cubed and then x squared minus a third if I do that inner product I get 0 and once again just to show you very quickly the plot why this would evaluate to 0, you can clearly see that it does not function so here what I've done is I've just done all my inner products and we can see the inner product of x cubed and x1 is 2 fifths on my interval the inner product of 1 and 1, that's just 2 we've seen that one before of x cubed and x, that's going to be 2 fifths and of x squared, x to the power 1 sorry, x to the power 1, that's 2 thirds and if I substitute this is what I end up with, so do that substitution, we'll see we get 2x to the power 3 minus 3 fifths x so that's my fourth polynomial and it's now orthogonal to all the others and then eventually here we go to 5, the fifth orthogonal polynomial and again it's just that simple expansion have a look, pause the video and have a look at it and if we expand it all the ones that we're interested in, of course we're going to get the 0 there remember x to the power 4 times x to the power 1, that's x to the power 5 odd function symmetric interval, definite integral is 0 and there is the one of x to the power 4 and then x squared minus a third and also x squared minus a third and x squared minus a third so that's going to be the normal of that one and then our last inner product there of course again that's going to be an odd function that's 0 so in 14 here I show you, we just simplify this and we end up with our last orthogonal basis vector for this vector space up to polynomials with degree 4, so let's just visualize what happened here because what I've done here is put all my new bases there, my new 5 bases vectors and they are mutually orthogonal so if we plot them just to see what that would look like, this is what they look like and they just plot that original basis as well and you can see the difference and if you think about just normal vectors, say in 2 space, why are orthogonal vectors better, you can clearly look at them as a basis versus 2 vectors that are very close to each other and that all comes down to the application of what we're dealing with here if you think about vectors in 2 space, if you want to span that space you need 2 vectors as long as they're not linearly dependent but they can be very close to each other but what we're doing here is in applications we're trying to add some values to these things and if we take any kind of measurement, any kind of value, there's some uncertainty in that measurement and if you have 2 vectors very close to each other, that becomes unstable because just with a little bit of measurement in the wrong direction you're going to land exactly on one of the basis vectors where if they are mutually orthogonal, there's no ways that in that close measurement area you're going to land up with problems in the same here so we can see when x equals 1 of course they land up in the same spot but they're all very close to each other if we look at them here on the right right hand side on the positive x axis and if you look at all of these on the new orthogonal basis it's not a problem at all which just brings me to a neat little subject that I just want to make your way of and that's the genre polynomials and they are orthogonal just as the ones we've had before through the Gram-Schmidt process but they just each multiplied by a constant, remember that does not change the fact that they are still all mutually orthogonal to each other I'm just multiplying each one by a scalar and the scalar that they multiplied with the 5 that we've got up here is 5 I'm just multiplying each of them by a scalar and the way that I'm doing it is such that p of 1 equals 1 so for all of them p of 1 equals 1 and you can see all of them there very close to the ones that we have up here just change by a exactly by a constant scalar so that p of 1 equals 1 and they usually denote it up against l sub 0 sub 1 and to whatever degree you need to go and there's a neat function in the Wolfram language called the genre p and I give it the order that I'm looking for and the variable that I'm interested in and it'll just generate that 4 you'll see it's exactly what we have there 35x to the power 4 minus 3x squared plus 3 all of that times an eighth and it's very useful these Legendre polynomials so you can start reading up about those so I hope that clears it up for you how to take and how to change the basis of the basis of a polynomial vector space I have to change that basis so that my new basis vectors are all mutually orthogonal