Welcome from the central Hessian city of Marburg with its well-known university. With this short video clip, I would like to invite you to be part of the Second German Congress of Applied Linguistics, which will be held here at Marburg University from the 16th to the 19th of September 2014. And this is what we've got for you. We will have top-class plenary speakers who will discuss a variety of linguistic teaching and learning scenarios ranging from high school to lifelong learning. We will have a highly attractive and easily accessible exhibition, which not only involves more than a dozen booksellers, but for the first time also includes an exhibition of teaching and learning technology. Furthermore, we will have a large number of conference workshops and pre-conference workshops all on high academic standards, some of them even with hands-on experience. And in the evenings, well, the warm-up meeting will be in Marburg's five seasons pub from where you can also enjoy a wonderful view over Marburg, central places. And it's only 200 yards walking distance from the opening venue. The official Congress dinner will be held in Marburg University's refectory on Wednesday, the 17th of September, and I can promise you a number of interesting contributions by the Congress participants here. And on the 18th of September, we invite you all to the official reception in the Castle of Marburg, one of Marburg's central attractions. And the biggest attraction? Well, that is, of course, Professor David Crystal, one of the best known and most popular linguists of the world. He will not only entertain us with a plenary lecture, but he will also officially present his new book during the Congress dinner. So all in all, I'm sure that we have an exciting program for you. High academic standards, modern teaching and learning technology, great entertainment, everything at places that are easy to reach and in walking distance. And if you have any questions, just visit our website. Here it is. Register as early as possible and use the pre-conference registration bonus. So come to Marburg and join us in September. We are looking forward to meeting you all.


whiteboard animation videos, free software, you can earn $200 a day. Hey guys, have you seen those whiteboard animations? They use them for businesses. Sometimes they use them for sales pages. They use them to describe stuff. Did you know that you don't have to be tech savvy to do this? Did you know that there's actually free software out there that you can use and some paid ones too? And you can start earning $200, $300, $400 a day or more by doing whiteboard animations. I wanna show you exactly how to do this and where you can get free software and we're starting right now. Hey, I'm JR Fisher. Welcome to my channel. Welcome back if you're part of the Fisher family. If you're not, become part. All you gotta do is click that subscribe button down there and next to it, there's a bell. You wanna smash the bell. It's gonna make this noise, right? And then you wanna turn on all notifications. Click the little line that says turn on all notifications. Now, I've been selling online since 2009. I've sold millions of dollars of both physical and digital products. And on this channel, I share with you all the tips, tricks and secrets I've learned so that you can do the same thing and you can start, run and grow your online business. Now, at the end of this video, I've actually got an e-commerce course that you can get for absolutely free. It's a $97 course. There's a link down in the description. All you gotta do is click the link and learn. It's super easy. You don't need a credit card or anything like that.  Do you know what they are? Let's talk about those for a second. Now, a whiteboard animation is nothing more than an animation that looks like it's on a whiteboard and it's a process and it tells a story in a video form. It looks something like this. Now, the cool thing is the viewers can see the whole drawing process which is actually engaging because they see the story unfold. Typically, these whiteboard animations are narrated or voiced over, which is another charge you can charge when you're charging people and it tells the story step by step. Now, animators generally will use these time lapsed or stop motion style to handwrite a whiteboard. Now, whiteboard videos are actually easier to make than actual videos because you don't have to shoot a video and it's done on a software which I'm gonna show you in a second because there's several free ones out there. Now, here's the cool thing also about whiteboard animations. They're short. Most of them are anywhere from 10 to 30 seconds so you can do an animation for somebody and charge 50 or 100 or 200 dollars and it's a 10 to 20 second video. Now, it's not gonna take you 10 to 20 second because you gotta draw it out but as you can see that can be really profitable. Now, what I'd like to do now is take you to a couple pages where you can get these automation software so you can start making these videos. So let's go over there right now. Okay, I'm over at a site right now that's called MySimpleShow.com. MySimpleShow.com. So right here it's giving you a choice about cookies and we're gonna say we'll have them on right now. Save settings. Okay, so you can create your simple slideshow here but let's watch their video real quick so you can see how it works. So, you wanna find low-end video to explain your product in order to train your staff or smarten up your students. Well, then you'll love SimpleShow. You see, the market-leading explainer videos are so simple you can make them yourself. Well, maybe you do need a little help but hiring a professional might not be an option. Meet MySimpleShow, the quickest way to create your video. Start by choosing from a variety of storyline templates. Write the perfect script by taking advantage of our inspiring examples with sensible advice. Then just leave back and let our explainer engine auto-magically finish the video. Within minutes, you'll have your very own SimpleShow, one that wows your audience. It's easy, it's fast, it's fun. So what are you waiting for? Start creating your first SimpleShow now. Okay, so that was our explainer video here. Let's look at pricing real quick. So I'm gonna click up here on pricing. Okay, so they've got two different ones in here. They've got a business one and they've got a pro one. The business one is $129 and that's a monthly fee but if you're making two, 300 bucks, that doesn't matter to you. So that's the one you wouldn't wanna go to. So let's look at another one real quick. Okay, this one here is called Raw Shorts right here. And as you can see, it's got stock videos. It's got AI video maker. It's got video templates. It's got spreadsheet to video. And then here's our pricing. Let's check out the pricing real quick, see what they got. They've got a starter on this one that is actually a free trial where you can get five non-premium exports total, 480p resolution in standard video format at 16.9. But it does have a watermark or an outro on it. Okay, so that's one thing you have to look at. However, you could use this as a sample to put up on Upwork or freelancer.com or anything like that so people can actually see what they're gonna get. Now, when you go to the $39 plan, this is billed annually, okay? You can actually sign up right here and then they got a $59 plan. So you get 25 exports here and you get 50 exports here. So if you were doing 25 of these at say 300 bucks, that's quite a bit of money a month. Okay, I'm at Render Forest now. And they say here this is a free online whiteboard video and animation maker, okay? So let's look at their pricing here real quick, see what they charge. Now, free, free forever right here, you can make unlimited 360p video exports up to three minute videos and limited number of music tracks and watermarks on everything. So that's what that costs. Now, this one here is pretty cheap guys. You can actually get this one here for $7.99 a month. That's pretty cheap. And this will give you seven HD quality 720 videos a month up to five minute videos, 30 plus commercial music tracks and no watermarks. So you know, you can get that one pretty cheap and then as your business grows, you can get up to a bigger and bigger amount of them. This one here will give you 60 of them. This will give you 20. This is as unlimited right here if you're spending $49 a month, but that wouldn't bother you. If you're doing that many videos, it doesn't cost you that much money for the software. And then the last one I wanna show you here is called Anna Maker, okay? And let's, you can create right here. Let's look at their pricing real quick to see what it is. And you can compare and see which one of these is the best for you. They do have a free plan. So you can go in there under the free plan, but that only goes up to two minute videos, which quite honestly, you know, I think that is fine, but these here just goes up 15 minutes, five minutes, 30 minutes. You know, if you want the longer ones. So this will list everything you get here and let's go back and look at the features real quick. And it's got a little explainer right here, six unique video styles. It has all these here. You've got 2D, infographics, handcraft, whiteboard, which is what we initially started with, but they got all these other ones too. 2.5D and typography, which is where they type on the screen and the numbers come in and out. And then they've got, this is the Anna Maker whiteboard right here. They've got the world's first video in an infographics maker. So if you're into infographics, you could be doing this. You can record, multi-move, camera curve, transition, inner exit effects. It just does all kinds of stuff, guys. And you can make money by doing these four businesses. A business isn't going to normally go in here and spend time doing this. They just don't have time for it. If they're running their restaurant, if they're cleaning teeth, if they're doing nails, or giving massages, whatever they're doing, they don't have time to build these things. It takes somebody like you, who's an entrepreneur, to go in here and get one of these programs, design one of these things and help these businesses out. And you've probably got thousands and thousands of businesses in your town, but I got news for you. If you don't, here's a big secret. You don't have to sell to your town. You don't, you can sell anywhere in the country, right? That's the cool thing about the internet. You could be selling to people in New York City or Los Angeles or Miami Beach. It doesn't matter, guys. A lot of people think, well, I don't have enough businesses in my town to support this. You don't need businesses in your town. You just need businesses. And there's millions of businesses out there that need this kind of support. You just need to contact them, offer what you have, give them a sample. And once you do that, you'll start signing clients. It's really that easy. Okay, guys. So I think I've demonstrated to you that you don't need technical skills. You don't need artistic skills. You don't need any of that stuff. And you can actually make a lot of money online. The only thing you got to do is you got to put for some effort. You got to put for some effort and you have to offer your services. These are the two things that people don't want to do. They want to watch a TV show. They want to watch their series. They want to go out to the movies. They want to go to Happy Hour. But you've got to cut out some of those things. You got to.  You can't always just watch TV. TV's not going to get you anywhere. I promise you. I'm guilty too. I do watch some TV. I don't watch a lot of TV, but I do watch some TV. Now, if you want to find extra time, you're going to find it in a few different places. You're going to find it from taking away from sporting events. You're going to find it from taking away from going to bars and restaurants. And you're going to find it from movies. And you're going to find it from TV's. If you list those four things and you look at how much time you spend doing those things, you can carve out easily five, 10, 20 hours a week and apply it to a business like this where you can actually make money. I hope you enjoyed this video. If you did, do me a favor, give me a thumbs up down there, down there. Give me a comment, okay? Tell me what you think about this video. Tell me what you think is going to help you on this video. If you have questions, ask those questions in the comments below. I really appreciate it. If you haven't done it so far, make sure you subscribe to my channel. Make sure you click the bell button right next to it. Ring the bell, turn on all notifications, okay? That way you'll be part of the Fisher family. You'll be part of that VIP family that gets notified about these videos as soon as I do them. You'll also get notified about live notifications when I go live online. Now, don't forget also, I have a $97 course that for a limited time, you can get for free. It's down there in the description. Just look down there. You'll see it. Click on that link. You don't need a credit card. It's free to everyone.  Thank you so much for watching this video and I'll see you in the next one. Thank you for being notified every time I do a new video. Also, click on one of those videos there. Keep watching on my channel.


So for me, I had to really question everything, even things about the Course. I know people are fond of talking about the Course as a self-study book, but when Jesus says in the Course, the ego enjoys studying itself, that's like a beware, beware even of self-study. We're here to collaborate, we're here to join, and it's all in mind, actually. But we really need to be open to our brothers and sisters. We can't think of this as just an intellectual endeavor, as we're hearing in our meditations. It's far beyond intellectual understanding and concepts, and I had people say to me many years, I get that concept intellectually, but, and I said, if you throw that word but in there, you've just negated whatever you've had in the beginning. You can throw that out too. The Course cannot be understood intellectually. And therefore, it's a Course in relinquishing every concept and every idea that you've ever held. Buddha had it straight. Jesus had it straight. Empty the mind of everything you think you think and think you know. And the only way that we can do that is through trust. We have to trust the Spirit is guiding us and leading us. We can't trust our past learning. We can't trust jobs to support us. We can't trust opinions. We can't trust research. Now that we know in quantum physics that all of Newtonian and all of empirical research is all a projection. All of Newtonian physics. Based on the belief that there's an external world and you can learn something about that through empirical knowledge. It was a lie. Quantum is now lining up with all the mystics and saints and poets and Umi and, you know, it's really beautiful, but we really have to let go of everything. Whenever you can hear the words, research supports, you can run away. Now, we're into intuition. We have to hear the voice of the Holy Spirit. I have a friend, Frances, and she basically is living a very mystical life. I'm really honored actually. I live with a group of mystics that are really all over the world, but every one of them actually hear the voice for God. It's quite an amazing community. We always hear about the Essenes and the Apostles and the Franciscans. It's just an amazing thing when you live and work and collaborate with a group that really hear guidance. Actually, it's quite a harmony. It's quite a living experience. It's quite a reflection actually.  This is the happy dream. You can commune. We're nodding heads. We don't have democracies or take votes or what's your opinion. We've gone past that from living this course and applying this course. It's an amazing daily mystery school, but not knowing anything about this world and feeling gloriously happy.


It is absolutely amazing that I had no idea that these people even existed. I formally believe that every sheep needed a shepherd, that every sheep has to be brought to the shepherd and the shepherd takes care of that sheep, that shepherd guides the sheep, that shepherd keeps the sheep, protects the sheep from danger and then ultimately delivers that sheep to a particular destination. But I had no idea that what we have are self-shepherding sheep because apparently I missed it, that there are sheep who have no need of a shepherd, who brought themselves to the shepherd, who are keeping themselves with the rest of the sheep, who are shepherding themselves, who have no need of a shepherd because they can walk straight on their own, who are never off by themselves where a wolf can attack them, they need no protection. I had no idea that these particular sheep ever existed. However, from what I can tell, from how I can best read the scriptures, there's no such thing. Obviously, I'm being facetious. So if you are a sheep and the question is, I've asked this question again, I'll ask it again, how many of you would identify as a sheep, a sheep of God? How many of you would do so? Well, I would. Now the question is, how did I become a sheep? Now, before we look at how we got to become his sheep, I want to go over some things that are told about sheep. And this is very important because sometimes I think we get a little too caught up in ourselves feeling good about ourselves as though we are the ones that are actually shepherding ourselves. Notice what he says in John 10. He says that he, that's Jesus, when he puts forth all his own, his own what? Well, his sheep is what he's talking about. He goes ahead of them and the sheep, that's you and me. That is, if indeed we are sheep, what do we do? We follow him because, and he even gives a reason why we follow, because we know his voice. We are knowing. We know his voice. This is a pluperfect, active indicative, meaning this is also something that we have been knowing. We know his voice, but notice what he says in verse 5. What sheep will never ever do a stranger. They simply will not follow. Why? By the way, when he says simply not, will not follow, that's a nice way of putting. But he says in the most emphatic ways at no point in time in the future, because this word right here, many syllable Greek words, says, akeluthesus in, this is saying that in the future they will follow. But he says, who made two negations? They will never ever ever in the future follow a stranger. A stranger they will never ever ever in the future follow. That's Jesus making that statement. And he says, but because they do not, I'm sorry, but they will flee. That's also in fact, he says, but they will flee from who? From the strangers or whatever you think the stranger is. Islam, Buddhism, Hinduism, New Ageism, progressivism, you name it, atheism, whatever. He says that the sheep will flee from that. Why? Because they don't know the voice of the stranger. They don't know the voice. And so I think that's vitally important to show what at least what Jesus say about us as sheep. Sheep, think about sheep. If you were naming a sports team, you would never name the team, the Chicago sheep, the San Francisco sheep, the New York sheep, the Indianapolis sheep, the Minnesota sheep. No, you would give it a ferocious name, a fighter. You know, like a tough animal, a bear, an eagle, right? A cult, something you wouldn't name in butterfly and you certainly wouldn't name a sheep. How many teams you know have their names as the so-and-so sheep? That'd be a laughing stock, right? But what does God call us? God didn't call us anything ferocious. He didn't call us lions. He didn't call us tigers. He didn't call us bears. He didn't call us eagles. He didn't even call us even ferocious, horrible animals.  He didn't call us vultures or anything like that. He didn't call us crabs. He calls us sheep. Why?  Once you save them, what do sheep do? Go right back into the very thing that they need to help getting out of. Why? Because that's what sheep are. Sheep need a shepherd. Some of you all apparently don't need a shepherd. Some of you all apparently can shepherd yourself. But those of us who know better, who knows that we need a great shepherd who will change us on the inside and will lead us, as Jesus just said, we have that sheep. As a matter of fact, even in verse 16 of chapter 10, notice what he says. He's better than starting verse 14. He says, I am the good shepherd. That's Jesus. Think about it. He's a good shepherd.  No, because he's a good shepherd. What kind of shepherd would lose a lot of sheep? Not a very good shepherd. I, myself personally, if I were in charge of the sheep-running company, I would fire that shepherd. That's not a very good shepherd. But he says, I am the good shepherd and I know my own and my own know me. He knows us and we know him. That's why he says, a sheep, we will hear his voice and follow only his voice, even as the Father knows me. And I know the Father. He says, I lay that in my life for the sheep. So he says, I have other sheep, which are none of this folks, because of Gentile sheep. He says, I must bring them also and they will hear my voice and they will become one flock with one shepherd. And so us as sheep, we can understand and rest assured that we are sheep in good company of a good shepherd. And how do we become sheep? Well, Jesus also said earlier in John 6 that all of us all have been given to him by the Father. And all that have been given to him will certainly come and he will never, ever, ever cast out. And he says, every last one of them, verse 39, he won't lose not a single one. And here's the other thing. Here's the more important thing. Or I'm sorry, I'm not saying the more important thing. But just as important about us sheep, because we have a good shepherd who will never fail and will get us to where he wants to get us to be in verse 47, he says, I truly, truly say to you that whoever is believing, that's the sheep. Only the sheep are the believing ones. The believing ones are the sheep. He says, that person has present tense life right now. So if you are a sheep, there's two questions. One, how did you get to be a sheep? Well, the Father gave you to the son. The Father gave you to the shepherd to be his sheep. And then two, if you are a sheep, when do you have life? What point do you have life right now? And how long does that life last? He says forever.  It is not. You are not a sheep that shepherds itself. You are not a self shepherding sheep.  What you really are is a slumbering sheep. What you really are is a soil sheep. What you really are is a soft sheep. You can't defend yourself. There's nothing good about you. But thank God that we are not self shepherding sheep. We tried that before we had Christ. We tried on our own. Thank God that we have a shepherd who has all power. That's why he says now unto him who is able to keep you from stumbling. Amen.


My name is Matt Stempeck, and I'm the Director of Civic Technology at a new group at Microsoft called Technology and Civic Engagement. And what we do is we work in a handful of major U.S. cities and partner with existing Civic Tech communities in each place to use technology for shared challenges in the public good. So together with Mika Sifri and Erin Simpson at Civic Hall, we've created a field guide to Civic Tech. And that's four things. It's first just a simple definition. Civic Tech is the use of technology for the public good. That's something you can share at a party to say what you do. And then we've gone much deeper. So we've provided, we've looked at the hundreds of examples of Civic Tech out in the world and put them in categories based on what they do, what the core technical function is. But we also realize that Civic Tech is about more than the tech, right? It's the social processes of how we actually organize ourselves to create impact. And so we looked at those social processes and inventoried those. And then lastly, we just asked some research questions of, you know, how do we analyze this space? How do we get at the meaning of the work that we're doing? And how do we kind of look at those cross-cutting questions? To me, impact means that you're actually creating the change that you wish to create in the world and that you have good reason to believe that that change is happening because of your work. And my society's rigorous analysis of their own products and work has actually been really inspirational to me in considering impact measurement. So Microsoft's funding my society's research with governments who are involved in Civic Tech around the US because it really gets at a lot of the questions that everyone in this space and at this conference are considering of sustainability and scale of Civic Tech. We're excited to see what role governments play in the kind of broader partnerships that Civic Tech involve between nonprofits and communities and academics. And looking at the kind of lifeline of a Civic Tech project, you know, which of those different sectors play what role at different times in the building and development and deployment and ongoing iteration of a project. We're really hoping to learn, you know, what role governments can have in that. There are a lot of exciting Civic Technologies that continue to catch my eye every time they come out as new technology continues to advance. But I think at the broader level, one of the most exciting things about Civic Technology is that it's given us an excuse to reinvest in our public institutions and redesign how we work. And if the only thing Civic Tech does is make us excited to combine our efforts together and work together again, then that would be a major success. So I'm a believer that we can do just about everything better than we currently do it. And I think Civic Tech helps us think about how we actually design, you know, the processes of being a citizen and of contributing to our society. And that's a useful thing as we think about, you know, the challenges ahead in the 21st century and also the opportunities that Tech allows us. I think we need Civic Tech to actually work better as a society. So my motivation for coming to Tech was twofold. I'm inspired by the work that everyone's doing and just love to learn and I've already been doing that today. But I was also terrified, thanks to Tom Steinberg, that, you know, we need to really consider the impact we're having in this work. And, you know, Tom compares it to 19th century medicine, I believe, and how, you know, decades were lost to thinking that you're doing good and actually maybe not having any effect or actually doing harm. And that to me has been a major motivator of making sure that the work we're doing from a rigorous methodology kind of perspective is having the effect we intend. One metric for measuring the impact of a meaningful conference is just the conversation tests where you're talking to someone and having a great conversation, but you also, within your shot, can hear several other great conversations happening and you want to be part of all of them. And that's already happened here at TicTac where every single conversation, every breakout session is extremely relevant to our work.


Welcome back to my channel. Welcome back to my channel eyebrows. Y'all is getting so real out here Anyways, I'm so hyped today. I've been in such a good mood these last couple days like the last week or so I just really been in like a good-ass mood. I just posted a video. I made a video live now I need to get in the shower because Obviously, I just got them working out So I need to do that and then I'm gonna be filming a video today But today I wanted to vlog because I'm doing some stuff today. Today is one of my Friends birthday.  I'm kind of mad But yeah, and tomorrow's easter sunday And I'm just doing a giveaway on my video I just posted because I wanted to give away some money So I just wanted to give some essential workers some money because I never did a give away anyway So Yeah, I just wanted to do that And yeah, like my heart just literally told me to do that like I don't know. I just love and then y'all just do so much for me y'all watch my videos that support me So I gotta do like it's only right. You know what I'm saying So but anyways, I'm about to get in the shower because I think and Yeah And I'm about to get ready for the day. I'm about to show you my outfit right now because Well, I guess I can show y'all when I get dressed But I've been holding on to this outfit for like the longest and I'm about to put it on today It's cold outside might as well and I want to look cute And this is a jogging set I've been wanting to wear this by christian sex club. I'm pretty sure y'all seen on instagram. It's been all over But yeah, I can't wait to put that on today Hopefully and Yes, so I will talk to y'all once I get dressed. I'll pick real quick and we'll be right So kisha is finished selling jumpsuits.  I need that a new color A nude lady. I needed this. It's always that one friend. I got the goods or something.  I thought she was telling me the same thing.   Can I look here too? She stopped asking stairs Very hello. Oh that one boy wanted. Did I ever show you? No, I'm not but ask him like is it do you ever be scared? Like have you ever got a before that she was like, uh, no, I don't think I can do it Yes For real it was just like I'm not talking to you. I'm good love You wanted to see me last night.  I didn't realize how hot it wasn't so y'all got in the car I don't know.   I'm like anybody call me. I'm hungry.    Like meji it was like meji First um getting spit in my mouth.  That's not embarrassing No, I don't have anything


Yo, this is Brody Beatbox, and this is a big shout out to K.O. Beatbox, and he'll all his lessons that he's given me over the past few months.


Well, hey everyone Welcome welcome am I getting a little bit of feedback here. Maybe if I stand over here. I'm better So hey welcome to you know complex event processing made easy with Apache Cassandra and Quine streaming graph My name is Aaron Pletz. I'm a developer advocate with data stacks I'm fairly active in the Cassandra community if you if you have problems and you've asked questions on stack overflow There's I figured it out one day. It's there's like a 16% chance that I've helped you if since I've answered so much of a And the the questions in the Cassandra tag, but so yeah And then of course with me. I have a Ethan Ethan from from that dot so I can take it away Yeah, I'm Ethan. I've been at that dot since its inception just about and know the internals of Quine from every every layer and just love discussing it So that's what we'll be doing a little bit of today as well as playing with the general ideas of of stream processing So that I'm gonna just jump into it. So stream processing Want to give a quick layout of what we're gonna go over we're gonna cover the general topic of stream processing Kind of where complex comes into it where we start thinking about complex event processing The challenges you're likely to face if you're dealing with any kind of stream processing How the product that my company makes quine how that addresses a lot of those challenges how Cassandra really enables quine to address those challenges and We're gonna run through a case study for you of password spraying attack And how you might detect that using kind of a streaming paradigm And then we'll conclude with a few resources places you can go if you're curious if you're wanting to learn more or just You know chat with us. We're fun. I promise. Yeah. Yeah, we're not we're not totally lame So what is stream processing? stream processing is a kind of of data-oriented development Where you're typically trying to draw real-time conclusions from current information? I have a little asterisk on current because current can mean a few things. It can be real-time. It can mean This happened two minutes ago, and I want to react to it This can be it can mean this happened 14 milliseconds ago And I want to react to it or it can just mean current with respect to I'm reading a big pool of data And I want to be focused on the the head of that pool the the latest thing I've read and they're typically Stream stream processing tasks are typically kind of event-based. So you're thinking about things like Social media updates things like server logs Anything that is more about sort of small changes over time rather than big snapshots being relayed in kind of a loop and related to that one of the sort of limitations on What stream processing is in my opinion is that you you tend to think of less batching you tend to think of less large large blobs of data coming through and as a result of that there are some limitations and some strengths to stream processing and a couple of those are The loose consistency bounds. So you don't have the ability to say, hey This answer that I've computed is correct over all of the data because I'm not dealing with all the data I'm dealing with the latest data or I'm dealing with some subset of the data and error correction as well. It kind of falls in that vein of I'm not necessarily going to be totally Consistent in my answers with respect to the entire data set. I will be able to give you some kind of bounded Answer I'll be able to say you know based on this information. Here's a definitively correct answer so The thing with that though is that you often don't need these full guarantees and we'll get into that a little bit more so difference between Stream processing and complex event processing typical stream processing your data comes in you do some operation other operation other operation You're doing some filtering. You're doing some mapping folding whatever you want to do Complex event processing is where you start to introduce persistent state and this comes in in typically one of three ways Either you're dealing with more than one event at a time or more than a static number of events at a time And you're thinking about things here likes lighting windows saying I want to be Computing some answers in real time based on the last 20 events or the last 400,000 events or the last two days of events you can get time based in here The another common way that you'll get into this complex or stateful space is when you're joining multiple streams And this is because you have to worry about what happens if those those sources of information That talk about the same sort of entity. They talk about the same user But they're coming from different sources and therefore coming at different times How do I join that information together without losing anything and while still retaining sort of bounded resources? Bounded resource huge usage. Wow And then Going one step further than that you have the problem of joining a stream with itself Which is all those problems of joining streams and sources as well as all those problems is dealing with more than one event at a time where you've got something like I Want to take action I want I want to change the action I'm taking on incoming data based on something. I've already computed about that data So now I've got this problem of well feeding back in that decision is equivalent to joining multiple streams as well as I'm reasoning about multiple things at once like I've got to deal with this part of the stream and this part of stream and the connection between them That can be really difficult But it also enables far more powerful computation you get back some of those those trade-offs that you get in stream processing in the first place of Consistency you can start to say hey, I am going to inform my decisions I'm going to make maybe a heuristic initial decision and then look back at my existing data to ensure that My answer my computed answer is correct for everything that's come in since then or everything in the past That's again an example of kind of a stream joining back on itself One concrete example on this you might you might use a Alert to update your alerting rule you might say hey this account looks suspicious Let me set a new flag in real time to watch everything related to that account or everything related to everything related to that account You can do some kind of tag propagation if you will So stream processing can be hard You have to especially when you're dealing with this complex event processing You have to choose some things you have to choose your window size your time interval You have to handle things that are bigger than in memory and therefore kind of how you Dan down sample That's the case for all of these constraints When you have more data than you can deal with right now, how do you deal with it? That's not always an easy answer. It's not as simple as oh, I'm gonna keep the latest 700 events because what happens if something really important was the 701st previous event and you lose it You don't want to lose results like that if you can avoid it at some point you have to make some trade-off decisions But you can push that out a little bit further with some of the technology we're gonna show today and then Other challenges latency is a big one again with kind of the nature of streaming being usually You're dealing with some notion of real time and some notion of current where again current can mean current based on a Pool of existing data or it can mean current based on some live like coming from the world data that consistency aspect as well as a Specific problem in consistency is result in validation. I computed an answer based on Positions 5000 through 6000 in the stream, but something comes in at position 6502 and says actually I was a little too eager with my data at position 5000 Please correct this please go back somehow even though you've already computed this answer in a streaming fashion Please alert me that that decision might have changed now and Then the general problem of kind of distributed systems of if you have any kind of multiple data sources Then you want to make sure that your reasoning is consistent with respect to some notion of time over those data sources So this is the part where I say we've got an answer Stream processing was hard, but now we've got quine Quine is the product I spend 99% of my time working on at that dot the idea is that we take a lot of data and Allow the user to declaratively configure how they want to intake that data how they want to work with that data and How they want to act on that data including actions taken To affect the actions that they're taking which is a little abstract. I'll get back to it Put another way. There's kind of three steps here You're gonna where we have a property graph data model, which means we represent data as a mathematical graph where Everything is either Edges or nodes nodes of vertexes vertices same thing A node has properties like key-value map of properties and labels edges can have labels Then the usage experience looks like hey, I've got my data. It's not necessarily something. I would think of as a graph How do I want to structure as a graph? What structure do I want to know about in my data? And how can I think of that as a graph? As well as how do I want to handle that structure being found? I Would just add to that You know Quine as a you know as a graph tool isn't a lot different from and then the other you know graph databases or graph tools that you might Already be used to You know, I know that things like like Janus graph and Neo4j. They're all property property, you know based graph models And likewise too, I think I think they both allow Janus graph Maybe not but I think they both allow you to use Cypher which is kind of becoming a standard in the in the graph World as well Which Quine does and we'll show you a little bit in Cypher coming up as well. Yes So let's let's step back a second and I've been talking a lot about data and computation in the very abstract sense Let's look at a specific example. So a real-world problem Password spraying I've got some malicious actor that has made a list of user names somewhere And got a list of passwords somewhere and they want to find where those user names and passwords overlap very classic easy problem You think What happens though so so typical solution of this problem is Look for someone to fail their password entry three times and then require them to reset the password kind of a bad user experience usually as a streaming if you look at this through that streaming ones has a question there of rate of Three times within what window if it's indefinite. How do I remember that it was indefinite? If it's in a bound then what happens if someone goes just slower than that bound what happens if someone is is spraying passwords or In this case what happens if someone is trying the same password across a bunch of different users That's another option and that's one that traditional heuristics for detecting these logins often miss on That coin handles no problem so This is the kind of structure that we're gonna be thinking about again going back to step one Look for or define the structure that you're looking for so we are looking for a Repeated sequence of accesses over any time frame Where someone tries to log in and fails someone tries to log in fails fails fails fails success Sequence of failures from the same user agent from the same client for the same account that Ultimately ends up succeeding But only after a certain number of failures a suspicious number of failures that could be over again any time frame maybe months We can encode this pattern using that cypher graph language This is again kind of the current industry standard for interacting with Graph-shaped data. I'm not gonna get to in the weeds on it But the the orange nodes is our our victim our potential victim the blue node is our potential attacker Corresponding to the top and bottom of this structure And I'm gonna say again where I have a sequence of Nodes that represent log in attempts that were all six were all failures followed by a success If I find that pattern, I'm gonna return a location that that pattern exists so I can do some further processing on it So then step two How do I respond to that? How do I respond to a detection of that pattern in this case? I'm going to Basically put it back in the graph I'm going to add it to my event stream and this is a case of feeding back in to the source event stream And I'm going to say hey, I found this pattern Therefore I'm gonna flag the victim and say here's the time they were likely compromised at I'm going to flag the attacker and say hey this user agent is a likely bad actor and then I can Chain that into further patterns Again feeding back into the the source stream Let's me define any number of patterns I like and Act on them independently so I can act on the pattern of a malicious A malicious user agent I can act on the pattern of someone who has logged in after they were likely compromised I can do any of that all from the same stream all in this kind of declarative way And that just leaves how do I actually get the data into the system in the first place? How do I make this graph because I'm looking at something that's a log of Attempted log-ins. I'm not looking at cipher queries coming in from my Apache log. I'm looking at you know log files, right? Let's say they're JSON because it simplifies things a little bit and it's not too hard to imagine encoding or decoding from that Where each log-in record just has a user ID success Timestamp and the log in IP to represent the user agent That's all I need to write a query like this where I say all right identify That user based on the ID in the log identify that user agent based on the IP in the log Set the data I acquired make a note of it in kind of a a persistent way And then using those pieces of information just link them together at the end Just create some some graph structure, and it's as simple as that to do the ingest And at this point if you're at all engineering oriented you might be thinking like okay But you just told me like all of these shortcomings of complex event processing and how these things are really hard So why didn't you mention windows? Why didn't you mention? Time-bounds why didn't you mention this problem of out-of-order events and the answer is I Didn't I kind of did I said coin and that's the entire premise of coin That is what I do spending 99% of my time on is making it so that coin handles that so you don't have to and the way it manages that is through an intelligent in-memory cache, so it keeps The important nodes nodes that you're interacting with frequently keeps those rapidly available and any others It persists via Cassandra in a very scalable way And in a way that allows new events to still influence arbitrarily old events and between these two technologies they both scale kind of unbounded horizontally and linearly To create a really robust Really robust system and to get a little bit more into how that works. I'm gonna hand off to Aaron now To talk about Cassandra a bit All right, and of course Cassandra. I mean really that's that's you know one of the reasons why we're why we're all here I just just quick pull of the room who how many in here consider yourselves. Um, you know, maybe maybe new to Cassandra Yeah, yeah, all right. I got a few. All right. Don't worry Carter. You're not alone. Oh, I just I just called you out there I'm sorry, man Okay, and and everyone else has used Cassandra a bit. Okay, that's good. That's good But of course the Cassandra that we all know and love You know as as Ethan mentioned scales linearly and horizontally It distributes replicas geographically, which to be honest is probably my my favorite feature of Cassandra To you know in all the years that I've been using it, which is like 11 now I haven't found another database that does this as well as Cassandra does I mean, maybe you could make an argument for like Google Spanner But when you actually when you also own the network that you're running your database on There are some liberties that you can take to you know make things make things run a little run a little faster So so I don't know if I count that And then of course maintains high availability You know, that's that's really where I where I think Cassandra gets like like a lot of it's You know great engineering around performance and you know and you know keeping things up to date and you know A lot of things to run really really well When you're using coin with Cassandra on this is this is kind of sort of how it looks where um, you know You have your you have your Data coming in through like you know being ingested it's streaming into the graph Graph engine actually interacts with Cassandra directly There are aspects of of coin that I don't know if we've touched on too much in terms of um, you know Having things like like a standing query And and what was the other one up here? Oh, yeah, just standing query sure Standing query is a piece of terminology To refer to that define that structure that you want and just define the action you're going to take in response to that structure That's all a standing query is it's the combination of those two concepts So when you see that in that graphic Come on clicker. Okay, there we go. So of course too, you know We have um, you know just a just a general overview of Cassandra, you know works in the you know peer-to-peer Architecture every every node can handle every single request That's really what allows Cassandra to scale so well And of course, you know that it's kind of contained like this in each individual like like You know, I'd say it say like region or or data center Then they can be they can be communicating communicating together You know by the by the gossip protocol and actually with Cassandra five one the gossip protocol will be replaced with I'm trying to remember the name of it. I can picture the Cassandra enhancement process number Hey transactional metadata. There you go. Thank you our role I'm like I know it's CEP 21, but yeah, okay All right, and of course, you know also important to mention that you can run quite on top of AstroDB as well So, you know if you if you decide you don't want to have to manage Cassandra or keep people on staff Who who know how to do that? You can you can also run it that way? and I think Quine Also runs on is it is it map DB and Rocks DB we have Rocks DB as a as a local option Rocks DB. Yeah, yeah getting into production You definitely want to benefit from that that horizontal scalability And actually, you know when I was um when I was working at target I got a new an argument with somebody once about is Rocks DB actually a database because I don't think it is You know when I think of databases, I think of like a completed Lego set and Rocks DB is a box of Legos You know it's it's take it and build it and put it together and manage your file system access I'm in to me. That's not what a database. I mean it does do that, but it that yeah anyway I digress So hey, we have a demo where we can show you this um, you know this password spraying attack I apologize for the slide I copied this one from another presentation and I was on a big cyberpunk 2077 kick when I built this one So that's that's why the yeah anyway So essentially we're gonna start Quine and Cassandra locally and you'll be able to watch that and then we're gonna run this password spraying Ingest which will which will simulate all of these different user interactions user log-ons user Authentications and the idea is is that we're gonna throw like an alert when we see one that kind of deviates from that standard Pattern of access that were that we're used to seeing so let me just Plow through that Well Aaron's working on this I can emphasize The reason this all works from that perspective of hey, there's these hard problems in stream processing Is careful usage of the strengths of Quine and Cassandra together in both cases. We're dealing with very clever Work distribution models. We're dealing with a very sort of holistic approach to data management, I would say Where events are first-class this is something you don't see in a lot of traditional systems But that ability of Quine and Cassandra to treat your your operational events your Individual pieces that end up building that big picture as first-class citizens rather than having to wait for that big picture to be built up That's the that's the secret sauce that makes all of this function So effectively hey look at that we got a hit So, you know, we have our standing queries here You know that that kind of keep track of one keep track of like, you know normal activity and then our second standing query He looks for anything that deviates from that and as you can see we have a count of one on that that second standing query there So what I'm gonna do is Try and yeah, I try and decipher where the URL starts here And I think I think it's just that de cipher.  I bet I don't want that trailing quote. So I'll backspace that okay All right, so if I paste that in you're rid of that double quote This should bring up the Quine graph with the with the problematic Anomaly that that we detected. Oh, look at that All right, excuse the the physics engine here for a second but if I take some of these and Kind of line them up a little bit better here Oh All right, so as you can see we have It looks like one two three four bad attempts at logging in for this particular user And then on the fifth one they finally made it in now kind of like kind of like what Ethan was was saying in that This this type of this type of like an architecture layer allows you to pick up problems in flight as they're happening Because otherwise you'd be you'd be running a report like this, you know two weeks later and go Oh, I think I think we had a you know a malicious a malicious attack here And we didn't realize it until now whereas this will allow you to pick that up right away So yeah that and and by the way, yeah I'm I'm super glad that Ethan had the suggestion to run this all locally on my laptop I was originally not trying to do that and we were at the mercy of the the conference Wi-Fi So that that whole talk about latency that was that was very real earlier All right, I can break out of that You know, I just wanted to mention too that this this collaboration between you know data sacks and quine kind of kind of Originated as a workshop that we ran together You know, I don't know how many of you follow our data sacks developers YouTube channel But about a year ish and a half ago We actually put together this workshop and the get repo is still out there I have the the link at the end, but it's got step-by-step how you can go through and And actually recreate this process and kind of talk you through like what's happening and you know How to make it work how to configure it? Yeah, how to get either Cassandra or Astrid you be running on the back end and Yeah, oh Oh, it works of quine 1.3.2 that might be a little old Substitute some version numbers appropriately So real quick I want to touch back on back to the generalized Where might you apply this where might this? Quine Cassandra Astra combination would be really helpful for you as part of your production data pipeline if you ever deal with real-time data or large bodies of Event-oriented data anytime you're combining data from multiple sources anything that's self-referential That's somewhere you should have something in the back of your mind going on remember that client thing This might be applicable, but also just as a lightweight utility. We have this thing called recipes That's actually how this demo is implemented. You just give it a file that is a bundle of here's how I Here's how I want to do those three steps structure creation monitoring And run it through I love using this in pre-processing pipelines for AI work for any kind of of data engineering where I just want to do some Data manipulation that's a little more complicated than what I can encode in something like jq or xsv or you know standard sequel It's also got that UI which is good for data set exploration If you want to just click around your data and kind of see how that manifests in a very sort of real way With that in mind We've got some resources and I think we've got time for Two questions. Yeah, how was the host of the fun showing? Oh, it's not terrible. Okay. Okay. Oh, that's a good feedback These these slides are also available on the this the sketch app That the conference is being run through Any questions? Yes, I know you've had your hand up for it Oh Yeah Yeah, so the question was I We saw us some ACCA related logs. Is that what coins built on? Absolutely Quine is built on an actor-oriented. Oh, it's yeah Sorry, the coin is built on a actor-oriented model ACCA PECO kind of equivalent Where each in fact each node corresponds exactly to one actor. It's kind of a enhanced actor It's a smart actor that knows how to Shut itself down and persist itself to disk and then how to rehydrate itself from disk where necessary where disk again means Cassandra Or a Cassandra equivalent data store But yes, ACCA is absolutely some of the some of the magic here Yes Yes, yes, how do you actually construct a graph so let's say you have logs and then you have different columns and then You have the same client and same actor and then you have different attempts to access the password so if you have something like a Regular IP network you have routers and I'm getting events from each or some of the routers So in that case that the the structural issue between the routers is already inferred from the network Here you're dynamically inferring it from from the log files based on the columns Is there any way I could adapt this for event? Coalition a network where you already know the structural issue between the the nodes. Yeah, absolutely It's helpful to think of that initial topology as a a static Static stream of events kind of a an initial stream You can combine any number of of data sources into coin So Starting with something like a topology You can ingest each of those routers as a node or as whatever Representation you want I would probably start with one node per router make the edges each make the edges correspond and The trick there comes in with how you resolve those nodes. So we would recommend using a form of deterministic deterministic hashing to compute the node ID sort of in advance based on some unique identifier that's going to be consistent across your different data sources. So something like the the MAC address or the the the router ID exactly And you can do any kind of combination of this if you don't have that available in all context In what you might want to do instead of representing each router as a single node is represented as a little cluster of Related nodes and just kind of build that cluster As you can as your data streams in and include in your in your pattern that you're looking for include that larger shape and and Yeah, use any data from anywhere in that shape you want in your response All right, then One more Yeah, it's just probably a practical question out of all the projects you use that the coin Let's say you have event which has 400 properties and your events coming at 3000 per second. Is it something that it can handle? Absolutely. So Cassandra back and I'm sure Yes, absolutely Cassandra does give us a lot of that power quite on top of Cassandra is a relatively light-weight layer And it scales very very well and scales in a way very similar to Cassandra in terms of using that peer-to-peer Model between the different hosts We have scaled quine up to processing just short of a hundred million events per second on a ridiculously large cluster naturally But on a on a single host on a single like the MacBook, right? you can pretty easily get around 9,000 10,000 events per second and The reason I'm referring to events here is Because there is some component that is taking the the event decoding at Jason DC Realizing creating the query to interact with the graph that sort of thing and then there's also the component of well Each node is doing some computation as well So back of the envelope about 9,000 Events per second per host is a is a reasonable reasonable Estimate for what the capacity of a coin cluster is going to look like How big are those events? It's a great question. It doesn't matter much is kind of the thing If it's 500 properties, it's 500 properties You start to run into a couple issues if you have a single property that's particularly large And that's just due to Choices in data modeling that can usually be worked around without any kind of trouble Especially if you want to just kind of normalize your your large payloads into an external store in kind of the I guess Kind of the canonical way Does that answer your question? awesome, all right Yes, the the bulk of the latency in in every case we've seen is deserialization and serialization so the The time it takes to write and read from the network or from a file Exactly yeah And in practice a structure like the one that we looked at here. We have Here it is a structure like this Matching all parts of this has a round-trip latency of about 13 milliseconds Something at that level Even if you're using SSD. Yeah, but this is across a network Anybody else? All right. I think that's all we got huh? I think so Thank you everyone