Thank you for joining us today for another episode of Kondo Insider, and I have my name is Jane Sugimura. I'm your host today, and my guest is Sue Savio of Insurance Associates, and thank you again for being with us, Sue. My pleasure. Thank you for inviting me. You know, last week on our show, Kondo Insider, we were talking about the fire safety law that is going into effect right now. It's Bill 69, and what we talked about was the fact that now that the law has passed and we're trying to implement the statute, we're running into all kinds of issues between the people who are going to do the inspections and the associations who are going to be inspected and the fire department who thinks that everything is fine, and we keep telling them, no, no, no, no, the people who are doing the inspections, they have all kinds of issues, and they think that they can come into our units, and they're talking about opening up walls to look at vertical openings, and all kinds of things that were never contemplated.  And so now we have Sue Savio, who was, in fact, your company insured the Marco Polo. And so how is that coming along? Marco Polo's coming along fine. I'm sure if you lived there, you would think it was slow, but it was a big fire, a lot of damage. You're talking not every unit having damage, but at least 400 some odd having damage. So after a year and a half, well, we're not quite a year and a half, but many people are back in. They've gotten their money to fix their units up. Others, of course, were the two floors that had the worst fire. That's going to take longer, but after a year and a half or almost a half, we're doing well. We're getting there. And so Marco Polo changed how fire insurance now is going to be, the premiums are going to be charged to the associations, right? Well, what Marco Polo led the insurance companies to realize is that not all concrete high rises are built the same. So in other words, is your concrete high rise, does it have concrete walls between the units? If so, how many units between? Does it just have jet board rated for four or five hours, whatever the case, maybe two hours? So now they're going to be looking at the high rises that they write. And they're going to say, OK, it's a non-springboard building. How many floors is it? What is the height? What are the egress and ingress? They have concrete walls. How many units between the concrete walls? These are the types of things they're now looking at more closely. Because before the Marco Polo fire, the largest fire we had damaged three units. And beyond that, it used to be just one unit except for smoke damage above and on the sides and water damage below. And then we had one building that had three units damaged because they had louvers going from top to bottom, which no longer is allowed. And of course, the fire leaped from one unit to the next. And then we had three units damaged. That was the biggest fire for Hawaii, for condos. And then Marco Polo came, and now we've lost two floors completely. And of course, we've gutted one whole floor from one end to the other because of the fire. So the insurance companies now are saying, well, wait a minute. All concrete structures aren't the same. And I don't blame them. They have to look at it more carefully. So we have to be more diligent in finding out how it was constructed. And of course, the newer ones are hopefully constructed better than the older ones because codes have changed. And so that's what's happening now. So gone are the days of, oh, it's a concrete structure. The rate's $0.10. Now they're saying, well, is it $0.10 unsprinkled because they have open walkways, they have concrete partitions between the units? Or is it really $0.12? Or is it really $0.07? So that's now what's happening. So we're re-looking at the structure. So is it going to be harder to get fire insurance? Or is it just going to take longer to get a price now after the fire? It's not going to take, it's not going to be harder to get insurance. The insurance companies are there. They've been here forever. They've been writing condos. They understand them. They just want to price it right because if they have another Marco Polo event, they need to make sure that the, and we had enough money. Don't get me wrong, but we need to make sure that we priced it correctly. So it's going to be more underwriting work on our part to get it to our underwriters so that they can rate it correctly. And so how does that affect the associations? What information do they have to give you regarding their building? Or do you send somebody in to examine their building so that you have enough information to do the underwriting? Sometimes we do send in what's called lost control where they do go ahead of time and they want to check the building out. And to be quite honest with you, Marco Polo was one of those buildings where the company sent lost control in ahead of time. The two main companies that write large high rises and one said no, one said yes, and that's just the way it is. So they will continue to do those things. They will expect us as the agents to have a lot of background info, which we do have and which we submit out every year for bidding purposes. So it's just going to be a little more task oriented to make sure we get the information right. So can you give some numbers as to what it costs a building with sprinklers versus a building that doesn't have sprinklers? And what about concrete? And what if it's a wooden structure? And can you give some numbers out so that our listeners can get an idea of what it may be costing them for fire insurance now? OK, so obviously a wood frame structure for their fire insurance has more potential to burning than, say, a hollow tile building than a concrete building. So obviously the rate is higher for a wood frame structure. So whether it's New Year's Eve and a firecracker lands on the roof and sets the wood frame townhouse on fire or whether someone's cooking and sets it on fire, it has more of a potential to go faster than a hollow tile building or a concrete structure. So wood frame has the highest rate. Plus because of hurricane, don't forget that's part of your property rate. The hurricane is if the roof's aren't clipped, et cetera, there's more of a loss on a wood frame structure than on a concrete structure, which maybe they blow out windows. So wood frame always has the highest rate. Hollow tile, a little safer, has a lesser rate. And then, of course, concrete has the best rate. Now, concrete sprinkler will have a better rate than concrete, not sprinkler, because if there is a fire, the sprinklers will put it out. It will save the lives. So they get the best rate. So in terms of cost for coverage, can you give us some numbers of what it would cost for a concrete sprinkler building versus a concrete non-sprinkler building? OK, a concrete sprinkler building, the rate, because you'd have to multiply the rate by the value. But the rate would be probably 4, 5 cents, maybe 6 cents. Concrete, non-sprinkler, maybe 7 or 8 cents, maybe 9, depending upon other losses as well. Do they have a lot of water claims? What other pipes look like? There's all kinds of issues. Wood frame, probably in the neighborhood of 12, 13, 14 cents, sometimes higher, especially for Kauai, because of the hurricane issue there. Holo-tiles in between the two. So it varies. It's not just one rate for all concrete. They look at the losses. They look at the deductible the insurance carrying and things of that sort, and then come up with a rate. OK, and now under the new fire safety law, ordinance 14-18, I believe it is. And this is the old bill, 69. And so that ordinance calls for these life safety evaluations to be done. Is that going to affect the premium that a building is going to have to pay for their fire insurance coverage? It will. In other words, the life safety evaluation that you're going to take is going to show how safe your building is without sprinklers. And it's going to, when you pass it, I would like everyone to send it to me so that I can go ahead and submit it to my underwriters and say, hey, look, they passed the life safety evaluation test. They have all these things that protect them so I can get the best rate possible. Don't send it to me if you fail. Keep on taking the test until you pass so that we can submit that to the underwriters so we can try to get the best rate going. So yes, it is going to impact. So it does have an effect on the fire insurance rates? Sure, because imagine if you were the underwriter. You have exact two buildings, both concrete, exactly number of units, same number of losses. And you've got one that's passed the life safety and the other one that says, I'm going to do it three, four, five years from now. You don't know what it's in there. This one has passed. You know they have all the things that are required. You're going to give the better rate to the building that has everything and has passed the life safety if they were exactly alike. Right. And like right now, I don't know if you're aware. But the issue with the Bill 69 ordinance is that we have the professionals and the associations kind of at loggerheads because they can't really agree on what the ordinance is telling them to do. And so we are trying to persuade the fire department that they need to help us. They need to help. They need to get the professionals and the associations basically in the same room so that they can talk about the things that like one of the issues is mobility. And mobility is a big deal. If you have trouble walking and if the inspector or one of the people who is doing the inspection says, if you have one person in your building that can't walk down the stairwell, you have a 33-story building, you can't pass. I mean, that's not what was intended. And the fire department says that's not what was intended. The problem is that right now we don't have certainty. Right. And so we have a bill called Bill 72 that is pending in the city council. In fact, there's another hearing next week, Wednesday. And council member Fukunaga, who was instrumental in the passage of the compromise bill, her take on it is that she's listening to all of this dialogue going back and forth. And she says, you know, guys, nobody's ready for implementation. And so we need to extend the deadlines. Because right now the deadline is three years to do a life safety evaluation. And so some people are trying to get ahead of the game, but those people are now running into the professionals who aren't really clear as to what is going to happen. And that's running into these delays. And so it looks like we may have maybe a few more months before we can have some certainty. So that's going to delay implementation of the life safety evaluation. So that means that for until that is resolved, then we're not going to have any movement.  Correct. Because nobody's going to be able to do it, because the inspectors or the people who are going to inspect don't really know what has to be done. When you talk about mobility, every single condo has old people in it. Because they bought when they were young. My mother's a perfect example. She passed away in her apartment at 96. She lived there since she was in her 50s. It's going to be that way. There's always somebody that's not going to be able to go down steps. So you're right. The mobility issue alone would knock every single condo out, because no condo has just young people. So it is an issue. And even young people get disabled. So right. The rates aren't going to be affected yet because nobody can do it, because we don't know what we have to do. So you're correct. Everybody has to get in the room. We have to line out these 17 things that can be done, make sure we understand what has to be done, find the people that are going to do it, and then start. And then when they do start this process, and everybody has to go through the life-saving evaluation, they need to contact their insurance person when they get a passing score. Right. When you get a passing score, make sure you turn that into your insurance agent, because they want to turn it into their underwriter. And when we go out to bid, we want to put it on every bid packet that we send out to all the different companies to say, this is a great building. It's past the life-safety course evaluation. Here's their losses, and get the best rate we can. OK, we're going to take a break now. And then when we come back, we're going to talk about another area to have our condo insurance expert, Sue Saville, discuss. And that's D&O insurance coverage. OK, so we're going to take a one-minute break, and we'll be back to discuss that. Thank you. This is Think Tech Hawaii, raising public awareness. I'm getting older. Do I need to worry about falling? Yes, you do. Each year, one in four people, 65 and older, will experience a fall, and many will be serious. The majority of falls happen at home, so remove things that could make you trip and install handrails to keep you steady. To learn more about the steps you can take to help prevent a fall, please talk to your doctor. You can also visit aarpfoundation.org or Medicaremadeclear.com slash falls. This message was brought to you by UnitedHealthcare and AARP Foundation. Hey, baby, that's you. I want to know, will you watch my show? I hope you do. It's on Tuesdays at 1 o'clock, and it's out of the comfort zone, and I'll be your host, R.B. Kelly. See you there. OK, welcome back to Condo Insider. This is Jane Sugimura, and my guest today is Sue Saville. Thank you for having me. OK, and we were talking about fire insurance after the Marco Polo. And another issue, since we have you here, and we want to take advantage of all your knowledge on insurance issues, one issue that you and I talked about seems to be a growing problem in the state of Hawaii. That's D&O insurance, which is directors and officers insurance. Can you explain to the audience what that is? Well, directors and officers insurance is a policy you buy. You serve for free. The bylaws say that the association will protect you. The cheapest way to protect you is to buy a policy. And then, obviously, it has to deductible. Associations, the whole pays for it. You hope you never need it because you're trying to make the best decisions for everyone in the complex. But every now and then, even though it may be the best decision, someone doesn't feel it is, and they go ahead and sue. So then the policy is used to defend you. It pays the law fees. And if the courts determine that you did not make the best decision and there is a judgment, then it also will pay that. So it's a policy instead of covering fire. It's covering decisions or non-decisions that the board made that create a problem for the rest of the owners. And what I talked to you about is there was a recent case. And this is a Maui case. And the name of the case is White versus Villas at Kenno Leo Association. And it made the headlines in the Star Bulletin recently because it says, and I'm reading the article, jury sides with Maui couple in a 1.9 million disability discrimination lawsuit. And in that case, there was a unit owner. And one of the owners was disabled. I think he was partially blind. Partially blind, yes. And it involves the association allowing them to install a wood floor as an accommodation to his disability. That is correct. He lived on the second floor. And then can you just explain to us what happened in that lawsuit? OK, but before I do, let me just explain that discrimination claims and disabilities are part of that. Are the number one causes of claims here in Hawaii followed by breach of contract? Well, let's get back to this one. So on this claim, the legally blind individual went to the board and he asked permission to put a wood floor on the second floor. The rule said no wood floors on the second floor, only the first floor allowed. But the board gave him permission. And it was brought out as far as I've been told that even a member on the board who was on the second or third floor had a wood floor. And even one of the board members offered to help install it because he was a handyman. So all of these things indicates. And he got permission to put the floor in. So he puts the wood floor in and then the unit owner below complains. So the board tells him that he has to remove his floor. Now, he needed it because it helps him walk and tell him where he is on his unit. So he did not do that. And they started to find him $200 a day. So when it got to the point of $177,000 in fines, the board decided to go ahead and foreclose on his unit. Again, just because of the fines, he was paying his maintenance fees. Obviously, anybody else who doesn't want to lose their unit over fines would hire an attorney to meet with the board to say, look, let's settle this. You gave him permission. It's only fines. It's not like he's not paying his maintenance fees. Wave the fines, allow him to use the wood floor, pay my fees as the attorney, and we'll be done. But the board felt that they had the right to demand that he remove the wood floor. So they went to court, and unfortunately, they lost. Yes. And so practically, I mean, so when an association gets sued, like in this case, they got sued. They're the defendants in this case. They tendered the lawsuit over to their insurance company, which means that they took the complaint and they probably faxed or emailed it to their insurance agent, who then arranged to get counsel for the association. Right, so what happens is when we get a lawsuit, we go ahead and file a claim with the insurance company who's providing the director's and officer's coverage at the time of the lawsuit, because it's a claims made policy. So when we get the lawsuit, we go ahead and file that. The insurance company hires, they have uns in Hawaii, many attorneys that they use. So they went ahead and hired an attorney to defend the board. The board. And in fact, the association would get a letter from their insurance company saying, we've accepted the tender of your defense because the insurance contract requires the insurance company to defend, right, right, right, wrong, or ugly. They have a duty to defend. Right, so you can be the worst board in the world. They have to defend you. Right, you have a duty to defend, correct. OK, so the association, the board, gets this letter that says, OK, we've accepted your tender, and we accept under our reservation of rights. Right. Can you explain what that means? A reservation of rights is a letter that the insurance company says, everything we've read so far indicates that we should be defending you on this policy. Then they're going to go and ask for all kinds of emails. When did this happen? They want to know all the background on this lawsuit. Including board minutes? Board minutes, emails between board members, and they're going to get all of that. And let's say that even though the claim was filed January 1st, the event, the first time that they threatened a lawsuit was two years ago, when they first got the first $200 fine a day, that would be when the claim was initiated. So on the current carrier may say, not me, if it was somebody else back then, because that, when the claim was made, remember this is a claims made policy. So then the carrier sends this reservation of rights that protecting himself until he has a chance to really inspect it all. And then, of course, if everything is legit, and it is a covered peril and everything and we're going to defend, then he goes to court. Or you know he has the attorney to take care of it. OK, but in this case, the court came back and it came back with a $1.9 million verdict against the board. And the article says it's punitive damages. The insurance company doesn't cover punitive damages, does it? There are some policies that do. Some directors and officers' policies are broad and do cover the punitive damages. I don't know the name of the carrier on this one, so I can't really respond to that. But I have had another project where the board president was given punitive damages. He alone of like $30,000. And at first he thought, oh my goodness, I have to pay for that myself. But our policy did cover punitive damages. So it's hard to say that yes or no until I could read the policy or at least know the carrier. OK, let's say the insurance policy doesn't cover punitive damages. What happens to the board members who now have a judgment against the punitive damages? Well, don't forget the bylaws say that the association as a whole will indemnify the board of directors. So I have an hour punitive damage or an award against me as an individual being a board member. Now it's up to the rest of the association to cough up the dollars, including everybody. So if I have to come up with $100,000 or a million dollars and I have to divide it by the owners, that's what it's going to be. So that means that the unit owners end up paying the bill for this $1.9 million. Well, we don't know how much was punitive damages. OK, but let's say half a million dollars over this punitive damages. I don't know. They would, and let's say it's not covered. Then yes, that portion would have to come out for something. Reserves, I doubt they have $500,000 sitting around for claims that aren't covered. So more than likely it would be assessment time. Of course, it's going to be challenged, the decision. So we'll see what happens in the very end, because remember there was a lawsuit with three-point something way back when, and it settled for much less like 1.2 by the time it gets challenged and what have you. So I'm sure this one will come down. Maybe, maybe not. I don't know how much was punitive damages, and I don't know if the policy covered it or not. OK, so people are saying, well, why are we talking about this? Why are you and I talking about this? What does it matter? Does it matter to all the condos in Condoland here in Hawaii? First of all, anybody who is a board member should be nervous. What does our policy cover? Do we have enough limits? Otherwise, who wants to put their personal assets on the line? Anybody who's an owner in a condo says, I sure as heck hope my board's doing well and makes decent decisions, because if they don't, am I going to be responsible to cough up some money because it's not covered? Then, of course, it affects the rates. We don't know what carrier this is, but if it's one that's still here in Hawaii, it's going to be put into the mix of all the other claims they've paid. And I'm going to say, we collect this kind of premium, pay out this kind of dollars. Hawaii has one of the highest payout rates. When you look at nationwide breach of contract, which I mentioned earlier, I think it's like $42,000 or $24,000 in the average claim. In Hawaii, it sells for $133,000. And it's a huge increase. Our claims don't settle for Manini dollars. It's very expensive. And you look at our premiums, and our premiums are relatively low. When you compare us to New York, California, and Florida, which have all condos, we're the worst. Hawaii is the worst for discrimination and for breach of contract. Makes no sense to me. So it would appear that rather than going to court and ending up with a judgment that maybe the party should engage in mediation and try to prevent these lawsuits from going into court. I couldn't agree with you more. And before it even go into mediation, if somebody's upset in your complex, invite them to sit with the board and find out what's going on. Because sometimes you can nip it right in the bud, because somebody thinks something's going on. But when they understand, maybe it won't. Maybe you have to go into mediation because they're not accepting what you're saying. And that's fine. But mediation before you go to court. Because once you go to court, and condos don't do well in court. Because the association is pictured as this nasty board and these nasty people who don't like the poor people who are living there.  Really? Yeah. And so with mediation, I mean, we have one program, evasive mediation, that is subsidized by the Condominium Education Fund. So really, if there is a dispute and you end up in the evasive mediation program, you only pay, I think it's $375. Each party pays a nominal amount. And then the state of Hawaii subsidizes the balance of the mediation. And to me, that seems like a lot better way to try to resolve problems than going to court and taking a chance with the jury. And to me, that was scaring me to death. Right. To have the jury hear all this ugly stuff about what's happening to a disabled person. And it's like, what were they thinking when they decided, well, let's go to court and fight this out? And you have to understand, somebody who is legally blind can walk, can see a little bit, has shadows. My mother's the perfect example of someone who was legally blind. But yet, she would go out by herself carefully. And as it got worse, obviously not. So they saw him walking around. They said, oh, he's really not blind. But he's legally blind. He's certified. So you can't just assume because he's walking that he's not legally blind or with help. So you have to assume when someone comes to see you that what they're telling you is the truth and then go from there. Ask them, see medical records if it's necessary, whatever the case may be. But you've got to be a little extra careful with the disabled. Right. And mainly because we have the Civil Rights Commission. And I did talk to the attorney. And he told me that they did go through the civil rights process. And they got a right to sue letter from the Civil Rights Commission. And so that means that there was an attempt to try to resolve it there. And for some reason, it didn't get resolved there. And they got a right to sue letter. And this is what happens. They end up in a jury trial in Maui. And they have this huge judgment, which will probably be litigated for another couple of more years before we figure out what actually is the end result. And it just seems like there's got to be a better way. Well, even the other case that I told that 3. Whatever it was originally, it was in Maui. And it did eventually go down. But as you're right, it takes years. And during that time, your condo has this litigation against them. And when you go to sell or you want it to refinance, every mortgage company wants to know about it. Is there enough money to protect the association? Sometimes they won't process the sale. It's not pleasant for anybody. So it's more than just an insurance issue. It's a pocketbook issue. Well, you know, we've run out of time. And we always enjoy you on the show. Thank you. I mean, you're always so helpful and informative. And so, you know, I really want to thank you for being with us for this episode. And we ask the audience to join us next week for another episode of Condo Insider. This is a show on condo living and for people who live and work in condos. Thank you for joining us. And please tune in again next week at 3 o'clock on Thursday. Thank you. Thank you.


So I'm just very briefly going to speak about the UBC wiki. We heard from James and John earlier that there are, you know, Wikipedia is one wiki and that there's, you know, millions of wikis out there. UBC has its own campus-wide wiki. One thing you'll notice right away is that it looks a lot like Wikipedia. It's got the sort of same interface, the same user, and that's because we're using the same software that Wikipedia uses. It's called MediaWiki. It's run by the MediaWiki Foundation, and we chose it for a couple of specific reasons. And the first reason is, like Wikipedia, the approach to the software that Wikipedia runs on is a very open approach, so anyone can contribute to it. It's an open source software, and this is great for us for a couple of different reasons. The main reason is if we need to develop functionality that the wiki software doesn't have out of the box, first of all, someone probably has already developed it out there because they need it at first. Second, if they haven't developed it, we can sort of work with the whole community and say we need things. So we're going through that process right now. We're trying to change a slight upload thing. We've been in contact with developers around the world who have sort of the same interest in developing that. The second idea is that having the sort of look and feel and interface of Wikipedia really helps us out. Students get the idea, the community gets the idea of what a wiki is just by the look of it. And it's also, as they go on from UBC and are using other wikis, they're most likely going to run into, at some point in their life, a media wiki-based wiki. And so they'll have some familiarity with how that software runs. You'll notice, though, we have two big differences between the UBC wiki and Wikipedia. The first is we define the UBC wiki as a collaborative space. Wikipedia has a very specific purpose, and it is an encyclopedia. If you go to Wikipedia, you can read reams of literature of what Wikipedia is not. The UBC wiki really doesn't have a defined purpose. It is just a collaborative tool. And this really came out of the need or out of viewing that wikis are great teaching and learning tools. They're also great administrative tools. So wikis have always been part or are currently part of the VISTA software that we use for learning management systems. But as John pointed out earlier, students sometimes want their contributions, their information to sort of live on beyond once that VISTA shell gets collapsed. The other sort of main difference is, you'll notice we have a login button. The UBC wiki is not anonymous wiki. It is tied to your UBC common campus-wide login, your CWL. So every time you log in and add it to it, it is tied to your account. And that has made a difference in the usability of the wiki. There's a lot of fear for the idea of putting your information into a wiki or putting your course into a wiki where anybody can edit. We haven't had any problems really of any sort of vandalism. And that might be partially due to the fact that it is a CWL login, but it's also, I think, goes back to the first wiki, which was created by Ward Cunningham. And Ward Cunningham sort of had this brilliant insight that people who collaborate together tend to trust one another. And that's what we see. We see the community at UBC. They're not really out to vandalize things. They're really out to just try to improve the information they come across. So I'm just gonna just talk a little bit of just very briefly of how the UBC wiki is being used. And it's being used in a couple different ways. It is definitely being used for courses. And I'm just gonna show a couple examples of courses being used. So because it's being used for different purposes, we've kind of created a different level of organization called namespaces, where we try to take pages that are grouped together by sort of purpose and theme, like courses or documentation, and put them together in one area. So in the course pages, I'm just gonna take a couple examples of different sort of style courses being used on the wiki. Sorry, let me get down. So here is, if I can find it, a math course from last term, where the instructor really liked working in the wiki. It renders math language well, so he did his complete course. I was an in-person course, but put all his information here on the wiki so you can see various class pages associated with it over here. You can see he's built a forum. There's discussions going on on each pages. So it's instead of using a website or a blog or a VISTA shell to do his course, he decided to use the wiki and he found that he had great sort of success in that. Another sort of example of another course being used the wiki, they wanted just sort of a nice area for students to be able to talk to each other. And wikis are great software because anyone can come in and edit them. So here's a political science course. They were creating surveys. Here's an example of students working together to create a survey. They sort of have their topic, which is media. And there's not a lot here besides their questions, but if you go into the discussion page and we use a slightly different tool than Wikipedia's discussion pages, but you can see that they have a huge amount of conversation going on. These are all individual comments about what should this question be? What should another question be? Finally, another good sort of example is going back to the traditional idea of writing papers and just getting back to the course page. And this is a great example, and I think we hear a lot from instructors that they want the students to have more of a realistic ability of what it is to write in an academic setting. And what writing in an academic setting is, it's not handing your paper to one or two people and having it read and then it's never seen again.  So here's just an example, just really briefly of a paper written by a group. Again, Wikis are great for social collaboration, so you can see the group's done it really nice. It's put it together. You'll see here at the bottom, it's been accessed almost 2,000 times. So at least some people have found this page and said that's a very useful page. Another just brief example of that is, let me go into an Earth and Ocean Science course. And you'll notice unlike Wikipedia, we tried to, because we don't have a defined purpose, we try not to put too much emphasis on style and look. We want people to use the Wiki. We want it to work for how they're using it. And we don't really necessarily need it, everything to be perfect. So you'll see pages look different. People use full links rather than internal links. Just another example of a paper written by a single person in the UBC Wiki. So again, it works well with multimedia. You can embed videos, you can embed MP3 files. Works well with footnotes and references and this one's been viewed 1,500 times. So they've had a different experience of writing just for their professor. They're writing for a bigger community. Another sort of use of the Wiki is for administrative purposes. So it turns out having documentation in a Wiki is a great way to run your documentation. Instead of it living on someone's hard drive or in a shared drive, you can put your documentation right into a central repository. Lots of people can come in and edit it. It can be sort of the view, and this is I think true for Wikipedia or for any sort of document in a Wiki, is a Wiki is not a final product. It's a product in progress. So if you put your documentation into a Wiki where anyone who has information about that documentation can edit it, that page will be more likely current and up to date. So we do have a documentation page and you can see botany IT has put their information on how to use their scanner right there because they don't want one person to have this information on their desk or in their knowledge. They want it in a centralized place. So the UBC Wiki is also part of a larger framework and it works really well with this framework. And you can put your content into the UBC Wiki and you can republish it very easily in multiple places. And I'm just gonna show a quick example of that. You can see our future article is today's event. So here's a page that somebody has built that is saying share pages of the UBC Wiki. So the library uses the UBC Wiki here a lot for their content management system. So we have a page how to find articles. How do you find articles at the library? You'll notice it has a list of topics that correspond to headers. They have their information. They can find that out to their various websites. So here's that same information on a live library site. So you'll see these topics correspond to the topics in the Wiki. The information is not living in the webpage, it's actually living in the Wiki. So if they edited the Wiki, the edit would show up and change it on their webpage. But the sort of genius behind that is they have that same information in multiple places. So here's that same information being pushed out to the Learning Commons website. So again, you see your same headers, that information's there. So instead of having two separate pages that must be updated and maintained, they have a centralized place and then they push that information out. So finally, I'm just gonna talk very briefly about the sort of what we call the main space of the UBC Wiki. And the idea behind that is probably the most similar to Wikipedia, but we didn't wanna repeat Wikipedia. There's no need to repeat Wikipedia. Wikipedia does what it does very well. But what we saw was there's a need for centralized information and knowledge about UBC. So the idea kinda came, like the example we always use is the Exxon sequence, which is part of the RNA sequence. If you're outside UBC or if you're in UBC and you really wanna see what's being done at UBC around this RNA sequence, how do you find that information? There's various faculties that might be touching upon that in their research. There might be different individuals who are publishing or doing experiments on the RNA sequence. There might be different courses that cover it. It's very hard for one person to go out and get all that information in a central spot, but it would be really easy to create that central spot where those people can come and add to it. So UBC Wiki is sort of a emerging topic or an emerging Wiki, so we're not quite at that level yet. But we do have a lot of very similar, sorry, very similar style information, but a little less maybe academic in nature. So for example, we work a lot with different partners around campus and UBC Public Affairs is one of our partners and they like to keep a list of official UBC Twitter accounts and it's very hard for them to know what are official UBC Twitter accounts. So what they did is they created a page called UBC Twitter accounts. They encourage people who have Twitter accounts to come in and add their own Twitter accounts and you can see that now there's a much better lesson they were able to maintain before of all the various Twitter accounts here at UBC. If you look at the history of who's been editing this page, you'll see lots of different people have come in and added different Twitter accounts. So it's that same sort of idea of having a centralized place where people can add their information. Now one of my favorite ones is examples is, let me see if I can just find it, bars and pubs on campus. So it turns out if you wanna find all the bars and pubs on campus, you have to go to like eight different websites because bars and pubs are run by AMS, they're run by private vendors, they're run by the graduate student society. So again, people have built this page out with bars and pubs on campus. So it's not repeating Wikipedia, but it is sort of creating useful knowledge about UBC that doesn't exist in a centralized place. And that- Is the pub just closed? Yeah. So there you go. So that is sort of the UBC Wiki very brief overview we will, you know, we're happy to talk about it. If you have any questions about it, find us after the presentation. We do run, if you're interested in using it, drop in clinics twice a week. We can provide you with information about that. And we also have a very various workshops in using this. So, and we hope to work more with the Media Wiki Foundation and try to integrate this. So, products. Thank you. So yeah. Thank you.


Those who stay in control, overcome and keep running on to victory are usually the mentally strong people. Mentally strong people are not special breeds of people nor are they exempted from life's challenges. They only have developed themselves through experiences to always remain in charge and to take responsibility of their lives on those unpalatable circumstances.   1. You face your fears We all face fears in certain conditions and situations, while some people tend to run away from their fears or simply avoid those things they are afraid of. Mentally strong people face their fears. They own up to the things they are afraid of, never discounting it but identifying how they can go over it to achieve their aim. It is easy to avoid our fears. Others may even want to take on the things they are afraid of so that they can look good in front of others. However, mentally strong people don't want to prove anything. They want to get over whatever they are faced with so they can become better individuals. If anything is holding them back, it is just not an opportunity for them to get better, not an excuse to hold back from becoming their best. 2. You learn from your mistakes Albert Einstein defined insanity as doing the same thing over and over again while expecting a different result. A mentally strong person doesn't make the same mistakes over and over again. They admit they aren't perfect so when they make mistakes, they own up to it and strive to learn from it. This way, they don't repeat the same mistakes. They do not work to hide their mistakes from others. Neither do they try to justify their actions. They aren't shy about their mistakes. They only learn from it to become better. They accept responsibility for their behavior, learn from their past mistakes and this never keep repeating those mistakes again and again. They move forward to make better decisions in the future. 3.  You are not dependent on people. No are you clingy. You know who you are and you have a clear sense of your worth. You don't manipulate. You are not controlling or possessive.   You don't depend on others to emotionally take care of you and you don't take out your emotions on them. You enjoy your own company because you are not afraid of being alone. This does not mean you are afraid of people. No you are not. You hardly plead for others to come to your rescue and you don't try to force change on others. 4. You have good and healthy self-esteem People can often confuse healthy self-esteem with being brash or arrogant but knowing yourself is what leads to healthy self-esteem. A person with healthy self-esteem will naturally be mentally strong because what hurts others who lack such self-esteem rarely hurts them. We are often broken because we don't know who we are and what we are worth. Mentally strong people do not pretend to be confident nor are they shy. They are bold but are never brash. They don't have to prove anything to anyone since they have a good hold of your self-esteem. We tend to want to prove ourselves to others because of our weak self-esteem.  You have evaluated yourself properly and you have learned to give yourself due validation so that you are not dependent on others' praise and rejection does not throw you down. 5. You are proactive Mentally strong people are not reactive or passive. Instead, they are proactive because they know they are in charge and have learned to take responsibility for their lives. They don't want to be forced to do what should be done. They find out what should be done and then do it. If you are mentally strong, you understand that you are responsible for your own life. You don't let obstacles hold you back when faced with them. Instead, you determine your choices and make meaningful and wise decisions that get you out of the rut. Contrarily, passive people easily get overwhelmed or disconnected to the extent that they feel weak unable to take actions. Also, reactive people never make decisions until they are faced with their situations. They react to things instead of taking steps to decide ahead. Passive or reactive people are rarely aware that they are making decisions in your life. Proactive people are mindful of their emotions, thoughts and motives. You enjoy living your life even if it is challenging. 6. You don't resent the success of others Mentally strong people are happy for others. The celebrator appreciates the success of others because of their healthy self-esteem and sense of where they are going to. They don't feel intimidated by others' success. They are willing to work to achieve their own success but such willingness to work is not motivated by jealousy or envy. Mentally strong people don't grow jealous or envious when others succeed. Neither do they feel they were cheated when others go beyond them. They understand that success comes with hard work and as a result, they are willing to work hard for their own chance at success. 7. You balance logic with emotions If you are mentally strong, you are neither controlled by emotions nor by logic. Instead, you know how to balance both. You make your decisions with a balance of both. Yes, you stay in touch with your emotions. You can recognize what exactly you feel, for what reason and what it means in relation to your existence. Mentally strong people never rush through life. They spend time to reflect on what is happening in their lives. They make decisions based on their real emotions and reality. Mentally strong people can effectively resolve past trauma and grow as human beings. They do not allow the past to hold them back. Instead, they can review the past and, with their occurrences, make choices that are balanced for their future. 8. You have empathy and compassion Because mentally strong people are in tune with themselves, they feel towards themselves and as well towards others. They can step into other people's shoes to feel their budding and to express compassion. Being empathetic does not necessarily mean that you agree with other people or their actions but you understand how others feel, think, act and why.  If you are mentally strong, you show compassion and because you understand how others may feel. You have a lot of sympathy for those who are truly disturbed. 9. You know how to adapt Being adaptable is a rare quality but people who are mentally strong quickly adapt to change. They don't lose reason when they are on the going challenges or when certain situations confront them. They are able to adapt when things aren't going their way or when they go sideways. They understand that life is filled with inevitabilities and so do not let themselves to be beaten down by life's woes. That is quality. Mentally strong people are confident about the future, they are sure all will be well and they will do just fine in the face of challenges and after it. They can always pick themselves up after the problems pass because they saw the light at the tunnel's end. If you are mentally strong, you think about situations but you don't obsess or worry about them because you know you will be able to handle them and get past them to a brighter future. 10. You can accept what is and isn't in your control. You can accept what is and isn't in your control. Mentally strong people know they cannot control everything. As a result, they don't lose their sleep over what they can't control. Instead, they focus on what they can control and stay with it. People who always want to be in control of everything have chronic anxiety and existential insecurity. Contrarily, mentally strong individuals know what they can and can't control and keep things balanced for themselves that way. When you move your focus away from things that are not in your control, you become better and think clearly. This way, you will find the opportunities and choices that are available to you and you will be happy. 11. You learn to say no. If you are mentally strong, you don't say yes to everything. You understand that you are not under any obligation to say yes to everything. Instead, you know when to say yes and when to say no. You are never afraid to admit your genuine answer to anyone. You know where their emotional responsibility ends and another person begins and vice versa. When you are mentally strong, you stand up for yourself. You know that saying no to the wrong things will eventually favor you, so you avoid violating boundaries or anything that negatively affects your behavior. You are not embarrassed about this. Rather, you feel free because you know you are doing the right thing. 12. You don't try to please everyone. Millions out there are leaving to please people who don't even care about being pleased. Because mentally strong people have healthy self-esteem, they don't leave to please anyone. They are narcissistic. They love people but respect boundaries. There will always be people who liked and dislike you no matter your status. Mentally strong people know this and so don't even try to be pleasing to everyone. They leave their lives following their goals, pursuing their dreams, notwithstanding who dislikes them. Since we all do not like everybody, we shouldn't expect everyone to like us. It's just okay. These strong people do not maltreat others but they also know that being rejected is inevitable and they are comfortable to leave with that.  If this video helped you discover that you are, subscribe to this channel below so you will receive notifications for other helpful videos. We love you.


A lease is a contract between a lessor and a lessee that gives the lessee rights to use least property for a specific period of time. Leases continue to grow in popularity as a form of financing because they have many advantages over regular purchases of long-term assets, including often not requiring a large down payment, flexible payment terms and duration, and short durations that protect against obsolescence and additionally they have some tax advantages. For accounting purposes, leases are classified into two categories, operating leases and capital leases. Operating leases are often like rentals. By definition, the lessee does not bear the risk of ownership nor acquire substantially all the benefits of the leased asset. If you or someone you know has ever leased a car, it would be classified as this type of lease because the durations are short. The car has plenty of life and value left once the lease has ended. Let's look at an example and record a journal entry. On July 1, Joy Division leases a recording studio for $10,000 per month for three months. The journal entry includes a debit to rent expense and a credit to cash for the first month's lease payment. Capital leases are very different and it's unlikely any of you have any experience with this type of lease. Capital lease is like a loan to purchase long-term assets, only it's a different type of financing arrangement than a loan. You can see that the risk of ownership and the asset benefit transfer to the lessee, again because the lessee is purchasing the asset via a lease rather than a loan. So let's look at this example and record the journal entry. On July 1, Joy Division leases a touring bus for $1,000 per month for 60 months. The journal entry includes a debit to tour bus and a credit to lease liability for the full value of the asset. Joy Division would then pay down the lease with monthly payments as well as depreciate the tour bus. Finally, I've included the criteria the FAS be used to determine if a lease is a capital lease. One of the four criteria must be met, otherwise a lease would be an operating lease. And note that capital leases are actually recorded at their present value of their lease payments.


s? I'm looking to become a member And they they haven't responded to me. I need to maybe call them Maybe I'll do that some point this week Or just pony up the membership. I mean I'll probably go pretty often if I had the membership But I did I tell you nick and I went to a different screen golf place Last friday when it was raining We went to We went to w screen golf in korea town It was a little bit of a hike but No, I didn't play pebble there. I played pebble at top golf I played some random golf course here but the machines were like The machines were a little like from the outside doesn't look like much but the the inside was pretty clean It was pretty chill. The machines are a little on the older side And it's like I think it's like a korean company. So there's like some old korean guy runs it and everything but but it was pretty cool Those facilities are pretty nice and it wasn't too crowded and I think we nick and I got in like an hour or two before the rush which I thought was great Oh leave so So Levi with the environmental engineering. All right I dig that Let's get some good environmental engineering happening here and uh All about all about healthy soil Levi I am all about healthy soil Aquifers in california are a thing. How did we replenish our groundwater? I want to work on that. You like good soil health Around here as well. Oh, there's one in torrents. I'll have to check that out Yeah, Levi. Well, I wouldn't call myself a golfer just yet. I just I just started just picked up sticks for the first time in uh September around there And I've just started practicing on the golf and on the driving range and just little by little just Just getting better at hitting the ball that sort of stuff. But yeah, Oliver's been playing for a while I think we've got a lot of we've got a lot of golfers in the uh in the the jaspy community My colleague nick jaspy golfs a little bit. I've got a few I've got a few guys here at the shop that That golf as well a lot of my friends golf Just trying to get into it It's a good uh Good outdoor activity You know kind of Gets the competitive juices going Oh, yeah, and all over that screen golf plays unlike top golf the screen golf place has um Actually has the has a putting feature there too, which was kind of was just kind of weird Putting into a screen The other the other parts of the game like all the all the hitting part Was uh Was what you call it um Felt accurate, you know but um Felt accurate, but the putting just like just never could get a hang of it nick got the hang of it pretty good We're in hermosa beach california Mr. Trueblood professor trueblood We are We are Oh, yeah, there's the hermosa beach pier So if you follow the hermosa beach pier And we're right there and right next to the van's shoe store They're finding building a crosswalk right here all over you're in the area My short game is actually pretty good rex I need to work on the wedge a little bit, but But I can uh I've got I've got a good feel around the green As they say Still have to work on a consistent wedge shot though. I feel like for some reason I can't get that right Yeah, putting on screen golf Is uh is weird So But if they ever figure that out If they ever figure that out apparently I mean that could be a game changer for I'm sure I'm sure there's someplace In korea that has like some amazing screen golf screen golf thing There's a I don't know if If I could dig up this video for you. Yeah, you know, I I um I should have when nick and I realized someone think we just use their their regular golf balls that were there I think some of them are I think it was kind of a mix, but I think they're mostly kind of range golf balls But I think I was hitting My nine iron at about 120 yards Which I thought was okay For some reason I thought it was a lot shorter with the problem, of course Which I think 120 on the nine nine is was pretty decent for me But I think my like eight irons also like 120 and then my seven irons also 120 Yeah, Oliver check out this video So there's some amazing indoor golf places But that's a great video. I think nick's brother shared that with me And if they can get screen golf looking closer to this the putting actually looks a lot better here, too Wait, so real golf balls. I'm adding 10 yards per club Precision golf center, huh? That's not bad With my work schedule, I need someone I need someplace open to like two a.m I need to go after work I already watched uh I already watched team USA Canada here but yeah, that's There's a lot of really cool, uh Screen golf places. They're like so advanced in like Korea or like just like other like training centers there Are kind of amazing. There's um I think we've I feel like we've talked about it before Did we mention that before but There is a place there. There's one of the please so that youtuber goes to like multiple places And just reviews a number of screen golf places in like Korea But there's one where um Where there's like a camera that points down Right At wherever you're standing And then on the on the floor There's like a there's like an arc with like the I don't know It's a light that project. It's a projector that that points down And then it'll have like your golf ball right here And they'll have a meter That goes So you can get the right tempo for your putts That's on your that's at your feet. How cool is that? Yeah, I'm also starting to go down the uh Yeah, it's a cool technology, right? So you're literally looking down a camera or a You know the projector projects that light down to you And then it'll it'll like it'll almost looks like a Like a meter on You know on like a hi-fi system or something like that You know so like this this like lighted mirror meter goes You know and then you can hear like And then that says that's how and I think it calculates it to It's like this huge Indoor green I think can move up and down to create different Angulations in the green, but there's like a hole at the end of it, you know And depending on where you're standing if you're 10 feet away 20 feet away 30 feet away It'll say exactly what direction your club should be swaying and swinging through what plane and at what tempo for that distance It's crazy. I think there's a lot of data that I just don't need, you know like I don't know. Do I need like I suppose I suppose I need I mean outside of like club head speed ball speed And maybe rpms You know, maybe One naturally spins the ball more than another person. Maybe you're you know that could you know something But but then there's just like a lot of other stuff that I feel like It's kind of crazy All the different all all the ones with With like the lines going through it's like, but here's the line then there's the line of your spine Here's the line of this and I feel like that's a little too much I'm a big believer in that everyone has their own sort of unique swing As long as you adhere to some of the basics You know You can construct your own unique swing And go from there All over I feel like you're definitely at a level where you should get Where you should get fitted You know treat yourself to some uh to a fresh set of clubs fresh set of irons this here all over Yeah, you did right you were having some issues with like club heads or something like that Yeah, get some get some new irons All over treat yourself.   I did get Um, so what I don't know if you were here for this that um I uh So we order all of our supplies or majority of our supplies through u-line right so You know every u-line gives us, uh, what you call it Of you know, they'll give you a free gift depending on like how big your order is or something like that I ordered, uh Titleist true field golf balls. Oliver. I was just like Titleist golf balls. I'll take it You know, I think they're like what yeah 25 30 bucks A box And it has a u-line logo on it. I'm never gonna love. I'll always find my golf ball You know, I think I got like six of those so So every time it's my turn for a free gift.  We're already at the 10 30 mark. So here's what I'm gonna do I know there's a big new release day tomorrow, but I'm gonna start tidying up my uh my area here Start doing my end of night stuff If we can rally around another break by the 45 minute mark I'll do it pretty much anything except for Except for series one that's just way too long for this time of night But I can we got to do two of those fillers I can do at least one of the phoenix fillers. We can do bowman draft We got to do two fillers for flawless, um collegiate Random hit break, but I'm down to do one of those fillers And or we can end the night with that with the uh disney two box break That's a fun little one to do as well. You get a random pack Give that a shot. It's a fun one All right, be right back for tailor made distance plus All right, I gotta take a look at that too Not taylor swift, but taylor made Yeah, I've been looking at some of the taylor made golf balls as well I am I am a taylor made man, but yeah I've got to figure it out I was talking with uh I was talking with nix brother alex about what he He uses the vise. He uses have you heard of these vise golf balls? He says he uses the not the pro plus, but just the regular pro golf ball Vise are pretty good too Maybe a pro soft would be right at right right around my alley here I'm not I'm tempted to buy like pro v ones and just be like And just be like uh, yeah, don't lose these and learn how to play with these But yeah, I think that's the recommendation right when you're starting out get some get some soft golf balls and then Work my way from there if need be Also golf channel is actually playing a movie I've never heard of this move. What's tommy's honor? Historical drama depending on lives and careers of the comics relation to pioneering scottish golfing champs old tom morris and his son young tom morris Oh set in st. Andrews Rent that from the video store All right gang. I'll uh, I'll I'll check back in about You know another 10 minutes or 10 15 minutes or so and see if there's anything happening If not, we'll call a little bit on the earlier side Jason's probably gonna call it pretty soon too because he's popping in early tomorrow with all the new releases Prison pick your team one is just two teams away The next one's five teams away the next one's six that he might be doing He might have done six prism football breaks by the time I even walk in the door at three o'clock pacific six o'clock eastern Maybe I'll end up doing more elite I don't know should be a pretty busy day tomorrow though So pre-order now before someone else gets your team And I don't know could we squeeze in a filler tonight? Maybe a bowman draft break? Maybe that flawless filler. Maybe another disney break We can maybe think about doing something filling that up in the next 10 15 minutes and we can make it happen for sure Be right back Well, they lost us to the u.s. So they got one loss Come on columbia is it is it four four games? It's a weird hybrid I All right, what do we got going on here? I upload this twice. No, Oliver haven't filled out the Wednesday when does it start thursday? That's uh, that's a wednesday night project tomorrow night I do some research tonight work on that tomorrow And figure it out ucla baby ucla all the way that's that's what's going to be So franklin gets a couple spots in disney jonathan gets elite four Mavs So thanks jonathan. We'll work on all of those tomorrow It is wide open, isn't it? um I'll I'll pretend I'll suddenly pretend i'm like a college basketball expert and over the next few days so I'll uh I'll suddenly look like a genius It's not going to be georgetown this year. So i'm fading georgetown All right. Well, I'm fading a little bit here ladies and gentlemen. So We'll talk more college hoops tomorrow and I'm sure throughout the next Few weeks or however long this tournament goes Uh, so we'll be talking all about it. We'll see who busts our brackets. It sounds like there'll be a lot of variants here Charles have a great one. Thanks for hanging out oliver Catch you tomorrow. Thanks for hanging out And anyone else who's still lurking and listening in the background appreciate you. Thanks for listening. Thanks for hanging out with us Thanks for joining all of our breaks Jaspy's case breaks.com remember big new release today tomorrow jason jaspy going live early tomorrow with the new releases 11am pacific So be sure to finish fill outs fill up and finish off some breaks tonight so he can hit the ground running tomorrow Thanks everybody. Have a great night. See you tomorrow. Bye. Bye and join jason early right there. That's the time join him early


Hello and welcome to the Eric Camadeca show. I'm Joe Wombo, joined now with Eric Camadeca, head coach of the track and field teams. And Coach, you guys go up to the Mac meet and have a very impressive showing, finishing third on both sides. Talk a little bit about how the weekend went for you guys. So the weather was awful the entire weekend for the most part, but I'm really really happy with both teams finishing third place, especially with both teams having almost the same exact score. It really shows the depth and the balance of our men's and women's programs to be very competitive on both sides. And the dedication, just to be able to do the work between meets and keep on working at their craft. Yeah, when we talk about dedication, we're the only program that doesn't have an on-campus facility. And for this team to really get through the year, put into hard work, stay committed and dedicated to not only themselves, each other, but the coaching staff. Their hard work really proved this weekend. And it certainly paid off for a handful of athletes that have already qualified for the NCAA meet. But you have a number of athletes that are still in the hunt and can solidify their spot at the NCAA. Yeah, we're figuring out the numbers this week or actually today, we have 24 people still continuing for some type of post-season running. We have a couple of people who are guaranteed spots, Devante's number two in the country in the hundred, number five in the country in the two. And then we have Danika, who's in the top 10, I believe still in the shot put. And then four by one still is a shot. And we have a couple of individuals who ran really well, performed really well this weekend. Tyler, Bailey and Matt Riggins have a shot in the hundred and that trio of woman jumpers, Kim led the way, finishing second in the long jump with a huge jump in the school record.  But you have a lot of youth and more athletes that you can lean on to be able to get the points that you guys were looking for in the MAC meet and continuing the success of the program. Yeah, you know, it was a great opportunity for us too at the end of the meet. And we were only up by two points to LVC at the end with the four by four left. And it just wasn't smart for us to run Devante. And running Devante, you know, we're guaranteed to either win that event or play second. And I know I told the group of guys, you know, this is your opportunity to step up, you know, who's going to carry the torch for the next couple of years. That trio of Collin Horne, Matt Riggins, Idris Idris and Avery Wood, they really stepped up and took second place and secured that third place spot for our team. As you guys look forward in the rest of the schedule, you've touched on it, 24 more athletes trying to compete and solidify their spot to the NCAAs. What is the game plan moving forward for some of the people that are competing and not competing? You know, it's really trying to follow the weather right now. You know, where is it going to be to warm us for some people to get to some good times? You know, where's going to be the best facility, best competition? So the next 10 days are going to be a little bit all over the place. We may be going up to Allegheny, down to North Carolina, Swarthmore, ECAC.  So, you know, it's kind of a sit and wait and chase. Well, coach, we wish you the best of luck in this chase that you guys have in safe travels with the team that goes to the NCAA tournament. Thank you, thank you. He's Eric Camadeca. I'm Joe Wong, and this has been the Eric Camadeca Show.


I hope the network permits, because I have been trying to do it since. I think you're watching now. Yes, so far. Thank God for that. Yes, our next section is going to be focused on WebAssembly based AI as a service with Kubernetes. This will be taken by Shiva Lamber and Rashid Dagli. Rashid Dagli is a high school student from Mumbai, India, and loves working on machine learning, especially computer vision and Kubernetes. You can always catch Rashid working with Android. He is an active contributor of multiple open source projects like TensorFlow, Kubeflow and Kubernetes. While Shiva Lamber is a software developer specializing in DevOps, machine learning and full stack development, also an open source enthusiast that has been a part of various programs such as Google Code and Google Summer of Code as a mentor. We are currently in the MLH fellowship. And over to you both. Welcome to our talk. I'm Shivaay with my friend Rashid. And the topic for our talk is WebAssembly based AI as a service with Kubernetes. A very quick introduction about myself. I'm Shivaay, a developer advocate at Millisug. And I'm also a contributor at Lef5, which is part of the Cloud Native Computing Foundation. Over to you, Rashid. Hi, I'm Rashid. I'm a high school student and I'm an incoming student at the University of Toronto. I contribute to maintain and create multiple open source projects, mainly in the machine learning ecosystem. Well, talking about machine learning, the first thing I'd like to touch upon is why to choose Rust over Python in machine learning. Now, of course, we know that worldwide, Python is by far the most popular language when it comes to creating doing machine learning inference. But there are a few reasons why you should actually choose Rust over Python. One of the biggest ones is in terms of performance. Now, Rust can be actually directly compiled into machine code. And there's no need for, let's say, a virtual machine or an interpreter that is actually usually the case with Python. And one of the other really big advantages is in terms of the thread and memory management. Now, you must be very aware of the global interpreter lock issue that still plays Python. And while Rust doesn't have, let's say, the necessary bit selection like in Python, but the compiler in Rust still enforces some invalid memory reference leaks as well. But these advantages are much better in comparison to Python. And as a matter of fact, according to a study by IBM, which highlights that how Rust and WebAssembly can actually gain 12 to 15 times performance in comparison to Node.js, and more than 25% times increase in performance as compared to Python. So that just goes on to show why you can actually choose Rust over Python, especially machine learning. And that sort of brings us to WebAssembly, how WebAssembly actually comes into picture. Well, WebAssembly is a compile target that essentially allows you to run these executables at native speed and also in very small containers. And these are portable. That means that they can actually be run anywhere. So you just have to use, let's say, some of your highly computational languages such as C++ or Rust and have WebAssembly as a compilation target. And these are portable in nature. That means you just have to generate them once and these can be executed anywhere without having to redeploy them again and again. And also you can use some scripting languages like JavaScript or Python also to compile them into and WebAssembly executable. And the biggest factor also being that since WebAssembly is a binary instruction format that allows you for near native decoding. That means it is much more faster as compared to other comparative runtimes. And this also specifically means that when it comes to machine learning, WebAssembly is a really great way to do machine learning in France as well. And coming to how you can actually use WebAssembly within the ecosystem for cloud native. So WebAssembly is expanding within cloud native as well, especially because CNCF has a lot of different sandbox projects today, integrated such as the Wasm Edge, Wasm Cloud. Speaking specifically about Wasm Edge, it is a light WebAssembly runtime mainly used for cloud native and also edge-based applications. And Wasm Edge truly helps you bring WebAssembly to the edge because Wasm Edge allows you to enable serverless functions which we'll be talking about in a bit that allow you to run WebAssembly use cases on edge devices. According to Mortius Kapion from the University of Tilbagh, actually published an article where he compares the comparison of running WebAssembly and actually doing machine learning inference as compared to Docker. And by actually comparing the inference time that actually took between both WebAssembly and Docker, there was an improvement of more than 5 to 10 times for the machine learning inference in terms of performance while also the machine learning containers being smaller as compared to Docker containers. Now, one of the reasons why we should actually use WebAssembly also for serverless. So first of all, you must be aware that today's serverless computing is like, you know, gaining a lot of popularity, especially with a lot of different tools such as edge functions provided by all major cloud providers like AWS Lambda or even like, you know, Netlify or Vercel providing Vercel functions and these edge functions allow completely new dimension to serverless computing. And there's some really great reasons why you should actually use WebAssembly as well for these serverless functions. So first of all, you can actually write highly performance functions in languages such as CA and Rust, and these can be directly compiled into WebAssembly. And these WebAssembly functions are actually much more quicker as compared to JavaScript or Python, which are commonly used as serverless functions, for example, in AWS Lambda. There are some other benefits as well when using WebAssembly. One of the biggest ones being that as we mentioned that the bytecode for WebAssembly is actually portable. So that means that if you're actually using WebAssembly based function or like less functional service, you just have to deploy it once, and you can actually then go ahead and use these serverless functions anywhere and then actually run them anywhere in any kind of a cloud environment without having to redeploy them again and again. Also, at the same time, the deployment as we mentioned deployment of WebAssembly applications is very simple. There are a lot less platform dependencies that are required to actually be used alongside these WebAssembly applications as compared to let's say JavaScript or Python based serverless functions. So that makes it very easy to actually just work with these WebAssembly based applications. So with Bosmich, we also expand the WebAssembly security model, so you must all be aware that WebAssembly security is very well known as compared to other containers because WebAssembly itself cannot really do anything within the sandbox environment. In case you want it to interact with let's say the file system you need to use Bosy, and this makes it a very safe environment. So you can basically use that security model as well. So for example, if you were to do AI inference as a functional service that can be first of all very secure and also run at full native speed because of the fact that we are getting that native performance with the help of WebAssembly executable. So those are some of the reasons why WebAssembly is preferred, especially for functional service. And this particular site sort of showcases the benchmark that we ran for one of the most popular machine learning models, which is the MobileNet V2. We basically ran a benchmark for doing performance comparison between various runtimes including Bosmich, TensorFlow Lite, Bosmich with ahead of time compilation running this model in Python and in TensorFlow. And as you can see that the least amount of time that it took for inference was with Bosmich with the ahead of time compilation as compared to some of the other ones as well. All these records were in inference were done in milliseconds. So you can see that the fastest one is Bosmich. And the text that we're going to be using for our demo includes Rust, WebAssembly, Bosmich, WordCell since we've been showing how you can actually deploy a service function onto WordCell and then also with communities. So now over to the demo. We'll meet you after the demo. So now we'll come to the interesting part of this demo. So the first demo we'll be seeing today is a running machine learning inference task that is computationally intensive in WebAssembly. We'll be seeing Rust and JavaScript demos both. And at the moment, let's just see how to run this locally in Bosmich. And so WebAssembly, as many of you might know, started out as a JavaScript alternative for browsers and run high-performance applications or high-performance computations like machine learning inference that we'll be seeing today. In languages like C, C++ are safely in the browsers. So WebAssembly runs side by side with JavaScript and we'll actually need, so to run JavaScript, we'll actually need an interpreter. So a sophisticated interpreter and something I've tried quite often is the QtJS interpreter that allows you to easily use JavaScript applications and also has really brilliant support for TensorFlow and TensorFlow Lite models. So before taking a look at this QtJS interpreter, you might think that could it be slower than V8 and will it be slower than V8 because QtJS is not having just in time compilation. But if you think about it, if you think about it, QtJS is not only a lot smaller than V8, it's literally 140 in the size, if that's right. Yeah, it's 140 in the size than V8. And the second part is you only want to run a lot of your, you want to run, you only want to run some of your code in JavaScript and probably call the computationally intensive tasks like machine learning inference for one or image processing stuff that you are doing. So it will be calling the Rust function for that. So, so you can essentially have JS programs with extension APIs and Rust, C++ and Rust with embedded JavaScript. So that is very much possible, which makes QtJS a really nice right for us. So, so first let's take a look at building QtJS, which is, which you can do quite easily. Let's go to wasn't it's QtJS. And now we'll try to build the QtJS interpreter. So what I want to do is cargo build, minus, minus target, wasn't 42 minus was he so you'll also have to add this target early on, I've actually installed wasn't 32 minus was he or you want. But if you don't, you will need to install this target early on, please. And here I'll just, and that I also want TensorFlow specific features, because we'll be at the TensorFlow extensions because we'll be running a TensorFlow model. Oh, I made a typo there. So I have actually built this, so it didn't take quite a lot of time. But what I do want to show you is, let's just go to target wasn't 32 minus was he and let you in the list over here. So what you can see is he wasn't it's QtJS.wasn't. So this is the JavaScript interpreter that we have. And so let's now go to, let's now go to our JavaScript example of our mobile net we do. So we'll go to JS and let's go. Mobile net we do both. And so, of course, we'll start. So, so now we can start using the wasn't it's QtJS interpreter, which we just built. And we'll use the was image minus TensorFlow minus light utility that is a was image built with TensorFlow and TensorFlow light extensions. And it makes it really easy to work with TensorFlow and TensorFlow light models. So let's do that. So what we see is was image minus TensorFlow minus light. And now we want to mount the current directory. So let's just want the current directory first. Then we want to, so now we want to tell it which interpreter we want to use. So that is actually the one that we just built. And now we'll give it the, and now we'll give it the JavaScript code. So let's go on to the JavaScript code, which we have. And so if you see, this looks quite simple. And it is because of the TensorFlow light APIs as well. So I start out with loading my image and then doing any kind of pre processing on it. So as of right now, it is resizing the image, but you could have some more pre processing steps as well. I then load my TensorFlow light model. And I want to get the, I want to get the predictions from a specific node in the model graph, which is what I'm doing over here. And so the output, which I get will essentially be a list of probabilities.  So let's say I have zero or one as the number with most probability. So each of them corresponds to a particular species of bull. Remember what it was? So each of them corresponds to a particular species of bull. And which is why I also have a label map down below. So what this label map tells it is, is what index corresponds to what species of bull. So as of right now, let's just print out a label and we'll print out a label. So this is the JavaScript code, which if you see was pretty simple. And let's make this up. Sorry for the background noise. I just saw the JavaScript code. So let's give it the JS file. And it should tell us, so I also had a sample image over here. That was actually him and his Cassini. That is a species of bull. So it actually did. So the TensorFlow model actually did predict it correctly. So that was the JavaScript example. And there is another little thing which I wanted to talk about, but I'll come in that after the last example. So, so let's take the same model. And now we want to see a rough example. So let's go down to the rest directly. So this is called rust mobile native. I'll just show you this demo as well. So, so first off, so first off, we'll start off with building this. And we'll do this in a similar way we did it earlier. Where did the command go? Yeah. So, so, so let's build our, so let's first build this. And I actually built it beforehand. So we don't spend a lot of time on these processes in the demo. But if you see similar to what you might have seen earlier, if you remember from the JavaScript example, we go to the wasm 32 minus wasm target release. And let's do nls over here. So what I have is the classify.wasm. And this is, and this is the dot wasm file that I can use. What I can also do is I can aot compile it down ahead of time compile this down to machine native code. Compile it down to a .so file, the Linux shared library format. And I can run that as well. So, so remember the benchmarks from earlier. And so, so this is actually the model on which those benchmarks were made. And so at the moment, we'll also run this with the wasm bench minus TensorFlow minus light utility.  And this also gives, so because the .so file is machine specific, this also gives rise to this also gives rise to the universal format, that is the dot wasm file plus the dot so file. At the moment, let's run the rush code. So, so, so I'm using the same model to do the inference with in rust. And if you see the main dot artist, it is the whole year is pretty self explanatory as well. I'm using the same model, the boards model and performing the inference on it in the exact same way as earlier. What I also wanted to do was show you how much time it takes to do an inference. So, so let's, so first let's just run this. So using the wasm edge minus TensorFlow minus light utility like we discussed. So wasm edge minus TensorFlow minus light. And now we have, so now you are doing the part to the wasn't right. So that is classified or wasn't. And we also put in an image. This is the same image from earlier. The demo was essentially supposed to be the same model shown in JavaScript and trust, which is what we do. So this gives us output in 187. This is, which is a bit more for a TensorFlow light model, particularly for a small model, but a lot of the speed of web assembly also comes from a head of time compilation. And if you remember the benchmarks we showed you earlier, a head of time compilation can cut this down by 8 times to 10 times, which is a very big increase in speed. So that is something you definitely want to try out with wasm edge and you can run it in the exact same way. So that marks our end for the demo one. And let's now go on to our second demo, which is deploying this as a function as a service. So now what we want to do is we have already seen, we have already seen how we can run how we can run a web assembly app with wasm edge. So let's now try and deploy it as a function as a service. So we'll actually be using the similar code. We'll not be using the same model. You can also like put in the same model if you wanted to. We'll be using the same category of model, which is actually built in the exact same way. You have the label map, you have the model from which you want to get the outputs from. So let's go to the functions. Here we have the rush code. So if you see this is essentially the same rush code as with the new model out there. And of course different pre-processing steps in our earlier model. We wanted to convert it to, for the earlier model we resizing it to 224 by 224. But of course any of the pre-processing or post-processing steps might of course differ according to what model you have. So we also have the hello.js and the pre.sh and the pre.sh file. And what that does for us is, so let's just go to the pre.sh file. And what that does for us is, gets all the dot files to the dot SO files. The Linux shared library format. At the head of the uncompiles it so we can run it a lot more easily. So we'll take the mobile net model and as you might expect, we'll first go to our function which we have, which is image classification. And let's actually bring this out. So we'll first go to image classification and now we'll build this similar to how we did earlier. So, okay. Let's build this. And our target is 32. 32 minus 1. So I had built it earlier, which is why I just optimized the target very quickly. So now we'll just prepare this because we now have a classify.version file, like we did earlier in the release directory. So now we'll just put it into the root directory for the function as a service application.  I want to get the dot version file, not the old directory. So just moving the dot version file to the root directory over here. And what you can now do is, what you can now do is deploy this to version, which is the example we'll be taking a look at. We can deploy this to version serverless functions. So let's just do version deploy. So you already need to, so you already need to have the version CLI installed. So I'm in the wrong directory at the moment. What I will do is I'll go down to the fast recovery, which is where now our classify.version file is. So let's now do a version deploy. So this is actually building and then deploying it to version functions. And we'll have our function ready for deployment. So it is taking quite some time. Let's go to my version workspace for this demo. Oh, yeah, give you build docs. That is what I wanted to see for the deployment. And it was actually able to build it up. And if you also see that, so when it ran the pre.sh site, it actually converted. If you see, it uses wasmhc to height of time compile, to height of time compile a rush hold. And I do the inference a lot more quickly. But you should remember that the .so file is the machine network, which is why it is only useful to run a particular machine. And you can also use the universal version format to copy the .version file that can be run on any version sandbox and the .so file that is machine specific. So let's actually take a look at this deployment, which we just deployed. And so this deployment is a password. So let's now take a look at wasmhc. I just showed you about why it needed to be converted to all the .so files. And now let's open our deployment. Okay, there we go. So this is the deployment, which we just made, to wasmhc functions. And let's try on an image. So this is the image net model at the same board model. So let's try on this image, which is a pretty famous image. And it actually tells me that it's a comic book. So the image net model has another set of labels, which is used for detecting all kinds of images it has. So the image net 1k has 1000 labels and the image net 21k has 21,000 different labels for images. And that is the model which we deployed to serverless functions. If you might see it also, the inference was also quite quick because we ahead of time compile down our code. And it also rightly classifies this image as a comic book. So now we come to the third and final demo, which is managing web assembly apps with Kubernetes. So it is really nice. And one of the great advantages of Linux containers, the Linux containers ecosystem is that you have a lot of tools, you have a lot of support. You have Kubernetes to manage it. You have a high level container, a low level container, which allows you to work with Linux, Linux based containers very easily. And so you can also do the same with WebAssembly based containers, which is quite interesting because WebAssembly based containers are pretty, are faster at startup. And you have already seen the speed, especially coupled with the ahead of time compilation about how WebAssembly could be faster. And it would be really nice if you could have your WebAssembly container images side by side and WebAssembly apps side by side in the same system with Linux containers, which is what we'll be seeing today. So first off, we'll take one of these examples and create a container out of our version application. So first let's go to an example. Let's take the mobile net example. And so we already have the wasn't 32 minus was the target installed. So first we'll build this. We have already done this in the previous demos, but I'll just build this up again for the wasn't 32 minus was the target. And yeah, so because we had already built it on here, this was a lot faster. So now what we'll do is we'll also, so now we want to create a Docker file, which will run a dot wasn't fine. If you remember where the dot wasn't file is, it's in the wasn't 32 minus was the target. So first let's apply the executable permission to it because that is what we'll be running in the Docker what we'll be writing in a Docker file and what our container will be running. So let's wasn't 32 minus was the release and this is called classify dot wasn't. So there you go. And now what we'll do is how we'll create how we'll create Docker file in the release directory. So let's create a Docker file here and we now have the Docker file up. Let's open that. So I've already written this down for you, but what you can simply do is add your dot wasn't fine and I think that was a fight. So this is very simple. Now we'll build the container from this Docker file. So what we'll do is so the seed and container and time can already start the this web assembly based container image, but it requires another annotation on the container image to indicate that it is a web assembly application which does not have a guest OS. So to do this, we'll actually use build up and add an annotation that this is a web assembly application and we don't have a guest OS for this. So, so let's actually do that and we add and we'll add our annotation. So the annotation is module dot and this is just to let know that we don't have a guest OS for this web assembly application. So classify. So this adds the so this adds the annotation on this container image and then you can also and then you can also do build up push to push this to Docker hub or CCL literally wherever you want it. So, so that is the part about building up building a container from our web assembly building a container image from our web assembly application and what we'll do at the moment I haven't pushed the container I haven't pushed the image I created to Docker hub and what we'll do is we'll just take this we'll just take this simple piece of code. So what this does is this is actually by the wasn't it's team so this is it's a couple of random numbers so just to test out the body and they already have a container up for this so, so we can directly test this out. So you can actually try running a web assembly container or you can actually try making a web assembly container and running it running it with with Cubelch KTS Minikube kind of whatever you want at the moment I already have a kind cluster up and I just I'll just run this example which we just saw they also have a published image which was a reason to try out this example and show this example because it's quickly doable and I haven't pushed the image so this is an example of running a web assembly running web assembly and managing it with Kubernetes we have actually taken this web assembly app which is a very simple web assembly app made it into a container I like the annotation and also run it on our kind Kubernetes cluster so that was it for demo 3 so I hope that you liked the demonstration in case you are interested you can check out the code on GitHub via this particular link that we'll also be sharing in the chat for all of you. Now we also want to cover slightly about why choose this balance between Kubernetes and Wasm Edge now developers can actually use various container tools such as Kubernetes to actually run lightweight web assembly applications and you may ask that why to actually choose web assembly based applications on Kubernetes so especially when it comes to being able to run applications on the Edge which are usually those kind of hardware which are very resource constant if you try to run Linux containers on its devices it can be sort of an issue because Linux contains are usually a larger and they also take a lot of time to actually get started. Now in comparison to those when we use web assembly containers they are much faster to not only invoke but also they are much smaller in size up to hundreds of times in a lot of different situations and at the same time a good method to actually run these web assembly containers on Kubernetes is by actually pairing them up with some of the existing Linux containers especially like Docker containers that might be running within that particular web assembly within that Kubernetes ecosystem because as we know that with web assembly it is not having the best tooling out there a lot of the toolings are not supported so essentially what you can do is that you can run your web assembly containers alongside Docker containers and use the rich ecosystem that is provided by the Docker containers with the tool chains that can be used also by the web assembly containers as well with the help of Vossi and web assembly as a really good choice for our communities based ecosystem with that we will conclude our talk thank you so much of course you can reach out to us via Twitter handles me, Shivai, Adirith Haudelab and Arishit Adirit Arishit Adagli so thank you so much for attending the talk and of course now we are open for questions. Thank you very much. Awesome that was an interesting session we will now bring Shivai and Arishit online to answer your questions. Hi, welcome Shivai and Arishit. Can you hear me? Yeah, yeah, Booker we can hear you. First of all thank you so much for inviting us for Kisvi and we have been watching some of the other talks as well so yeah thank you so much for inviting us also. We are very grateful for you taking the time to join and prepare the video that we don't have any questions here at the moment. I think since we will probably also be uploading the questions later to be on YouTube we will share the videos with you so that you can probably check the feedbacks that were given and so on and also viewers can also throw questions at you on Twitter I think Arishit's handle is Arishit on Twitter and that of Shivai, I can't remember yours, maybe we can How to love? But yeah this to sort of cover what we wanted to represent from our talk is that a lot of times you might want to run machine learning applications and also in general any computationally heavy applications on edge devices and that's where WebAssembly really comes to the picture because generally WebAssembly is conceived to be front-end and a browser-specific technology but today it has been brought over and it's actually being used quite a lot in the back-end and especially in the cloud-native space as well so that was we wanted to convey that message of course by taking an example of machine learning in our talk Yeah awesome Arishit, do you want to add anything else? At the moment, no but in the highlight part but another thing which I found particularly interesting with WebAssembly is that you can shift the paradigm because of the speed and the size of it compared to Linux containers and we also showed the benchmarks for the MobileNet v2 demo so that was actually the same model we were running in the demo we did all kinds of benchmarks on it so that in a sense feels to me managing your WebAssembly containers with Linux could change the paradigm for a lot of tasks and you should definitely give it a try all of the demos are already open sourced some of them are the example demos from the maintained by the Wasm Edge team but a lot of the demos like the MobileNet v2 one which we saw today were new models so you can definitely try them out if you also have a GitHub repo where all the demos are you can take a look at them anytime Thank you so much over the entire KCD Africa team and thank you so much Anita for having us Thank you Thank you so much I think you said Oh, and I was busy talking I was just thanking you all for joining and we look forward to hosting you in our subsequent talks and engaging with you online. Thank you very much Thank you