I don't know if you know much about Fuzzy Logic, most people know about neural networks. Fuzzy Logic could be better in the sense that it's more explainable. You actually can see what is it doing, how it's making decisions. The neural networks, well, depends on the complexity of it, not so much explainable. So we're currently trying to get the Fuzzy Logic example up and running again, but thinking how to do it. Originally it was a simple example of various simple shapes detector. Those were time series waveforms, but then we thought we might as well do it a little bit more useful, so we tried applying it to synthetic EEG that has a seizure in it. We do have some real EEG data that we are working with, so we could apply it to that in maybe the later stage. Synthetic signals are always good because you know exactly what's going on with them. Because we're working with ECG data as well, and one of the tools that we have on the side that was quite popular is this ECG game. We will use that one to develop a fuzzy logic neural network location that will essentially play the game and do detections for you or against you. So it would be interesting so you could see how well you're performing against the bot. So we're doing waveforms generally. We're doing waveform detection using AI, looking at the signal of normalities and noise. We're using fuzzy logic and or neural networks, obviously interested in data visualization. Currently for this application we are using Flask, NumPy, SciPy and SKFuzzy, which is the fuzzy logic toolkit for Python. Probably know about our ones already. If not, there's a lot of other content on YouTube that will cover those. We would like to continue development and give a quick summary of the changes to the code that we made. We've been focusing on developing a system for ECG waveform analysis, particularly detecting abnormalities and handling signal noise. Fuzzy logic, neural nets, we discussed the implementation of fuzzy logic in your system. This involved debugging and refining the fuzzy underscore logic underscore analysis function in your Flask application to correctly process ECG data and calculate fuzzy logic outputs. Data visualization, while we haven't directly worked on visualization in this conversation, your project involves visualizing ECG waveforms and the results of the analysis, likely using tools like Flask and JavaScript for web-based interaction. Flask, NumPy, SciPy, SKFuzzy. Flask, we focused on the Flask backend, particularly on routes handling ECG data processing and analysis. NumPy and SciPy discuss their usage for processing ECG data, including Fourier transforms for frequency analysis and peak detection. SKFuzzy, addressed issues in implementing fuzzy logic using scikit fuzzy, particularly in handling membership value calculations. GPT4 and GitHub Co-Bilot, briefly compare their uses in coding. GPT4, ChadGPT, is ideal for explanations and understanding concepts, while GitHub Co-Bilot excels in real-time coding assistance within an IED. Key code changes made. Frequency calculation, suggested modifications to the frequency analysis part of your code to correctly identify the dominant frequency from ECG data. Peak count logic, advised on adjusting the peak detection logic to align with your project specific requirements, e.g., counting positive and negative peaks. Troubleshooting fuzzy logic, offered solutions to fix issues in your fuzzy logic analysis, including correctly extracting and serializing membership values and handling cases where fuzzy rules might not be triggered. Yes, we actually have an implement that changes for the problem that frequency is always showing zero at the moment. Sampling rate is a good question. Can you look at the waveforms JS and tell me what the sampling rate is? I'm pretty sure I'm already doing FFT frequency analysis. So what are the changes I need to make that it's to make sure it's not showing zero all the time? Now regards the normalizing the peak counts. So it sounds good that we have them split into positive and negative peaks. Code change, Python copycoder sampling underscore rate equals. Hashtag find this based on your data's time intervals. Frequencies equals NP.FFT, FFT for Q, LEN, NP underscore data, D equals 1, sampling underscore rate. Dominant underscore frequency equals abs, frequencies, NP.abs, NP.FFT.FFT, NP underscore data, argmax. Separate positive and negative peaks, use skippy, single, find underscore peaks for positive peaks and the same function on the inverted data, NP underscore data for negative peaks. Direct use, if specific numbers of peaks are expected, e.g. three positive, one negative, compare directly with these expected values instead of normalizing. Yes, it seems like you're detecting both positive and negative peaks. That's correct. You're not using those values. Now I don't want to add them together. I don't want to add them together. I want to use them separately because they are important. Okay, for the number of positive and negative peaks, considering normal e.c.g waveform, waveform, how many of them there should be in a normal e.c.g waveform, a single q r s b q r s d complex. In a normal e.c.g waveform, which typically represents one heartbeat, the key components are the p-wave, q r s complex, and t-wave. Here's a breakdown of the peaks. p-wave represents atrial depolarization. It's a small positive peak. q r s complex reflects ventricular depolarization. It usually consists of a small negative deflection, q, a large positive deflection, r, and then another negative deflection, s. t-wave indicates ventricular repolarization. It's a positive peak. So, in a typical normal e.c.g waveform for one cardiac cycle, a single p-q r s t complex, you should expect positive peaks, two p-wave and t-wave. Negative peaks, two q and s waves in the q r s complex. The r-wave is a larger positive peak within the q r s complex. Keep in mind the variations can exist in different individuals and under different physiological conditions, but the above describes a standard normal e.c.g waveform. Well, right, so how would you suggest changing that picture processing by the fuzzy logic detector? The detector meant to give higher probability for a abnormal e.g. So it has abnormality unlikely, possible, or likely options. To adjust the fuzzy logic detector in your system to give a higher probability of detecting abnormal e.c.g.s, you should focus on tweaking the fuzzy rules based on the e.c.g. features you're analyzing, namely frequency, amplitude, and peaks. Since we've identified the standard peak pattern in a normal e.c.g., two positive and two negative peaks, you can use this information to refine your rules. Here's a suggested approach. Define new antecedent for peak pattern. Create a new antecedent in your fuzzy logic system that represents the deviation from the normal peak pattern. This antecedent can have a numerical value based on how much the detected peak pattern deviates from the normal, two positive, two negative. Adjust existing rules, modify your existing fuzzy rules to incorporate this new antecedent. For example, you can create a rule that states if the peak pattern deviates significantly from the normal, then the likelihood of abnormality is high. Fine-tune membership functions. Adjust the membership functions for the new antecedent to accurately reflect the degree of deviation from a normal e.c.g. pattern. Likely abnormal. If the peak pattern deviation is high, or if there are significant anomalies in frequency or amplitude, then abnormality is likely. Possibly abnormal. If there are moderate deviations in peak pattern, frequency, or amplitude, then abnormality is possible. Unlikely abnormal. If all parameters are close to normal, then abnormality is unlikely. Implement and test. After updating the rules and membership functions, implement these changes in your system and test with various e.c.g. data to see how effectively it identifies abnormalities. By making these adjustments, your fuzzy logic system should be better equipped to identify abnormal e.c.g. waveforms, especially those that deviate from the typical peak pattern. Remember, the effectiveness of this approach largely depends on the accuracy of your peak detection and the precision of your fuzzy membership functions and rules. Okay, so it's like giving me prompts for GitHub co-pilot to change the code or something. Or at least that's how we could use it. Current problem. Yeah, we need to change process data to look at both positive and negative peaks, instead of just the overall number of peaks. So let's do that. If we get to change those globals, this will be the same. Then we have the amplitude frequency should be the same, mean peaks, right? So this bit changes. And yes, this normalized values will have to change as well, specifically for the peaks. It's this line. Right, it's not being currently used. Yeah, the whole return will change. Let's do that. So now we don't have any errors that the linter is showing. That's great. You can actually run, look at the run application to show you how it looks like. Yeah, so again, you have those e.c.g. waveforms. Individual PQRST complexes scrolling through the window. And some of them are normal, some are abnormal. And you need to click on the abnormal ones.   This is normal. I click on it so I get a false alarm. Then correct rejection. Yeah, this one I do not click on. Getting our correct rejection. And now a normal. And now a correct rejection. This is abnormal. It's missing one of the peaks and so on so forth. Abnormal as well. And once you get to 50 points, it starts going faster, which by the way, the bot should absolutely not care about. So this is definitely where human will fail. Or start failing as soon as the waveforms are scrolling too fast on the screen. There's a video of me reaching 1,000 points. That's the maximum I can do. Go check it out, see if you can do any better. It's on the website. Now, this is what we're adding in the current change. We have this analysis of a fuzzy logic. Potentially later we'll add another column for neural network analysis. Okay, I just realized, are you sure about the two positive and two negative peaks? In a PQRST complex. I apologize for the confusion earlier. Let me clarify the typical peaks in a standard PQRST complex of an ECG waveform. P wave, one positive peak, atrial depolarization. Q wave, a small negative deflection, not always present. R wave, a large positive peak. S wave, a negative deflection following the R wave. T wave, one positive peak, ventricular repolarization. So, in a typical normal ECG waveform for one cardiac cycle, a single PQRST complex, you should expect. Positive peaks, generally, two positive peaks, P wave and T wave. The R wave in the QRS complex is also positive, but is part of the same complex. Negative peaks, one or two, depending on whether the Q wave is present and visible. The S wave is typically negative. The exact appearance can vary depending on individual heart conditions and the lead configuration of the ECG. However, this is a general guideline for a normal ECG waveform. Okay, so shouldn't there be five of them? So if we have a normal ECG coming through, that's not normal. That's actually a difficult one to detect. Yeah, this one. This is the normal ECG and it has one, two, three, four P, right, Q. This one doesn't have the Q, R, ST. The R is normally negative as well. There should be two negatives and three positives that would be like a textbook. This is not a textbook, a PQRST complex. This image, for example, is missing the negative Q deflection. Ideally, there should be three positives and two negatives. How do we adjust the fuzzy membership functions for this to work? When it's thinking for long like this, it's not a good sign. You still have VX, oops, instead of splitting them up. Just correct. A typical ECG PQRST complex consists of a P wave, QRS complex and T wave. The QRS complex itself typically has a Q wave, negative, an R wave, positive, and an S wave, negative. The P wave and T wave are usually positive. In the image you've shown, the Q wave is not visible, which can sometimes occur in normal ECGs depending on lead placement and individual variation. However, for the sake of setting up fuzzy logic for detecting abnormalities, we can assume a standard ECG should have three positive peaks, B wave, R wave, and T wave. Two negative peaks, Q wave and S wave. To adjust the fuzzy logic to account for the possibility of missing Q waves or other abnormalities, you can set up your membership functions and rules as follows. Membership functions for peaks, you can define membership functions for the count of positive and negative peaks. For example, positive peaks, T, positive peaks, too few, could be zero or one, normal, could be two or three, too many, could be four or more. If the count of positive peaks is too few or too many, then abnormality is likely. If the count of negative peaks is too few or too many, then abnormality is likely. If the count of positive peaks is normal, but the count of negative peaks is too few, then abnormality is possible, accounting for the missing Q wave. If both positive and negative peaks are normal, then abnormality is unlikely. Here's an example of how you might define one of these rules in a fuzzy logic system. Ensure that your membership functions are well calibrated to the data you're analyzing, and the rules reflect the medical knowledge of ECG interpretation. Also, consider individual variability in the context of the measurement when setting up these definitions. Testing with a diverse set of ECG data will be critical to fine-tuning the system's accuracy. Let's still solve this problem technical issue. An analyzed waveform function in a game logic JavaScript. Yeah, we sent a post request, that's correct. 61 peaks. How about all words? There's still 25. Okay. Yeah, can we split it into the negative and positive peaks separately? And can you actually generate the relevant code? I trust you. Yep. Well, not really, but maybe this prompt will help. Certainly, to adjust the fuzzy logic detector to consider positive and negative peaks separately, you need to define membership functions for the count of positive and negative peaks separately. Create rules that consider these counts to assess the likelihood of abnormality. Here's how you can define the fuzzy sets and rules. Right, so breaking the overall number of peaks to positive and negative. Let's close the jet copilot for a sec and comment this out. Comment that out. Give me the numbers. And what's abnormality again? Let's do abnormality quickly. Membership functions for abnormality is the same as before. This code assumes a standard ECG with three positive peaks, including the R wave and one or two negative peaks, Q and S waves. The membership functions and rules should be adjusted based on the actual ECG data you're analyzing. Make sure to test and refine these based on real-world data for the best results. Yeah, we have synthetic, but it's okay. We are using synthetic ECGs for now. Testing the real ECG data will be another flat application and another tool. What else? We're still implementing this. Let's go over it again. Have positive peaks, negative peaks. We got rid of the overall number of peaks. We actually need to use those negative and positive peaks to view too many normal sounds. Check the actual numbers in a sec. We have the abnormality likelihood, so unlikely, possible, likely. Those numbers remain the same. Yeah, they might need adjustment later. Now we have these rules. Yeah, we need to get our rules correctly. So we have rules based on positive and negative peaks, too many to view. We don't need this one anymore. It should be rule 5. It's looking at the frequency amplitude and more rules. That's me that can suggest rule 7. Let's take it. Let's suggest more if I just hit dance, medium, medium. It's not a great rule, but we'll keep going now. So we have tools so far. There's some problems with the code. We have abnormality control, create control system with these rules. Just go, remove this one for a sec and just have that comment as a prompt. Right, it's doing rule 127. It's calling a different variable, which is fine. And then control system simulation abnormality analysis. It's calling it the same name, but it looks legit. And we have all the 127 rules. 124 being rules related to the number of positive and negative peaks. And rules 5, 6, 7 are related to frequency and amplitude. Obviously, this is AND and OR. And we have, I don't have this bit, do we? Immultian analysis, compute, input process data into the control system. It's about that. Compute is there. Okay, let's print this. Yeah, I'm not sure about that. Check it out for a sec. Pop it in here. This thing is actually called normality analysis. To use the system, you will input the number of positive and negative peaks detected in your ECG signal. Here's how to simulate with example inputs. Don't need it for now. We have peaks membership. Still a problem. Check copilot for a sec. Peaks are not defined. Fixes should define peaks. Do we need it? We did split peaks into two separate variables. The number of positive peaks and the number of negative peaks. So we don't need peaks where variable anymore in theory. Here is an updated app by script. Can you detect any problems with it? The whole code removed at last prompt. The provided app.py script appears to be set up for processing ECG waveform data and analyzing it using fuzzy logic. Here are some observations and potential areas that may need attention. Frequency analysis. The dominant underscore frequency is being calculated as the index of the maximum value from the FFT result. This might not represent the actual frequency. You should calculate the frequency values and then find the dominant one. Peak detection. Positive and negative peaks are detected correctly. Ensure the detected peaks correspond to the ECG components. P, Q, R, S, T waves. Global min, max variables. You're maintaining global min, max for normalization purposes. Ensure they're updated correctly across requests, as Flask's threaded nature might cause unexpected behavior. Normalization function. The normalization function looks correct, but you must ensure that max underscore val is not equal to min underscore val to prevent division by zero. Fuzzy logic rules. You have defined rules for both positive and negative peak counts, which is good. However, you have a placeholder for peaks in the input, which should be updated to use positive underscore peaks and negative underscore peaks accordingly. The rules are combining the fuzzy sets with or, for, likely, and, and, for, possible, and, unlikely. Ensure these logical operators align with your system's design intentions. Ensure you are using the correct method to extract the fuzzy membership values. The current method using fuzz. Interp underscore membership is appropriate for getting the membership grade for a single value. Before sending the JSON response, you're converting the numpy types to native Python types, which is necessary to avoid serialization issues. Proper error handling is implemented, which is good for debugging and catching unexpected issues. Here's a suggested change for the frequency calculation part. Ensure that you test the application thoroughly after making changes to verify the correct functionality. Also, it would be wise to handle cases where the FFT might return zero or near zero frequencies to ensure the frequency value makes sense in the context of an ECG. Do we have this functional? Let's fix the peaks a bit first. Here we have frequency, amplitude peaks, so then normalize once. Then you should update the peaks membership dictionary. Positive peaks membership and negative peaks membership may have two returns. First one is okay. The second one isn't. Have results, frequency, amplitude. That looks legit. Still have peaks somewhere. You don't have the same error. Converting numpy to integer. And that's working, but not displaying anything. Why? It's a sensitive thingy. To live roof 5, 6, 7, 7 to work. The 5K logic. Just make a quick overview. Next week, we will fix these values, which is the output of the fuzzy logic analysis. We do have the values working okay, but then it's just not being displayed properly on the front panel. Abnormality 0.8. Let's see if it's actually correct or not. So this is abnormal. Yeah, abnormal ECG. Once it's passed, it's abnormality 0.8. This one normal ECG and it says abnormality 0.5. This one here 0.8 again. This one will be harder to detect. It's always showing 0.8 or abnormal. I think it's abnormal again. And this is a normal ECG and showing abnormality rate. That was wrong. It seemed to be delayed by 1. That was abnormal 0.8. And then normal should go to 0.5. Yes. Abnormal 0.8, normal 0.5. So it works. More or less. This normal again will go to 0.5. So that's the probability or not. To check that. Okay, something is wrong. That's normal. It's stuck. And this is how the decision is actually being made. So 4.8. F positive. It's still normalizing the number of positive peaks. It's no good, no good, no good. I'll fix this next time. It should be fairly straightforward fix. The website is available for you to play with. The current ECG game is just over there. You can access it from the front page of the website by anikers.com. And you can play with it manually. And hopefully this tool, which is a robot playing this ECG game, will be available for you to try out sometime soon. So if you have any suggestions, requests screaming at me for doing something wrong, please do let me know. I'll see you next time. Bye.


A number of areas, I guess, where we're involved, first in terms of the K-12 system with we don't administer, well, we administer the funds, but we don't deliver the programming directly ourselves. We do that through an agreement we have with the school board, so we don't run the schools. The schools are run by the province through the school board, but we have a supplementary agreement with them to put different things into the school, so it's an agreement we negotiate every year. So at the school level we'll have two main areas, inactivity programming, and that's from K-12. One piece of it is an immersion program, where everything is taught in inactivity. At the high school level we have high school courses that are credited towards the provincial system, so you can use them instead of French or other courses. You can use them for graduation and they're certified by the province. So we provide that funding for the school board to hire teachers and we put funds into the system to have the curriculum developed. I guess the other piece we do with the school board is what we call the life skills program, so that again that's basically throughout the whole school system, including high school credit courses, and basically what they do is they learn inner life skills, so it could be sewing, it could be skin preparation, it could be hunting, it could be carving, snowshoe making, just different types of inner skills, and it's taught across the board to all the levels, all of our five communities, just inside of our territory. The other area where we have some programming is I guess at the post-secondary level, and what we've been doing over the last number of years is delivering, well some diploma programs, but some like early childhood education, which was a program, it was a provincially approved program, but we've added in-ode components to them, so we had an in-optitude instructor for example, and we've incorporated in-ode ways of knowing and in-ode traditional child wearing practices, things like that. Also at the degree level, we've delivered now through the university and the college, we've delivered two social work degree programs, again geared specifically towards in-ode incorporating in-ode content, the in-ode ways of knowing, two for social work, one for nursing, and we're now doing what we call our IBED program, which is our in-ode bachelor of education program, and in that one as well we've infused an in-optitude, some in-optitude language instruction as well. The partnership with Memorial University and the College of North Atlantic, yeah, usually the first part is, usually the first part of it is sometimes we have to do upgrading up front, so we would do that in conjunction with the college, and then the second, once we get into the university courses, that's in partnership with the university. The first social work we did was social work as a second degree, and we did that with St. Thomas University, and then we did the in-ode bachelor of social work program, that was the four-year program, we did that with Memorial University. All the trainees, all the students are beneficiaries of our territory, and the idea is really is to train our own people to work in our own communities, with your own knowledge. I guess to me, in-adjust education is something that starts at Chalworth and carries on through until a person leaves this earth, and it's the knowledge that you have, but it's your own knowledge, and your own ways of placing value on things, and also the way you pass that knowledge on. So it's just your own way of knowing, and your own information, and passing it on to your children or to your people. So it doesn't have, I don't think in terms of a K to 12 system or a university, it's a lifelong learning process, and knowing who you are, what you're about, what the values are of your system, and then having a system in place that would teach it in a way that the in-ode won't understand that. Over the next 10 years, or maybe even a little bit longer, what I would like to see for our territories, I'd like to see us at a point where we have built enough capacity so we can actually run our own system, our own K to 12 system, and our own early childhood education system, that will have information that we can share with parents for the earlier years, and I guess at the post-secondary level, I don't know if we'll have our own university. I'm hoping that at the national level, we may have an Inuit university that we could share among the regions. We're not a large enough group, I don't think, to have one in every region, but the other piece I'd like to see is more programs at the college and university level that incorporates traditional knowledge and Inuit ways of knowing, and we're gradually getting there with that. It's taking some time. Every time we deliver a program, the information is there and we can do it again. As I say, we've done early childhood education, we've done natural resource development, we've done nursing, social work, and education. The next one may be business administration. A little bit more challenging on business administration to infuse Inuit knowledge, but we will put it in there. It's the way people understand things, and having part of us knowing more about who you are and yourself, so those pieces we can put in. I guess when it comes to developing a good business plan, there's not much you can infuse in that type of process, but wherever we can infuse in Inuit ways of knowing, we'll certainly do that. Education is one of the areas within our land frames agreement where we have in our self-government agreement, because we have a self-government chapter in our in our claim where we have under self-government chapter, we have the authority over time to take down things like justice, things like education, health, and social programs. Even though we haven't, we're just starting to move on them. Our effort is really being to build our capacity first, and once we get enough capacity, then we'll start hopefully taking things down. So we're 10, 11 years in. We haven't really taken anything down yet, but we're still very young. I think the human resource capacity is one component of it. Another piece of it, I think, is that we need is more research on in their education, even understanding the systems we have now and how well they're doing. I mean, if we want to make some changes, you know, right now, for example, in our schools, we don't really know what our true graduation rate is. You know, I don't think most schools don't know that, you know, a true honest way of determining exactly what. You know, to me, somebody starting, you know, if we have 10 schools, 10 kids starting kindergarten, if nobody dies, you should have 10 coming out the other end. And if only five comes out, then you have 50 percent graduation rate. But usually the graduation rate, most times they'll look at who enters high school, and if they come through, so they don't count the ones that are knocked off in grade seven and grade eight, right? So it's not a true graduation rate. So it's that kind of basic information we need. Even on the Inuit side, on Inuit knowledge, we need a lot of research to document those things and put them in a format where we can actually teach them. You know, we can use elders and that's fine, but sometimes we need more in that. So there's the research component we need. We need a lot of work done on that area. So there's those tools we need, you know, and I think that will come through better partnerships, I think, with the colleges and the universities and institutions, research institutions. The only thing I would say is that what, you know, the last number of years we've been getting more collaboration among the Inuit regions and with First Nations. And I think there's a lot of value to that collaboration, because I think we've been, you know, the internet has brought us a lot close together. It's made it easier for us to share information. But for many years, I think we were all doing good work in our regions, but we kept it to ourselves. We didn't have a good way of sharing. So I think with the new communications tools like the internet, we can share more. And I think that's a big advantage for us. What has led to some successful, somewhat work at a secondary level of getting more people up to a high school graduation. And then I think once we get them to a high school, then we have a fairly good program for supporting students, our post-secondary student support program. It's a program that we took down, we've taken down from Million Owners Affairs. So we administered ourselves compared to mostly Inuit regions don't actually administer their own, their own student support program. So we administer our own, I think the fact that we're doing it ourselves, I think it's made a big difference. We have quite a number of graduates that get to the program. Our success rate is quite high. And I think it has something to do with with the fact that we're administering it ourselves. So we can understand the students and what they're going through and what their needs are. So I think that that's, I think that's nearly, I think we've done very well. I'll just mention one other little project we have that we're just rolling out now into the school system. And that's the Inuit history and culture course. So it's a history and culture course that specifically that we've researched with, we've developed ourselves. And it's a course where the kids can learn more about themselves. And it's a high school credit course for the grade 10 level two high school credit course. That's one we're doing now, we're excited about. We have the material developed, we don't have the book written. The book is not, well, we have the book written, it's not published. So hopefully within several months it'll be published. And we think that when we can roll it in our schools, but we think there's value to sharing it with other schools, with non-inuit schools and across the province so that other people can learn more about us and understand us better.


You might say I jumped out of the frying pan into the fire about 1980 and I was in construction doing gunite work, concrete work, helped build a spec house or two and then in 1980 I decided to build a house upon the ranch that my dad owned and he gave me half the ranch for working hard when I was a kid on the ranch that I grew up on so I had a couple hundred acres and decided it was time to move up there and cut some trees and make some lumber with that. Dad was a rancher but kind of a jack-of-all-trades. He held in California when we moved from Sacramento area he hauled dredged tailings for gravel for driveways, he farmed, he'd melt cows, he had a wrecking yard, hauled and sold a lot of scrap iron, he did everything. You learned a lot from him, I bet. I learned a lot, I learned how to improvise overcoming it at from the time I was eight years old. I mean I was out of bed at six and out doing whatever dad was doing at seven every day until school started looking forward to summer and looking forward to weekends. Your real work ethic? Definitely a work ethic. German, German, that's sweet but I think the German, the stubborn German I think comes out more than anything. You know what my dad said? My dad is 87 and a couple years, no about five years ago I said dad why don't you take this map draw some lines on it go paint some trees and all cut them down and harvest them and do all the hard work. He says damn it I was born to work. I tell you that pretty much sums it up. This just feels rewarding to look behind you and see what you've accomplished for the day especially if you're once you know who you are and why you're doing what you do and the end result and you know the result 50 years from now or more depending on who takes the next step. So it's pretty rewarding work and where I'm going to take you up here show you a one little spot just because I think better in my pickup when I'm driving because I do so much of it kind of shows the kind of work we do that's a little different just harvest replant and go again so we're we're kind of into the ecological world and we see the need for it too and we see the demand for it so we're just trying to make it pay to wait the bills while we do it. Yeah one thing about our world nothing ever stays the same not us and if you're working hard and learning and growing and building a reputation and really digging into your enterprise you know it creates opportunities you have to adapt with the change or not so I think probably I have changed that of course the high tech world has changed the ability to produce more with less people has changed dramatically but maybe at times to the detriment of the environment so we are still leaning a little more towards harvesting where it's a lot more work but the soil the root systems the soil food web the plants don't take such a big hit we do the best we can given meeting all the parameters of the job we may if we had to compete in the industrial logging world we'd probably find it pretty difficult to get work except that people like us I don't know I never look for work it always just finds me and that's I mean I've been every year I worry about not having work and every year I can't quite get it all done okay we have a crew of let's see today I have three contract people there running equipment because it's gonna snow a lot real soon and we won't get that job done and I don't want to let that young couple down so I kind of put getting the job done ahead of profit I mean it'll come back someday one way or the other so I have six guys counting myself five trucks and another contractor with two of his guys there him and two other guys so there's like 12 or 14 people involved in this project today that's big yeah kind of a tough little project that solves steep and everything is uphill to the main road to get out to get off the job what are the other factors that make a job harder or easier quality of the timber the height the size the defect rocky ground steep ground brush there's brush all over this you can't walk it you have to open up all the whole trails with the cat and so you can get where you want to go and look around this knows we have to probably walk our equipment you know two and a half miles an hour or eight or nine miles to get it off the job there's a lot I mean we could talk for days about that you know you know nobody knows your little your little world nobody knows what you bump into all the hurdles you have to cross to put a put a written project together we're the same way there's millions of little idiosyncrasies in our world that tell you're there you never think about well this is a really interesting piece of property we worked on it for probably 20 years on and off Marty Main is the consulting forester and Judd Parsons and the family was the owner well yeah the was the owner Hillcrest Orchards was the owner in the family there's like 40 or 50 voting members some of them as young as five or six years old that vote on decisions on how to run this business Hillcrest Orchards so they voted to sell this property Judd Judd his brother maybe a sister and a nephew bought it back being the leaders that they are and now they're forming a conservation easement on it it's like it's over 2000 acres I believe so Pacific Trust out of San Francisco is putting together a conservation easement for the property and it'll preserve nobody will be able to come in and just annihilate the value out of the resources and leave so it'll always be managed for water for timber for wildlife for all the ecological things for fire but it won't ever be taken advantage of so it's kind of cool I see this I've been watching this process for three years and I think I see that Judd and his three or four siblings are going to come out making just as much money as if they would have harvested the timber for doing the right thing for the right reasons and having the confidence to make a stand and move that direction takes some real leadership to do that because it's a I'm sure I mean I don't know but I'm sure it's in the millions of dollars kind of a deal so tell me what your role is in this you know I am just a worker I'm just labor so Marty recruits us and others but typically we've been involved quite a bit in the harvest of the timber so it's it's got some little challenges wide variety of timber tough roads and it's never a clear cut sometimes it's really thick when we finish sometimes there's a little bit more room between the trees helps us immensely and we never take all the big ones we take a big one or two a day maybe so we harvest a wide variety of age and size and species depending on the conditions the slope the uh the climate change and how fast it's changing etc etc there's a lot of science involved a lot of planning there's a lot of science and a huge amount of planning all the available science and a huge amount of planning so this whole hillside that we've been driving by we've logged you're at Callahan's looking across the freeway you look right at it this time of year with all the black oaks and turning colors or leave her about gone now it's really pretty you can't tell we've been in there Marty always says all things considered I would like to do this so you know he considers every aspect the needs of the owners the needs of the land the changing climate for sure um fire is huge you know the fire equation is a large part of his decisions in his planning especially in key areas um because this property runs over the top of the Mount Ashton Road to the Colson Road and across the Colson Road all the way back almost to Ashland so the way it lays it can be a fire up an opportunity to stop a catastrophic fire that's about the best you can do with fire planning it's an opportunity and so yeah and Marty has a pretty high degree in fire so he understands what he needs to do to make it work you can't fight nature this ground these high elevation mountains grow timber and it's hard to get rid of it always wants to go back to being timber except with the case of fire then it'll be timber and succession grass brush back to timber grass brush back to timber it's just nature's way and the site is suited to do that we logged a little bit right in here last march I think it was a year ago march and what a challenge anyway Marty always makes us work hard and over this of course of this whole property there's hardwood patches there's brush patches there's aspens and wetlands there's some mature trees I mean these trees aren't completely mature but they're considered mature for this day and age they're all every tree here probably is over 100 years old so we have Douglas fir in this stand that one with a witch's broom another one over there that's 170 foot tall tree and then we have ponderosa pines right here so the pines in this area especially this close to hill was was all harvested back in the days when everything was shipped in a wooden box so fruit growers had their own mill and they made wooden boxes and they loved pine especially sugar pine and ponderosa pine so part of our job as we go through these forests is to lean them back towards a more natural state pine ponderosa pine especially susceptible to drought and they're they're going to handle this climate change better than some other species so Marty always protects the pine pushes back to white fir which is a shade tolerant species that comes in underneath the stand that hasn't had fire in years and also manages the dug fir for long term so dug fir ponderosa and sugar pine we always push just because it's a novelty we actually work diligently to protect the black oak sand some white oaks on this property because we want to mix in that that specie as well so we we look for ones that we think will survive and we give them room to grow sun on the south side so pine oaks a little less dug fir push the white fir back and you start to get back more towards a natural system where fire would have entered on a 10 year regime historically at this elevation and and in madrone we see tons of madrone trees these days but historically uh you would see nearly as many because of the little orange pretty little orange bark very thin and very wet and very sys so when we lay out when we when Marty lays out a unit and plans what he wants to do with that unit there is a lot involved the long term end result that's going to benefit society it's kind of yellow and when you cut them they're just it's just waxy and beautiful great wood but i kind of hate cutting a big tree anymore hard work you know that i have two guys that jump over that bank in march in snow and rain and sleet and set chokers they're laying on the ground they're in the brush their faces in the brush it's raining it's wet it's tough and uh so i compete with knife age the labor unions that pay good money have everybody has benefits we have to find good people treat them fairly and still have a profit in the timber left for the landowner and that's a challenge you know timber crop gets amortized out like over probably would be like 80 years so you have to carry three or four percent so it's really not the profit in it that you would think there is if you are honest about the numbers the biggest thing is that people never think about every everything up there is kinetic energy everything up there wants to hit the ground everything over your head by nature wants to fall to the ground and where the we're working there or not it happens so i've had uh and a friend of mine's have had snags fall just for no reason no wind it's just time right close to where you're walking or working and stuff so that's probably falling objects whether we create the incident or nature creates it is probably our biggest risk out here um equipment yeah i i'm after the guys keep seatbelts fast and work within your limits uh things can happen all right but for the most part we're not too bad who i influenced i hope the greatest opportunity is a few people that we influenced in the right direction long term that care i think that's the most power education sharing a passion sharing the knowledge you know i can be i can be pretty influential out here walking through the woods with the right young man you know digging around looking at mushroom sided and then and then i hope did it follow through you did that with your son didn't you i think so i think so they get a little frustrated at times because what we do is so much work but i think they've kind of i think they can see it and that doesn't happen quick to see what's really going on and what has gone on over the last 250 years but once you see it you kind of go oh my gosh so you know after 35 years of just being in the forest i mean i've worked outside since i was a kid i mean like six seven eight i've been outside and always worked outside whether it's construction military logging you just get to where you understand things so well and i one of the things i have become extremely aware of is that i will say something to somebody and they don't have a clue about what i just said even though it's in plain english they don't see it they don't understand it they don't know what's going on all around them all the time so i kind of see the whole world getting themselves into a corner really with the climate change issue because they don't see the hotter days they don't see the trees dying the change in the forest like i see and the accentuating curve that's happening in the forest over the last 20 years they don't see it they just jump in their car and turn on the air conditioning go home turn on the air conditioning just enjoy life so that has me a little concern for like my grandkids as kids or something to that effect you have to observe and especially like with my sheep sometimes i'll just go sit right in the middle of them and just watch to see what they're doing how what they're eating how they're eating it how they feel you know and the same thing in the forest too you just have to really stop and think about it a while you have to take time to evaluate and then it all comes to light well not all it's a never-ending learning process but it sure is fun


Having a Delta Award is important I suppose for a couple of reasons from an institutional level and just having the prestige of having a Delta Award associated with your program or your course or your team is really good in terms of attracting high quality students and just the reputational value of having a Delta Award you know on a kind of a macro level. It's really useful for the team as well to look at where you have been and where you're going to and to see the goals that you've achieved the things that are outstanding and to create strategies and timelines going forward for that and so it creates a map a roadmap for you into the future as well as allowing you time to consider what you have achieved and what still is outstanding from the past. Well Elevate our team it's about creating a space for students to engage in their own way with teaching and learning modalities that best support their deep understanding of complex molecular-based concepts. It applies principles of student partnership working with students as co-creators as well as users of immersive learning technologies. The Delta Award and and I think more importantly the process underpinning it provides a framework through which to scaffold their vision for how that can best be implemented guided by best practice in digitized learning approaches and grounded in subtle and sound pedagogical theory and I think it's important to recognize that the National Forum brings together a significant body of international best practice and it's an excellent focal point for interdisciplinary teams such as ourselves to coalesce around. The award acknowledges the strength of our team of students and staff working together to develop even further the entrepreneurship ecosystem across the university and the region. We use the accolade when applying for external European and national funding and attracting project and research partners. Our recent award prompted discussion with MTU's King Centre for Entrepreneurship Excellence and the Finnish University who are interested in exploring our award winning entrepreneurship excellence has a good practice for their university. Well we would see Delta as much more than an award. It's a research and practice oriented community that has the potential to transform the teaching and learning landscape in Ireland and internationally. Delta fosters excellence and Ireland has the people to deliver that on a global stage. It's also important to recognize the importance of collaboration and interdisciplinary. Delta and the National Forum fosters that potential in a meaningful and purposeful way. Well the sector is evolving at an astonishing rate there's changes in the composition of the various higher educational bodies that we have and it's a it's a competitive environment. Students have a lot of choice and I think in terms of making programs accountable on an external level for their excellence and to showcase what we can offer is really important and the Delta mechanism is one of the ways that we can actually do that. So by creating an environment that isn't necessarily competitive but encourages groups like ourselves to strive for excellence and to demonstrate that excellence and opportunities offers an opportunity for HTAs to showcase what they can do and the scale and the extent and the excellence of offerings that the Irish higher educational community has to offer.


Hey y'all, so this is gonna be more of a rant to video excuse to tell. I Am I have a hot blow treatment on my hair excuse the background noise too? I'm sorry you guys very impromptu But you know so I did that video on my favorite Rinseout conditioner or a cold washes and I'm sitting here thinking okay I'm getting all my products ready for wash day because it could be a bit much for me But why it's a bit much is because of my deep conditioner I still to this day have not found the perfect deep conditioner y'all there have been a lot of products that I have tried There have been a lot of a lot of deep conditioners that I'm like wow that's great But yet I have not found one to where I'm like okay I'm gonna add that to my deep conditioner routine I have to always make my deep conditioner using the cholesterol here or rinse another rinse-out conditioner there some oils there so Sorry, I mean why is it like that? I have to that I can show you right now that are great, but still I wouldn't say okay I'm gonna add that to my deep conditioner list and it's eating body works the natural deep conditioner jojoba Great. Sorry great product. I have a review on this and then we have or s's Hair mayonnaise, but this to me is like a little mini like a mild protein treatment I don't need a protein treatment when I deep condition I don't want that so I Don't know. I'm just yeah, like I said, this is a little mini ranch video I'm looking at my products now and The bottom shelf is nothing but cholesterol because that's what I use as my base to make a DIY and looking at the products I have I will say a good I Mean there's a mixture of everything But the least products or a good deep conditioner now at the bottom here and I'll pull around like I said I have a bunch of cholesterol. So we have Queen Helen. We have about five of the olive oil. Then I have random mask here Like, you know Palmer's deep conditioning protein pack I have a couple of these laying around But again, I end up having to mix a lot of those products together y'all to make a great deep conditioner I I've yet to find one for my hair. Yeah, it's just it's frustrating Let me see what else is down here. Yeah. No, no No, absolutely not so it could be frustrating for me. I have the mesh I'm gonna be reviewing soon, but look at the size of this. This is nine ounces This is only gonna be one uses for me. Maybe one and a half You know, I'll I'll probably get through though But I bought 75% of that jar because I have so much hair. So yeah, you know There are some good ones out there like the ORS, but again, I don't need that all the time So I ended up mixing it with other stuff I just wish I could just pick up a jar and run with it You know what I mean? Just pick up a deep conditioner and that be it And you know, maybe there's someone out there that I haven't tried yet So let me know y'all drop it down below or there's some great deep conditioners out there for four tight thick dense hair I'm still looking and until I find the one. I'm just gonna keep making my own so


Hello everyone, welcome back to another Premiere Pro tutorial. In this one, I'm going to show you how to add text to Premiere Pro, how to edit it, adjust it, and even how to use the new text panel. There's a new text panel that's available. All of these things, I'm going to show you how to do it in about 90 seconds. Let's start from scratch. I'm going to delete all this. Here we go. All right. 90 seconds. Drag and drop your footage in like I've done here. Now the first step to add text, simply go down to your toolbar here and type on this right here. Click on the type tool. When you do that, you can type in whatever you want. I love you, daddy. Okay. Thank you, little puppy dog. Perfect. Now, a couple things. First off, wherever the time, the playhead is, is where the text is going to be created. It's created on Video Track 2. You can adjust the size, the length of it. So if I only wanted to be a short piece, I could adjust it as so. Okay. Hopefully you're following along with me. Now, the next thing you can do is you can make adjustments to the text. To do that, you want to go to Window. You want to go to Workspaces. Then you want to go to Captions and Graphics like I just did there. Click on the text like I've done here and then move over to the right side and you're going to see Browse and Edit. When you click on Edit, it's not quite where you need it to be. Now click on the text and now we can start making edits. What can we do? Oh, I can align it center. I can go ahead and adjust its position. I can select a different font. For example, let's go with Soleil. It doesn't really matter. I'll re-center it. You see the point here? You can add fills. You can add strokes, et cetera. All of that basically like Photoshop. It's all in here. Feel free to play with that as you see fit, fonts larger, smaller, et cetera, et cetera. That said, there's now the new window and if you go down here, you'll see a text panel. This is not that useful if I'm being honest for you unless you have lots of text in your timeline. When you open it up, it's not where you want it to be. Click on this graphics option and when you do that, the text panel will show you that this is where the text is. If I had a second piece of text over here, check this out. It adds that bit in here in the text panel. If I had a third piece, et cetera, et cetera. It's all here and then you can double click on that so much and then presto. I would go back to that piece and there you go. I've added it and adjusted it. That's all there is to it to adding text inside Premiere Pro. Thanks for watching.


Good morning. So how many of you have heard about mercurial? Great one, two. Okay. So yeah, it's a version control system, just like get, but it's more powerful and fast than get. So let's dive into mercurial. So this session will be like more of a demo so that you guys can, most of you guys have used version control systems like mostly all of you have used get over here. So let's dive into mercurial and see how it's better than get another version control systems and how we can use the use it. So let's start it. Sorry. Yeah. So let's start with creating a repository and so let's create a repo. Okay. So now to initialize a mercurial repo, just like get in it, you do HG in it. And this is now a mercurial repo. Let's commit a change. Okay. So now you have a file in your repository named A and you're written hello over here. If you do, so it's hello here. But to start to tell mercurial to start tracking your file, you need to add it just like not similar to get in get you do get add but in mercurial, there is no staging area like in get you make changes add them to the staging area and then commit them. In mercurial, there is no staging area. You just need to start tracking the file at in the beginning. So in mercurial, you will just do HG at it. Okay. So a already tracked. So by doing add, you are just starting to track that file. Okay. So now we have tracked the file. You can see the diff and we have hello. Let's commit that. Okay. So let's have more commits over here. Equal world to a and a to b. Okay. So the diff doesn't show b now because it's not all tracked. We need to add it to get it tracked. So let's add b and you can see it's in the diff over there. So now if what if you want to just like commit the changes of b not of not of a. So you can do HG come. You can change do that interactively. Examine changes to a. Yeah, record. You don't want to record changes to a still. Okay. No changes to b. Yeah. You want to record it. Yeah. Oh. So it's added b. Okay. So still the change to a lies in your diff. So it's like you can do all the things which you can do with the help of staging area. So let's have. So now about like how to view the history like yesterday Christian was talking about bisects and rebase and all. So let's do all that also. So this is the law commands helps you to see the history log. So the log you can see that we have two chainsets. One is added a one is added b. Let's have more chainsets. So I will just change the current, commit the current changes which are there. So it will be to a and then. Okay. So coming from the get while all of you are used to branches like get branch master get get branch original and everything like so in mercurial to if you want to make a branch it's quite easy to understand how mercurial works just understand how a graph works. Here you can see who is the rest of the part. Yeah. So yeah. So now you can see it. So yeah. So now you can see that the graphs looks like you have three chainsets one on the one on the another. So now to create a branch. So you can just update yourself. So it was the it is the current graph which we are working. Now if you want to create a branch now how can we create a branch either we can create a branch from two like branches are like things like if you there is a root node and their branches coming from here and here. So if you want to create a branch starting from one you can just update to one and create a new commit. So let's update to one at the up is a command or update is a command where you can update to existing commits like your working directories on commit number two. So if you will do if you will print a it's if you will print a it's hello world but if you update to commit number one it's commit number one and when you will print a it's hello because you have updated to an all older commit. Did you just notice something different from the get I didn't copy the hash of the commit. There is a revision number revision numbers exist in mercurial yeah and people use them people love them love revision numbers you will see through the whole demo that why revision numbers are so helpful like I don't need to copy the whole hash. So like I am on now revision number one let's let me change something. So let me add a so I add here so this yeah added world in new line okay so created a new head. So the commit is telling me that it has created a new head and when you will look through the log you will see there is a branch over there and now these are two branches. So like these are two heads you can look into the heads you can look into all the heads by using HG heads. So you can see there are two heads now if you want to merge it or rebase it. So let's start with rebase get people are afraid of repase and I will show you how easy rebasing is in mercurial. So you want to rebase two on the top of three or three on the top of two like let's say I want to rebase two on the top of three. So I will do HG rebase my source is two I want to rebase two on the top of three my source is two my destination is three slash the three okay and enter okay okay. So it created no changes like there was no changes different from two to three and repasing it like the two and three changes were similar let's create a different change. So okay so let's commit it okay. Now log looks like this now we want to rebase three on four similarly HG rebase source three destination four and after this the three will be placed on the four. So you can see when I press enter and this so now the change as a added world in new line is on the top of added world to be. So it's rebased you can rebase whole the branches on one on the other or like merge things so it's easy in comparison to get people don't rebase in get very like usually they are afraid of rebasing. So you can rebase easily in mercurial you just have to pass the source and destination you can pass the root node of the whole branch and the place where you want to rebase it and the whole branch will be rebased on the top of the destination commit. So this is about rebase and merge and everything. So okay so enabling extensions the rebase command which I used is not in the core mercurial if you will download mercurial and do HG rebase it will say rebase command not found. So basically what we at mercurial things that we should not provide users with options by which they can like hit on their own leg like rebase is a very useful command but it also like does something which might not be user friendly at some places like users can mess up with rebase using rebase command like they can rebase one thing on the another and like do things which are crazy and like end up in a place which is hard to recover. So that's why we have these commands in the extensions and we can easily enable extensions. We have a lot of extensions if shipped with the core like let me show you so these are the list of extensions like if I will so we have a lot of extensions shipped with core these are all the extensions shipped with core like a history large files patch bomb patch bomb is extension which emails your patches the large files like yesterday one good guy was talking about large files we have this large files from long ago rebase shelf strip and we have a lot of extensions which are shipped with core. So how to enable these extensions simply you can do yeah this was where we were working so to enable an extension you just need to edit a small line in your hgrc your hgrc is a file where you have just like bash rc you place the settings of your bash in hgrc you place the settings of your mercurial so you can have per repo hgrc and even in my global hgrc I will show you my global hgrc so it's like you I've set my UI name extensions so in extent again so yeah so I've set my username faces faces is an different thing we will talk about it later alias is like I've alized few things like whenever I'd output log it should be it should show me a graph instead of a simple commands and in extensions enabled patch bomb here so enabling extension is easy you just need to place the extension name and the path to the extension in case the extension is shipped with core you just need not need to put any path it will automatically detect the path and in case the extension is out of the core just like I have two extensions enabled here you need to just place the path and you can easily use the extension so it's using the extension is very much easy in mercurial so let's talk about the powerful features which are there in mercurial it's they are history editing features like if you are working or working for an organization and you send a series of patches and you and the reviewer told you like I like it's a series of six patches and like I have some review in second patch and you need to change it I will review in third patch and you need to change it what you do in the current world if you're not using mercurial what you do like maybe rebase a man and everything like it's or maybe most like some people just make new commits and push them they don't know how to edit history or they don't have like few weapons to edit the history so we mercurial we at mercurial have a lot of options to edit the history so first we will talk about the evolve extension so let's get so first we'll talk about evolve extension so evolve extension is a very powerful trouble-free history editing extension so I have enabled the evolve extension you can also enable you just download the source code add it into your hgrc and just use it so I will show you how to you how evolve extension is powerful so for example let me update to the parent yeah so for example I have four commits so I want to just let me see just like if you want to see we what commits are there you can just do 2g export 1 0 1 3 4 no 2 5 okay 3 5 okay 4 5 so the first commits was hello the second was hey the world and world so for example you need to just change the first commit you need to change the first commit which was like added a and you added a hello into the a so if you want to just change it to hey what you will do so in using evolve you will just update to that let's make a new tab so using update you can evolve to you can update to that commit okay so we are updated to that commit if you will see a it's hello we want to change it to hey so let's open it so change it to hey okay the def is there you want to amend it into the first commit like you want this change to be in this commit so just do amend and like it's the the commit is there so yeah so the seventh commit is now yeah okay the seventh commit is now I added a in the I added hey in the for a if I but it makes few changes unstable what is this so it made this changes like this was our all older commit which is denoted using x we edited it and new commit is there we just want to rebase it for example if you want to just edit the who added this one also let's add it add added this fourth this first commit all the fourth commit also this one and in we wrote hey there let's change it to hello so if we want to just we want to update to fourth commit yeah so let's update to fourth commit we see B is a world and edit world to be okay so we want to change this one first one or maybe we can change into this okay let's change into this way so I opened B I just removed the this line and change it to hello and okay and I did amend okay so now when you will see the log you will have like okay so it looks scary now you don't know what's happening over here and you don't have idea of it so there is a command hg evolve all which will fix all these things like rebase the things which should be there remove this cross commits and everything and it will give you the working directory or the history which you wanted so it nothing to evolve on the okay so I need to update also I need to update one okay okay so here is a merge conflict and I need to change it to okay so it's saying like on the base on the base commit you add hey and the next commit you add hello world so you need to change the first commit to hello okay so let's look at the log now okay so now you have the same log which was there but you have you will have the changes edited in the history let's see the numbers are 7 10 12 13 7 10 12 13 and you can see that I we change the hello from hey the history changed and this is hey and in the next line we change this from hello this hey to hello world earlier what we did was this commit was like only world like we added only world over here we edited the commit and this became hello world and this commit is like which commit is this wait I did world in a new line okay yeah so this is a that is sorry so the history is edited I guess just okay so like maybe I just to merge something wrong so that's why that world is popping up there so this is the wall extension you can like edit commits behind beneath the stack and do powerful history editing things and related things which you like which you can't do in other version control systems and you have very easy commands left so let's talk about the next one next one is HG absorb like it's a very powerful commander I'm like you haven't heard about such type of history editing tool till now so let's talk about this okay let's make a new repo because so okay so let's create commits okay I want to add a touch the okay so okay so I have three three commits in which I in the first comment I added a and I wrote a to it so okay so all three commits are similar just they are adding different files and with hello in it okay so suppose this was a project that you need to make five commits and five files and write hello in it okay then now for a now suppose what the person who gave you this assignment and come to and say that okay instead of hello I want hello world and this are like thousands of commits and you are like what I now I am going to add world in all these commits no obviously no so there is a feature absorb which you can easily use and do these things like let's see how it works first of all so for example I want to just add world in all these files and it should be it should be there like when I did it it should be here like I did I added hello world not just hello and it should be there present in every commit okay so this one is very easy so let's output everything and okay let's add a add world to each one of them I have added world to a to b into c and this is diff okay so I need this diff to get absorbed in those commits and this world to be present there okay so first of all I need to enable the absorb extension which I have commented out so this enable the x okay so now what I need is like these things should be absorbed in in this like it should not be only hello this should be hello world so what I do is sorry what I do is g absorb and three of three chunks applied and when I will sorry the revision numbers must have changed so the revision numbers are now three four five and when I do three four five it's like wow you added hello world you added hello world and you added hello world so it's like you this is one example of where you are doing history editing absorb works like it takes changes from your working directory which were there in your edge diff and absorb those changes where they should be like it knows where this certain chain should go and where the that certain chain should go so it works like this you can like it can go into the same file with different chunks like if you have it if you have same file and you have two commits which are dealing with different chunks and you need to get absorbed in the same file in to do two different commits absorb works like that also in case you have ambiguous things to apply evolve absorb leaves them in your working directory so this was about absorb it's a extension still not shipped with core because it needs some of like grinding and refining to be shipped with core but it's like a awesome extension which I haven't seen with any another version control system so let's talk further so this was about absorb it absorbs your okay five minutes okay two minutes so this one was about absorb which absorbs your working directory changes into commits it's a very nice history editing tool next one like more powerful tools to help you we have rev sets so rev sets are a functional language for selecting changes or revisions in mercurial so just let me show you so so in mercurial you can do like I want the revisions which are authored by this person which are like ancestors of this like I want like okay so I want the HG export I want the parent I want to see the parent of four so what is the parent of four so I'll do parent of four and it's the parent of four is three and yeah it's three over here so that like you can query revisions according to a functional language which you have over here like well say you do in databases like select star from this this this so we have a functional language which it's very powerful when you work in daily life with revisions and search for change sets which are present there so you have a lot of sorry so you have a lot of features over there like you can you can see which ancestors authors and like there is a lot I am running out of time similarly there is file sets you can see which files are modified on a certain change and like if you want if you have a diff and you have a large if you want only see like modified files you can use the file set and it will return the files which were only modified not I did not delete it and it will like pass on to like so these rev sets and file sets are like query type things and they query the repository and returns you things and you can pass them on to the other commands like log export and everything so this was about rev sets so questions there are more things in the slides so but I am running out of time questions any questions anybody have any questions like how to move your current project from gate to mercurial or anything like how where I can host a mercurial repository I have a question yeah if all your references are integers and numbers and you have others who are working on the same mercurial yeah project how do you how do you merge those changes okay so his question is like revision numbers are there in mercurial some how like a people work someone who is working there have some revision number I also have reason so the revision number concept is a local thing like I have revision numbers over here when I push them the hash goes the change the things works similar to get the hash is there it will it get pushed there so revision numbers are numbered locally like I might be having like when I absorbed or used if all the revision numbers grew up like they the numbers were not just still 0 1 2 3 they were 4 5 6 so when he will pull those chainsets might be like there are already 10 revisions in his working directory and they will be like 11 12 13 so revision numbers are not constant they are not connected to a certain chain set like just like hash there is a hash of a chain set but there is not a revision number of a chain set it depends on the repository where you are working and how how many of other how other how many other chainsets are there so it's not connected to a revision it's used it's very useful when you are working on the local direct local copy copy and you need to pass numbers instead of hashes so it's useful in that case yeah I think if there's anything else we can we can take it out of the session so okay so thank you yeah thank you very much for giving your presentation thank you


What's the word y'all? Let's talk about it. I'm gonna preface this by saying I will probably only be talking about Bulls vs. Nets today Today was a film session day I try to allocate one to two days a week to film on my main channel videos all of that And that was today because I saw the Bulls head a home game and start at 9 o'clock bed I'll be done with filming by 9 o'clock and I was and I tuned into this game And I wish I know I don't miss Bulls games regardless of how the outcome is There was a good game for two and a half quarters 71 it was 71 to 71 a couple minutes past and it was like 75 to 100 I don't I don't what I do know what happened James Harden started to turn up at Kevin Rant with supernova in the third quarter But yeah, you you know things things happen. This is what I hate about social media I made a jokie joke about the Bulls in that third quarter like man They got to stop putting us on national TV because we not built for yet obvious joke considering We've won games on national TV this season, but it was just a little jokie I know that 90% of the people that saw that tweet knew it was a joke But I only can think about the 10% of people that thought I was serious The Brooklyn Nets won a game and I'm gonna say that they have a big-time decision to make It's crazy to think that James Harden Kevin Rant and Carrie Irvin have only played a handful of games together if I'm not mistaken 13 and 3 or it's like 15 and 3 or 16 and 3 regardless their win percentage when all three of them play is really good And this is the first time this season where they had all three of the players on a court together They'll carry Irvin and have a carry Irvin type night He had an impact on this game and it is scary now This is the first win the Brooklyn Nets have had this season of a team above 600 So, you know, but this is why I say that they have a big decision to make now I'm not here playing epidemiologists. I'm not here to talk about The virus or vaccine. I'm not trying to talk about that But there was something that came out earlier today talking about the Brooklyn Nets and how they can maybe loophole their way to have And Carrie Irvin play home games Optically, it would be really bad for the team. I'm considering when the game the season started they were really they stood on this heel of trying to keep people safe and keep the adiata and Obviously things have changed right where they're allowing Carrie Irvin to play at away games But there's a little bit of a loophole here and this is published by NY Daily News if Nets and NBA really want to They can let unvaccinated Carrie Irvin play in Brooklyn for a small fine And they continue to go on and say hey if you let Carrie Irvin play his first game in Brooklyn It's a warning second game is a thousand dollars third time is two thousand dollars fourth time is five thousand dollars and fifth time It's another five thousand dollars So they will be paying close to or a little over five thousand dollars every time he plays now If you look deeper into this article deeper into the rules it says for that last time the fifth time It's no less than five thousand dollars So I guess the city of New York or I guess the state of New York could come to the Brooklyn Nets and say hey It's five times but now instead of a five thousand dollar fan. It's a ten thousand dollar fan There's the fifteen thousand dollar fine But there there might be a loophole to have Carrie Irvin play in Brooklyn again Like I said optically it might not be the best decision for them considering where they stood at the start of the season Versus now and it could completely turn 180 would maybe look bad, but they do have pressure on them Y'all they do have pressure on them Kevin around has been up for a few seasons Carrie Irvin has been up for a few seasons and now James Harden has been up for a season and some change and They want to win a championship There's reports the other day that the Deer of Morrie in the 76ers are trying to make deals dealing around Ben Simmons and Tobias Harris try to get off all of that money because they want to make a run on James Harden They have some pressure the Brooklyn's do to win a Championship and and since Carrie Irvin came back a lot of people wonder like hmm Do you want to be the top seed if you to Brooklyn Nets? Because if Carrie Irvin can only play away games you go to a game seven in Brooklyn He's not there and obviously when he is there whether he's having an amazing game or not when all three of these Do's are here. They are a super super edley team even though they are one and eight versus teams over 600 I think you would be crazy to say that this team can't be the good team in a series I think you'd be absolutely wild in your line to yourself because you know the top and talent in itself is Enough for them to be real-life contenders and real-life championship team today Kevin Ryan had an amazing game James Harden may um day Ron Sharp look like the greatest center of all time Those are the type of impacts you can get from these guys and imagine if Carrie Irvin is back on his 27 points per game 50 40 90 stuff and he's playing a series now. This is what I think might happen again. It's just a prediction I could be completely wrong. I don't think they bring this this card out yet I feel like if they wanted to do this where Carrie Irvin is playing home games They can just coast their way through the regular season letting Carrie play half the games They already the two seed right now with Carrie Irvin not playing for a big chunk of the season where James Harden was playing Terrible not terrible bad for his standards obviously turned it up bad for his standards for a good chunk of the season They've coasted their way to like the two seed. You know what? I think they might end up doing my prediction would be that they wait to the postseason surprise You wasn't planning for Carrie Irvin to play on this game one at home We'll take that we'll take that warning or game two at home We'll take that thousand dollars or game five. Oh, we need even a game five We swept the first round of the playoffs. I so game one of the next series We'll take that fun So that's what I think might happen But they have to make the decision again because optically it might not be good for the team So they have two games at home coming up that is tomorrow against the OKC Thunder and then the game after that It's the pelicans and they have four straight role games That is the calves that is the wizards that is a spurs that is a Timberwolves And that will allow Carrie Irvin to get more PT behind them The first two games he didn't look bad and today he didn't score the ball amazingly, but he didn't look bad today either I mean obviously still in really good shape But they have that big-time decision to make man And I'm curious to see how they decide to do these things because I really do believe that They are pressured to win this championship this season I mean we have contracts of James Harden that's gonna be up and this offseason Carrie Irvin has a option on it I'm a player option on it so he could potentially opt out So again, there are some pressure to try to keep these guys happy or win that championship Because even if James Harden decides to walk or Carrie opts out and goes to a team where he can play a whole season Regardless of the vaccination status if you win a championship, it's all worth everything every trade you did everything You've done it's worth it even if you just get one championship And that's what I've been trying to explain to people for a million years Let me talk about the Chicago Bulls side of things because obviously I have no other choice, right? So what I got to do a couple days ago We were going against the Dallas Mavericks and me and the homies watch a lot of these games in the party together And one thing that we were talking about or I mentioned to them is that good teams are able to just have elite level offense And some okay subpar defense and just win regular season games, right? We've seen a lot of teams in NBA history be able to do that even when we were on that nine game win streak We had the number one offense in the league in that span, but we had the 22nd defense They can make an argument to me. Hey, we're missing Alice Caruso, Givante Green and today we lost Dara Jones, Jr I hope bro. It's not like out out because that would hurt our hearts We've missed in some of our best defensive impactful players for sure and even during a lot of that streak We didn't have a Lanzo ball in the court That is true But the great teams that separates the good power from the absolute great teams are the ones that have it on both sides of The floor early in the season. I mean the Bulls were a top 10 defense So I guess we just got to get healthy to get back to that point But it seems like health is not something that you're gonna get to completely So you have to figure out all of the other things too, you know I'm saying not a great game for us Especially when you you know, we didn't start off with a lot of nasty televised games But we got a lot of flex action because we are the number one team in the Easter Conference at the moment record-wise So because we don't have a lot of nasty televised games people They're only interpretation of us other than looking at the box and say all the Bulls beat the Pacers today The Bulls beat the Whistaday is when we are on national TV and that's why I made the joke y'all damn man I'm I'm still mad that people took that joke at face value and thought I was being serious We team enjoy basketball around here man, even though we was getting blown now It was disgusting. It was like six straight possessors. It felt like we're DeMarg got ripped up Zach Levine got ripped up. We couldn't get his stuff 71 to 71 blew out to like crazy crazy proportions Ridiculous, I know somebody I bet if I went to Twitter right now stat muse has put out a tweet talking about James Harden in the last X amount of games because bro has been hooping his butt off and you can argue I mean, he's not the only one right a lot of people that made superstar players that started off really slow They were like, oh man, bro, they gotta save Luca Donchich. I don't know how he played today I started they lost but look at Donchich James Harden those guys are coming into form man All it takes is time All and they have plenty of his 80 plus games of an NBA season and you getting ready for the playoffs James Harden says Christmas I told you he was gonna have a tweet 27.3 points per game eight rebounds 11 assists We'll round up for you. The real number is 10.8 assists 45 percent shooting. Oh The tweet right below that is talking about Russell Westbrook in the last three games I did watch the last minute of that game That's not enough for me to dive into it and talk about the game completely But I know everybody's talking about Russell Westbrook right now and honestly, I was gonna make a video a couple days ago The last game that they lost I don't remember who it was against but in the post game interview Russell Westbrook got me low key sad for him, bro Like he's always been kind of a standoffish guy when it comes to the media But in this one, it had a different feel to me Like somebody was asking a question about him being a team point guard and he like laughed and like was basically the nine The fact that he's a point guard. He was asked. What do they what did the team go from there? And he stood inside and sat in silence like 30 seconds before he said anything and then it says right here in the last three games nine points six points eight points and he shot 20 percent in that span and again only watched the last minutes of this Kings game and One of the last possesses of the game is him holding the ball for 20 seconds and jacking up a three It's it's rough out here man Obviously, I've said this plenty of times before but I know there are new people coming to the channel all the time I'm very neutral Russell Westbrook. I'm not a Russell Westbrook stand or lover. I'm definitely not on the haters side either I'm very neutral. I look at him the way I look at 90% of NBA players But in that moment when I watched that that post game interview, I felt bad for bro Then again, I got a look at the history. He basically requested out of okay See he requested out of Houston. He requested out of Washington and well I Wouldn't be surprised that he's like man. I wish I was in the Laker right now I already see Laker fans coming after Russell Westbrook and I mean they blew this game, right? They lost the game to the Kings again. They split the season series with the Kings. It's not something you want to do the Kings are The Kings are not you understand what I'm saying I Will do I want to go back and watch this game or maybe just watch the Russell Westbrook possessions I don't really know is it must have say on the January 12th game about Russell Westbrook on a team That's 500. I know this because they have LeBron and Anthony Davis and Russ that no matter what and because they're the Lakers No matter what's going on in their organization People are gonna talk about it, but man, I wish that the spotlight won't really on I'm really one on them right now. All right. That's the end of my ramble


I'm the type of person that believes that a single moment in time can change a person's life. One of those moments for me, as a young child, I was the kid that struggled. And I struggled to hold still. I would tap, I would move all the time. And there was one person in my life who saw that problem as an opportunity. There was an educator, and his name was Mr. Jensen. And he was the first person in my young life who created a moment looking at the problem, my inability to sit still, as an opportunity. And that opportunity changed my life forever. But in that experience, Mr. Jensen, he took these sticks, and he put them in my hands. He said, Clint, listen, I got these for you, and I want to give them to you. But here's the deal. You've got to promise me that you'll just keep them in your hands. He was the person that created a moment with a pair of drumsticks that allowed me to live a better story.


Item Number – SCP-457 Object Class – Euclid – Slash Potential Keter Special Containment Procedures – SCP-457 is to be kept in a 5 meter by 5 meter chamber with no less than 22.9 centimeters, or 9 inches, of cumulative fireproofing via various materials, as best as cement, perlite boards, upon all surfaces, and a blast-proof observation window with emergency blast shielding installed. The opening to the chamber must consist of at least two temperature-controlled and airtight chambers that may be sealed in case of emergency. SCP-457's chamber should be kept at high humidity, with a drainage system installed in the floor, as well as a misting sprinkler system installed and running constantly, and emergency hoses capable of at least 2.1 MPa, or 300 PSI, of water pressure. SCP-457 is allowed a small structure upon the wall of its chamber that remains water-free, but only allows for minimal protection and preservation of form. All personnel entering SCP-457's chamber should be wearing at least Class A temperature-controlled flame retardant sealed suits, and enter in groups of three, with two members equipped with high-grade blast shields, and emergency fire extinguishers. Personnel should only enter SCP-457's chamber in order to supply SCP-457 with its daily allotment of fuel material, or to examine and repair any damage to the chamber or sprinkler systems. Should SCP-457 engage personnel in a hostile manner, it is to be controlled via emergency extinguishers and hoses, until it retreats back to its safe chamber. In the event that SCP-457 breaks containment, emergency sprinkler systems will be triggered, and personnel will be supplied with extinguishers and blast shielding. Description For all points and purposes, SCP-457 appears to be a sentient being composed of flame. SCP-457's actual composition is unknown, and has proven to be invisible and undetectable by any known means, but is shaped out by the flames it produces, often assuming a human-like form if given sufficient fuel to assume that size. SCP-457's most rudimentary form appears to be that of a single flame, comparable in size to that of a matchstick. In this form, SCP-457 possesses only the simplest of directives, and shows no signs of being unusual compared to any other flame, beyond a penchant for suddenly flickering to burn human hands, and the ability to jump to more flammable materials or other flames, which it then assimilates into its total form. As SCP-457 grows larger, it is able to assume more complex shapes, and its intelligence grows with size and fuel sources. SCP-457's method of intelligence is unknown, but upon reaching an approximately human size, SCP-457 almost always assumes a human-like form surrounded by and composed of flames. SCP-457 has been observed to communicate through writing letters out of its own flames, charring them onto the wall or other surfaces, and more rarely through speech, created via high-pressure superheated air, and the crackling and pops of flames. Once SCP-457 reaches an unknown threshold of size and fuel source, SCP-457 splits into two beings, and so on and so forth. However, multiple beings of SCP-457 are aggressive towards each other, and will either attempt to consume or extinguish their doubles, especially if there is only a limited amount of fuel at hand. SCP-457's behavior is largely predictable, as its goals are simply to acquire larger sources of fuel and to spread. The danger of SCP-457 comes from its ability to increase intelligence with size, and a parent ability to learn and mimic behaviors. This has led to it purposefully damaging and sabotaging sprinkler systems, and, in rare circumstances, set up relatively complex traps. It has also attempted to trick or reason with personnel to be released, or have access to more fuel. Due to SCP-457's unique composition, variable intelligence, and uncooperative nature, its psychology may not be accurately determined in accordance with any human analogy. SCP-457 was recovered in WU in the summer of 2007, after multiple wildfires were attributed to it. It is unknown where or how SCP-457 initially formed. Investigation into the potential of SCP-457 being responsible for other major fires is underway. Addendum An interview between Dr. WU and SCP-457. Doctor, can you speak currently? SCP-457, yes. Doctor, good. Would you mind answering some questions? SCP-457, no reply. Doctor, I'll take that as a no. How do you feel about being confined? SCP-457, crackling, dislike. No fuel. No air. Doctor, we have provided you with adequate air and fuel to survive. SCP-457 cannot burn. No fuel. Doctor, are you saying that you cannot grow? SCP-457, grow. Need. Must grow. SCP-457 moves about containment area as if searching. Doctor, how do you feel? SCP-457, hungry. Doctor, do you feel anything besides hunger? SCP-457, no answer. SCP-457 approaches blast shielding separating it from Dr. WU. Doctor, how do you feel about humans? SCP-457, they burn. SCP-457 moves closer to blast shielding, appearing to examine the window and Dr. WU. Doctor, how do you feel about fuel? SCP-457, it burns. SCP-457 places a hand upon the blast shielding to no effect. Doctor, please move away from the window. Or we will be forced to reduce your size considerably. SCP-457, no reply or signs of understanding, does not move. Doctor, how do you feel about water? SCP-457 emits a high-pitched scream of superheated air and presses body against blast shielding. Doctor, please move away from the window or we will be forced to turn the sprinklers back on. SCP-457 backs away from the window, still screaming, hissing, and snapping. Doctor, do you understand that? Stay away from the window and you will not be doused. SCP-457 quiets and remains still for several seconds before approaching window again, stopping several feet away.  SCP-457 want fuel, want air, want burn, want to burn, want to burn, want to burn. Repeat self, growing louder and beginning to move about containment area rapidly, apparently searching walls and ceiling for a way out. Doctor, there is not a way out. If you would please, what is it doing? Is it looking for a way out? At this point in the interview, SCP-457 managed to severely damage much of the sprinkler system and destroy a portion of the fuel injector that had been sustaining its intelligent form, giving it free access to several gallons of gasoline. The interview transcript was recovered via security footage from before the blast. SCP-457's temporary breach of containment came from an exploitation of the sealant used to attach the blast shielding to the rest of the chamber. How SCP-457 managed to learn of and exploit this weakness is unknown and it has since been moved to a higher security chamber. Addendum 2 Due to the excessive resource requirements in keeping SCP-457 contained, locating a permanent renewable fuel source is currently a high priority. Proposals so far include, but are not limited to, use of starch dust obtained from SCP-1689 potatoes, use of SCP-124 to rapidly produce sources of biofuel, approval of one or more of these proposals pending review. Lesson complete. If you missed the previous orientation, go watch SCP-456, soporific bedbugs, right now. Or for the complete course, watch this playlist.


The study aims to evaluate the awareness of HPV vaccine among college students, CSS, in China and provide evidence-based recommendations for publicity and promotion. A random effects meta-analysis was conducted using various databases, resulting in an estimated AR of 40.27%, 95% CI, 30.86%, 50.06% among Chinese CSS. The study found that awareness varied based on factors such as gender, major, area, city, survey time, and sampling method. The findings suggest that HPV vaccine awareness among Chinese CSS is relatively low compared to European countries, providing valuable information for better understanding the status of HPV vaccine awareness among Chinese students. This article was authored by Ganyin, Yulin Zhong, Chow Yichen, and others.