Are you a content creator? Do you create video content on platforms like YouTube and on library? Do you do audio only podcasting? If you do this sort of content creation, one of the things that you probably want to do is you want to record your audio tracks as multiple separate audio tracks. And this makes editing your audio much easier when you have everything as a separate track. But many people struggle on a how to record multiple audio tracks and be how do you go about editing those multiple audio tracks? What kind of software do you use to do this sort of thing? So today I wanted to show you how I record and edit audio tracks using free software, things like OBS, Audacity, and Caden Live. So let's start with recording multiple separate audio tracks using OBS. I'm assuming especially if you're a video content creator you're probably gonna do all your recording using OBS, the open broadcaster software which is the gold standard when it comes to that kind of software. It is free and open source software. It is also free as in free of charge. So let me open up OBS and if you go to File and go to Settings and open up the settings inside OBS. On the left hand column you have various tabs. One of them is audio. Click on that. Now this audio screen here that you're seeing would be the devices that you see down here in the audio mixer. You say I have desktop audio and then I have microphone, auxiliary. So I only have two sources here in the audio mixer because I have desktop audio set to the controller on my computer. Then I have the mic audio set to my mixer that you see on the server rack behind me. You could add other audio sources if you needed to. Most people are just gonna have to the desktop audio and the microphone audio but you could have multiple inputs especially. I could have you know a second audio interface somewhere plugged into some other microphones and then I would need of course add that and it would appear down here in the audio mixer portion of the interface here. Once you have all of this set to your liking what you need to do then is go to Output and in Output make sure you're in the advanced mode and you're gonna see various tabs streaming recording audio replay buffer. Now there's nothing to do in the streaming tab as far as separating your audio into multiple tracks because streaming you're not really capturing that audio yourself. Streaming is you're sending that signal the video and the audio to some service like YouTube or Twitch. So there's nothing to do on this tab but the recording tab is the one where you can separate that audio into multiple tracks. The first thing you need to do is make sure that your recording format is set to some format that can handle separate audio tracks. MP4 is the most common video format people record in and MP4 handles having multiple audio tracks just fine so if you choose MP4 you should be good and then what you need to do is tick on however many separate audio tracks you want. You can have up to six. I chose three and I chose three because that is the number of sources I have down here in the audio mixer. I have one and then I have two and then you always need a third one which would be the mix of all the other sources in your audio mixer. I hope that makes sense so if you had three things down here in the audio mixer maybe you had two different interfaces picking up your microphones plus the desktop audio so you had three things down here you want to create four tracks. For me I'm just doing the two sources here so I created three tracks and if I wanted to name them I could go to the audio tab and give them proper names instead of just one two or three really one here is the main mix which is a combination of the desktop audio and my mic auxiliary audio. Two I believe I have set to the mic and then three is going to be the desktop audio. Anyway I'm gonna cancel all of this because it's already been set and once you have all of that set what you need to do is go to the cog wheel down here either one it doesn't really matter for any of your sources down here go to the cog wheel right click on it and choose advanced audio properties and the window is not quite wide enough for you to see all the tracks here again up to six tracks here in OBS but the first thing you want to do is however many sources you have as far as your audio mixer they're gonna be in this list and then you choose which tracks you want them to record to. One track needs to have everything so it needs to be the main mix so if you have five things in this list what I would do is I would put all of them on track one so that's a mix of everything and then after that I would go and add each one to its own separate track so you desktop audio it records to track one which is the main mix and then it also records to track three and track three is only going to be the desktop audio I won't put any other source on that that way if I ever need to edit you know scrub or clean up the desktop audio I have yet on a track by itself nothing else is on it the same thing with Mike auxiliary it records to track one which is again the main mix is a combination of all the audio sources but it also is on a track by itself on track to I won't put anything else on track to that track is strictly for my microphone audio so if I ever need to go and just clean up the microphone audio not the desktop audio or anything else that's you might be plugged in just the microphone it's on its own separate track so now that I have my computer's desktop audio separate from my microphone audio let's do a test recording and let me show you this in action so gonna open up an audio player here and I'm gonna play a song so I'm gonna go ahead and start the desktop audio here and I'll let that play for a minute and then I'm gonna talk over it yeah this is distro to guys record and edit multiple audio tracks using free software watch DT on YouTube and library follow DT on mastodon support DT's work over on patreon alright let me kill that stop recording now let's see if our separate audio tracks work so I'm gonna switch back to the desktop to check to see if this worked what you could do is open up a audio player that allows you to select between the multiple tracks on a multi-track clip so that mp4 that I had just recorded was this one right here if I open it in VLC so now that I have my computer's desktop audio separate from my my passport a little bit so we get the desktop audio this is distro to guys and the mic audio now everything is mixed together by default audio players the way they work is they always play track one that's why when we went into the OBS settings I told you to put everything on a main mix on track one is when you open something in a standard audio player like VLC it's always going to default to track one so really you should just put everything on track one but then you do have the other tracks available if I go into the audio tab here and go to audio track you see by default it is set to one but we could check out track two and now if I start this playing again so now that I have my computer's desktop mic audio what if I fast forward to explain no music right yeah because there was no music on track two there was no desktop audio I go back and I choose track three you know Mike is not working the microphone audio is not on track three but the desktop audio the music track is on audio track three so now let's talk about editing these tracks so now that we have the multi-track audio how do you edit it well probably the most common free and open-source audio editor on the planet is audacity so let me open up audacity and then let me import something into audacity that again we have multiple audio tracks so all of these have the three audio tracks all these MP4s I'm recording and when you drag it into audacity you get this pop-up window and this pop-up window it has three things in it why does it have three things it's because that mp4 that I'm trying to open in audacity has three audio tracks which one do we want to take a look at I just use this first one this is track one this is the mix of everything so it's going to be the microphone it's going to be the desktop audio music it's going to have everything in it but if instead of that one I drag it and import it again I choose the second thing in the list this is track two this is just the mic no desktop audio no music but if I wanted to I could go back and import it and choose track three and this is the desktop audio that is that music track that I played halfway through that clip now typically if I'm working on something like this what I would do is I would grab that audio and import it and I would choose all the individual audio tracks so not the first one not the main mix because that's difficult to work on because everything's together I would choose tracks two and tracks three together and hit OK and now I have the microphone audio up here and down here I have the desktop audio the music playing and I could edit them without really affecting the other one because they're you know on separate tracks for example in this section of the mp4 clip that I imported I am speaking this is me speaking on the microphone but you notice during that time there's also some desktop audio playing so that's the music track playing what if my microphone audio I'm barely audible because the music maybe is too loud well what I could do is because these are separate tracks now if they were one track I couldn't do this but because they are separate tracks I can go in here and I could adjust the volume of this in audacity I could go into effects and I could do amplify and you know if I wanted to I could drop the peak amplitude and you know lower the volume lower the gain quite a bit on that track there and if I wanted to I could go up here and do something completely different I can do a completely different effect because it's a separate audio track maybe I could do the amplify effect but instead of decreasing the volume maybe increase the volume to the microphone so that is the beauty of having these on separate tracks and let me go ahead and close out of audacity the last thing I want to show you guys is let me open up my video editor of choice which is Kaden live of course it's free and open source software as well how does Kaden live handle audio that has multiple separate tracks well let's import an mp4 and check it out so if I drag it to the timeline by default what you see is just one-way form here so kind of like most audio players default to just using track one Kaden live does the same thing by default this waveform this audio waveform is track one but what you can do is highlight that clip so just click on it make sure it's you know highlighted you can see the bright green now and then go to clip properties and if you go down to audio stream you have a drop-down menu here of all the audio tracks so remember I recorded three audio tracks and we have one which is set by default and that's the main mix of both the mic and the desktop audio then we have two which is just the mic audio and then we have three which is the desktop audio only so if I go to two this should be the microphone audio but no desktop audio so let me go to a section of the clip where there will be some desktop audio so if I start playing go ahead and start the desktop audio here okay so the microphone works but gonna let that there's no music playing see then I'm gonna talk over it every time there's just music and no microphone the music's not there too guys record knit it all right so that was just track 2 there so let me highlight that clip again go to track 3 and now no microphone and we should have the music though so there's no mic here's the music and I'm speaking on the mic but nothing's happening speaking on the mic again nothing's happening so you can preview the individual audio tracks in Caden live just highlight the clip go to clip properties go to audio stream and just choose what you need from the drop-down now before I go I need to thank a few special people I need to thank the producers of this episode I need to thank Michael Gabe Nate Corbinian Mitchell entropy UK John Devin Arch 55 30 Chris Chuck DJ Donnie Dylan George Lewis Omri Paul Robert Sean Tobias and Willie these guys they are my highest tiered patrons over on patreon without these guys you wouldn't know how to record and edit multiple audio tracks using free software like OBS Caden live and Audacity you wouldn't know about it the show is also brought to you by each and every one of these ladies and gentlemen all these names you see on the screen these are all my supporters over on patreon because there are no corporate sponsors here at distro tube this show is supported by you guys the community you'd like to support my work you'll find DT over on patreon alright guys peace


After 11 days searching for a lost boy in the mountains, cops had to tell his mom the real story. Hiking through the great smoky mountains national park, ironically, isn't what you might call a walk in the park. Dense spruce forests, high altitudes, and the blanket of fog that's often present contribute to several lost hikers every year. So obviously when a man was separated from his teenage stepson there in 2017, authorities launched a massive search and rescue mission. However, just before a shocking development in the search, park rangers feared they'd have to tell the missing teen hikers mother the truth. On August 11, 2017, Hubert Dyer Jr., and his 18-year-old stepson Austin Bohannon hiked through great smoky mountains national park. But they weren't there to see lush forests and wildflowers. No, the duo wanted wild ginseng and herb found in energy drinks and medicines. Removing it from the park would have been illegal, but the plants sold for $600 per pound in certain markets. But while hiking along a stream, Hubert realized he'd lost his glasses, so he doubled back to find them. Austin, meanwhile, conducted his own search for his stepdads missing glasses. As a nearly blind Hubert, both combed the park for the glasses, they wandered further and further away from each other. Before he knew it, Hubert couldn't find his stepson. He doubled back for him and called his name, but he just couldn't find Austin. Hubert refused to admit defeat. In fact, he was so sure he could find Austin on his own that it wasn't until two days later, on August 13, that Hubert reported his stepson missing. Tasked with the mission to find Austin, chief ranger for the great smoky mountains National Park Steve Kloster, below, launched a massive search operation. How Massive Helicopters equipped with infrared Hubert above the 6,700-acre piece of park marked off as the search area. Canine units from the Tennessee Emergency Management Agency tracked his scent. More impressively, 100 volunteers gathered in 90-degree weather and searched the smoky mountains. The Bohannon family served snacks and drinks to searchers a morale booster for sure. However, Austin proved to be a moving target, or at least a well-hidden one. Still, authorities never gave up hope that Austin lived. He's young, he's in shape, Park Ranger Steve said. And there's all kinds of water out there. But after 11 days, search parties hadn't found Austin. Park Ranger Steve, who'd been at the park for nearly 20 years, said he never saw a search that went on so long. Would he have to call off the dogs? Just before authorities gave up, a miracle happened. Austin walked out of the dense forest, completely unscathed. When word reached his mother Brooke, she broke down into tears. Overcome with relief, Brooke hugged great smoky mountains Ranger Les Kwiatkowski in a picture-perfect moment. But what made this possible? How had Austin survived 11 days on his own? Once he realized his stepdad was long gone, Austin and Avid Camper went into survival mode. I wasn't scared or anything, he said. I just knew that I had been separated and I needed to do something about it. The teenager climbed to the top of a ridge where he tried three times to call his mother. The calls failed. He spent the night there and then, in the morning, found a stream. From there he said, the main thing was just keeping my calm, keep my cool, just keep moving. It was just instinct that came out. As he wandered, the community held a candlelight vigil. Over those 11 days, Austin never ate anything, though he admitted he came close to eating a bug once or twice. I felt hungry the first couple of days and after that the hunger just kind of went away, he said. Eventually, Austin followed a creek that emptied out into a body of water. There, he spotted kayaks and a boat carrying a man and his daughter the first humans he saw in 11 days. I waved them down and hollered at them, Austin recalled. The boaters approached and asked if I was the one they'd been looking for. I said, yes sir, I guess so. It was the boater who brought Austin back to civilization, where he gave his father a tearful hug. Even the rescue teams finally took a moment to celebrate his return. After Austin's brilliant survival story, he ended up joining the United States marines. No doubt those skills of his will come in handy there.


Hi, I'm Zor. Welcome to a new Zor education. So today I would like to talk about equations which are basically the fundamental laws of electromagnetic field. Well, first of all I would like to actually give some kind of a credit to a very important man in this particular part of the physics, James Maxwell. And there are Maxwell equations. Basically these are four fundamental equations which are describing the electromagnetic field. Well, in as much as three laws of Newton are describing mechanics, kinematics, dynamics, etc. So it's very, very important. And these equations are very important not only for electromagnetic field description, but also they gave the push to the whole contemporary physics, basically, which includes relativity, even quantum mechanics. So I'm not going to present these four fundamental Maxwell equations in their total complexity with proofs, etc., etc. However, I will try to give you, first of all, the feeling of all these equations are all about and, well, derive certain equations in certain simple cases. So that just gives you a flavor of whatever we are talking about. So today I will talk about one particular equation, the first equation, which actually kind of, well, it goes from the Coulomb law, which we all know about electrostatics. So we're talking about only electricity, no magnetism, just electricity, and we're talking about electric charges and what kind of electric field they create. Okay, so first of all, let's talk about Coulomb's law. That law states the following. If you have two charges, q1 and q2, and they are at certain distance r, then the force would be proportional to product of these charges. Now the force can be either attracting if these charges are of opposite sign or repealing if they are of the same, positive and positive or negative and negative. So these are basically charges themselves. Now we are talking about the electric field. So this is something like a force on a distance, because there is nothing in between these two charges, which actually like a spring pulls them together or repels them. So this is something related to a concept of field, which we were talking about before. It's basically part of the space where certain forces are acting, and the sources of these forces are not immediately touching the objects of these forces. So right now we're talking about a particular force which is, well, created, if you wish, by any charge. So if there is some kind of a charge, a single charge, it creates the force which acts on everything around it, everything electrically charged around it. Now we have certain characteristics of the field which basically describes what kind of a force this is. It's called electric field intensity. So electric field intensity would be proportional, obviously, to this particular q. And it's also this same constant, k, and it will be inversely proportional to distance. And that's how we describe something which is called intensity of the electric field. So if you want to know the force which acts on a particular charge, you do this. Now these are two different, this is a source charge, and this is some kind of an object charge. All right? Well, I think I prefer zero to have here, and here without any signs at all. So this is the source of the field. R is the distance from the source of the field to a particular point charge. We're talking about point charges right now. And then the force can be described as this one. So you have intensity of the field times charge. So intensity is basically the force which acts on a unit charge. That's why when you multiply it by q you will get the force. Now what's important is these are vectors. Now direction of these vectors in case of point charges is always radial from a point to a point. Okay, great. So we have defined the intensity of the field which is basically the most important characteristic of any field. In this case we are talking about electric field. So intensity is basically the force which can act on a unit charge. Now what if there is no visible source of electric field? Is it possible that electric field is created but we don't really know about what exactly is the source of this? For instance, the source can be two different charges and we just don't see them. We only feel the source somewhere out there which is on the distance from these two charges. What's important is again to characterize the field by intensity vector. I don't even know about this but if I can measure the intensity at each particular point of the space. So now this is the space and at each point there is something, some vector which is actually a force on a unit charge. So if I take a unit charge and put it here it will be either attracted or repelled to a certain direction which means I can measure this particular force at any particular point. So that's very important. So now we forget about the source of the field, this initial. And we are talking about only about the field itself, piece of space, whatever part of the space around us. And at each point there is some kind of vector which is directed into some direction and it has certain magnitude. So if I have electric charge and I know this vector I basically know the force. The magnitude will be multiplied by the charge and the direction will be whatever the direction of intensity is. Okay, now this is in many cases represented as, so this constant 1 over 4 pi epsilon is k where epsilon is a characteristic of basically a space where exactly all these electric fields are, where they exist. It can be vacuum, it can be water, it can be glass, it can be anything. So the most important part of this case is that I will probably use this particular usage. So instead of k I will use this. Now epsilon has, it's basically some meaning, it's called permittivity. It's how permissive the space is for electric field. It doesn't really matter, this is a constant, this is a constant. This is a constant for any kind of a substance. There is a k and correspondingly epsilon for a vacuum, for air, for anything. So just a constant, but this is more convenient constant as you will see in a couple of minutes. Now we are talking about a field produced by a point charge. Now this field would be obviously radial either repelling or attracting depending on signs of electricity in the initial charge and in the charge which is our probe charge if you wish. So I would like to introduce a new concept. I don't really remember if I introduced this concept before when we were talking about electromagnetism which was the previous part of the course before the waves, I was talking about electromagnetism and its properties. There is a concept which is called flux. Actually it's for any field, not only the central field but for any field. So again we are talking about space and at every point we have some kind of a vector which is a direction of the force and the magnitude of this vector it defines basically the intensity of the field. So the concept of flux, in this case electric field flux, here what it is.  It doesn't really matter what kind of a surface this is as long as it's compact basically. Now there are certain vectors of intensity which are defined on that particular surface, right? So if this is a surface somewhere in space, since we are talking about space which is basically a field which means at every point in space there is a vector of intensity. There is a vector of intensity at every point here directed somehow, not necessarily radially or whatever. So any surface and any vectors which are basically emitting from it, well it's not really emitting it's probably since it's a field they are going through this particular surface and that's why it's called the flux. Now what's important is that in a very small piece of that surface, obviously infinitesimal is small if we are talking about the real scientific kind of approach, we can consider the vectors to be constant within this infinitesimal piece of the surface and what we can do is we can multiply the vector which is like one and the same vector everywhere times the area of this particular small piece. And that's how we will have an infinitesimal flux going through this particular piece. Then we can summarize the flux through all these pieces and as these pieces, sizes of these pieces are going down infinitesimally to zero, our flux becomes more and more precise. This is basically the same thing as integration but we used to have integration of the function. We divide it into small pieces and then multiply the widths of the piece by the area of the function and then as the piece is going down the whole thing becomes integral. Now this is called a surface integral basically but we don't really care about how it's called scientifically and we will not be talking about very complicated surfaces. The idea is to break the surfaces infinitesimal pieces, multiply, consider that the vector of intensity is exactly the same within each particular piece, multiply the area of the piece by vector and that's how we get this particular intensity. Now I did not specify one little thing. The vector can go from this surface either perpendicularly to the surface or at the angle. Now if it goes at the angle it's not exactly the same thing. What's important is to have a normal which is perpendicular to the surface and project the vector of intensity onto this normal. So if you have a vector of intensity, I think I have exhausted this, if you have a vector of intensity, this is a very small infinitesimal piece of surface. This is a normal perpendicular to the surface and if this is the intensity vector I have to project it and then multiply the magnitude of this projection by this because as we know let's say some which goes perpendicular to the surface hits it much better than if it's under angle, right? So my definition of the flux is the same as I just mentioned before. You multiply the area but not exactly by the magnitude of the intensity vector of this particular in the immediate neighborhood of this point but to a projection perpendicular to the surface. Now what is perpendicular to the surface? Well if it's some kind of a tricky surface perpendicular to any point is perpendicular to a tangential plane, right? So if you have let's say a sphere, what is perpendicular to a sphere? Well you have a tangential plane to a sphere at point, whatever the point is and perpendicular to a tangential plane would be perpendicular to a sphere which happened to be a radial line because every radius is really perpendicular to the whole surface in the point where it points and that's mean it's all perpendicular and that's exactly what I would like to use right now for a simple case but I would like to do, I would like to calculate the flux which is produced by a point charge through the sphere and the point charge obviously is in the very middle of that sphere in the center. Now in the beginning of this lecture I was talking about basically talking about Maxwell equations in some simple cases so this is a simple case and I would like to demonstrate what exactly the first Maxwell equation means for that particular case. Okay, so let's just do it. Let's say we have a sphere in the center we have a charge q0 the radius of the sphere is let's say r now since this is a centrally symmetrical figure obviously all the forces are going radial okay, so this is the force, this is the force etc. they're all radial now I'm talking about the surface of the sphere which means all the points are at the same distance so r is exactly the same everywhere on the sphere and I would like to know what is my flux produced by the field with the q0 as a source through this sphere of the radius r. Well, okay, let's go back and remember the intensity is equal okay, this is my intensity on the distance r from my charge where epsilon is permittivity of whatever the environment we are in maybe it's a vacuum, maybe it's air, it doesn't really matter whatever epsilon is. Okay, now what's important here is that at any point on the sphere my intensity vector has exactly the same magnitude because r is the same and q0 is obviously the same also and every vector is perpendicular to the surface of the sphere this is exactly the simple case because if I will take for instance a cube have a source of electricity here then one vector to this direction will cross the cube and it will be perpendicular but this vector will not be perpendicular and since I'm talking about the flux and the flux basically is the flux on a very small piece here would be an area of this time's projection of the vector intensity onto the perpendicular to a surface, normal to a surface then that's a difficult kind of point which we can do as exercise but integration would be really difficult here integration is trivial, why? because any little piece if I will take here will have already perpendicular force I don't have to project it to anything because the force exactly is along the perpendicular to a surface force is always normal to a surface as we are saying and all the forces on this sphere are exactly the same in magnitude so they are all perpendicular to a surface and they are all the same in magnitude so there is no sense for me to break this surface into infinitesimal pieces and calculate for every piece and sum them up together why? because if I will sum them up together the magnitude would be actually it would be like E1 times S1 plus E2 times S2 but all E's are the same and they are all equal to the E so we take E outside of the brackets of the parenthesis and S1 plus S2 plus etc. will give me the total area of the sphere right? so that's why this is a simple case and that's why I'm bringing it today so to calculate the flux for the sphere in this case it's very simple I take the magnitude of the intensity vector and I know it's perpendicular to every piece of surface and multiply it by area of the sphere which is 4 pi R2 and this is my flux it's a Greek letter phi capital by the way so this is electric field flux so I will put F phi E and well let's see what it is E is as I said so what happens? my 4 pi R2 would cancel out and I will have Q0 divided by epsilon now why is this remarkable? it's remarkable because it does not depend on the radius so the flux through this surface or through this surface or through any surface of the sphere no matter how big the sphere is is exactly the same and this is quite remarkable now let me give you another more remarkable case what if Q0 is not in the center of the sphere? well what we can do we can always I have not done it in Reichenkin in the notes for this lecture it might be as an exercise but in theory if it's not a center I can always put some kind of a diameter through a center of the sphere and through a point where Q0 is located and sum up these two things small ones but this is a smaller this is bigger which means this particular radius well distance to a sphere is less than this one so I will have R1 in one case and R2 in another case however what's interesting is that if I will start summarizing that thing in the way how it's supposed to be with kind of surface integration so to speak I will have the same result what's another important thing is that if I instead of a sphere will take a cube which I was just drawing before and I will just try to calculate the flux through this particular cube surface through the cube I will have the same result so what's interesting is that for any closed surface whether it's a sphere or ellipsoid or cube or parallelogram I mean parallelepiped or whatever else you can come up with even absolutely not geometrically known kind of form as long as it's closed completely from all the sides you will have exactly the same result that the total flux would be equal to this particular thing the amount of electricity inside of that particular point charge divided by epsilon which is a characteristic of the space more than that if instead of one point charge you will have 25 you will have exactly the same result this will be just a sum of all these charges so no matter how charges are distributed inside that surface which is completely enclosing the piece of space you will have exactly the same result the flux from all these charges through this surface would be this regardless of the shape of the surface regardless of how big it is how the charges are distributed inside etc and that's a very important characteristic of electric field and this is something which is essentially the first Maxwell's equation now what I will do right now I will try to put that Maxwell's Maxwell's equation instead of this form which is kind of integrated form into differentiating form and that would probably seem to be maybe a little bit more involved mathematically but since it will be differential which means it will be very small well infinitesimally small pieces when we are talking about differential you will have probably better understanding why we have something like one and the same kind of a law for any kind of shape etc because whenever we are talking about small pieces it's not really a shape which is important and in a differential level the equation would actually mean whatever I am going to derive right now and then we will see how it looks on a differential level ok so for this we will do the following we will consider a very small piece of space and I will use the cubicle piece of space these are coordinates x, y, z and the cube is somewhere in space and let's consider that this cube is aligned with the coordinate plates so this point A will have x, y and z coordinates and the dimensions of the cube would be delta x delta y and delta z well delta are small well again obviously you understand that it will be eventually infinitesimally small but because they are small I can actually consider the field to be more well uniform so to speak because it's not really changing much ok fine so how can I calculate the flux from this particular field well let's consider that I have certain distribution of electric charge inside that little cube there is something which is called density of electric charge and I call it now I assume that this density of electric charge is such that the total electric charge in this cube I will put delta x, delta y and delta z is equal to times the volume so the volume of this cube is delta x times delta y times delta z and if my density of electric charge is this then I assume that inside of that cube I have so much electricity ok so it depends on obviously x, y and z and dimensions of this cube well I shouldn't really say it's cube because I did not assume that delta x is equal to delta y is parallel to the pipette fine it's just too long a word so if I will call it cube sometimes and you understand that this is parallel to the pipette alright now so I know that the charges are inside this is the total number of charges inside ok now I do know basically that as I was saying before the charges are distributed the total flux should be the same right but anyway I'm not right now talking about this now we have to talk about intensity vector produced by these charges alright intensity vector is E of x, y and z and again this is a vector so at any point inside of that cube parallel to the pipette there is a vector ok great how can I find out the flux which is basically I have to multiply this vector by any infinitesimal piece on the sides of this of this parallel pipette well I'll do it this way I will represent is as E of x, y, z E y x, y, z and E z x, y, z projections of this vector onto each particular point so any vector whatever is inside I can put it as a combination of three coordinate vectors why it's important for me for a very important thing because now I want to let's say calculate the flux which goes through this area I will use only the component of this vector E x plus E y plus E z I will use only E x because E y and E z are parallel to this vector because if I will multiply E times some kind of area s since E is equal to E x plus E y plus E z times s which is equal to E x times s plus E y times s plus E z times s but I know that E z is parallel to s now if this s is this particular side parallel and which means that projection onto a normal onto perpendicular to a service would be zero right so I don't have this same thing with y if it's along the y E y again it's parallel to this so if it's parallel there is no flux nothing goes through the surface and only E x actually remains because E s well first of all I assume that this particular parallel of the people is so small that my P is basically constant inside it so the vector here or vector here or inside or wherever it is vectors are the same obviously if delta x delta y and delta z are small enough I can assume that the density is exactly the same within this small parallel so E is the same and doesn't depend right now on whether it's inside and left and right or whatever it's exactly the same everywhere and if it's the same everywhere I can calculate flux through this particular area by basically multiplying E of x plus delta x yz I'm here right I'm talking about this particular thing so the flux goes here and this value has coordinates x plus delta x but y and z are the same so that's why I put this thing I will multiply it by this area by delta y times delta z the area is equal to delta y times delta z and this is the flux which goes through this right let's say right side so it's a right, left, top, bottom front and back six sides I will talk about each one separately so this is my flux through the right side now what is my flux to the left side well the value of intensity vector would be E of x, y, z right this is x plus delta x and this is just x on the left side I'm talking about left side what's important is these two vectors are almost the same they differ only a little bit but the normal to a surface is completely opposite here normal goes this way I probably didn't mention it normal should go outside of the surface so this is the closed surface normal goes here to the right and on the left one it goes to the left opposite and whenever I'm multiplying using this particular formula this vector is this way but normal is that way so if I'm talking about projection it will be the same by magnitude but it will be with a minus sign and the area would be exactly the same the left area is exactly the same so this is the area but the flux should be using the amount of intensity with a minus sign because the area is oriented opposite to this one they're two opposites so if I'm talking about flux obviously this goes this way and this goes that way from the central it goes outside that's why they're going to different direction that's why we have to subtract them to know what's exactly the total flux so the total flux in two surfaces right and left would be difference between these two guys which is equal to let me divide and multiply by delta x it would be x plus delta x yz minus e of x y z divided by delta x and multiplied by delta x delta y and delta z so I'm just multiplying divided by delta x with this difference and combine together this intensity now what is this I mean to those who are very much familiar with calculus and I presume that all my listeners are familiar with calculus whenever the delta x goes to zero we're talking about this thing infinitesimally small right this thing if you fix y and z that would be a derivative by x so it's called partial derivative because y and z so the total result this would be derivative of e x y z by dx times dx times dy times dz well I actually should put z differential then rather than delta so we're talking about all the delta coming down to zero so this is actually whenever this parallel people are small enough this is what I have from right and left flux okay now what will I have front and back same thing I will have de of x y z dy exactly the same thing so instead of x plus delta x I would have y plus delta y minus minus y and it would be the same thing so that would be there and finally the same thing for z by dz great so for every parallel people I will have this as a total flux which goes through this parallel people and finally I have to I have to summarize it right now you remember that my that my initial talk about sphere I was talking about the total flux through a sphere is equal to the charge inside flux was equal to charge inside divided by epsilon right okay now and I was talking that it doesn't really depend on the shape whether it's a sphere or a cube or whatever it's a parallel people so some of this the total flux should be equal to this and this is in this particular case if this is a value the volume is equal by the way delta x times delta y times delta z or dx dy dz and I have a density rule that what I would like to say is that the total result of their sound would be equal to total charge and total charge is equal to raw times dx dy dz divided by epsilon right now obviously dx dy dz will cancel out here and I have a very important formula almost finished with this important formula is d e of x y z put dy sorry put dx first plus d e partial derivative by y plus partial derivative dz is equal to raw divided by epsilon nice nice I will make it even nice now by the way if you are not familiar with partial derivatives and actually it's practically the same thing as plane derivatives with only one argument of multiple argument functions so this is function of three arguments but I'm differentiating only by one basically keeping y and z constant that's why it becomes basically partial derivative now but smart mathematicians or physicists actually decided to do well they have decided to basically abuse some notation they have said okay let's introduce a vector a pseudo vector it's not a vector actually nabla which is d by dx d by dy d by dz now these are not vectors but they look like a vector I mean it's basically a combination of three operators written as a vector now this is just notation so nabla is not a vector and it's not an operator it's just three operators together combined by a couple of commas and curly brackets so it's not a big deal but we can treat it as a vector whenever we do some operations for example what is nabla scalar product with vector e x, y, z now vector x, y, z is basically a combination of e, x x, y, z e, y x, y, z e, z x, y, z so it's three components and the scalar product is basically a multiplying by individual components and sum them together so this is exactly equal to d by dx so x, y, z now I can put x here but it doesn't really matter because we are talking about differentiating only by x so it would be the same plus d by dy e plus d by dz e now using this particular notation you can put nabla times e equals rho divided by x now this is a short notation for this now it's nothing but changing of the notation there is nothing more than that but it looks kind of nice so this is kind of a scalar product of a pseudo vector and the vector okay so basically that's it and this is something which is basically the form of the first Maxwell equation and I was trying to basically explain it again I did not prove it like all the different forms, shapes, etc however I think you have a feeling of what exactly the flux is and what's important is the total flux through any closed surface is basically can be on differential level on a very very small surface is equal to density of electric charge inside divided by epsilon well obviously something like a point charge if you take well what's the density if you have a single point charge in a sphere well in this particular point where the charge is it would be infinite so it's an abstraction but charges are not really charges are always spread around and we can always talk about density of the charge means charge divided by volume within which this charge is located okay in any case that's not something which you can learn in like university where you have a very rigorous presentation of this this is just to give you a feel of what the first Maxwell equation is now read the lecture and good luck thank you


Hello, everyone, and welcome to the Circuit Python Weekly Meeting for July 18th, 2022. This is the time of the week that we get together to talk about all things Circuit Python. I'm Catney, and I'm sponsored by Circuit Python, or sponsored by Circuit Python, sponsored by Adafruit to work on Circuit Python. Circuit Python is a version of Python designed to run on tiny computers called microcontrollers. Development is primarily sponsored by Adafruit, so if you wish to support them and Circuit Python, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join any time by going to adafru.it-discord. We hold the meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern, 11 a.m. Pacific, except when it coincides with a U.S. holiday. In the note stock, there's a link to a calendar you can view online or add to your favorite calendar app. We also send notifications about upcoming meetings via Discord. So if you'd like to receive these notifications, ask us to add you to the Circuit Python Easter's Discord role. There is a notes document to accompany the meeting and recording. The notes document contains time stamps to go along with the video. So you can use it to skip around and view only the parts of the video that interest you most. The meeting tends to run 60-90 minutes, so this gives you the option to skip around. For each meeting, we post a link to the next meeting's notes document, to the Circuit Python Dev Channel on Discord, and so check the pin messages to find the latest note stocks so you can add your notes for the following meeting. If you wish to participate but cannot attend, you can still leave hug reports and status updates in the document for us to read during the meeting. This meeting is held in five parts. The first part is community news, which is a look at all things Circuit Python and Python on hardware in the community. It's a preview of our Python on microcontrollers newsletter. The second part is state of Circuit Python, libraries, and Blinka. This is a statistical overview of the entire project, a chance to look at the project by the numbers separate from what we're all up to. Third is hug reports, which is an opportunity to highlight the good things folks are doing, taking the time to recognize awesome folks in our community. Fourth is status updates, which is an opportunity to sync up on what we've been up to. Take a couple minutes and talk about what you've been doing over the last week since the last meeting and what you'll be up to over the next week until the next meeting. And finally, in the weeds. In the weeds is an opportunity for more long foreign discussions. These discussions can come out of status updates or be something you've identified ahead of time is too long for status updates. And that is how the meeting will go. So I will get started with community news. First up, the pi five risk five ASIC project, which is probably pronounced ASIC. The pi five project is creating community driven risk five based microcontroller with the ability to easily support Circuit Python and MicroPython. They've been discussing progress on hackster.io. The team is fundraising to pay for an engineering team to work on the pi five ASIC, which there is a link there to that project as well. Raspberry Pi staff make an RP2040 lightsabers. The crew at Raspberry Pi Towers made Star Wars lightsabers using Adafruit RP2040 boards with the prop maker feather wing, Circuit Python and 3D printing. The design is based on the Adafruit tutorial prop maker lightsaber and changing out the feather M4 express with the RP2040 based feather. Adafruit is working on new Raspberry Pi Pico add-on board boards called Bells. Adafruit is working on new add-on boards for the Raspberry Pi Pico form factor. Quote, whenever we start making add-ons, we always do a proto board first, so it is that this is the Adafruit's first design for the Raspberry Pico add-on. It's the simplest and cheapest to start. With a wide variety of names for add-on boards, shields, capes, feather wings, hats, gizmos, et cetera, Adafruit wanted to name another line of their boards. As the new Pico W is being dubbed Pi Cow by the community, cow-themed ideas are being used. Adafruit, after consideration, announced on their Ask an Engineer show top secret segment, their add-on boards will be called Bells, like Cow Bells. And there's a link to that top secret as well. In news from around the web, Pico Touch HMI is a Raspberry Pi Pico carrier for human machine interface projects. A single board design hosting the Raspberry Pi Pico as a surface mount module. The Pico Touch HMI packs a keypad, screen, speaker, and more with CircuitPython library support. Next up, simulating Raspberry Pi Pico running CircuitPython with some virtual NeoPixels completely in the browser. And there's a link to Twitter for that. Dr. Patrick Kavanaugh, EuroPython 2022, discussing the Pythonic genius behind the James Webb telescope. And there's a link to Twitter for that as well. And finally, a desktop web telescope image viewer with Raspberry Pi Zero displaying and display using CircuitPython. And there's a link to Twitter for that as well. So this has been a preview of our CircuitPython weekly newsletter, which is a CircuitPython community run newsletter emailed every Tuesday. The completed archives are available on AdafruitDaily.com. And it highlights the latest Python on hardware related news from around the web, including CircuitPython, Python, and MicroPython developments. To contribute your own news or project, you can edit next week's draft on GitHub and submit a pull request. Or you can tag a tweet with CircuitPython on Twitter or email cpnews at adafruit.com. And that is community news. Next up is the state of CircuitPython, the libraries, and Blinka. So this is where we look at the whole project by the numbers. It's a statistical overview to give us an idea of the health of the project. And we will first discuss the whole thing overall, and then we'll discuss the core, the libraries, and Blinka separately. So first up, overall, we had 32 pull requests merged from 19 different authors. And thank you to Jeff for highlighting some new names for me. We have Pandian MN, John R. BNSN, Nicholas F. F., and Luis Vitao. And we had nine reviewers there for those 19 authors. In terms of issues, we had 19 issues closed by seven people, and 37 opened by 18 people. So we are net up, but that is good to see that there are so many people involved with those issues. And with that, I will turn it over to Jeff to talk about the core. Hello. So the core is the part of Circle Python that's written in the C language that kind of powers everything. And within the core, we had 18 pull requests merged by 12 authors. It's really fun to have a full dozen. So aside from those people within Adafruit, thanks to those outside, such as Berkdahl and Todbot, Nathan Y3G, and the unfamiliar name to me, Zhuhau. And we had four reviewers, me, Dan, as Patrick W. and Scott. Thank you to all of them and thanks to all of the unofficial reviewers that this list doesn't acknowledge who comment on issues or pull requests as we work on them. In terms of pull requests, we do have 17 open pull requests, spanning zero to 305 days open. And as usual, we just need to work a little harder to keep on top of those, but this number has been pretty static for a while. Issues-wise, we closed 13 issues and nine people opened 14 new issues, leaving us net up one for a total of 547 open issues. We mostly track things by milestones, which shows what Adafruit prioritizes for stable releases of Circle Python. So for 73x, we have three open issues that we'd like to put in our next bug fix release. And for 800, we've got 48 open issues, which can represent bugs or new features that we'd like before we go out with a release candidate or a stable release of version 8. We've also got a number of issues marked as long term, and that means that Adafruit isn't prioritizing working on them right now, but we always welcome community work on any of those 472 open issues. So that gives you an idea of where we're concentrating our work, which is mostly on getting version 8 ready. So otherwise, in a more narrative sense, the exciting new stuff is Scott's work on the Web workflow. The upload and download of files has been pretty stable, depending on the board that you use, and he recently added WebSocket so you can also access the REPL this way. And it is really slick, and we'd appreciate it if you could check that out. And then some work from Dan, which I finished the last little bits of while he was out last week, our support for the ESP32 original version microcontroller. And that has also merged into version 8, and we are at the point where we would love people to try it out, kick the tires, and add support for the huge variety of ESP32 boards that exist out there in the wild. I will be adding, just getting a little ahead of myself, support for a non-PSRAM ESP32 module this week. And then it should be a relatively easy process for anybody who's interested to create a board definition. We may be doing some internally, but we want to have those two PSRAM and non-PSRAM versions available. And then, yeah, get testing by the community on all of those so that we can make the ESP32 a great part of CircuitPython version 8. And that's what we've got in the core. So, back to you, Katny. Thanks so much, Jeff. Next up is the libraries. So, this section covers all of the Adafruit CircuitPython libraries, which is everything that starts with Adafruit underscore, CircuitPython underscore, as well as a few extras, such as the community bundle and the cookie cutter. So, total we had 13 pull requests merged from nine different authors and six different reviewers. We had two pull requests, three pull requests merged over two weeks. One of them was 105 days old, so I'm really excited to see that we're still taking care of the older PRs. And that leaves us with 27 open pull requests. We had six issues closed by four people and 21 opened by eight people, leaving us with 666 open issues. Achievement unlocked. 176 of those are labeled first issue. If you're interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more, including an actual list of all the open issues and all the open PRs. If you're interested in reviewing, check out the open PRs. If you have the hardware test it, if you don't, check the code, see what it looks like to get started. And once you are comfortable with that, we can talk about leveling you up to the review team. In terms of providing code or documentation, check out the list of open issues. If you're new to everything, good first issue is a great place to start. We have a guide on contributing to CircuitPython using github and we're always available on discord to help. So if you, like I said, if you're interested, feel free to ask any questions and hopefully find something that interests you. In terms of library updates in the last seven days, we have two new libraries. The PCF 8574 and the MMC 56X3. We also have a number of updated libraries that are in the note stock, but I will not read them off. And that's where we are with the libraries. So with that, I will turn it over to talk about Blinka. Hello. Hi. Blinka is our CircuitPython compatibility layer for MicroPython Raspberry Pi and other single board computers. We had one pull request merged by one author and one reviewer. There are four open pull requests still amongst all the different repositories and there were zero closed issues and two open by two people. And that leaves a net of 79 open issues. There were 7,612 PiWheels downloads in the last month and we are currently supporting 89 boards. Thank you, Melissa. Yeah. Next up is HuggerPorts. HuggerPorts is an opportunity to call out folks for doing good things. We like to take time each week to highlight the awesome folks in our community and all of the excellent things that folks surrounding us do. And it is held as a round robin. I will get started and then if folks are text only or lurking, I will read off their notes and if they are around, I will call on them to read their notes themselves. So, first up, HuggerPorts to Justin, one of our internal developers for adding the CircuitPython day banner to CircuitPython.org. To Brent and Lauren for fixing a bug and whipper snapper regarding push button results. To Eva for picking up internal testing along with miscellaneous when needed. To Rose for checking out and responding to an LED animation PR. To Naradok for putting in the LED animation PR. To Tektrick for helping me out with some things and a very nice chat. To everyone interested in being involved in CircuitPython day. I know there is a lot of nebulous being involved at the moment but I will be getting back to you everybody that I have spoken to to find out what part of it they are interested in doing. HuggerPorts to Ann for updating the CircuitPython day blog post which is what the banner on CircuitPython.org links to to Liz and Paul Cutler for agreeing to host streams on CircuitPython day. To Jeff for a nice chat about CircuitPython day and some good suggestions. And a group hug. Next I have notes from Charles who says group hug. And next up is Dan. Thank you. I was on vacation. I'm back. Thanks to Jeff for taking over the ESP32 PR which while I was away he fixed the remaining things tricky things having to do with PS RAM. So thanks. Okay. Great. Next up is Toshibu. Can you hear me? I can. Excellent. So I'd like to thank Paul Cutler for doing the CircuitPython show. It's a very nice way to hear about CircuitPython community. Thank you. Thank you. Next up is FomiGuy. Thanks Kani. This week I have HuggerPorts for Jeff and Dan for working on the ESP32 support. Super exciting to see support come into those devices. And then 2KMatch for starting the effort on dot-clock displays and inviting me to help out with a ESP32 S3 based tablet using them. Thanks. Nice. All right. Next up is Jeff. All right. Well I have a hug right back at Dan for leaving me an interesting puzzle for ESP32 and laying so much excellent ground work to you, Kani, for getting started on the CircuitPython day planning to Scott for tweaking the Dyno moderation to work better and also you for working on it further, Kani. And Eva this may be news to you but you're taking up some PyPI work that will help CircuitPython and THONI function better together. That's what I got. Yes, that will be news. Next up is Kmatch. Thanks Kani. So a big hug to FomiGuy. Thank you for trying out the CircuitPython hack tablet on your latest two live streams. Particularly thanks for working through Git modules issues. I was sweating that a bit but thanks for getting all sorted out. Next, thanks to Scott for some guidance on two open issues on GitHub for your comments there. And last, thanks to Paul Cutler on the CircuitPython show for inviting me to be a guest. A little bit nerve wracking but thanks for making it a positive experience. Hope it works out okay. Thanks. Great. Next up is Melissa. Hello. First of all I want to give a hug to NeroDoc and Tectric for lots of good PRs and Brent and Lauren for helping out come up with good strategies for how to fix the whippersnapper board merge issues and group hug to everyone else. Excellent. Next up is Paul Cutler. I have a hug report for you Kani including me in the CircuitPython day planning. Thank you. A big thank you to NeroDoc for helping me learn all about display IO over the weekend and a Joppler for his RGB matrix guide and FFT or FFT micro lab learn guides that were super helpful while I was learning about that. And then last to Kevin Matoka for being a guest on the show that episode will be next week. Thanks. Excellent. Next I have some notes. Tammy makes things as a group hug. And Scott has a hug for Retired Wizard for continuing Web workflow testing. FOMIGY for PRs with editing workflow Joppler for reviews and Hweaver666 for offering to help with CSS. And finally I have notes from Tectric who says hug to NeroDoc and Maker Melissa for helping resolve an issue with the portal based library regarding dependencies to Katnie for always helping move my CI related PRs along and to provide context and helpful suggestions to them and a group hug. And that is hug reports. Next up is status updates. Status updates is a chance to sync up on what we've been up to since the last meeting and what we're going to be up to until the next meeting. It will also be held as around Robin similar to how we just did hug reports. So with that I will get started. Last week continued on adding whippersnapper usage pages to applicable board guides received requested CircuitPython Day graphic from Bruce and handed it over to Justin to get it added to the banner on CircuitPython.org continued CircuitPython Day planning I had a short week on my long weekend I submitted my PyOhio talk finished clearing out the basement to entirely to prep for the next meeting. This week more whippersnapper pages, more CircuitPython Day planning and another short week will be until the end of July and this long weekend will be building a room in the basement. So next up is Dan. Okay, thanks. So I was away for a week of vacation while I was away I did read my emails so I didn't come back to a lot of emails I get like three to five hundred emails a day so I'm glad I did that and I've replied to some issues and PRs and I will probably start going back to working on ESP32 SPI issues to begin with. I'll be making a CircuitPython 7.3.2 release soon to fix some issues with MatrixPortable. There are some problems with the frozen libraries that are there and even though we fixed the problems we have old versions of stuff in the first library so I'll be fixing that. So that's a short term plans. Okay. Alright, excellent. Next up is to Shifu. So I just came back from ESP22 and that was a week long conference so on Monday I ran a whole day workshop with CircuitPython with the PewPew devices we had left over from 2019. In 2019 we made a conference battle around CircuitPython so we had a couple hundred of those battles left over now and we used them from the workshop. Through the conference there were also maker tables on the ground floor and we spent some time working on CircuitPython and those PewPews as well. On Friday I had a talk about making video games with CircuitPython and during the spring there were a couple of people interested in CircuitPython, in contributing to CircuitPython itself so I showed them how to build it, how to check out the repository and get the right compiler and so on and hopefully they will also come to the discord to get help when they get stuck and at the end of the conference we actually gave out a couple hundred of the PewPew devices that we have left so hopefully we will have influx of new users after that and also during the conference I brought the robot I am working on the FluffBug and I managed to finally get it to work properly so that's a nice thing it was sitting for two years on my desk doing nothing there is still a lot of room for improvement but I hope that now that I got over this hump it will go faster that's it, thank you very cool sounds like you got a lot done alright next up is FOMI Guy alright thanks Kenny I still have a sighting work being done on the house but we are getting pretty close probably just a day or two so I do apologize if any background noise gets through I got the graphics preparation and other more general sections of the octopus game guide down onto the page this week I will be cleaning up and documenting as well as finishing up the parts of the guide that are more specific to that octopus game I worked on getting a build of CircuitPython that Kmash created getting a specific branch that enables the dot clock display I did get that to build successfully and we got it loaded on the test tablet on the stream this weekend so that was really cool I am going to be making a basic multi touch demo just like touch and it will drag around some color circles or something like that I think just to show the multi touch capability of this device I will be working on some graphics for a new flip clock project for this week I think on like a feather TFT device I started up a new clean branch for the web workflow edit page PR I had some trouble trying to fix some unwanted changes on the old branch I just started fresh and got that resubmitted so that is all cleaned up and then lastly this week I will be working on some examples and learn guide pages for vector IO and bitmap tools and other lesser known and less documented display IO features so that is what I got this week thanks I am totally in support of the new branch way to go I run into that more often than I want to admit it is nice to try to learn it is nice to attempt to recover but sometimes it is easier to start a new one alright next up is Jeff hello so last week I found the one weird bug that was causing memory corruption on the ESP32 port and after that with also some help from Scott we were able to get it merged into the core and did lots of testing on the ESP32 about 80 to 90% of stuff that I tried work and that is kind of a testament to the quality of the ESPIDF as well as Dan's work and I learned about using fauny it is actually quite slick and I can see why people use it it is facility to install modules from PyPI mostly works which is a really awesome thing because it provides a way to get modules onto the ESP32 boards particularly because they don't have the USB mass storage that we are all used to still last week I did a little work on a guide for QMK with the RP2040 I did some pull request reviews and since this was mentioned during the libraries an old cookie cutter PR of mine was updated and merged that was the 105 day old one I think so now cookie cutter works on windows computers which at least the more is really happy about so make sure though that you have the latest cookie cutter because this also takes advantage of some recently added features and recently added as like released in the last two or three months so yeah you can just update cookie cutter through PIP if that if you run into problems so anyway this week I may take a look at more ESP32 issues if Dan asks and I'd like to do a small ESP32 circuit python project I don't really have an idea yet so I'll be thinking about that I wrote here that I'll be actually finishing the QMK guide for RP2040 that that may come late in the week I need a new board that I haven't botched the soldering on so that I can get all the photos that we want I will do PR reviews as I am able and then whatever catches my fancy we talked about a lot of things in the year and two more meeting so I've got a million different ways to go as usual and tune in next week to find out what I actually did thanks Jeff next up is K-Match thanks Katnie so this past week discussed some ideas for collaboration with FOMA guy targeting for circuit python day festivities so I look forward to what we come up with there next is uncircuit python related but electronics related was looking at capabilities for ultra wide band sensing for position and location sensing pretty cool capabilities and then coming in this week I need to get back on my bowler training aid to measure where you bowl your ball on the lane and to do that I want to evaluate the capability of distance sensors particularly with optical time of flight sensor to see if I can measure a bowling ball passing by pretty quickly so we'll see how that goes thanks excellent next up is make Melissa hello I wanted to see last week I updated the whippersnapper get have actions to allow dynamic importing of jason values on a per board basis which made things a lot easier I started working on porting edge impulse for firmware which is the Pico SDK over to some of our rp2040 board variants and got it running on the kb2040 just fine and I had the first board that I added to a circuit python merged in this week I'm working I'm continuing to work with the edge impulse firmware and if there's time we'll get back to working on web workflow changes to code does work and that's where I'm at excellent so next up I think I have notes from Tammy makes things says worked on my matrix portal CICD display project I'm trying to use async.io to do the rest API calls so I'm figuring out how async.io works planning to continue working on this and hopefully get it wrapped up this week next I have some more notes from Scott out on vacation this week back next Monday merged in serial over web socket merged in change to use a task with select to monitor open sockets for activity select blocks until socket is ready and then cues background task the select PR also included a fix where mdns would crash due to a race condition PR pending that allows for reconfiguring the HTTP port and also reconfigures the web workflow on auto reload will continue to chase issue was with it and finally I have notes from tech trick last week tested out a solution for getting Dunder version attribute in libraries loaded to PI PI correctly populated without changing any of the release process or infrastructure and it worked updated read me for the repo that handles installing dependencies for libraries as part of the CI process as well as prepared it to handle installing optional dependencies once they get broken out into a new file as part of the PI project Tom will upgrade submitted PR data bot that improves detection of failing get hub actions run and read the docs build failures and still adds them to circuit python.org's issues looked into various libraries for inspiration and guidance on how to best send bulk data over BLE for the blue fruit connect image transfer feature addition this week PR the Dunder version update to the few repos currently using prior project Tom will implement the new eight about changes for CI and RTD failure detection and work through any bugs PR reviews I still haven't had a chance to follow up on and continue working on my circuit Python I think I got that right I just prototyped the second revision and it works great preparing for cost optimized third revision that is hopefully final and that is status updates thanks to everyone who participated next up is in the weeds in the weeds is an opportunity for more long form discussions that may not fit into status updates please add it while we're discussing other topics or I will assume that there are no more topics but we do have a topic from to shippu which I will turn it over to him to talk about it okay so as I mentioned I made some progress with my robot however the way it's programmed right now is pretty messy and difficult to understand and I'd like to use async.io actually not using async.io itself a library not using async function calls and the main loop from async.io to render and one problem I have is that the movement of the robot contains of several animations that are happening at the same time and that's what async.io is perfect for because I can then have separate talk for each of the animations and then it's very easy to write what those animations are what movements are going to happen however those animations need to be synchronized with each other for instance one of them needs to start when another one is in at a particular stage for instance right in the middle of it and I was wondering if there is some smart way of doing it other than just having a global variable somewhere that I set to true in the first task and then read in the second task to unpause it or things like that maybe someone has some ideas about that or some patterns that they have seen so in the guide I talked about using a shared object which is sort of your global variable idea if there are also ways to trigger there are things called events which I'm not sure how well they work I think somebody used them which is basically just another way of it's kind of a wrapper around that have you seen is there something you've seen in regular Python that works for this no not really this is something I'm exploring this is like the interactive kind of our interactive programs that I have no experience with that's what I mean right when I wrote the guide it was a painful experience of trying to distill the simplest ideas from all the examples I saw because a lot of people like to write really complicated code in async I wouldn't get away from that so I don't have any other suggestions other than say try to find do more research and then if there's something that we are not supporting or is broken we'd be happy to fix it but it would probably be in async IO if you see something in trio or something like that we could also think about some other mechanisms that maybe are not in basic async IO okay thank you I will take a look at events for sure yeah how other things do that thanks okay excellent that was in the weeds and with that it is time to wrap up this has been the circuit python weekly for july 18 2022 thank you to everyone who participated if you want to support adafruit and circuit python and those of us that work on circuit python consider purchasing from adafruit at adafruit.com the video of this meeting will be released on youtube at youtube.com slash adafruit and the podcast will be available on major podcast services it will also be featured in the python for microcontrollers newsletter visit adafruitdaily.com to subscribe the next meeting will be held as usual on monday july 25th 2022 at 2pm eastern 11am pacific this meeting is held on the adafruit discord which you can join at any time by going to adafru.it slash discord to be notified about the meeting and any changes to the time or day you can ask to be added to the circuit python east as role see you all next week thanks everyone


Big data is big money. A recent study by Wikibon pegs the big data market at $5 billion in 2012, and we have that growing at a whopping 58% compound annual growth rate to $50 billion by 2017. Wikibon believes the data is the new source of competitive advantage in the technology business. And all industries are going to be affected by the big data trend. The new reality is that no enterprise can afford to ignore the opportunity to monetize data and information for profit. Improved productivity is another key area of concern from CEOs as is greater customer satisfaction. Even saving lives in healthcare can be affected by big data. Hi, everybody. This is Dave Vellante of Wikibon.org. And today, March 20, 2012, EMC Green Plum made an announcement that contained three key pieces in our view. The first is the general availability of Chorus, the company's collaborative analytic platform for data scientists. Two is an open source business model for Chorus, and three, the acquisition of a company called Pivotal Labs, which is a software development consultancy that pioneered agile development and has developed a number of big data and web-based applications. Now Green Plum, as you may know, is a next generation data warehouse that is a key component of EMC's unified analytic platform, or UAP. UAP is an integrated solution that comprises the Green Plum database, Apache Hadoop, and Chorus. It's essentially big data in a box. The three most important aspects of this announcement in the view of the Wikibon community are, one, it enables a single environment for data scientists to collaborate globally. Two, with Pivotal Labs, EMC is in a better position to offer customers a rapid application development capability for big data apps. Now this is important because big data applications are very hard to develop and there's a real shortage of quality and experienced programmers in this field. Number three, competitively, EMC now has a much more complete big data offering that starts with the Hadoop storage layer and runs all the way through the application development activities. As we've consistently said here at Wikibon, applications are where consumers get the value from technology and more big data apps simply need to be developed for a way more diverse set of problems than customers are used to facing in traditional enterprise IT. These range from more effective advertising, fraud detection, healthcare, financial services, logistics, energy exploration, social media and a host of other use cases, many of which have yet to be discovered. This announcement in our view underscores that enterprise customers need easier integration and more simplified application development tools and services than they can obtain through pure open source roll your own models. Everyone believes that any tool or platform that makes it easier for enterprises to develop, consume and monetize big data will win in today's market. However, this is just table stakes and the real future of big data lies in the game-changing applications that allow enterprises