Hi, everyone. I'm Mohim Nakalkar, and I'm a PhD student at Cornell. Today I'll be talking about our paper on MPC-friendly symmetric cryptography from Alternating Modulate. And this is joint work with several wonderful co-authors from all over the world. So let me start with some motivation. Symmetric primitives have been used extensively throughout cryptography, and computation was initially done by a single party, but recent applications have required evaluation in a distributed setting, where inputs and keys are secret shared among two or more parties. And this is somewhat non-ideal for standard constructions like AES and SHA, which were optimized for centralized evaluation and not designed with this distributed setting in mind. So this kind of stimulates a natural area of research to design so-called MPC-friendly primitives from the ground up. Our work continues the exploration of this area. So let's take a step back and try to understand what goals would be useful for MPC-friendly cryptography. So to start, the constructions should have as little non-linearity as possible, since non-linear functions are more challenging to implement in MPC. So concretely, we want to minimize two parameters, non-linear depth, which is the depth of the non-linear components, and non-linear size, which is the total number of non-linear gates. The type of non-linear operation does matter, but these should be good enough proxies. Our other design goals revolve around security. The first is for these constructions to have a high algebraic degree, which is beneficial for security. And second, we want simpler designs and simple conjectures of security, because they're easier to implement with fewer errors and are also usually easier to reason about and cryptanalyze. So how is it that constraints like small non-linear components and high algebraic degree can coexist at the same time? So towards settling this apparent conflict, a line of work started by Bonnet at all and continued by Chion at all, looked at a new paradigm for constructing primitives. This was advertised as part of the so-called crypto dark matter, which they defined as a large space of unexplored areas of cryptography, focusing primarily on simple constructions and efficient protocols for practical applications. Their focus was on this alternating moduli paradigm, where the high level idea is to have constructions that compose linear functions over different moduli. And linear functions are easy to evaluate, so these constructions will be quite efficient, and since most of the computation is linear, the non-linear size should also be low. The security argument for these constructions needs to be carefully analyzed, and the two papers I mentioned initially started the study in this direction. So before I describe the contributions of our work, I'll set the stage of the candidate weak PRF proposed by Bonnet at all in this alternating moduli paradigm. So just as a quick reminder, a pseudo-random function is a keyed function that looks like a truly random function. So basically it's difficult for a poly-time adversary to distinguish between an oracle that uses a PRF and an oracle that uses a truly random function. And for a weak PRF in particular, there's an added restriction that inputs are chosen uniformly at random instead of allowing the adversary to pick them. So the main candidate proposed by Bonnet at all was the 2-3 weak PRF, which composes linear functions mod2 and mod3. This is parametrized by the length n of the input, the length m of the intermediate vector, and length t of the output. And they also use a public z3 matrix B of size t by n. So for the construction, the key is a z2 matrix of size m by n, the input is an n-bit vector, and the output is tz3 elements. So now the candidate works as follows. First, it multiplies the secret key matrix with the input, and this is a non-compressive secret linear map over z2. Next, w equals kx, which is the z2 vector, is reinterpreted as a 0-1 vector over z3. And finally, this is multiplied with a public matrix B over z3 to get the output y. In other words, the modular are mixed by first taking a linear mapping over z2, then converting the intermediate vector to z3, and then computing a linear map over z3. So why is this conjecture to work? So as it turns out, a linear map over z2 is a high-degree function over z3 and vice versa. High-degree isn't it, it cannot be approximated by low-degree polynomials. Another conjecture from Bonnet et al. implies hardness of learning for low complexity classes, like depth to ACC0 and width-rebranching programs. So this work continues the exploration of designing new candidate constructions in this alternating modular paradigm. So while Bonnet et al. only consider PRFs, we ask whether we can construct simple candidates for other primitives, like one-way functions and pseudorandom generators. So we'll also present a candidate weak PRF, where the key input and output are all over z2. So this is useful for settings where the output of the first PRF evaluation is kept secret and fed in as input into the second evaluation. So for all of our candidates, we perform substantial crypt analysis and use that to inform our parameter choices. And later we'll give efficient distributed protocols for several settings with and without pre-processing. And all of the protocols will only consider semi-honest parties. And finally we'll talk about some applications, and two primary applications we considered are OPRFs and signatures. So I'll now proceed to introduce our candidate constructions. The general structure of all of our candidates is quite similar. So we're parameterized by n, m, and t as before. And the core design now is to first map the input x to an intermediate w with non-compressive linear maps. And then map w to the output y with compressive linear maps. And these linear maps will be over different moduli. The first construction I'll describe is our candidate one-way function. So recall that a one-way function is an efficiently computable function that's hard to invert. So given a random y, it's difficult for an efficient adversary to compute the pre-image. So now our candidate two-three one-way function has the same structure as the two-three weak PRF candidate. Except now the key k is replaced with a public matrix A. So now you have a public linear map over z2, which uses A. And then a public linear map over z3, which uses B. I'll briefly describe an interesting attack on the two-three one-way function based on a reduction to a subset sum. So this is the only attack I'll describe in this talk. A lot more cryptanalysis was done for this candidate as well as the other candidates I'll describe. And all of this can be found in the full version of our paper. So for the two-three one-way function, the attacker is given a output y and attempts to invert it. Now given a vector w, there exists a parity check matrix p, such that pw equals 0 if and only if there exists an x such that A times x is w. So that is when there is an inverse x for a given y, then p times w equals 0 and bw mod 3 equals y. So now this basically boils down to finding the subset j of indices from 1 to m such that the sum over j of p times ej mod 2 is 0. And the sum over j of b times ej mod 3 is y. So here ej is the jth unit vector, which is a vector with zeros everywhere except for the jth entry, which is 1. So it's easy now to see how this is basically the subset problem except now over z2 cross z3 instead of the integers. And here the variables are the unit vectors. So we choose our parameters to resist attacks based on advanced subset sum algorithms. The second construction I'll introduce is our candidate weak PRF where the key input and output all need to be over z2. So for this candidate, we'll multiply the key in the input both over z2 and z3. So more specifically we'll compute u equals kx mod 2 and then v equals kx mod 3 mod 2. And now the intermediate vector w is taken as u plus v over z2. So finally, as in the previous construction, y is computed from w using the public matrix b. The only difference here is that b is over z2 rather than z3. So for this construction, each bit in w can be thought of as a deterministic LPN instance with noise rate one-third. So this noise is provided by v and each bit of the noise can be thought of as based on the input x and a specific column of the key k. So it turns out that this candidate is actually quite similar to the alternative weak PRF candidate proposed by Bonnet at all, but with a couple key differences. So for one, their output was a single bit and basically was the intermediate vector. And second, because of this, they did not have this final linear compressive mapping using b. So from a crypt analysis standpoint, having multiple output bits decreases security, but from our analysis, having the final compressive mapping offsets this loss. And finally, I'll briefly introduce our candidate length doubling PRG, which needs to be able to generate two n bit strings that look uniformly random. So the PRG has essentially the same structure as the LPN weak PRF, but now instead of using the key k, we have a public matrix a over z2. And for security, we'll need to make sure that the intermediate vector is slightly longer. So we performed extensive crypt analysis on all of our candidates, including the one from Bonnet at all and used it to influence our parameter choices. So in this work, we primarily focused on combinatorial attacks and statistical tests for S bit security. Here's the parameter table for our candidates. So we give both aggressive and conservative choices for our two, three candidates. And notably, our one-way function PRG candidates have S bit inputs, which is minimal for S bit security. And this is possible in principle for LPN weak PRF as well, but at the cost of other parameters, which hurts NPC friendliness. One other thing to note here is that since our constructions are quite new, it's not unlikely that even the conservative parameters could be broken. So we definitely welcome more crypt analysis. I'll now move to describing efficient protocols to evaluate our candidate constructions. As mentioned before, we focus on the semi honest setting and provide protocols for several distributed settings with and without pre processing. And all of our constructions use just five types of gates and protocols for these gates can be generically composed to evaluate any candidate. So the five gates we use are pretty straightforward. The first three are commonly used simple linear and additive gates. And then we have two other modulus conversion gates to convert between shares in C2 and C3. So the C2 and C3 gates, so the C2 to C3 gate converts shares of X over C2 to shares of the same X over C3. And the Z3 to Z2 gate converts shares of X over Z3 to shares of X mod 2 over Z2. And we'll provide efficient protocols for these modulus conversion gates. So in terms of gate protocols, the linear and addition gates can be computed locally and this directly follows from the linear homomorphism of additive secret sharing. Now for the bilinear gate, where both the matrix and the input are secret shared, either we can use standard multiplication triples or something like OLE or vector OLE correlations for unkeyed primitives or when the same key is used to evaluate multiple inputs. For our modulus conversion gates, we'll use a special type of preprocessing. To convert from Z2 to Z3, we'll use a 2-3 correlation, which is a random bit that's shared both over Z2 and Z3. And for the conversion from Z3 to Z2, we'll use preprocessing of the following form. A random R which is shared over Z3, R mod 2 which is shared over Z2, and R plus 1 mod 3 mod 2, which is also shared over Z2. And given these correlations, the protocols for evaluating the gates turns out to be quite straightforward. So I won't go into detail here. But later I'll also describe efficient techniques to generate the correlations that we require. So these gate protocols can be easily composed to compute the overall protocol cost for our constructions and also for other similar constructions in this alternating modular paradigm. We can optimize some of the cost of preprocessing using standard techniques, like using the same mask for the same input or compressing the preprocessing using a PRG. For our constructions in particular, since the bilinear gate will often feed into the modulus conversion gate, which requires reconstructing the masked input as its first step, we can also reduce the preprocessing by masking the output within the bilinear gate itself. Another highlight is that all of our preprocessing is PCG friendly, in that the correlated randomness that we require can be generated with sublinear communication cost and good computational efficiency for multiple instances at the same time. So here's a table with the concrete costs for evaluating our candidates in different settings, including the distributed 2PC, distributed 3PC with replicated shares and no preprocessing, and the public input 2PC with preprocessing. So online communication is given in bits, number of messages, and number of rounds, and preprocessing is given both without and with compression. Now as I mentioned earlier, I'll talk briefly about how we can distribute the dealer. For the bilinear gate, the preprocessing used can be easily compressed using existing PCGs for OLE and Vector OLE, and there's results in getting K correlations with far fewer than K bits of communication. For modulus conversion gates, we show how to efficiently generate preprocessing from OT correlations, and since OT correlations can be easily compressed with PCGs, this implies that all of our preprocessing can be efficiently generated. Overall, distributing the dealer does not actually add too much to the online cost. So as a concrete example for the 2PC setting with a 2-3 week PRF, the total online cost is only 23% higher. So now I'll talk briefly about how we generate our specific correlations. So the functionality for the 2-3 correlation is to generate shares for the same bit over C2 and C3, and for this we'll use one out of two OT correlations over C3. So here, Party 1 is given X0 and X1, and Party 2 is given a bit B and the corresponding XB. Now, when X0 and X1 are different, the conversion between the OT correlation and the 2-3 correlation can be done locally. So all that remains is for Party 1 to communicate to Party 2 which correlations it needs to throw out. And this on expectation takes 1.3 bits of communication per instance.  And for this, we'll use one out of three OT correlations where each entry is a 2-bit string. Now the parties in the protocol use these correlations in an OT protocol where Party 1's input is a random permutation of the Z3 truth table for U and V. So essentially we have two bits for each Z3 value and a total of six bits of communication in one message from P1 to P2 per instance. I'll now move on to talk briefly about our implementation and benchmarks. So we implemented our 2-3 weak PRF candidate and I'll first talk about the centralized implementation and mention the optimizations that we used. So first we represent Z2 vectors using 64-bit machine words and operate on them in an SIMD manner. Next we used the Z3 vector and represented it with two Z2 vectors with the least significant bits and the most significant bits of the vector. And third, we used a lookup table for the public matrix multiplication. So overall these optimizations make the implementation 25 times faster than the baseline. We also implemented our two-party distributed evaluation protocol along with the original protocol from Bonnet at all. And for this we also used the optimizations I talked about in the previous slide. So we found that our distributed protocol is about two to three times better than theirs on all fronts like pre-processing, computation, and communication. The core reason for this is our efficient modulus conversion gates versus Bonnet at all who used OT in their protocols. I'll now briefly describe some of the applications that we considered. The first application I'll talk about is oblivious evaluation for PRFs. So here there's two parties, the server who has the PRF key and the client who has the input. And the goal of the protocol is for the client to learn only the output while the server learns nothing about the input. And we'll provide two efficient protocols for the two-three weak PRF to compute it in an oblivious manner. So when the same key is used to evaluate multiple inputs, we don't need to mask the key again. So we'll pull this part out and put it into a key update phase. And now this phase needs to be run only when the server wants the key to be changed. For the actual input evaluation, the overall protocol is quite similar to the distributed evaluation. But now since the key has already been masked, some of the messages can be combined and sent in earlier rounds. So for the protocol, the client will compute its mask input and its share of the masked intermediate vector and send both of these to the server. The server will now compute its own share and use this to reconstruct the masked intermediate vector and use this to compute the final output share of y and send both to the client. So the client can use these now to compute its own share of y and then use the server's share to reconstruct the output locally. So for the input evaluation, note that the communication is optimal. We only have one message from the client to the server and then one message from the server to the client. Our two protocols only differ in how the key gets masked. So in the first protocol, the mask is additive, and in the second protocol, the mask is multiplicative. So we compared our two OPRFs to each other as well as to the standard DDH based OPRF. The second OPRF has a smaller evaluation cost, both in terms of communication and computation, but a higher cost to update the key since it involves a matrix multiplication. But still, both of our constructions are much faster to compute than a DDH based OPRF. They do require preprocessing and slightly more communication. But in fact, a highlight of our protocol is that they're faster than a single modular exponentiation or elliptic curve point multiplication. Plus, there's still room for hardware-based improvements so that the gain might be even higher. Our protocol is also two to three times better than the OPRF protocol from Bonaire for the same two to three week PRF. And from the table, you can see for communication, our protocols require 897 and 641 bits respectively compared to 512 for the DDH based. So the communication cost is only slightly higher. And even if no preprocessing is allowed, our online cost is only about 30 to 39% higher depending upon how frequently the key needs to be changed. So further, if we attempt to compare using communication and computation together at the same time, given a six-ish Mbps network, our first protocol would be overall faster than the DDH based OPRF. And for the second protocol, this happens with a two Mbps network, which should be very reasonable in practice. The other application I'll discuss is signature schemes. So at a high level, given a one-way function and a distributed protocol for computing it, Picnic provides a generic method to construct a signature scheme from this using MPC in the head.  And now you open tau of these instances and they can be checked by the verifier. So opening here means that you reveal the transcripts of the parties in the MPC and allow the verifier to check that they're consistent. And finally, you can use the Fiat-Chemir transform to get non-interactivity in a standard way. Another thing to note here is that these signatures can be made post-quantum using other transforms. We compare the signature sizes when using R23 one-way function versus low MC, which is used in standard Picnic. And for the same parameters, we can see that the signature sizes are quite comparable. In fact, they're slightly smaller across the board using R one-way function. So for example, for 128-bit security for the same Picnic parameters, R one-way function has signature size 10.66 kilobytes versus 12.36 kilobytes when using low MC. Another benefit is that using R one-way functions, we could have potentially much better communication for distributed signature evaluation. Since now you have many different parties computing the signature jointly. So here using low MC will result in a lot of rounds of communication since it has a high depth. But R23 one-way function, which will require much lesser communication. I'll also briefly comment on other applications. Our biggest competitive advantage over other approaches is likely to be for the two and three party evaluation of PRGs and the weak PRF in the fully distributed setting. So in particular, current techniques like OPRFs don't work in this setting. So for these kinds of applications, our candidates will be suited best. So for instance, our fully distributed weak PRF protocols can be used for distributed searchable encryption. Also, since our LPN weak PRF has inputs and outputs over Z2, it's natural to use this for applications like hierarchical key derivation, where the output of one evaluation needs to be kept secret and fed in as input to the other evaluation. Another application is to use less doubling PRGs to securely compute keys for function secret sharing. Finally, I'll conclude with some remarks. The space of constructing symmetric primitives with simple designs is still very much unexplored. And more crypt analysis is definitely needed. And as for some open directions, it would be interesting to have constructions for other primitives like block ciphers and hash functions. It would also be nice to have efficient protocols that have malicious security, which is a natural follow up question. Thank you.


Rebar, be nut. You are going to feel it. Feeling to it. The pressure. The outside is good. The pinching might mean that you pass through. You want me to do the OB course while you're getting dressed? And we can stop it. Come here, come talk to me right now!


Bismillahir Rahmanir Raheem, Alhamdulillah, Alhamdulillah Rabbil Alameen, Wa Salatu Wa Salamu Alakashakal Ambiya'i Wa Al-Mursaleen, Sayyidina Muhammadi wa Al-Alihi wa Ashabi Al-Maheem, Amma ba'al ba'udu Billahi wa Shaytan Al-Wajim, Bismillahir Rahmanir Raheem. I bear witness that there is no worthy of worship except Allah Subh'anaHu ta'ala and that Rasulullah ﷺ is the last and final messenger. To the respected brothers, sisters and elders, it is a great bounty and great na'amat of Allah Subh'anaHu ta'ala that has allowed us to come into his home and offer the Friday prayer, especially given the circumstances we faced this past year. Let us all thank Allah Subh'anaHu ta'ala for this opportunity and we pray that insha'Allah we come back to a sense of normalcy where we can continue to come back to the home of Allah Subh'anaHu ta'ala and the masjid, offer our ibadat, so on and so forth. With Ramadan fast approaching, many of us know Ramadan as the month of Allah Subh'anaHu ta'ala, of the month of the Qur'an, in which the Qur'an completed its entire revelation. But it is also the month of mercy, the mercy of Allah Subh'anaHu ta'ala. And something that I want to speak to, particularly for our youth insha'Allah, is this sense of losing hopefulness in Allah Subh'anaHu ta'ala, or feeling like overwhelmed that this hopeless feeling of my sins are too great or that I am not worthy of Allah Subh'anaHu ta'ala's love or His mercy. Arguably this is the greatest tool shaytan uses against a believer, this sense of hopelessness that you are too sinful, that Allah Subh'anaHu ta'ala will not forgive you, or that there were so many pious people before us and even during our lifetimes, why would Allah Subh'anaHu ta'ala forgive and elevate someone such as ourselves. This is a great, great misconception of the nizam of the way that Allah Subh'anaHu ta'ala brought us into our existence, the purpose of our existence and His love for us. There are a few different reasons why this misconception may exist, particularly among our youth and we don't have time to maybe go over all of them but I will address a few. One is this sense that during the time of Rasulullah sallallahu alayhi wa sallam as well as the Anbiya alayhi sallam of the past, that there is a sense that everyone was perfect, that the companions at that time were perfect, it was just a perfect era among the Muslims and only the disbelievers were those that erred or that may have made any mistakes or anything like that and inshaAllah that's one thing I want to address inshaAllah. There was a young boy, a very young boy who came to Rasulullah sallallahu alayhi wa sallam and he once said, he said, Ya Rasulullah I've committed such a great sin, such a great sin will Allah Subh'anaHu ta'ala forgive me and Rasulullah sallallahu alayhi wa sallam said yes. But the boy persisted and he said, Ya Rasulullah the sin I've committed is so great that it's greater than this earth and everything it contains will Allah Subh'anaHu ta'ala forgive me and Rasulullah sallallahu alayhi wa sallam responded yes Allah will forgive me. But he persisted even more, he said, Ya Rasulullah my sin is so egregious and so great that I fear it is bigger than the throne of Allah Subh'anaHu ta'ala. Then Rasulullah sallallahu alayhi wa sallam responds and said, no matter how great your sin is, it is not greater than the mercy of Allah Subh'anaHu ta'ala. There's a reason every day in every prayer we begin with Bismillah ar-Rahman ar-Raheem. There's a reason when we look at the 99 names of Allah Subh'anaHu ta'ala, the first two are ar-Rahman ar-Raheem. There's a reason that it's very early in Surah Fatiha. It is because this is who Allah Subh'anaHu ta'ala is, first and foremost above and beyond all. He is Rahman and he is Raheem. And there are daily inconsistent reminders for us of this fact. The other potential misconception that exists or the reason it exists is sometimes our youth might feel that they're not able to talk to imams, scholars or elders with issues that they're going through. I just highlighted the example of the young boy and there was another young man who was speaking with Rasulullah sallallahu alayhi wa sallam once. And as they were conversing, a young woman walks by and the boy as he's speaking to Rasulullah kind of looks away and starts staring at the woman that is walking by. Kind of like a Bollywood movie type of moment, right? But Rasulullah sallallahu alayhi wa sallam, his reaction to this is probably what's most beautiful of the story. Most of us probably fear being reprimanded or yelled or scolded at in a situation like this if it were to happen today in front of our parents or in front of an elder. But Rasulullah sallallahu alayhi wa sallam simply took the boy from his chin, from the lower part of his face and churned his head away. It was a very gentle and very impactful way to deal with a situation like this. So inshaAllah we will talk later about certain pieces of advice that can help us not lose or not fall into a state of hopelessness later on inshaAllah. And one of these is to find a scholar, an Imam or someone we trust to inshaAllah talk about any questions or issues we may be going through. And the mercy of Allah Subh'anaHu Wa Ta'ala is prevalent as we keep looking for those signs. Surah Zuma ayah 53 Allah Subh'anaHu Wa Ta'ala mentions that if it were to come a time in which if it were to come to a time in which there is a nation that exists that is perfect that there is no sins of this nation whatsoever Allah Subh'anaHu Wa Ta'ala will take that nation and replace it with a nation that does sin but asks for repentance. If Allah Subh'anaHu Wa Ta'ala wanted us to be perfect, if the nizam was to be perfect Allah Subh'anaHu Wa Ta'ala already has his angels and when Rasulullah went on his journey in Me'raj he saw that 70,000 angels would kind of come and go and be doing tawaf in the heavens and constantly in a state of worship in front of Allah Subh'anaHu Wa Ta'ala. So if perfection was the goal for human beings Allah Subh'anaHu Wa Ta'ala would not have created us. There was no need for him to create us. It is part of the reason was that we would make mistakes but come back and repent to him and this is one of the most beloved actions by Allah Subh'anaHu Wa Ta'ala. There are many other stories and narrations about the kindness and the mercy of Allah Subh'anaHu Wa Ta'ala. The example I mentioned earlier was a hadith but in the Qur'an in Surah Zumar Rasulullah Subh'anaHu Wa Ta'ala says those that make commit a sin Surah Zumar Ayah 53, those who commit a sin be among those who repent so that you are the best among those who commit sin. So Allah Subh'anaHu Wa Ta'ala's instructions to us are less about don't commit sin although that is there. It is more of what to do after committing a sin because it is an inevitable part of human nature. So inshaAllah let us realize this, let us implement this understanding and let us inshaAllah talk about a few pieces of advice that we can implement so that we are in constant remembrance of Allah Subh'anaHu Wa Ta'ala's love for us, his mercy towards us and his capacity to forgive us. Wa Ahlu Da'wana Anil Hamdulillahi Rabbil Alamin. Bismillahir Rahmanir Rahim. InshaAllah just a few pieces of advice inshaAllah that we can use to inshaAllah not have this sense of hopelessness. One of those is always being the remembrance of Allah. Particularly when we are going to bed or early in the morning. Let us take a few minutes, even a few seconds to just say Allah Hu Akbar Alhamdulillah and Subh'anaHu Wa Ta'ala. It will help us realize all of the bounties and ne'amats from Allah Subh'anaHu Wa Ta'ala that he has given us, the privilege he has given us and his immense bounties. And when we start to reflect on this and by starting to do zikr of this it will help us remember Allah and more importantly identify Allah for who he really is, rather than be burdened with this misconception and this hopelessness inshaAllah. The second thing that we can implement inshaAllah is our prayer. Whether we're in school, whether we're at our work, whether we're an athlete or anything in between, there's always a path to success. There's always a path to success. There's a lot of different things happening at a time. If we're in school, for example, we have to take many classes, we have to do extracurriculars, we have to do SATs, so on and so forth. The nizam of this dunya for a believer is the same. There's acts of worship, there's giving charity, there's doing Hajj, there's fasting, so on and so forth. But the one thing that we can always point to as our North Star is our prayer. For Allah Subh'anaHu Wa Ta'ala has mentioned to us, as it comes in the hadith of Rasulullah sallallahu alayhi wa sallam that on the day of judgment, when our book of deeds is in front of Allah prayer will be the first thing we are taken to task for. And if our prayer is good, then all of our other deeds will be good. But if there is deficiency in our prayer, then there may be deficiency in our other forms of ibadah as well. So this is a clear sign for us. When we are feeling hopeless, when we're feeling sad, when we're feeling like Allah Subh'anaHu Wa Ta'ala may not forgive us, let us turn to our prayer and let us make sure that our prayer is sound. So that insha'Allah the hadith of Rasulullah sallallahu alayhi wa sallam holds true that when we insha'Allah are in front of Allah Subh'anaHu Wa Ta'ala with our book of deeds, that it is that if our prayer is perfect, the rest of it insha'Allah will also be perfect insha'Allah. The last and final thing is let us insha'Allah find someone who we trust and who we can speak to, an Imam or anyone of that sort, someone with knowledge. As we mentioned in the examples of the young people that went to Rasulullah and spoke with him, conversed with him, shared with him, there was even a young person who once came to Rasulullah and said, Ya Rasulullah, I want to, I want to fornicate. I want to commit a great sin. Can you please allow me to do so? So can we just imagine for a second, for a young person to have this much confidence to approach Rasulullah sallallahu alayhi wa sallam with such a question, how warm, how loving and how nurturing he must have been to create that safe space for such a young person? Whether we're elderly, whether we're young or somewhere in between, we must A, do our best to create that type of environment for everyone around us and B, align ourselves with someone of knowledge so that insha'Allah, whenever we are in a position where we're unsure or we're uncertain or we're feeling the sense of hopelessness that there's someone to turn to that can help guide us. Just like an athlete or a student, you know, there's a coach, there's a teacher, there's a mentor to help them find success, we must also spiritually find that person for us to lead us to that spiritual success, insha'Allah. And that was the last of the few reminders, insha'Allah. May Allah Subh'anaHu Wa Ta'ala give us the ability to act upon what has been said. May Allah Subh'anaHu Wa Ta'ala give us mercy, allow us to be merciful towards others and to gain His mercy in this life and the next. May Allah Subh'anaHu Wa Ta'ala give us all the success in this life and the next.


Hello, this is Chicho. Some of you know me from the language of mathematics series I did last year. I produced 30 videos, instructional math videos, and sort of throw it out there on the net to see what the response was going to be like. The response was pretty good. A lot of people liked them. A lot of people found them helpful. I got a lot of emails, a lot of comments. So I've decided to do more. Now, I'm just coming out of hibernation in Vancouver. We had a long winter, a lot of rain, beautiful rain, but unfortunately you can't go outside and do any work on walls. But we are into summer. It's June 23rd right now, and I plan on producing more videos. I'm not going to get to them until August. I have a fair bit of stuff on my play right now, but this video is in preparation for that. Now, if you haven't had a chance to go through the videos, if you don't know what I'm talking about, if you go to my website on the right-hand column, if you go down about a third of a page, actually not even a third, just go down a little bit, you see Chicho TV, and on top of there it's called something the language of mathematics series. The first link should be the table of contents which sort of lists all the categories that I've covered so far. And I've also put the stuff on Google video where you can download them. It's larger. I think it should be larger files anyway, so you can view them better. Now, I went through some of the videos, yes, last night, just to give myself a reminder of what I've done. So what I'm going to do is come August, probably go through those videos and fill in any gaps that are missing. I'm going to talk more about zero and infinity. Definitely going to talk about more zero infinity. I'm going to cover some stuff about calculus because some people have sent me an email asking me to do some stuff about calculus. I'm going to have to review the stuff, sort of relearn it. I haven't touched that stuff for a while. So hopefully by August I'll have a chance to go through that. If you need anything covered after going through those videos, the best way to let me know if you want anything covered, if you want me to talk about anything in the math videos, I'm going to be doing. I think the best way would be either to post comments on my website or post them on YouTube.  If there's any comments on the website, most likely on YouTube because there's a lot of comments on there already. So I'm going to go through those and organize my shooting schedule based on what the comments say. Some of it based on what the comments say anyway. So I'm going to definitely cover zero infinity, more about that, some calculus. I'm going to get into functions and maybe get into some parabolas, complete in a square, get into some higher level math, maybe some statistics. But if there's anything that you need covered, please post the comments and when I get to it, I'm going to go through them and sort of hopefully try to cover as much as I can before the summer ends anyway. Now, the earliest you'll probably see the videos online is towards the end of August, September. So hopefully that'll work. I'll kick off the new year. I'm going to try to get as much as I can done and probably exercises will follow later on. So hopefully that'll work out. Again, don't send me emails because I'm sort of trying to organize a lot of data right now. So the best way to do anything to get in touch with me or to get me to look into something, to be able to do a video on it, just post comments. What I'm going to do is probably cover the videos that have the most amount of requests first. So if there's more people that want women cover statistics, normal distribution, I'm going to do videos on that and then hopefully tackle that way. So democracy prevails, I guess. Voting works. So I guess post the comments. I'll go through that stuff. If you haven't seen the videos, if you don't know what I'm talking about, just do a little search for Chicho language of mathematics and the videos should come up. I recommend if you're new to this, start off with the introduction. That's sort of me saying why I'm doing this. Or how about how I plan to go through through with it, what I'm going to present. There's a little bit of instructions. In the instructions I read last night or I watched last night, the one thing I haven't done is part four where putting on videos on the site where I'm actually solving the problems for the exercises. I figured that's pretty much unnecessary. If you do need that stuff, send me again, post a comment and I'll try to get some of that stuff done as well. But I think the most crucial video, well, everything's important. But one thing that covers sort of a base, what we're starting with is a real number set, which on YouTube is broken down into two videos. And you can find it on Google video and one complete video because that you can post longer videos on there. So start off with the real number set as well. So there's three at least you should look at and that's about it. I guess. So post comments. If you send me emails, you know, hopefully I'll be able to organize this so I can get to it, but preferably post a post comments either on my site or on YouTube. And I'll deal with it then. So hopefully I'll talk to you guys come August or the videos will be loaded upon August. I'm going to try to do this in one shot, maybe a two week period or three week period or something like this as soon as I can free up some time. I'm just about to finish up a few different projects. So as soon as they're out of the way, I'll be able to tackle this. And that's about it. But I definitely have to do it this summer. So if you want me to do anything, definitely post the comments in the next month or so, month and a half. Again, we're June 23rd. So you got about two months. Well, if you've got about a month and a half to review the material, try some of the exercises that I do have on my website. If you go to table of contents, you'll see the each section broken down and there's exercises for a lot of the videos. So once you go through that stuff, if you still need information on a certain topic, let me know. And, you know, I'll try to fill in the gaps. And I guess that's about it. Good to be back. I missed I missed doing these videos. So, you know, definitely look forward to it. All right, enjoy the summer and I'll see you guys in August, specifically for the mass stuff anyway.


So here's a new DJI product and hi, so who are you? My name is Patrick Santicci and I'm a Senior Communications Manager for DJI. Today here we have the brand new Osmo Mobile 3 which was announced a few weeks ago. So this is our third version of the Osmo Mobile. This time we've changed the design a bit. Based off the user feedback we actually made it much more portable. One of the key design features is now that it folds up so it's much more easy to transport when you're on the go. So it simply folds up like this and then it locks into this positioning and you have two mechanisms there that hold it in place. So now it's much more easier to bring this wherever you go. But that's not the only thing we've done differently. We've actually changed a few more design features or technical features rather. So when you start it up you have this mode. We instituted the front trigger again and that's similar to what you find in the Ronin S and the Ronin SC is that double tap it re-centers, hold it down, it locks the gimbal orientation and three times we'll flip it around. Whoa, it triggers the... there's like a Bluetooth trigger. Yeah, so when you connect the Osmo Mobile 3 to your mobile device you use a Bluetooth connection and you use the DJI MIMO app. Another really cool feature that we added into here was the portrait and landscape orientation. By double tapping the M button you can easily rotate between portrait and landscape and this is much easier than the previous design which you had to take out the phone and rebalance it and actually flip it over.  And also the ports are no longer blocked. So if you wanted to use an external mic, if you wanted to charge the device while you're using it it's much, much easier now to access that feature. So in this space you just want an external shotgun mic. I'm sorry, repeat that. You can't connect the mic up here or something. Yeah, technically, yeah. And there's even... this is for counterweights but there's even threads on the bottom as well. So another cool technical feature that we've added is the gesture control. So what we're going to do is we're going to go into settings and right there you see gesture control and you also see one press active truck.  A peace sign? Cool. Right? That's pretty cool. Stop. You got to get it right in the frame. Nice. Right?  Oh, it's recording. It's recording. Yeah, you can't switch while it's recording. We also have one press active track and essentially what that does is you can press this front trigger here and anything in the center of the frame will begin auto active tracking. So it's easier if you're like on the go you need to quickly track a subject. All we need to do is hit this front trigger button with that engaged. So what we're going to do is we're going to jump around to the screen. So what we're going to do is we're going to aim at... Are you going to hit it? Ready? So you can active track? Yep. So all you do is hit the front trigger once and look, it shows the subject. You can also select the subject like our other Osmo mobile as well on the screen. One click active track is really useful for like spontaneous subjects you need to track while you're shooting. So that's the gist of the Osmo mobile 3. It came out a few weeks ago. It's been very popular. It's very lightweight. It's very portable. It's compact. It's foldable. It is 109 euros. 109.


What's going on and welcome to the fan to hurry up my name is Tom Vecchio wild card weekend is here We have two games on Saturday three games on Sunday. I'm said to bring you three value plays for your DFS lineups Let's start off at running back with remandre Stevenson for the New England Patriots He's $5,200 another weather game up in Buffalo similar to what we saw during the regular regular season when they were there This means we should be focusing in on the Patriots Rushing game not their passing game technically for this game demon Harris is listed as question. Oh, he should be good to go But if at any point during the game, he's not 100% and not able to get out there We know the Patriots will lean on Stevenson and that's something they've done throughout the regular season He has the trust of Bill Belchek, which is obviously very very important in that rushing offense He'd over 10 carries plenty of times during the regular season He had over 19 carries in three of the past at the final seven games of the regular season for the Patriots He has the second most red zone rushing attempts for the Patriots and second most carries overall So combined with the weather the potential injury situation with Damon Harris Remandre Stevenson at $5,200 is shaping up to be a great value play at running back Let's move on to a wide receiver with Zay Jones for the Las Vegas Raiders $5,300 over the final five games of the regular season. He saw seven targets or more in each of those games He had a 24.9% target share over those final five games, which was actually higher than Hunter Renfrow Yes One of the best receivers in the league had a lower target share compared to Zay Jones Now we do have to account for the fact that Darren Waller is back for the Raiders But Zay Jones ultimately has an easy matchup going up against the Bengals They're right around the league average this regular season allowing 28.3 feint of points per game opposing wide receivers We have a strong 48 and a half over under so combine his trust with Derek Carr $5,300 an easy matchup We should be seeing more scoring in the Bengals and Raiders compared to the Patriots and the Bills Everything shapes up for Zay Jones to be a solid value play at $5,300 Let's move on to Qichon Vaughn at $5,400 on the Sunday 1 p.m. Game for the Tampa Bay Buccaneers Leonard Fernette is expected to be active or activated from IR for the Buccaneers But we know that Ronald Jones has been ruled out. Yes, Levy on Bell is still there But he's essentially a non-factor because he basically didn't do anything in the final few games of the sea Especially the final game of the regular season when Leonard Fernette was inactive Ronald Jones was also out and Bell didn't do anything. So they're not gonna be using him when they're at the most shorthanded I don't think he's going to be factor which means Qichon Vaughn should be that player to step up He has seen over 10 total touches in some of the final games. They're eight and a half point favorites We see the Philadelphia Eagles allowing 22.3 Fandal points per game to opposing running backs Which is the 10th worst in league. So if we do see the Buccaneers up at the end of the game They're probably not gonna be going with Leonard Fernette the player They just back brought back from Angel reserve. They'll likely go with Qichon Vaughn So at $5,400 certainly liking Vaughn in this matchup. Alright, so that does it for this week's Fandal Hurry up. I'll be back next week bringing you more value plays for the next round of the NFL playoffs