I know today has been crazy with videos, but I think this should probably be the last one of the day I know it's been a lot notifications been going crazy for those of y'all that got your notifications turned on my apologies But I just wanted to try to really get caught up with all the questions that got sent in this week And I always appreciate y'all sending in questions So thank you for that But I wanted to try to get caught up before the game now the bunch of people sending a bunch more after that last episode But so those we ain't gonna be able to do those till next week just ain't got a time for it But I really appreciate y'all so much man. I really do for real Thank you all so much for the way that y'all support I was just going through the comment section of the last video and Y'all shows so much love man straight up and I really appreciate it so much so thank you for that because It just it makes a big difference it makes a big difference like your words Very powerful especially the positive ones. So thank you for what y'all do now the Ravens When it was announced that they signed Shamar Bridges a couple days ago I was really happy about that. I was excited about that and I did temper my expectations guys I wasn't thinking like oh, yeah, Shamar Bridges gonna be out there on the field this next week I didn't and I don't think that but I did talk about how I wonder why they made this move And I wonder if this was an indication that one of the Ravens receivers was hurt and Turns out they were putting a Tylen Wallace on injured reserve. I said with a hamstring injury. So We're going into what week 12 or 13. I think it's week 13 So his you gotta feel like his season is probably over most likely If if he was somebody that they really used a lot more Really at all then I would maybe have a little bit of hope. Oh, maybe he'll come back later on But you got to feel like his season is most likely over, but we'll see. I mean, we won't really know till we know So that opened up a roster spot Did they put somebody on injured reserve? So to take that roster spot they signed Benjamin Victor to the active roster and that was Initially when I saw that was surprised but then when you think about it's like all came up That makes sense because Benjamin Victor. He is the practice squad receiver. That's been around for the longest And this is this is his official call-up. So Benjamin Victor, I believe he would get a nice little raise So shout out to Benjamin Victor. Congratulations. No more practice squad I think he only had one call-up from the practice squad this year And hopefully hopefully they use them Hopefully they take they use that size to their advantage and they they get Benjamin Victor involved I wouldn't expect him to go for no crazy stat line anything like that But just something maybe something Just give him some give him some opportunities. Give him some chances take some chances But I am happy for Benjamin Victor and we'll see what this leads to we'll see what it leads to I'm not again I'm not oh, yeah, we'll be ready to go off tomorrow or moving forward. I would love I would love to see We would all love to see that But um, this is cool for him I'm happy for his uh for his bank account because it's it's gonna look a little nicer It's already looking nice from the practice squad. We didn't fail players. They get paid. They get they make some good money But now you want an active roster? Oh Call your people tell her hey mama, we made it baby So shout out to Benjamin Victor, man. Now, um It's mother receiving news with Baltimore Ravens. Uh the Sean Jackson He is being called up for the game tomorrow against the Denver Broncos You know, they're gonna have some plays for him.   We'll get it go And hey, that's that's the Sean Jackson Um, so but yeah, he was called up. This is his third call up from the practice squad So what that means is that now the ravens have two options with the Sean Jackson after the slayers call up They can either put him on the active roster So after when you do three call-ups from the practice squad, you have to either put the player on the active roster at that point after that third call up or If you want them to go back to the practice squad, you have to you got to release them And then they will have to clear waivers. So that means none of the 31 other NFL teams can put in a waiver claim for them And then you can put them back on the practice squad and then you can do your three call-ups again However, you want to do it But so ravens They have a decision to make with the Sean Jackson After tomorrow's game and hopefully hopefully the Sean Jackson makes that decision hard for them Hopefully he makes it tough. Hopefully he makes it tougher for them to be like, oh We don't know if we can really put this guy on the waiver wire because somebody might pick him up Maybe maybe but um Yeah, so that's that also Or there is washington He got called up for tomorrow's game Now I wonder I wonder how active he will be Um, especially given how Brandon Stevens last week had a bit of a rough one um Marcus Peters, obviously had a bit of a rough one too, but Marcus Peters wouldn't be uh, somebody that they were bench right now um So I just wonder and I remember last week like Marcus Peter struggle. Yeah, Brandon Stevens struggled too And I was thinking and I know a lot of y'all thinking too like Where where's pepe Williams at? What's going on with him? So I So, I don't know. I don't know. Maybe they were just like, you know what maybe they were thinking throughout the game A Marcus Peters going to turn it around Brandon Stevens going to turn it around somebody won't they going to turn it around they got to but So, yeah, man, but yeah onto the Broncos onto the Broncos. Um, this is going to be It's going to be a very interesting game. You're going up against a great defense a great defense. They're offense But the defense. Yeah, so Oh, that is going to be a nice test for this Baltimore Ravens a nice test For Lamar Jackson for the running backs offensive line The receivers tight and Greg grown everybody This is going to be a nice test for Ravens offense as a whole To see because obviously they've been having their issues here and there.  Um, I forget like as much Oh, because it's somebody who's been talking about this. I think it's uh, Hmm It's not kyle and coward It's uh, is it kelam? It's not kelam. Anyway real quick, um With the Ravens was something that I forget about from last week as much as it's been talked about uh, the overthrows um The fumbles there were three fumbles with two of them lost because mark andrew the guy was out of balance Um and lamar lost a fumble on the fourth down gust air was lost a fumble there. Um, what else? The overthrows the the the receivers slowing up on the routes The uh, the drops, um As much as all we talked about all of that stuff and all that stuff has continued to be brought up They put up 27 points They put up 27 points They put up 27 points in an nfl game where the offense has struggled There has been again, I forget who it is. There's some analysts out there That keeps talking about the Ravens and he mentions Oh, it's of loski. I think it's dan of loski Yeah, it's gotta be him. Um where they mention like these ravens. They're seven and four And they haven't even played an a game yet Like an a rated game like like a a game a b game a c game. They haven't even played an a game yet I was thinking like That's that's something and again this and I know we we're going off subject, but we always go off subject. Y'all used to that um The thing too with these ravens is that man they are The the the the multiple score leads, man They somebody asked in the comment section of the last video of the the the Lamar Jackson video about how and shout out to my guy man. You well for even bringing up The way that he brought up another way to potentially keep Lamar Jackson um But somebody in the comment section they asked they were like, oh, I'm asking the engraving and just all the team Keep it clean this what are the ravens biggest priorities right now?  So that's 11 games in 10 of those games 10 out of 11 games they've had at least a 10 point lead in every game And then of course in the jaguars. They just got a nine point lead. So not even a big difference But in every single game they've had multiple score leads As much as we are frustrated with this part of the team right here and the way they do this And these mistakes they keep on making and the hiccups they keep on having there It's like we always say the same thing. It's the little things It's the little things that they need to improve on this season Offseason is it's a whole another story, but it's the little things this season They just make a tiny fix here tiny adjustment there fix that clean this up there That's why we we we have the conversations. That's why we talk about it. That's why we bring it up because we care That's why I know somebody in the comment section of the last video they were like, oh man They said engraving I had to take a break I had to take a break from the videos Because it's all this hate. It's all this criticism. It's all I forgot. What else he said But I said, no, no, no, no, no don't don't get it twisted.  I don't hate anybody.  No play none of that. No, there's there's none of that There's there's no place for that Criticism is not hate Saying something that you disagree with is not hate saying something that you do agree with it's not hate at all and I think people uh People can get it twisted sometimes and I understand everybody got different like Different ways that they view things. So I I I get that and that's fine That's fine But I'm just I'm here to set the record straight So that's that's why we had these conversations because we all enjoy watching this same team play We enjoy talking about them. We enjoy the ups to downs of the football season. It's fun. It's it's a great time We love it But we all we all want the same thing We all want the same thing obviously for the team to have all the success in the world We all want the same thing, but we each just have different ways Of getting there we have different ways that we feel The team could move we have different routes that we feel the team could take In order to all get to the same place that we want the team to go. That's it That's it. So it's all love man. I love y'all. I appreciate y'all so much again Thank you for everything that y'all do y'all y'all really are very very very special. So I appreciate it Team keep it clean. I love y'all. Shout out to Benjamin victor again. Congrats on the promotion Always nice to see people especially from from south florida, but always nice to see people Get a promotion get a nice little pay raise Um get a new position. So that's cool, man. Happy for benjamin victor, man So shout out to him. I love y'all appreciate y'all We out


Okay. Sure. Hello, everyone. My name is Chiang Gao. I'm a postdoc from Tel Aviv University. It's my great honor to be here today. The topic for my talk is the functional properties of a graphene green boundaries. In this talk, I will mainly discuss the dynamics of dislocations, and I will slightly talk about the effect of more superstructures. The superlubricity, roughly speaking, describes the extremely low functional state. And due to the superlubrication behavior, it provides a broad range of applications at different lens scales. And in many of these applications, it will involve the situation of drag lubrication between two solid surfaces. In such conditions, superlubricity may be realized by properly utilizing the structural properties, which give rise to the concept of structural superlubricity. And in specific structural superlubricity, as we know, this refers to the effective cancellation of lateral forces due to the lattice misorientation between two flat and rigid crystal surfaces. And these requirements are relatively easily satisfied by 2D layered materials. Therefore, we see two dimensional materials have been widely studied for structural superlubricity in recent years. And since this concept was proposed, we have seen that experiments have demonstrated structural superlubricity using nano scale, micro scale, homo junctions, and later by hetero junctions under multi-context to realize the so-called robust superlubricity. And these promising results motivate us to further scale up structural superlubricity toward micro scale. However, in previous studies, structural superlubricity is mainly demonstrated by single crystalline samples. And as we know, at present, it is still very challenging to prepare large-sized, high-quality single crystal samples even under life conditions. So in this regard, it is more practical to consider polycrystant two-dimensional materials, which are more feasible to achieve large amounts for real applications. And among the various polycrystant two-dimensional materials, polycrystant graphing can be a good candidate. So what is the polycrystant sample? And so let's take an example of this polycrystant graphing. It contains randomly oriented greens and separated by green boundaries. So although we know that the randomness and orientation of the greens may facilitate the incomersorability of the interface, but the green boundaries on the other hand may produce additional energy dissipation that may impact superlubricity. So to understand the frictional properties of green boundary, it's better to understand the structure of green boundaries. So here I show you the structure of a single green boundary and we can see it consists of a series of dislocations that are shown by these cyan-colored spheres. And if we further zoom in, we see the most common dislocations in polycrystant graphing, which is the pentagon pair dislocation. And one important feature of these dislocations is that they introduce lattice string to the lateral string to the lattice, and which may cause the distortion in topography. And we know the topography properties may be critical to the frictional behaviors we are interested in. So this image shows you the experimental measured polycrystant graphing sample, and it consists of a few green boundaries. And interestingly, we see that the topography of, due to the introduced string by the dislocations, the topographies of the green boundaries are quite non-trivial. It can vary from highly corrugated buckled structure to nearly flat configuration. And to systematically study the topographic properties of green boundaries, we perform AMD simulations. And we find that for small misfeed angle between the greens, the green boundaries are usually corrugated. And for large misfeed angle, the green boundaries are also usually corrugated. But at certain misfeed angles, we do observe nearly flat green boundaries. So here I show you the summarized results for the bump height and the bump density as a function of misfeed angle. So we see that as the misfeed angle increases, the corrugation height decreases. And while for the bump density, it first linearly increases and then drops due to the connection of the neighboring dislocations. And in the middle region of large misfeed angle, we do observe a few flat green boundary cases. And the results are symmetric with respect to 30 degree.  And here I show you an example of the case where a flake sliding over a single protrusion. And so we can see as the flake approaches this upward protrusion. Blue color means a higher corrugation. It press down this protrusion to the other side. And after this flake leaves this region, this protrusion will buckle back. And this kind of buckling is somewhat similar like the steps through buckling off an arched beam at the micro scale. And the buckling, of course, will generate a kinetic energy pulse and enhance the energy dissipation. So after knowing the fractional behaviors of these individual protrusions, then we consider impractical applications. A more common scenario is that these protrusions materials will under persistent shear and working at different load and temperature conditions. And to investigate the fractional behaviors of green boundaries under these conditions, we built a fully periodic simulation system. And it consists of a three-layer pristine graphing slider, a top one-layer polycrystalline graphing, which is supported by another two pristine graphing layer. And this picture shows you the side view of the system. And for the polycrystalline layer, it contains two periodic green boundaries. And the misfit angle is 8 degrees. After relaxation, we can see a series of upward downward protrusions. The blue color here is the same as upward protrusions and red color is downward protrusions. And now I would like to talk about the main results of our simulation results for the friction. First, for load dependence at zero temperature, we find that dependence is a non-monotonic dependence on normal load. It first increases and reaches a maximum, and then it gradually drops. As we increase the temperature, we see the peak position gradually shift toward a lower normal load regime. And at certain temperature, it becomes a monotonically decrease. And if we further increase temperature, the entire curve will shift down a little bit. And for the temperature dependence of friction, we see somewhat similar behavior as we increase our external normal load. And the peak position changes to lower temperature and finally become a monotonically decreasing like behavior. And also for the load dependence, we see that there is a regime that friction goes down with normal load. And this can be defined as a regime with negative friction coefficients and provides a way to surprise energy dissipation for large-scale sized system. And then to understand the frictional behaviors, we analyze the energy dissipation properties at zero temperature without some more fluctuation. And the first, the dissipation power as a function of normal load shows us that the main dissipation comes from the out-of-plane direction. And if we check the energy dissipation distribution, we find the high energy dissipation size are located near certain dislocations. And so from these results, we can say that the energy dissipation are mainly due to the out-of-plane motions of the items at certain dislocations. And if we check the trajectory of these dislocations in the virtual direction, we find that those dislocations undergo dynamic buckling between upward protrusion state and downward protrusion state. And by increasing the normal load, we find it has two opposite effects. At first, it can promote more dislocations to buckle during sliding while it has surprised the magnitude of buckling, which will reduce the energy dissipation for buckling even. So under high normal load, we see that the dislocation is under smooth-like motion and the energy dissipation is low. So here we can explain that the non-monotonic dependence of friction on load at zero temperature is due to the competitive interplay between the increased fraction of buckling dislocations with the reduction in each buckling event as the normal load is increased. And so to further quantitatively describe the energetic behavior of the two upward and downward state, we extract the free energy profiles from equilibrium simulation. And here this plot shows you the free energy profile for given dislocation and we can see a clear transition energy barrier between the two states. And we find that the average transition energy barrier goes down with normal load and it positively correlates with the protrusion correlation. And with these results, we can also understand roughly or qualitatively explain the buckling at zero temperature. At zero temperature, the transition energy barrier actually varies with the sliding projection and once this transition energy barrier goes to zero, buckling occurs. And with further sliding, if the transition energy barrier becomes zero again and it will buckle back. And with temperature, the buckling can occur at earlier position. So based on these results, we divide two state phenomenological model and in this model, the buckling probability is related to the transition energy barrier. And here I show you the comparison of our AMD simulation results with this model prediction. And you can see the model can well capture the load dependence and the temperature dependence of friction. And here I show you two typical simulation movies. One is at zero temperature and one is at a finite temperature and you can see the thermal activation can facilitate the dynamic buckling of these dislocations. And in the last part, I would like to briefly introduce another very important effect at two-dimensional interface, which is the moral superstructures. Moral superstructures forms also due to the lattice mismatch or lattice misorientation. And to study this effect, we built a similar AMD simulation system where I replaced the graphene slider with hexagonal boronitrate. And here you can see the relaxed moral superstructure on this polycrystalline layer. And because one green in the polycrystalline graphene is aligned with HBIN, so we can see very large-scale moral superstructure on one green. And so this plot shows you our main similar result of friction as a function of normal load at zero temperature and at room temperature. And compared to the results of a homodunction, we find that they show a similar monotonic decrease change in the low normal load regime. While in the high normal load regime, you can see a sharp difference in the heat reduction friction dramatically increases. And here there is another mechanism occurs. And so which we find is due to the, sorry, I won't show maybe this movie for the last. The high energy dissipation at the high normal load we find is due to some stick slip kind of behavior for the moral superstructures at the high normal loads. Okay. So here are the conclusions. I will stop here and I would like to take your questions. Thank you very much. Questions? Just one clarification. So regarding your methods, you didn't say very much about this. Did I understand correctly that you're sliding a rigid flake over your grain boundaries? Yeah, our simulation only the top layer is rigid. We have a six layer system. The top layer is rigid moving with a constant velocity in the sliding direction. While the bottom layer is also rigid fixed at its initial position. Other layers are flexible. Okay. And then another question follow up on the grain boundaries. So the grain boundaries in graphene, I believe are not perfectly terminated. So there will be dangling bonds. Actually, yes, but actually this system, for this system, because we are considering the dislocation relatively far away from the edges. So the edge should not have too much effect on the buckling behavior of the dislocation. I'm not talking about the actual, but this is a grain boundary in the middle, right? Where you have these protrusions. This is a, the protrusions are because there's a grain boundary, right? Yes, yes. Even the grain boundary will have unsaturated atoms. It will have dangling bonds. So it may be chemically reactive. So my question is what influence that would have on friction? I would expect that the friction should go up if you slide over it because you're forming covalent bonds or the system tries to form a covalent bond. I think here each items also have three neighbors. So it's saturated like it will not form easily formed bond with other items in other layers. Just to follow up on that. I think at least for some grain boundaries in graphene or materials like this, you can get just rehybridization of the carbon. So there's some SP3 bonds that show up not just SP2. So they may not be dangling unsaturated bonds but the change in hybridization. And that makes it go out of plane. But that said, I would also expect even with that just chemically it's still distinct. And you may get a friction interaction from that enhancement of friction. Okay. So you mean there may be some chemical ag reaction? Yeah, I think I think there's those are high energy sites. And even even if there were no topography and flexibility from the buckling, just, you know, it's like having a higher energy local site ought to lead to some kind of, you know, pinning interaction, an enhanced barrier to sliding over it. So it's like, I think that's perfectly partially what Lars was getting at us is that factored it. So I have a question. When one graphene surface moves over the other surface, there is also a torque which is produced. So maybe does your, for example, dependence of dissipation on normal force comes from ability to accommodate this movement? Because this superlubric incommensurate state has low friction, but it is high in energy. So surface would like to get aligned. And these defects which are there, they actually accommodate this rotation. And when you increase the pressure, they can move less. And that could be a mechanism which is just accommodated by existence of this grain boundary. So did you think about that? Did you analyze that, these rotations and such stuff? Okay. So first in our simulation, the top layer, so there is no rotation in the top driving layer. And the second actually we find, sorry. So here, we analyzed the energy dissipation and we actually find the dissipation power mainly comes from the out of plane motion. Because during each buckling process, the instantaneous velocities are quite high. And this will generate the kinetic energy process and contribute to the main energy dissipation. And without this buckling event, the energy dissipation is quite low and comparable to the resistance interface. I guess the question was, did you allow for rotation of the flake? No. At the bottom layer, we all have a small rotation, but the top layer is not. Overall the rotation is very small. I want to ask if your dislocation is mobile or is it fixed? It's very stable, even under a thousand Kelvin dislocations will not diffuse this place. Okay, thank you. I have a question myself, so you said in the beginning that friction will apply to the number of bucklings. How does that happen? Because this can be understood from this energy profile. So for some dislocations, if the energy, transition energy barrier is very high, during sliding it will stay in this state. It cannot buckle. If there is a normal load, this will reduce the barrier and it can buckle during sliding. You have a very long slide, let's see. Yes. Captain, yes, please, go ahead. Captain, cut mute. Sorry, I missed the beginning of your talk. I also missed your statement, Chiang. I wonder, you talked about dislocations. You have dislocations to which you can ask the instability. So it's real dislocations. And here, it's like the density of this Pentagon-Hypertagon pair dislocations will increase with a misfeed angle. This way, thank you.


So I'm going to be talking about recurring dates today. See John run on Twitter if anyone is interested in hearing more about recurring dates. This is my blog. The slides that we posted here tonight, you can also find the slides on the GitHub page for Ice Cube, which is the gem I'm going to talk about today. Not the wrapper, the gem. I know he's gotten a lot of attention lately, but I work at Patch in New York City. Patch is a hyper-local news startup. It's a network of websites, about 117 Sharong in little towns all across America. The reason that this project started is Patch, as part of its offering, has an events calendar. And often the events calendar on Patch needs to have committee meetings and board meetings. And board meetings often have weird schedules. It's not like every Monday, like a soccer game might be or anything like that. Normally board meetings are the second Tuesday of the month, or the third Sunday, or the second to last Monday. They need to be weird things. And you don't want people to have to go back to the site every three months to make sure that they have the next three months of board meetings set up in the events calendar. They need to be able to say the schedule once and have it exist. So I set to make a gem that would handle date recurrence. And notice that there's a lot of problems with dates just in general. In fact, dates are normally a sticking point for any language. Often when a language comes around, it normally has a built-in time and date library that lasts maybe a year until people decide that it doesn't do what it's supposed to do, or it's too buggy, or the interface isn't right. But just times in general have some problems, too. Daylight savings times a very common time problem. Also time zones in general. And with them, they're UTC GMT offsets. And what people don't often realize is that different areas of the globe actually have different, obviously GMT offsets, but also have different times that they jump in daylight savings time and jump during different times of the year. So to negotiate all of the switches between different time zones is a huge issue.  And it's only got 28 days. So on top of the time problem, there's the recurrence problem, which is basically the first and last Monday of every month. And it seems like a really easy problem when humans go to describe it. But when we try to describe it in code, we end up having to allocate for all the weird time issues. So one easy way to get around that might be to use the date library and just step forward in time, the amount of time we have to go, second by second, and let the date library handle all the weird idiosyncrasies with time. That ends up being really slow, because you have to step through every second between now and the next occurrence. So you're going to end up with something that's difficult to implement. You're going to end up with code that's really not generic at all. You're probably going to end up with code that's ugly. You're probably going to end up with code that's slow. But most importantly, this just really isn't code that you should ever have to write. There should be a library that allows this to happen. And that's what IceCube is. So here's the GitHub page, github.com.cjohnrun. Slash IceCube. On there, there's also a link to the introduction page, which is like a pretty version of the read me. A good starting point for IceCube is actually the iCalendar RFC. You figure that somebody already went through the trouble of making recurring dates. And they shouldn't throw away all the work that they've already done, because it already exists. Someone can describe recurring dates better than Kron, and it's called iCalendar. iCalendar, you might have also heard this referred to as vEvent, or vCal, or iCal. And those are all the same standard. So IceCube actually, in its specs, we implement every example inside the iCalendar RFC. This is just to make sure that we have coverage with every example that iCalendar would have, which obviously led to a lot of reading. We came out with a really clean Ruby syntax for the entire thing. And an awesome name, question mark? This guy doesn't think so. But he thinks that IceCube's pretty awesome. So hopefully by the end of the talk, you'll think the same. I'm going to give you a quick example of what using IceCube might look like, just so we can get the idea of what we're headed toward. So you create a schedule. The schedule has a start time. You create a new schedule, and you give it a time that it starts on. In this case, the first of 2010 in January. And you attach rules to the schedule. So this rule is just a rule that occurs monthly on the day of the month when it's 13 on Fridays. So this is a rule that describes every Friday the 13th. Then you have methods on the schedule that you can call, like schedule.first10. And as you- Is our rule typo, or is it our rule? It's our rule. Our rule stands for recurrence rule, and we'll get a little bit more into why it's our rule. Our rule is actually a throwback also from the iCalendar spec. If you don't like that syntax, you can also do schedule.add underscore recurrence underscore rule. And that's what it really stands for. So you can see here that we generate the times. And on the next slide, if you go through the exact same example, you see that iCalendar is actually, or that ice cube is actually negotiating the offsets as it goes through time. My 240 specs run in 1.1 seconds. So this thing is really fast, too. So to talk about rules. Rules are really the foundation of ice cube. And there are a bunch of different kinds of rules. There's yearly, monthly, weekly, daily, hourly, minute, and secondly. So something like every month would be really simply written, just ruled out monthly. You create a new monthly rule. Every other month, ruled out monthly of two. This is called the interval in iCalendar. And obviously, every end month is ruled out monthly of n. But that's not really interesting, because all you can do is weekly events, or daily events, or yearly events, and they can only start on the date that you want them to start on. So then enters validations. So something like every day, this really simple thing, can become more complicated by just saying, every day, when the day is Friday. And you can actually chain them together, like I did in the example before. Every day where the day is Friday and the day of the month is 13. So multiple validations on the same rule form an and relationship. And you can have as many of these chained onto the rules as you want. These are the different ones. So we'll use most of these through the example. But you can pretty much imagine what most of them do. Day is for an individual day of the week. Day of week sounds like it would be the same thing, but it's actually like this day of this week in the month. So the first Friday, or the second to last Tuesday. The rest are pretty self-explanatory. So then schedules, group rules. So you can make a new schedule that starts now and occurs every day. And you would just do schedule.rrule of rule.daily. But it doesn't occur on days that are Saturdays, schedule.x rule of rule.daily.dayofsaturday. So you can combine different types of rules. And this is why rrule and not just rule. Because you can actually have exclusion rules as well as recursion rules. So when you ask if this occurs on today, it does. This was actually made yesterday. Wait, is that right? Yeah. So it doesn't, because today is Saturday. And when you ask if it occurs tomorrow, it does, because tomorrow's not Saturday. Make sense? So you can actually also have blackouts on your schedules. You can add rdates and xdates. Exactly what they sound like. And rdate is a single occurrence that has to happen. And xdate is a single occurrence that can't happen. The order of precedence, because that's probably what everyone's thinking right now, goes like this. And this is directly out of my calendar. I hope this makes perfect sense. It basically says that if I say there shouldn't be a date, there definitely shouldn't. Then if I say that there should be a date, there definitely should. Then if I have a rule that blocks a recurrence rule, but should be exception rules, that those will have precedence. So how we can use some of the ice cube? How am I doing on time here? How we can start to use ice cube? We can do what we did there, which is does this have an occurrence on a single date? Does it occur on this date? You can ask if this rule occurs at a given time. And you can actually ask if your schedule has a duration. You can actually ask if the schedule has an event that's occurring at a given time. So if the schedule has a duration and the time that you query inside of occurring at falls any time within the seconds of the start date of that event, this will return true. And then there's basic expansion. So you could do things like the first 10 occurrences, or all occurrences, or all of the occurrences until a time, or all of the occurrences between two times. Any questions on any of this? Yeah, there is. That's a good question. So rules can actually have, not on these slides, but can actually have until dates and counts. So an until date would be this rule is not effective after this date, but all the other things are. And count is this rule is not effective after it has contributed to a certain number of occurrences toward the schedule. All of the rules have to have either an until or account in order to use all occurrences. There is no default. We just stop you from using all occurrences. It'll throw. I think if you try to call all occurrences, you'll get an argument error back. Or maybe, yeah. Ice Cube also speaks. So you take a rule, and it's a monthly rule. And the day of the week is the last, or second to last Friday. First you have two hash, which is basically just a nice hash-based representation of this. It has nothing to do with any objects at all. So you know how you sometimes call two hash or two YAML on things? You end up with the objects just marshaled into YAML. Ice Cube won't do that. And the YAML representation inside of Ice Cube actually is backed by the hash representation. So you end up with this, not like some crazy. And of course it goes out further. But the representations end up smaller and not dependent on any kind of implementation. There's also a port of Ice Cube called Ice Cube for P. It's written for PHP. So PHP and Ruby Ice Cube could actually interchange data and not have a problem when other frameworks would have an issue with that. Two iCal, I think is easy enough, because since everything's based on iCal, I can just generate these. So you get that back. And then just for fun, this is not i18n compliant, but 2S monthly on the second to last Friday. So no matter how many things you add, this will try to generate something. If someone wants to take up a pet project to make it better, that would be cool. Are you giving them another library for that? This is all internal, everything. Actually, there's some places where it'd be really convenient to use active support calls. And if you have required active support, I'll use the active support calls. And if they're not there, then I fall back on internal Ice Cube calls. Are you planning on taking it and translating it to where Tickel does out here? So I've talked to the Tickel guy. He was actually messaging me early on. And I was saying that it would be cool if Ice Cube were to back Tickel, and that Tickel were more just like the layer that were to make these things happen. So we talked about that a bit. I don't know if it's going to happen, but maybe. But right now, this is all internal. So Tickel is more just like the date. But it would really be cool if the Tickel project were to take on recurrence like this. There's straight Ruby date types. So internally, everything in Ice Cube is represented by time. This time is faster than date time. And it can represent times. And then we also do some. So if you take a time that you have in Ruby, and you're using Rails, and you roll the time into the database, Rails will actually convert it to UTC before it gets to the database, which is bad for recurrence because you lose the valuable information inside the start date when you un-martial it. It comes back out like. So what we do, we realize that the date time and time representations of a date are exactly the same. So before we roll it into the database, we actually convert it to a date time, the internal dates for Ice Cube. That way it gets saved still with its time zone. When you roll it back out, it comes out as a time with zone if you're using Rails. Any other questions on this? What's up? I don't know. I don't know, actually. That's a good question, though. So schedules can also speak. So I add an R rule and an X rule to this. And I convert it to hash, to ham, to YAML. You can convert it to iCal. And it'll actually do the start with the two rules underneath it, and you'll get new lines between them. So this is actually, if you were to embed this directly inside of a V event on your page, if you wanted to have like send to Outlooks and iCal, send to X, Y, Z button, you could actually embed this directly inside V event, which is what we do at Patch. And the actual 2S representation on the schedule, we also use that at Patch to display to the user how the thing occurs. Which is why it would be really cool if someone were to take on the project of making it i18n compatible. Because then, when we go to Europe, it'll be an easy transition. So I know that's not the best representation for us. So I wanted to talk about Ice Cube's magic, like what makes all of this possible, and why it's not slow. So there's a lot of combinations, obviously. And those combinations bring about scary performance implications, just because of the sheer amount of things that you would have to do. So it came up with a cool pattern on how to solve this problem. And it involves educated guesses, which is kind of, I know that's kind of a scary term in computers. But the way that the educated guesses work is basically every validation that you would put on a rule or every rule submits basically what the closest date that it could happen on is. So if I'm a day of Friday, I say the closest day that I could happen is this Friday, the upcoming Friday. And then also on the rule, there's a validation that says the 13th of the month, but it's maybe the 20th of the month. So he says, the closest that I could possibly happen is next month on the 13th. Then we just take all of those, take the farthest away one, and jump to that. So you skip all the time in between. And that's how Ice Cube's able to be really quick. Ice Cube's usage, so how is this being used right now? So people have events calendars, like we have events calendars. There's actually a project about the open source project to make a single interface that people can use and just drop into their site that backs itself with Ice Cube. Time notifications, so people are saying, I want to send out an email every time that it is board meeting day. People are doing a schedule conflict resolution, so there's actually some people that are saying, Tom is only free on Wednesdays, and Steve is only free every other Tuesday. Tom is only free on Wednesdays and Tuesdays. Steve is only free on every Tuesday. That's the third Tuesday of the month. You can throw them all together and just call dot-first on the schedule, and you'll get the next time that those people could possibly meet. So people are using it for that. Yeah, if there's no match, you get no. And first, so something weird about first, just if you call dot-first on a schedule and you give it no argument, it'll actually remove the array from backing it and just give you a single element back. But if you call dot-first of one, then you'll get it inside the array outwardly. So that's a little weird. Some people are making this cron monster thing, where basically you would schedule your tasks with, it's kind of like whenever, but a little bit more complicated. So you'd schedule your tasks with Ice Cube, and then basically they tear through the Ice Cube schedules to see when things should happen. So it's like a monster thing. I don't even know if it's a good idea, but they're doing it. So I challenge all of you to also make something awesome and let me know what you do with it, because I think the library is really powerful. And it tackles an area that I don't know. You probably wouldn't touch ever. This is my blog. I just want to use this time for questions and maybe a demo if anyone's interested. So any questions about the whole thing? What do you guys think? Yeah? That would be good. So everyone heard the question, I guess. So I think some people, when they use this, are directly querying Ice Cube schedules. Other people are actually expanding the dates, and then having those sit in kind of like a denormalized format off to the side so they can query it easily. Is querying is something you have to do often? Being able to easily query against all of them? I think that would be a really, really cool application of this. Right? Yeah? Yes? Anyone else? No, go ahead, please. No, I don't think it would. I think this would be a fair application. And I also think that there's a lot of convenience methods built into Ice Cube that allow you to query it in ways that we didn't show here. For example, if you do a month of year and you have to say July and August, you can also represent those as integers, I think it would work totally fine. And I think that it's natural. So there's also this concept of adding schedules to schedules that people have been using Ice Cube for. And I think you would have to do some of that. So you have two schedules, and you're basically querying occurrences across both of them at the same time. People use that if they need events in different schedules that have different durations. So we should talk more about how that integration would go. Yeah, intersection or union of multiple rules. So if you just elaborate a little bit more. If you have two rules, yeah, absolutely. So if you put, so there's definitely intersection. So if you add two R rules to the same schedule, it'll give you all of the dates that occur on any of those R rules. But you can't. So if you want all of the things that occur when all of those things are happening, you would accomplish that with a single rule. That has all of the attributes that you would have put on the multiple rules. So validations on a single rule form an AND relationship. And multiple rules on the same schedule form an OR relationship with each other. Right, yeah, yep. And you could also accomplish that with multiple schedules and use any or all with the schedules. Yeah, so the built-in time library in Ruby only supports local or UTC. Those are the only two things that it can do. Time with zone in Rails, inside of active support, allows you to do in time zone and use any time zone that you want. So if you're using time with zone, the support is there, and it's fully tested and fully compliant across all of time zone. So you can use it with any time zone you want, and it'll auto-negotiate, like passing through time zones, or you can even have end dates on schedules or inside of repeat rules that are in different time zones. And it'll do all of that. But if you're using the standard time library, you only have access to what Ruby has access to, which is local and UTC. But you could also just convert everything to UTC first. Does that answer your question? Also, people have been thinking about, I don't know if anyone's done it successfully, but I don't understand why they wouldn't be able to. Integrating this with third base and homerun, one of the two, so you get even better performance out of IceCube if you were to use a separate time library. So if anyone doesn't know, homerun is a time library that was written in pure C. That's a lot faster than time.rbs. Anyone else? Any other questions? OK, yeah? Yeah. OK, so the first Monday after February 14th, if you were to do the first Monday after February 14th, you would have to set the start time to be February 14th inside the schedule, then add a rule that said every Monday, and then just call dot first on the schedule. Oh, I see what you're saying. So you want, OK, three days. Right, right. I guess you could have two schedules. And what also you could do is like, you know the date is going to be like the third Wednesday of the month, right? That's a good question. You go three days before that, yeah? Right, because there's no way to negotiate what the beginning of the month would be. So you can't just say send it out on the Monday instead. What you could do is just calculate the occurrences as if it was the event, and then just subtract three from all of the things that it generates. Subtract minus three, three days, right? And then you know if it's inside that occurrence set that you should notify. I know that's kind of like a hack, but yeah. iCalendar doesn't support that by itself. And we really tried to not go outside the bounds of iCal just because the two iCal method is really nice to have. One thing I wanted to do for the longest time was support rather than having to maintain multiple schedules for different time events. I wanted to support different durations for different rules, but iCalendar can't do that. So I didn't do it. OK? Yeah? No? No one else? My slides are located at cjonrun.github.com slash icecube. So this is a page that's set up for it. And if you go straight down to the bottom, the slides are right there. And there's also an introductory deck that I used at Ruby NYC a couple weeks ago. Yeah, yeah, totally. This is actually what we do at my job. So the fact that all of these methods like dot day validation can actually take integers instead of just symbols makes it really easy to integrate with front end code. So you have basically like a 0 through 6, and the values are 0 through 6 for the selections of what day this thing should happen on. And then when it comes back, you can push that right into the rule. And then when you store this entire structure, the schedule, dot 2 YAML inside the database, you can easily pull it out and query it. Some people choose to store like a basic denormalized form separate of it so that they don't have to pull all of these out and recreate the schedules. Anyone else? Yeah? To Cron? That would be awesome, yeah. If you could like install an icecube schedule? Yeah, that'd be sweet. That's actually, can you submit a ticket for that? There's a lighthouse account. That'd be great, yeah. And it wouldn't be that hard either. The one fallback of it is like if people use things that Cron can't do. Right, right. Yeah, yeah. I'd say like wipe the hard drive and reinstall. Does it use what? Yeah, so I use a zone info database that's tied to time.rb. So it actually, date.rb, I think it's in date.rb. But they have the basic time zones there. They just don't allow you to like create one in the different time zone, which is really weird. Like time.rb can completely handle zones that are not your own. It just doesn't expose that method. It doesn't expose like switching time zones. It just doesn't do it. Nope. And I use all of that for when I marshal the times back into iCal, you actually have to put like the string representation of that time zone. And I use time.rb for that also. Custom time zones? Yeah, I mean, like what cost them time zone? What? Mars? Yeah, if you wanted to add Mars, I guess you could. Yeah. Mars is in the eastern daylight. Mars is wherever the Earth lines up with Mars at that point. It's in Pennsylvania. It's in Pennsylvania. Yeah, yeah. There's actually, I have a prototype branch just completely local on my machine that does from iCal, which I think would be a huge addition to this whole thing. Then you can just take that iCal database you're talking about, run them all through his rules, and have like is today a holiday? Yeah. Which I mean, that's like really cool use case. The best one I've found so far is from the iCal under RFC, it's American election days. So every four years, I think it's like the Tuesday after the first something in November. And it can do that totally fine. I don't do moons. Yeah, Easter would be tough. But there's a whole bunch of, I can't do moons obviously, but the tricks that you have to employ to do the election day, you basically have to say, you can look for the example online. It's pretty, actually, I could even show you it. To do what? Oh. Yeah, let me show you this code for this thing. What's that? Oh, yeah, I will. So there's RFCs back here. So this is the presidential election one here. So every four years, the first Tuesday after a Monday in November, after the first Monday in November. So you create a schedule. In this case, I had it start in 1996, because that's from the RFC. You add a recurrence rule. The way the recurrence rule works. Month of year in November, the day is Tuesday. And the day of the month. So this is one of these tricks I'm talking about to use an iCalendar. The day of the month is one of these. So you're basically saying exactly what the rule says. Yeah, you can use a range check. Right, yeah. OK? Yeah? Yeah. So this is one of two things that is in our calendar that isn't in iCube right now. There's that, the business days one. And there's also buy set pass. Buy set pass is, it's obviously a buy set position. It basically says, I want the fifth occurrence that this thing would happen on, but none of the other ones. There is, yeah. And this is actually, business time was featured alongside iCube on Ruby 5. So yeah, business time does that. But it doesn't do all the other stuff iCube does. And there's also, there's another gem that does something like iCube does. It's called, I think it's like rocket recurrence or something. But the way that they do it, I'm just going to type code up here, the way that they do it, they'll do like add rule daily, and they'll do like this inside of a string. So it's like your string programming, and this represents the actual days of the week, what days this thing should occur on.  We went and saw that, and we're like, this is not going to happen. So thank you for having me in Austin. It's a great city. If anyone has any questions or wants to talk more, wants to follow me on Twitter, or install iCube, do it.


Here's how to use the Power Series Neo Touchscreen. Setting the system time and date. Press Options. Press User Functions. Now enter the security code provided by the installer. Select Time and Date from the menu. Use the arrow keys on the touchscreen to program the time and date. The time format is hours, minutes, AM or PM. And the date format is the month, followed by the day and the year. Press Save. The menu will exit back to the User Functions menu. Press Back twice to return to the home screen. Make sure to subscribe to our YouTube page and click the Show More tab underneath the video where you can view valuable links pertaining to this product, similar how-to videos, and our low-cost, no-contract alarm monitoring services.


Health care is extremely slow in adopting new technology, like really slow. A Texas jury awards $21 million to the family of a botched anesthesia case. Welcome back to the channel everybody. For those of you who are new around here, my name is Michael, aka Dr. Trilini, and I'm a board certified diagnostic and interventional radiologist. On today's video, we are going to be talking about a recent story that just broke in the news yesterday or so involving a 27 year old who went in for a routine surgery and was never the same again. Let's go ahead and get into it. So who is the patient and what happened? This case involves Carlos Rojas, who was an immigrant from Venezuela and was 27 years old at the time of this incident. He used to earn extra money by hanging Christmas lights and on one of his jobs, he fell off of the ladder and fractured his leg and to fix that broken bone, Rojas needed surgery, which requires general anesthesia and at the end of that routine surgery, he was unresponsive. Experts say that Rojas suffered permanent brain damage after a lack of oxygen to his brain during the operation. So how would something like this even happen? Well, it didn't happen when your blood pressure is too low for a certain period of time during the operation. However, a handwritten surgical record during this operation didn't demonstrate any drop in blood pressure at all. Although the nurse anesthetists actually gave Carlos multiple medications to help raise the blood pressure during the operation, starting to sound a little fishy. So let's break this down. First off, why is a place like Baylor Medical Center still using paper charts? Oh, and I forgot to mention, this took place at Baylor Medical Center in Texas. So why are they still using paper charts in 2022? Like, isn't everything electronic at this point? It's 2022. Well, not really. You see, healthcare is extremely slow in adopting new technology, like really slow and mostly because it's expensive. We still use pagers to contact people in the hospital, like a beeper. Here's a beeper or a pager for those of you who have no idea what I'm talking about. We still use fax machines to fax patient information and prescriptions. And yes, some hospitals even have paper charts still in 2022. In fact, my entire surgery intern year, we use paper charts. Like I was at a big academic hospital in New York City and we still used paper charts. We would have to hand write full page progress notes and then stand them into the computer. There was literally a person whose only job was to take all of our progress notes that we wrote and stand them in a computer. And now obviously we type almost every note at every hospital around the country, maybe except not Baylor. Or maybe it's just the anesthesia department, who knows? After all, I was writing paper notes in paper charts seven years ago, so maybe something's changed. So we should all be in the electronic medical records based by now, I'm assuming, but I digress. The point I'm trying to make here is that hospitals are way behind technologically. Also, who uses fax machines anymore? Okay, so now let's talk about what a CRNA is before we go any further in this discussion. A CRNA is a certified registered nurse anesthetist. And according to a quick Google search, they can administer and provide anesthesia and provide related care to patients before, during, and after surgery. Okay, so the logical next question that most people on Google seem to also wanna know is what's the difference between a CRNA and an anesthesiologist? Well, the main difference is a CRNA is a nurse and an anesthesiologist is a doctor. CRNAs must be a licensed nurse and have worked in an ICU setting for at least one year. And then they receive a three-year degree from an accredited nurse anesthesia program. While anesthesiologists have a four-year medical degree and spend a minimum of four years additional in residency training and sometimes even further subspecialty training in fellowship. So the most obvious difference between the two is the amount of training. CRNAs can also practice independently in 17 states and Texas is not one of them. In Texas, CRNAs must practice under a supervising physician. In fact, one physician can supervise four CRNAs at the same time. So four different CRNAs can be in four different operating rooms and be supervised by one physician or anesthesiologist. Okay, so let's get back to the case. So Rojas experienced low blood pressure during the case and was given medications to help raise his blood pressure. Per the attorney in the case, we believe they created the handwritten record in order to cover up what really happened here, which was that Rojas' blood pressure dropped and they didn't address it quickly enough to protect his brain. Apparently, like I said prior, there was an electronic record of Rojas' blood pressure, but evidence in the case showed that the hospital failed to save it. The CRNA responsible for this case also didn't monitor the patient's brain activity during the case, despite the fact that the head of anesthesia at Baylor requires this. Furthermore, the CRNA left the case for 12 minutes. Let that sink in. Now I tried to find some information on this, but I failed. I don't know if the media is trying to hype this up and make it sound worse than it is because CRNAs take breaks all the time and get coverage from other CRNAs or anesthesiologists, but if the CRNA actually left for those 12 minutes and there was nobody monitoring the patient, that's a problem, but more on that later. Either way, the result of this whole situation was an anoxid brain injury to Mr. Rojas, which left him in an irreversible vegetative state the rest of his life. So how does this happen? Well, he apparently had low blood pressure during the case, although we don't know how low, which means the brain wasn't getting appropriate blood flow to allow it to function properly. Just think of the brain as this monster that's like super hungry for oxygen and blood flow at all times. It has to get its blood supply 100% of the time all the time and blood carries oxygen.  And if the brain doesn't get oxygen for a certain amount of time and this goes on too long or a large area is affected, then you have an irreversible, devastating neurologic injury. Just like this. It's basically a stroke, but a stroke to your entire brain. So to sum it all up here, the lawyer stated that the hospital failed to preserve electronic blood pressure records in the CRNA that elected to monitor the brain activity during a two hour operation.  Okay, so as usual with these cases, it's now time to discuss a few things pretty quickly here. First, why did the CRNA allow the blood pressure to get so low during the case? And it has to be pretty low for a pretty long period of time in order to cause such a devastating effect like this. And honestly, I have no clue how this happened. This is like anesthesia 101. I'm not even an anesthesiologist, but I perform a lot of procedures with anesthesiologists and they are constantly monitoring blood pressure throughout the case, like all the time. They are consistently giving medications to help raise the blood pressure or lower the blood pressure and keep it in a specific range throughout the entire case if they have low blood pressure, they will elevate it to that range. If they have high blood pressure, they will bring it down to that range. And if you are a CRNA and you have exhausted everything you know in trying to raise or lower the blood pressure, the next step is to call these supervising anesthesiologists. In fact, that's what they're supposed to do. So I'm not sure why neither of those were done during this case. Speaking of that, where was the supervising anesthesiologists? I'm actually not sure where they were during this case. I do know that they were monitoring for other ORs at the exact same time, which is completely legal by the way in Texas. And when anesthesiologists are supervising CRNAs, they are usually present during the time of intubation and induction of anesthesia. They don't have to be there for the whole case. They can just kind of come in and out of the case as they feel and check on the patient and the CRNA and see how they're doing. And of course they will come in whenever the CRNA needs them. And they're also not actually very far away from the OR. They're probably in some office, like right outside the OR. So if you needed them, they would be there in a few seconds. They're not at some coffee shop, like down the block getting coffee or something while the CRNAs are doing that. Well, at least they're not supposed to be. I can't really speak for this case. The next thing I wanna talk about is what they could have done to prevent this from happening in the first place. And I know this is kind of a rhetorical question here, but this is why certain guidelines are in place to prevent things like this. The hospital required neuro monitoring during the case and that wasn't done. They also required electronic blood pressure documentation and that also wasn't done. Any one of these or obviously both of them could have prevented the result of this case. Next up is why the CRNA left the room for 12 minutes. Again, I'm not sure if this was to make the story sound more juicy than it is, but what I do know is that CRNAs and anesthesiologists leave the OR all the time because sometimes they have to use the restroom or take an emergency phone call or whatnot. And a CRNA or anesthesiologist always covers them during that time. For the longer procedures, CRNAs and anesthesiologists take breaks and they cover each other. So it's not uncommon for them to leave the OR and take a break. However, if the CRNA left for 12 minutes and didn't have coverage, that's the whole other issue here. That is overtly negligent. Again, anesthesia 101 here, never leave your patient. I actually did an anesthesia rotation in med school because I almost went into anesthesia myself and I'm pretty sure an attending told me something similar to that when I was on the rotation because all anesthesia is a balancing act. You're literally just balancing life and death with the use of medication. It's obviously more complex than that, but that's the root of it. And that's what makes anesthesia so crazy. And this is why going under anesthesia should not be taken lightly. Anesthesia is like the ocean. They're both powerful beasts and you have to earn their respect. Otherwise they can take your life at the blink of an eye. I don't know if that's a good analogy, but it's the best I could come up with up top of my head. And this leads me to my next point and the question you are wondering this whole entire time. Would I receive anesthesia from a CRNA over an anesthesiologist? My answer is honestly, I'd probably want a board certified anesthesiologist or maybe a CRNA with one-to-one supervision so that they were only taking care of me and the anesthesiologist was supervising them and only them. The one-to-four patient thing is a little much for my liking. The real reason here why I would prefer an anesthesiologist over a CRNA is because I'm more comfortable with them. I'm a doctor myself. I know the training that they have been through. I know everything I learned in residency that you can't be taught and how much knowledge and skills we acquired during that residency training. We have seen just about every possible situation and have seen anything go wrong that could go wrong and also how to fix it. It's that extra bag of tricks that you can't be taught in school. That Plan B, C, D, E, even F that we as physicians have in our back pockets that we use when things don't follow the textbook. There's anything I've learned in this business nothing ever goes by Plan A. It's always at least Plan B. And just because I prefer a doctor over a CRNA for my anesthesia doesn't mean I don't think CRNAs are capable of delivering anesthesia and delivering it well at that. There are plenty of solid CRNAs that I have personally worked with and know. To me, it's not a competition between the two. It's just what I'm personally more comfortable with. And that's how it should be for everyone. One of the lawyers in the case was quoted the following actually, as a result, it is our position while that may be good business for anesthesia partners, it is not good medicine because there is no way an anesthesiologist can supervise that many CRNAs at one time, the lawyer said. I think patients need to be apprised upfront that they have the choice to get an anesthesiologist who has four years of medical school, three years of training and board certified rather than a CRNA who may have a nursing degree and an extra year of training. The lawyer stated that the patient should have had a choice between an anesthesiologist and a CRNA, but he done it. And in conclusion, after all of this, I will leave you with this final statement from US anesthesia partners, the group that employed the doctor and the CRNA in this case. And it's quite an interesting statement. They said, we receive the jury's verdict and while we respect the civil justice system, we believe strongly that our clinicians provided the patient with excellent care. It's shocking to me how these staff can be grossly negligent and have a horrible patient outcome and then call it excellent care. If this is excellent care, I'd sure hate to see what poor care is. And that concludes this video, hopefully you all enjoyed it. Let me know in the comments below what you think about this case and maybe what you think about anesthesiologists and CRNAs. As always, follow me on TikTok and Instagram if you don't already. And as always, I'll see you all on the next video. Bye.


The Australian Space Agency has identified the streak of light that lit up Melbourne's sky on Monday night as the probable remains of a Russian rocket. Video footage shot right before midnight showed long streaks of light crossing the Australian night sky. In statements posted on X, formerly known as Twitter, the ASA said the streaks were likely the remnants of a Russian Soyuz-2 rocket re-entering the Earth's atmosphere and were bound for the ocean off the southeastern coast of Tasmania State. The ASA added they would continue to monitor the outcome of the debris re-entering Australia's atmosphere in cooperation with government partners.


Hi everybody, I'm Jen with opensource.com and I have a brand new top five articles of the week for you today, January 6, 2017. This is the first top five of 2017. I'm happy to be back with everyone. I took a couple of top fives off in December to take a break, refresh, relax. I did that and I'm happy to be back. This is, if you're new to the top five, this is something that we do every Friday to bring you the best articles from the past week that our readers loved and really enjoyed. So it's a nice little digest of what we've been working on. This top five is a culmination of the past three weeks since I took some time off. So just to let you know that this top five comes from the past three weeks instead of the past week. Going forward, we'll do the past week as usual. So let's hop into it. At number five, we have top open source creative tools in 2016. So Maureen Duffy is a principal interaction designer at Red Hat and she tells us about her favorite open source tools to manipulate images, edit audio and animate stories. At number four, we have top open source projects of 2016. This is our annual list of the year's top open source projects where we look back at popular projects that our writers covered in 2016 plus some favorites from our community moderators. At number three, we have four hot skills for Linux pros in 2017. Sean Powers of CBT Nuggets tells us that the definition of a Linux expert is constantly changing. So in this article, he shares what he thinks are the four vital skills for a Linux pro today. At number two, we have hot programming trends in 2016. Get an overview in this article of the year's hottest languages for AI projects and containers, new languages and new programming trends. And finally, at number one this week, how Linux got to be Linux, test driving 1993 through 2003 distros. Seth Kenlon revisits the early release of seven Linux distros to get a picture of what progress Linux has made over the years. And because we covered so much, we covered three weeks, we have an honorable mention. We have 50 ways to avoid getting hacked in 2017. Dan Walsh works on SE Linux at Red Hat. In this article, he shares 50 ways that sys admins and regular old people can avoid getting hacked. That's it for the top five this week. Glad to be back. Hope you're having a great new year. I'll see you next time.