Hello, everyone, and welcome to our talk. We are super excited here to walk you through a concept of out instrumentation of your metrics. You collect from cloud infrastructure, cloud native applications, and beyond. And, you know, we can distinguish three main goals behind this talk. And those were motivation why we are doing it. First of all, you know, recently we hear a lot about EBPF and for a good reason because it's quite powerful. So we want to explain how EBPF actually works and how it can be leveraged in the cloud environments for monitoring purposes with prompt use, since, you know, there might be high potential. Secondly, technologies often, you know, overhyped. So we need to be careful. We want to look with pragmatic eye on how this concept is really feasible on modern clusters like communities and, you know, is it ready? Last but not the least, we would love to share some practical tips and give starting point for those who really want to start using EBPF right now for observability purposes. We hope it will get you, you know, started faster. And so we can get, we can together make a space of EBPF in clouds more major, especially for observability purposes. But before that, let's start with the short introduction. I'm here with Harshita. Hi, this is Harshita. I'm a software development engineer at Amazon and I was a ex-Tanos, BSOC, MinB and Bartek was my mentor. And my name is Bartek, full name is Bartuomi, but you can call me Bartek. I'm principal software engineer at Red Hat. I am prompt use maintainer. I also maintain TANOS project and I am CNCF attack observability tech lead and I also write a book with really called efficient go. So as you can see, we are not necessarily EBPF experts although we spent quite much time debugging and programming in EBPF last weeks. Yet technically we are observability experts looking into low level EBPF programming as a way to improve observability in cloud native ecosystem. That's why we will be looking on this concept right now in this talk from usability perspective, especially on how realistic is this to be applied today in the cloud native computing foundation space. So the flow of the talk is following. First of all, we will explain web method, what exactly this is, how it is useful. We will talk about practical instrumentation nowadays for implementing web method and challenges into obtaining and maintaining those. We will talk about EBPF and how it can improve the situation. We'll show a quick demo and talk about practical adoption concerns or potential. Harshita, do you want to tell us more about red methods? There are several methods of monitoring when it comes to managing workloads and production on the cloud. For example, learning the health and status of the system to alert when something is not expected. Officially do that. We need to look at the service from many perspectives, especially if it's a web service and there are methodologies and patterns people invented that help us to identify what things can be good to monitor and which might be unnecessary. So red method is one example. In the beginning, there was something like golden signals that we could read from Google Saripam. There is use method by Brendan Crick and fairly recently, red method was invented, I think by Tom Belki. So what is the red method? It is essentially a method to monitor request-based service. Rate, which is the number of requests per second your service is serving, how much traffic you have and errors, number of failed requests per second, duration, distributions of the amount of time each request takes, how long things are actually performing. Example, maybe nice traffic, not too much and no errors, but requests are taking too long. So red method is indeed pretty amazing. We can build automation around it, revisit, for example, we can build dashboards to show the common views of the system health for one service. We can build SLO views, alerts and recording roles, all the Prometheus goodies, but if another service is using red method, we can easily reuse, save resources, so dashboards, alerts, recording and so on. No need for magic templating or reproducing things from scratch for every application. All developers need to think is, how do I satisfy those signals described by red method and aside DevOps tooling will be compatible with it? But how can we instrument application in order to satisfy red method? Let's take the simplest example ever. We have Prometheus server. It is a web server that serves some HTTP requests. For example, it responds to prompt your queries, but it also collects the metrics and allows monitoring. So let's use Prometheus to collect metrics about itself to show how we can monitor Prometheus in red method fashion. We could then reproduce the same pattern for any other application than Prometheus. Let's go. As we mentioned, Prometheus collects the metrics, but it is also a server. So it exposes some metrics about it's web serving. One of the most important metric about it is Prometheus HTTP request total, which is a counter of all requests by method and status code. So how it was done? Well, in fact, we could see this metric, so instrumentation was implemented by hand in Prometheus code. And in this graph, we can see that it overall gives us the rate of requests served by Prometheus. So it satisfies the rate item in our red method. Great. But that's not all of it. It also satisfies the red error site as it has response code metrics label. So we know if this request was successful or if it failed, then we calculate the rate of errors, percentage of those and satisfy error element on red method. What about duration? We can look into the histogram. Prometheus exposes Prometheus HTTP request duration seconds. It allows us to know the latencies of those requests. And again, this is the last item on our red method. So with just two metrics, we satisfy all of items on red method. We can kind of show that we have a basic and essential monitoring enabled for Prometheus. We measure and collect enough metrics to use red method dashboards alerts, recording rules and so on. So that's the red method. Let's now talk about how we can implement the red method. I mentioned that the way Prometheus implements red methods kind of handcrafted, which means that Prometheus maintainers like PyTek wrote the code from scratch, literally imported the client of Prometheus and Go, defined and registered required metrics and incremented the counter everywhere. Web handler returns the response. This works great, but this has its own limitations. So there are a few challenges. Firstly, we have to implement it, but what if we don't have access to the coalfee application? Maybe it's closed source. Maybe you don't have enough knowledge, comparison, tooling or dependencies. Since you're implementing from scratch, you can make mistakes and it's harder to maintain. There will be inconsistencies. When one team handcrafts their instrumentation, they might have different metric labels, but different behavior, different listener position from the other hand for the same metrics bringing instances inconsistencies. Yes, some of it can be fixed with templates, but it is not so easy. So that's why handcrafted method is not the best. It's not what we would recommend. The other thing you can do is to use a well-known library like some GRPC or HTTP middlewares. For example, PyTek is a maintainer of Thanos and I was a Thanos mentee. And in Thanos, we use certain X-HTDP package that we wrote, which is a library anyone can use. It can be hooked into any code HTTP server that will immediately instrument all the routes and HTTP handers. The same can be done in GRPC using code GRPC middleware project that PyTek maintains. Similar to HTTP middlewares for focus on GRPC in the form of interceptors. Thanks to those reusable libraries as long as those are red method friendly, well-tested and used, they are much better choices. Thanks to consistency, if you use the same library in all your applications. Those helps with maintainability and avoiding mistakes, but still we have problems. For example, we still might not have access to the code. Applications can be done in many languages. So you would consistency across libraries in different languages. And those middleware and libraries might not be existing in all languages. We know it works in code, but maybe not for other languages like Java, Ruby, Python, et cetera. Last, but not least, big people do instrument their example. HTTP application is using something like a service mesh. For example, Istio, LinkerD, or maybe just Proxies, where you don't have to add a full service mesh. Just this side curve proxy to application like Nginx or Envoy. Those Proxies are part of every HTTP request. These can collect read metric, read method friendly statistics about the traffic. What are the pros? Those are tested and reliable. You don't need to write your own stuff so you can't avoid making mistakes. There is solid consistency because every application has the same side curve in this service mesh. And it will have the same metrics, but there are problems. It is much more complex to operate such system because service mesh is just, and it's a process is another side curve and it's a containers. There are a lot of things that can go wrong. It's highly to operate on scale. For some applications, it is also introducing significant latencies, making it so it won't work for everybody. There is some extra cost. It uses extra compute power like CPU or, so this can translate to real money on scale. So at the end, this might not be an ideal solution. Great, thank you, Harshita. So as Harshita explained, we have quite many choices when it comes to collecting permutous metrics for red-method monitoring of our HTTP requests, but they all have its own trade-offs, pros and cons. And none of those can be described as automatic, right? So let's explore if this EBPF thing can get us there, but exactly where? Like what would be the dream world that we can call auto instrumentation of our metrics? So to us, auto instrumentation is when I can create a new application from scratch in any programming language I want, or I can take some application from somewhere. And when I put that into the container, deploy on my communities and on many clusters and point my permutous servers around those applications, I will have a consistent metrics about what HTTP traffic is happening so I can use red-method to measure it consistently using my dashboards, alerts, I can create my runbooks consistently as solos and all of those goodies that we care about, all kind of consistency, consistently. That's beautiful, right? That's amazing. Let's see if EBPF can get us there, can help us here. So what EBPF is, first of all, nowadays it is the whole ecosystem actually with its own foundation called, non-surprisingly, EBPF Foundation. This foundation is aimed to help EBPF projects, EBPF-related projects to try to be maintained, but also ensures that the core EBPF is maintained and it's still open source because you never know. Big players are in this foundation, so it looks pretty serious. There is Google, Facebook, Microsoft, Clouther and more. So it looks very ambitious. So what is the EBPF core? The core is essentially a technology that allows this hooking into kernel functions, for example, syscalls and by executing small, save, small snippet of code every time this function is invoked, right? And everything in the kernel space. So very close to the kernel and quickly and safely. This is kind of the underlying technology of EBPF. The feature was itself added in kernel 3.15, which is like quite old kernel. So nowadays we have like five something. So the technology is quite major. So you can also store some data through EBPF program. It can store in a stack, of course, in here, but also in EBPF map that can be accessed by the user space of some application that is loading this and managing this program. And in our diagram, it is this goal library that is doing this. For example, EBPF program can gather how many TCP packets your Linux socket process, for example, and then a user space program can access that information through by looking on this EBPF map. So this goal library will know about that. So how we can practically use such data in Prometheus with Prometheus. It's quite simple in theory, right? We could develop an exporter, which by the way, it's already developed by Klauffer, which is super amazing, that allows us to inject our EBPF program and do certain mapping between EBPF map data and the Prometheus metrics with what labels we want. And then this EBPF exporter will periodically check EBPF map or actually on neighbor scrape to expose the data in the metric form, in the time series form. So then it's as easy as pointing Prometheus to this exporter. So kind of scrape it, every whatever interval you want and collect this data periodically and expose it for the PromQL and for their integrations. Sounds very easy, right? And indeed it is actually matching lots of items from elements from our goal. You can actually implement one EBPF application that will hook into places you want in order to gather those HTTP request statistics. And then if you have that, it will actually whatever application you will write in whatever language, in whatever technology, as long as it uses like normal HTTP requests through kernel, we can measure that in a consistent way. So there's no custom code involved. I don't change anything in the application. I don't add any sidecar. So there is no additional costs, no significant additional cost or operational burden. And there is consistency because whatever application I use, this EBPF exporter will provide a metric with exactly the same name and behavior. So it's kind of powerful. But as everything, this obviously has some trade-offs like everything has trade-offs. And there are some catches. This code is from our demo EBPF program. We wrote and you can see it's written in the C. It's kind of worse than that because it's limited C. So you cannot import standard libraries. You can only use few dedicated helpers and that really depends on the kernel version you are using. You have only 512 bytes for your stack. So you cannot allocate lots of huge variable to store, I don't know, some buffer or whatever. That even expects you to understand what is the stack, which is not normal knowledge of DevOps engineer or a series really not required. So that's already a challenge.  You can have major slowdowns. So it is serious. And also certain errors are, we know some, you cannot hook into certain functions even though they are in the kernel code because they are in line, for example. So we just kind of a compiler optimizations. There are lots of, the development in this is quite brittle, I would say. And there is more, right? The error handling is just painful. And I guess this is just C. So lots of misleading errors. Like for example, this is unexpected type name, something, but actually this function, this macro BPF per CPU is just not existing. Why it doesn't tell me that this is just not existing? I was, you know, super confused. And also like this is pointing to line 25, but indeed it wasn't line 25, it was some other, you know, line because everything is shifted because of those macros. So you cannot rely on that.  So you need to use to that. Second catch, second major catch is that you have to know Linux very well. You need to be able to understand the tools and helpers which are available through this BCC. So BPF compiler collection. You need to understand what is available, what's not in your kernel, in a specific version of the kernel and your operating systems and how to exactly check the signature of those functions and Cisco's because you need to know those signatures in order to use sometimes to even hook into it and then use those arguments of those functions for your tracing or monitoring, right? So it's kind of hard. And, you know, there's also, this also mean that this kind of being specific to the kernel version is that really none of the tutorials I saw work for me, for example, because I have like pretty new 5.11 kernel version. So I had to dig everything from scratch. My function names were totally different and it just was, well, I have to build things from the bottom up. So expect your code to be not portable across operating systems and kernel versions. So there's a lot of effort to maintain such programs on the scale, right? Like imagine, I don't know, like as an example, I couldn't use key probes which is essentially a certain way into creating a hook into some function in the kernel on the accept for Cisco, which is what typically used to kind of trace TCP connections. I had to use trace point, which is like a different mechanism. It was kind of fine, like at the end I could use that, but it just took me four hours to figure it out. So great, it is a bit hard. So let's go to demo, like what we want to show? What's the architecture? So in this demo, you will see one way of getting two of the red point method monitoring signals using eBPF rate and errors. And we have cloud for eBPF exporter running everything in the containers because we are cloud native. And we have a Prometheus server. As Harshita mentioned, we use this Prometheus to collect metric, but also we want to use this red method. We want to monitor Prometheus itself. So we want to compare the handcrafted metric with this eBPF based metric. And the critical part of this demo is the actual eBPF program. So there are kind of three ways I found how we can get the HTTP request kind of metric statistics. You could trace your program, right? So there is something like Uprobes, Uprobes which allows you to essentially hook into function, which is not in the current load, but actually in your application. So it's kind of similar how you do that in the bugger, right? And this is great. We know that in Golang we use HTTP slash net HTTP packages and there are certain functions that is involved when we have a request response. And we could hook into that and every time we hit this in our code, our eBPF program will be involved so we can make statistics from it. But as you can imagine, this is really code dependent because suddenly the library changed, the semantic of the version changes. Every time code changes, we need to update our eBPF program, not fun. Like we kind of breaking our goal here. And also it doesn't work with Java applications, for example, because all of those are running in JVM which is a virtual machine of Java. So everything is compiled in time. It's just hard. Second thing I've seen is you can attach your program to the socket. This is useful for filtering packets or filtering HTTP requests. Unfortunately, I couldn't use that, but maybe useful stuff. And the last item I chosen to do is kind of a neat way into hooking into important syscalls, accept for, which is required to, you can use other stuff, but like this is typically used what, when you want to obtain a TCP connection and the file description to the connection. And then you can read from that connection or write to that connection. So we do that in the server side. We read requests and the write response, right? And then we close this connection. So if you hook, we have kind of visibility into what's happening. The tricky part is that you need to read and write is used for any IO, so any file reading, writing. So we need to be able to really filter out the TCP connections only and ideally only HTTP requests and ideally only from our container. So this is a lot of work, you will see that. And I have no idea how to do it with the TLS. I hope, yeah, someone will show me at some point. So let's go. So in order to show that, we wrote some kind of Golang test, which is kind of end-to-end test. It goes in Go test library. And so what we have, we have here Docker environment where we start Prometheus and we start, I obtained some kind of Haki in Haki way, Prometheus process ID because this is how I will filter all those requests in ABPF program. And I can start ABPF exporter in the container as well. So you can see it is kind of privileged container here that I have to build my own ABPF kind of exporter version. I have to patch it a little bit, but you need to provide a lots of stuff, right? You need to provide headers, you need to provide access to the PROTS resources and some debug trace point kind of fire path. But you overall start the kind of containerized environment exporter in the containerized environment in the previous manner. So then I have to configure exporter and ABPF exporter has a nice configuration file. I kind of have it typed here, but at the end it's the YAML. I specify a program, I specify metrics. I choose to have started connection, close connection and overall requests. And I tell which ABPF map I use kind of it's called table here. And then I choose where I want to hook my program. So I have four functions. I want to hook into when we enter the accept for function, six call actually, when I exit that and then when I enter right and when I enter close. And then I parse this program and I kind of put it here in this YAML, but I also substitute some pit because I want to also filter by certain process ID, right? So we do that and then we just start everything, make sure Prometheus knows about the CBPF exporters and let's start it up and we open some kind of browsers. That's it. So when this starts, both ABPF exporter and Prometheus should be running and it should open our browser and we should see after some time that we obtain some metrics. So the first metric is what Harshita shown is like a Prometheus metric for HTTP requests. We have apparently like around 30 of those and this is exactly the same, well, it's kind of the same, what we aim for this to be the same information, HTTP requests, but from EBPF directly, we have like similar value around 30. There might be like some different delays on where we check this data. So that's why maybe the numbers are not exactly the same or maybe I have back in my EBPF program, but in an ideal world, those you provide the same, you get the same information from both methods, just EBPF just more, it has its own benefits as we mentioned. And we also have like, you can see that process started nine connections and didn't close any of those yet. So, you have some additional information. So let's test it out. So for example, let's go to my code and when I kill this, I should open a browser with like a wrong query. So I do an API call that was bad. So it should return with 400 status code. So we can see that Prometheus handcrafted metric, it, you know, found it really nicely. Yes, we have just one metric, which was found as a 400. And then let's see if EBPF program found it. Yep, it found that there was a one bad request happening in the system, but there is one more thing which I want to show. So when we go to the code and click to another step, we'd make a different call, which is a wrong, essentially not found error, but you will see something interesting where handcrafted metric doesn't show that. We have only like one error. However, EBPF metric shows that you can see there was increase and there are two errors with 400 code. So this is pretty neat because what is happening is that we in Prometheus and I maintain Prometheus, we probably forgot to, or maybe, yeah, we didn't plan to put this metric instrumentation for all the paths in Prometheus server. So we missed this path of kind of root and some broken path and we didn't instrument, we wouldn't know about that if someone will be spamming there and maybe kill our service because of DDoS of those requests, right? We would miss that because our handcrafted implementation was, maybe it's missing something, but EBPF program knows about all calls. So immediately we know more than just handcrafted metric, right? We know that there are some, and we've made more of those, you know, maybe someone spamming this request will know about that from the EBPF implementation, right? So this is the whole demo. I can also show you the code of EBPF program itself, but, you know, it takes some time to explain all of this and we can do it at some point, and maybe I will provide like a blog post about that, but essentially, yeah, lots of work we're in there and kind of the most tricky part is to how to ensure we measure really HTTP requests only and only the rights that gives, because, you know, when you write response, you do lots of right CIS calls potentially, not only one, because you maybe write like some response and not only HTTP headers, right? So we want to also measure only that. So there's lots of complexity, but once you do that properly, it is rewarding, right? So just to finish, we have kind of, you know you can do it, but let's understand this feasibility, right? The technology is major, but we see that it requires some kind of low-level programming skills. You need to know about kernel. You need to be aware that there is literally zero portability here. You need to be very aware of your kernel version. So you need to deploy, for example, when you deploy that into communities, you need to probably be in, not probably, you have to be in control of your kernel version or all of the nodes and operating system, which usually you have, so that's possible. You need to fix your containerization access. So it has to be privileged container and so on. Still doable things and mapping challenges. So all the BPA programs you usually have is like C group ID, which is like number of E node and then thread process ID. And there are ways to map it. I have to create a patch on EBPF exporter to decode that, but you know, I think with some work it is totally doable. So thank you. I think I hope you learned something. I hope it will get you started if you want to go and try to make something production ready with EBPF for observability needs and check our demo and sources in this repo and follow us on Twitter or ask any questions if you want. Thank you.


Most of this information comes from Publication 946, have a depreciate property tax year 2022, you can find on the IRS website, irs.gov, irs.gov. Looking at the income tax formula, we're focused online on income remembering. The first half of the income tax formula is an essence and income statement, although just an outline of scaffolding other forms and schedules flowing into it, one of them being the Schedule C. It being an income statement in and of itself, having business income minus business expenses, the net business income in essence, flowing into line one income of our income tax formula. This is the form 1040, noting the Schedule C would flow into Schedule 1, which would then flow into page one of form 1040, line eight. We see here, this is the Schedule C profit or loss from business in essence and income statement, which has income and expenses. We're focused on the expenses here and we're focused primarily on or exclusively on, we're focused in the depreciation expense. The depreciation expense is gonna be an accrual type of concept. It's one of those concepts where even if you're using a cash based system, we have to deviate from that cash based system, put the asset on the books as an asset, as opposed to expensing it when we purchase it. So for example, if you're on a cash based system and you buy a large piece of equipment, then generally even if paying cash for that equipment, we can't just expense it as equipment expense, but rather usually have to put it on the books as an asset and then depreciate it, not according to generally accepted accounting principle depreciations, but rather in accordance to whatever the tax code says we have to do with regards to depreciation. Those two rules between normal accounting depreciation and tax depreciation being quite different, meaning depreciation from an accounting standpoint would try to allocate the cost of the thing that was purchased over the useful life that it was used in trying to accommodate the matching principle, meaning we wanna be depreciating the item, expensing it and allocating the expense to the same period in which it was used, consumed to generate revenue. Now, if you're on a cash based system, we usually record the expense when we pay the cash, but that usually lines up pretty close to the similar concept of an accrual based system for most transactions because the cash is usually spent in an area close to when we actually consumed the expense to generate revenue and it's easier to track the cash. But one reason we might have to deviate from that cash based system in this case is because it's such a big difference between when we paid for the equipment and when we actually used the equipment to generate revenue. If I bought a building that I'm gonna use for 30 years into the future and I just deducted like $100,000 in the year one for the purchase of the building, then that's a substantial deviation from the general concept that we would like from an accounting standpoint, which is to match the consumption of the item to when it was used to generate revenue. Now, the tax code, that's a justification in terms of why for taxes, we would have to deviate to an accrual basis method, but that's a bookkeeping kind of argument because on the tax side of things, they might have us put it on the books as an asset but still give us in essence the full depreciation using something like an accelerated method, double declining balance as an accelerated method as well as front loading with a 179 deduction, for example, or special depreciation. These are popular things for the lawmaker. Lawmakers went crazy. Because they allow us to depreciate more in the front years and the argument is that that stimulates the economy. So now we've got this big difference between depreciation for bookkeeping, which has a different goal to try to make the books accurate to make future decision-making on, and taxes, which kind of uses that same concept to try to get to an accurate income to charge taxes on, but also tries to adjust our behavior by making adjustments to that general concept to try to stimulate the economy or do whatever they're trying to do. Okay, so that said, let's see what's new for 2022. So what's new? Section 179 deduction dollar limit. So we'll dive into 179 in a lot more detail in future presentations. This is just what is new for 2022 here. This is one of those front loading things where they might allow you a bigger amount of the depreciation in year one. So for tax years beginning in 2022, the maximum section 179 expense deduction is $1,080,000. This limit is reduced by the amount by which the cost of section 179 property placed in service during the tax year exceeds $2,700,000. Also, the maximum section 179 expense deduction for sport utility vehicles placed in service in tax years beginning in 2022 is $27,000. So there's a big difference in terms of the limitations when we get to the sport utility vehicles because of the vehicle limitations which we'll dive into later. Depreciation limit on business vehicles. The total section 179 deduction and depreciation you can deduct for passenger automobile, including a truck or van you use in your business and first placed in service in 2022 is $19,200. If the special depreciation allowance applies or $11,200 if the special depreciation allowance does not apply, see maximum depreciation in chapter five. So we'll talk about depreciation methods, what methods you have to use to depreciate and then we'll dive into 179 special depreciate and special depreciation concepts as well as limitations for certain types of property such as automobiles where the government is skeptical of for some purposes and for good reason you would think. So what's new for 2023? So not tax year 2022 if we move on and think about what's going ahead in 2023. Sometimes it's useful to think about the crossover between the two years so you could do some planning between the two. Section 179 deduction dollar limits for tax years beginning in 2023, the maximum section 179 expense deduction is $1,160,000. This limit is reduced by the amount by which the cost of section 179 property placed in service during the tax year exceeds $2,890,000. Also the maximum 179 expense deductions for sport utility vehicles placed in service in tax years beginning in 2023 is $28,900. Now when you're learning the tax code just note that certain types of things that you would expect to basically be rolling forward in the future will be adjusted due to increases in inflation would be the general idea. So you would expect the concept to be moving forward and then they might have a code in there or a law that's gonna have them increasing certain dollar amounts in accordance with inflation if they're gonna be items that are expected to continue on into the future. These front-loaded depreciation, 179 and special depreciation have been quite popular but you might think at this point in time we've been overheating, so in terms of the economy. So you would think these are some things that are on the table that they might stop the 179 and stuff you would think if they were trying to stop the economy from overheating. So we'll see what they do going forward to be interesting. So phase down of special depreciation allowance the special depreciation allowance is 80% for certain qualified property acquired after September 27, 2017 and placed in service after December 31st, 2022 and before January 1st, 2024 other than certain property with a long production period and certain aircraft. So the special depreciation allowance is also 80% for certain specified plants bearing fruits and nuts planted or grafted after December 31st, 2022 and before January 1st, 2024 sees certain qualified property acquired after September 27, 2017 and what is qualified property later. Okay, so for more information you can take a look at some other publications obviously depreciation methods kind of dovetail on a lot of other types of topics that we can dive into some of which we've talked about some of which we're not going to go into too much more detail, but a car. So a car is gonna, you can look at other sources such as 463 travel gifts and car expenses because obviously that relates to like the standard message versus the mileage method and what kind of things are deductible and should you be depreciation versus taking a mileage method and so on residential rental property. So 527 residential rental property is a publication. You might wanna take a look at there. Obviously rental property has its own huge host of issues one of which is depreciation can be involved with office space in your home. So you can also take a look at publication 587


So, humility means living in reality, having an accurate sense of your own importance, and when you're not living in reality, when you don't have an accurate sense of your own importance, you will get humiliated. I just had some minor humiliations over the past few weeks, and I'm going into some of these streams and I'm just like looking forward to banning people. It's like, I'm looking forward to like, you're banned for life, bro. And that's not really where I want to be at, I mean, on the other hand, yeah, people who make me unhappy, then yeah, I want to ban them, you know, or people are abusive, I do want to ban them, but I don't want to be going into these live streams, I'm looking forward to banning people, but I have to admit, I have been, I have sometimes had that attitude. Like when you do discussion and argument shows like I do, like tempers are going to run high, and so there are going to be interpersonal conflicts and, you know, parted ways with a lot of regulars on from the show over the past month. And some of that's inevitable, but some of it's just because I've, you know, sufferable pompous SOB. Yeah, I'm just like, I'm just like looking forward to sometimes just like, you know, tearing people down and just putting people on blast. I just noticing that in myself and like feeling like really smug and superior and like looking forward to like dicing people up with my sarcasm and just being snippy and superior and just a prick. I'm noticing that coming up quite a bit the last few weeks. And as a result, I'm getting these like, you know, minor humiliations. They can escalate. Like if I, if I like flip someone off when I'm driving, like this is LA, man, I could get shot. I mean, things can spiral and, and I'm kind of like looking forward to various aspects of my life to like exercising my authority and, and, but I remember what a rabbi said. If you, if you're looking forward to reprimanding someone, you probably shouldn't. And yeah, that's, that's true for me. I found myself like looking forward to reprimanding people past few weeks. So I haven't gotten out of alignment. Just have to call myself out for this. Just like face it. I've lost touch with reality a little bit.  So on the other hand, I don't want to go to the other extreme and just like meekly putting out with abusive behavior, like being all Christ-like and turning the other cheek and Lord make me a doormat for other people to walk over, which I've often, I've often embodied that as well. So I want to walk the, the, the middle ground. I had a therapist who noted that I don't like to negotiate relationships. Like if you have people in your life, you will always have to negotiate stuff. But I don't like to negotiate interpersonal relationships.   But he encouraged me to just to negotiate with them. And so I did for, for a year or two, then eventually I did end up pretty much cutting them out of my life. But yeah, I got to admit, I don't like to negotiate. People who know me well say that, you know, I'm not exactly flexible. I'm more like, you know, it's got to be my way or the highway kind of guy. Not someone who like bends and, you know, super flexible and, you know, just goes along to get along.  And these Sukkot meals will often go two, three hours or more. I'm 53, so I really do anything that I don't really want to do. And so if, if after an hour I want to leave, I just get up and leave.  You're just going to leave after an hour. So yeah, I get bored with most people or just pretty, pretty quick to just cut and run. Like instead of dealing with the messiness of human relations, it's like, oh, well, at least I can live stream and then everything's going to be on my terms. Or if, if I can't have things on my terms and then I just want to read a book or listen to a lecture or do some writing or just live stream because all human relationships require negotiation, require give and take. And not exactly being Mr. Flexible is probably a reaction to a chaotic childhood. And so, you know, I developed all these stringencies to protect myself, but for whatever the reason that hasn't really served me. So humility means living in reality. You have an accurate understanding of your own importance.  And I got out of touch with my, with my accurate level of importance in different situations. So that there are some areas of my life where I have an important role. Like I have an important role on my live streams in my live streams in my channel. Right. But outside of my live streams, there aren't a lot of things that, that I do where I have an important role for much of the rest of my life. I do much better when I'm just taking directions. And that's really been helpful to my recovery is to recognize certain areas of my life where I simply want to follow directions, instead of just doing what I think is, is right. And that's an accurate understanding of my own importance. Cause there are lots of areas of my life where I'm not in charge, where if I'm going to have a happy congenial operation, then it's going to consist of me taking other people's directions. And, and I'll just go along with that, just, you know, swimmingly for, for weeks at a time. And then I'll get impatient, it's like, become entitled and start, you know, throwing my weight around and start letting people know what I think and what I feel and, you know, where, where they're falling short. And, and they don't respond well. And I get a little bit of humiliation. So I've got to come back to reality, come back to the understanding I can, God can. I'll, I'll let God, I'll, I'll turn my life and my will over to the care of God as I understand God, talk to my sponsor, do my step work and come, come back to reality. And, and notice, like, no, I've never, I've never played Fortnite. I haven't played any video games in, in 40 years, maybe in my teens. I played a little Space Invaders, I think, but I don't think I played any video games in 35 or 40 years, just gives superior quality sound with the, with the headset. So that's why I'm using it. But I just want to call myself out for being an arrogant SOB who doesn't want to negotiate human relations, who has lost touch with his own relative importance of various aspects of life, who's become looking forward to putting people on blast, like looking forward to, to pointing out to other people their, their defects, where they're falling short and also just like calling myself out for not wanting to negotiate, you know, human relationships, but just like, it's my way or the highway. Yeah, try to return to reality. I've lived so much of my, my life in, in delusions of grandeur, because it's, it's like, it's like a narcotic. I just kind of bliss out in my fantasies of my, my own importance. And like, I learned it as a child and it was adaptive as a child, because my parents say, you know, we need you to stay out of the way. And so I just like sitting in a chair and tell myself stories about how important I am, what a grand role I had to play in a particular adventure. And I would just bliss out and I'd feel amazing as I just slipped into fantasy. But this adaptation of slipping into fantasy, well, it became a maladaptation as living in a world of fantasy and delusion in a world where, you know, I have some, you know, grandiose importance and people are admiring me, it became my go-to narcotic that I would return to again and again. And that's how I deal with my real life failures by just, you know, blissing out in this delusion of fantasy of, you know, this really important person. So I want to come back to reality and to an accurate sense of myself and to my own role. Oh, what's really helped me to these insights is this porcelain channel. So the, particularly the, the, the documentary on Baked Alaska and the Diary of an E-Celeb, I think it was called, and I, and I watched that and, and it made me reflect, okay, what is growth and what is grift? All right, what is just like changing to take advantage of new circumstances but, you know, without any solid core, you're just like looking for a new grift, you know, new ways to take advantage of people. That may mean, you know, being really nice or having a religious conversion or a political conversion or, you know, it could mean castigating yourself, but you still want to control the play. You don't want to just be the actor. You want to be the director and the costume designer and the producer. And, and you may be very nice and very manipulative, but still trying to control other people. So, yeah, I watched that porcelain documentary on Baked Alaska and I reflected, okay, so am I grifting or am I growing? Okay, am I, am I manipulating changing circumstances or am I engaging in, in genuine growth? Also the documentary on Gavin McGinnis affected me and then the one on Owen Benjamin where he was just like on this tear to, you know, ban people for the slightest criticism. So I've always maintained I don't ban people for criticism. I just ban people for abuse, right? But I watched the, the documentary on, watched that documentary on Owen Benjamin smarter than the average bear. That's certainly how I've usually thought of myself. I was like smarter than average.   And I thought, okay, that, that resonates with me. I've done quite a bit of that in my own life. And, you know, maybe I'm growing, but maybe I'm grifting, growing versus grifting. So I'm looking forward to looking at his other, other documentaries, but they, they shook me up because I saw a lot of myself in the, these E-celeb documentaries there and not, not attractive parts of myself. Not attractive parts of myself. You know, I resonated with some parts of the baked Alaska story, the Owen Benjamin story, the Gavin McGinnis story, the Joe Rogan story. And yeah, it made me think, it made me realize that I'm getting a little bit out of touch with reality, kind of sometimes losing sight of my own, you know, place in the grand scheme of things, my own relative importance in the grand scheme of things. And when I come into a live stream, I'm looking forward to banning people for life. That's not a place where I want to go. And if I'm in my daily life, if I'm like looking forward to putting people on blast, like just, you know, letting them know where they fall on short, that's, that's not, that's not really the mindset that I want to be in. I want to be in a mindset of how can I be of service to other people? How can I treat myself with love and compassion? And how can I treat other people with love and compassion? Establish appropriate boundaries, but I don't want to be in, in like this head trigger, you know, putting people on blast, just, just like dying to ban people for life from my, my chat room. Just like, you know, let's get rid of the dead wood here. You know, let's, let's clean all these people out of my, my live streams. No, I don't want to be like looking forward to, to that. That's an indicator that I've gotten out of alignment spiritually. And I want to get back into reality. Yeah. How many balance, flexibility, and accurate sense of your own importance.   If you're a painter, paint. If you're a runner, run. That's all being in reality. But if you're not a leader, don't lead. If you're not good with details, don't, don't become an accountant. Talk to you guys later.


As an instructor, you would have used the LCM or the learner centric MOOC model to design learning dialogues, learning by doing activities, learning experience interactions and learning extension trajectories. Before implementing the MOOC, that is before actually going ahead with the orchestration, you might have thought of how you would assess your students in the MOOC. Let us now pause for a moment and try to answer this question which element of the LCM MOOC can be used for assessment, LED, LBD, LXI, LXT or some combination of these. You can respond to this question and after you are done answering the question, you can resume. The answer to this question is that all of these elements can be used for assessment. Let us examine these elements one by one and see how each one can be used for assessment. But before we do that, let us pause for a few minutes again and reflect on the purpose of assessment. As instructors, one goal of conducting assessment is for students to practice their skills and apply their knowledge so that we can continuously analyze their progress and this can be used to improve learning as well as improve teaching. Such assessment is ongoing and frequent and a key element of such assessment is feedback to the learner and feedback to the teacher that helps them improve this teaching and learning process. Assessment for such a purpose is called assessment for learning or formative assessment. Another reason we do assessment as instructors is so that students can demonstrate the achievement of their knowledge and skills. Such assessments describe what a student is able to do and what we value in a course. Assessment for such a purpose is called assessment of learning or summative assessment. Let us now see how the elements of an LCM MOOC can be used for formative as well as summative assessment. Let us first consider LEDs or learning dialogues. LEDs contain the content of the topic but an LED is not information transmission of the content. The main goal of an LED is to promote concept acquisition by the learner through interaction. This interaction happens via one or more reflection spots in each LED wherein learners express their thinking, express their prior conceptions, articulate their reasoning, get opportunity to do micro practice and reflect upon their own actions. Then the instructor gives collective feedback to the various possible responses related to the reflection spot question. Thus LEDs via the embedded reflection spot activity can be used for formative assessment. Let us now focus on LBDs or learning by doing. Learning by doing is a formative assessment activity. Feedback is a key component of formative assessment. When learners answer an LBD activity they get customized and rapid feedback on their response that guides them to improve their learning. Can LBDs be used for summative assessment too? At its core an LBD activity contains a question designed by an instructor which the learners answer in a variety of ways. There is also a mechanism for checking and giving feedback to learners responses. Thus an LBD activity can be used as summative assessment. What are possible formats of LBDs? Another common format is a multiple choice question. A learner responds to the various choices of the question and the system provides automatic feedback on each choice. The feedback to LBDs in an LCM MOOC are customized and detailed. They go beyond telling the learner whether he or she was correct or wrong. In fact, they help the learner understand the reason for why their answer might have been wrong and how they could have improved. However, many of you may be wondering now that multiple choice questions are not enough. You may want to go beyond and include longer questions such as problems, design activities, reasoning questions and so on. LBDs in fact can go beyond multiple choice questions and can include longer complex questions. Now the next thing you may be wondering is about the feasibility of longer questions and especially about assessing such longer questions in large massive MOOCs. So let us see how this can be done. One recommended technique is to provide peer assessment with rubrics. That is rubrics that contain detailed criteria for various levels of performance to the question. Many MOOC technology platforms have functionalities for peer assessment as well as to provide grading using rubrics. Let us now move on to LXI Learning Experience Interaction, whose purpose is to cultivate peer learning via focus discussion. Each LXI contains a focus question which drives the discussion thread followed by a reflection quiz whose main purpose is to ensure that learners have participated in the discussion thread. The reflection quiz contains questions based on the discussion thread and can be graded. Thus, reflection quizzes in LXIs can be used as summative assessment activities. Let us now examine how LXTs or learning extension trajectories can be used for assessment. LXTs advance learning along diverse paths. Instructors provide learners with a wide variety of learning resources. Learners can access the resource of their choice based on their needs and their interests and so on. Following that, learners have to answer an assimilation quiz whose goal is to ensure that they have indeed gone through one or more LXT resources. The assimilation quiz contains a few simple questions based on the resources in the LXTs. Hence, learning extension trajectories can be used for summative assessment. To summarize, the various elements in a learner centric MOOC model, LEDs, LBDs, LXIs and LXTs can be used for assessment both formative and summative. These elements can be used to design assessment in different formats, both short or multiple choice type of questions as well as longer questions. As a learner centric MOOC instructor, identify assessment functionalities provided by the MOOC platform and leverage these functionalities to design both formative and summative assessment. Use certain known techniques to provide effective customized feedback to shorter multiple choice questions. Exploit the power of peer learning and use peer review as a mechanism to tackle scale while assessing longer questions such as problems.


My name is Lenezy. I'm Brazilian and I have been living in the United States for 13 years. I completed the 120 hour online English teaching course last month. And I can say that it was a challenging few months. But the challenge motivated me to continue on with the course. The course was well organized and encompassed excellent material. The tourist support was great and I could not have asked for better. Thank you Darren and Peter. Taking this course was the best decision that I ever made. I'm very impressed and thankful to ITTT. And I truly enjoyed the course and recommended it to anyone. It was an amazing experience. Take care. Bye.


ISERV supports two initiatives of the state of Hawaii. The first one is a clean energy initiative, which has a goal of 100% renewable energy for the grid by 2045. The second one is Hawaii Electric Company has issued their own electrification of transportation strategic plan. To do this, we need either battery cars or fuel cell cars. What ISERV can do to support the state is research in fuel cells and batteries. Storage technology in general is going to be critically important to the grid as we integrate more and more intermittent or variable renewable energy. We are conducting testing of a range of battery technologies both to inform the utility and other users on selection of technology for integration in Hawaii. But also to identify ways of improving the technology itself to make it higher performing or more durable. And after six months or a year, I can tell you exactly how your battery degraded and why and what would be the best way to make it last as long as possible. Flow battery is a large-scale energy storage device, which is a cross between a fuel cell and a battery. The main application for flow batteries is large-scale energy storage for the grid for instance because the energy density of these devices is relatively low compared to lithium ion. We are currently looking to improve mission duration of power systems for unmanned vehicles including underwater and aerial. We don't design the vehicles. We've done work supporting the Naval Research Lab in testing power sources and that can be the batteries or fuel cells of the hybrid system. One of the key capabilities at HighSurf is to be able to perform long-term tests to understand the durability and the impact of these new types of uses for fuel cells will have on the actual fuel cell chemistry itself. Part of our research has been to look at how to operate vehicles and they could be remote vehicles or they could be commercial transportation vehicles in harsher, more contaminated environments. And it's well known that a number of contaminants negatively impact the operation of fuel cells. We've had a program to develop some novel filtration as ways of cleaning the air being pulled into the fuel cell to allow them to operate in harsher environments. But that's included a set of sensors in control so that we can actually turn fuel cells off and operate electrically from batteries as we need to in times of particularly harsh conditions. The unique testing capabilities that we have at HighSurf are to test air filtration materials both commercial and novel and direct the exit flow of that purified air into a fuel cell in precisely controlled environmental conditions. Temperature, humidity and most importantly air contaminant type and concentration can be controlled so we have the capability of simulating any environment that a fuel cell system is going to operate in and understand how the air filter and the fuel cell will perform as a system in that environment. In the future we'll continue having part of the activities devoted to improve methods to characterize fuel cells in veterans.


I'm here today to talk about snooming the on-ramp to Kubernetes with Knative. So just a quick introduction for everyone here. My name is Brenda Chan. I'm located in Toronto, Canada. My current role at VMware is an engineering director for VMware Tanzu developer experience. However, within the Knative community, I've been on the steering committee since the bootstrap phase in 2019. During my time on steering, we've worked towards a completely community-elected technical oversight committee, or TOC, in steering committee. In October 2020, we formed the trademark committee, and one really neat thing we're focusing on right now is actually defining Knative conformance and working towards a set of conformance test suites for when we plan to 1.0 this year. So Kubernetes is awesome. I probably don't need to say more than that since we are at KubeCon after all. But really, Kubernetes has allowed us to normalize our infrastructure abstraction. We have a thriving ecosystem and large community. Thank you for all of those who are actually here today. And honestly, Kubernetes extensibility has proven to be extremely valuable and powerful. The thing is, is that Kubernetes can actually be pretty hard. In the CNCF survey report in 2020, to the question, what are your challenges in using and deploying containers? The main challenge that the respondents actually were applied with was that it was complex. And I'd really like to spend some time today to explore that because it really doesn't need to be that hard. So let's actually try this out. Let's run a stateless web server. So you have me there on the left, the Kubernetes engineer with 20 years of experience. So first, you'll want to create a deployment object. You open up Vim, you create some YAML, make sure your indentation looks good. Great. You, KubeKettle, apply the deployment so far so good. All right. So now you create a Kubernetes service. You specify the port, ensure you're targeting the right app. And again, you, KubeKettle, apply that. So now you need to make sure you can write traffic to your server. So let's create an Ingress. Ensure you have the right service name and port, KubeKettle, apply that. Awesome. And you're happy. And this is awesome because it just works. But let's do this again. You may need to update something, maybe the image change, the port change, who knows. So again, you go through the same thing. You update your deployment YAML, KubeKettle, apply. You may update the service, KubeKettle, apply. Update the Ingress, KubeKettle, apply. You're pretty used to this by now. And this might be you. Not the worst, but gosh, the maintenance of the sprawling YAML files are really annoying. And then before you know it, we're updating YAML or KubeKettle, applying. And at this point, you probably have an intimate understanding of Kubernetes pods. You know everything about labels and horizontal pod auto scaling. And at this point, you might have checked in your YAML to share with your team. You're doing code reviews for all of this YAML. And at this point, you really take us to a pack and wonder, am I just a YAML engineer? The thing is, it really doesn't have to be this way. With K-Native Serving, we've simplified a lot of things. So you, as a person writing and deploying, the app can focus on what matters to you. With K-Native Serving, you get auto scaling, deployment, Ingress, automatic DNS, all created and managed for you. You can easily handle traffic splitting. And after all, that's what you probably do care about. With K-Native Eventing, it allows you to move towards an event-driven architecture and do a couple of event delivery from your application code. By using K-Native Eventing's source, broker and trigger, and standardizing on cloud events application, you simplified that process for you. The point I really want to get across here is that it really doesn't have to be that hard. You don't need to have this exploding brain feeling, modifying YAML, learning all of these concepts, code reviewing YAML when it could be this. Focus on what matters to you. If you'd like to learn more, feel free to visit the K-Native site during the Slack channel or follow the Twitter account. Everyone in the community is extremely welcoming and everyone is welcome to join. I'm also happy to chat more. If you have any questions, feel free to reach out to me on Twitter. And that's it. Thanks, everyone.


I'm always a fan of The Simpsons. You know, the show that ran from 1989 to onward. I used to like it when I was 11. I'm 14 now, and I still like the show to this day. If you still don't know it, it is an American animated sitcom created by Matt Groening, and produced by the Fox Broadcasting Company. The main characters are a satire of a working class family, consisting of Homer, Marge, Bart, Lisa and Maggie. The series satires many aspects of American culture, society, politics and history. It's broadcasted on Fox, and later on in 2014, also broadcasted on FXX. I watched The Simpsons every time it came on, and I never missed an episode of it. Ever. However, I saw a rather odd episode of the show. It scared me for seven months. At school, my friends were talking about the future Simpsons, and I really didn't bother joining that chat until I heard the word, Episode 890. I joined the chat even though I still didn't bother to. At 3.5pm, I was finally able to go home. On the way home, I found an abandoned CD that said, The Simpsons, 890, please destroy, MG. Bingo. I have found a lost episode. I never found a lost CD before, so this was a big find. I also noticed MG is the initials format Groening, the creator of the show. And why did it say please destroy? I was kind of suspicious, but I picked it up from the ground. Oh, man, how I would want to take that back. At home, I noticed that my dad hated having unknown CDs in the house, so I put it on top of my video games for my PS4 on my bookshelf. The next day, Monday, my dad went out to bring dinner from McDonald's. This means that I had to babysit my younger brother Jason. When he left, I played FIFA 19 on my PS4 until my dad came in the house with my dinner. After dinner, I started to think about the CD. So I grabbed the CD and popped it in my PS4. It showed a countdown, and the episode started. The theme started, and there was nothing odd, except that the logo for the show was in Spanish. I thought it was a joke or error made by the writers. The episode started with Homer watching a commercial for a gun store. Joe's Guns. Protecting your rights. We have pistols, molotov cocktails, sniper rifles, and especially flamethrowers. Hunt down animals. Take a contest. Murder your sons and daughters' weight. Forget that part. So why not come on down to Joe's Guns today? Murder your sons and daughters! Oh! Homer said, rubbing his hands. Time to get revenge. Then it cut to Homer inside Joe's Guns. The only person there was a male store clerk with big hair and glasses. They had this conversation. Hello, sir. What can I do for you today? I'd like a flamethrower. Ah, a flamethrower? What are you gonna do with it? Burn that old warehouse that no one goes to anymore. No, something else. I'm going to murder all of my sons and daughters. You're joking, right? No, the owner said it on the commercial. He was only kidding around. I can't give you a flamethrower for that reason. I said, give me the freaking flamethrower. Homer didn't sound like himself here. His voice sounded really deep and distorted. Quickly, Homer got out of chainsaw and ripped off the clerk's head with it. Hyper-autolistic blood splattered all over the screen. A later time card showed up, and then it showed Homer outside the house. He pulled the trigger and fire blew out of it. Marge, Betty, Lisa and Bart were swallowed up by it. At this point, the animation changed to a similar style to that of South Park. Inside the flames, Marge, Betty, Lisa and Bart melted into crackling molten pizza with bones and blood. Then, Homer turned to the viewer. I have killed all of them. Looks like I just chose another victim. And it's you. Suddenly, the screen went to black. This is where it got more scary. A recent photo of me, my dad, and Jason was shown, except all of us were skeletons, and the screen flashed triple six. How did this CD know me and my whole family? I pressed the power button, but it wouldn't work. I unplugged everything, but it wouldn't work. I took the CD out, but it wouldn't work. I tried to turn off my PS4, but it still wouldn't work. A satanic voice said, You're now in my world. You cannot escape. There's no way out, James. How did this CD know my name also? Maybe it's possessed? More pictures showed. Monsters from my dreams I haven't told anyone about, myself at the age of seven dead, my younger brothers, or at least someone that looked really familiar to him, brains splattered, tragedies that did not happen yet, you get the point. Finally, a news report showed. It said 31 people died by an unknown cause after watching The Simpsons. After that, a demented message popped up. This is all your fault. Another message. You, hovers watching this, will be dead very soon. Very, very soon.  I'll destroy everyone, with a little help from Satan.  I was scarred and doomed, and got out my dad's phone.  As soon as they arrived, the CD had one more thing to show, but the TV wasn't off yet. It showed a kid, no older than 13, in an abandoned house drinking a two-liter bottle of soda for some weird reason. That's when the CD ended, but abruptly, with the TV finally turning itself off. When I was about to take the CD out of the PS4, it fell on the floor, scratched. I explained to the cops everything about the episode. Jason woke up to see what the fudge was going on. I explained everything about the situation, and he believed me. I showed them and my brother the entire CD, and they were all shocked at what has happened. Jason tried to smash the CD by tearing it apart, but it was indestructible. The next morning, Tuesday, I woke up early, like at 7.4. I had no choice but to get in contact with Dan Castellanita, Palmer's voice actor. I talked to him on Skype, and asked him questions like, Why was one scene in another language, and who made the episode? What inspired you to make it? He said that a serial killer named, John Proloski, made this episode, if you and I were wondering. When I asked him how the episode knows my name, I heard a scream of pain. Then a very chilling voice said, I got him, and now I'm coming to get you. I hung up, and told everyone, We need to leave and pack our stuff, right now. I told my dad about what happened, but he didn't believe me. So it was just my brother and me. We rented a room at Red Roof Plus for the next few days. On Tuesday, I read a newspaper article titled, Serial Killer Carrying Flamethrower.Shocked by the police. The killer was actually John Proloski. Me and my brother celebrated with soda and pizza, and went back home.


So what is it like being a YouTuber in medicine today? I want to go ahead and give you a behind the scenes look on everything that goes into making this content for you. Let's get into it. All right guys, what is going on? Luxury for an empty journey, helping you succeed on your medical journey with less stress today. We're going to do something completely different. I'm actually going to take you behind the scenes of what it's like creating these videos for you. I've been on YouTube now, I think almost three years, which is crazy. I started in February back in 2017. So we're in 2020 as I'm making this video. So a lot has changed on how I make videos, the equipment that I use, the process that I go through and I'm still learning, still improving with y'all's feedback, but I still wanted to make this video to share kind of what goes into the entire process. And either if you're interested or if you are doing YouTube, you want to learn more about kind of my setup, the equipment that I'm using, my workflow, hopefully this video also helps you out. So before we get into it, if you do enjoy this video, help your brother out, help the YouTube channel out and this video. Get more in the YouTube algorithm, but go ahead and smash in my like button and subscribing. And then just in case you forgot to hit the like button, go ahead and go ahead and do it again. But let's get into it. All right, guys. So let's talk about the different equipment that I use. And I just want to share the beauty that is this setup. It's actually been pretty new that I've created within, I would say the last couple of months, but basically I'm going to go ahead and get into the camera in a second, but I have this nice desk setup where I have a nice monitor, a monitor pole kind of setup, which has a light as well as a tripod attached into it. And all of this will be linked down below. And that way I can go ahead and just kind of have a camera with a monitor that's ready to hit record. All of this is on my desk. In addition, I also have a boom mic, which I'm trying not to touch because that's the audio that I'm getting right now, that I can kind of nicely just fold behind the desk and kind of gets away. The rest of this is kind of in the background, so it doesn't get my way. And then I have the monitor as well as the laptop. So let's get into the individual. So first off, we have the prize possession. So this is the Sony a7 III, a newer camera that I've had before. I've actually used, if you guys can see, I'm recording on my cell phone. So this is my OnePlus 6 that I've been recording on prior to using this camera for about the last two years. And now I've switched over to this because this kind of sits on my desk. And then on it, I have a 28, 70 millimeter, 3.5 to 5.6 lens, which is able to give me a nice kind of widescreen of where I sit as well as kind of blurs the background. So this is a camera, excuse me, a lens that my wife had before. And then the camera is something that we recently bought. So the camera comes with a monitor, which helps me see because unfortunately we don't have a selfie camera with the Sony a7 III, but the camera does an amazing job, particularly with the autofocus. And then getting into the audio. So this is a boom mic that I recently purchased towards the end of 2019, and I was getting a lot of feedback of how my audio quality, especially through the phone, wasn't so ideal. So I'll link this boom mic, which is a little bit cheaper than some of the road mics that most people are using, but I feel like it gives me pretty good quality audio. And then the cables of every kind of piece of equipment is kind of just nicely put in the back. That way it kind of has one local power supply. And one thing I did forget is that obviously the camera is connected to the monitor, but I also have a micro USB cable kind of making sure the camera is charged at all time. That's the worst thing is when you're about to record and then you need to charge your battery. Now moving further into the desk setup, as I mentioned, this is kind of a monitor stand that's kind of made into a makeshift kind of tripod studio. So I will link down below to the video that kind of inspired this as well as the different equipment that I'm using here. It's not the cleanest setup, but that's just because my desk is kind of relatively small, but it still is able to do the job quite nicely. But in addition, I bought a different kind of light that I use in case I'm recording early hours in the morning, and there's a nice window here, but sometimes obviously light's not kind of available. So as you guys can see, nice light. It comes with a remote so I can change the color tone of the light if necessary, and it kind of nicely just folds away, so it's not really in the way. And then the last couple of things of my equipment. So I have a nice HP monitor that my wife and I recently bought off of Amazon because it was on discount. The nice thing is this monitor actually turns. So if you're ever editing videos or photos, you can actually use two different monitors. I have a webcam up there, and then I have kind of a desk USB microphone that I use as well that is helpful, especially if I'm recording a lot of training. And then last but not least, honestly not the least, this is by far my favorite machine. This is my baby, my prized possession. This is my HP Spectre laptop, 13 inches, touch screen. It's a two in one, so it folds, and it is so powerful, so quick. I used to buy budget laptops all the time, and then finally I invested the money to get a nice laptop, and this thing is something that's gonna definitely be able to last me quite a bit of time. But I'm able to do a lot of things for YouTube, the empty journey, as well as things for residency and med school on this laptop as well. So last few things that I have on my desk that I really use for, that is kind of HDMI adapter into USB-C, is how my laptop works. But basically I have an adapter that has USB ports as well as an SD card reader, so I can basically take off the SD card, put it in here, and then get it ready to be uploaded onto Google Drive for my team. And then on my desk I have kind of my favorite headphones, so these are the Bose, which I'll link down below. Super amazing for noise canceling, but what I also use them for is I kind of have an external wire, so I know this setup looks a little bit messy, but it works really well because I have external wire that I can connect to these wireless headphones, and basically listen to what the audio quality is like. And I'm actually happy that I have that setup because I do it before recording every video, and in fact in this video I had switched my microphone and headphone jack, so the quality would have been total crap. So it's nice to kind of have that, do a quick audio check, and then I can take them off, put them to the side, at the edge of the desk, and then start recording. But that basically breaks down the different equipment that I use, so again those will be linked down below, but let's get into how I make the rest of the videos. So that basically breaks down the different equipment that I use. I wanna make sure you guys keep in mind, this is not equipment that I started with on day one. In fact I went through my first couple of years of YouTube just recording on my cell phone. Quality was good enough for me to go ahead and get the content growing audience, and eventually I realized that I needed to improve on things such as my audio, eventually my video quality, lighting, and things of that sort. So again, things that I've basically acquired over time is I realized that they would help improve how my videos were done. So next thing I wanna talk about is kind of my workflow of how I go from idea to creation. You guys kind of saw the equipment, but basically number one is coming up with ideas. And this for me honestly is not very hard. I think of all the different struggles that I had through med school. And I also think about all the different topics that you guys are asking me to make. So I have a running list. And for right now I've been using Notion as my app of choice to go ahead and kind of keep a running list of all the videos that I either wanna make or in the process of being made. It's actually inspired by a recent video made by Thomas Frank, where he kind of talks about how he uses Notion specifically for his YouTube channel. And it's just insane the level of kind of complexity as well as simplicity that's involved in using Notion to help his YouTube channel grow and make sure the videos are kind of being made with high quality. So I'll make sure to link Thomas's video down below in the description, but I basically use Notion on my laptop as well as my phone to kind of keep a running list of any ideas I have. It may be inspired from a comment that you guys put on YouTube, an Instagram DM, or an email, or just something that I realized in my day-to-day life. This would be nice to share in case somebody's one day in my situation. Now the next thing for me is obviously to do the recording. Now this part actually requires the most amount of creativity and flexibility on my part because my schedule is just kind of unpredictable as a physician in residency and training. Often my days will start as early as five o'clock, they'll end as late as seven to nine p.m. And so it's not always a set day of the week that I'll record. In fact, I'll look into my schedule and I'll find an afternoon off, a morning that I wake up a little bit early and basically say, can I sit down and record one to two videos? It usually takes me about 30 minutes to go ahead and first into Notion, pick a video topic that I'm interested in and releasing to you guys. And then usually my videos are in the form of tips like one, two to five, et cetera, or it's kind of a step-by-step approach. And so I'll go ahead and outline it. I'm not somebody who really likes to use a script. Maybe I will in the future, but for now I really just like to create a bullet point on Notion of different topics that I wanna share. And that way if I kind of lose my track of thought, then I can go ahead and quickly refer and then get back to recording. But then when it's time to record, I go ahead and just sit down and then act like I'm talking to a friend about this topic using the outline that I've created and usually I can get a recording done in about 20 minutes because I often make mistakes as my editor knows. And then ideally in one sitting, I can go ahead and knock out about two to three videos depending on the complexity that's involved in making them. And that's why I love the setup that I've created for my desk where it's just a nice, easy for you where I can just go ahead and click and hit record, have the mic ready, have my laptop ready to go ahead and transfer the files once they have been recorded. And so the next step is getting into the editing processing and eventually publishing. So the next part is basically the final production. So that includes the editing, the thumbnails and then the uploading of the video. And this is something that I used to do all by myself when I first started YouTube for the first couple of years actually, but as my schedule has gotten kind of busier over the last few years, I go ahead and now instead use my team to help me with the final productions. And then basically I will go ahead and take this raw footage and upload it in Google Drive on my computer and I have my team kind of take you over from there. So they'll go ahead and take over the editing as well as the uploading for YouTube on the due date that I gave them. And this basically helps to make it easier for me to go ahead and use my limited time to go ahead and just sit down, look at my ideas, start recording, help you guys on your medical journey, or if you're just watching this to be a YouTuber one day, hopefully this helps you as well. But that guys basically is my YouTube workflow, the equipment that I use, how I create the ideas and how I get the final production to you guys. So if you somehow have made it to the end of this video and you have not hit that like button, help a brother out and go ahead and smash it once, twice, three times just in case the button's broken. And go ahead and also consider subscribing to the channel for more content just like this one as well as getting back into the medical advice content that we do on a weekly basis. If you guys are interested in the different resources as well as the equipment that I mentioned in the video, those will also be linked down below. But as always guys, thank you, thank you so much for making it to the end of this video and watching being a part of this channel. And if you enjoy this different twist into the content then make sure you go ahead and just let me know in the description down below, follow your boy on Instagram to get more daily advice. Just kind of follow my day in the life of a doctor. But I'm gonna stop babbling because that's usually what I end up doing around this time in the video. So make sure like, subscribe, like, subscribe, comment. I'll see you guys soon. Peace.