Here is a look at zappy's day against the bills. He finished 16 to 26 for 209 yards also scored on an 18-yard run But zappy had more interceptions with three than the patriots had first downs two during new england's first six possessions Here is zappy on that dismal start I mean it's It's football things like that are gonna happen You're gonna have turnovers you're gonna throw three interceptions in a game But it's just how you respond how you you come back to the next series and how you play And I felt like we did a great as offense in the second half coming back You know we kind of flushed everything we came out together and we you know We played a great second half It just wasn't enough because of what we did in the first half current a couple weeks in With bailey's app anything four weeks in now with him as your starting quarterback. How do you feel about him as a starting quarterback? How do you feel about him as a quarterback? Oh as a as a quarterback He is trying to go from a developmental end of the roster player to proving He's a number two yesterday didn't offend me greatly because it's just a byproduct of a young player trying to understand an offense And go against a pretty good defense. He sees some things that don't work out big deal But this is not like me saying oh no This jeopardizes his chances of being the starter next year because I never pretended that he would be hoping to be that This is a lost season. These are lost games and he's getting starts that will prove to the patriots Where he fits in their depth chart But to me this didn't dash any hopes of him being useful in the role that he's going to ultimately have Phil on on the breakdown you and ted talked a lot about how different of a quarterback bailey's app He was one faced with the blitz versus when he was not blitzed And I just I guess I've been wondering because everyone again That that watches these games closely keeps saying this is just a number two guy And I feel like one of the big reasons why is once defenses start to figure out what kind of quarterback He is I feel like they're starting to expose his weaknesses Which tends to happen with backup quarterbacks, right? They play more and the more they play they tend to Come crashing back down to earth So I still look at this as he's got a bunch of opportunities here to prove that he's worthy of that number two spot Which I nest I based on what we've seen so far I'm not comfortable with moving forward and he's only got one more game to prove you're not comfortable with him As the number two even no, and I wouldn't be comfortable with him Certainly as the guy who's got to be a bridge maybe to a rookie who takes over You're telling me Bailey's happy for the first month of the season is a is a good option for a team that Wants to do anything. I just I don't believe that I don't I like the backup quarterback, especially for a team that might have a young starter to either Preferably if it's a young starter, it's got to be the older guy who you know can Play the game for about a month and not turn it over three times If you've got a more veteran guy greg than maybe you want a younger backup with some developmental upside Which I'm not sure he has either in terms of physical skill set So to me he's a three right now The only scenario that I'm okay with Bailey's happy as a backup is if you have an established starter Like you know that because I think he has proven with his Moxie his smarts his toughness that you know, he can go in there and he's not going to be you know He's not going to sort of you know go down to any sort of pressure or environment Like he you know, he's he's been putting some tough environments and he's done well But you know the longer he plays he's just limited I mean teams started the you know the The smart teams as opposed to denver the smart teams looked at what he wanted to do against denver They were ready for it. They had answers. They were jumping routes and then all of a sudden there are problems His greatest attributes Have been highlighted by the fact that he does have the boldness to step up to remain Focus down the field when there's chaos around him to not get caught up looking at the rush And he's shown more velocity and downfield accuracy the mac I don't know if he's got vastly a vastly stronger arm But he doesn't throw touch passes as often as mac does so that's been to his credit and I think additionally to his credit He has a very high opinion of himself. Oh, yeah, he doesn't buy into The things that we're saying he's a three's a two. He's a developmental guy. He believes himself to be better So that works in his favor But additionally does it because he makes throws sometimes like the throw on that slant Where his head is facing one way and then he just comes back the other way assuming It's gonna be there maybe because there's some confidence there deep with them and I give him credit for if he wasn't confident He wouldn't even be in the league. So yes, I think it works with him to a degree But I think it also gets him into trouble at times.  So that was one of the touchdowns It's hard to get giddy about that performance. God bless him for being out there and having the team down six weeks I thought one of his best plays was he avoided a safety on one That was one of his best plays the entire game and and again that sort of gets down to who he is The gaseki play the jaylen rager throw down the sideline where rager made an unbelievable catch. He makes plays But he also You know the keeping the plays a live thing is a double-edged sword for him because sometimes it gets him into a lot of trouble I'm also a little surprised of the The excuse making after games and it's not the it's this weekend It's the first time we've heard it where he goes to great lengths to be like, well if x y and z didn't happen I mean we were right there We were right there in it and that to me also speaks to his confidence where he really thinks that One a lot better than four turnovers. I mean if I just clean a few things up We're winning all these games. I think it also speaks to where the patriots are as a team right now I mean the guy ahead of him mac was somebody who was grumbling and brian hoyer was there with him and saying Hey, you're right mac So he's watched that for two years and he's watched map patricia and joe judge Maybe look at mac and go Yeah, he's kind of a baby and he blames this and they blame mac and bill is clearly Blame mac and it's just turned into this firestorm where we saw it on two different occasions yesterday Him outwardly gesturing toward the sideline bailey zappy during plays that went sideways for him And it kind of I thought greg you're nodding That they got to clear that crap out of the system that mac got involved in too Yeah, I mean it just it just goes to they they need a complete reset on offense And what really irritated me about yesterday and some of the post game comments including bill And I wrote a column on this at bsj was you know bill talks about turnovers Like you know he gets disgusted about turnovers and he thinks like it's just in a vacuum that Like you could just get a player and he's not going to turn the ball over no turnovers Are a byproduct of the system that you put on offense the lack of protection the lack of Targets on the outside the the horrendous coaching from assistant coaches that causes turnovers You know who's around the patriots with turnovers this year in terms of giveaways the chiefs and the bills Because they haven't done a good job surrounding their quarterbacks either turnovers just don't happen in a vacuum bill They happen because you allow it you foster the environment where people have to try to make plays And then they turn the ball over and the chiefs and the bills have the talent To make up for those types of plays which obviously that's the patriots apart from the rest of the teams at the top of the league Well, at the very least they have quarterbacks Well, except for josh on it looked great yesterday, but for the most part they have quarterbacks You can cover up more mistakes than the patriots do


QuickBooks Online 2023 Tax Tracking for Home Office. Get ready to earn the skills needed to boost your bank books on up with QuickBooks Online 2023. Here we are in our QuickBooks Online test company file using the account and view as opposed to the business view. You can toggle between the two views by going to the cog up top and switching the view down below. We're going to duplicate some tabs to put our major reports in them. The financial statement reports, the balance sheet and the income statement. To do so, right click in the tab up top and we're going to duplicate it. As that is thinking, I'm just going to right click on it again and duplicate it. As the new tab is thinking, I'm going to go back to the middle tab, we duplicated reports on the left hand side and open up the balance sheet. One of the favorites. These are like the default favorite reports because of course they are the financial statements. Let's tab to the right down to the reports on the left hand side. This time the other one that's there, the profit and loss, the income statement, the P and the L. We're going to close up the hamburger up top. I'm going to scroll up and change the range for the year of 010123 tab 123123. That's January to December 2023. Run it to refresh it. And then we're going to tab to the left. Do the same thing closing up the hamburger err and change the range to the same 010123 tab 123123. January to December 2023. Run it. Support accounting instruction by clicking the link below, giving you a free month membership to all of the content on our website broken out by category further broken out by course. Each course then organized in a logical, reasonable fashion, making it much more easy to find what you need than can be done on a YouTube page. We also include added resources such as Excel practice problems, PDF files and more like QuickBooks backup files when applicable. So once again, click the link below for a free month membership to our website and all the content on it. And there's our major financial statement reports. So our general concept will be we will do the data input on the left and then populate see how that populates and adjusts our major financial statement reports on the right. We now want to think about the home office expense or deduction for the federal income taxes in the United States. Our goal being to put our financial statements together, have a bookkeeping system which will help us out for tax preparation as easily and efficiently as possible at the end of the year. Now normally with our bookkeeping system for a small sole proprietor type of business that's going to be reporting their taxes with the help and use of the schedule C, we might be able to enter a lot of transactions with the use of the bank feeds. We might have our bank feeds connected in essence on a cash-based system for many of the transactions and as the transactions clear our bank feeds coming in from our bank increases decreases to the checking account. We're assigning them to a category or an account constructing our financial statements balance sheet and income statement as we add this data into the system. However and that's great because we can we can basically build the main report that we need for taxes for sole proprietor which is the profit and loss using a system like that oftentimes although there are a lot of instances where we could have a more complex kind of accounting system. We talked about bank feeds in general in a prior course or section but now we want to focus in on the complexities just with the tax code. We talked about in prior presentations one of the complexities that almost always comes up with small businesses which is the use of the automobile because if you with the automobile use you might be able to use a mileage method or the direct write-off method and obviously when we are recording the taxes we are recording the actual expenses as they clear the bank. When we pay the gas station we are then recording it as an expense but if we use the mileage method we can't take both the actual and the mileage method so we need a tax adjustment that has to happen. As we do the tax adjustment we would also like to have a nice little reconciliation showing us what the book keeping number is and what the tax adjustment was to get to the tax adjustment which should tie out to the net income or bottom line of the schedule C. We have a similar kind of issue with a home office situation although slightly different. With a home office you've got some expenses oftentimes which you can't easily break out on a payment by payment system between the business portion and the personal portion so you typically have to have this adjusting process or as you enter the expense you might be able to to break them out as you do the data input so those are the two methods we'll kind of look at. What are these kind of expenses? Well typically if you are a renter that's going to be the rent you pay for your home because if you have a home office in your home you would think it would be reasonable then to be able to deduct part of the rent that is related to your home office but obviously when you pay the rent you're not paying two separate checks one for the home office one for the rest of your house you're paying one check so as that money goes through your bank feeds then it's you're only going to allocate it to one account typically. You could try to break it out by the way between two accounts or you could use class tracking so that's one of the methods as you do the data input that we'll look at but we'll talk about that in a second and then if you own the home then you're going to have no rent but you do have to pay the mortgage interest so you're not talking about the full the mortgage payment because part of that's financed that's the loan but the interest represents the kind of rent of the purchasing power of the money so you would think that part of the mortgage interest might be deductible and you're going to have property taxes so you think the amount related to the home office might be deductible there and that gets even a little bit more confusing because you might be able to deduct the other part of it on the personal side on the schedule A as an itemized deduction and then whether you rent or you don't or you own you also could have utilities of course which like the gas and the electric and whatnot and possibly phone if you're using it for business and personal that that you're going to be paying one bill for the utilities which is going to come through your bank account with one bill which you might have to break out again to the business and the personal and then you could have repairs like the roof repair the roof or paint the building or something like that which you might be breaking out between business and personal now the couple different ways that we can do this that the easiest thing to do is when we have these come through the first question is should we be putting them on on our our business bookkeeping side of things or should they be personal so for example if i'm paying the rent or my mortgage interest it kind of seems like a personal type of thing should it be going through the business account at all and you would think well maybe it would be the easiest thing to actually put it through the business account so that you can make sure that you're tracking it because if you have a schedule c type of business you can you're going to try to allocate part of it to the business side of things so you could pull it into the the business account and record it as whatever they're coming up rent utilities and so on and so forth and then possibly periodically at the end of the year most likely or you could do it more often like at the end of the month or something like that if you want to do it for your own bookkeeping purposes and not just for taxes at your end we can make an adjustment using the class tracking in a similar way as we did with the auto expenses so if i turn my class tracking on then i have this i can have this breakout with this adjustment similar to what we did with the auto expenses saying saying look this is the this is the amount of the expenses on the bookkeeping side this is going to be the tax adjustment and then we have our tax uh and then we have our tax amount that's going to be useful for creating the schedule c or when you actually create the schedule c you might you might use the tax software to help you to figure out the deductible amount at that time and then and then put the adjustment possibly into quickbooks if you wanted to have your little tax adjustment basically within quickbooks instead of having to print it out or export it to excel and have your tax adjustment somewhere else so if you come back three years later you have your little adjustment that you can that you can go back to in the event of an audit or something like that now another method that you could use is you can actually figure out what percent should be business or personal based on the square footage calculation which is usually the calculation you get you can get the ratio and then as you do the data input for those expenses the utility of the rent and so on and so forth you can create a rule so that when the money actually comes in you are properly allocating it between uh the tax deductible portion and possibly another another account so you can kind of do the breakout as you do the data input so that's another method that we can use it kind of tracks it on a perpetual method instead of like on a on a periodic adjustment type of system and the other thing that of course you can do is you may possibly have one quickbooks account that has both your personal and business in it a lot of people won't recommend that you do that but if you're a small business you might be able to do that and uh and because you only need the schedule c and you might not want to pay for two quickbooks online accounts so that you can track your business and personal and if you get the plus or above you might have the class tracking which you can basically allocate out and you could I have done presentation on tags so if you if you want to pay for a cheaper version of quickbooks and use a similar concept with the tags it's a little bit more complex to do but you could use the tags uh in a similar kind of fashion so if you take this concept and look at the course or section on tags you could probably figure out how to do a similar kind of thing with the use of tags if you don't have plus or above which has access to the class tracking but if you had your if you had your personal stuff going through here you can assign everything that you enter to either business or personal and then you can have an income statement for both your business and personal type of information that would be broken out and then of course same kind of idea with the home office you can break out the the business side of the expenses and the and the personal side either periodically or as you go using a percent usually derived from the square footage of the home office compared to the whole square footage of the home okay so next time we're going to talk a little bit more about what the tax law generally says with regards to the deductibility of a home office so we can understand that and then think about how we might design our bookkeeping to be to be modeled around that so that we can have information that's relevant to us and have as easy a tax preparation process as possible as well as possibly being able to document the differences between our normal bookkeeping uh input and the tax adjustments that are necessary so that if an audit happened at some point in the future three years down the line we can easily go back and see the reconciliation and say hey auditor this is what I did get out get out of my face because I did it right or something here's my reconciliation or whatever you know you know so that's what we'll do


You may think that I'm just being pedantic on the language that I'm using here, but when people are so focused on I've got to quit drinking, I need to stop drinking, the neuroscience studies show us that we tend to still do the very thing we're telling ourselves what not to do. Instead of if we say I am choosing to be alcohol-free, I'm choosing to only drink soda water ice in a piece of lime, I easily only drink soda water ice in a piece of lime, and then we make this fun and we make it aspirational and we get some accountability. Then all of a sudden the whole feeling around quitting alcohol becomes really positive and fun and aspirational. It's not sitting in a room talking about how we've messed up our life and having shame and guilt and surrendering to a higher power.


Congressman, what do you make of the Super Congress and the fact that Congress was not able to even be involved in the Libya operation? Well, to me it's an outrage. First, the Super Congress is some newfangled invention by the people who couldn't solve the problems up there and weren't willing to cut anything, so they're just going to pick 12 people who are supposed to pick out the things to really cut. So I have no confidence that they'll achieve anything and even if they did, it'd be risky because why should we turn the whole Congress over to 12 individuals to make these decisions? So I don't anticipate that they're going to come up with a solution. If they did, they'll probably be raising taxes and they probably won't cut any money away from someone on there. They haven't even been braving up to cut the money from Libya, so I don't expect a whole lot to happen. Congressman, is there any recourse with Obama telling Congress I don't need your authority to go to war in Libya? I have the UN giving me the authority and I quote, do this for their credibility.  I mean, I know you've been fighting it and just allow the power of the purse and the power of war to more and more move to the executive? I'm afraid that people aren't going to demand it and the Congress won't respond and there's a few of us, you know, that file suit and we try to fight it and vote against the funding, but we never get the majority. But, you know, it's not like it's brand new. I know this is money on Korea. So at that time, a president would come and get token approval. They never get the token approval to do what I want. If I want to fight a war, I can and Congress is expected to finance it. So we've given up a lot over the last hundred years and I think the responsibility of the Congress to be the final decision maker on going to war has been long gone lost. Recently, shifting into monetary issues, you had Bernanke on the hot seat. You said his gold money and he said, no, it's not. Their counterfeit fellow reserve notes are now we've seen two weeks ago on Meet the Press, the former head of the fellow reserve Greenspan. I'm sure you saw it say, hey, we're not going to default. We'll just print money, but isn't that a form of default? That's that inflation tax you've been talking about and another way of cheating people that have bought the treasuries. I mean, it's looking more and more like Hitler and his bunker to watch the fellow reserve giggling about what they're doing. They never pay their bills. They can't work their way out. Theoretically, we could, in reality, countries you need to operate. If you have to borrow it, it's at a point, almost of no return, liquidate the debt. They won't admit we're in bankruptcy off of the American taxpayer by raising tax and inflating the currency and barring around the world. They won't accept the obligations for the value of that money they sent. Matter of fact, it is a deliberate policy of the Fed and Bernanke has essentially admitted this that the only way we can get out of this is inflation. Some of the liberal economists who really need is an inflation rate of about 6%. They're actually encouraging the inflation in order for the real debt to go down. Obviously, if your dollar loses in purchasing power, your real debt goes down 50%. So 50% inflation, which they're liable to get, the real debt goes from 14 to the middle class generally gets wiped out. And if they want to aim for 5, 10, or 15, I think is our greatest danger right now. Congressman has been said by a lot of pundits that you're a prophet. I think Al Sharpton even said that. And they can't deny that basically everything you've talked about has now come true. And they say Ron Paul is on a mission. He's certainly educating people. So at least they're admitting that you are in a war of ideas and that you're trying to change the course of history. And I would say successfully doing that, win, lose, or draw. But getting some into the campaign, even when you were on Neil Cavuto yesterday or a few days ago, I saw it on YouTube last night. Not sure when. He kept saying, too bad you can't win. I sure love you. Too bad you can't win. So it was kind of a back slap in a smiley way. I'm not attacking Cavuto. But the issue is in every poll I've seen, I watch it. You've been number one, number two, or number three for the last six months. And you win the New Hampshire straw poll. You get a technical tie, even when they're buying the votes in Iowa. And they put out this hoax that you can't win. But then meanwhile, and this is what I want you to speak to. You've got Romney, who's the Obamacare author, his model. It's now come out that not only was Perry the campaign manager in Texas for Gore, but that now we learn in 93 he gave speeches and wrote letters endorsing Hillary care worse than Obamacare and forced Gardasil shots, sir.  You can correct me if I'm wrong. You have much greater gravitas than I on you going after these people because they are basically like Obama, but they look more like Ronald Reagan. I mean, what do you say about these two establishment hacks that the system is exalting as our, you know, as our new leader? But generally, over the years, I've allowed their policies to speak for themselves and their policies are now feeling holding growing in strength and credibility because everything they say and do and earning of the money or running up these debts and for the bureaucracy. I mean, just think of the size of government over the last, so I think that is...  I mean, Rick Perry has gone from doubling the size of Texas government in 10 years to saying basically that he's, you know, I'm the real Ron Paul. I'm Rick Perry and, you know, the Federal Reserve is almost treacherous or treasonous.  So what do you say to that? Well, I think that people have to realize that they know that he's a flip-flopper and different than what Romney has done with his medical care system up in Massachusetts. And you're right. You know, I guess nobody even has to lecture people. Why don't they just wake up and look at history and investigate a little bit? But I think more and more is coming out. You know, I think it's going to be a very, very formal politician and he may well, how can I be so happy about, like you said, you know... 1988, handing roads over to center of Spain, Bilderberg group meetings, forced inoculations. I mean, the fact is he's doing all this stuff now, not just in 93 praising Hillary. What person in their right mind would support Hillary care? I mean, I was 18 years old when they were trying to ram through her 17 and I knew it was bad when I was 17. So right there it shows he's got major judgment problems. People in Washington I've known for years, the only thing that motivates them is power and it's not sound ideas, it's not freedom and they're locked in on this power struggle. Both parties are this way and they have different rhetoric, you know, regardless of which power. Yes, sir. The reason why things are so different is all going to come to an end. So away from the drift where we have gone to, you know, in the last really 100 years, whether it's foreign policy or monetary policy, IRS and all these things have gone on for a long time, things coming to an end. Yes, sir. And that's why what we're doing now, all of us, you know, and I think I'm very loud about how poorly their ideas are working. We've only got about four minutes left with you, sir, so I want to move quickly here. Obviously, when you say he may well walk away with it, you are within striking distance. If we can just expose the hoax that is Rick Perry and then the other minion, Mitt Romney, you are going to have it, sir. And it's perfect timing. You're the man of the hour. God has literally given you to us that you've been right all these years, never compromised, right as America's collapsing. Here you are with the constitutional tried and true common sense solutions. But if you do lose, you still win by educating people. But you say that you're going to go home after this when your term is up. If you don't win the presidency, if you don't win the presidency and leave, sir, are you still going to write and speak? Well, I wouldn't know what to do if I didn't do that. I've always thought that I've always done the same thing whether I'm in office or out of office or whatever. And the goals have always been the same. The elected position has generally been secondary because of trying to change the course of a country. You can do a much better job than if I'm just wondering where out of my hands I just do what I have to do and we'll see how things come out. So we'll still be able to have you pop in from time to time even if you do retire. I'm going to be around. You are awesome, sir. Final questions here because this is why I know you're so real. Not just that you don't compromise and not just your perfect constitutional voting record. I hope everybody gets behind you campaign for liberty as well with all the other great candidates. Donate at RonPaul2012.com. Knock on doors. Get involved in your party precincts. Become a delegate. Ron Paul can win and will win if we get behind him. He's put his hat in the ring and is pouring his heart and soul out. It's up to us to get behind Ron Paul or wish later by gnashing our teeth that we would have. But, sir, in closing, last year at a campaign for liberty event you talked about a coup in America. You said the CIA has been caught shipping drugs in. We've had a coup in America. I want you to specifically, because I got a lot of questions about that to this day, what you exactly meant by that. I imagine if you pin me down the literal sense of what a coup generally is, probably not quite that. But for the CIA to finance it, it's so hard to find out what's going on. But the CIA, and more there, they are involved in military activity. They pick target in Alexandria, you know, in Virginia. They can shoot missiles to any spot in the world. Generally killing a lot of people they shouldn't be killing and missing the ones they're trying to target. Even out of the realm of what Obama does to be with NATO. I think this is how we have the DOD person, Petraeus, going over to the CIA. And then the CIA head going over to the military. It's such a mixed deal that around the world they pick and choose dictators. I don't think there's any doubt there. We're just trying to pick. I just don't like all this out of the control of the people who are responsible. Congressman, we've got to let you go. I'm going to ask you one last question and just remind folks to get behind Ron Paul 2012.com. Speaking of FEMA, you've been criticized for saying we don't need FEMA, but all they do is confiscate guns at Katrina. That's really not the federal government's job, I guess. But you were asked by reporter Robert Wannick a few weeks ago in Iowa about the HR645 National Emergency Centers Establishment Act. And you said, yeah, that's their goal. They're setting up the stage for violence in this country. No doubt about it. Responded Paul. Sir, in conclusion, what did you mean by that? Who are they? I recall that exact conversation. They're land planners. They're economic planners. And I think the establishment of people in Washington, both Republicans and Democrats, know history just like we do that you can have a breakdown of law and order. So the people, unfortunately, will be begging for, and they'll be inviting the federal government to come in and stabilize things. I think they're making plans along those lines to how they take care of a problem when there's a breakdown of law and order. And they'd like that power grab. That's their goal. It's all about power. Congressman Ron Paul. RonPaul2012.com, sir. Thank you so much for spending time with us. OK, Alex. Good to talk to you. Good to talk to you. There goes Congressman Ron Paul, ladies and gentlemen. And I always feel guilty when I call up and get him on the show because I happen to know how hard he's working. But there he was. And that was definitely a powerful interview. Wow, that is the real deal. Perfect constitutional voting record. You claim you're an American.  That's it. In fact, I really have to agree. I admire Ron Paul more than anybody else out there alive, unless you're talking about my dad or somebody or my grandpa's. But politically, he's it. And if you want founding father material, who was it? Rockwell said we haven't had something like this since the time of Jefferson. He has never compromised. He works 18 hours a day, admittedly sleeping less than six hours. He might take off. I've been told by a lot of folks that know him more than I one and a half, maybe two days a month. All the rest of the time, stoic research, radio interviews. All he does is exercise for one hour in the morning. He doesn't even hardly eat anything. I've been at events with Ron Paul. He doesn't eat. He barely sleeps.  You've got to pray for that guy. That's why he gets demonized and attacked. The Coventel Pro says he's not real. You're not real.   You work for the globalist. We'll be right back. Stay with us.


We're going to do technical architecture with Drupal and other systems today. So that nice brief title means basically what we're going to do is we're going to go over a little bit of how I and sort of how us at Acro as well go over top-level technical architecture planning when we're integrating Drupal with a much larger setup, usually for sort of an enterprise client or something like that, although it can vary.  This is going to be a bit of a hypothetical example. I didn't take a specific client, although it's kind of based off of a few that we have. It's also going to be a little bit e-commerce focused. We tend to do a lot of e-commerce. That's mostly what we do is we do Drupal and we do e-commerce. So that's what the idea is or the demo is a little slanted for. But the same principles should work for anything else that doesn't have e-commerce. And I'll try not to have it too e-commerce focused. Okay, who am I? And that arrow actually appears to have worked out correctly. I'm Sean McCabe. I'm the CTO at AcroMedia. I've been doing Drupal for 13 or something years. It's probably about what my d.o profile says. I've been working at Acro for 14 or almost 14 years now, doing technical architecture for a lot of that, although I did start as a junior developer. So it took a bit to work my way up before I was doing architecture. But hopefully I have lots of experience at this and should do a good job. I did actually have one more slide I was going to put in here, which I was in the process of editing when I thought this was happening at 11 Pacific and not 9 Pacific. In my defense, I have a three month old baby. So I'll use that as an excuse for why I couldn't understand time zones. Although I know Ryan Sarama did his talk on time and he is like a three week old baby. So maybe it's not a perfect excuse. But what we're going to do here is I have a hypothetical site example that a client has an existing site. They're looking to move away from maybe a couple of platforms and we're going to be sort of adding Drupal into their system to give them CMS functionality and also maybe replace some of their other systems. So I'm going to sort of do a quick walkthrough of what we do for that process. We have templates instead that we use. I've sort of simplified them a little for the slides so that things will move along. And this is going to be maybe go a little fast, but I hope to get sort of all the detail in here. So first of all, what we usually like to do is we start off with an audit of what systems or pieces of functionality that a client probably does already have. This is actually a slightly truncated list of the one we use normally. I just had to truncate it to fit it all on one slide here. And as you see, it's a little e-commerce focused and sometimes we'll tune this for different clients here. But we sort of try to say, hey, here's all the kind of pieces of functionality that you will have. And what do you use currently to maintain this? And we provide this list because we find if we just ask clients about their systems and what they have, they'll list like three of the eight systems they actually have because they won't remember certain parts that are done or that'll come from a different department and whoever we're talking about won't have this perfect knowledge of sort of the whole system. So we'll sort of go through and we'll maybe ask the client and get some initial stuff. And we'll get a list sort of something like this. They'll say, OK, products or product data comes from NetSuite. We're using Magento for catalog cart checkout. Our customers are sort of, or in this case, I put users to be a little more generic, but they're stored in Salesforce. We sort of do ERP functionality with NetSuite. If you don't work in commerce, much ERP is just like an awful buzzword that could mean almost anything. Usually means does order stuff, but it could be accounting. It could be whatever. And they say then they do order management through Magento. And then they've forgotten sort of what they do over anything else. And then once we give them this list, we'll sort of prod them a little bit. And it'll usually turn out that there's actually a few more things that they forgot for search. In fact, they do use Elasticsearch and they have that running. They'll talk to someone in IT and we'll figure that out. And then we'll get analytics. Oh, no one ever remembers to mention analytics. And we say, what do you use? Oh, it's usually Google Analytics or something, but we'll get that in there because it is important to make sure that still gets hooked up. And do they have any marketing staff? Sure, MailChimp, we'll put that in there. It's maybe a pretty simple setup. And then what we'll usually do next, and this can be done sort of formally or a little bit informally, and some of this might come from, say, an RFP or something. But we'll ask them sort of what's their, how much do they like or dislike the various pieces of software that they're using? What are they sort of, you know, what do they like? What are they tied to that kind of stuff?  I made these arbitrarily, although NetSuite is a little user unfriendly. So hopefully this is not a rep from NetSuite in the audience or anything here. You know, and then we'll sort of go through of how they feel of various, you know, parts of the system. And there'll be lots of ones where they have sort of no strong feelings. Say whoever we're talking to doesn't work directly with them or they just don't care either way. But we're looking for sort of the ones they really love and they don't want to remove or parts that they really dislike. And it's like, OK, well, those are prime candidates to switch up then. And then we'll usually do a third. Option, which is, you know, how much do they have to keep these? Or, you know, what's the sort of internal resistance or desire to switch these? Because oftentimes we'll have something that we would love to replace. But there's just absolutely no business. Interest in moving those. So, you know, it might just be they've just transitioned to it or there's a whole other department that uses it and they don't want to get rid of it, you know, or just, you know, the transition to it is going to be so difficult that they can't do it as part of this project. And so we'll kind of go through theirs. And so we'll go, OK, we have identified that Magento, they actually need to replace it. Say, in this case, they're using, you know, a Magento one, it's end of life now. And they want to be moving to something else, but it's not necessarily. You know, Magento two, maybe it's something else. You know, and then things like, OK, NetSuite, we say we basically have to keep that. You know, we need to add a CMS. That's probably why they're talking to us to begin with. We're going to, you know, bring that one in. And then we say, OK, they have no desire for an LMSA. So we're going to, we're not going to worry about that at all at all.  This is actually sort of a bigger, even grosser spreadsheet that I use normally.  So this is kind of what we end up with. They're sort of opinions on some of these stuff. And then we'll usually try to get a technical map from them of some sort, you know, some sort of architecture map or something. These will basically 100 percent of the time be of low quality. Usually they are either done hurdly to pass them off to us or they were done five years ago. They're semi-inaccurate and someone's maybe quickly gone and deleted, you know, all the nice or all the parts that don't fit anymore. And so we'll get some sort of crude flow like this. But it usually contains some sort of useful piece of information. If you'll see, there's this MySQL section in here. And this is pretty much stolen from an actual client thing. So I'm not just making this up. And you'll go, OK, why why no one mentioned, you know, MySQL is one of this directly as one of the systems being used. And it'll turn out there's something like, you know, the products are pushed from NetSuite into a MySQL database and then Magento and Elasticsearch are both connecting into MySQL. And so we'll have this kind of hidden sort of dependency in here that we actually have to care about. And then we'll also learn what stuff sort of is and isn't connected. Like we have Salesforce and Mailchimp, they're not connected to anything at all here. And so we'll sort of get this kind of so so technical mapping here and we'll say, OK, you know, usually the first step we'll do is we'll actually clean up sort of their existing one and try to get a good feel of what is actually happening, sort of how data is flowing, if we have anything missing. So for example, in here, we'll notice that we have Magento and Elasticsearch, but we there's no way that they connect or that how does a user access this, right? Are they are they just sending, you know, API queries directly to Elasticsearch to get information that, you know, that's obviously not happening. So we're clearly missing something in here. So usually we will go through and clean it up a little bit. Also apologies in advance for the colors. I made them extra garish so they could be seen hopefully really easily on slides for people. I didn't let our creative director go in and clean them up to be something more palatable.  And so we'll figure out these different little quirks, hopefully as we sort of go along anytime we identify an area that looks like, you know, it's missing or there's something that won't work right or something like that. We don't normally include stuff like engine X on these maps because it's usually pretty straightforward. But in this case, it sort of matters for how this flow is done. So we will include that. Same times as we will sometimes, you know, put databases directly or something if they have a direct connection like this. And we've given this some little color coding to show sort of what business units interact with which parts. For us, that's actually pretty important because it usually means who we're going to have to talk to with the client to get approval to do various things or to get you know, feedback on whether an integration is going to work correctly. That kind of thing. And the clients will not always be super good at doing that on their end. Ideally, they coordinate everything on the sort of their side of things. And we just interface with, you know, one primary product owner or something. But that's rarely the case.  Did you talk to anyone in sales? Can we talk to someone in sales directly? You know, ahead of sales, a VP of sales, something like that. You know, same with sort of marketing and other things. So we sort of split this up and we realized that there's actually a whole bunch of stuff here that's maintained by IT. And there's also in this net suite part, it's run by sort of some of the business divisions and also by customer service. So there's kind of overlap for how it's handled here. So that's something we're kind of going to have to be extra careful about is, okay, you know, there's two whole groups that we have to worry about this piece of software, and that's actually pretty common. I sort of simplified this a little bit, you know, you might have two, three different people all sort of interacting with one set up. So now that we've sort of cleaned up this map a little bit, what we're going to do is we're going to kind of go back to this list and we're kind of going to make up a new version. So we're going to say, okay, what can, what are we removing? And sort of what are we changing around here? So obviously we're getting rid of Magento. We already knew that in this case, maybe we've identified we're going to replace it with Drupal commerce. We're, you know, fairly slanted bias towards Drupal. So, you know, we might recommend something like Drupal commerce here. You know, we, in different instances, we might recommend a SaaS platform or something like that as well. And then we've also will maybe do a bit of a change. Like you see here, I've actually put Drupal in for the products next to NetSuite, even though NetSuite was listed as, you know, cannot get rid of kind of thing. But once we looked at the architecture, we actually saw that we weren't really using NetSuite, we were sort of using it for the products, but we were actually using this sort of intermediate MySQL database.  Maybe this is a case where they, you know, with adding CMS functionality, they really want sort of really rich products.  We sort of use the example.  And so maybe we're adding that type of flexibility, in which case Drupal will be really good and just using something that's a straight sort of product management tool, you know, a NetSuite or even a Gentoo or something like that isn't going to be able to handle that. So we say, hey, you know, let's switch in Drupal there. We're going to keep Elasticsearch. We have, you know, no complaints. They seem to like it. We have nothing against it. It'll work easily with Drupal Search API. And then we say for the OMS part, that was sort of being handled by NetSuite anyways, you know, for order management. Apologies for all the acronyms. And we're going to actually just go to using NetSuite for that. So we're going to keep, we're definitely keeping NetSuite, but we're just sort of changing what it does a little bit. And LMS and say authentication, we're not changing. Authentication, think like single sign on OAuth, something like that. We're not going to change those. So what that means is we're going to come up with a new sort of mapping here. So we're going to try to simplify things first off. And then we're also going to try to connect, you know, things together as nicely as possible. So this is maybe a little bit sort of, you know, canned for the demo to look maybe a little nicer than we always will end up getting an architecture to look, but this is kind of the idea. So what we're going to do is we're going to get rid of that little bit of static, you know, HTML that we had up here with Elasticsearch, we're going to pipe Elasticsearch right into Drupal.  So we can go back and forth between Elasticsearch here, pushing products, you know, we're indexing products with it and then getting search results out of it. We are going to hook up analytics into Drupal, just like they were hooked up into Magento. You know, we'll maybe hook Salesforce into sync, you know, customer names and emails in this case. And then we're going to hook MailChimp into Drupal. Again, that's an easy thing. You know, Drupal has a good MailChimp integration just for, you know, newsletter sign-up.  And then we're going to sort of show what we're going to have for data moving between NetSuite and Drupal. And so since we're actually storing products in Drupal, Drupal is going to be the main source there, although we are going to have to push the products down to NetSuite. And then we're going to go back and forth between Elasticsearch and Drupal. Although we are going to have to push the products down to NetSuite so that people managing orders have access to products and pricing, although that would be simple. We're not going to push all the media or anything. We're just going to push, you know, pricing, you know, title, description, skew or something like that. And this is not like a hard and fast rule that we'd always do. Maybe that would come from NetSuite. You know, maybe that would come from something else. But in this example, we'll push it from Drupal. And then orders are actually going to go both ways is maybe how we'll come up with here. So we do something like orders will come into Drupal. They'll go through once they complete checkout. They will go down. They will get pushed to NetSuite. And then Drupal basically stops being able to change orders at that point. And all the changes from then onwards happen from NetSuite. And any changes are pushed back up to Drupal purely for read-only information. So say a customer can log in, see their account. And see what the status of their order, see if a tracking number has been added, you know, that kind of thing.   How do you notify the user? So if we can do a pretty good split there that everything up and including checkout happens on the Drupal side, everything post-checkout happens on the NetSuite side. And the other side is just sort of mirroring that data for informational purposes. Or in this case, we probably wouldn't even send the data to NetSuite until the checkout was complete. So that is sort of a really top level of what we would do maybe when absolutely first talking with the client. Sometimes I do this stuff even in, you know, just in our sort of pre-sales phase, we might come up with some very generalized stuff like this to sort of show what our plan is to the client. And then it's actually going to go into a big technical architecture that we would do and everything. Josh Miller is actually in the chat there. He's written many big technical architectures for us. I usually get to pawn it off once I've done the, you know, the easy top level stuff. But that's going to be much bigger. That might be a 25-page document. That's going to talk about exactly how, say, these orders go from Drupal to NetSuite in back, you know, what we're handling for products, you know, what's going to connect in here, how much of the customer information we're going to pass back and forth between Salesforce. That kind of thing. So those are going to have, you know, a lot more detail. We'll probably have a couple more diagrams, lots of tables, all that sort of fun stuff. I might even be able to post afterwards. We have some samples of sort of how those work that we sort of show out. And of course, I'll post the slides as well. I think after that, yeah, I should still have a few minutes, even though we started a little late here, I tried to kind of be pretty prompt on that presentation to answer questions. And then also, I will be at our booth, although not immediately after this session, which I, like we know before, I thought took place at a different time. But when booths are open, I will be at Akro's booth. Oh, sorry, I just saw the comment there. Brian Sharp is trolling me. He is a Drupal developer who I've known for a very long time who used to work for Akro. And of course, he would troll me. Just mentioned that he is probably going to owe me beer again this year when he's again bad at betting at hockey, as I have quite the winning record against him. So anyways, on that note, I will be at the booth later today if anyone wants to talk to me. And also I'll be around. You can always find me on Drupal Slack and stuff like that. And let's pop over to that QA tab now. Let's see what we got going here. Will the slides be in the con drop box? They are not now, but I will drop them off as well as maybe some other samples if I can after this is over. Less content types, you create the better. How do you implement this practically? That's a really hard question. That depends a lot actually. Say on our corporate site, for example, we actually use relatively few content types and we make them very flexible with paragraphs. That one probably the most depends on the technical savviness of the client and how many business divisions they have. So how we want to split them up. Personally, I prefer more content types that are more specific. It's a little less prone to error. And so we will try to make fairly specific content types that are fairly locked down with limited customization. But for certain clients, we will actually make very wide open ones. And we'll make heavy use of paragraphs or starting to become a little bit more layout as well. Although we still lean pretty heavily on paragraphs because layouts isn't quite there to have those be functional. But it has its own difficulties. I know that's not a perfect answer, but that's how we try to split it up. Things like products and stuff, we try to be more specific so that if we have to be passing data back and forth through integrations and stuff, we have to be a little more strict on how we handle that. So then we'll get a little more inflexible there. And whereas say a blog article or something, we could be really flexible. Leo builder and paragraphs do work together. There are sort of some modules to sort of glue that together. It is imperfect at best. It ends up being a little cumbersome. It's more cumbersome from the UI than it actually is from a sort of programming standpoint. But it can be sort of fairly complicated as you have this sort of drag or you have this sort of list tables kind of view that paragraphs use and then you have sort of the drag and drop view that layouts uses to sort of map it. And it can be pretty difficult for clients to understand sometimes. So let's see, what else do we have for questions? Who do I cheer for? Vancouver Canucks, even though they can't even play because they all got riddled with COVID. And it's a big controversy right now. So try not to think about that. Centralized architecture for commerce could be risky. What if the Drupal site is slow or down? What do we do for a secondary backup service? Actually, we don't have too many problems with that. We're pretty good at having pretty performant Drupal sites and having that be a main hub of commerce. We can take 10,000 orders an hour, no problem, that kind of thing. I've actually done entire talks and we have lots of blogs, posts and stuff on our sites, all about Drupal and commerce performance. And we can run them through multiple low balance servers and things that scale up automatically and everything like that. So we're actually pretty confident in having that be a big hub as far as e-commerce is concerned. Like I said, we don't always do it that way. And as we're going more headless these days, it's not always the case. But we're pretty good at having our Drupal sites be very, very reliable. So it's not actually a big worry. And we deal with some fairly high volume. We do some big telecom stuff with iPhone preorders and things like that, which can be pretty crazy as well as sort of standard Black Fridays. Let's see, if a client is willing to accept an MVP, is it better to move forward on an MVP or spend time on architecture and discovery? If we can, we prefer the MVP wrote. And so we would do sort of just enough discovery and strategy to build said MVP. And then we would kind of continue working on it as we went along. So it's going to depend on the client, how much of the site we have to replace sort of all at once. Oftentimes, we're coming in and we're not the first build. We're a build for someone that already has a lot of existing stuff. So the MVP still has to be fairly large because it's replacing a fair bit of functionality, which lends itself to a bit more upfront planning from us. Although if we have a site where we can do simple MVPs and work from there, we prefer that there's less risk of clients not getting what they want, that kind of thing. It's a bit of a mix and it depends a lot on budgets from clients too. They'll have issues with, they might need to get approval for a fiscal year or if we work with a university or a government or something like that, getting budget approvals are really slow and cumbersome and so they might need to do this whole planning phase and so we can budget out kind of a whole huge chunk of a project at once. That said, we don't actually hard quote anything these days anymore. Everything is time and materials from us, but we try to still give fairly good estimates. Let's see, next question. Do you get down to the content type level in the sales process or do you try to be high level? In the sales process, we try to be higher level and not get down to content types. We try to stay away from that and work more with systems. Whole systems of, hey, Drupal will handle these few sections. We might say like Drupal will handle products and pricing and blog posts or something like that, but if products are actually made up of six different types of products or something like that, we try to not get into that part. That will happen in a technical architecture or something that we'll get into that level of detail. It depends a little bit on the savviness of the client. If it's a very Drupal savvy customer, then we might get into that a little more, but mostly we'll push that to sort of after sales and say, hey, we'll handle that in planning. It tends to work pretty well that way. Do you ever engage in process mapping and assisting the client in changing business workflow through your mapping discovery process? Quite a bit and it can be difficult to sort of stay in our lane a little bit there and sort of work where we are skilled and stay out of where we are not. If it's something like e-commerce, order process flows and things like that, we're quite experienced in that and we can say, hey, let's manage this here, then let's at this point in the flow, we'll push over to this process and maybe your CSR should be involved here, that kind of stuff. Once it gets outside of that flow, if it's sort of like how an accounting flow should work or something like that, we're less involved. Although we kind of still end up being fairly involved with workflows there a lot. We're pretty involved in those, even if it's just to sort of recommend that they change something or we might have a partner that we try to get involved to help us say, if it gets to the side of shipping and order fulfillment, that's a little outside of our wheelhouse, actually managing warehouses or something and we'll recommend they bring in a different consultant or something there. Although we do get quite involved in that, we try to be very consultative. In an ideal world, what's the best way to sync the CRM customer data with Drupal users, Cron, Webhooks, etc. How do you plan which fields need to be synced? We plan which fields need to be synced in pretty great detail, usually in technical architecture. We try to sync the ones that will be relevant and only the ones that they're actually going to use in the other system and limit that, and then we try to be very careful with what's going to need to change back and forth. It can be quite difficult to sort of map that in a two-way setup. Cron is probably my least favorite way of doing that. Webhooks or even what we prefer, actually, is that, say, if Drupal can connect to an API from, say, like Salesforce, and then Drupal will basically do them in near real-time to push them over, basically sort of asynchronously in real-time. So the minute they get put in, they're being pushed over to the new system, but not so much that they're blocking. In some cases, they might have to be blocking, but for the most part, they don't. So that's how we would try to do it, is basically have a non-blocking setup. So just after, say, the order gets completed, then a job gets run triggered off of an event hook on the order completion or something like that. So it can be a little fussy with PHP to make things asynchronous there or whatever, but it's not too bad. I think we're probably using up our time here, but no one's kicked us out yet. So I can answer at least one more question here. What's the average time to build a commerce site considering basic variables into consideration? We do fairly big sites. We would do something where even a planning phase from us might be 25K or something like that. So six months would be a pretty fast build for us. If you just need out-of-the-box stuff that tends to not be us, we're usually, if you need a bunch of customization built, that's why you come from us. It's six months to a year for a build process for us. And also, we tend to be an ongoing agency. So 80 plus percent of our work is recurring work for clients. So lots of RSAs and stuff like that, as we're continuing to tweak and improve and add new functionality and things to existing commerce sites. So that's what we're doing a lot of ongoing work, the clients we've been working with for years and years. Integrating to new systems, tweaking integrations, adding new functionality, upgrading tech, all that sort of stuff as we go along. But our builds are fairly high. That said, we're looking to speed up that setup now that we're switching to, as part of how we're switching to more headless setups, and we're trying to be a little leaner on how we can get parts up with sort of a services setup of maybe we can replace parts with microservices and a D coupled front end and that kind of thing. That is very, very early on in our process, and we won't be building sites like that too much until probably next year. I think I got all the questions. If I didn't get your question, I apologize, but I'm pretty sure I was able to scan through all of them there. So hopefully that went well. I will be at the booth later on, and I'm also on Slack, if anyone has any questions. So thank you for that. Oh, and apologies to that other Brian Sharp who got unfortunately chastised in here.  So thank you very much everyone, and talk to you guys hopefully some other time if you stopped by the booth or something.


or check, check. Hey, there we are. Welcome, everyone. I hope you're all as excited as I am to hear about Claude Shannon. Yeah, that's what I like to hear. We are still looking for volunteers and sometimes people like me just get roped into doing things, but if you want to actually choose the job that you do to help out at EMF, you can go to the volunteer tent and help out. I would like to introduce Matthew Ireland, 100 years of Shannon. Give a warm welcome to Matthew. Thanks, Mike. So we're nearing the end of what's been a fascinating weekend of really wide-ranging and hugely interesting content, and I'd like to spend this 30 minutes trying to persuade you that the origins of much of what we've seen over the course of these three days can be traced back to this man, Claude Shannon, who was born 100 years ago this year, and he was a mathematician and engineer and worked in a huge number of fields over his lifetime, and mathematician and engineer aren't necessarily two words that you expect to hear together, certainly not at the same time, but I think it's the combination of these two pursuits that really means that his work has survived, been so influential over a huge number of fields, and also been practically applicable right over the last 18, 19 years. And think Shannon and you think information theory, and think information theory, and you think Shannon, and so you should. He really founded the field and all the language that we use today, and all the concepts are his work, but he also formed, shaped, contributed to a huge number of other fields, and I don't know whether publication count really is significant on its own, but it gives a rough picture of how long he spent working on each area. Computers and circuits, he, well, will come on to see he did a huge amount of work in. Games and artificial intelligence, I hadn't realized just how much he'd done in this field until I attended a talk on game theory just after the last EMF, and all the concepts in that could be traced back to Shannon. Then during the war he did a lot of work on improving the infrastructure for Churchill and Roosevelt to talk to each other, and also his doctoral dissertation was a developing algebra for theoretical genetics, so just like information theory has, he directly touched biology as well. And really as a result of the huge number of topics that he's worked on, if this talk feels as if it's degenerating into an arbitrary selection of topics, then that's kind of the point just to give the picture of how much he did. And the first area I'd like to touch on is relay and switching circuits, and the reason I'd like to cover this is because it gives a really good picture of both his mathematical insight and also his practical engineering ability. It's a really good example of that. And the relay can be traced back to nearly 100 years before Shannon came along to work on it, and it was developed as an amplifying device for telegraph networks. There's quite a pleasing parallel there I think between the transistor, the valve, and the relay, all originally developed as amplifiers, and later going on to be switching logic devices. But even 100 years later in Shannon's day, people weren't building hugely complicated systems out of these, and the design mechanisms were ad hoc. They were very widely deployed, particularly in telephone exchanges, but building complicated circuits was difficult. For example, the first one bit adder had been built in 1937, and engineers generally thought it was prohibitively expensive to build this kind of adding circuit up to any significant number of inputs. But Shannon drew on the earlier work of George Bull, which he'd come across in his mathematics undergraduate degree. He'd come across a huge number of complicated algebras, and he developed the theoretical underpinnings that meant that relays could start to be used in these complex switching systems and really started to build the first computing circuits that we see today. Really, this work was all done in his master's thesis, which was published at 21 years old, and really what he said in this thesis was that if one day we can develop intelligent computing devices, then they'll be strung together out of a series of switching devices and we'll analyze them using this algebra of George Bull. That's really an incredible piece of work for 21 years old. What he did was he took a closed relay and an open relay and said that, well, this looks a lot like the two states that exist in this algebra, the zero and the one. He developed mappings between doing things with the relays, for example, putting them in series, which looks a lot like the O-ring operation in this algebra, and putting them in parallel, which looks a lot like the ANDing operation in this algebra. He developed this series of links between what we today call a propositional logic and the interpretation in relay circuits that could be really used in synthesis and analysis of very complicated mechanisms. We'll tackle simplification first. If we take this circuit, which has 13 relays in it, we can, using his correspondence between the physical devices and the algebra, we can write down a mathematical description of this circuit, and then we can apply the operations, which were well established in the algebra, to this circuit to gradually reduce its size until we end up with something that's really quite small, and if we translate this back into a circuit, then it looks like this, only using six relays. So we've got a 50% reduction in both area and cost as a result of five lines of mathematics. Now you may wonder why this is so influential, because thank goodness we don't use relays in computers today, but we do use logic gates, and exactly the same theory is still applicable. Here we've got a fairly complicated circuit. Well, it's complicated to analyze by hand, it's got five inputs, and some fairly large logic gates that we wouldn't like to implement there, and we can write down a mathematical description of this circuit, and a few simple lines later, we're left with something that looks a lot nicer to implement. So again, an example of the mathematical brilliance of generality coupled with the engineering brilliance of application. So that's analysis. Now let's look at synthesis of electronic circuits. So let's take the problem of an electronic lock, which is something we want to work, we want it to abide by a formal specification, and we want to know exactly how this thing will behave. So we can take an English description of this circuit, and from the English description we can write down these lines of mathematics that describe how it should work. We can then minimize these equations, and then draw out the circuit from that, and these diagrams are directly from Shannon's master's thesis. The final thing I'd like to explore from this amazing thesis actually, which moves away from Boolean algebra, but has been more influential if anything, is the electronic adder, and he describes a four-bit adder. So this is something that's found in every single computing device, from your mobile telephone to your desktop computer to a supercomputer today. But really, this was 10 years before anyone had started using valves. It was 10 years before EDSAC. It was at least five years before Colossus even, and people weren't familiar with these standard building blocks that we know today, and this was the first time anyone had written down this adder. So here's a simpler form, and you can chain these to get an arbitrary number of firm bits in the way we would today. Right. So moving on from relay and switching circuits to really what everyone associates Shannon with, which is information theory, and Wikipedia defines information theory today as how to quantify, store, and transmit information. Really, the two words that best describe it we want to communicate effectively and efficiently. Those are the two goals of what Shannon was trying to accomplish, although these aren't his words, effectively and efficiently. And at the time, this was 10 years or so after his master's thesis and after the war, and he'd gone to work at Bell Labs, so he was working on telephone circuits. And the problem at the time was the telephone circuits in use were analog, so as you increase the distance between a transmitter and a receiver, you also increase the noise on the line, the noise that this line picks up. And if you want to amplify the signal so that it'll work over larger distances, then it'll also amplify the noise. So if you try to communicate over very large distances, you end up with a signal, which sounds very hissy, and you'll almost certainly be familiar with this sort of phenomenon. That's effectively how to communicate effectively, get the signal through, but try and suppress the noise, but also efficiently as important for telephone circuits because you want to be able to have as many people communicating over the same set of wires. And that's pretty much it, really. You want to get the best use out of the hardware that you can. And as an example of just how influential this work was, he published the paper first in 48, and then it was republished in Bookform a year later in 49. And between the two publications, it changed its name from a mathematical theory of communication to the mathematical theory of communication. And that's really quite a good description of how influential it's been. So before we can really examine in detail what Shannon did, we need to answer the question of what is communication? And there are a number of levels at which we can address this problem. The first thing we could think about is if I'm trying to communicate, then how effectively do you understand and act in the way that I'm trying to get you to act as a result of communicating with you? Or we can analyze how effectively my meaning is transmitted in the symbols that I actually send on the wire. Or we can throw away the semantics and just analyze the engineering problem of maybe communication is just if I put a set of symbols into my communication system, then are those exactly the set of symbols that I get out? And Shannon said that this is really the problem that we need to be solving. It's a necessary problem to be able to understand communication at the higher levels. And also, the higher levels don't actually influence the engineering problem at all. They're irrelevant to it. Although the converse certainly isn't true. And in fact, Warren Weaver stated that who co-authored the later Bookform of Shannon's work stated that really analyzing communication in this way by throwing away the semantic problem and the effectiveness problem has really cleared the air for a true theory of meaning. So taking this level A communication, the physical problem, what is it? So I'm trying to get the message from a source to a destination. So let's say we set off with a message in the source. And then Shannon said we should compress this signal to the smallest possible size that it can take. So when the signal comes out of the compressor, it should look like a random message because if it didn't look random, then there'd exist statistical correlation in this message that we could exploit to make the message smaller. And then once we've got the message at its smallest possible compressed size, the random message, then we should somehow add some redundancy to this so that when this message is corrupted in the channel, so the channel adds noise to this message and what we get out isn't exactly what we put in. Thanks to the redundancy, we can then decode the signal into what we actually put in. Then the decompressor undoes the action of the compressor so that at the destination we can receive exactly this signal that we put in at the source. And let's just have a look at what was happening in the field at the time that Shannon came along. The first hints of information theory can really be traced back to Clausius in 1856 and through his statement of the second law of thermodynamics, he identified the concept of entropy. And later on in physics, entropy was identified with missing information. And really this link between information and entropy helped solve quite a number of really quite deep problems in physics, for example Maxwell's demon. But actually this work didn't influence Shannon directly. The biggest influence on Shannon was the work of Norbert Wiener, who was primarily interested in the biological applications of information theory. And he developed all the underlying probability theory that's absolutely central to Shannon's work. But actually in quite a pleasing loop, Wiener later said that actually it was Shannon's earlier work on relay and switching circuits, the stuff we were looking at before, that inspired his work on probability theory and information theory. So that's quite a pleasing cycle there. Also influencing Shannon, who was at this time working at Bell Labs, were two other people who at least some time had worked at Bell Labs, Nyquist, who through his statement of the sampling theorem came up with the first bridge between analog and digital signals. And also Hartley, who identified that the information content of a band limited signal, so if I give you a signal that contains an upper frequency, then the information content of that signal must be limited. And they both influenced Shannon quite profoundly as well. So I mentioned that Wiener had developed various probabilistic results for Shannon's work. And I just want to take a moment to examine why probability might be a useful thing to look at in analyzing information theory. So suppose I'm taking the role of the transmitter, the source that we saw in the earlier diagram. And I'm transmitting a message to you. And I'll tell you that the message is just in English. And the first letter of the message is Q. So what's the next letter going to be? U. Yeah. What's the next letter? E. Yeah. Next one. So I heard S. That's one incorrect guess. R. No. Two incorrect guesses. Say again. E. Yeah. And the final letter? Yeah. Exactly. So actually, all I needed to send to you, because you could use your knowledge off the English language and perhaps some a priori knowledge that we're also in England, to identify that the message that I was sending to you was Q. So actually, all I needed to tell you was the first letter and the fact that on the third and fourth letters, there'd be one incorrect guess before you got the correct one. And that's all the information you need to reconstruct the message. And really, this is how most modern compression systems, most modern lossless compression systems work. And they work by doing a series of guesses and trying to reconstruct the message in this way. And actually, we can be a bit more mathematical about this analysis if you'll forgive me for taking a frequentist notion of probability. But so when I transmit Q, there are 444 possibilities. This was a very long evening with the dictionary of what could come next. And if I tell you that the next letter is U, then that only reduces the number by 399 possibilities. However, if I'd have instead told you that the next letter were A, then there'd only be 12 letters. So somehow, if I were sending QU, it would be insane to use the same number of bits to transmit the U as it would to transmit the Q. Because clearly, the U has a lot less information content than the A, for example. So perhaps I should use a few bits to transmit it. And if I then go on and transmit an N, then that reduces the number of possibilities for what this word could be to 2. And then if I next send an A, there's only one possibility for what could come next. So it's absolutely certain what the rest of this word is. And there's absolutely no need to transmit it. And in fact, this is a word that's made it into English through the Persian language. It's a kind of irrigation system used in the Middle East. So when Shannon came along, people knew that probabilities were related to information. And they also knew that the correct measure of information would be some sort of logarithmic measure. And this makes sense. If I have a single outcome and I want to measure its information content, which today in modern parlance is known as the surprising of that outcome, it makes sense. If I take two independent events and apply them successively, then I multiply their probabilities and thanks to the laws of logarithms, that means that I add the logarithms. So somehow, if I'm doing successive independent events, I can add together their information content. And also, this means that say if I have one switching device, be it a relay, a normal switch, a transistor, or a valve, then that can represent two possibilities, zero or one. If I take three switches, then that could represent eight possibilities, zero, zero, zero, zero, zero, zero, one, and so on, three to one, one, one. And if I use this logarithmic measure, then log of eight is two, sorry, log of eight is three, what am I thinking? So somehow three switches could convey three times the information as one switch with this logarithmic measure. So it's quite nice. But at the time Shannon came along, it wasn't well established what the base of this logarithm could be. They knew it was related to the number of signal levels on the wire, but this wasn't well standardized. And actually, this is an excellent example of Shannon's engineering brilliance in realizing the correspondence between the binary switching levels of the relays that he was familiar with and the information. And the fact that he standardized on the base two really corresponds to the realization that all information and all communication is essentially digital. And Shannon then took this logarithmic measure for a single outcome and used it to define how much information is coming from a source. So if a source is omitting a string of outcomes, then he came up with a measure for the information content of that source. And he defined it in this way as the average of the surprises. So the weighted sum of the surprises by their probability. And actually he didn't approach it from the averaging point of view though. He proved that given a set of conditions that our information measure should satisfy, then this is the unique family of functions that satisfies our requirements for the information measure. And the K in here just corresponds to the units that we measure information in. So if we use base two logarithms and measure it in bits, then the K disappears. But actually just while we've got this form, then anyone familiar with the either the statistical entropy or the Boltzmann entropy will recognize this form as very similar to that concept in physics. And although Shannon didn't point this out in the original paper version of his work, he did later when it was republished in book form. So just before we move on to Shannon's two major theorems that are still influenced in communication today, I just want to wrap up this entropy discussion. And Shannon's work brought to the end several hundred years struggle of physicists to come up with what really entropy was. So there was this theme at the beginning of the 20th century of operationalism, which states that unless we can measure what a concept is, so unless we can measure temperature, for example, then we don't understand what that concept is. And of course we can measure temperature using a gas thermometer. But nobody really understood entropy in these operational terms. And it was Shannon who came up with the operational definition of entropy as the minimum possible size that you can compress a string of outcomes to from an information source as we'll see in next in the source coding theorem. And this really brought to the end this struggle from the physicists and also went back and influenced physics. So there's been a lot of later work if you look at James and Maximum Entropy and things that have really strung from Shannon's work in information theory. Please in contribution back to physics there. Right. So Shannon's two major theorems. Firstly, the source coding theorem. How many people have come across the source coding theorem? Yeah. Excellent. So this states that if we've got a source of information, then we can compress the string of information coming from that source to arbitrarily close to the entropy times the length of the string. So this makes sense. We're saying that we can compress the information coming from a source to arbitrarily close to the average rate at which that information is being emitted. And this establishes a fundamental limit on how well we can compress data. So if we wanted to design a new compression algorithm, for example, then we could compare how well our algorithm forms to the entropy of the source. And also if our algorithm happened to compress to smaller than the entropy of the source, then we'd be certain that loss had occurred. So it'd be a lossy compression algorithm. So that solves how to do communication efficiently. And although Shannon gives us some hints how to achieve the entropy for the compression, it wasn't until quite recently that people think they have developed codes that actually achieve this compression limit. And even then they haven't proved that they do. So let's go on to examine how we can communicate effectively over a noisy channel. And this is the noisy channel coding theorem. So here's a plot. I'm not going to state it mathematically. It's a little involved for our purposes here. But we can understand it. So on the x-axis of this plot, I've got some measure of how much redundancy that I'm having to add to this message. And so over here I'm adding more redundancy to the message. And here I've got the probability that there's an error after I try to do the error correction on whatever I'm getting out of the channel. So each one of these crosses represents a particular algorithm for doing this noisy channel coding, for deciding what I want to put in this thing, for a particular way of encoding my random stream of information. So from these five codes, five algorithms for adding redundancy, which do you think would be our favorite if we could use it? Which is the most useful of these? Just yell it out. Louder? E, yes, E. So E really achieves a decent trade-off between the probability, low probability of error, and also a decent code word size. So we're not adding more redundancy than we need to. So more useful codes down into the right. But clearly there's going to be some boundary between codes that we can achieve and codes that we can't achieve, because we can't get something for nothing. We can't just put our random stream into the channel and expect to be able to decode it correctly, because the channel is going to flip some of our bits. And before Shannon came along, people thought that, yes, sure, we can achieve error-free communication, but we'll also have to add infinite redundancy in order to be able to do so. So, yes, we can reduce the probability of error to zero, but we'd have to increase the size of the stuff we send to infinity. And Shannon came along and said, no, actually, that's not true. We can achieve error-free communication at any rate up to some finite non-zero number known as the channel capacity. And he gave a form in which a mathematical equation in which this channel capacity can be calculated. And he said that we can transmit without error at any rate up to this channel capacity, which is really quite profound. We can achieve error-free communication without sending infinite redundant stream. We can guarantee that what we're going to receive from this channel is correct. And it wasn't until, although Shannon gave an outline proof, it wasn't until several years later that this was actually definitively proven. Right, so to sum up information theory, Shannon's key insights were to split the stages of communication into the source coding, which achieves the efficient communication, and the channel coding, which achieves the effective communication. And if you want an analogy for these two stages, the analogy that Shannon came up with is in the same way that for an electronic circuit, we maximise power transfer by impedance matching the transmitter to the receiver. Then in information theory, we maximise the information transmission between source and receiver by matching the source to the channel in the way that he describes. Another example of his practical nature. He decided we should use source statistics in the compression, and also use the source and channel statistics in the channel coding. And really, this has formed the theoretical basis for every modern communication system that we have, and has applications throughout everything, really. Right, so the last area that I want to very briefly give my whistle-stop tour off is game theory. And Shannon was really interested in studying this from the theoretical side, so he wanted to understand the nature of what sorts of things computers can do, and ultimately, how to make computers think. But he also had a lighter side. And at the weekends, he enjoyed going off to Vegas for gambling. And in fact, in this context, he co-invented the first wearable computer for cheating at roulette. So this is kind of the earliest form of the Google Glass, as it were. And it was developed so that he could time the roulette wheels and decide when to place his bets. He also co-authored the first paper on computerised chess. And he was interested in studying chess. Again, I should stress, more generally, as a good example of the kinds of problems that we might want to apply computers to. He didn't just want to have a good game of chess against a computer, although it would be nice if he could. And he used this minimax algorithm, which anyone who's familiar with basic artificial intelligence will recognise, because it's an algorithm which we still use today. And it's not quite the minimax algorithm. It has a slight optimisation for the computers available at that time. And indeed, he gives some code in his paper to show how this algorithm could be implemented. The essential idea is to start a position, then compute every possible move that could happen and what the board will look like at that point, and then apply a heuristic function to somehow evaluate the utility of the board at that point. And the other thing I want to stress is just how much chess literature he surveyed for this. So the game theory literature didn't exist at this time, but the literature on chess did because humans were very interested in playing chess. And the sheer number of papers that he'd read in order to design his evaluation functions for the game is absolutely incredible. This basic approach has some problems which he identified, and then went on to identify a better strategy. And this is very similar to alpha-beta pruning, if you know any artificial intelligence. So it involves better evaluation functions. It doesn't apply the old heuristic function in places, in positions where there's an exchange in progress. So obviously, if one move further on, someone's going to take their queen, it doesn't make sense to apply an evaluation function which involves that queen. Right. So, and the other thing that I should say is using this type B strategy, as he calls it, it allows you to explore the game tree to a greater depth just like humans would do. So humans don't exhaustively evaluate every possible move. They quickly discount some, and this is exactly what the type B strategy that he's described does. And if you think about just how many papers have been published on computerized chess since, it's absolutely incredible. And also the effect that they've had on our computing devices and how they've influenced research in machine learning is incredible, and we can all trace it back to Shannon. So, just to quickly conclude, there was just to finally demonstrate his practical nature. There was one famous interview where Shannon stated that Shannon was talking to this interviewer who wanted to know about information theory, and Shannon said, yeah, sure, we could talk about that, but wouldn't you prefer to go into my basement and see all my toys? And one example of these toys is this first computerized learning device. You can place the mouse anywhere in the maze, and it will get to its objective. So, I hope I've managed to convince you that really Shannon developed the foundational science for our age and has influenced so many fields over his time, and really the world would be a very different place if he hadn't done the work. Sure, someone would have done it at some point, but would it have had the quality, and how different would the world be now? And I think 100 years after his birth, that's a good time to realize and reflect on this. So, thank you very much for listening, and I'll be over probably in the robot arms if anyone would like to discuss further. Thank you very much.


Welcome to Toffy TV, it is the Everton News Daily. Moise Keane is back in training with Everton after missing Monday's 1-0 win at Sheffield United after he sustained a ankle injury in training. But the young Everton striker is back training with the first team. Carlo Anciolotti has indicated that Keane may start the game against Bournemouth on Sunday, Everton's final game of the season. That hasn't been a great season for Keane, really, just the one goal so far. Most of his Everton appearance has come from the bench, but Anciolotti was quite clear saying he will be our player next season and he'll be much improved, so we'll have to wait and see what happens there, but he is back in training, which is good news ahead of the game against Bournemouth. Chris Cavana, the referee, who sent Carlo Anciolotti off last time he refereed Everton in the 1-0 draw in Manchester United, has been appointed referee for Sunday's game, so that one should be interesting. This allowed a goal that should have stood when Calderlun thought he'd got the winner against Manchester United back in March. Everton are apparently interested in Adrian Rabio again, according to Calcio Mercato. They say that despite Rabio being really good for Juventus, since lockdown they still see him as a player they want out the door in the summer and say that Everton are the front of the queue for the Frenchman. I don't know what to make of that one, Rabio has scored a couple of cracking goals for Juve, really good player. I think he would definitely improve Everton's midfield, but I don't know how we would get him if it isn't alone. I don't know whether Juventus want to sell him or not, but he will be an excellent player for Everton. Very good, comes with a bit of baggage, but he's a very good player for Everton. It will be a very good player for Everton rather. Everton are also being linked today with a move for Celtic striker, Adrian Edward. He's scored 23 goals this season for Celtic. We've been linked with him a couple of times this season and the thought behind this link is saying that they could move Retialason wide and play Edward with Calvert Lumin up front. That would then, I guess, put a question mark over Moise Keane, unless they just think that again Keane would be the number three striker with Retialason taking one of the wide areas, but Edward has a lot of potential, like I said, 23 goals this season. We've also been linked with Reign, just striker Alfredo Moreles as well this week, and there was a strange story that we'd swapped Moise Keane for him, but Keane on loan and take Moreles, but I don't see anything in that. Apparently Everton will listen now to offers for Nathan Broadhead. He's been on loan at Bertham. The season scored three goals for them. He's got a year left on his Everton contract, and the club have let it be known to EFL clubs that Broadhead is available for sale. So, let's see if he gets a move after doing quite well for a bit, and I think in the EFL.  You now have to wear them in supermarkets and salmon shops, apparently today. Do you get a pack of three? They fit quite nicely like that, so the link is in the description. Click on there and buy your Everton face mask because you're going to need them if you want to go shopping. There you go. Make sure you subscribe, give the video a thumbs up, and if you want more videos, join us over on Patreon. Oh, and every penny of the year face mask goes through Everton in the community. That's very important information there. See you later.