Good evening and welcome to the March edition of the Board of Commissioners of the Electric Department, Burlington. We meet every second Wednesday of the month here now at five o'clock at 585 Pine Street. As always, Burlingtonians public is a welcome to come, repairs, come on down, express your concerns, your thoughts, join the conversation. So welcome. The first item on our agenda tonight is the agenda. We have any additions, deletions, changes, anything in support to the agenda? All right, nothing. Fantastic. We'll move on to the minutes of the February 14th, 2024 meeting, barring any grammatical errors or anything like that that could be submitted to the clerk. Are there any other changes or significant? Take the motion to approve March 13th, 2024 meeting. It's been made. Do I have a second? Motion made and seconded. Selection on the motion. Bring done. Closing may. Motion passes. Thank you. Moving on to item number three on our agenda tonight is public form. This is a chance for the public to address the board with any concerns or phrase or anything anywhere in between. As always, as I mentioned a minute ago here, we meet here every second Wednesday of the month, five o'clock, 585 Pine. Always welcome. Do we have anybody from the public that would like to speak either in person or online? Hi, I'm I'm on the phone and I would like to speak. This is Nick. This is Nick. Can you hear me? Yeah, we can hear you, Nick. Okay. I'm a resident of the old North and and I'm a Burlington electric rate payer. And I'm concerned because we don't seem to be planning for the closure of McNeil and its replacement with alternative sources of electricity. The climate crisis demands that we do this. The science is clear that burning wood to generate electricity puts far more carbon dioxide into the air than burning any fossil fuel. And it takes decades, if not a century or more, for regrowth of these to make up that carbon death relative to fossil fuels and absorb and sequester the carbon dioxide that's emitted. So I feel there's a climate imperative to be moving away from wood burning to generate electricity and that we should be looking towards renewable sources that are truly low carbon like wind and solar with battery storage to help with reliability. I'm concerned because I've reviewed Burlington's electric integrated resources plan, which as you know, is a plan for how customers power is going to be supplied for the next 20 years. And it provides for McNeil to be continuing to operate throughout the 20 year period. And it doesn't really meaningfully evaluate alternatives to operating McNeil. I think we need to be moving away from McNeil now. Not only is this necessary to address the climate crisis, but it's becoming increasingly clear that McNeil is not economic. Their information submitted to the Joint Owners Committee indicates that as of September 30th, 2023, there was a calendar year net loss of more than $4.7 million. We had an economic expert look at this issue and he determined that most years the plant loses six to $8 million. That loss would be even greater if it weren't for the revenues received from the sale of wrecks. And the sale of those wrecks is now in jeopardy with Connecticut cutting in half the amount that's paying for wrecks. And we don't even know how long that will hold up. In addition, looking at the forecast for the price of gas going forward a number of years, it just doesn't seem like the price is going to be below McNeil's breakeven point. I'm not sure exactly what that is, but I think it's $65 to $75 per megawatt hour. It looks like for the most part, you know, barring some future shock, the price of gas is going to be below McNeil's breakeven point except during the months of December, January, and February. This year, it wasn't even economic to run McNeil during parts of December. And I know that, you know, usually it's running full tilt during the winter months. We couldn't even do that this past winter. I think that's really what I had to say. Thank you for considering my comments. Thank you, Nick. Thank you, Nick, for your comments. We appreciate it. As this is generally not a give and take, the only thing that I would offer would be the department to have an opportunity to respond in terms of any factual and any accuracies, but this is generally not a give and take. Are there any other public comments? Thank you for your comments. Could I mention one other thing? Sure. Yeah, I know your general manager has said we can't just look at, you know, whether there's a profit and loss for a given year because operation of McNeil and operation at 100% renewable allows us to save some costs on some other programs instead, including the standard offer program and the renewable energy standard tier two.   A lot of them are solar. So, you know, we should be taking that into account when we're, you know, foregoing those programs. I think that we put way too much emphasis on maintaining 100% renewability, not all renewable sources of electricity are created equal. Some of them generate greenhouse gases. Others are very low greenhouse gas generating. Thank you. Thank you. Appreciate it. Are there any other, is there any other public comment either online or in? Yes, please. Yeah. Just give us your name. Okay. Hi. It's not a PA. Okay, you're right there. I'm Ashley Adams. I am a Burlington resident and repair and I've dashed here from work, haven't had time to prepare comments. But I was at the PUC's public comment session last night for Burlington's IRP.  But I think it would have been really beneficial for you to hear public comment. And what I would like to do is send you all the manuscript, or the manuscript, the transcript after tonight's meeting. I think that would be really helpful. I was there and spoke, several others did. Something I want to mention is that the attorney for Burlington Electric, Bill Ellis, I believe, his name was very inappropriate, almost badgering the public, brought to the PUC's attention that I am the spouse of one of the intervenors, which has no bearing on anything. It's, you know, as if I can't think independently of my husband. That was upsetting. What's far more upsetting to me and it's deeply emotional to me. I was born in 1971 in Vermont and the changes I have seen in this state due to climate change are astonishing. And I grieve those changes for my son. I grieve those changes for anyone growing up in this altered world. And I'm a captive-rate pair. I don't want to move from Burlington, but I am a captive-rate pair. We know the science behind burning our forests. We know that upwards of three or 400,000 tons of CO2 are pumped into the atmosphere every year because of McNeil. We know that three or 400,000 tons of trees are removed from the forests thanks to McNeil. We know there is no plan to shut it down, and that is unacceptable, excuse me. So I intend to continue spreading science on the biomass. And I think it's really, really important this body becomes informed not only about the science behind the burning of our forests, but about the lack of planning on the part of Burlington Electric, the economics behind supporting this plant. I'm supporting this plant. I am funding our demise, and that is unacceptable. So I will share with you the transcript from last night, and I really appreciate you today. Thank you for your comments. I appreciate it. All of our emails should be on the website. Are there any other public comments to be made? I'm Chris Gish. I met you all last month, which was awesome, and I wanted to follow up on some of the things we talked about last month and also say briefly that I was also attended the virtual public hearing for their BED's IRP last night, and I was pretty frustrated with just to kind of like make you all aware of it, if you haven't. I'd encourage you to watch the recording, but watching Burlington Electric attorney, who I, as far as I understand, is retaining as ratepayers, behave pretty at the least unprofessionally. In the first place, it wasn't clear at first who he was representing, and he was actually like, was, you know, perhaps working for enforcing the rules of this proceeding, but then like making claims about rules that may or may not have been true, accusing someone else of dominating this like informational session before the actual hearing, when it was actually dominating it, and just making it overall harder for the public to participate. That was just frustrating, and it didn't feel right, and I wanted to fly, like this kind of like public participation is so much for all of us. And then I wanted to just follow up last, one of the things that I brought up and then Darren responded to a little last time was about residues and the notion that McNeil is different from other wood burning plants, because McNeil's using quote residues, and Darren referred to two things, the integrated natural resources report from summer of last year, and then the appendix to the purchase wood agreements for whole tree chips, and I just wanted to give you, A, in the INRS report, their reasoning for claiming that McNeil is burning these residues is not, there's no direct data to support that. All they're saying, it's on page five, you can go check it out if you want, but to paraphrase rather than just read you a long paragraph quote, they're saying that growing stock of hardwoods and pines like common trees in Vermont produce a certain amount of quote residues when they're harvested for other purposes, and McNeil in the regions where McNeil harvest uses less than that proportion of the total wood that's harvested, so that conceivably McNeil could be getting all its wood from these residues, but there's no direct, nothing is directly connecting those two things, there's no data collected like at any of the harvest sites or anything to show that's happening, and I'll say I've been to, you know, now at this point almost a dozen sites where wood has been harvested at McNeil and you see a lot of these residues, or at least the kinds of residues that maybe we want to imagine are being burned, like limbs and tops, like things that are like this diameter small, or you see a lot of them on the floor, or what was the forest for, because that's kind of like one of logging, one of one things is trying to leave behind to prevent soil erosion, things like that, which is awesome, but just to go to show that there are many other places these residues could be going, they could be going to firewood, they could be, some of them are being left for us, they're definitely not all going to McNeil, so that's not a case that our plant is burning in tops, and then I want to also just bring you back to the definition, or as residues are defined in the purchased wood agreement, they define residues as, quote, tops and limbs damaged in, or diseased trees, and otherwise non-commercial wood, so those, all those first things, tops and limbs damaged or diseased trees are examples of non-commercial wood, but like the core of the definition is just wood that doesn't have a more profitable market economically at that time, so it's not any kind of physical definition that might inform the carbon intensity of the fuel, or any characteristic like that we might be concerned with, it's a definition based on like value judgment of economics, and I just wanted to flag that for you, so it's hard for me to hear, to not be really skeptical about claims that the carbon profile of McNeil is somehow like fundamentally different because of this idea of residue, there's nothing showing directly that these are, that like that this is a different kind of wood, and even there would be serious concerns even if taking that amount of wood, even if it were all tiny sticks from the forest, but I don't think there's any conceivable way that's really happening, and I just wanted to share that with you, and that's all I got. I respect public comment, I don't want to offer anything at this time. Thank you, thank you for your comments. All right, we'll move on to, are there any other public comments online or in move on to item number four commissioners' corners? Time for commissioners to bring up subject matters that they would like to bring up, or something that has happened over the last month or something. Great, we'll move on to item number five on our agenda tonight, which is the general manager update. All right, thank you. As mentioned in the packet, we are planning, and it originally was going to be on the 21st, it's possibly going to be on the 19th, either the 19th or the 21st of next week, to have a number of different announcements, including an update of our 2023 data for the net zero energy roadmap. We're hopeful that Synapse is going to be able to have a report to us in the next several days. That was their plan, and then we'll release that information publicly next week, as well as as the commission knows we've had a delay from our normal January announcement for our rebates and incentives and new programs, because we did have some additional process at the PUC around Act 44. But those programs are ready to roll out, and we are going to announce the updated 2024 incentives for customers, rebates, new programs. So we'll keep the commission informed as to whether it's the 19th or the 21st, but expect one of those days we'll be getting some of this information out, which we're excited to do. Legislatures back in session, we have the renewable energy standard bill is still pending in the House, and this morning I testified via Zoom to the Energy Natural Resources Committee in the Senate, again about Act 44. We've had some back and forth with the Department of Public Service, where they've wanted to reduce the budget that's available for the efficiency utilities to put resources into emission reduction programs. This affects our heat pump incentives, our EV incentives, our geothermal well test program, that suite of programs, multifamily charging programs, number of other ones all get resource in part from Act 44 and through the efficiency utility, and in part from Tier 3 through the general utility. And so we are supportive of an effort in the committee to clarify that the levels that were set in the legislation that were authorized for funding can be fully utilized, because the Department was taking the view that perhaps there should be a reduction, I think initially as much as 42 percent over a three-year period. Now it's more, now that the first year was locked in, they're looking at a 10 to 20 percent reduction. We're not supportive of that. We want to bring as much of that resource as we can to that, you know, to those initiatives. So we'll be tracking that effort as well as the renewable energy standard and other legislation that might be happening, but legislature's back and we're continuing to engage on those items. The energy assistance program rate is still pending at the PUC. We've had some additional process there. I think the good news is that nobody who's on the rate, income qualified customers, are losing access to it because the pilot has officially reached its conclusion. We've gotten the authority to extend their participation while the Department of Public Service gets additional questions answered in that docket. On the flip side, we're hopeful to move it forward as quickly as possible because some of the changes that you all authorized, the city council authorized, would help us to auto enroll a number of customers, potentially expand the participation immediately from 200 semi-customers to perhaps six to 800 customers and then grow from there. So we're missing out on that opportunity while it's pending, but we're hopeful to get it moving in the very, very near future. We did hold a meeting with property owners who are in the 25,000 to 4999 square foot category with District 2030 just to learn a little more about what they're doing relative to decarbonization, what types of initiatives they're taking. There's been a variety of policy conversations around that cohort of buildings and so we're trying to learn from them kind of what their challenges and barriers are, what investments they're making, what types of technologies they're utilizing and we're going to have some follow-up from that, but we had an initial conversation with those property owners over Zoom and we had the energy services team and Chris Burns and Jen Green sustainability join us for that as well as the permitting department and the business development workforce development department in the city. So getting a collective effort to understand what's going on in that space. And then lastly, town meeting day, we did have approval for the charter change for the line of credit to move from 5 million to 10 million. I expect that'll get taken up hopefully in the legislature in the near future. It was broadly supported. It was unanimous that City Council supports our financial metrics, doesn't ask anything additional of ratepayers so it's a real win-win from that standpoint and we're hopeful that it can be approved this session. Granted it's the middle of the session so that said if it's something that they're interested to move forward, we'll be working with the legislature on that as well. And I think that's everything I've got. Questions? Item number six, the January FY24 financials. FY24, we had a favorable variance to budget mostly driven by the timing of REC revenues received. We budgeted to receive these in February. They came in in January instead. So January looks far better than budget and then February is going to look worse than budget because we'd already received the revenue. So you can see there we had an actual net income of $616,000 for the month compared to a budgeted net income of $99,000. So just over half a million better than budget. Starting at the top, kind of looking down the major lines of revenue, sales, I was again pretty much right on budget, only a $10,000 variance on a $4.7 million number. Sales for the year to date are within 1% of budget. Other revenues from the month were worse than budget by $73,000. Most of that is reimbursements from the EEU. And then you can see the variance in the power supply revenues of $1.2 million. Again, that's timing. Moving down to the expense group, net power supply expense was $541,000 worse than budget. As usual, that's a combination of many items. Fuel was favorable to budget by $92,000. McNeil production is slightly under budget by 13%. Transmission was essentially on budget for the month, only a $12,000 favorable variance. And then purchase power again worse than budget this month by $647,000. We had savings again on the mystic capacity charge. Wind production was lower than budget again. But then on the other side, we had higher than budgeted iso exchange charges. And again, energy prices were under budget, which helped to the extent that we were purchasing when we intended to be selling. So year to date, the purchased power supply portion of the entire power supply budget has a negative variance of $83,000. But the entire power supply, net power supply budget, has a favorable variance of $485,000. So that whole kind of energy price forecast versus actual situation that we've been discussing has had a negative impact, but combined with some savings on other portions of the power supply budget for the year to date were about half a million dollars ahead. Other operating and maintenance expense was just about on budget, a small variance of $33,000 worse than budget. For the year to date, that's half a million better than budget. And then other income, similar variance of $29,000. So year to date, we have a net income of $2.9 million compared to a budgeted net income at this point in the year of $500,000 and $1,000. Let's see. So that's $1.4 million ahead of budget. Last month, we were $1.9 million ahead of budget. So even though overall, we had a positive variance in the net income, the negative variance in the power supply is kind of falling down to the year to date sense. I just want to also give the commission an update on our forecast for where we're going to end the year. That has improved mostly due to our adjusting our assumptions a little tighter based on experience through the year. The major one being fuel expense. We adjusted that downward, so that improved. We also adjusted our mystic capacity expense. That's been consistently under budget. The first year of the mystic contract, we saw the high correlation with loads and energy prices and that magnitude of that expense. Similarly, as energy prices have been lower this year and loads have been lower this winter, that has been lower than we sort of budgeted for. We had been kind of continuing to assume the worst there. With now seven months of the fiscal year experience behind us, we're being a little less conservative and saying, okay, we don't think that capacity charge is going to be as high as we've been assuming. May 2024, but it'll take a couple months for the settlements to kind of work their way through ISO New England and for them to do any true up. We might make our last payment in June or July. Yeah. So with all of those tightening of projections, we're now budgeting a net income of 832,000. We were projecting a net loss. The net income we're projecting is actually better than our budgeted net income at this point. So not out of the woods totally yet. Cash is still tight, but there are some things that we're watching that could further improve and would positively affect the cash balance on June 30. One is a request that we've submitted to the PUC to transfer some TEPF funds back to operating. Our O&M expense forecast for the rest of the year is likely overstated because we've been assuming that any money that areas had in their budget from the year to date, they're still going to spend, they just haven't yet, but actually some of that they're probably not going to spend. And then we have some vacant positions and we kind of haven't forecasted the sort of savings between now and June for those vacancies. So there's some, definitely some things we can still do to sort of have the cash position approved for June 30. Any questions before I move to the next page? All right. Capital spending for January. We've spent about $600,000 in January compared to what we had spent on capital through December. So we are at an actual spending value of $3.7 million compared to a budget at this point in the year five. And $3.7 million is about 34% of the full fiscal year capital budget. And then looking at cash with the premature infusion of the rec revenues were just under $10 million. And that's $1.3 million favorable to our cash budget for January. And then the ratios also are quite good for this month. 5.04 on the debt service coverage ratio, 1.61 on the adjusted ratio and 122 days cash on hand. Moving on to the next. Is salinia service? I'm not sure if everyone saw your email. Run through the slides as I have been doing. Hold those up. Okay. All right. This is the same slide as before. Just some context, but you all know this. Okay. So what have we done since February? Since your last meeting at the commission's request, we researched the overlap between customers who enrolled in the energy assistance program and customers who have been charged the return check or reconnection fee. The answer was none. Yeah. We also inquired with TD Bank about the Vermont statute that the customer who spoke referenced. They were unaware of it. Their legal department is investigating. They're not charging us the fee for now, but it also sounded like it was going to take a while for it to make it through their legal team. It seemed the question they were looking into sounds like they are a federally chartered bank. And so there was some question about the degree to which state level laws apply to them as a federally chartered entity. I don't know. That's what they said. So we're not being charged the fee for now, but we don't have a final answer on that yet. We have proposed a new definition for the fee that was called customer or is currently called customer assistance call. Of all the public comments, we got the most on that one. I'm proposing that we call it power problem investigation, customer responsibility, because that's truly what it is. Someone believes they have a problem with their power, and they ask us to check it out, and it turns out to be on the equipment they're responsible for. We updated our labor estimates slightly for the power problem investigation. And then this was in my email from yesterday as well. The whole discussion around the customer assistance call prompted a discussion in our operations group, distribution group around disconnections and reconnections. And so the proposal before you tonight includes four additional fees for when we go on site to assist with the disconnect, reconnect at the customer or their electrician's request. And the reason there's four is that it depends on whether the property has one meter or multiple meters, and it depends on whether line crew has to go along as well as during and or field services. So I'll go get into that a little bit deeper. So the first from initial service down through temporary service, no changes to what you reviewed and we discussed last month. Those numbers are the same, all the words are the same. Returned check. The proposal is since we don't know how this is going to turn out. We're asking the commission to essentially approve two sets of fees. We have to from here, we have to go to the board of finance, we have to go to the city council, and then eventually file a tariff with the public utility commission. It may be hopefully we'll have heard from TD bank by the time we get to that ultimate filing with the PUC. Also the PUC is going to take some time to review it. And so we could submit to but then update the case once we hear from TD. So that's our sort of compromise for dealing with that situation. Certainly if we're not charged the $10, we don't want to charge customers for that fee. On the other hand, if we are, we want to be able to collect it. So we've split that into and then no change. Oh, actually is a change, but I didn't mark it. No, I neglected to mark it. Okay, so meter removal replacement for siding. My proposal here is to remove the words for siding and make that a more generic meter removal replacement. Because it's part of the discussion with the operations group. We do a thing called a meter poll, which involves visiting the home and removing the meter. And but we're not charging for that. But I'm like, but if you come do this for my siding, I would get charged. So we're trying to make a little more consistent and a little more generic so that we could cover both. So actually, you can see on the sheet, I and we're proposing to delete the rest of the long description, but I neglected to change the title in the very first column. No change to the collection fee. We're still proposing to eliminate that fee. And next coming to the fee that's currently called customer assistance. As I said, we're we're our recommendation is to change that to call it a power problem investigation customer responsibility fee, both either during business hours or after business hours. And then you can see there's some changes proposed to the language describing that fee to make clear that this is charged. When a customer asks us to visit service location to investigate a problem with the customer's power and the problem is determined to be the customer responsibility. We've also added clarification that we will not perform work on equipment that is the customer's responsibility during an investigation and change questions on anything I've heard so far. So the about the our I think you're trying to strike a balance on their end of the thing, but sometimes customers probably don't where the problem is. And so am I correct that you're trying to strike a little bit of a balance where twice but first? Would you talk me through the phone? Yeah, yeah, my understanding from talking to the folks who take these calls is that they will run the customer through kind of, you know, did you check your breaker, right? Or ask, you know, what's happening? Okay, my lights are flickering. Or, you know, it's okay. So did you check your breaker? Yes. We will ping the meter. Okay, right to see if the meter is on, you know, if it and if so we'll say, well, it looks to me like your meter is fine. We see power at the meter. It's probably something within your home. You know, and then we also the other thing we do is we say, you know, we can come but the fee for that if it turns out to be on your side is x. So then with that information, right, they can determine and sometimes they do like, I, you know, what, fine, please come, you know, I understand. And other times they say, okay, I'll call my electrician or I'll, you know, I'll take other steps before I ask you to come. Okay, yeah, yeah, that makes all the sense. Just welcome. I had help. Okay, now with that, I'm going to go to the four new ones, which are different flavors of disconnect, reconnect assistance. So these requests, first of all, we're doing about last year, we did 200 of these a year. We're not charging for these. This what's happening is there's some sort of work on the customer's electrical service being done at the home, bringing it up to code, upgrading it or expanding it. It could be they put in a solar array. So check my notes on the other things that I was told about what could be happening. They have a tree on their service wire, that's their service wire. They're doing work on a roof or the soffit and they need us to take the attachment point off and then put it back on. So it's these kinds of situations. From 2018 to 2022, we did about 100 a year. Last year did we did 200. So this is work that involves our operations coordinator. So the request comes in on our service application, which is a web form. It goes to the folks in building B and then the operations coordinator contacts the chief of field services, they go out. If there's multiple meters, the metering crew goes out and yeah. So it could be as oh yes and then two line workers on a bucket truck go out as well, even for the single meter situation. So it's you know quite a few people and equipment and it's not work on BED's distribution system. It's work being done to support whatever activity movement the customer wants to make at their home or residence or could be commercial building in theory as well. So what the reason for the differentiation is as I said, if it's a multi meter location in addition to the chief of field services and the line crew, a member of the metering department goes as well. And then sometimes the line crew is asked to pull underground service. So the flavor of fee that's potentially called you know with line worker assistance, that's what that means. And so it's the same to you know it's the same set of it's the same crew. It's just that they spend more time if they're asked to pull underground service sort of an extra step. See what else should you know about these? Do other utilities looked into it deeply? I don't think Green Mountain power. I'm not sure. I'm not sure. I did that sheet that I showed you maybe one or two meetings ago maybe in January. Ramon Electric co-op has sort of like a number of levels of fees for disconnection and reconnection and one of them sort of makes sense to me now. The highest number, the highest fee says if line crew site visit required. Oh, like now I understand maybe what's going on. But I haven't dug into it deeply to know if how many utilities are due. I know GMP has a fee. It's going to be changing after electrical panel. It's only around that is if they send out a line crew because most of the time it's a line crew that's going out with two on a bucket because they're metering personnel using the Rutland or their AORs but most of their line crew handle all the metering installs. Most of them know that was a fee a year ago. That's a big difference worth looking at. You cannot at a later date. Are we in line with and having just seeing this and that know that it's going to go up the line several other players but as I'm not going to worry about making the decision tonight because we're just seeing. These are based on the cost of fee. I think there's going to be I mean a little bit kickback contractors spying justify. I mean a kickback on I mean just the cost of it you know I mean and I think as any utility and feedback I get out of the contractors and new contractors why do I need you know I mean and I mean it's a legit thing to say you know this day and age but we can justify it's all great and all that but you know recently I've had that come across my table and you know I had a disconnect reconnect and I had two bucket trucks four guys and a metering personnel. Why did we need so I think it needs to be looked at and I think whoever's dispatching it that'd be their reliability to do they can handle it but I think we really need if we're going to change our fees to this large amount we're really going to have to look at and make sure that dispatching is efficient and not going to get the company. Maybe we can get ahead of crashing out fries and then contractors. Yeah I mean I think it's a big change and I think out to the public as we can and be this cost is going to be a property and they're not going to be a change. I mean we need change I mean there's no doubt I mean we got costs that we have to incur I mean so it's it's there but it's going to be a you know it's going to be a hard thing for people to swallow in Burlington that have never did just a couple thoughts off or you know the first being we would have time even if it is approved this evening it's still going to go to the board of finance city council be filed if you go through process it's not like it's going to be implemented tomorrow it's plenty of time to engage with the contractor community let them know the other piece being you know very much cost-causer pays utility principle if we didn't do this appropriately and we are incurring the cost and it's being spread to all rate payers when it's really benefiting one specific rate payer so it's it's very much the right thing to do in that regard but I appreciate you know the point and I do think we could through our you know our line crews and our field crews and our metering and our communications on that side of the house get the information out to people who are doing work in Burlington so they expect it I think it would be you know a number of months before this is actually implemented so we have plenty of time to do yeah I think it's needed there's no doubt okay and changed I would feel comfortable moving along being that we're there and just said that we seems like we have a couple avenues that we have to talk at the public talk I would feel moving forward are we moving forward a recommendation accept this or one option would be to recommend it to the board of finance city council and then there there'd be time for us to do any additional work that's needed before it would actually go to the PUC even pending their approval so I don't think we anticipate filing this with the PUC until June so if there was any additional work that was needed we'd have that opportunity to do it yeah the only work that I would understand is that we are how does that the two things that do make me feel comfortable with it in general are the fact that it is being won them by us and that it's not it's not it's on their side of the line right and if we're not trapped me it seems to me that the repairs have been getting up for people have been getting a maybe for yeah we are owed for the service especially if it's on the other side of the dividing line again my only concern was just came to make sure that I do like that because I do I feel like Burlington already has such a getting work done and like the cost of permitting all city and I were part of the city even though I agree with that it's justified it's that it's not fair for me to pay some improvement but yeah I think so maybe some conversation like letting the contractor can know and add it around a little bit and talk about how it's here because most people aren't going to know about it until they have worked out on their house and then contract yeah I think plus like how they can develop is that they can they can feel comfortable doing that first of all getting wide where they're facing I don't have a underwit here to the contractor community such that something something on that sent out to yeah I was going to mention it to Paul Nadu and to Manir and probably we can also share it through channels that potentially Bill Ward has at permitting off that was my initial thought those are the other thoughts like a pre you know up front when you're later on retro yep yeah yeah I think it's just an incurving education because the way we were before the big jump you know what I mean it's all I think it's all about educating of like what's going on and like I said it's justified it's not that I don't agree with that I'm just saying that it's going to be a sticker shock for a lot of people I'm wrong and just us showing up y'all not charging you know what I mean and we've done that for years but it's right I mean the only other thing that you could do is that you could do like a step function or you could do initial year transition with a smaller fee knowing and communicating out that this is one tenth the cost is one fifth the cost is one third the cost um but that might set precedent in a way in two years well yeah like if it's I'm thinking more it's cold compliance that like what I was thinking and it's not the people who are too into renovation or choosing to do but if they're if it's a cold compliance issue I don't miss it like that was where I might have been just like oh I mean I understand like I do agree with the public anymore from uh just a couple more things I was going to share we did hear from four more customers since February one also expressed similar opinion about the customer assistance fee and then the three others this basically said they seem fair or reasonable or seemed okay um yeah yeah that's right and that's that's what we've heard so far um grant you know with the list of not including the four additional disco reconnect fees right that's the feedback we got on the rest of them so far and then um just a bit on the revenue impact um I actually got new information today that changed my estimate from what I put in my email to you yesterday um so this would um you know increase revenue to bd it would offset the decrease that we're going to see from the decrease in initial service fee um I had put in my email I'd estimated $300,000 that was based on a different understanding of how many of these were doing a day or a week um looking the actual data from last year it's it could be that this year we do even more than last year but using last year's data I'm now estimating around 130,000 which would just about you know just a bit more um than offset the $120,000 decrease from the initial service fee so the you know the entire package would essentially be revenue neutral I mean that's another way to look at it right the tariff as a whole now brings in sort of x dollars right to the to the revenue side of our cost of service and so we'd be initial decreasing the initial service fee um but then we'd be adding these disconnect reconnect fees so that the overall tariff change wouldn't you know depending on the frequency of all these over you know the next years which I can't totally project but it's much more equitable I think that that's a key piece that probably needs to be highlighted even if it's a little bit painful for some homeowners that have to pay $500 or $700 but people at the lowest end of the income spectrum aren't being over charged extra fees to plug in yeah that's I couldn't agree more and and in speaking with the operations folks I mean that's one thing I picked up on them like wait a minute so we're charting folks for the meter removal for siding but not for this whole thing right I was like we should do one or the other right either everyone gets a free ride or everyone kind of pays the cost to cover that service so I definitely agreed that should be a good talking point for the fight for the city council I think yeah yeah so that that was it I had a slide just on the the requested action some language before we get to that and as long as we're talking about engagement as long as they've got the three of you here and whoever's still online if you have any comments on this would love to hear them anyone online if I'd like to comment okay there is there is a suggested language I recommend that the board council authorized post change service care of Vermont public we have a motion to have a second second any discussion on the motion hearing none all those in favor of motion indicate by saying hi hi hi we'll see nay nice habit motion passes that brings us to number eight on our agenda tonight and that's commissioners checking which is basically one last opportunity for commissioners to bring up anything that's kind of been stirring in their head over the last hour or two I have one thing I don't want to you know anything but I was just curious about Darren if you want to kind of clarify some of the public comment that we received because about the the residue because my understanding is that BED does manage the force with the forester and that like that there's a lot of thought involved with how much we take from the but that equation that the gentleman pointed out I didn't really understand it and I just thought maybe if you had a moment I would love a clarification like the amount of residue that's there and then BED takes a portion of that yeah yeah so the I mean the report that was referenced talks about uh forest residues and then talks about the estimated piece of our supply that comes from forest residues comes from sawmill residues comes from the wastewood yard and comes from low value roundwood so low value roundwood would be you know I think was a half a percent in that study would be when you see like a whole tree that's stored on site like a log and that's essentially for fuel security it's a half a percent of our fuel supply in a given year what we did do and in response to you know we've had extensive public engagement on this issue over I gotta say probably more than a year because of district energy one of the things we did in hearing these concerns was updated the appendix to our wood contract which Chris mentioned and so we already were saying previously there's no economic value for somebody to go and plan a harvest for the purpose of supplying McNeill we do not pay anywhere near the amount per ton that you would need to make that economically valuable nor is that consistent with our you know different standards or or any of the desire that we have we know we are a market that's secondary market for higher value operations that are taking place and in some cases in many cases because of our sustainability standards that apply if you're selling wood to McNeill a higher value harvest that might not be subject to any sort of site management requirements are subject to it now even though we're the secondary market if you want to sell to us and in that case we can be a little bit like the tail wagging the dog in a good way and put some additional scrutiny on the practices make sure they're done well so we have a variety of different standards that we have to comport with all of that said we updated the appendix to make crystal clear if you are cutting wood and remember we don't cut any wood we monitor and manage we purchase these are independent operations but if you're cutting wood to supply McNeill exclusively we're not interested in that at all we will not accept it we will not accept cuts that are for energy production the carbon value from that is not favorable relative to using residues we know that the carbon payback for using residues is far far quicker and that's why you can't just there is no one-size-fits-all there is no you know kind of just one value for wood it's a very dynamic you know and complex calculation to look at the true carbon footprint of a resource like McNeill but all that said we made really clear that we will take the tops and limbs the diseased and damaged trees and the low value wood that would be left over from a commercial harvest so we're not taking the higher value wood that's going to timber construction furniture saw logs different purposes and so that's really now cemented in our contract if it wasn't clear enough beyond that the district energy resolution that passed the city council has a third-party study to kind of further verify all of this that's going to be included in our FY 25 budget so we have the INRS study which was a third-party study we have our contract we have our foresters who you know do this work day to day and are always available you know missionary desires to have them come in I know they'd be happy to yeah four foresters who do the work to verify the site harvest management plans and we have the report from INRS that showed that in the areas where we're harvesting that there's actually been a net carbon gain in the lands as opposed to a loss these are all complex inputs and and different pieces but we're going to have an additional third-party study so to the extent that there is continued skepticism the district energy resolution specified that we'll be including that in our budget which you'll hear the full draft budget next month in April and then we'll have an additional third-party study to help independently verify the various practices that we have other questions checking items going once motion to adjourn I've been adjourned motion have a second second one favorite key by saying hi hi hi we are adjourned thank you folks


You're welcome back to the breakfast on Plus TV Africa. Our first today in history story takes us back to the year 1995. It occurred today on the 22nd of July. It was a very shocking story that happened. So what happened was a woman called Susan Smith was found guilty of drowning her two children in South Carolina. So a jury found her guilty of two counts of murder, one for each of the little boys she left under the water of John D. Long Lake. So initially Susan Smith had put out a public appeal saying you know on national television saying that a black man had carjacked and kidnapped her children.  So she came on national TV to say she was appealing for the rescue of her kids you know one is 14 months old the other is three years old and it was so shocking when we saw that nine days later she was found guilty of killing her kids that's because she had strapped them to the car and simply you know let the car drive down into the lake basically drowning her two boys. It was a very sad situation very shocking because prosecutors say she killed her children because a man had broken her heart about eight days or so ago but she's denied that saying that's not true that it's unfair of the prosecutors to say because of a heartbreak that's why she killed her boys but it was just such a sad thing and I think what's even shocking is that a year later in 1996 some people went to the lake where those boys drowned to look at memorials of those boys and then seven people then drowned while trying to look at memorials for the boys including four children it just really is very scary traumatizing experience that's crazy. Two things the first one is the you know the fact that you know I don't think we well you know a lot of people would first of all point to postpartum depression here but I don't from the you know details of the cases and look like you know postpartum depression this looks a little bit more like a person who committed murder you know because of all the issues that she may have been dealing with the second one is white women tears so white woman commits a crime and the very first idea that pops in the head you know has to be a black man yeah still blame black man you know and the imagine that there's some black criminal around their you know community that has been kidnapping children and then that's that was that's because a black man has been so criminalized and victimized that it seems like a convenient excuse for whatever you know alibi you're looking for whatever crack you know totally wild totally wild anyway let's move to the 2003 and this is right after the you know iraq and afghanistan invasion by the united states in the in the middle you know of that period some you know u.s. soldiers were kidnapped all female soldiers one of them jessica lynch her name was a private jessica lynch who was a prisoner of war it was on this day she was rescued from an iraqi hospital and received a hero's welcome when she returned to a hometown in west virginia she was a 19 year old supply clerk who was captured by iraqi forces in march 2003 and eventually spent some time with them before she was eventually rescued she was taken to a military hospital in germany for treatment and then returned to the united states but there was of course some controversy concerning her release and you know her rescue from the iraqi forces and the major the biggest one was eventually she put out a book titled i am a soldier two the jessica lynch story the major controversy was that the media tried to sell the story that when she was captured she fought you know and you know and you know tried to defend herself and her fellow soldiers did all she possibly could you know fired all her bullets you know but you know you know as a hero that she was eventually she was captured but when she eventually was released she simply said no none of that happened actually i was knocked unconscious when the you know of equal turned upside down and you know that's how i was captured and so all the you know washington post and some other you know media organizations that are trying to make her look like a hero she basically denounced all of that and said now i really was unconscious when i was captured and none of that happened there also was controversy because it was three of them that were captured one of them died in the attack and then there was another female soldier also who was also captured that was released but didn't make the news and the controversy of the conspiracy theory is really that she was black and that's the reason she didn't make the news so jessica lynch was celebrated as you know given you know all the publicity of the heroes welcome you know and all of that so you know after she was released from iraqi forces but the other soldier who also was chugged with her didn't even get mentioned um as as as the u.s. soldier who was you know captured and released um she was a black officer i hope i can find her name someplace uh maybe i can't anyway she was a black um you know soldier um and didn't get the same publicity so these were the two controversial issues concerning jessica lynch and her capture and of course release um in that period this this is all in 2003 and by the way of course the united states you know remained in iraq for many many many many more years so trying to wrap my head around the story why would two people who went for the same experience you know come out and then one is celebrated and the other isn't you know you can't really deny the race thing you know all this comes up in those circles yeah but good thing that we're both rescued on this day in history absolutely all right stay with us we're moving to our first major conversation for today and that is uh nigeria and the international community we've here we're hearing conversations on the uk trying to step in uh with regards in amdi canis case there's also a republic of bennett where reports say have refused to answer the nigerian government's request for a tradition of sunday bohal and so we're going to be looking at these issues and trying to see where nigeria truly stands in the international community is nigeria still africa's big brother or have we lost that spot and you know how relevant you know it really is nigeria to the rest of the continent we'll talk about it when we come back stay with us


In about 23 years of working in local government I've gotten the opportunity to work on a number of amazing different projects but I've never been as excited about something that I'm working on as I am right now with the innovation work that we're doing in West Sacramento as a result of the Council's 2015 Strategic Plan direction and specifically the Code for America Fellows program. Code for America is a non-profit organization that's been around about 10 years and their mission is to help local governments make better use of technology. Their flagship program is the Code for America Fellows program which is like a Peace Corps for Geeks in essence. It's an opportunity for mid-career tech professionals to take a year off from their normal duties and spend that time working with cities helping them solve problems using technology. So we competed for that. The cities have to compete and the fellows that participate also have to compete and it's very competitive on both sides. Our application was done in collaboration with the Sacramento Area Council of Governments that were selected so we have three fellows if you can put up the first slide. Here they are, you're recognized Mayor Cabaldon on the left and City Manager Martin Tuttle on the right. That's Iminal, Natasha and Grant in the middle and they've been working with us. They came in February initially and they did a residency phase where they were doing all kinds of outreach and then they've gone back to Code for America Headquarters in San Francisco now where they're working on prototypes for the program. And the policy arena that they're focused on is food which is relevant from a policy standpoint both to the city and to Saekong. So they're working on prototypes that focus specifically on food access and they've got a number of different ideas for projects in that sphere. So they're working on those and we expect them to be refining their prototypes in the coming weeks and coming up with a final project that they're going to work on which we expect the final deliverable for in September. And that's good news for West Sacramento because they're going to come up with the work product will be a computer program or an app that will help us deal with food access issues in West Sacramento but they're going to design the program from the ground up to be scalable. So with Saekong's help it will be something that we can share with the region. So that's something for everyone in this room to also like. But to me the application of the final work product isn't necessarily the best part of the program. The best part of the program to me is the opportunity to observe the fellows in action and learn from these people, these private sector technologists, folks how do they attack problems and what do they do and how can we apply that to our work and local government. So if you go to the next slide. This is the fellows at an urban farm in West Sacramento and you'll hear more about urban farms. I could have picked any one of a number of different pictures for this though because the purpose of this picture is to talk about how we didn't know when we started with this project what the work product was going to be when they're done which is a really unusual thing. When you think about we're paying to participate in this program yet we're committing to do the program without knowing what the work product is going to be. And I think that's been an interesting ride for those of us that are used to the normal way of doing things where you do know what the work product is at the end. But it shed some interesting light on the question of procurement practices in general and I wonder when we do an RFP, when we do specifications, when we do a scope would it not make sense in some instances to give our consultants these experts that we're hiring for more degrees of freedom to actually iterate and work like the fellows to come up with the best possible outcome that they could for us. So next slide. Another important idea that we're getting from the fellows is they have a really close adherence to a philosophy called design thinking which is way too big a topic to talk about in one sitting here but they really like the idea. They sit down with their user groups. This is actually a group of food insecure folks that was put together for us by the Housing Authority, Lisa thank you. This was a great meeting. You can see the look on the women's face. There was a lot of engagement, one-on-one conversations and what the fellows did is they used these kind of interactions to get insights into their user group's needs and then they go back and build their prototype. They come back and talk to the users again. They sort of induce early and frequent failures in an effort to basically drive towards the most relevant useful work product that they can. So basically rather than running away from failure, they push it and encourage it and use that as an educational tool. I think there's a big takeaway for us there. Next slide. This is the last idea that I want to share. This is Natasha explaining to City Council member Mark Johansson and some others at a SACOG meeting how the project works. And you notice the sticky notes in the front. Another thing that we're taking away from these fellows is their amazing alacrity with ideas. They take ideas and put them on sticky notes. They put them on flip chart paper. Basically they're using office supplies that you could pick up at OfficeMax and using these incredibly sophisticated yet inexpensive techniques to elaborate their ideas. And basically you can count on if you're in an ideation or brainstorming session with these folks and you say something, it is not going to be lost. It's going to be captured. It's going to be prioritized, sliced, diced and utilized. So all that user input that they get doesn't get wasted because they utilize these techniques. And to me that's a huge takeaway that we can also use. So in conclusion, we're really excited about the work product that we're going to be getting at the end with this application. We're also looking forward to taking the lessons that we learned from the fellows themselves and kind of systematizing those, turning them into some training materials or other materials that we can use internally in West Sacramento and then ultimately put in some form that we can share with all of you all. And so we can all hopefully take a little bit of that private sector sort of tech startup DNA implanted in our organizations and use that to make ourselves more efficient, more effective and to deliver better outcomes for our communities. John, it looks like you're going to be rewarded for being willing to start something without knowing how it's going to end. And it goes back to Bill's idea of being prepared to fail if you need to fail so that you can advance forward.


and there's a correct line. This session is Living, Breathing, Drupal, the Biology of the Request. My name is Kenny, webgenny.d.o. I work for Hacquia, where the enterprise value is drupal, so we provide support and professional services related to drupal as well as training in our great partner program. So if you own a development shop, you can become your partner, come see the after session. There's my obligatory pitch. So today we're gonna talk about first of all, if you have a mobile phone, you're gonna tweet with a hashtag for this session is DCL Supply. So today we're gonna talk about basically how drupal works end to end. When drupal makes a request from the time of the request it received to the end of the request. That's actually shown today. So, first let's talk about drupal as a system. And like many systems, it's built on traditional design patterns. Design patterns, they're everywhere in this platform. And so, if we really understand the patterns, then we can really learn how drupal works. One of the patterns that drupal is based on, thank you Larry Dahlfield for his great blog post on this, is observer and visitor. And like drupal's hook system, subjects contain objects called observer that listen and respond to events. And those are the builds on the idea that objects can be extended. So very much like the hooks in drupal. When drupal sevens do database layer, you can find the patterns of factory command objects. There's several variations in the factory pattern, but they all boil down to the same idea. One object, a client, or another object, the factory is for an appropriate implementation of a piece of logic. It doesn't care what it is. And the command pattern, the process of the quote doing something, is wrapped up in an object which create a new instance of the object, configure it, execute it, and then cause the action to take place. The dependency injection pattern is where things are sent to the object rather than requesting it on its own. Think of the variables passed into most drupal functions by reference, right, that little and sign. What if we don't know in advance what the time and information or context we will need, or if it will vary? One common solution is a variant of the concept of something called broker and migration. This doesn't feel like it's working. This doesn't feel like it's working to you. It must be a better way to explain this. I am serious. Let's reboot. You guys ready to have some fun? Let's have some fun. First, let's meet the request. Ladies and gentlemen, eight-bit drift. A round of applause for eight-bit drift. Drift is gonna take us through a magical journey through drupal today. We're gonna go end-to-end through the overworld of drupal and we're gonna learn all about how it works. And we're gonna leave all that boring design pattern stuff where it belongs on the first four slides. I present to you the legend of drupal. I know you recognize this. I know you do. When we start off, we start off with something called the bootstrap. All right, so when drupal first takes the request from a web server, it has to bootstrap. And really, that's just a fancy way of saying it. It has to load the minimum requirements that it can require to serve what you've asked for. So the bootstrap is a special file called bootstrap.include. You can find it in the Includes folder. I highly recommend it if you're really interested in the underpinnings of drupal that you go to that file and take a look. And that's how I wrote most of the steps, honestly. And it's broken into seven distinct phases. Now, I'm gonna do a little disclaimer here because I'm gonna go through these phases in the way that they are laid out. However, you should know that if you really wanna know how this works, they sort of bounce between them. You know, like the database phase happens. So first is the configuration phase. So just like the legend of drupal or any of your famous video games, you always start off by entering your name. That's a variable. So it's an important variable to our request. And basically what the configuration phase of the bootstrap does is it has custom error handling, it's prepared, the settings PHP file that you could find gets loaded, and some PHP variables are modified. So those are those old in-sets that you see in, you know, where you send your memory limit and digs in that basin. And then key variables that are used later in the request are initialized. So that's configuration. Now, phase two is the paid cache phase. In drupal, there are two of these. There's a early-page cache and a late-page cache. For now, all you really have to understand is that if it finds the page that you're requesting in cache, it will return it and the execution of the request will end. So to give you a little bit of that idea of the difference between early and late, basically early means that it's, you know, early on in the bootstrap and late means exactly what's been later on in the bootstrap. And the real distinction between those is that later on in the bootstrap, there's this function called hook-to-upline-earlier. So that's when you click that aggressive setting and your performance page and it complains and it says XYZ module's not going to be compatible. That's why. So just like most video games, if we've already saved this game at the end, there's no reason that the game is, the drupal database stays. It connects to your database, it loads the appropriate database, include file you've assigned, and it basically now makes a cache to it. And this way, it can do its queries, and you know, because everything in drupal is the database, right? And so, however, though, if for some reason your database isn't available and it fails, like if this is where you're in Nintendo in 1988 and the database failed, it might look simple like this. So, luckily, drupal provides a much nicer site offline message and you also don't have to blow into the cartridge and use a Qtathon to get it to work. Before I move on, let's do a regal. Many years ago, the evil Prince darkness chicken stole one of the tricorps with power, the golden hooker. Prince's drupal had one of the tricorps with wisdom. She traveled to the end of the island to hide it from kitten before she was captured by his evil army. Don't find the crystal node, Dries, to save her. So, our entire journey today is gonna be based around finding the crystal node. There's our hero, ready in the overworld. All right, so, here we go. The next phase of the bootstrap is the variable state. This is where drupal initializes its locking mechanism. It loads its variables. It's got the cache along the way to see if it can save any time by loading those variables. And the last thing that drupal does before it calls the bootstrap function is it resets the variables that came from your sevens PhD class. So, very much like the inventory in an RPG game. This is where everything is essentially loaded. These are all the things that you're gonna carry with you throughout this request. And of course, everyone in here knows Dries, and you know he doesn't go anywhere without me, Joe. Next is the page header phase. This is where what boot is called for all the participating modules. And if drupal's not on the command line, like brush, for example, an HTTP header is sent. All right, and this is the thing.  And really, when you hear page header phase, that sounds really fancy. But really, it's just that function right there. How many lines of code is that, six? So essentially, all it's really doing is it's just, like I said, it's bootstrap and vocall, which we'll talk about a little bit later to talk about in vocall. But that calls all of your hook boots.  And that, of course, like I said, if it was on the command line, it was not on the command line, it sends a page in. All right, so next up is the second phase. All right, this is where drupal determines if there was plus as a login user or not. And remember, when you're logged in, there's never gonna be a cached page. But one thing to remember as a little sidebar is that that only applies to your page cache, right? That can be frustrating. Sometimes you're logged into the administrator, your menu's unupdating, your variable's unupdating. You don't understand because you're logged in. Well, that really only applies to page cache. Every other cache mechanism in drupal doesn't respect that. So you literally have to clear your cache. The next phase is the language phase. This is where the translation of drupal interface takes place. This is where the key function that you define if you're a great programmer and all of your modules. This is where all that happens. And one of the things is that drupal has hundreds of translations that are available for, and that's on localized.drupal.org. And that's the phase where basically we write the language of the entire interface. We've been taught a new magic language. And now he's going to get rid of the name. This is Rufus. All right, but this is very fun to do. Is that clear to side? Excellent. And our next phase, we're going to talk, well, the next thing we're going to talk about, that's the seven phase of the bootstrap. So the next thing we're going to talk about is essentially where it's going to go. And so the question about the menu system as well, how does it know where to go? When you request your food flash bar, how does it know what your food flash bar is? And so when a request comes in, assuming that you have, assuming that you have the path module, a lot of you may have aliases, it basically looks up the path alias as it's regular. And then it goes to a table called menu writer. And inside the menu writer table, Drupal is essentially every design path that is in the system. And that can be a very good table. And that's also a really great way to, when you're having menu problems, is to dump the contents of that. So the menu system is, you know, broken down into a lot of different ways. And I mean, how are these treats going to know where to go on this big island? Well, according to our buddy, Link, you should just press the left for the map. So the first question is, where are we going? Where are we going in Drupal? And you know, this is, what you're seeing here below is, that is the code that essentially tells Drupal in your hook menu, where it should go. And you're passing an item to Ray, and you know, that's the path that could be any path at all, it can have slashes in it, it can have arguments in it, it can have anything in it. And that gets written to the menu writer table. And so this is where it determines where we're headed. The next question we're going to logically ask is, you know, can we get there? I mean, are we going to be able to actually get there that we have the right keys to how we know? And that really is broken down into a function called the access callback. This is the property of your array. And inside the array, it's just, you know, if you can put anything in there, actually, you could put three, or there's one of those things that you didn't care if everybody had access to. Most people will use user access and some of the access callback to do some complicated logic. This is essentially what determines whether or not you can access the path. If so, you proceed, if not, execution stops and you get a call. And now the last question is, how do we get there? So how do we actually travel from where we are now in the hour of Drupal all the way to the castle on the L? And what takes place between UP and A essentially is what's called the page callback. That's a function that you need to find that just tells Drupal what it should do when it finds that path. And that's how Drupal decides how it's going to render the page. And somewhere in Drupal, a function is defined for every single path, if it's a node path, a constant path, there is always something like this. Our next stop is on the hook system. Our favorite thing for Drupal, because when I really got this, I really was able to sort of graduate into a Drupal lesson.  You kind of understand what's really done. Once you really understand how they work, you really can register power, and that's what we're going to talk about now. There's a lot of animation here with me. So the hook system of Drupal, you know, you recall earlier if you were awake when I said this, that I referred to something called dependency injection at the part of the session. And that's basically, this is a variant of that design pattern. What it means is that as Drupal goes through it's defined in hooks that it executes each one, it inserts or injects the variables that are found in what's being passed in a function. Right, so that's that little ampersand, dollar sign, too. So for example, and so how does Drupal determine which one is going to call first? Well, basically it does it in two ways. It determines by the weight of the actual module, which is defined as a magic cable called system, I highly recommend you learn it. And that basically has the weight, that's the very first thing. And so weight is just simply an integer, it can be anywhere from negative 99 to, so of course it orders it by that. And then if something has the same weight, like if everything has zero, like it usually does when you install Drupal, it goes in alphabetical order. So very much like an inventory in our game as variables are passed by reference, their attitudes. So for example, the form variable and the form alter, in this case, Rhys has picked up a shield and now it is part of the hook. And so hooks, they don't just have, sometimes we use hooks to take things away from something. So in a hook form alter, we might own set five or six form variables because we don't want that to show up. So hooks can basically modify for all terms. And if we want to remove things, we can do that too. Major bonus points if you could tell me what game. All right, so let's talk about this function. This is basically modular vocal. As far as I'm concerned, this is one of the best functions in Drupal. Because to me, Drupal documentation is excellent, right? The API is 100% oxygen, so it covers all any standards to it and that's how it's generated. Unfortunately, what isn't always great in document, contributed much. Really, this is the magic function of Drupal. If you're having trouble finding out what hooks you can use in a contributed module, a simple search, using graph or any of your favorite text editor tools, can, of the modules folder, return this. So if you're looking for module in both all and you find like 15 instance of it in the OGM folder, then that's every hook that is, so it's a really useful way to be able to sort of go through and understand what each module has to offer if you can modify them. And again, you know, this is one of those situations where the code really isn't all that big of a deal. The only function here that might seem a little scary is that callUserFunk array. It's really not that big of a deal. It just means that it can pass any arguments, any variables at all to this function and it'll just pick them up. But at least the scene system of Drupal comes into focus. This is where all the presentation decisions of Drupal are made. So assuming that you have built the correct, all of your presentations should be taken. It's the Drupal 7 core maintainer, Nancy Webchick-Pyman. She's here to teach our hero all about the theme system. All right, so again, the theme system is the presentation layer. First, let's talk about the theme loading process. So when Drupal gets to a class, it goes for all of this, it's going on all these hooks, and everything else, it has to turn what theme to load. Is it going to be gallery, is it going to be logic, is it going to be some kind of theme? And what that essentially allows Drupal to do is then being able to know what folder has to look in for the files like temple, php, and tp, and here. So that all happens in a lot of places. Now, obviously I'm encouraging what occurs in these, and I highly recommend you, and there's a little file called theme and code. And so the next thing is after it's found a theme, it's going to load up temple, php, and execute what are called pre-process functions inside it. So just like hooks, if you remember, they follow a certain meaning convention here. The thing is sort of naming conventions, depending on what every time the node is just like the hooks. The last thing that Drupal does is it then loads your page temple files using its suggestion engine, and any theme functions. And along with that, it loads the JavaScript, the CSS, the images, and anything else that comes in technically prior to Drupal sort of requests the site, right? So that's not where the Drupal overhead is going up. So now, after the request, we've arrived at the castle with a crystal notice, and I feel like basically now we're going to complete this journey. And he's ready to prevent himself from the evil kitten and find the crystal one of them. So anyway, we're at the end of our quest, and so this next part of the session, I'm going to kind of divert a little bit, and I'm going to talk a little bit about how you can use this information to build that effect. And it's going to be pretty lively to an extent, you guys are going to do a game over screen. Now this is actually an important topic. Let's talk about the updates. So there is a sort of a side piece of policy side, a very important piece of Drupal that's a side file that we have to actually fix. So when you request a page, right, it's going to index the action, and it's installed, and the code's gone to install. It all does basically the same thing. And what it does is that it essentially goes to my favorite table in Drupal that I've talked about, which is the assistant table, okay? The assistant table essentially contains things like name, it contains file path, the weight that I talked about, but it also contains a pretty important number that a lot of people are confused about when they first see it, it's called schema. All right, that's the column. And so the schema number in that table matches up to an update function that you have somewhere or that Drupal has somewhere in its dot install class. Let me give an example. Let's say I have a module called foo, and the schema version in that, when I install is one. Now if I want to update, all I have to do is in dot install put foo update two. And when Drupal runs update PHP, it's gonna know that it has to implement and it's gonna run that. And so then I can, and so a good way to sort of do quick and dirty testing when you're doing this kind of thing is that the window assistant table and this benefits it in a while. And let's say you're on the development line, of course. So let's say you basically want a bad update. It doesn't break it, I mean, it doesn't do what you want. So how do you get to go back and rewrite another update? Well, that gets long when you debug. So the truth is, the question is, I mean, so what? I mean, why do you have to know how Drupal works from end to end?  I didn't go through every single amount of code that would take me forever. But it's good to go through the general form. It's really a good idea to see, I mean, even if you just open up index PHP, there's a wealth of information there. I tend to go through the same system, I mean, Drupal is big and scary, and so you realize that it all boils down to one file that just calls all the various functions in the system. And so it's important to kind of know it and to end, because in many ways there is, you know, there's a sort of troubleshooting at the core to the problem here. They say, you know what? For some reason, the variable on this page is printing out weird PHP arrays, okay? And so you look in the modules, you look in the modules, you look in the themes list, and it's showing up right this way.  Knowing that the theme is loaded last, what would be a really good transition instead? Change the theme, right? Change the department, change it to garmin, change it to one of the default themes. And see if the problem still occurs, and that becomes a problem higher up the stack, right? And then it's modules. Now you locate the module that may be causing the problem and the hook to that. What's happening? Well, what's the next step? Disable the module, right? Disable that. It sounds like if you go higher up the request, and you disabled a custom module, if there's a core bug, you should be reporting, and if you disable the core module, and it's still happening, then it's something in the actual file that you should be reporting. So by understanding kind of the execution order of Drupal and how it runs from end to end, you can essentially troubleshoot any problem. That also helps you build better sites, okay? When you understand my Drupal functions, you can build a better site because you know that the theme layer, all of your presentations through here. And how many folks in here are, I don't know, two years plus through both periods? I said you've seen a lot of sites. How many folks have actually picked up a site from a number development? Many of you have seen things in it. So it's because those developers really haven't, you know, they really didn't understand Drupal at a steepest level to understand, you know, you really shouldn't be putting a database query in a template. So what I'd like to do, like I did in my last session, is I'd like to kind of open for, this is a really complex software, so I'd like to open to Heather. Thank you, Learning Services person, who teaches me how to do these presentations better. The question was, can you talk a little bit about the constants in the Bootstrap Cloud? So some of these constants that are in the Bootstrap, like Drupal database and Drupal Bootstrap and whatnot. So those constants will map to certain environmental variables. One of those constants would be the CLI function I talked about. If you follow the thread of that CLI function, you'll see a constant call. So those constants are totally different times. One of the other constants might be, well, here's an important one. When Drupal Bootstrap's, not every single module in Drupal Bootstrap's, which you could tell if you go into the one aspect, and early on, if you remember when we were going to draw inventory, it basically sets a price that's saying you should run this during, so how many folks in here came from a previous, let me just repeat the question, first of all, can you give examples in the three different APIs that I talked about, the Hook API, the Theme API, Theme API and module API, where do things come and should go in a second place? I mean, a lot of that's gonna be personal style in terms of whether you're gonna put them up there, but how many folks in here have come from a previous programming language? And so you're familiar with this concept of separating business logic from presentation, right? That was deep in your head. And so, good examples in Drupal. Well, here's an interesting thing. All the theme functions that are available in the Feaning layer, they're also available slightly higher at the stack of the module level. There is a matching pre-process node function at every module level, so you could basically, if you had a module called foo, you'd be able to do foo pre-process node, and if you had a theme like R-Tec, I'd trade it on the stack to build. So the question that I often have, I don't know when it's right for you to do more. My only sort of, you know, it's kind of the best part of this thing, but my hard and fast rule is that, you know, if I need to have something showing up, if I need to have control over the feeling in the presentation of something, you know, that when the developer gets it, it's at least pre-processed. So a great example of that actually would be the stack. That's a lot of really, there wouldn't be enough for it to just fit out for values. So that's a great, you know, example of when you would put some theme logic up there in the module stack. But what is that a lot you're gonna do by putting it up there instead of like burying it in a core theme, is that it essentially allows the next developer to come around and turn it and talk. Please, I'll talk a little bit about that. And I'm gonna talk to your database, do it in the module. That's do it in the module. Once in a great while, once in a great while, you can put it in 10 for PHP for whatever reason. So there is basically a series of menu hooks in Drupal, and it's, you know, hook menu. So we're hooked with the name of the module, and inside of that is just a very simple, like it's the array API. Inside of that is just an array. Each one of those arrays has to apply. Menu, local tasks, does anybody in here know? So it's essentially just an array. Well, because you're, well, that's the Drupal interface, right? That's the Drupal interface itself. That's like the actual Drupal interface happening in a language space. See me after this, I'll explain that to you. It can be, right? And that's why, I mean, this is in a performance session, so those of you that saw me subscribe, I know I did one of those, but this is, you know, that is one of the things of Drupal, right, is to execute as little hooks that you possibly can. And how do you do that? You do that with caching. There are other ways you could do that too, right? I mean, you could take the pressure off the database and the caching table by using technology like that. So yeah, there are a lot of hooks in Drupal. There is an awful lot of execution that goes on, and that's why caching is such an important thing. Now, there are two hooks, well, there's actually three hooks that will, depending on your settings, will never run. Hook boot and hook exit, if you have an aggressive set in your performance page or external in the press call, that will never run. And if you have normal caching in it, so yeah, awful lot of overhead, this is actually a statement. There's a hook in Drupal 7 that actually allows you to rearrange the weights. So that's another way. A little short, but.


Hello friends, I am Sanjay Gupta. In this video, I am going to demonstrate you how you can implement generic constructors in Java. Before starting, you can subscribe my YouTube channel by clicking on the link which is available at the bottom right corner of this video. You can download my app Takimance that is available on Google Play. You can connect with me by following these details which are available in front of you. Now coming on to the topic. In this example, you will learn how you can implement generic constructors in Java. So here two classes are implemented. First is Jankons which is having a attribute value. Then this is a constructor definition for the class and it is having this notation t extends number. So this constructor is bounded for only numeric values. You can pass only numbers to this constructor and those numbers will be assigned into arg variable which is of type t and then arg.double value method is called here. So double value method will receive the numeric value and that number will be assigned into well. Then show well method is defined which is printing value of well on console. Then second class jan demo is defined which is having main method. Inside main method two objects test one and test two are created. So for test one value hundred is passed which is of integer type. So this value will be received by this arg argument and with the help of double value method that numeric value will be assigned into well. Then test two object which is receiving 123.5 as an argument. This f is indicating that it is a float value. If we don't use this f then in Java by default these real values are treated as double. So this value again will be assigned into arg argument. Then double value method will receive the numeric value and that will be assigned into well. Then with the help of show well methods the assigned values will be displayed on console. So friends you can see that I have created only one constructor which is processing integer and float. Both the values because this is a generic constructor. Now I am executing this code. You can see the output. Both the values are displayed on console properly. So this is the demonstration how you can implement generic constructor in Java. I hope you have understood the construct well. If you want to watch more programming related videos you can subscribe my YouTube channel. Do follow my YouTube channel. Thank you for watching this video.