online, you have as much time as you want because you won't see me waving at you. No, I'm kidding, of course, people are angry, I'm kidding. So please, Thomas, the floor is yours. You have 15 minutes presentation and maybe I will try and wave at one point. Thanks. I see. Thank you, Niko, for the opportunity to participate in online this conference and also to the other organizers. My talk today is about a proposal for an implementation of a political just an ongoing way parametric amplifier. And this is an in collaboration with Alvaro, with Juanjo, Alejandro, and Diego, all at Madrid, my same institution. Well, I start by recalling that microwave signals coming from super conducting quantum secrets are typically very weak. And therefore, one requires an amplifier to detect them. And in this quantum amplifier process, there is always a gain factor G and some other noise end by the amplifier. And therefore, we also require isolator elements in order to protect the quantum systems from the noise coming from the amplifier. OK, one of the most advanced amplifiers so far in the market are just an entire way parametric amplifiers, which are built of arrays of just some intensions as shown here. Using this special engineering, this device has shown a very nice performance like with gains above 20 dB, with a noise that is near quantum limited and a very large bandwidth on the other gear heads. And of course, this device works very nicely, but will still even better to make an upgrade to them and make them to amplify non-reciprocally. This means that if you send a signal in the input, the signal is intellectually amplified from left to right without any reflection and also without a backward noise. And therefore, we can avoid having these isolator elements in the circuits and we can integrate the quantum system together with the preamplifiers quantum amplifiers in the same chip. The problem is that this is not so easy to do. And so far, this has been realized experimentally only in narrow bind devices, like as shown in these references. But in this talk, I want to show that it is indeed possible to do a broadband and directional amplification using the concept of topological amplification introduced in these seminal papers. Here, the challenge is to engineer artificial gauge fields and non-local pumping terms in these kind of devices. But I want to show that this is possible with the current superconducting circuit technology. OK, so the implementation, the proposal looks like this. On the left, I show the superconducting circuit scheme to realize this amplifier. And on the right, the quantum optics model that is realized by this circuit in an abstract form, let's say. So it has three main ingredients. Our proposal, the first is in blue. This is a just an induction array, where just an induction that are depicted here with crosses. They induce cross-care couplings between sites of this form and also self-care couplings on each on every side. And capacitors induce linear couplings between sites J8. And the second important ingredient is to couple each side of the just an induction array to input output ports. Not just the first one to send the signal and retrieve the output signal at the final site, but actually in all of them. And this is because we need to have a constant or a homogeneous decay on all sides to stabilize the logical phase that I showed late. And the third and last ingredient is to couple this just an induction array to a linear array of superconducting linear resonators as I show here, which have just standard or linear capacity hopping between sites and also it couples capacitively to the JJ array. Okay, and the trick here to make the system topological is to do the four-way mixing via the linear array as I show in more detail in the following. So the key here is to break the time reversal symmetry in the JJ array by driving on the auxiliary array and engineering the boundaries of this array. So we have input ports in the auxiliary array only in the first side and in the last side. And we have three conditions to break the time reversal symmetry. And the first one is to drive strongly in the first side here, V1 on resonance. And with this, we will put a lot of photons in the auxiliary array. Okay, the second condition is to have a very off resonant coupling to the other array. And because of this, all the photons that enter in the first site, they will travel to the right on the auxiliary array without jumping to the other just on the red part. And when they are approaching to the other boundary, we set the decay of this antenna here or this transmission line gamma to be exactly equal to the hopping JB. And if we do that, there will be a perfect impedance matching on the boundaries and all the photons going to the right here will leak out without any reflection in this auxiliary array. And because of that, they will be in steady state, they will be a classical running way built in this auxiliary array moving from left to right and you will have a well-defined phase five equal to pi over two in this case. Okay, and this is very important because this will induce an effective drive so that we can eliminate these auxiliary cavities and the effective action of this is to induce a gradient drive on all sides of the JJ array that has constant and homogeneous amplitude and still has this phase five pi over two coming from the auxiliary array. Okay, and the trick is to use this effective drive to do forward mixing on the JJ array. So we have a strong coupling and we can displace in this forward mixing, we can displace locally all modes of the JJ array here in this form. We have some mean displacement alpha and some small quantum fluctuations around this mean field. And what is very nice is that the same phase five coming from the pump actually provides perfect phase matching for the JJ array even without doing dispersion engineering. So actually here the system is completely homogeneous and assumed to be homogeneous. And as a result of this, the mean field displacement also will be homogeneous and given by the still order equation in steady state that can be solved numerically in a very simple way. Okay, so now regarding the different patients when we have a strong pump, we can, the dynamics becomes mainly linear and it's given by this one to land demand equation where it has a local decay kappa on all sides here given by this term and in the gradient part we have a parametric amplifier Hamiltonian which has two types of terms. Actually the first one is proportional to this kappa are parametric pumping terms like two photon driving terms in the system. And they will have two types of this term. One will be local parametric pumping terms proportional to JS on each side, which will be coming from linearizing the self and the cross-carnal linearities and alpha square is the number of photons in the pump. And also will be a non-local pump JC here coming from the, for linearizing the cross-carnal linear. And in the, there will be also photon conserving terms represent to M, which will be just standard and onsite the tuning and hopping with the sides and very importantly this hopping is complex. And the same phase coming from the pump that I showed you before enters here as a artificial gauge field that breaks the time reversal symmetry, the dynamics of these locations. So this gauge field in combination with the constant decay kappa and with the non-local pumping term JC allows the system to go to a topological steady state where there is directional amplification. This means that photon centering here will actually get amplified from left to right and will be accumulated on the left side. This I will show in the following. And to describe this in more details it's very convenient to introduce this non-emission dynamical matrix which come from writing the same equation in a matrix form. Okay, so this non-emission matrix contains all the co-edients and the dissipative couplings and allows to describe in a unified way the spectral and the logical properties of the system. That's why it's very useful. Okay, so the Green's function matrix which is basically the inverse of this non-emission matrix describes all the amplifying properties of the system. So for instance, the gain if you send a signal in the first site and you retrieve it in the site J it's given by the modulus square of this function and the reverse gain. So for a signal propagating in the opposite direction this has almost the same form but it depends on the Green's function with the reverse order ij, you see? So from here already we can see that if we want to get non-reciprocal amplification the Green's function must be asymmetric basically, okay? But for what kind of parameters in our system we can get this asymmetric Green function. And for this we use a connection of the open quantum system that is our amplifier to a topological band theory, okay? This was developed in these three papers in our group. Basically what we do here is to construct an extended Hamiltonian, this admission from the non-admission Hamiltonian in this form, okay? So this other h is by definition admission. So since it's an admission we can apply all the, we can do it as a, let's say it can be in some cases a topological insulator system and we can apply topological band theory to it and telephone way in a standard form. So we can diagonalize it and when this extended system is in an topological non-trivial phase for instance for these parameters of our system then the system will present zero energy modes and a topological inside this topological band gap, okay? And associated to every, these non-zero modes there will be states actually that are exponentially localized on the boundaries of this kind of artificial system. But this implies that we show in this paper that in the physical system in the real amplifier this means that when this happens this means that the green function has this exponential spatial dependence respect to the first side. So they depend on this where this theta is the correlation length of the edge states. And this implies that if we, that the gain and the reverse gain will be exponentially enhanced when we have this topological phase in the system and the reverse gain will eventually attenuate. So this is what we call topological amplification which is non-reciprocal but also exponentially enhanced, okay? This is the essence of topological amplification and now I want to show how this, well how this performs in a real experiment with welding circuits and kind of realistic parameters, okay? So here I showed the gain and the reverse gain for amplifying a signal frequency close to the pump, okay, a little bit away from the pump. And here we can see that the gain actually increases nearly exponentially from left to right as a function of the number of sites in the array. We can see already for both sites we can reach almost 40 dB of amplification. And for attenuation it's also exponentially suppressed this is in dB up to less than minus 40 dB. And for more or less realistic parameters the problem is that I haven't showed this yet but the gain increases exponentially but also the noise. So actually we need to stop at four sites only because then to avoid the saturation of this device. So for these parameters that we choose like say 60 minus 61 dBm of pumping we get 280 photons, okay, in steady state in the array and this should be much larger than the fluctuations. So we need to stop at eight but still we can get 25 dB of amplification and minus 35 dB of the say isolation in the other direction. And keeping these eight sites we can now study the bandwidth response of this amplifier and also the added noise as a function of frequency which is basically the total noise added by the amplifier as a function of frequency divided by the gain at that frequency, okay. So the gain as a function of frequency is in blue and the other noise is in red and in blue we can see that we can reach this 25 dB amplification close to the band frequency but still we can get a bandwidth on the order of 2.2 times J which in this system which is J is 0.8 GHz for the parameters we chose we can get almost 2 GHz of bandwidth for more than 20 dB of amplification and regarding the noise for the same frequencies the limit here in our convention is one for the other noise so we can get 1.3 so almost near 1.2 limited amplification here and the central frequency is tunable because if we put tune for example by external flux the frequency of the auxiliary arrays we can tune this and the volume is 5.5 GHz. Okay and the last I want to mention is that since this topological amplification direction amplification has a topological origin it is proposed against a disorder in the system we assume it is homogeneous but can have some disorder so and this protection comes from the final symmetry of this extended Hamiltonian that is always present by construction so it does not depend on the specific parameters of the system and therefore the system is actually robust to all parameters as we show here so here we calculate the other noise and the gain at the last side as a function of the noise in all parameters in the phase, in the tuning, in kappa, hopping and the pumping terms and we can see that almost at least for 10% disorder this almost doesn't change from minus 1.5 to 1.4 basically and even in some parameters can be even 30% disorder and the gain is similar and even for certain noise the gain can increase and always the gain can reduce so only slightly even for 10% and this kind of phase has been seen in other topological systems okay that was all I want to tell you and so in summary with this proposal we think that implementing a topological doesn't have any way parametric amplifier is within experimental reach with this kind of setup the key to make this topological is to couple the array to an auxiliary array and implement a gauge field and a phase matching via this I've shown that for more or less realistic parameters we can get a good gain and good reverse gain near quantum limited noise and bandwidth of two gigahertz for only eight sites actually can be very efficient with you don't need a very big system actually and can be homogeneous without so much non-local engineering and it's supposed to be solved and this will be very soon available in the archive and for the outlook I want to comment that if it's possible to build this kind of device one could get rid of this blue isolator also because the system is small let's say on the other 10 sites one may be study the saturation effect from first principles like incorporating the non-linearities in the system completely and also that the system can also be interesting from a many-body perspective and one can study imagine state-to-body effects in the system for instance with different winding numbers and so on and as I showed here as an example of another prepping that we will put soon in the archive and sign all these features so thank you very much to you for your attention and to my collaborators in Madrid thank you I see many hands I think Denis was the first so hi, thank you for the talk hi in this type of two paths with two lines you have generally one classical line the one in red in your last slide and on this one you pump and on the other one you put your signal and you of course because it's four-way mixing you have idlers and the signal and the pump make your first idler then the pump and the first idler make a second idler the second idler and the pump make a third idler and you have a series of idlers like this that can get the power from the pump how many idlers have you considered in your calculation? how many orders of idlers you say? yeah yeah I think we do the calculation in real space to say so in principle I think all the orders are taken into account so at least when Julina writes the system okay so the gain that you quote is with all idlers taken into consideration yes exactly, so all idlers they enter in the noise because we are operating the system as a phase in sensitive amplifier and the idler at the end enters in the noise part the idler at noise thank you welcome next one is Carlos hi thank you for your talk if I understood when the impedance matching of the red line provides both the k-reality to the system but also the phase matching condition for the traveling wave so how sensitive you are to this phase matching condition before you are losing the phase matching on the blue line and then the amplifier stops working I see so in principle how sensitive you say so we assume that what is very important is that the the gamma here the decay in the last side has to be equal to the to the hopping in this, the linear hopping in the array but this actually we can show that when this happens we can get an exact solution of this running wave that appears and if you are away from this let's say you have a small disorder a small perturbation then you will get a small change, a small difference in the file in the phase so you will get pi over 2 and some small disorder let's say but then later at the end we phenomenologically change this disorder by actually more than 10% and we show that the topological phase is robust because from the topological protection so you would say that as long as gamma and JB they are always in a 10% window similar? yeah more or less maybe even a bit more but 10% window I think is yeah for sure it works yeah okay I think you have another question as well a very quick question I didn't really understand if I have to pump independently all of these eight nodes uh no no just you pump the the first side and the B and the the the same chain here will will be behaved as a way guide that this will distribute the pump to the A sides okay so all the blue so all the blue arrows at the top those are not pumped that's just matched to a 50 ohm impedance exactly that's just dissipation exactly okay I saw a hand Mikko it was you yeah I was kind of curious about the reverse gain as function of the frequency offset you showed the forward cane to go to 25 dB but and the added noise you showed to be 1.3 but you didn't show the reverse gain does it behave nicely like you like you said that the reverse gain is about minus 25 dB at that sort of optimal point but it's yeah exactly kind of staying low when you go to offset in frequency yeah even get slower so okay maximum at the at the center it's maximum and then frequency gets slower so I had the plot actually but I took it out because of time but right okay maybe um I'll show it actually I'm also wondering like and you defined that to be the gain for the to the reverse direction if you put signal at that frequency and what's the power coming out at the other end at the same frequency right so that's kind of yeah but then how about the idlers etc like the danis was kind of curious that when you have like if you think about your tupan now you have to the reverse direction you have lots of noise power coming out at the very broad frequency band so are you are all of those frequencies do you have that isolation or is it only close to the close to that frequency point and then when you look at the idlers that those frequencies generate are those idlers also a low power no I think the idler is at high power I would say so because the idler also gets amplified as always in parametric amplification I think so the but this is I'm talking about the reverse direction that and the reverse direction that ah yeah I see yeah yeah also the idler gets suppressed they're both both both yeah because it's just the properties of the discrete functions so the yeah but in reverse direction idler and signal let's say you get suppressed and in the direct direction the left to right direction the gate amplified exponentially but noise signal idler but in different proportions so one can find a certain parameters where where the noise is still the noise the say the noise to signal ratio is it's good enough okay well thank you welcome okay thank you Thomas again thank you and thank you to all the the speaker of this morning session I think it's now time for lunch break long awaited lunch break I should say


Ah, and welcome to Money Talks. My name is Rianne Ishaves, and I am filling in for Shonda Park. So I will be your host today. Welcome everyone and happy new year. So I'm very excited. Yes, it is the new year. And usually the new year means new beginnings. And so, you know, usually at this time of year people set rules, they set their new year's resolutions, right? So people are very inspired to really make some changes in their lives. And so I thought to kick off today's show, you know, we wanna talk about what people tend to, what the most common things that people set during their new year's resolution, right? So when we think about what people want to accomplish throughout the year, the two main things that people want to make changes and are number one, their health and of course their wealth, right? So I'm really excited to have this discussion with our guests today. You know, I couldn't think of a more qualified person to talk about finance today and really helping people to find solutions that they may not even have thought about. And so, you know, this person, I've known him for a really long time. You know, he's someone that I respect personally and professionally. He is also a financial educator like myself. And he's been in the industry for almost two decades. So he is a wealth of knowledge. And I know today with what we will discuss, he will bring a lot of value to our viewers. So without further ado, let's go ahead and welcome Ben to our show. Welcome Ben and please introduce yourself to our viewers. Hi Rayyanne, how are you doing today? Great, so what about yourself? So for me, I've been, like you said, almost two decades of the financial industry, 17 years to be exact. And just something that I enjoy and love doing. We've been able over the last 17 years, educated thousands of families in our team and we've been able to span not only out of Honolulu, which is our home base here, but we've been able to expand in roughly about 10 plus states now. So I see a huge need for what we do. Just very, very excited to begin this new year. Yeah, absolutely excited for this new year as well. And so let's get right into it, Ben. We want to talk about how people set financial goals in the beginning of the year. But you've been in this industry for almost 20 years. So that's a long time. And I'm sure you've sat down with many families, but what do you see is the most common financial goal that people set when you sit down with them and discuss their finances? Yeah, so financial goals are something that people think about throughout the year, not just during the new years, but during the new years, definitely it's a time where people do revisit their goals and they have a refresh attitude about accomplishing them. Over the last 17 years, I see that the most common goals, number one is to get out of debt. Almost every person that I talk to, every family I talk to in America, having debt is such a big part of our lives. So getting out of debt is a very common goal as well as being able to save money for their kids' college education. Buying a home, buying a home is another very, very common goal. And a lot of people also want to be able to financially be able to travel. So these are, I would probably say, the four most common goals. And if you look at all four of these goals, it includes saving and investing money, right?  So these are the four most common goals that we see over and over again throughout the year, but especially during the new year's time. So yeah, Ben, I would have to agree with you. Sitting down with many families over the last 10 years, those are the most common goals that I do see people share with me. And I think Google will also agree with us too. So if you just looked up this year, what people set as their financial goals that you would see the same things. But right now with the high cost of living, especially in Hawaii, we see high inflation everywhere. And with people not, with their salaries or their income, not increasing at the same rate as cost of living and inflation, what can people do? Cause I feel like, that's why every single year when you look at the goals that people set, very similar to the goals that they set every year. However, why is it that we are not reaching these goals? And why is it that even more importantly today, we have to really pay attention? Because first, would you agree with me, Ben, that when people start looking at their finances, they look at the income that they make, they look at their expenses, and they kind of look at, okay, where can I cut down? But within today's environment, it's very difficult to do that. Because again, cost of living, high inflation. So can you talk about what are the most common people, the common things people do as far as solutions and maybe some alternatives that they have not even considered yet? Absolutely. And like you said, a lot of people, they have the best intentions around the New Year's time. They want to accomplish all of these goals that they set out. But most people, this is what we're taught. We're taught that if we need to make more money, then the solution is either get a part-time job or you try to maybe get a raise at the job that you're in, or maybe you make a lateral move, right? You don't work for this company, you decide that you're gonna work for another company, and this other company hopefully offers you a bigger salary. But my personal opinion, those solutions may not actually help you accomplish what you need to. And the reason why I believe that is because whenever you make a fixed income, your dreams and your goals will also be fixed. So if you, a lot of people, what they think is, okay, my dreams and my goals are yay high, right? I wanna be able to live in a beautiful home.  But when they look at their income, it doesn't match their dreams, right? So a lot of people, they go, okay, well, I need to make more money. So they get another job, they try to get raises, but that still brings us, maybe slightly closer than our dreams and our goals. And so a lot of people end up reducing their dreams and their goals to the, or their dreams and their goals to the size of their income. So in my belief, you need to have an income source that is not fixed. And the most common way to do it is to be an entrepreneur, meaning to be a business owner.  You're gonna be able to, as long as you're able to service the market and take care of people's issues and you can find a solution for them, then your market could be limitless, okay? So that's what I believe in. I just wanted to share how I started that line of thinking. Yeah, absolutely. Yeah, just like a lot of people, my parents told me, okay, go to school, get good grades, right? And then when you graduate, get a good job that's steady and pays well. And so that's the route I took. I actually became a computer engineer, right? And yeah, a lot of families and a lot of parents do that. So being an engineer, I thought, okay, wow, this is a career that a lot of people work hard for. And at that time, I did not make a six-figure income yet, but my dream was, okay, I need to make a six-figure income. If I make a six-figure income, then I feel like I'm living the American dream. So, but the problem was our expenses tend to catch up too, right? The more we make, the more we tend to spend, right? I had no knowledge of money. I had no knowledge of being an entrepreneur. So one day what happened was a friend of mine that was my coworker, he actually eats lunch with me every day. And this one particular day when we went out to lunch, he told me, Ben, I'm quitting my job. And I looked at my friend who's my coworker. I said, why would you do that? Did you find another job that pays better? At this time, it was around 9-11. So jobs were scarce where people were getting laid off. And he told me, no, I'm not looking for another job.  And I said, a business owner, why would you wanna do that? And he said something I still remember today. He said, if you truly wanna be financially free, you can't work at a job.  And if you wanna build something that has no limits, you gotta work for yourself and become an entrepreneur. So that started my thinking of, oh, I wanna be my own business owner. I just didn't know where. But one day, a friend of mine introduced me to the financial industry. And slowly, but surely, I transitioned from being part-time in the financial industry, full-time as an engineer, to giving up my engineering job full-time and becoming full-time in this industry and helping a lot of families. Yeah, absolutely. I'm so glad that you shared that, Ben, because as you were sharing, most people don't think about, cause we're talking about financial goals and solutions to how they can accomplish these financial goals. And yes, immediately, it's either we cut down our expenses or increase our income, but there's only so much that we can increase our income at our jobs, right? And one way is to start a business, but I think for most people, they don't see themselves as business owners, right? Because most of us, like you said, we go to school, get a job, and we start working, and so we don't necessarily see ourselves as entrepreneurs or business owners, but I'm so glad that you shared that, you actually started off as an engineer and then transitioned to being a successful business owner today. And that's very similar to my story, as you know, you are my mentor and most people don't know that I actually studied to become a dental hygienist. And right away, I actually saw the career glass ceiling in my career. And so I knew that if I wanted to accomplish my financial goals faster, I had to find another source of income. And to the second point that I was gonna make was that, some people think, well, it's either or, like I'm gonna be an employee or a business owner, where in fact, you can actually be both, right? So can you expand a little bit more on maybe the benefits of being an entrepreneur, different sources of income that you can create being a business owner? Wow, yeah, definitely awesome question. There are so many facets that I can touch upon when it comes to why being an entrepreneur is so powerful. Earlier I talked about limitless income. So what an entrepreneur really is, is they look for a problem and then they find a solution for it. And the bigger the problem or the more people that have this problem then the greater the market for what you do, right? So that's why your income is limitless versus if you get another job or get a part-time job or something like that, your income will be limited. Okay, so that's one benefit of being an entrepreneur. The second benefit of being entrepreneur is obviously the tax advantages, right? There's a lot of tax advantages, with being an entrepreneur versus being a employee. See, as an employee with a W2, you have two major deductions, right?  But as an entrepreneur, almost every business expense could be a deduction for you. Right, so you look at my business, when we take business trips, our licensing, when we spend money on the office, right? When we hire a staff, all of these things are now considered business deductions in our business, right? So we get a lot of tax breaks as an entrepreneur. But I would say in my personal opinion, if you play the long-term game, which I like to play, is that being an entrepreneur allows you to create something we call passive income. Now, most people in the world will make something we call active income, right? Income that they make when they go to work at their job. They're trading their time for money. That's what's known as active income. But a true entrepreneur eventually earns passive income, which is income that comes in, even though we're not actively working. See, every human being in life, we have 24 hours a day, just like everybody else. But we can't work all 24 hours. We have to sleep, we have to eat, we have to spend time with our family, all of these things. And if we get injured, if we get sick, if we go on vacation, our income stops, if we make a fixed income, that's active. But as an entrepreneur, you can start to leverage passive income, right? Build sources that can create an income stream for you. And that's how you become financially independent. You will rarely find people that make active income financially independent. But most of the time, when you look at financially independent people, they are people that are entrepreneurs that create passive income. So I think that's why being an entrepreneur gives you so much more freedom as you would being a employee, right? So, freedom of time is another big, big example. I'll share one quick example, and then I'll hand it back off to you, Rayette. But I remember one time when I was working in the business and my wife told me, hey, Ben, our son has a basketball game and it's gonna be Monday at two o'clock in the afternoon. And I said, sure, no problem, right? So I scheduled it in, I went to the gym and what really struck me that day, Rayette, was that almost the entire gym was empty. And I thought to myself, where are all the other parents? Well, of course, they're working, right? They're at their job. They have to work at their job to make a living. But being an entrepreneur, I got to control my own hours and I set my own time. And that's one of the freedoms you have as an entrepreneur. I mean, don't get me wrong. You still need to work hard, but the rewards can be much greater. Yeah, absolutely. I mean, I agree with Ben. And I was able to transition away from my dental hygiene career to now being in business, right, in the financial industry. And one of the benefits really of being in the financial industry as well is learning the financial concepts. So I forgot to mention to you earlier, I know you said when people make more money they tend to spend more money, right? You said that earlier in the show and there's actually a term for that. Or I think it's called Parkinson's Law, right? So the more money you make, your expenses tend to catch up with the income that you make. And so I think that's why we see, again, going back to why people set financial goals and why maybe we need to also break that cycle and start to really change our approach and how we approach our finances. And so I know being a financial educator is really important. And another reason why I think that in addition to not just working on these financial goals that we set, but I think sometimes we have to first, I think it's number one, it starts with awareness, right, Ben? Like if you're setting financial goals, that means you have some kind of awareness where you know you wanna be somewhere better financially, right? So that's a very good place to be. Would you agree with me? Yeah, absolutely.  The issue with a lot of people today is that we simply don't know what we really want. If you ask people, what is it that you want out of your life? And again, the goals that I mentioned earlier, right, buy a house, be able to pay off their debt and things like that, those are wonderful goals. But for a lot of people, it's more like a wish list item. It's not a actual definite goal. And one of the key factors that you'll know if someone is very serious about their goal or it's not is do they have a timeline? Do they have something very specific in terms of when they're going to accomplish this, right? Because when I ask people, okay, you wanna buy a new home, when do you wanna buy it by? Or where do you wanna live? What kind of home are you gonna have? And most people's answer to those question is, I don't know, right? So when you don't even know what you want, how can you get what you want? So one of the things is when you are setting your goals, be absolutely clear on what it is that you want. The more specific and more clear the picture is in your mind, the more chances you are, or the higher the probability of you accomplishing that goal. So wearing this is absolutely critical. Yeah, I think those are some of the things I spend. And do you have any words of encouragement for people to kind of guide them in maybe what they should do next, right? So I think the very first thing that you said, number one, be very clear with your goals, right? But can you give them some tangible steps that they can take so that they can start off this new year great with their finances? Absolutely, I wanna just encourage all of you that have these goals and these dreams that you've been holding in for a long time, right? You might be thinking about them for a while now and you think, can I ever accomplish this? Earlier you mentioned that a lot of people, being an entrepreneur may never have crossed their mind or maybe they never thought they could do it. Nowadays with all of the opportunities that are available to us, whether it's online or whether we see a lot of things that we can improve on and do better, it is, in this time and age, it is easier to be an entrepreneur than it ever was in the history of the world. I believe that we have all the tools that we need. If you look at a lot of people today that are the younger generation, the millennials and the Gen Zs, many of them are entrepreneurs through a tool called social media, right? So there are so many different ways that we can become an entrepreneur now. Being an entrepreneur is no longer, I need to have several hundred thousand or million dollars in capital. I gotta take all of this risk in order to become an entrepreneur. Nowadays being an entrepreneur is as risk-free as possible and it doesn't take a whole lot of your time. So many times people can do it as a part-time thing. One terminology that's been gaining a lot of momentum in recent years is a side hustle, right? A side hustle does not mean get another job. A side hustle, if you really think about it means you do something that you have passion in and that is your own thing, right? You know, your own business. So I think nowadays everybody can become an entrepreneur. You just gotta take action. And some of the things that I can encourage people to do is look for someone in your network that is a successful entrepreneur or is doing something part-time. Maybe ask them a few questions and see how you can branch off in doing your thing. Maybe you can partner with someone. Maybe somebody else has a similar idea as you or a skill set that you can work together it. So why don't you work together and create a solution for somebody, right? It could be as easy as, you know, maybe you and a friend get together and then you create a landscaping business and then you go from house to house and you help people during the weeknights or the weekends, right? But when you start to become an entrepreneur your whole world changes because your view of how money works, right? We talk about finances. Your whole view about how to generate money changes, right? Because for me it was such a paradigm shift when I started to really understand active income versus passive income.  You know, being an entrepreneur is not going to be an easy journey and it's not supposed to be, right? If it were easy, everybody would become an entrepreneur. And but there are going to be definitely tough times and challenges that arise in your journey as an entrepreneur. But these are normal things that an entrepreneur has to go through, right? When you go through these challenges, you know, it actually makes you a more effective and a better entrepreneur. You're able to better solve people's problems. You're able to better help people, right?  I'm in the financial industry and so are you. You know, this is an industry that we're always constantly looking for good people. This is an industry that is a very high paying industry and very underserved, meaning that there's so much market for what we do but we don't have enough people to help more people. So if you go, well, I mean like, you know can someone like me be part of the financial industry? Absolutely, because that's how I started. When I first started as an engineer, I had no financial education or knowledge, no experience in business at all.  So, you know, if you are interested in learning more about what we do, how you can create an income part-time that could eventually, you know bring you the freedom that you desire. I know Raeanne has some contact information, you know, to help you wrap up this call. Thank you so much for that, Ben. Yeah, you're right. There are so many benefits, you know you mentioned some tangible benefits and intangible benefits to being an entrepreneur.  Can you share with them some resources at the Financial Center that they can tap into to really help them with their financial goals? Yeah, so absolutely. In our Financial Center in Honolulu, we do financial workshops every Tuesday night at 7 p.m. and every Saturday morning at 10 a.m. So these workshops are really good because they're designed to be very easy to understand. We teach topics like how to pay off debt, how to be able to invest, what are, you know, the ways that you can properly protect your family. So a lot of these topics that we teach in our financial workshops are very, very powerful topics that we start applying them.  It's open door policy. Anytime, you know, somebody wants to come and take a workshop, they're more than welcome to. So if you're interested in, you know, taking financial workshops, you know, Rayyanne has some contact information for you in just a moment. Yeah, absolutely. You know, we love those workshops. I think they are a great start to, you know, and it really doesn't matter where you are financially, whether you have some experience or no experience at all. I think the workshop can really benefit anybody and everybody. In fact, we have all walks of life that come in and attend the workshop from, you know, high school students because I do believe that the earlier we start financial education, the better. So we have, you know, people of different ages, people who have already retired or looking into maybe their next phase in their retirement season and where they have a lot of questions about Medicare, long-term care. There's so much that you can learn from the financial workshops. So we do want to invite every single one of you to come and join us. You'll see my contact information on the screen very shortly. So give us a call. And until we see you next time, I just want to thank you so much for joining us on this show this afternoon. Have a wonderful day.


I present you Kubilai Karechi that works for Bloomberg and he's going to present you load testing on the Python open source project. Kubilai? Thanks for coming everyone. My name is Kubilai, I work for Bloomberg in London, and today I'm going to talk about load testing and specifically a Python-based open source tool called Locust. So this is a product we own in Bloomberg. This is like a spreadsheet application specialized for the financial markets so you can have a list of securities you want to follow like stocks, currencies and stuff and you can have real-time market data on the columns and you can build a market monitor using this application. We also support real-time editing and collaborative editing and sharing. So it's a new cool product but we are still in the process of releasing it so it will eventually be released to all of our user base but we are not there yet. So that's why we usually have meetings to discuss our release, should we speed up things or should we slow down and focus on some bugs and stuff. So in one of those meetings we ask this question to ourselves like what is our capacity? And we notice that we don't have a concrete answer to that which we should have. That's why we decided to invest some time on this and to find out what our capacity is. So how can you find out your system capacity? Is like you can do this by exploring your system qualities. Well, what can be those qualities? It can be capacity in terms of your infrastructure. Is the infrastructure size adequate to your needs or does your system respond quickly enough? Or can your application grow to handle feature volumes in terms of like scalability? And does your system behave correctly under load which is a stability concern, right? So how do you assess those quality points? There are a few methods I will mainly mention performance testing, load testing and stress testing because they have some overlap but they're also a bit different from each other so I just wanted to briefly mention them. In performance testing you are evaluating the performance of your component against a benchmark. You don't have to create a high load but instead you tune your application and your testing to establish a benchmark behavior and your aim is not to find defects in your application by performance testing. Load testing on the other hand, this time you feed the system with the largest task it can possibly handle then you gradually increase the load until things start breaking. So you do this by creating a simulation of virtual users so you try to replicate your real users with the simulation and in this case your goal is actually find the defects in your application that might be hidden under a regular load but can be exposed under high load. Those can be like memory management issues or buffer overflows and stuff and you also want to determine the upper limit for all of your components in your system so your application can handle the load but maybe your database is hitting its limit or your network is causing problems so you wanna determine the bottleneck in your system. And stress testing lastly it's similar in the sense that you still attempt to break the system down but instead of creating a high load you try to take the resources away from the system. You can like take a few machines down or you can just turn down a third-party service that you depend on and you try to observe the behavior of your application after failure. Ideally you would expect your system to graceful of fail and recover. So I will continue with load testing specifically but before you invest any of these methods there are a few points that I think you should consider. First of all you must have like monitoring tools in place otherwise you won't be able to benefit any of those methods because you won't be able to see the end result basically. And specifically for load testing you need to identify the usage patterns of your application like because in the simulation you want your simulation to be a representative of your real users, right? So you need to know their workflows and stuff and you need to define your success criteria in measurable terms. Like do you want to handle a thousand requests a second or a minute or do you want to be like responding like in less than 50 milliseconds or so? So you need to define that and that's the last one but definitely not least you should always isolate your testing environment I even have like another slide dedicated to that because when I say isolate the testing environment I mean two things.  And you should also isolate the clusters that you generate the load from the system that's under test because like load testing will require a lot of CPU power and it will use a lot of resources. If you do the testing on the same machine where your service runs then you will be taking resources away from your service basically. So what's Locustin and how does it help with load testing? It's an open source project, it's Python based and it allows you to define your user behavior in code which is super powerful I will come to that and it's based on coroutines and it's an async approach which makes it very easy to scale and distribute the load. It's also a validated battle tested product we use it in Bloomberg but I have heard that like the video game Battlefield they use it before releases they create like millions of virtual users using Locust to test the game. So Locust provides like two different interfaces to run the test first one is basically command line tool you can provide the no web option and you should provide a Locust file this is where your user behavior is in code I will come, I will show some examples of Locust files then you provide the number of users you want to generate which is a hundred in this case and you need to provide a hatch rate this is the rate which Locust will generate your users and you can provide an upper limit 1000 in this case like stop testing when you hit 1000 requests and it will print the stats to the console or you can use this web UI you can again provide the similar parameters for your testing and once you hit start swarming then you will see this nice dashboard I don't know if you can see but you can see the request types and request names and you will see a bunch of statistic about those requests like number of failures, average response time, maximum response time and stuff and there are like a few tabs at the top in the failures or exceptions tab you can see a categorization of your failures like you can see which requests are failing with which error code so if you have good error codes for example you can notice your database is failing before something else and that button is to stop the testing which is important and this is a very simple Locust file you need to provide two classes in your Locust file which one is the one at the bottom which is the entry point it's a Locust class and website task is the task set you want to execute so in the task set you need to use the task decorator to define your users action in this case this is a simple website it has just two pages, home and profile and as you can see task decorator accepts an integer argument which is basically the weight you can assign to that action in this case home page is like more popular than the profile page so you can assign a higher rate this is where you can apply your usage pattern to the code and Locust also gives you a special hook it's on start hook this will be called only once when the user is generated so if you need to do any preliminary work you can do things like authentication or if you want to get random users from somewhere you can do that so that you don't have to do extra work in the actions itself and in the Locust class you provide the task set you just implemented and you can also define the minimum and maximum weight time and this is the time that Locust is going to weight before sending the next request for that user so it's either going to it's going to weight some seconds between five and 15 in this case but what makes so I forget to mention so by default Locust comes with an HTTP client so if your service communicates in HTTP you don't have to implement anything more than this but if you have some like crazy protocol for your service it doesn't know about HTTP which was the case for us you can implement your own custom clients and give it to the Locust so in this case we assume that you have a Python client that can communicate with your service and in this case we just wrap this send request method with this class so Locust provides you like exposes events so as long as in an action as long as you fire a failure or a success event that action will be recorded in the statistics so in this case we try to send the request using our custom client if it fails with an exception we send the failure event if it succeeds we send the success event for this event you need to provide some parameters like the request name, request type, response time so you need to measure the response time by yourself or you can also provide the exception type to get a categorization of your errors in the dashboard so this is how you can write a custom client for Locust basically once you have that you need to this is the entry point again you need to just initialize a custom client and assign it to the client in the Locust class so you write your tests and how do you run them how do you deploy them we use containers because mainly they are well suited for such tasks they are singular tasks and they are lightweight they are very easy to deploy and the most important thing is Locust works in a master and slave fashion so you can bring up as many slaves as you want to create a higher load so when you have a single container for each slave you can just bring up as many containers as you want and you can just register them to the master Locust instance and you will be able to generate a high load in this case we use like Docker Compose and it's just a simple argument to the run command like we want to create a Locust instance with like say 20 slaves and it will just bring up 20 plus one containers and all of them will start swarming so this is like simple diagram of architecture on the left this is a isolated cluster where our test runs we have a single master a bunch of slaves we also use a Redis instance to share the data across slaves we prepopulate some data from our database into Redis before running the tests so we have like some user IDs and some other stuff in the Redis and slaves can just pick around the user ID from the Redis instance and start sending requests for that user to our alpha cluster which is like isolated so our services is running on alpha in this case so yeah we did some test runs and they were quite embarrassing actually so while testing with a load that we were expecting to have soon we noticed many drop requests in the test and it was a single request in our service that was taking too long and blocking others and the queues were filling up pretty quickly so we were dropping the request so in order to find out the exact problem in that request we had to add more instrumentation around our database queries around our third party service calls so then after more instrumentation we did the tests again and we noticed that we actually introduced regression in a database query very recently there was like very obvious optimizations so we just fixed the query and shipped the results shipped the code and this is what we get as the results so this is average response time for that request specifically and yellow line is our development environment pink line is our production and purple is our beta environment as you can see today we fixed the issue on development it just went down from like three seconds to just a few milliseconds then you can also see the stage rollout like we have a few stages in beta and production so it took a few days to eventually hit production the fix was on production then they all went down to a few milliseconds so this was like a bit of a success story for us using Locust and yeah that's all I have today and thanks for coming and if you have any questions what do you think about using the regular computers the desktop computers of the people as a... to generate the load be sure that you restate the questions so that the recording captures them so the question is like whether you can use your regular computers to generate the load this is actually possible and it's a good solution because your computers are like pretty powerful compared to what you have on the cloud so you can... yeah some of the tests I was just running them on my computer it has like 16 cores or something, 8 cores and yeah you can use them and if you can just build a small network of computers and distribute load among them yeah that's possible and it's a good idea I guess it's possible to share data between users I mean let's say a user created data and another user with other right let's say an admin user, a super user will use this data is this possible in Locust? so the question is like whether it's possible to share that data between like slave instances or any instance of Locust no, like you can communicate with the master but that's why we were using Redis so basically for example in our case when a user like created a resource in our database it was also inserting the idea of that resource to Redis so that some other user, some other slave can do some operations based on this so you need to have a like shared instance of something that both can use yep I familiar with JMatter as the question is am I familiar with JMatter and what's like, can I compare them like I heard about it, I read about it I haven't used it but I think it's not possible to provide custom clients like that doesn't communicate in HTTP in JMatter maybe you can, I don't know but and also you cannot provide your user behavior in code I guess can you? Yeah, okay okay yeah, like we compared some solutions but I haven't actually tried running a Lotus with JMatter so the question is how do we analyze the results and can we like integrate with the CI to fail the build or something right now we haven't like completely automated the process so it's not running on CI we have to like it's just a single comment but we have to manually run it so right now what we are thinking about is like Locust gives you like CSV file with the response times and stuff so we want to have that job running on CI on Jenkins maybe not every, for every pull request but like regularly during the day and just compare the differences like for specific requests and we can maybe if it's up like 10% just fail the job and something like that you can do that Able to import curl archive scenarios to fill in automatically I don't know so the question is, is Locust is able to import what? Support curl archive files curl archive files no, I haven't seen anything like that but I don't know to be honest Are there cases where you discovered a problem in production that Locust didn't detect and can you, did you tell us what you learned from that if there were? So the question is if we notice something on production that Locust failed to detect no, we haven't so far but maybe they are still there and maybe we haven't noticed them yet Yes, please at the back GI, I can't feel it here What's the question? Have you ever tried Locust in GRPC, like Google RPC? So instead of using HTTP protocol we were, the question was whether you can use GRPC protocol as I can say we can, we are using like totally custom in-house protocol so if you have a GRPC client in Python yes, you can do anything even Is there any support in Locust for REST higher level REST than just talking HTTP and implementing myself? So the question is whether there's support in Locust for REST like at a higher level than HTTP no, I think it just gives you a better HTTP client then on top of that maybe you wanna have some abstractions Is it, I'm thinking about use case with Locust where the load injectors are not on the same machine nor even the same network but on different networks and different clubs to have some kind of swarm of connection Is it possible to do this given the latest constraints? So when you want to like Restate the question Yeah, I was going to So the question is when you want to like create a higher load with a like a bunch of different clusters where they are not in the same network how do you share data between them basically? So Redis is like just our solution you can still have a like common place or you can split your data so we use Redis to prepopulate some data you can split your data like for some specific users just go to this machine and some others use that so they like among clusters you don't need to communicate Yes So the question is what do we use to represent our test reporting? So right now we are just like manually scheming through the CSV files and we have a dashboard with our like instrumentation so we are just going through them and analyzing the results but when we move to CI we need to have an automated process to basically compare the results between different ones No, they are not automated So the question is what's the next step for this project? For us, first we have like we have two goals we want to automate the process definitely to have it on CI and also we want to test some other backend service that is completely in a different protocol so we would like to write a client for that and it's like a PubSub mechanism so we want to test those as well Yeah, so the question is how do you prevent like using the same data getting the same data from Redis among different like local slaves we just remove the data so if one user used the data it will just remove it from Redis Yeah, it's in the code but what we do is like if initially you can provide the number of users you want to generate so we take that number and prepopulate the data according to that so if it's 1000 users we will have 1000 different user IDs in our Redis instance so each one can take just one Thank you, thanks, welcome