Oh, here we go. Very boring title slide here. Anyway, I'm going to talk about GNU-CAP, the GNU-Circuit Analysis Package, and I'm also going to talk about how analog simulation works to some extent, to the extent that I can do it within the allotted time. So, let's start out with about, well, all right, here's the outline. So, let's start out with how analog simulation works. All right, analog undergrad circuit theory. Everybody remember the Circuits I course, the DC analysis, where you have nodal analysis? That's the basic idea here. Now, in the case of how a simulator works, you take that principle and you'd apply the principle of superposition to stamp the numbers into a matrix. So, if I have a circuit, let's make a current source here and let's put a resistor here and let's put a resistor here. I have two nodes and let's make this resistor 100 ohms and let's make this R2 and let's make that 50 ohms. I would stamp these. If you're doing a nodal analysis, you'd write the equations. If you're doing a simulation, what we do is we go over the net list and you stamp it in. You apply the principle of superposition. So, R1 goes from 1 to 2, so I would take 1 over 100, put it here in the matrix, 1 over 100, put it here in the matrix, column 1, 2, row 1 and 2, column 1 and 2. So, node 1 corresponds to this spot in the matrix. Node 2, this spot. And the connections between them would be on the off diagonals. And so, this resistor would kind of shove that into the matrix. If you actually look at writing the equations, you'd come up with this. And likewise, the second resistor here, this goes from node 2 to ground. I just add it here. So, here's the matrix that I'd solve to do a DC analysis. And this is basically how it all works. We're starting with undergrad circuit theory and taking a component at a time, take this component, this component, this component, and you add it up to the matrix. And then we solve it. And now, in terms of the status of how many simulators got this far, hey, this is something I'd give as a homework assignment. Nonlinear DC analysis, it gets a little more complicated here. What we do is we'll substitute a linearized equivalent. You didn't give me an eraser. You substitute a linearized equivalent here. And if I have a diode characteristic, you know what a diode looks like. I'll essentially make a resistor that makes the tangent line at my guess at the operating point. And I'll stick that in the matrix. And so I'll have a resistance. And the intercept here, or is it this intercept? I forgot which one it is. It gets put on the right side as a constant. And since I kind of guessed where to put this, I might have guessed wrong. So if I guessed wrong, I'm going to try again and try again and try again until I get it right. And that iteration is called Newton's method. That's the way we do it. And pretty much every simulator does this with a DC analysis. And it's kind of standard. The AC analysis is essentially the same thing except with complex numbers. Where we'll do a, if you have a resistor, it's pretty much the same. If you have a capacitor, you do the j omega c thing. And you get the complex number to stamp into the matrix. And so it's solved for every frequency. And now, in the case of a linear AC analysis, that's pretty much what it is. In the case of a nonlinear circuit, like we have transistors or diodes or something like that in the circuit, you get this operating point. You get the actual slope. Because the slope of this curve is essentially the resistance or the actual value of resistance, capacitance, whatever you're going to use. You get that from the DC analysis, from the iteration of the DC analysis. So it comes as a byproduct of computing the operating point. And so when you have an AC analysis, the AC is a linear analysis. But for a nonlinear circuit, you get the linear approximation at the operating point. Every simulator does this pretty much. Now, a transient analysis, you can think of it as being like DC, but you step it in time. We're going to do a DC analysis, and then we're going to do another DC analysis, and then we're going to do another DC analysis. We just keep moving ahead in time. But in terms of something like capacitors, we'll use a finite difference approach to computing what to put in for capacitors. And what that pretty much means is that if we look at the map here, we have the, well, the definition of a capacitor, I equals CDVDT. Now, I can approximate this by, instead of the actual having the derivative, I'm going to make some approximation of the derivative. And I've chosen here to make a very crude approximation of the derivative, where I just take v0 is the voltage we're solving for, and v1 is the voltage at the previous time point divided by the time we're solving for and the time of the previous time point. So this difference here is the time step. And so I can make that substitution as an approximation of the derivative. And mostly they use a better approximation than this one, but I think, but this is a good one for a classroom because it's simple. This one is called Euler's Method. But so if I take this expression and I rearrange it a little bit, I can get it into this form where I have i equals c over h times v0 minus c over hv1. H is the time step. And this part here is a, let's call it a time-dependent constant, meaning that for this particular time point, it's something I computed from the previous time point. So I can treat it as a constant for now. This part here, this v0 is the voltage I'm solving for, and this c over h, hey, that looks kind of like a resistor. So a capacitor is a resistor in parallel with some kind of a current source or maybe a resistor in series with a voltage source. Take your pick, they're really equivalent. And as I step through in time, I just keep updating this source to represent essentially the initial condition or not really the initial condition but the condition at the previous time step. But this resistor part is what I stamped into the matrix. And now inductors are similar in the sense of how you can essentially substitute a resistor and a source for an inductor at a particular increment. Of course, it gets updated every time step giving you the transient analysis. So anyway, the transient analysis is essentially like DC in the sense that it's real numbers. Stepping in time will use a finite difference approximation. And the number that I've called h there is the step size, the difference between the size of the time step. And there's usually some kind of automatic control over the step size.  There is a difference in quality of how well the various ones work. This is one of the advantages of GNU cap over the others is that GNU cap, you don't have to give it any clue of what step size to use. It can figure it out. Others, NG spice, you have to give it something to start with and it'll figure something out and it still doesn't always get it right. But Quax tends to be a more steady state stepping that it's fine for small simple circuits but if you give it something tricky it messes up. I mean, just giving you an idea of how the various ones compare here. So anyway, most simulators do this, the quality varies, the flexibility varies. What I mean by the flexibility varies is that some simulators, when you do a transient analysis they always start over at zero and there are some others that, well in GNU cap you can tweak it.  I can tweak it and interact with it more. Enhancements, one of the things that we haven't, one of the enhancements that, well over the basics that just about everything does, if you look at a large circuit these matrices can get very large and so just about all of the simulators that you'll ever work with use some sort of sparse matrix techniques where they only store the active parts because if I have a circuit with a thousand nodes or what I remember my boss for a while was referring to as a small circuit only a hundred thousand nodes you end up with mostly zeros in this matrix and so generally they'll use some sort of sparse matrix techniques to minimize the storage and so that you don't have to operate on all those zeros. Another enhancement that something specific to GNU-CAP is an incremental solver that since a transient analysis is solving the same thing over and over and over now it's not a transient analysis it's not just solving for every time step but remember it's non-linear so it's also iterating on every time step so you might end up with let's say on the average maybe five solutions per time step and so that's a lot of solutions one thing that GNU-CAP does that the others don't do actually this is the original fast spice the original spice accurate fast spice is that GNU-CAP has an incremental solver so that it doesn't actually solve the whole matrix every time it'll just solve pieces of it in terms of time step control there's a number of things that they look at to determine what time stepping to use almost all of them use use something called truncation error as a means of time step control so remember when I said that we're going to make this approximation that a capacitor is like a resistor and a source that is an approximation and if you want accuracy you've got to make it small enough that the error that's introduced by this approximation is small and so the error that you get from this approximation they call that truncation error and so just about everything uses that as part of the basis for time stepping time step control and other methods that some simulators use one thing that GNU-CAP uses and also the cadence simulator specter uses is that the time step is controlled for curve smoothness so that if you have a let's say essentially how you would control an interpolation algorithm so that the time step is controlled based on the idea that hey assume I want to know the voltage halfway between these two time steps I didn't calculate it but I want to know what it is then anyway how accurate is that and there's a way that you can get a bound on how accurate that is by taking the next derivative and anyway GNU-CAP does that specter does that SPICE does not and it'll tend to give you a smoother curve another thing that some of them use for doing time step control is discrete events or what Verilog A might call cross events that is if I have a voltage cross is a certain point the time it crosses is accuracy controlled and GNU-CAP does that SPICE does not and there are very few simulators that actually do that and it makes a big difference in speed and accuracy if you're doing switching circuits alright S parameter simulation this is one of the big points about quarks one of the things that makes quarks great because it does that and most SPICEs don't and GNU-CAP does not it's kind of like AC analysis but it's based on power it's a linear analysis like AC but it's based on the ideas that you have two port blocks that you give the S parameters of the blocks and it makes a calculation based on that and it's used by RF designers mostly and quarks has it I think Zeiss has it GNU-CAP and NG-SPICE don't we're working on it another type of analysis you might see is something called harmonic balance another thing that GNU-CAP does not have it's a steady state non-linear basically you do the you figure out the non-linear parameters like you would in a transient analysis you figure out the non-linear characteristics at an operating point but not just the first derivative you figure several of the derivatives of it at an operating point and then you do something like an AC analysis that computes harmonics not just the fundamental frequency that you're looking at but also harmonics and it gives you an idea of the distortion in the circuit it's kind of an approximation of the distortion in the sense that it gives you well, harmonic distortion and so you don't get the effect of let's say clipping distortion you get the effects of distortion when you're in the proper operating region of the devices but you don't get the effects of the distortion that you get when you traverse into different regions but it's used a lot by RF designers digital simulation works completely different in terms of the principles of it we don't look at nodal analysis at all we don't look at voltages at all and in terms of time stepping time stepping is completely variable there is no notion of any kind of steady state but rather it's event driven and what I mean by event driven is something happens you compute and something happens might mean that I have an input that changes state and I compute all right what's the effect of this input that changes state and I'm going to queue it up I'm going to say well this is going to be the effect but it's not going to happen right away because in digital devices there's always a time delay going through a device so you don't have any simultaneous equations to solve at all in a digital simulation basically you just say all right here's a change that occurred what does that do and I look at the devices that were directly impacted by those changes and I calculate them and I queue that up and say that well in 15 nanoseconds I'm going to change that and so I got another so I make a note saying that at 15 nanoseconds this note is going to change state well it's going to have some effects too so it's going to propagate and so that's the way digital simulation works and since it's event driven since it only makes calculations when something is changing it only calculates the devices that change it runs a lot faster than analog simulation a lot faster and it's how long it takes to run depends not at all on the size of the circuit but it depends on the number of transactions so because if you have a big part of your circuit that isn't active that nothing is changing nothing is happening the simulator doesn't have any work to do mixed signal analog and digital together you know some people will put gates in their analog library gates and flip flops and stuff in their analog library they'll make a model of it that puts out voltages and stuff and they say hey we have mixed mode that's not so mixed signal simulation means that you have a simulator that actually does the digital that I was just talking about and the analog that I was talking about before that together and it makes a conversion between them and so the conversions between them between the analog and digital one type of conversion is you have analog to digital and digital to analog that is the analog to digital means hey we have voltages we need logic states and the digital to analog means we have logic states we need voltages and so in mixed signal simulation it means you have some mechanism for making those those changes that interface and depending on how sophisticated you want to get some of them will do it automatically some of them you make interface devices and stuff like that GNU CAP actually does it automatically which GNU CAP has always done it automatically and it's something that as far as I know very few others actually handle that part automatically another issue that comes up is the time synchronization and that is since the digital is only actually active at certain times you synchronizing the analog and digital parts can get kind of tricky and but this is one of those things one of those areas that GNU CAP is actually at the lead in the sense that it actually had this feature before even the commercial ones had it because it was a research project in the area which is how the project kind of originated but anyway on the mixed signal I really have to point out just having gates in the library that's not real mixed signal even though a lot of people claim it is Fourier analysis is another type of analysis you'll find in a simulation and basically what this means is that we're going to run a transient analysis to get the results in the time domain and then we'll do a Fourier transform on the results so that you see frequency data and it's good for measuring distortion things like that and so and well Spice has it it's pretty common to have it but the quality of it varies a lot including how useful it is and a lot of what really affects the quality of it is how good your time step control is in the transient analysis because if the time step control and the transient analysis is poor you're going to get noise in the transient analysis and the noise is going to show up big time when you do the Fourier transform of the noisy signal and so this is an area where GNU caps better time step control actually results in a better Fourier analysis because actually well for one another impact on the time step control is not just not just what the signal is doing but what do you want and so if we're going to do if we're going to do a Fourier analysis and let's say I have a let's say I want to know the distortion of an oscillator there's a good one and I have a fundamental frequency of let's say it's one kilohertz and I want to measure up to the I want to measure the harmonics up to 10 kilohertz well okay Nyquist sampling theory I need to run the sampling rate at 20 kilohertz in order to get that accuracy regardless of anything else so that means that I'm going to be running a time stepping a time stepping frequency of 20 kilohertz 1 over 20k is a time step minimum time step just to get the accuracy that I need for the Fourier analysis because I might get a pretty looking picture if I don't do that but but if I don't have that time stepping in the transient I'm just not going to get that accuracy I can print out the numbers but you don't necessarily believe them and so knowing what you're going to do with a transient analysis that is in this case the Fourier analysis is something you have to feed back to the transient analysis to influence the time steps so that you get good results because if you're going to do a Fourier analysis you want it to actually do the time stepping at the points you want the points the Fourier transform wants to have if you do it as a completely wobbly time step where the time step can essentially float and then you interpolate or re-sample to get the time steps your Fourier transform wants you're going to lose accuracy periodic steady state is actually a variant on well it could be a variant on harmonic balance or it could be a variant on the Fourier analysis the popular method that you see a lot is actually something they call a shooting method which is based on the transient analysis and the Fourier analysis and as far as the status who has it, NG SPICE actually has a command to do this GNU CAP doesn't have a command built in but you can write a script to do it and the GNU CAP in terms of accuracy I don't I haven't had good luck in getting good accuracy out of NG SPICE maybe let's say 40 or 50 dB but I've gotten 100 dB in GNU CAP in terms of the noise floor, the accuracy and one thing about it is to give you an idea that one of the if you look at the transient analysis one of the parameters that you get to tweak on a simulator is something called rail tall if you've ever worked with SPICE and had to tweak it you might have noticed the relative tolerance and typically out of the box you'll look at the number for rail tall this relative tolerance that is between iterations how close iterations have to be to be accepted for convergence and they'll give you a number for rail tall let's say the number might be .001 one tenth of one percent you think tenth of a percent that's good well tenth of a percent that's 60 dB so if you're going to use a rail tall of .001 the most accurate noise floor is going to be in the 4A analysis is 60 dB just based on that alone if you want 100 dB you're going to have to use a rail tall tight enough to give you 100 dB noise floor and now of course when I say the .001 to give you 60 dB that's the noise just from that one source of noise you're not going to really get that good so anyway the idea of the shooting method of periodic steady state is that there's a number of steps in this it's essentially a transient analysis basically you start up a transient analysis and you let it run for a while that is you want to let it run long enough for the thing you're simulating to reach steady state because if you're trying to do something like an oscillator or something like that you turn on an oscillator and it's going to take a while for the oscillation to start for it to build up and for its own limiting to come into account so you actually get to steady state so you let your transient analysis run as whatever the thing is you're simulating you reach a steady state and then once you're there you give it a shot you say hey I think the consistency of this oscillator is one kilohertz it's seven kilohertz but I'm not going to tell anybody but I think it's one kilohertz so I'll start out and run it for a while I'll run it with the parameters that I think are right for one kilohertz and then it says no it's not one kilohertz it's six and a half kilohertz and so you're going to go through a few cycles of that so there's an extra iteration process where you get the length of transient with the time stepping to get something and eventually you'll home in on the length of time to run the time stepping to run so that you're going to get so that you'll get something at the frequency that you really care so you're going to have to you try it a few times that's what they call shooting and then once you've reached a point where it makes sense then you tighten up the tolerance and actually make a run at those settings to get your parameters for the Fourier transform that's pretty much what a periodic state entails complex models so far everything I've talked about has been something I can do with resistors and capacitors the complex models are really resistors and capacitors you take basically you take your device and you make a sub-circuit of it resistors and capacitors, some diodes non-linear stuff, well diodes really just a resistor and you make up your equivalent circuit and you figure out the formulas, the non-linear formulas to plug in and so now you have a model and years ago people would code these models in Fortran or C or whatever but lately lately what most people try to do is avoid that and code the models the best thing to use now really is Verilog A for writing your model code and so for that we'll use a model compiler and ADMS is a free open source model compiler that will generate models for just about all of the simulators something that's common with them all GNU-CAP model gen actually is the old GNU-CAP model compiler which I'm trying to update to make it actually work with Verilog see what happened there is that the GNU-CAP model compiler actually predated ADMS but when Laurent was working on the ADMS I figured that hey I got other things to do if he's working on that go ahead go for it I'll move on to something else and so I put mine on the side and then realize after a while Laurent says I'm through with this I want to move on and besides that it didn't do what I wanted to anyway I guess I have to pick it up again so that is once again become a work in progress okay what what is there about GNU-CAP the basis of GNU-CAP is that it was essentially a fast spice mix mode simulator it kind of came out of my PhD research but the basis is spice like it's based on the same theory that runs spice with enhancements to do mixed signal including smart nodes so that it can actually handle the conversion between digital and analog effectively and then also there is there are changes to the transient analysis algorithms essentially the original fast spice including including the use of cues and a fast incremental solver what is there about GNU-CAP that is unique is the use of plugins it was kind of a shot in the dark at the time when I first started doing it but having done it it's something that every free software project should do this is convert as much as possible to plugins and because it's a way of somebody says hey I have this improvement I have a new device model that you should include in your simulator I look at the code it sucks but still there is some good stuff in there and I want to be able to make it available so here is a trade off do I say no I make it not available when it really is worth making available or do I include this code that to be honest isn't very good and it's going to be a maintenance headache well the idea with plugins is that I don't have to make that choice and so GNU-CAP actually lives the actual repository the development of GNU-CAP is on Savannah it's on the GNU site but if you go to GitHub you can just get your account on GitHub you can develop a plugin for it anybody can do this and the plugins are just like native in terms of how they work in fact all of the all of the device models and simulation algorithms and a lot of stuff in GNU-CAP is all plugins even what appears to be native is all plugins it's one of the rules is that anything that can be a plugin must be a plugin and the project practices what it preaches in the sense that all of these devices are all plugins and another thing about the plugins that's neat is that you can have wrappers to be able to use foreign as plugins and one of the neat wrappers that GNU-CAP has is one that lets it use spice models as plugins and by spice models it can use the old Berkeley spice models it can use NG spice models as plugins don't have to modify them at all just kind of wrap it and it works yeah that's what I was just talking about plugin is basically shared object model with a dispatcher which is a lookup method and so so you can have as many of these plugins as you want there's no code in the core that says you're going to have a plugin of a particular type it's just so you can load it up with models so device models are all plugins the simulation methods are all plugins all of the commands are plugins the file formats that it reads are all plugins which means that it has a choice of file formats it will read spice format specter format and verilog out of the box and Felix is working on the Quix format and we have one another plugin that reads a g-schem schematic file directly and these can all be loaded and unloaded by the user interactively and if you have it installed in like an academic lab condition you can let's say the system administrator installs the basic a new cap but anybody who's using it can make whatever plugins essentially make your own custom version but they use a standard DL open interface and it's basically C++ derived classes is essentially how it works and I'm not going to I could go into some detail here but I think I'm going to save this one another thing that makes it work is something that I call the dispatcher that is when you load a plugin just loading it registers it with a dispatcher so that it knows that it's there like I might load a plugin the plugin might be a resistor model and it registers it saying this is a resistor and I make another one that says this is a diode model and it registers it and that's done when you load it and so that's basically a C++ map where associative array type of thing look up the name and it gives you a pointer to it and so in terms of devices you have a essentially a single instance as a plugin and so you can locate devices to build up a netlist it clones it makes copies of it some more code the plugin type some of the things that can be made into plugins devices commands I was just talking about parameter functions for the like you can have inspice.param with some expression those functions can all be plugins measurement functions and behavioral modeling languages and outputs it says here but we don't really have outputs completely working because it's hard almost there and then I already mentioned about wrappers like the spice wrapper that wraps a spice model so that GnuCap can use the C models written for spice as if they were native more wrapper code some of the work in progress in GnuCap one of the hot items going on right now is we call this the GnuXator project the GnuXator project is essentially a merger of the GnuCap and Quixator Quix simulator essentially hoping to bring because when I look at the two side by side there's good stuff either way and both of them can use what the other one has so we're trying to bring them together so that GnuCap would get the RF oriented analysis and models that Quix has and Quix could get the high performance of GnuCap and also the plugins and things like that that's one hot topic these going on another one is updating the GnuCap model compiler to take the verilog input language so that it can be a replacement for ADMS and one of the reasons for that is performance because we're not getting the performance that we like out of ADMS and then output plugins and another thing about the plugins is I'm calling them just in time plugins just in time means that you have something in your command file that might generate something and say hey compile this and so something like let's say the the spice B behavioral source in spice it's interpreted in GnuCap it would feed this off to a compiler which would compile it and give you C++ code back which would run a lot faster but anyway that's pretty much what I have so questions yeah he says we do frequency and main analysis and wants to know if we do wavelet analysis at this point I think the answer is no I don't I'm not really sure but I'm not really sure what you're asking about I don't do anything consciously about it but I'm not sure what it would take to actually do it any other questions yeah the operating flow look like with GnuCap in terms of front ends and back ends that's actually one of the reasons for wanting to hook up with Quix because Quix has that nice user interface that makes it interactive we don't have anything like that usually usually what I would do is maybe use some schematic program that would export either export a spice net list or a verilog net list I'm trying to convince the schematic programs that they really need to be able to export a verilog net list not just spice so I might use something like that to generate a net list and then mess with it by hand and as far as the output I've used that's one of the things that's not real nice is the interface to some of the output viewers but it generates reasonably readable files that you take that and you pipe it to some of the tools there's one called GA I think it is that I've used that's a waveform viewer and I've used that one quite a bit to view the output of GnuCap there used to be something called G wave which hasn't been maintained GA is kind of somebody else essentially picked it up and it's maintaining something and that's what I've been using but this is one of the things that's leading to the working with the Quax project to improve that side Yes It's a niche application but some people modeling musical instruments in real time rely on that and the question was about have I considered modeling the circuits in a symbolic way and the answer is considered yes actually doing something that's another story there's a matter of the time it takes to do it but that kind of brings up one of the reasons for plugins is that it gives you an opportunity to play with it and make it available but also I'm not so convinced that it would necessarily make things faster but I have done a little bit of work with symbolic analysis and which actually brings up another related topic and that is the matrix solver in GnuCap is capable of solving symbolic matrices it's not just limited to true numerics it's a template class so that it'll solve it using anything that you can provide the right operators for and that actually makes it kind of neat for doing symbolic analysis I've looked into it but never carried it through never had the time to really follow through on it Yes Could you say something about system C that you run it? I don't run it but you know it's one of those things oh he asked about system C and I don't run it but it's something that I've looked at and I said wow this looks neat we need to support this and I look at it and say well this is not going to be difficult to support at all but I just never had the time to do it in fact actually one thing that I've considered again not had the time to do it is that system C mostly takes the code and it just what it would mean to support it is a wrapper actually which it looks like it would be actually a lot simpler than the spice wrapper and so given the wrapper hey it look I could make it so it runs system C native well if that's the case we get it to that point and now here's a way of supporting verilog in VHDL as you take verilog and convert it to system C and so I it actually looks pretty attractive but I haven't had the time to follow through with it and actually do it yeah yeah more in terms of the development side how much of the development is done by you and how much how large of a community is there contributing to it it's a fairly small oh he asked how much of the development is done by me and how large of a community there is it's actually smaller than I had hoped actually lately it seems that Felix has been doing most of the development because I've been wrapped up on other stuff but it so there's somewhat of a community that's doing development not as much as I would hope and not as much as I would hope the plugins would have brought on I I see stuff popping up on github that I that looks kind of interesting but so there is some but do you want to join the development community could use some help is the simulator multi-threaded now the answer to that one is the short answer to that one is no a more complete answer to that one is that the answer is no but the code is all re-entrant so that it's just a matter of specking out where to multi-threaded it should not be hard to multi-thread to make it multi-threaded but I haven't had the time to do it that's one one part of answering that another point related to the answer to that question is that even single-threaded the benchmarks that I've made it beats all the multi-threaded ones anyway it beats all the multi-threaded ones using multi-threads with canoe cap only having a single thread and canoe cap still runs faster and so so I I question sometimes how much it would actually accomplish answer your question anything else yes can you speak up a bit is it possible to do multi-domain simulation I'm not really sure what you mean by that um I'm not it does it does have built in conversion between analog and digital in that sense and it of course has the plugins which should make it at least possible to add that now in terms of multi-domain if you're thinking of something like the different disciplines in verilog that's really kind of a cosmetic thing um I'm not really sure how to answer that actually all right yes realistically model right the question is in the digital to analog conversion how are the digital devices modeled and the answer to that is that as of right now it's fairly simple essentially voltage source with resistance type of model with a parameterizable waveform in terms of what can be done though is if you look at verilog how that is done is defined in verilog AMS is something they call a connect module and one of the one bit of work that's a bit lagging because I've had pressure to do other things is to make the connect module itself be a plugin and if the connect module itself thinking of that as a plugin you could write the code to do anything you want but in terms of what's actually built in I mean what actually comes with it is is pretty much the is a fairly simple model oh yeah yeah and yeah that's true and one thing that Canoecap does that's actually beyond the verilog spec is that it can actually the architecture is actually designed around the VHDL concept of separate entity architecture where it can have multiple architectures for an entity and it does have the provision for switching between architectures on the fly which can kind of handle some of that stuff but that's something that really it's something that I was working on pretty seriously a bunch of years ago and it kind of got dropped kind of got pushed aside alright


Now, clashes broke out in Bogota after thousands of Colombians took to the street on Saturday for international work as they marches and protests against the government tax reform proposal. In the fourth day of demonstrations that have resulted in at least six deaths, unions and other groups kicked off marches on Wednesday that demanded government of President Ivan Duque withdraw their proposal, which originally leveled sales tax in public services and some food. Isolated vandalism, clashes between police and protesters and drug blockade occurred in several cities on Saturday and riot police were deployed in the capital. Now, Saturday's protests took place despite an announcement by Duque late on Friday that the reform will now not include sales tax on food or utilities or an expansion of income tax. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Welcome back to my channel and welcome if you're new here. My name is Jen and I am a certified weight loss and nutrition coach And I am on the WW blue plan So I am here today because it's Saturday with the grocery haul and I have a fan Tastic grocery haul for you tons and tons and tons of new food find tons so I can't wait to share it with you I'm also going to be sharing my meal plan as well as what you will see on Monday for meal prep So lots of good stuff in today's grocery haul if you're new to my channel stick around join the community and subscribe Hit the bell next to it so you're notified when new videos are uploaded We'd love to have you be part of our community over here if you love grocery I'll give this one a big thumbs up It really helps out my channel and shows me that you enjoy these weekly grocery haul and make sure you're checking out The description box down below where you're going to find my nutrition coaching website I would love to help you I can calculate your macros and calories We have one-on-one support group support. So definitely check it out I highly recommend the calorie macro calculation just so you kind of know where you should fall every day Within your calories and points You're also going to find links and discount codes to all of my favorite things and the link to head over and join me on Facebook we would love to have you also join that amazing community It's very loving and supportive and just a great positive force in your life when it comes to WW and Facebook So head over and join us. So let's jump in to this week's super exciting grocery haul So here is this week's grocery haul. I have the motherload of new Food finds some new to me some new to the market. I'm so excited about this week's grocery haul I am stocking up for basically this week and some snacks to take with me when I go to San Diego next Thursday So you'll see that I did buy some snacky portable items just for the plane ride and to help me stay on track when I am there So I have quite the haul for you this week my holiday 90 day Challenge started October 1st as well. So just a couple of days ago So I made sure that I'm setting myself up for success And I'm going to tell you kind of how I'm doing that with some of the items that I purchased So if you're not part of my holiday challenge head on over and join me on Facebook and then from there you can request to join the holiday challenge once you've submitted your payment So definitely check it out over on my Facebook group, but let's jump in to this exciting grocery haul So as always of course, I picked up kombucha So I decided to go ahead and grab a big jar of the gingerberry only because it's a lot more affordable It was 850 for this at my natural grocery store versus 319 per bottle and this is actually enough for three bottles So it's a little bit better price. So I picked that up and then I did grab just some single bottles as well I really love as you know the fall edition of living in gratitude from gts kombucha this I grabbed at trader joe's So this one is apple turmeric carrot and spices and it is delicious This is limited flavor. Actually all three of these are limited This is their 25th anniversary edition of sacred life. This one is delicious And then of course, you guys know, I love the summer version the unity which is cherry coconut and lemongrass So that should help me make it through the next week or so on kombucha And then I saw this at walmart You guys know that I've purchased the suja organic juices in the past because I love them But this is a new one to me. This is ginger love. So it's purified water lemon ginger and pineapple So it's definitely a kind of immunity Boosting juice it is cold pressed and it's only 15 calories for this bottle in zero smart points or I'm counting it as zero points So I grabbed that just to have on hand I may have this before I head on the airplane or something when I'm feeling I need a little bit of an immunity boost So I picked that up at trader joe's I grabbed some black forest ham Just because you know, I like to have lunch meat on hand and also when I do come back From san diego. I am not going to be meal prepping because I will be in california on meal prep day So I definitely need to have some easy things on hand for breakfast and lunches and snacks when I return as well So this will definitely last through my trip if it's still left before I leave So I did grab the black forest ham And then quite a bit of different cheeses. I did grab my free cheese blend I did not get this last week and had to make a grocery store run midweek So I picked that up just some regular string cheese for tories lunches Restock my mozzarella because I ended up using what I've purchased at the store midweek already So I always like to have mozzarella on hand. It melts really nicely and it's low point compared to other full fat cheeses So I grabbed that And then at trader joe's I picked up the yarlsburg reduced fat Swiss cheese I need this for a recipe and then I like to have it on hand as well because it's only one smart point per slice And 50 calories so I picked that up and then at the natural grocer store I grabbed some mints just because I was completely out So these are spry mints and peppermint. These do have xylitol in them, which is very toxic to dogs So make sure if you do pick up xylitol or products with xylitol that you keep it away from your pet So this will be in my purse and then my friend erin over at a salty veteran here on youtube I'll link his channel down below for you Sent me a message and asked if I had seen the clio mini bars now you guys know I love clio bars and I had not seen the mini bars and then walla at walmart today there they were So I picked them up. So thank you erin for telling me about these These are only 60 calories and I believe that they are three points And these little mini bars still have four grams of protein, which is awesome So I picked up the strawberry and it looks like there's eight mini bars per box And then of course I picked up the vanilla as well because this one is literally cheesecake So I grabbed that so I'm excited for those And then one of the main reasons that I went to the natural food store Shocker is for my good culture cottage cheese. This is my favorite and with the holiday challenge I have several goals over the next 90 days and one of them is to meet my protein or exceed my protein goal every day So you're going to see that I picked up some things that will help me do just that So cottage cheese is one of those things. There is 14 grams of protein in half of a cup Which is awesome. And this is my all-time very favorite cottage cheese It's really the only one that I can buy anymore because I don't like anything else So I went ahead and stocked up and picked up three containers. They are good through the 25th of october So lots of time. I needed italian style breadcrumbs for a recipe So I picked those up at walmart and then as I mentioned in my favorites video for some reason I am now a fan of popcorn where I never used to be a fan of popcorn So I decided I was going to up my popcorn game just a bit So I do have some organic heirloom popcorn kernels in my pantry and I have the weight watchers popcorn popper Which I love I picked it up off of their website. So I did grab this theater style Popcorn seasoning spray now doesn't have great ingredients. No, but the popcorn is really good for you And so I figured 90 10 90 10 10 percent foods. I love 90 clean food So I'm going to add some of this to my popcorn It is zero calories zero points and also for my popcorn at walmart. I found this kernel season flavor pack So what is in here is butter white cheddar salt and vinegar and dill pickle flavorings little containers of each I want to say this was less than five dollars These two don't have the best ingredients even though it says made with real ingredients But I think it's going to be really good to add these to my popcorn with that spray And like I said popcorn is a really good way to get in good healthy whole grains As well as the little bit of protein that's in popcorn. So I'm excited to have popcorn this next week I feel like it is a fall or cold weather food. So it's getting into that season for me So I'm excited and then I picked up two yogurts only because this is a new flavor that I've never seen before This is the mango So let me know if you guys have tried this It sounds really good and I love yogurt and I definitely will eat these up before I head out of town because again great source of protein for low points in calories So I picked up actually two of those and speaking of two of I grabbed two of the pumpkin cream cheese from trader joes one of my lovely subscribers Let me know that her trader joes said that the pumpkin things are selling out like crazy That they are going to be gone before normal and in fact the pumpkin Ginger hold the cones are gone. They were not at my store either and they will not be back So if you love the trader joes pumpkin things Definitely check out the halls that I have done. In fact, I have another one secret hit hint coming your way tomorrow A fall haul from trader joes. So I'll link those videos down below That way you can get your hands on all the fallen pumpkin things before they're gone So I'm obsessed with the cream cheese. So I actually picked up two of them just in case I just don't want to miss out for the season And then I am down to just a couple of small amounts of creamer left So I decided to bite the bullet and go with the peppermint mocha from coffee mate So I grabbed that for my coffees kind of start getting me into the christmas spirit And then this is new at trader joes. This is the bambino pizza for mazio These are for my husband. These are just a little mini pizzas They're actually only 250 calories a piece, which is not bad. Let's see and 11 grams of protein So not too terrible, but he will eat these while I'm in san diego So I thought that I would just throw them into the freezer And also at the natural food store. I picked up another box of my lundberg Thin stackers this time I got the five grain So it's brown rice popcorn quinoa millet and flaxseed So my point of picking these up my reasoning is I need to get in more healthy fats So I did kind of revamp my macros a bit and I upped my fats So I thought that this would be a great way to Add a little bit of nut butter to the top and I have several nut butters on hand I featured a few of those in my favorites video that went out on thursday So I picked up these thin stackers You can have four of them for 110 calories And I thought I would just have one with some nut butter And it would be a great way to get in those healthy fats plus the little bit of protein that nut butters have So I picked that up Here's a new find from walmart So this is the bake good cherry pie filling no sugar added and it says sweetened to taste So literally it's just cherries in a pie filling. There is no sweetener added to this So I thought that that was kind of nice because you could really add whatever sweetener you wanted to add to it So it has pretty good ingredients and you can have an entire third of a cup for 35 calories And if you added a zero point or zero calorie sweetener I thought this would be really good in non-fat Greek yogurt Or you could even top already sweetened yogurt with just the pie filling And you can put a tablespoon or two on it for zero points So I picked this up and they did also have apple as well So if you're in the market for a good no sugar added pie filling I will definitely let you guys know how this one is And then another reason I went to the health food store was to stock up on my nyx sticks You guys know, I love these and these are great portable snacks that I can throw In my suitcase when I head out of town. So I picked up A ton I have just the regular turkey and then I have the spicy turkey These two are my favorites 10 grams of protein You get both sticks for three smart points or 75 calories So it is a great way to get in protein a great easy quick snack to take with you So I stopped up because today was the last day of the sale Normally these are about 279 a piece and they're on sale for 219 So I think I picked up at least a dozen also since I won't be male prepping when I come back for my trip I grabbed some sausages at Trader Joe's This is just a really low point low calorie way to get in a lot of protein So I picked up the Trader Joe's Italian style chicken 110 calories and 11 grams of protein and then I did decide to pick up the sweet apple as well 120 calories 11 grams of protein So great way to get in protein for low points or calories quick easy lunch just fried up with some veggies So that's kind of my plan when I come back A dozen eggs. These are for Troy. He wants egg salad sandwiches for lunch And he doesn't care about organic pasteurized eggs So I just picked these up at walmart and then I did grab some meat This I grabbed because it was on sale and I actually have a recipe coming out that calls for sausage And if you didn't know or didn't follow a lot of my meal prep videos I usually buy ground turkey because it's zero points And then I season it myself with poultry seasoning to taste like sausage So I grabbed this because this will be a sausage addition sausage in quotes addition to a recipe so I picked that up And then every time I'm at walmart, I generally will grab the simply raised turkey this time I picked up the 93 7 and then my favorite favorite ground beef was on sale And it doesn't actually expire for another week and a half But this is the market butcher organic grass fed grass finished ground beef Normally this pack of three pounds is $18. It was $13.90 So I could not pass it up because I just pop it in my freezer And I love this ground beef so much and then I also needed chicken thighs for a recipe and I got them for $7.50 so I was excited about that These are also a new food find and I picked these up to take with me to sandy a go So this is the almond butter strawberry and almond butter raspberry Split so one side is the butter and one side is the jam And you fold it in half need it and squeeze it and you basically have peanut butter and jelly without the bread And it's only 160 calories for the entire pack. Of course, I'll put the points here on the screen Good ingredients and again, just a great way to get in some healthy fats and some protein on the go They had peanut butter versions and cashew butter They have a lot of these at walmart and they were less than two dollars each So I picked those two up and then I'm excited. Here is a new food find This is the ben and jerry's chocolate chip cookie dough chunks in snackable dough, so I picked up the chocolate chip and look at this you can have 28 grams or two tablespoons for 110 calories There's eight servings in this package and it is like full of cookie dough bites So I imagine you get quite a few for the points and you can even cut down the serving size And still have a really good sweet treat and who doesn't love edible cookie dough There were several flavors So I picked up the chocolate chip if I like them I will definitely get other flavors Another new food find that I just happened to see when I was walking by the frozen section This is from crazy richards. They also make a really clean peanut butter So this is the holy rolies and peanut butter and strawberry 10 frozen protein balls only five ingredients And that's the whole story. So here's what's in here peanut butter oats dates freeze-dried strawberries and unsweetened toasted coconut I wish that the oatmeal was organic, but for an on-the-go snack that has protein that's frozen That's probably sweet. I'm excited for these. It's 90 calories per ball And each ball has three grams of protein and only four grams of sugar So not that and I thought that this would again just be a quick easy snack If you're hungry and you just need something quick like before you work out This would be a great option and they also had several flavors of the holy rolies And again, I picked those up from the freezer section at walmart I needed tomato paste for a recipe So I just picked up this six ounce can and then also I needed black beans for a recipe So I grabbed the great value organic since I have the holiday challenge I'm really again watching my macros in points and calories So I picked up this for a sweet treat. They are pre-portioned so I can't overeat I generally don't find myself eating more than one package of things that are pre-packaged So I thought that this would be a great way to have a sweet treat. These are delicious in the freezer So I'm actually going to toss a few of these packs in the freezer There are 140 calories if you track calories per pack and the points here on the screen So again 12 packs. It'll last me a long time It'll just be a great sweet treat and then to no one's surprise The value pack of little bites and party for tori's lunch is he loves these and this is a killer deal at walmart So I always try to pick it up when I'm there. It's just much more affordable And then I was almost completely out of oats and I haven't placed my thrive order where I normally buy my oats The link for thrive is down below where you also get a free gift up to 24 value when you join You guys know, I love thrive these oats are actually less expensive on thrive Usually about 30 less for their products, but since I haven't ordered yet. I just grabbed this small bag at walmart So these are the organic old-fashioned rolled oats Always pick up your oats organic because they are heavily heavily sprayed with glycosate, which is the active ingredient In roundup. So I always buy those organic and then it trader joes Of course, I grabbed two bags of cauliflower gnocchi because I thought I could cook that up with the sausage and again Veggies for a great lunch and then while I was in the gnocchi section I saw these outside in stuffed gnocchi So these are potato gnocchi stuffed with tomato sauce and mozzarella I thought that sounded really good and would be kind of a good comfort food side dish for dinner Especially if you use the zero point protein and it was only 180 calories for an entire cup of them So I thought that that was pretty darn good. So I picked that up a big container of diced ham I actually need diced ham for a recipe and I like to have this to add to salads because it's a quick easy way to Pop in some protein and a loaf of sourdough bread for my husband He's ready to move on from the other sourdough bread for a little while. It just gets dry really fast So I just picked this one up from walmart and everything else I have is produce So I have a bag of organic romaine salad. I'm going to have salad for lunch on sundae So I picked that up for that. I have super sweet corn for a recipe My organic lemons of course for my water Avocados, which is another great way to up your healthy fats So I picked that up just to have on hand if you keep these in the refrigerator They ripen a lot slower and then when you want to ripen it up pop it in your fruit bowl on your counter So I usually just keep these on the fridge or in the fridge until I'm ready to have them ripen up So that is everything I didn't pick up a lot of produce because I have in perfect foods box coming Here in the next couple of days So I didn't want to overdo the produce because I love imperfect foods again That's linked down below with ten dollars worth of free groceries of your choice. No minimum order. So check them out So that is this week's grocery haul from walmart Trader joes and natural grocers, which is like our whole foods are sprout So let's jump into this week's meal plan and what you'll see for meal prep on monday So here is this week's meal plan. So this is the week of october 3rd through october night So saturday as you know is an out to dinner or pizza night sunday I'm going to be making instant pot chicken burrito bowls. You'll see this recipe in next wednesday's what I eat in a day monday is copycat skyline chili now I've never had skyline chili, but I've heard that it's really good We don't have that particular restaurant in my area. So I'm excited to try this Tuesday is chicken cordon blue noodles. So basically this is kind of a noodle casserole Which sounds super good as well with ham and swiss cheese I will do leftovers on wednesday I may end up swapping these two depending on jazzer size And then thursday I head to san diego and I'm actually in san diego thursday friday saturday and sunday And I come back on monday. So there won't be a meal prep up next week But there will be one coming up this next monday. So let me show you what you'll see in meal prep So for breakfast, you will see pumpkin chocolate chip oat bars. I'm so excited for these I've been wanting kind of a sweeter breakfast that I compare with maybe some sausage bacon or eggs And these sound really good nice clean ingredients w w friendly. So I'm excited for those Lunch I am making buffalo chicken mac and cheese. So I've been craving mac and cheese and buffalo So let's put it all together with some chicken and make it a lunch And then I'm making a really good apple muffin recipe all whole food Clean ingredients super point friendly really moist delicious apple muffin. So you'll be seeing that as well So all three of these recipes will be up on my channel on monday in meal prep Thank you for joining me on this week's grocery haul. We had so many amazing new food finds I can't wait to try all of them seriously walmart is the place to go for new food finds I will definitely share everything in the future that I pick up from walmart That can benefit you on your journey as well So I am excited for the snacks and meals for the upcoming week again If you're new I'd love it if you'd stick around and subscribe hit the little bell next to it So you're notified whenever I upload I do upload most days of the week and saturday is grocery haul day So you never want to miss out if you enjoyed today's video I'd really appreciate if you gave it a big thumbs up It really just helps out my channel kind of gets me out there in youtube So I would greatly appreciate that just a reminder to check out the description box down below For my nutrition coaching website links and discounts to my favorite things And of course the link to come join us on facebook again. We'd love to have you Thank you so much for hanging out with me. Have a fantastic weekend, and I'll see you all in my next video. Bye friends


All right, what's going on everybody? This is box six of 2020 Break team premium edition multi sport. Here are the participants So we're gonna open the box see which hits come out and then randomize the three hits and randomize the three customer Participants, I like that. I didn't see who what came out of the first box. I don't know. I don't know what came out I don't know. There's no case. It's or anything listed. So See what happens in here. This first card is not a graded card. Oh, so I was right prim Okay, that makes me feel a little better. I think All right, the first card is a nice prison mosaic When they used to do a prison mosaic a few years ago Ben Simmons rookie That's a nice one Aaron. What's going on? Nice Ben Simmons to start off that'll be number one in the randomizer Seconds a graded card PSA It is 2019 tops heritage Gemman 10 Pete Alonzo I think it's been in a slump, but I feel like he had a homerun yesterday or two day two nights ago Let's go Pete. I Like along Pete Alonzo met him at the million card rip party. He's cool We gave him a shirt. No, he did. We did give him a shirt, but he couldn't sign it Oh, yeah, I think tops threw out the t-shirt Who is a nice one? 2019 prism football Gemman 10 Kyler Murray. Oh nice. Very nice. It's a hot commodity right now So you got the Simmons the Alonzo and the Kyler So let's put those into the randomizer. All right, Joe Thanks for pack second Yeah Sometimes they do like that box with the job Right, right, right But yeah, I mean everyone's guaranteed some and the other two cars are great in that so all right Let's roll the dice and Go seven times list of customer names then the hits Sorry seven times to We might have more elements tomorrow We got a shipment delayed so we'll have to see If it comes in hopefully on a Saturday, there's seven Jason down a narc and seven times on the list of Hits one two three four five six and seven Kyler stays on top You got the pete Alonzo in the middle for not Michael and Narke. You got the Ben Simmons So once again Jason you got the Kyler Michael D. Last about mojo Peter Lonzo, Narke Ben Simmons prison mosaic working So there you go. Appreciate it. Thanks everybody for getting in that was hit I keep calling it braid a break King premium edition multi sport one box break six


Regular past tense verbs have the E-D ending, but are pronounced in three different ways. Here are the three sounds, D, I, and T. Here are some examples of the three sounds. Walked Danced Cooked Started Wanted Played Called Now you try it. Say this sentence in the past tense. We start singing, then we play, and we dance. We started singing, then we played, and we danced. There is one past tense verb in this lesson that does not add E-D. That is was, the past tense form of the verb be. Listen to Anna talking about yesterday in the video. Yesterday was the most amazing day. Was is a verb with an irregular past tense form. You will see more irregular verbs in the next lesson.


In the previous video, we looked at the link between voltage and current and saw that voltage times current gives us power. However, there is another relationship between voltage and current, and it is called Ohm's Law. But before I can tell you about Ohm's Law, I need to tell you about a new quantity called resistance. Electronic components like resistors, light bulbs, even wires have a property which we call resistance. And resistance indicates how hard it is to move electrons through an object. So if an object is a really good conductor, like a metal, then it has a low resistance, and it's easy to get an electrical current to move through it. If an object is a poor conductor, like plastic or rubber, then it has a high resistance, and electricity will not flow through it easily. The symbol that we use to represent resistance is R. And the unit of resistance is Ohm's. So to give you an idea of how big an Ohm is, wires that connect components in circuits have resistance of about 0.01 Ohms. This is very low, indicating that the wires are good conductors of electricity. An incandescent light bulb will have a resistance of approximately 10 Ohms when it is cold and about 150 Ohms when it heats up and produces light, but it's still a reasonably good conductor. However, the insulation around a wire could easily have a resistance of a billion Ohms. And high resistance indicates that it is a good insulator, and electricity will not pass through it easily.


While the Bemidji Police Department is stepping up their enforcement on school bus routes after multiple reports of stop-on violations in the Bemidji School District, reporter Sheryl Moore tells us about Project Stop-On. You may remember this video that showed multiple cars zooming past a school bus while its stop arm was out. The video happened in Bemidji. With these school bus stop-on violations on the rise, the Bemidji Police Department decided to start a new project to maybe catch a few of the drivers. Last Thursday was the first day we rode along with the bus. I had gotten paperwork from the Transportation Department in the school that of all the reported stop-on violations, this bus that we rode on today had the second most violations this year. The project requires two officers. One rides along on the school bus while the other follows along discreetly in the squad car. It's a learning process, but in the future as we continue to do it more, the hopes is to be in the area and if there is a violation, we'll be there to kind of snatch it up. I'm hoping that this story itself will bring more light to the concerns, it's a safety issue for the kids. The good news is there are no violations during today's ride along. Going forward, the bus route in days the police will do the project will be random. The police say they hope the project will act as a deterrent to potential violators. If children are not off the bus yet, it's a citation. If they are off the bus getting on the ground actually leaving the bus or from the ground getting onto the bus, it becomes a gross misdemeanor possibility. The state law states that if you're driving a motor vehicle and the school bus puts its stop arm up and has the flashing red lights, you have to stop. There's no if ands or buts about it, you have to stop. The police have monitored high violation routes in the past, but with this new proactive method, they're hoping more drivers will get the message that any violation of a school bus stop arm is not okay. The biggest problem to this is probably if you are one that violates stop arm violation and you strike a child either killing them or seriously injuring them. I mean that would be on your conscience the rest of your life is just being in a hurry or not paying attention. Reporting of Amidji, Strawmore, Lakeland News. If you witness a stop arm violation, you're encouraged to stop in a safe place and then get a license plate number, vehicle description and driver description if possible, then report the incident to police. If you enjoyed this segment of Lakeland News, please consider making a tax deductible contribution to Lakeland PBS.


Do you have troubles of falling asleep during meditation?   Well, let me tell you the good news and the bad news. The bad news is that there's no solution to that and you know people will meditate try to tell you like sit straight.  It's just like when you watch TV or something, you know, you can lie down in bed.   So it's not about that.   Well, and other subjects, not just meditation, it all correlates. So when you meditate, what happens is you stop providing stimulation for your brain.   And you can even say that our society is built in a way where as the little time should be spent alone with yourself as possible. It should always be do something, be somewhere, something urgent.   So most people, they're actually unconscious most of the time.  And you just go like that, like, and it could be jealousy, it could be anger, it could be sadness, anything.  It's like, oh, yeah, and this is also that. And this guy, and that guy. Just like that. And you don't deal with that.  Let's find distraction.  And in this society, you never have an opportunity to get away from your course.  So it keeps building up and piling up and piling up and building connections and stuff.    So you actually feel yourself going unconscious. That's why you're like, oh, what?   When you like wake up, like, whoa, what the fuck?   Wake up again.  It's just like when you drop something that floats into water. It's like it's keeping it down. And now you're giving a chance to like flow back up. So the floating up part is like, and then when it floats up, it's kind of done. Like it actually gets cleaned up. That doesn't mean that's not going to happen again, because the root problem hasn't been solved yet. That's another issue. And if you care about that, let me know because I can help you. Oh my god, so many noises. I can help you. But what it does do is clean up the current mess. It's like, if you have a dirty apartment that's been building up dust and dirt for years, and you clean up, it's going to be a completely different apartment. Now that doesn't mean that it's going to stay clean, because the element of dirt piling up is still there. But as long as you clean it up every day, it's going to stay clean. Again, there's ways to clean it up from the root, which you can ask me about. I'd love to help you.   So yeah, that's pretty much the process. That's how it works. And again, don't fight the fact that you're falling like this, falling asleep.   So hope this video helps you. And if you're not meditating yet, then now's the best time to start. You know, as the Chinese proverb says, the best time to build, to plan a tree is two years ago, second best time or 20 years. The second best time is always now. And yeah, subscribing will definitely help you, because I talk about these a lot. Check out my other videos in the meditation, the meditation playlist. I have really, really good quality content there, if you like this one. And again, thanks for watching and let me know if you have any questions.


What's up everybody, Jason here for Jasper's CaseRays.com. 2022 Gold Rush, Big Kahona's basketball edition, five box case break random teams number two just sold out. And again guys, this is a 30 total spots break. Everybody gets a random team at the NBA. High risk, high reward guys. Only one premium hit per box. So five total hits and potentially can get one of these chasers here guys. So congratulations to the customers that won in Mosaic, Pac-Filir 50 and the rest bottom straight up. So good luck guys. Here's the nice, here's the Dish Roller and the customer names and lists. Let's roll it. Two and a five, seven times. Good luck. One, two, three, four, five, six, and seven. Seven times, Zach down to Bennett. Seven times, one, two, three, four, five, six, and seven. Boom, seven, seven. Kings down to the Detroit Pistons. Seven times, seven times. Kings for Zach, Chad with the Wizards, Matt with the 76ers, Nathan with the Knicks, Matt with the Grizzlies, Mike with the Clippers, as well as the Dallas Mavericks. Thomas with the T-Woes, Nathan with the Lakers and Cavs, Mike with the Blazers, Bennett with the Hawks, Sean with the Bucks, Chad with the Nuggets, Matthew with the Thunder, Michael Golder with the Nets, Matthew with the Pelicans, Eric with the Bulls, Michael or Nicholas with the Warriors. Sean with the Raptors, Qayam with the Magic, Mike with the Rockers, Josh Qayam with the Spurs, John with the O'Neil with the Jazz, Matt with the Pacers, Jesse with the Hornets, Joe Pizzle with the Phoenix Suns. Wow, look at that. Douglas with the Heat, Matt with the Celtics and Bennett with the Detroit Pistons. So I'm gonna pause the video, guys, see if there's any trades, and when we come back, we'll see if there's any trades, and we'll start the break, guys. All right, guys, so welcome back. There were no trade chatter, no nothing, so I figured everybody just wants to keep what they want or what they got, I should say. And let's print it and rip it. So again, guys, only five hits popping out of here, guys. Now, of course, this is a repack product, so remember, college rules will apply if for some reason we pull that LeBron James, SPA High School Basketball autograph. Since there is no official checklist, that'll say was with, you know, this team, of course, this is a high school card. It'll most likely, of course, go to teams that they're currently on or, of course, out of the league teams they play for the longest, so that LeBron will most likely go to the Lakers now. I think everything else, of course, is there. Did you nice? Yeah, I don't, what did Joe pull out of the first case? What was the, what was the big hit? I did three of these last night on Instagram. I got Steph Curry autographs, Yannis autographs, Zion Rookies, out of the first ones I did over there. But no chasers were pulled, so I'm hoping potentially here. Nice Tyler Hero. Dozenizing Prism, rookie penmanship, PSA 10. Very nice. So that's Miami Heat going to Douglas. There you go, Douglas. On the board, buddy. RJ Barrett, that's a rookie autograph initiation ink from Immaculate Basketball. 12 out of 25. New York Knicks going to Nathan. Oh, we hit one of those in the last case too? Yeah. There were a couple of repeats that I seen in the first couple over there on Instagram. Like both cases, the first two that I did had, both of them had Steph Curry autographs, both of them had Yannis autographs, which is not bad names again, but, you know, kind of like almost identical. Well, speaking of Steph and Curry, there we go. 1718 Panini Prism Silver in person on card. Steph and Curry autograph for the Golden State Warriors going to Nicholas L. There you go, Nick. Woohoo. Very nice, not a bad case so far. So actually, I was going to repost another one, but the last case that we have in stock is already on Instagram. So if you guys want, you get a random hit from a box, hit drop style over there. A little bit more pricier, but you're guaranteed a hit. So, what you're paying for. Woo. Pizzle, Pizzle, Devin Booker. NBA Hoops Hot Rookie Signatures. Let's go, Pizzle. Look at that. Last spot mojo, Pizzle as well. Boom. I spoke it into existence, Nick. Actually, I haven't made bad names at all, right? Not too bad. I expect this one to be like a base though. This is like where they throw in like a Zion or something. But maybe not, I don't know. No, it's a absolute. On card, Donovan Mitchell. 61 out of 99. And that's a 17-18, that's a rookie Donovan Mitchell. For the Utah Jazz, Jonathan O'Neill. There you go. Oh, that's right, Deacons. What was that? I remember that product. I think Joe Pizzle and I think the other customer decided to trade one-on-one, right? All right, not a bad case here, guys. Donovan Mitchell, On card, rookie. Devin Booker, rookie. Steffen Curry, RJ Barrett, and Tyler Keero. So that was, what, all autographs too. Nice. So there you go, guys. Bitcoin is number two in the books. Jasper'scasebrakes.com.


Hi guys! In this video, we're going to be taking a look at what happens when we pass arrays to functions. So first, let's just take a look at a simple example that involves passing an array to a function, performing some operation and returning a value. So here we have a function called sum, which takes as its formal parameter an integer array data. It then adds together all of the items in data and returns the final sum of all of the items. Now you can see up here in setup, we have an integer array a, and we then call the sum method below here, passing in a as the actual parameter and then storing the returned result from our sum function in b. So here data is the formal parameter of the sum function and for this function call a is the actual parameter. Now if we go ahead and run this with this print statement here, you can see we print out 190, which is the sum of all of the items in a, 10, 70, 20 and 90. Notice though, let's say I try to print out result or I try to print out data, 0. I'm going to get this red squiggly line here and the error message, the variable data does not exist. And the reason for this is that data and result only exist within the scope of this sum function. So we have setup and then within the scope of setup we have a, which references an array containing four values like sir, and then we have b. So when this line of code is run and the sum function is called from setup, we have the sum function called with actual parameter a. And within the scope of this function call exists our formal parameter data, which refers to the same instance as a. So just to reiterate, when we call the sum function here, the formal parameter data is linked to the actual parameter a. In exactly the same way as if data were a variable that we initialized, for example, by saying integer array data equals a. The only difference being that in this case, because data is a formal parameter of our sum function here, data only exists within the scope of the function and it can't be referred to outside of some. But both a and data are variables that refer to the same array instance. So these arrows can be read as references. That is a references this instance and data references the same instance. And now moving on within the scope of some, we also have the variable result whose final value for this function call will be 190. And the value 190 is then returned to setup and stored in variable b. So now we've exited the sum function. Everything local to some no longer exists, which means this relationship no longer exists. Which is why when I tried to change earlier this print statement to data zero, we ended up getting that error message because data does not exist within the scope of setup only within the scope of some. Now there are a couple really important points to be aware of when passing arrays to functions. And the first is this. So when passing an array to a function, if you modify the contents of the formal parameter, the contents of the actual parameter are also modified. All right, so let's take a look at what this means using this reset function just over here in processing. So just uncomment that. All right, so what this function does is it takes the as its formal parameter integer array data, and it sets each item in data to zero. All right, so let's just go back up to our setup here. I'll remove these and we'll go ahead and call reset on our array a above. And then I'm just going to write a for loop that's going to print out every item in a after reset has been called on it. So for int i equals zero, i is less than a dot length i plus plus. And we're going to say print a. All right, so now let's go ahead and run this. So we've called reset on a and now we're going to print out every item in a. And you can see I'll just expand this a little bit probably as you expected. You can see each item in a now equals zero. So by modifying the contents of data, I've also modified the contents of a because just like we saw with our previous some method. Both data and a refer to the same array instance. So by modifying the contents of our formal parameter data, we also modified the content contents of our actual parameter a. Now the second important thing to note when passing arrays to functions is this. When passing an array to a function, if you re reference the formal parameter, the actual parameter is not re referenced. So let's pop back over to processing and we'll take a look at what this means using our final function here set to null. So we have here the function set to null. It again just takes one formal parameter data. And all that it does is it sets integer array data to null. So now back up here in setup just underneath, let's create a new array X and integer array that contains three values. 10, 70 and 20. So if we just scroll down here, you can see I've drawn this is what X looks like in our notation. It refers to an array instance containing these three values. So let's now go back up to setup and write a statement here underneath that calls the set to null function. With X as the actual parameter. All right, so at the start of this set to null call data at the formal parameter data here will refer to the same array instance as X. So in our notation, it just looks like this. So let's now just go ahead and move this print statement here to underneath our set to null call. And I'm just going to change it to print out every item in X instead of a. So now if we print out all of the items in X after running set to null with X is the actual parameter. You can see here that the contents of X remains unchanged. It's still 10, 70, 20. So what's happened here is that after set to null is called the formal parameter data is set to null. So over here, you can see data no longer refers to this array instance. This relationship no longer exists, but X here remains unchanged and X's relationship to this array instance remains the same. So X still refers to this array, even though data no longer does. So that's just an example of how if we reference going back to this, if we reference the formal parameter data in this case, the actual parameter X is not re-referenced. So that is pretty much it for this video on passing arrays to functions. So I hope you found it helpful and thank you for watching. Bye.


Oh, I would work. There's Paul Carlson here from Small Workshop Guy. What's the best measuring tape? Well, you can't answer that. Everybody's got their own personal opinion. I have maybe 12 different ones around the shop that I've tried. You know, they all work, obviously. Fact is today I ordered a couple more because I'm always setting them down somewhere and can't find them. And then I have to grab one of the others. And then there's things about the others that I don't like. So once you figure out a favorite one, get a few. Well, here's the one that I like. And let me tell you why. This is from FastCap. It's called the Lefty Righty. All right, what do I like about it? I like the fact that there's a screen on here that you can write on with and wipe off. So as you take that measurement, you can write on there right at that moment. I like primarily the tape that's on it. It stands out a long, long way, seven or eight feet easily. It's got markings on both sides. And depending on whether you're looking at it this way, this is right side up. But if I turn it around and look at it this way, it's also right side up. That's why it's called a Lefty Righty. Most of your other measuring tapes are one side only. What else do I like about it? Well, it will lock in place really, really well. Nice, comfortable trigger on there. There's even a second trigger on the bottom that if you've got enough hand strength, you can pull it out, press on that, and that'll hold until you let go. Anything else? Yeah, there is. There's a clip on here that you can actually push on the top of the clip and open up so that you can actually get it on your pants pocket or your apron or your belt or whatever, rather than struggling with these to try to get that over your belt.  And finally, one last thing that makes this the best for me is I often use these Home Depot pencils. I buy them by the, by the gross and make sure I've always got two or three in my apron.  They have a habit of breaking. I also use the Click Gear 1000, both the 0.5 millimeter and the 0.9 millimeter. But frankly, I find grabbing these quicker and easier a lot of the time, but I want to have a sharp point. So having a sharpener in there is just an extra plus. So that is what the heck is my favorite measuring tape. Let me know in the comments below what your favorite measuring tape is and why. And make sure you subscribe and like and comment, small workshop guy reminding you, you can't stop the waves, but you can learn to surf. Stay safe in your workshop.