Okay, so the next session will be from Sege Golubchik, roughly, about Meet MariaDB 10.2. Yeah. Yeah, so this will be session Meet MariaDB 10.2 about the upcoming MariaDB release 10.2. Oops, let me... So first, those are stickers, MariaDB stickers, small ones and larger ones. And just a tip, I found yesterday, those large ones are very good to keep in your bed from unlocking all the time. And there are also ones that look very good on the laptop, but there are only a few of them. Anyway, so let's get going. Is anyone who doesn't know what MariaDB is, do I need to spend a lot of time on that or a little time on that or not at all? Okay, so I'll go quickly. So it's a fork of MySQL, drop-in replacement, but the meaning of the drop-in replacement changes over time. So when we just forked it, it was like an exact copy, you could swap it. Nobody would notice anything. But over time, we were adding more features and fixing some bugs that MySQL didn't... And MySQL was adding features that we ported and some features that we didn't port. So now we say that it's well, drop-in replacement for all practical purposes. But if you would like to make a point that it's different, you could create some contrived application where you will see the difference between MySQL and MariaDB. For example, the version is different. I'll talk about it later. But MariaDB, in a certain sense, is more MySQL compatible than MySQL itself, because for every major version in MySQL, they make big changes that break compatibility. So for example, MariaDB is more compatible with MySQL 5.5 than MySQL 5.6, and MariaDB is more compatible with MySQL 5.6 than MySQL 5.7. So drop-in replacement depends on compatibility on how you look at it. It is in Debian since 2013, and now it's in Jessie at version 10.0.25. And the packaging of MariaDB in Debian is maintained by Otake Kalayan. He'll talk about it later today. And the MariaDB as a project is managed... MariaDB Server as a project is managed by an unprofit organization, MariaDB Foundation. By the way, talk rules. So I might tend to talk too fast, although I'll try not to. And I might get too technical sometimes. If you have questions, interrupt me right away. Don't wait till the end of the talk. So, okay? Yeah. Or you can shout, then you won't need a mic. Or you can take a mic, whatever. Yeah, so why am I talking about MariaDB? MariaDB is based on MySQL code base, and I was a core MySQL developer since 1998. And since it was before MySQLDB was created. And I'm in MariaDB since 2010. That was before MariaDB Corporation was created. Now I work in MariaDB Corporation as chief architect of MariaDB. I'm also responsible for security at MariaDB. So what is 10.2? 10.2 is now about nine months in active development. So we're constantly adding features into it. And currently it's 10.2.1 alpha, which was released yesterday. And we are going to make it better very soon, like nine months should be enough. And by the end of the year, the plan is to make a J, and then it'll be in the end stretch. Yes. So practically it's, for 10.1 it was one and a half year between the, we started developing and up to the J. And then we maintain it for five years. So if 10.2 will be in stretch, then it's five years. We'll have to do that. But because I said in JCS 10.0, so I'll quickly talk about 10.1. Simply because 10.1 was not well in any DBM. So 10.1 went J in October 2015. Currently it's, well, our latest J, we do one release every month. And the next release will be 10.1.16. It'll be in two weeks, hopefully. We actually are pretty good now with release schedule. So it'll be in two weeks. No hopes about that. And again, I won't do a big talk about 10.1 features because it'll need another hour and I've done this talk. So just very quickly, just some major features of 10.1 that are not ingested. It's, on the replication front, it's Galera cluster replication and optimistic parallel replication. Optimistic parallel replication means that the master replicates to slave. Slave optimistically assumes that those events do not conflict and depend on each other and tries to execute as many events as possible in parallel. And when it notices a conflict, it can roll back and conflict an event and do it well later. So it allows the slave to achieve much higher parallelism than master has. So it helps slave not to lag behind the master. On the security front, there was encryption and I mean data trust encryption. Data are encrypted on disk. Inadb tables are encrypted. Inadb logs are encrypted. Binary logs are encrypted. All temporary files that the server might need to write to disk are also encrypted. If everything's done properly, the data on disk will never be unencrypted. So anytime one can pull off the plug and examine the disk as much as you want, there should be no plain text data on there. There's also password validation that uses different plugins and one can enable Libcrack plugin and then your passwords in MariaDB will be validated. The same rules that you probably have for your normal Unix passwords. Data scrubbing is more useful when you don't have encryption but can also be used with encryption. It means that when the data are deleted, that's a separate background thread that goes and physically delete them from the table instead of just marking them deleted. It may be useful if you want to be sure that deleted data are actually really deleted and are not present anywhere. There is an extension of SQL syntax that says that statement which allows to change a configuration variable for the duration of one statement, automatically changing it back when the statement ends. Analyze statement which works similar to explain, but explain, explain guesses what the execution plan will be. Analyze actually runs the statement and then shows what the execution plan actually was. With exact row numbers and everything. Compound statements, then optimizer enhancements, scalability improvements like log-free algorithms in table cache so that it shouldn't be a bottleneck and many other features. But let's rather talk about Tent2. So different features in Tent2 can be roughly grouped in different groups like something that I call advanced data querying. That's a more complex way of querying your data, doing queries that were not possible with MariaDB before. And there's another initiative of removing historical limitations. Something that MariaDB and its processor, MySQL had for like forever, at least for 18 years. That's as much as I remember. And different optimizations to make MariaDB work faster and other features that don't fit in any particular group. And I also briefly talk about currently running Google Summer of Code and MariaDB. We are in Google Summer of Code for like four years maybe. And this one looks very successful, so it hasn't finished yet, but it looks like we'll have many good features coming from it. So I'll mention them too. So about first one feature about data querying, that's what SQL standard calls command table expressions. And this is one simple query that uses a derived table or a SQL standard calls it subquery in the from clause and using command table expression syntax. This is with keyword. It can be rewritten this way, which is practically identical. It's not interesting at all. Just different way of writing the same thing. When it becomes interesting, we support recursive command table expressions.  Because select from itself, well, it used to define itself using itself. And that basically works like first it selects from the Fox table by name, well, me. And then it selects from Fox and itself for, well, ancestors, parents. And then again and again. So this can select all the ancestors graph, all parents, all fathers and mothers and fathers and mothers until the table ends. So this is SQL standard way of querying graphs and recursive data structures. Employees, bosses, fathers, mothers, kids and any graph, relations graph, whatever. This is how SQL standard wants us to do that. And we now supported and progress SQL supported and Oracle supported, well, and we now support that term. That was not possible with MariaDB before. And another feature in this area of doing more complex queries. Sorry, I should have brought some water. So I'll be using stages table on this slide and to explain it, let's imagine a complex process that consists of different stages and every stage takes some time. For example, I don't know. A user clicks on a link in his browser. So the browser processes the click and sends some HTTP request to the Apache and Apache files and loads a PHP page that does something and then connects to the database and database that did some data from the disk and does something and sends the data back to PHP and PHP sends it back to the client and to the browser and browser displays another page and then the user finally gets what he actually wanted. There are many stages, every stage takes some time and what I want to see all the stages when every stage has started, how long the stage was and this is the rolling total of how much time passed since the very beginning till the current stage. This is the join that shows that and using window functions, which is also part of SQL standard, one can show the rolling total this way. So selects name, start time and duration and sum over the window that starts from the beginning and ends at the start time, which is, again, not exactly interesting because you can do the same with the join or subquery but this one you can no longer do with the subquery or join. This one displays for every stage, it displays the rolling average. It includes two rows before and two rows after. So for current row, every row it considers a window of five rows and averages over them. This is something you can do with window functions. For example, the user complains that this mouse click showing the page takes too long and you want to optimize the whole process. Logically, you need to start optimizing from the most time-consuming stages and this one with the until function. It splits all the stages into buckets and if you look at the 10th until, 10th quantil, it'll be all the stages that take longer than 90% of all other stages. So the most expensive stages will be the 10th quantil and then you will know what stages start to optimize from. This is splits, this is calculates until function, calculates quantils. About removing limitations. Any questions so far? Okay. This is something that MySQL has, like, forever. And while it might look like an arbitrary limitation, it was rooted deep into how things worked and were designed internally. You can do a self-join like on this slide for normal tables, but not for temporary tables because you cannot use the same temporary table twice in the same query, not with sub-queries, not with self-joins nowhere. It's kind of silly, but that's how it used to work and we have fixed now, so starting from 10th to this limitation is removed and you can use temporary tables just as any other normal table. This extension allows to use expressions in the default clause until now there was only default can be either a constant or current time or now for timestamps. And now that it could be any arbitrary function for any column. Oh, thank you very much. It could be any arbitrary function for any column. This feature is also supported by Oracle and Postgres and DB2 and so on. But this extension is not. Actually, Google couldn't find any other database that can do that. So you can also use default. In default, you can refer to any other columns. So if you insert, like, three into column A, the default for B in the same row will be four. So you can use any expressions in defaults, almost any. And as a nice side effect of this, I also have defaults for blobs. This is all part of them too. And check constraints. So MySQL used to support this for, again, forever. You can always create a table with specified check constraint and the parser was happy to parse it and then the server would throw it away and not even store it and of course not enforce it. And so it wasn't really support, but the syntax was supported. And now we have, well, fixed this properly. Now check constraints are parsed. They are recognized, they are stored, and they are enforced. So this table, if I would create it, I would not be able to insert anything in the table where A is not greater than B. This is also part of intent too. Virtual columns. MyDB supported virtual columns since... Sorry. Since version 5.2. But they were subject to many limitations. Some of them are removed now in 10.2. For example, now virtual columns can refer to other virtual columns, like column C refers to column B, which was not allowed before. They can be indexed, which also didn't work until now. Also, I didn't have an example for that, but the maximum expression length was increased. The set of functions that can be used in virtual columns is increased, so you don't necessarily have to use deterministic functions for virtual columns. So there were many limitations removed. I have only mentioned a few. The decimal type, decimal numbers, they got larger precision now. They can store up to 38 digits after the decimal comma. And this feature was actually, for reason I don't quite understand, the most highly voted feature in our feature tracker. But, well, now it's possible. You can use subqueries from close inside views, which was prohibited before. This query would have failed, createView in 10.1, and now in 10.2 it works. So we also worked on different optimizations, making many be faster on different levels. The faster, the best benefits would be speed up like for spent development time or whatever. You get, of course, from my defined algorithm significantly. So there were changes in order by, for example. In this example, let's assume that T1 ID, that looked like a primary key. So let's say it's a primary key. This one, let's say it's not indexed at all. So in 10.1, Optimizer would have tried to order by this not indexed column, and that would require file sort. So another sorting pass, which could be very slow. And in 10.2, Optimizer would notice that those two columns, two values are actually identical, and it could simply order by the primary key of T1, and then it doesn't need to file sort. It can just use the existing index, which could be much, much faster. Also, I was saying that in 10.1 we've made a log free table cache. This was apparently not enough. So now in 10.2 we additionally to that we want to partition it to make it well, even more concurrent. Faster connect times. There was some work done on make connection time faster, but whether you will be affected, that depends on your application. So if you actually see the connection time, which means you do like connect, run some simple query, disconnect, and then repeat again. Then part of the whole process, connection time will be noticeable, and you can see up to two times speed up, that's what we saw in our benchmarks. If you connect once and then run many long queries, then disconnect, then connection time is very small anyway, so you probably won't notice anything at all. It won't be slower, but it will not be fast either. We have added some more batching into the protocol, so one can batch many protocol commands into one, and the server will batch replies as well, reducing the number of round trips. It can be done for any command, but more practical example is to do prepare and execute in one big packet instead of saying prepare, execute, okay, so it reduces one round trip. Also when your application connects to the database, in most cases the username and password are correct. In most cases you don't get an incorrect password because everything's hard coded anyway somewhere in your application. So it makes sense not to wait for the server acknowledging the password, but just send username the password and the first statement that you want to do in the first packet, and the server will either execute it and send the reply right away, or it'll say incorrect password or whatever. But it also says one round trip, and I don't have any scientifically good benchmarks for that, we've done only some simple non-scientific benchmarks, and we'll have better results, we'll blog about it, but we did see some huge speed up because of that as well. There are many other statements, any other extensions that are either done or we are currently working on and they're ready to be pushed. So JSON functions, data type plugins that allow to, well, write plugin for data types, and the first three will be UID data type, APV6, APV4 data type, and JSON data type. And this is a simple feature that I surprisingly requested many times, and you can specify tell the server to return any version thing you want. And why is it needed? Because there are quite a few applications, it turns out, that do not support my ADB, and the vendor does not want to support my ADB. Security scanners that complain that the version of my ADB, if you compare 5.6 and 10.2 as strings, then 10.2 will be less than 5.6, because 1 is less than 5. So they'll complain that it's too old version that has too many security vulnerabilities. Or, for example, MySQL workbench, I believe, it checked the version to see what features you support. And if it's less than 5.6, it says that you don't have this and this performance schema tables, and that won't allow you to run this query and won't show you these pages. So again, in the ideal world, the users would complain to vendor, and the vendor would fix that, and we actually tried that, it didn't work, so we finally had to implement this workaround so that our users, those who wanted could hack around the unsupportive vendors. And now what we have in the Google Summer of Code. We have actually had 10 students, not all of them for the server, but those who were for the server, they're actually pretty good. And we will have, I would estimate that out of five bullet points in here, we'll have at least four features pushed. That's what I predict. And those features are, no pet collation means, so a skill standard supports or dictates two different types of collations, two different ways of comparing strings. There are pet space collations, which mean if you compare two strings of different lengths, the shorter one will be paired with spaces to the length of the longer one. This is how MariaDB currently works. Every now and then users ask us to support no pet collations where the shorter string is not paired with spaces. And this is part of the Google Summer of Code and so far it looks good, so we will probably have it in. And yeah, we have create function where one can create a function in SQL and then call it from selects and other queries just like any normal function. And there's another Google Summer of Code project to implement create aggregate function statement so that one could create aggregate functions in SQL just as well. This non-standard skill standard doesn't support it. Every database does it differently, so there's no standards about that. Habitory long tuning constraints. MariaDB has, I think, pretty much, every database has a limit on the maximal key length, length of the index, which makes the perfect sense because the index is just a help for the optimizer to execute the query faster. And key is needed to be able to distinguish between rows. And starting from the certain length, key stop being... loses its discriminative power and short keys is as good for distinguishing between rows as the long one, but it takes more space on disk and it takes more time to read. So for optimizing the queries, there's certain key length in which it makes no sense to have longer keys. That's why we don't support that. On the other hand, unique constraints, they are not just help to the optimizer. They are actual constraints, logical constraints of the data. And for those logical constraints, it makes perfect sense to have very long constraints. For example, I don't know, if you upload your 5GB movie on Dropbox five times, it'll do the duplication and it'll store this file once, and other three will be remembered like it's the same file. So sometimes it makes sense to have unique constraints over very large data. But because unique constraints was implemented just as a regular key in MariaDB, it wasn't possible, and now we are removing this limitation. And in turn two, it looks like we will have unique constraints which could be of arbitrary length. Invisible columns is something that is very similar to what Oracle has. You can mark any column in the table as invisible, and then if you do select star, it won't be there. If you do insert without column names, you won't insert into it. But if you mention it by name, and why it is needed, if you have an old application that you cannot really change, but you want to extend the table for some, I don't know, put a timestamp to keep track of the time, or extend it somewhat, then you can add an invisible column. This application will not see it, but your specific queries will see it. And there's another type of invisible columns, those that you do not create explicitly. For example, like row ID, it's kind of a column in the table, but you don't see it if you look at the table structure. You don't see it if you do select star, but if you mention it by name, you will see it. There's another kind of invisible columns. So we will have both. And the last feature, which is Google Summer of Code, but it's practically done, so it's, well, it's good, it's already in. It needs a little bit more explanation. So this is a derived table. It's a derived table. It's up query in the from clause. And normal, there are two ways of executing it. For the views and for derived tables, it's the same logic. It can be merged into the main query, and then it'll basically disappear as an individual query. It'll be part of the main query. Or it can be executed separately, result is stored in the temporary table, and then this temporary table is substituted in here. And this particular example, it has a group by, so it cannot be merged. So it will always be executed in a temporary table. But if you look at the where condition, this where condition can be actually moved inside the parenthesis and executed together with the inner query and stored in the temporary table as well. And in particular, this condition seems to be very limiting. So it'll, if it'll be executed as a part of the inner query, the inner query will be much, much faster. It'll take much, much less time to execute and much, much less space and disk. It'll have a lot less rows than if you do that without a condition. Now, this task is about moving these conditions inside the non-marriageable views and non-marriageable derived tables. It's expected to provide great benefits for the cases when the query cannot be merged. So merging is ideal, but if it cannot be merged, this is basically the second best thing we can do to optimize those kind of queries. But, yeah, so that was about Google Summer of Code, but you don't need to wait for Google Summer of Code. You don't need to, if out of it, you can contribute anytime and you can, you can contribute with the code. So we are on github, github slash maydb slash server, slash server, you can fork it and hack away and submit full requests. We have a knowledge base which is Wiki-like and you can edit knowledge base, you can contribute pages there, you can correct mistakes there. You can report bugs at gira.marriagedb.org or you can hang around on IRC and help people on mariachen on free node or on mariage discuss mailing list. The simplest way to help us that will only take half a minute is to put enable feedback into your My.cnf. This is similar to Debian, to popcorn in Debian. It will enable feedback plugin that will once a week send us anonymized statistics about how you use my ADB. What exactly it'll send, it's in the knowledge base. You can see and you can prove, I can prove that it's anonymized, that it doesn't send anything that we don't say it does. And then it'll help us to make more informed decision of what we need to work on, what we need to optimize, what queries are important and what we don't need to waste our time on. What features I say nobody uses and can be removed or features cannot be removed. Questions? Any questions? Well, I have a question. You mentioned about the explain thing that the plan would be explained and now would analyze is it always the same plan but you get the additional numbers or can it be a different plan on the way? It can be. So every time when, in most cases when it should be the same, in some cases when it's not the same, we would consider it a bug and we would fix explain to show the same plan. But sometimes there are some decisions that are made on the way when the query is being executed. This is explained simply cannot do. Any other questions? I should check on IRC, but I don't think... Okay, so if there's no more questions, then let's thank the speaker. There will be another database session in here after this one.


Hi, Teresa. Good morning, African and Mike. How are you? Hopefully after your biggest problem today. I'm here. Every day. We've started. Mike, with some of the injuries that wide receiver, how helpful has it been that Robert Woods, with his experience and having him not only in that room, but having him on the field this season? Well, I mean, I think he's helped us in a lot of ways. I think he's taken advantage of his opportunities. He's certainly tried to play multiple positions for us and some moving parts. And we've got other guys that are like that. I think Nick Westbrook can do that. I think Cody can play some multiple spots. So we'll see where things shake out this week.  We had him here a few years ago. But obviously, every year is different. Every week is different. Just try to get to know him, Jim, just in the personnel. Who they are, what their style is. And that's what practice is for. That's what the meetings are about to make sure that we understand what their skill set is, what their play style is, and predominantly what coverage is in fronts and conceptually what the scheme looks like. What do you think of their front with four first round picks? I don't know if Young is playing, but so at least three first round picks there. What do you think about it? I mean, Nick certainly figured it out a couple of years ago with recruiting interior defensive linemen. They're fantastic. Payne and Allen, sweat, length. But Payne and Allen, they just got a great instincts. They play great with their hands, their pad level. They're not just two gappers. They can disrupt, they can change it up. Rarely out of position, rarely on the ground, and very disruptive. It would be a huge challenge for us. We talked earlier in the week about Mario and DeMarcus and kind of sorting through who has a better week and how to distribute the snaps. Imagine they're kind of looking at the same role out of your game plan. Are you simply plugging guys into the same thing that you guys have drawn up earlier in the week and sorting out who's better suited to do this? Well, I think we just try to work through everybody and see who's available, see where guys are going to play inside and base defense, or whether it's nickel, what the third down. Right now, we're focused on first and second down defense and how we're going to match up and making sure that those guys all understand where it is that they're going to be playing and what they're going to be asked to do. Do you think with the game plan as you go along, if a certain guy is having a better week and his skill set is a bit different? Well, I think that's always something that you could do. Hopefully, I'd like to figure that out earlier in the week so that you're not, I would say, wasting reps. But we'll get a lot of work in today and start the preparation and see what we think it looks like. What are some of the things that, beyond, go ahead. OK, sorry. Does it help to have kind of what you've seen from Carson Wentz last season facing him? And just the problems that he kind of have in this year, obviously, been sacked 17 times, just taking advantage of that. Right, and they have been sacked 17 times. They've also moved the ball down the field very effectively. He's done a great job on third down. So his play strength in the pocket has allowed them to move the football down field at times. And they mix it up, and they'll get it in McCormick and Samuel's hands quickly and allow those guys to create. But then also have the ability to hold on to it and move the ball down the field. Beyond the interception that he had Sunday, what are some of the things that you've seen out at T-Air Tart that's brought his game to another level? It seems like he's holding up really well at the point of attack to allow the linebackers to clean things up. I think it's just really just his comfort level. And the more that he plays and the more that he's with us and the things that we ask him to do and the techniques, and maybe the conditioning is improved. And I think he's got an idea of a little better idea of what they're doing offensively, maybe. And that's helped him as well as far as just his alignments and maybe the blocking schemes that they're doing instead of just attacking and trying to be in the backfield, I think he has a much better understanding of how he can effectively make a play. Is he more athletic maybe than a lot of guys who are just in the middle as a run stopper? I mean, I wouldn't base that off of one interception, but I think that he has his power. He has play strength. I mean, he's one of the strongest players on our team. There is a burst there. And again, I think that his comfort level is increasing. What do you get to bring back Shaheem Carter and is he a guy who could potentially factor in this weekend? Everybody, again, that's here could factor. We've been through this. And so, but Shahe is a guy that I think, one, he's a great teammate. I think he plays multiple positions. He knows what to do. He helps us on special teams. And we'll kind of see where he fits in. We've had him here in the past. What about Sam Oku, Aiyinonu? What do you like about that skill set and what's helped you? Sam-o, Sam-o. Well, I mean, he's earned the right to be on the 53, by the way, that he's practiced and the way that he's improved and developed. So we'll continue to try to see where he can help us and fit in. But it comes work every day with an attitude to prepare like he's going to be playing in the game. That hasn't happened yet. And we're hopeful that there'll be a role for him here by the end of the week. Does he have anything in particular? Well, I mean, he's not the longest player, but he's got really good power, good quickness. And I think that he's continuing to learn the game and understand blocking schemes and how to take on different things. You mentioned Monty with practice this week. I mean, what do you hope to see from him, maybe, as you start that window? I think we are confident the way that the return to play has gone on the side. And so we'll see where that is and how that translates to some of the 11 on 11 and some of the special team stuff. And we'll be careful as we work him back. But by all accounts, he's excited. He's ready to go. He's conditioned and feels great. When Eric came off the field, he did a TV interview and he was frustrated with the way you guys played and all of that. You expressed a different theme, obviously, in the locker room. And he and everybody came out with a different message. Why was that messaging kind of important to you coming off of that? Because I know how difficult it is to win in this league on the road, Derrick holds himself to a high standard, which I appreciate. I think they all do. But I also want to, I mean, we have to be able to enjoy winning in this league and it's hard. And it's half the league. I told him half the league is two and two. And so we have to continue to improve. But there's a lot of good things that happen in the game which allowed us to win. And there's a lot of things in there that have to get corrected for us to win as well. How do you feel Roger McQuarrie has done just handling that physicality from the nickel spot? Because I know initially that was an area where you wanted to kind of ease him into. Well, I don't think it was because of the physicality or the ability to go in there and tackle. I think it was just how much did we want to put on his plate mentally from inside, outside, motion, this adjustment. I think there's a lot of things that change based on that because everything that I've viewed, I think he's been a very willing tackler, made one of the best tackles of our season last week to force him into third and 13 or whatever it was at the end of the game, which then Danico got to sack and they missed the field goal. So that was a tackle on Heinz out there in space. So I think that his tackling has been good. We always, we need to cover better and that goes for everybody. Our officials may be taking note of his Heinz-y style of play and calling that maybe a little bit more in a way that he needs to be conscious of. What we're going to keep playing the game, it just all depends on what crew you get. I mean, really, I go and watch all the other games. It's about the same. I guess scripting plays better this year. Do you give that some credit for some of the quick starts on the first drives and so forth? I think when we do well, everybody, especially the players, most importantly, should get credit. And when we don't do well, we all can do better. It's just, I think it's execution. It's play design. It takes everybody. Todd hinted that that scripting narrative maybe gets overrated because invariably, you get thrown off script on that early drive. It's not as if everything you're doing on that initial scoring drive is according to what you're doing. No, because there's third downs in there. There's short yardage in there. There's GBOT. You get behind the sticks. We're going to have to continue to string some drives together, some plays together and convert. You need to, we talk to them all the time, to get scoring drives in this league. You have to have some X plays. You're going to have to have some third and fives or third and seven conversions that are pretty dirty. And then you're going to have to avoid the critical mistakes or the critical penalties. And that's, you can look at them. And that's how I break them down. That's how I look at them. And you can look at all our scoring drives. And the good ones have had all those without the mistakes and the penalties and the ones where we get stalled have had just mistakes or execution. You might have been asked this already, but how do you think Dylan Cole did the other day when they were filling in for Zach? I think that they, our inside linebackers played the run as well as I can remember. They were filling gaps. They were triggering. So we'll need that this week. They've got three backs that they handed a two last week with Gibson and McKissick, Williams. And then we'll have to monitor where Robinson is. And he's a good player. We've studied him and he's got good size. So it'll be important for us to know the back in the game and how they're trying to use them. And our tackling will be critical this week. And these guys are tough tacklers. Sorry. Any change on Hooker going into this week or still in protocol? Still in protocol, but anticipate that he'll be out there today and working through just the different things that you have to pass through as it relates to practice and activity. You mentioned Robinson. What is the challenge of trying to plan on how they might use him or how you can match up with him when you really haven't seen NFL tape in the starting offense and trying to plan for that without a ton to go off of? Well, there's plenty of film just of what they're doing. I don't know if they'll change the entire offense. It's, you know, there's a lot of moving parts each and every week, but, you know, they'll do a lot before the snap. They'll move guys around motion. Sometimes they'll go fast. So we'll have to just be ready and be aware of whatever backs in the game. Try and march around with a very coached team. Coached teams and do you see him implementing that in Washington this year? Well, I mean, I think first and foremost got nothing but the utmost respect for Ron and his impact for this league as a player, as a coach, you know, mentor.  They're sound, you know, defensively very, very good. And very, you know, they've got a lot of variations. They bring a lot of different coverages to you, a lot of fronts, different personnel packages that we'll have to deal with. And, you know, offensively, I think like a lot of us, I mean, I think they're just, they'd like to run the football, use play action, you use once as, you know, play strength to move the ball down the field. And then, you know, like the Dallas, they made a commitment to it, to run the football, some of the other games they had gotten behind. And then, you know, therefore it goes in a different direction. But, you know, we have to be ready for a physical football team. Coach Rivera, I talked to him at the combine and he spoke very highly of you. How did that relationship develop?   And, you know, there's a lot of time there to talk about life and, you know, coaching and ways that you can impact your football team, ways that you can help your team. And, you know, he's been through a lot. Some of these guys have been around the game much longer than I have. And I'm always trying to find ways to, you know, help our football team, help our staff, help myself and things that I, you know, try to go through on a daily basis. Momentum of drives, is there such a thing can one impact another? Like at the start of games, you guys have seemingly, you know, one after another, you guys have scored in the second half differently. Is there a momentum that goes from one drive to another that impacts things like that at all? I mean, there's definitely a momentum in the game. I don't think there's any denying that. But as an offense or as a team, your job is to take each drive in and of itself, each play in and of itself, you know, it doesn't really matter, you know, what happened at the last play. You have to be able to reset and get ready to go to the next one. So, you know, that's our focus each and every time we take the field. Ryan, if you do that where after a play you sort of have to take a half a second and say, okay, calm down, either, you know, come down or kind of get yourself back up kind of thing or does that happen naturally? Oh, it definitely happens throughout the game and something you're aware of at every position, you know, just being able to reset. You know, sometimes we're talking about it in the huddle. Sometimes it's on a personal level, you know, so yeah, definitely part of the game is being able to reset and get ready for the next play. Ryan, if you guys have to be without trailing for an extended period of time, I guess what do you lose when he's not out there and what are maybe the qualities of the past catchers you guys, the other ones that you guys have that kind of gives you confidence? Yeah, trailing is obviously a tough guy to replace, but it gives other guys opportunities. So, you know, whoever ends up stepping in their force and getting a bigger role was gonna have to come up huge for us. So, you know, we have big strong physical receivers who can use their size and strength to create some space. So we're gonna have to do that moving forward. What's the thing going with your relationship with Josh in terms of getting him up to speed and where you want him to be part of this? Yeah, Josh has been out here for a few weeks now, so I think he's learning, you know, as we go forward and we'll continue to try to do that, you know, including this week. When you look at the second half, obviously the questions always keep coming about it, but it is something where you haven't scored in three games in the second half and going into, you know, a game like this and then having the bi-week, like how much of an emphasis do you guys put on that as an offense to be able to come out and do something there in the second half in terms of play? Yeah, we just want to be consistent, you know, and in everything we do, you know, being consistent and able to play good throughout the game. So that's something that we talked about the past few weeks and will continue to do so. You're almost a quarter into the season. I mean, what do you like about what the offense has done so far and, you know, aside from the second half issues, what are some things that are gonna have to get better for you to take it to another level? Yeah, we just want to continue growing, you know, at this point in the season, you know, very much mentioned to us this morning, half the teams in the NFL are two and two. So we found a way to win a couple of games here in a row. I want to continue to stack those wins as we move forward and to do that, we're gonna have to continue to improve each and every week, you know, moving forward. You mentioned some good things we did on offense or we have done on offense the past few weeks, been efficient in a lot of areas and you just need to continue to, you know, work on the things we haven't been as clean up. Robert Woods mentioned comfort level as a reason why there's been increased production over the last couple of weeks. From your perspective, what has gone into, you know, him getting more targets and you guys having more success? He stayed steady, you know, I think Robert's done a good job since he got here of buying in and trying to do everything we were asking of him. And I think, you know, first couple of weeks, maybe just really the first week, second week, he had a good game in my opinion. So he just kind of stayed consistent, stayed on top of his details. And if you're able to do that, you know, the ball is going to find you. So have a lot of confidence throwing him the ball and hopefully he can continue to get himself open. There was a lot of history with him, you know, just being in the league. Is there anything that that you've seen from working with him that kind of surprised you? Like, oh, wow, I didn't realize that, you know, he brings that to the table. Yeah, I don't know anything specifically. Just a veteran presence, like you mentioned, a guy who's played a lot of football understands, defences understands what we're trying to attack through our scheme. So that veteran presence in that room has been huge for us. Mike clearly didn't want you guys coming out of the locker room someday expressing frustration about the offense, about the second half, about that stuff. He was upbeat and he wanted you guys to be upbeat. Do you have a feeling for why that messaging was so important to him? I found a way to win the game. And that's what it comes down to is winning football games. No matter how they come, find a way to win each and every week. You said you didn't really know what happened at the end of the first half there with the clock stuff in your comments after the game, after looking at it, what happened there and why is the clock management stuff been a little bit more suspect this year than it's been historically with you at quarterback? I mean, I wouldn't say that's the case. Maybe that's your opinion. But we had that situation there. Possibility to, for tackle short of the sticks, run the field goal unit on and be able to kick the field goal with the running clock. We had enough time on the clock that we say we have enough time to get that off. Obviously, we'd like to get the first down and be able to spike it and stop the clock there. But we weren't able to execute it. The evaluation then coming out of that is not that you should have just thrown that out of bounds instead of trying to run there? Well, it's a tricky situation because it's third and one. If it's third and seven or eight, then it makes it a little more clear you're not going to be able to run and get the first down there. Being third and one, kind of had some quick pressure was able to get up through the pocket in a muddy pocket. I thought I was going to be able to get with my legs and just came up short. The veterans kind of sprinkled throughout this Washington defense, but kind of long up front. I mean, just in terms of your passes, making sure that you have enough space there with what these guys can do with slapping down the ball. They're talented, no doubt about it. Their front is extremely talented. They're big. They're physical. Across the board really starts inside and really moves outside as well. So a front that I have a lot of respect for, that we as a team have a lot of respect for, they're disruptive. They rush to pass you well. And then you prepare that with backers who are physical. And overall, it's a really physical front. Is scripting been any better Ryan this year? Is that one of the reasons you guys have had the really good success in the early drives this year? Or what do you attribute to it? I mean, yeah, we've had some good calls, no doubt about it. But we've had good calls throughout the game. At the end of the day, it comes down to guys. Raves always talks about making the picture come to life. And we've executed well early in games. And we have to do that throughout the game. Does it make it any more, I guess, puzzling that you've been able to execute so successfully at the start of games and then seemingly different story in the second? I don't know if it's puzzling, but something, no doubt, we want to get cleaned up. When you evaluated it when you went through the second half the other day, what did you come away with in terms of answers for that and your performance in particular? Yeah, we had some things we got to get cleaned up in that second half. Some of it, execution, missed some opportunities across the board. So some of it was myself, some of it was other guys. But we can't have these sprinkled mistakes, a mistake here, a mistake here, a mistake here. When you add them up, then now we have three drives that were stopped because of mistakes. Have to be able to play cleaner football. And if we do that, we'll have success. Why is it that those mistakes? How excited do you get when you see the light kind of come on for a young guy like Chig, and he's able to make a couple of big plays for you? Well, it's exciting. To see him getting the end zone, just the energy, obviously, he's brought a lot to the table for us and is a talented player. So to see him getting the end zone for the first time, I thought his celebration was a little suspect, expecting more from him. No, no, no. But it was good. I saw him toss the ball, and I'm like, all right, I got to track down that ball for him. I was able to snag it for him. But yeah, happy for Chig. Obviously made a big play for us there in the red zone, and a couple plays throughout that game. You mentioned it comes down to mistakes. I guess the question then would be, why are those mistakes not taking place in the first half and then so regularly taking place in the second half? Where is the disconnect there that those physical mistakes, or those errors that are sprinkled in, are really mainly sprinkled in after halftime? I don't think that's true, because we have mistakes throughout the game. It's a game of football, it's an imperfect game. Sometimes the mistake just happens at a critical point in the play. So it's not like the first half is mistake-free, and just because you score a touchdown doesn't mean the drive didn't have mistakes on it. So having those critical mistakes, which heavily impact the play one way or the other, are the ones you have to eliminate.


I learned how to smile from Royce. Shout out to him. Lonnie, you've been out for a few weeks with the hamstring. How are you doing and how has the recovery process been? Uh, I'm struggling.  But mentally, I'm good. Physically, I'm feeling really good. I had a really good, um, uh, workout session after practice. So I'm just in a really good place.  How did that halt things and how did you kind of balance that in the system? Um, it, it was for sure very, uh, uh, I can't really find the word. It was very, it pissed me off a lot. Honestly.  I was very upset.  I want to play with my family, my teammates, um, and, and win and get better. So, um, I think on the bright side of things, you know, just gave me more time to kind of recover and make sure once I'm back a hundred percent, I can go as far as hard as I want to go. So, um, I'm trying not too much to look at the negative, but the positive as, you know, time is ticking and, uh, being on the course time approach. So you had the virus. Where are you hamstring wise in terms of? Um, I'm getting there. Um, still no timetable, but, uh, today was a very, very huge step forward as far as understanding how my physical aspect as far as movement and jumping and running, um, how I feel. Um, I felt terrific. This is probably the best I felt in quite a long time. It was a very severe pull. Was there a dare? I understand that all pulls are to some extent a tear, but I mean, was it a pull? And then did you backslide off of that? Or was it just, was there a tear? Um, just a hamstring strain, I guess you could say. Um, you know, when it happened, I felt like it was a pool. Um, I was in a bit of a, I thought I had a cramp when I was running up and down, so I thought it would go away. Um, and then after a while it kind of just settled down. I'm like, it don't feel right. So, you know, this is one of my first times kind of having one. You know, so, um, everyone's telling me to take it slow, even though I have my days where I'm like, man, I feel great.  So, um, you know, just taking a day to day, you know, and trying to be as good as I can as if not better than always yesterday and recover a lot better. Did it feel, I mean, probably just said it, but it felt, I'm guessing, different. I remember you said before, if you want to play, you're going to play. I know you played with the knee injury, you played with the other things. This definitely felt more different than just something you just wanted to try to play through. For sure. Um, I don't think this is something that you can physically play through. You know, if I could physically play through it, I would. Um, I think that's just the harder thing. It's like, be impatient, you know.  And now your production isn't how it, you expected it to be or the way your plan is and what you wanted it to be and whatnot.  So, um, I'm trying to do my diligence as far as being disciplined, understanding that I'll be back on that court sooner rather than later. Um, and just leave it all in God's hands. And what are you able to do and what's the next step? As far as movement and stuff. Uh, today was, you know, like I said, today was a huge day.   But I mean, I'm excited and I've really been thinking about when I'm back on the court.  And, um, you know, just continue to grow. This is a four game road trip a week away. Is the expectation that you could possibly return at some point on the road? Um, God wouldn't we, you know, I don't have a clear cut answer for that.  So, um, like I said, I'm, I'm day to day right now, you know, seeing how I feel, you know, even when I feel great, you know, just checking on it, seeing if it's still stable, what, what it is and whatnot. You know, a hamstring is very tricky. Um, so, you know, like I always keep saying day to day. When you are back on the court, the next question is going to be, okay, how long is it going to take them to regain that offensive rhythm?  Um, I mean, I'm staying on my P's and Q's. Um, I think, you know, the definition or the meaning of staying ready, I really, it speaks highly on my, my resume.  So, uh, I'm watching a lot of film. Honestly, watching my teammate, seeing what I could provide when I'm on the court rather than trying to be like a ball dominant player or whatnot. Um, and I'm still going to the gym. I mean, even if I can't move and whatnot, you know, I'll get 200, 300 of form shots.   I'm at the home playing video games, eating popcorn and whatnot.  You know, I really love this game a lot. So, um, if there's anything that I can do, even though it's very slightly or very, you know, slowly, uh, I'm willing to do it. So, you told me you didn't play one video game. Of course I played a video game, my boy. But in the midst of it all, you know, uh, you know, I'm just trying to put in a little bit more extra work if I can, you know, but I'm, yeah, I'm on the game. Thank you so much.


Hello, in this presentation, we're going to be talking about the accounting cycle or the accounting process. That process that the accounting department will go through on a systematic basis over and over and over again, typically thought of as a monthly process, although it could be thought of as a yearly process or some other process in terms of the amount of time that will pass. But these are going to be the steps that will be gone through in terms of the accounting process. Please keep in mind that end goal of financial accounting, which are the financial statements. Some texts will have more steps than five as we have here. Some texts will have less than five steps. But the goal here is to really have a broad picture, big picture so that when we think about the accounting process, we can break down that big picture view. Five is a pretty good number for us to be able to memorize and keep in our mind. If we have more than that, it can start to kind of muddy the picture. So once we get into each of these individual steps, we want to get into more detail, obviously. But when considering the overall picture, five is a good amount of steps. And it's enough for us to understand those different steps and understand the big picture view of what is going on as we go through the month. First step, we're going to consider are there going to be the normal transactions. Those are the things that the accounting department is doing, entering the invoices, entering the bills, dealing with payroll, all the stuff that we generally think of in terms of the accounting department, we're going to group into step one. So in terms of timing, step one is far greater than any of the other steps because that's what's happening throughout the entire month. Everything else is basically happening pretty much at the end of the month. For example, at the end of the month, we're going to then reconcile the bank accounts. I'm going to include the bank accounts as a step in and of itself because it's really a huge internal control, second only to the double entry accounting system itself. And it's really defining that point in time in which we're moving from the normal business transactions to the next step, which will be the adjusting journal entries. The adjusting journal entries will then be used to create the adjusted trial balance, which will be on an accrual basis or as close to one as possible. And all of this happens again as of the end of the time period as opposed to what happens for most of the time period, which are those normal transactions. Once the adjusting entries have been done, we can finally make the financial statements. This is the end goal. We have the asterisks here because this is the end product that we're really looking for. This is what the external users of the financial statements and most of the reports for managerial accounting are wanting those financial statements. But notice it's step four of five. It's not the end, although that's the main event. We still have the cleanup process, the closing process, and that's going to be our final process. We'll have to close things up to get us ready for this whole system to start again at which time it will start again. So let's go through those steps in a bit more detail. We're starting out once again with the record normal business transactions. That's our step one, really what is going on. That entails mainly everything that we're doing throughout the entire month, which is the payroll department, the accounts receivable, the accounts payable, entering all the transactions, bills, invoices, everything is going to be all included in this step one. In terms of timing, this step is way bigger than the rest of the steps. The rest of the steps are really going to be the things that we're going to have to do to refine this information down to make those financial statements and then be ready for the next time period. These are going to be the steps where we have the normal journal entries. We're compiling the data from the financial transactions that are happening. We're recording all of those transactions to the general ledger. The general ledger is being used to make the trial balance. We might have an automated system doing this. We might not be entering journal entries, but the journal entries are being entered in some way. When we make an invoice, a journal entry happens. When we make a bill, journal entries happen. We write a check, a journal entry is happening. This is what's going on. We're recording the data throughout the month. At the end of the month, then that's when we got to decide, okay, the month is now going to close. We have to think about that cutoff. We're going to want to make the financial statements. That's the end goal as of the end of the month. Step two, bank reconciliation. Once we have all the transactions in there, because cash is so crucial and involved in so many transactions, it's a huge check, a huge internal control for us to reconcile the bank accounts. We don't want to go to the adjusting process until we've reconciled the bank accounts. Once we're done with the month, we're going to say, let's reconcile the bank accounts meaning compare the bank balance of cash to our balance of cash, determine exactly what the differences are, make any adjustments we need to make, and then reconcile in terms of what is outstanding. What are the outstanding checks? What are the outstanding deposits? That gives us assurance that our transactions are in there correctly, both our cash transactions, and because so many other entries are involving cash, it's a huge check on our entire financial system. Then we want the accounting cycle in terms of the recording, the adjusting entries. So the adjusting entries are going to be those that are made as of the end of the month. 731, all of them are made as of the end of the month. Those are our timing journal entries, meaning we're making sure that our financial statements are correct on an accrual basis, looking at those accounts that always need adjustment, those accounts like prepaid insurance and accumulated depreciation, and we have interest payable and unearned revenue, those accounts that typically are going to need some type of adjustment, and that's just the way the system is built. So we're going to put those journal entries in there in order to make our financial statements correct as of the date that the financial statements are being generated. Then we're going to take this adjusted trial balance, the one that has now been adjusted in terms of those adjusting entries to make them on an accrual basis or as close to it as possible, and use them to create the financial statements, the end product. This is what we're trying to get to, the balance sheet, the income statement, and the statement of owner's equity. In terms of financial counting, this is our product that is going out to the external users, also the product that's mainly going to be the basis for most of the managerial accounting reports used on an internal basis as well. So this is the main event, and you might think it should be the last step then, it being the main event, but it's not the last step after we have the financial statements, we are then going to do the closing process. And this is kind of like if we have the main events being a Super Bowl or something like that, then the closing process is cleaning up all the stadium afterwards in order for us to start the process over again. That's what we're doing in the closing process. We're going to take that adjusted trial balance, which we use to make the financial statements, and we're going to close out those temporary accounts, those accounts that are kind of like the scoreboard accounts, those revenue accounts, those income statement accounts, those draws accounts, those are going to be these items down here. And those then are going to be zero at the end, why? Because as of the first day of the next month, we want them to be at zero, just like we want the scoreboard and the new game to be zero so that we can start counting up again from that point forward. So those are going to be the five steps you want to keep in mind. And when you have a broad view, I'm thinking in terms of what the accounting process is going to be, you want to have these five steps in mind so you know what is going on from that level, meaning starting with the normal business transactions. And again, in terms of time, that's what's going on most of the time, the whole month. That's basically what going what goes on the end of the month, obviously a busy time for the accounting department because we need to reconcile the bank accounts, then do the adjusting journal entries, then the financial statements, the main events. And then we do the closing process in that point, and then we can start over and do the next process again in that order. At this point, just want to note that smaller companies may not be required to issue publicly financial statements to the public. And therefore, they may not be as diligent in terms of their bank reconciliations and their adjusting entries and the creation of the financial statements as they should be. And they might be depending typically possibly yearly to get help from an outside CPA firm, at least to make the financial statements to generate the tax returns. So just realize that if you're in a smaller company, that there could be some differences in terms of the just exactness of the accounting process from month to month. The larger the company that will be the more systematic, we're going to have the process basically down from month to month, although of course, there will also be more detail involved when we get into the more detail of each of these steps within the process.


Hi Jersey Shore friends, I'm Dr. Ken Sable, President of Jersey Shore University Medical Center and co-chair of the 2016 Shoreline Heart Walk. It's time to hit heart disease and stroke out of the park. Join me in the American Heart Association on Saturday, October 29th for the 2016 Shoreline Heart Walk at First Energy Park, home of the Lakewood Blue Clause. Did you know that heart disease is the nation's number one killer and stroke is number five? Help us hit a home run for the American Heart Association's mission of building healthier lives free of cardiovascular diseases and stroke. I encourage you to join the Shoreline Heart Walk as a fundraising walker. Everyone has a reason why they want to live a longer, stronger life. For me, family is why. We would like to challenge all walkers to add their personal why to their fundraising pages. Join us as we create a culture of health in our communities. You can register as an individual fundraising walker or join a team. You can visit shorelineheartwalk.org for more information and to sign up. Thank you to everyone who supports the American Heart Association Shoreline Heart Walk. Thank you for your support.