Good afternoon, everyone. Welcome to the second webinar in our social network analysis series. I'm Dermot McDonald, and thank you for joining us, and thank you as well to people who have joined us before. So this training is part of our new forms of data training series, which is also part of our computational social science training series as well. So we have some upcoming webinars you may be interested in. The third and final webinar of the social network analysis series is on in two weeks time, this time two weeks, where we focus on analysis. So we take the fundamental concepts we learned two weeks ago, take some of the data we're going to collect and explore today, and start producing some basic and intermediate level analysis of a social network data set. Alongside this, we've got our continuously running coding demonstrations series. So this month we're focusing on text mining. My colleague, Dr. Julia Kazmier has been running this, and you can learn how to do some basic, intermediate and advanced text mining in Python. So that's very interesting and free as well, and that's happening. And we've got some past webinars. You can find all these on our events page. These are all on YouTube, and there's some further coding and learning resources you can access for free also. But back to today, what we're going to focus on is the collection, the cleaning and the kind of repurposing or the transforming of data so we can conduct some social network analysis. So very briefly, I'll just do a quick refresher on the key concepts. We'll talk about APIs very briefly. So these are the kind of the data platforms through which we get social network information and data. Then we're going to look at an example. So I'll talk you through the main steps of getting data from Twitter, their API, as well as do a quick coding demonstration of making some requests for data and cleaning it up and saving it for later use. We look at social network data from a different perspective, which is looking at data about social networks and connections that exist in a traditional social survey or a traditional administrative data set. So trying to extract relational network information from data that we're probably very familiar with using in our research and teaching. And then we'll take some questions at the end. You've probably noticed by now, if you've joined us a number of times, you can submit questions. Unfortunately, you can't see the questions other people submit. Therefore, I'll go through as many as possible. At the end, the ones I don't, we'll type up a frequently asked questions and we'll post that as well on our publicly available GitHub repository. So to be concise, why are we doing this training series? Social network analysis is an enormously interesting and rich approach to social science research. But those of you who have probably have some experience of it have probably found that it is quite a technical and mathematical methodology. So it can be quite an unwelcoming, quite an abstract field of social science methodology. And the purpose of this training series is to try and simplify and demystify social network analysis as a methodology. Because once you do, once you get over the technical language and nomenclature, a lot of the analysis and a lot of the data structures are very intuitive, very familiar and very, very rich. So it's a good area to get interested in once we get over that initial technical hump. So a brief refresher on what we're talking about when we say social network analysis. What it is, as I've probably mentioned, it's a methodology. So it's a methodological and conceptual toolbox. So it's quite broad. You can approach the analysis of network data from a lot of different perspectives using lots of different analytical methods measures and algorithms, for example. And the purpose of it is allow you to to describe and to measure and to analyze networks and networks are composed of patterns in the relational structures in the social world. Relational structures are just simply the connections that exist between entities and how these connections add up to form an overall network. A relation itself is a distinctive type of connection or a tie, as we've been calling it between two entities. A very common relation, of course, is a familial relation, brothers and sisters, parents and children, aunts and uncles, etc. So that's a particular type of connection. But you can be colleagues with somebody, you can be spouses, you can be familiar associates, acquaintances, two companies can share the same office, etc. There's lots of different types of relations in the social world that we're interested in. And these relations or connections are thus the building blocks of networks. And hence social network analysis, then, is concerned with and most appropriate for the analysis of data capturing relations between your units of analysis. And we've defined units of analysis very broadly. It's social network analysis. So there needs to be some connection to sociology or the social world or social research. And the social network analysis comes from network analysis. More broadly, your entities can be people, animals, countries, organizations, computers, planets, you name it, whatever you think can be connected and can form part of your analysis. So the key point is we're interested in how people or things are connected and how these connections form patterns and these patterns form overall networks or aggregations that we can analyze. So in a very, very brief way of describing it, a network where they were talking about social, physical, biological, etc. It comes from two main building blocks. So the entities are the things that are or could be connected in a network and the connections that exist or could exist between these entities. So a network is this aggregation or collection of these entities and the connections that exist between them. So again, a family tree is a type of network containing individuals that are then connected or related through some type of familial tie. If you joined us for the previous webinar, we had a look at, you know, a real network. So these are organizations in the UK specifically charities and these are the connections that exist between them. So these are Manchester registered charities in the UK. There was about 1100 of them and they're connected if they have somebody who serves as a trustee for both organizations. And typically you see this is the type of visual depiction of a network that is most common in social network analysis. We've got a big, you know, clump of charities here in the middle who are quite densely connected and we've got some charities on the periphery who are only connected to one other organization. So it's a very brief refresher of social networks. We have the previous webinar if you'd like to go through that. But today we're going to focus on getting social network data and from two perspectives, one from a social media platform, i.e. Twitter, and extracting network data from traditional social survey or administrative data sets. And we'll return to this charity example later in the webinar. But first you need to understand the data infrastructure or the platforms through which you get data about social networks, particularly from social media platforms. And these are typically known as application programming interfaces or for short, just simply API's. So the technical definition of an API is it's a set of functions and procedures allowing the creation of applications that access the features or data of an operating system application or other service. That's a very, I think, unfriendly definition. It's technically correct. In essence, an API is an intermediary between software applications. So if I design a smartphone application and I need real-time traffic data from Transport Scotland, for example, I could do a lot of hard work of writing programming code in the same language as the database that holds the traffic information. Or if it exists, I can use an intermediary that takes a very simplified set of instructions and requests and that itself will go and get the data for me. So API's are these kind of middlemen or intermediaries or translators between one software application or a programming script on one side and a database or some other software application on the other. If the kind of technical definitions aren't too clear, then really conceptually an API in terms of data is a socket. So basically you plug in your programming script or your smartphone application or your website or whatever it is you have that needs data, you plug that in to the API and the API returns the data to you. So you don't need to know very much about the database, what language the database is written in, what infrastructure it uses. That doesn't matter. The API knows how to get the data and you simply ask the API for the data that you're interested in. And that is a socket in one of my rooms that I painted. So hence it's quite a messy job. That's not where my skills lie. So a lot of data about social networks are from social media platforms and come from API's. So you need to learn how to interact with them in order to get your data. So we're going to take an example today. We're going to use Twitter. I think it's interesting for its own sake as a source of social network data. Of course, there are many others. Facebook does allow access to its data through an API, but it's become more restrictive recently. It's a bit more difficult to use. The same for Instagram that's really tightened up. But there are some that are more friendly than Twitter also Spotify is quite a good one to get social network data from as well. And various newspapers as well. So in a previous webinar, we looked at the Guardian API, for example, and you can look at connections between articles in terms of, you know, topics or resharing or hashtags, etc. But today we'll focus on Twitter. It's had a recent upgrade to its API. So it's worth delving into some of the details about that. So if you're unfamiliar with what Twitter is itself, so it's one of the world's most popular and social networking platforms or micro blogging. So it's about the sharing of kind of brief, concise pieces of text content. But of course, it's much, much broader. Now you can share and videos and images and clips and etc. So it's got a user base, certainly in the hundreds of millions. But it is notoriously tricky to pin down the exact usage of this platform. Twitter does prevent you from trying to reverse engineer, you know, and details about the platform, how many people use it. But we can safely say it's somewhere in the hundreds of millions of unique users per month. So it generates a lot of data about social networks. In terms of usage, users can post, which is known as tweeting their own content. They can repost or retweet the content of others. They can like the content of others. They can follow other users. And there's lots of other functionality you can use on the Twitter platform. And Twitter then allows restricted access to the data it holds on the above activities through its API. So Twitter makes volumous information available. But in terms of, you know, the proportion of information that it holds, it allows restricted access. So you can't just connect to the Twitter API and get all tweets for one account or all tweets for all accounts that you're interested in. And it's just simply not that detailed, but it's incredibly detailed. And it's almost certainly more than enough for research purposes. So what do we know about the Twitter API itself? So it allows programmatic access to the Twitter platform. So in one way, that allows you to use Twitter yourself. So to tweet and to retweet and to follow other accounts automatically or in a scheduled way. And you've probably heard these referred to as bots. So Twitter bots. We've heard the nefarious use of Twitter bots in election campaigns and election interfering, unfortunately, in recent years. In essence, you connect to the Twitter API with some information and you say, anytime somebody follows me, could you automatically reply to them saying, thank you very much for following my account. So that would be an example of you connecting to the Twitter API and giving it some instructions to act on your behalf. So that just shows that APIs are much broader than just accessing data. They allow you to access functionality. But today we're going to be interested, and as we usually are for research purposes, we're getting our hands on data. So we can issue instructions or requests to the Twitter API to get data on certain topics about certain people from certain tweets, etc. There are different levels of access known as tiers to the API. In general, there's a standard level of access. This is free. This is for individual use. And this usage would carry with it the most restricted conditions. So there'll be X amount of requests you can make per 15 minutes. There'll be, I think it's 500,000 tweets. You can request every 30 day periods. There's restrictions on the sharing of the data that you download, etc. If your research project carries some funding, you can also upgrade to the premium, or you can do it yourself, obviously. This is still kind of geared towards individual use or researcher use, but you'll get much more generous restrictions. So I don't know exactly, but it could be one million tweets every 30 days instead of 500,000, and maybe it's different limits per 15 minutes, etc. And then there's an enterprise version, which just again, if you're an organization and you need access to Twitter data or functionality as a core component of a service offering or a product that you sell, there's enterprise level access also. And that's probably something I can't imagine you're interested in as researchers, but it's just a good view to be aware of the different levels of access. And in terms of getting your hands on data itself, the API provides what are known as endpoints. Endpoints are simply the data tables or the information that you want to request itself. So if you think of, you know, a spreadsheet, a spreadsheet can have multiple sheets within it. So maybe sheet one contains user information and sheet two contains tweet information and sheet three contains retweet information, etc. Basically, an endpoint would be sheet one. A second endpoint would be, you know, the second spreadsheet, etc. So an endpoint is the API kind of technical term for the spreadsheet or the table or the information that you're interested in. At endpoints, if you request them manually, they're basically web addresses. So it'll be something like HTTPS and Twitter dot API forward slash tweets. That's not literally what it is, but that's an example of what an endpoint looks like. And if you were to request that web address, and hopefully if successful, it would return the data that exists at that endpoint to you. But we'll see how that actually works in a moment with the coding demonstration.  So how do we actually use or interact with the Twitter API? So there are a number of general steps that you go through before you can start requesting data. So there's a registration stage. So basically, you need to set yourself up as a user on the Twitter developer platform or developer portal, as it's also called. For this, you need a Twitter account and some verified details. So for me, I need my Twitter handle, so my app and my username, plus a verified phone number. And once I have those two things, I can start to register on the developer portal. When you use APIs, again, the language can be quite off-putting. So APIs are traditionally aimed at software developers. So you need some access to the data or functionality of another platform. So the API assumes your developer who's creating a smartphone application or a website or a digital product or something like that. But developer platform also can be used by researchers. It just means that you basically register yourself with the API, Twitter knows who you are and what you're using the API for. So the API will ask you to explicitly create a project and what are more, what are known as applications. So again, if I was a software developer, I would create a project name, so whatever the project could be. And then under that project, I might have three or four different smartphone applications that are related. For you as a researcher, you might create a project which is the name of your paper or your research study. And then the application might just be simply something specific like getting tweets to do with Brexit, for example. You have a lot of freedom in terms of what you write. Twitter is not looking for certain projects or for certain keywords. But you do need to be explicit and you do need to be upfront about why you want to use the Twitter API. Then once you get accepted as a developer and your project gets approved, this can take, I've heard, you know, nightmare stories of two, three weeks. For me, recently it took about eight hours to be approved to do some requesting of data from the Twitter API for research purposes. So if you want to do things this afternoon, you've probably left it too late, but surely if you give it a day or so, Twitter will accept your application. And once you're accepted, basically Twitter says, OK, here's your username, here's your password. And in some cases, here are some secret keys that you need to provide when requesting certain types of data. So these are known as authentication keys or credentials. And these basically allow the Twitter API to recognize that it is you using the API at a given time. Then you select your level of access. So do you want the standard version or do you want to pay for premium or the enterprise version? And the more interesting bit is, thankfully, then you can start requesting data. These kind of general steps apply to lots of other social media platform and just APIs in general. So it's worth recognizing that you can't immediately use a lot of APIs as a registration process. You tell them explicitly what the use case is of your project. You get some username and password credentials and you select what level of access you would like. So I have a little video here that we can just kind of move through. So this is what the Twitter developer portal looks like. So you go to the Twitter developer portal, you click register for an account. It asks you what type of user you are. So are you professional, developing software products? Are you an academic, et cetera? So you can see then it tries to pick up my information. So this is my Twitter account that I have anyway. I have a verified phone number. My email address, where do I live, et cetera. And we can move on from that. And then, yeah, so we just give them some information. And this is the key kind of section here. So here is where we're registering our use case. What do we actually want to use Twitter for itself? So basically, Twitter asks for about a paragraph's worth of information on why you want to use the Twitter API. So I don't try and fudge this or lie or hide what I'm doing. I'm quite explicit. My research interests are to do with UK charities. Some of you probably realize that by now. So I'm saying I want some Twitter API data so I can track the kind of the solicitation for donations by charitable organizations. So then we've got a set of specific questions. So, you know, are you just actually hoarding data? Are you going to analyze it? I say, yes, I'm going to classify responses to calls for donations, you know, as positive, neutral, or negative, for example. So yeah, and then there's some questions about, you know, do you need to use any of the functionality? So am I downloading data? Or do I want to actually create a bot myself? So after I download data, I do some analysis and then my account starts actually posting the findings of my research, for example. So I write an answer to that. I fill all these fields out. There are four fields. It's not too onerous. It takes about five minutes to fill out, for example. And yeah, and then do you plan to share data or do you plan on, you know, releasing data that you collect? Very often this is not the case, though maybe sometimes if a journal wants the actual underlying data itself, maybe, you know, you have cause to share it. In this example, I decided to play it safe. I said, look, when I do the aggregate analysis of tweets, I'll be probably sharing that data set. And I'll be obviously reporting the findings in some academic papers. So you get a chance to look over your answers very quickly. You sign up to the developer policy. So these are, you know, the restrictions and the fair use of the Twitter API. It's usually standard, you know, digital product kind of use cases and terms and conditions. But things to look out for if you read the developer policy would be, yeah, the sharing of information. So you're not allowed to share data you download with government departments, for example. That shouldn't be a problem, but I have had someone contact me saying, well, do universities count? They don't. But, you know, there may be certain institutions. Maybe you're seconded somewhere and you do some researches and Twitter data and they want it. But in general, the developer policy is, you know, uncontroversial for research purposes. So we've done a registration. We've gotten set up. Twitter API knows, you know, who I am. So let's actually dig into the data itself. So some of you will be familiar if you've joined us before. And we tend to use these Python notebooks where we can mix, you know, some text and we can mix some programming code. Also, this is available in the repository link that we sent you previously and it'll be sent to you in a couple of days. Also, so for now, you don't need to follow along. I'll just be doing a very brief coding demonstration. But if you'd like to have a more in-depth coding demonstration, we do have these continuously running series. So in the feedback to today, if you feel like a social network coding demonstration series would be good, then please let us know it's something we love to do. So let's take a look. So I've registered with the Twitter API recently. That's why I recorded that video because I don't need to do that process again. I'm an approved quote-unquote developer on the Twitter API platform. So let's take a little look through what we can do now that we are registered. So anytime we use Python, we need to just configure it correctly. So we need these Python modules or Python packages here. So we run this code. That loads in everything we need for Python and now we can get going with the requesting of data. So when I registered for the Twitter API, it gave me a unique username, a unique password and a couple of secret keys which sometimes are necessary for requesting certain types of data. Maybe more sensitive or more confidential data. You need to also provide a secret key. A kind of childish but actually useful analogy is to think of having a treehouse and having a password and a username and a password and a secret word to get into the treehouse. Surprisingly worked for me. So just to show you what your credentials tend to look like, these are fake credentials because obviously these are specific to you and are actually reasonably confidential. If someone got your details, started making very rapid or spurious or malicious attempts at requesting data, you would be kicked off the Twitter platform. So we won't actually be sharing any of our details today. But when you do eventually register yourself, then you will have your own credentials and you can swap them in here. So for example, these are my credentials. I've made this up. My username is this and my password is that. And there are some extra secret keys that sometimes I might need to use. So I'm going to load in my own credentials. It's good practice when you're doing this to keep your credentials in a separate file.  So I'm never writing my username as a string in here, for example. It's always protected. So I'm going to load in my own credentials. And just again, if you're going to use this code yourself at a later date, you must supply your own credentials. I unfortunately can't share mine with you. So we've gone and we've taken our credentials from wherever they are on our laptop or on our Dropbox or iCloud or what have you. Now we're going to connect to the API. And the first step is to tell it who we are. So we're going to use a Python package or module called Tweepy. I'm not sure. I'm guessing it's Tweepy. I prefer Tweepy. This basically provides a very kind of simplified and easily understood way of using the Twitter API. So basically, Tweepy saves you writing lots of code yourself. So when you want a certain data set, there's an easy way of doing this using Tweepy, for example. So for actually telling the API who we actually are, we can use a method here. So we tell Tweepy, OK, this is my username. This is my password and then connect to the API using these credentials. So we do that. So we haven't asked for any output. That's why you're not seeing any. Basically, if you don't get an error, you've successfully connected to the Twitter API. To check if it's actually working, we can make an example request to the API. So we're going to do a search request and we're going to look for my first name, DearMid, and we're going to find the first 10 results. And then we're going to look at the content of the tweet itself. So we can run this in real time. So you can see I get, for some reason, lots of Japanese results, which is quite interesting. I think there's an anime or a manga character who has my first name, which is quite strange because I have a very Irish first name, but apparently it's a character also. So these are the first 10 results. And you can see the kind of results are done in real time. So maybe they don't change that quickly. But anytime there's a new tweet mentioning my name, it'll appear here in this list. OK, so we've gotten the credentials. We've passed those onto the Twitter API. So let's actually get stuck into getting some data. So one of the first requests you'll tend to make is to get the kind of metadata associated with an account. So as you can see, you can get quite a lot of metadata just to do with my Twitter account. So basically it gives you kind of a list of my recent tweets and my kind of biographies. You can see my screen name here. You can see where I've said I'm based. You can see my job title that I've put up there. I've got some links to some web pages. How many people follow me? How many friends count? Not sure what friends count means actually. I don't think friend is a name or a term used by Twitter. But anyway, it's a metadata field that we can get. You can see what I've done recently. So there's something I did today, quarter to 11. I retweeted someone else, unfortunately, about Brexit, which is exercising me at the moment. So a very easy, quick request you can make to the Twitter API is for your own actual information. You can request any publicly available account. So here's Boris Johnson, the Prime Minister of the United Kingdom's Twitter account. And again, we can pick out the same information. So how he describes himself and his recent activity should be down here as well. So quarter past three, he tweeted something about criminal sentencing. So even just a simple request like this for the metadata associated with an account, captures some of the content and captures interesting descriptions about the account itself. And there's lots of different methods for requesting data that TweetPie provides. So there are links elsewhere in this notebook to the full list of kind of data and things that you can request through the API. Let's give ourselves some focus just now. Let's pick a UK charity. Let's take its Twitter account. Let's get as many tweets as possible as we can get. And then we'll save it for future analysis, you know, which would be looking at solicitations for donations and how people respond it. So today we'll focus on the Royal National Lifeboat Institution, or commonly known as the RNLI. Very valuable in terms of the work it does. UK charity, it does some excellent international work as well. And it focuses on saving lives around British and international coasts. So in my opinion, a very, very worthy charitable organization. So one of the methods I can use for getting data is the user timeline method from TweetPie. And that gives me the 20 most recent tweets or retweets associated with the RNLI account. So I can run this now in real time. You probably just saw previously there were older results from about an hour and a half ago when I previously ran this, but we can run it in real time as well. So it gives us quite a lot of fairly difficult to parse kind of results. But actually what we're really interested is there's a field called underscore JSON equals and then pretty much everything inside of this is the content and the metadata that we want. So its most recent tweet was at quarter past three in the afternoon today. Here's the unique ID of that tweet and here's what they posted. So what would you say to rescuers that saved your life? Here's the moment that Amanda, et cetera, et cetera, and then a link associated with the tweet. There's also information about any hashtags associated with that tweet. You can see that there were no hashtags included with this tweet just here, but there usually are and that information is captured. Also, and there's some fields it's difficult to see, but there's some fields capturing if users were tagged in the tweet. So if the tweet was deliberately posted to somebody else or included somebody else, we can see who it was aimed at. Now we can start to see the social network aspect. We're just not asking for text back from Twitter. We're also getting a sense of who's interacting with the text. Who's the tweet or the content directed at? Who responds? We can start building up the network using this information. We can pick out the fields that we're interested in so we can reduce the mess and the difficult to parse results and we can pick out some fields that we're interested in. So for the 20 most recent tweets by this charity, tell me what date they posted the tweet and give me the actual content of the tweet itself. So here, you know, it's, there we go. So we're picking up a tweet from half to today. This is one I just read out. Actually, maybe that's been retweeted by somebody. Here we've got then one 15 minutes before that. Again, here's the content of the tweet. So now we're seeing how we can pull out really interesting information from the Twitter API. So one issue is that the Twitter API, as most APIs do, they restrict the number of results that are returned. So the user timeline method gives you the 20 most recent. This is to stop you saying, right, give me all tweets by, you know, this account. If we take somebody like the president of the United States who tweets, I'm not sure, but dozens and dozens of times per day, that can be hundreds of thousands of tweets. And if all of us were working on this project now, we're all sending the same request for the tweets from the same account. And that puts a lot of strain on the Twitter API. So APIs in general trying to restrict the number of results. That doesn't mean you can't get more than 20. It just means for each individual request, it only gives you back 20 at a time. So Tweet Pie gives you a way of overcoming this using a cursor method. We don't have to worry too much about how that works now, but in future we can do more technical demonstrations. But using this approach and it'll take probably about 10 or 20 seconds. This will go back in time and not just give me the 20 most recent tweets by the RNLI, but it'll actually go back. I think the restriction is about 3,200 tweets that it can recover. And then that hard limit of 3,200, I think maybe that extends if you pay for the premium version. And certainly if you had the enterprise version, that would, you know, probably greatly increase the number of tweets that you can recover. But this shows how you need to start thinking strategically about your data collection. So if you had a programming script that ran once a month and collected the 3,200 most recent tweets and then you had that run every month, then you could see over a year how you probably wouldn't miss out on much information. Yeah, so if we look at the... It's like typo there. So if we look at the results, so we can see that there are 3,200 tweets that we've managed to recover. And if we look at the first tweet that we recovered, again, here's the one from half past two. We've seen that a number of times. Here's its ID. Here's the text. Any hashtags, there weren't any links that were shared in the tweet we've captured. And then we've got metadata about the account itself. So Twitter gives you back volume of information. So there really are no excuses of not having rich enough data. You'll definitely get lots of good data. So I ran this earlier. You can see I bumped into a slight mistake. So let's... I'd like to call that a deliberate mistake. Unfortunately, it wasn't. Basically, I'm working through the full list of results that I produced. And I just want three fields. I want the date the tweet was posted, the unique ID of the tweet, and the content of the tweet itself. And I can store that into a separate list of results. And here I have now for each tweet its date, its ID, and the content it contains. So that's really good. So what I'd like to do is I'd like to save all of those results so we can analyze it later. So I can take the data that I've requested and I can spit that out to a file on my machine. If you think the data structure that we've seen, which is squiggly brackets, and it's like a field name and then a command, and the field value is a bit unfriendly, we can convert the data to something we're more familiar with, what we would call a data frame in R, or just a variable by case matrix, or just a regular data set where every row is an observation and every column is a variable and every cell is a value for that variable. So we can sample from that. We can see tweet number 1733 was posted on the 18th of April this year. It's a unique ID here and the content of the tweet. And then we can save that as well. So we can save to a CSV file with kind of more traditional data structure. So that's a very quick look at requesting data from the Twitter API. You can work through this notebook yourself. There's a bit more information and context to what we're doing that you can read through and you can execute this code online yourself as well if you have your own Twitter credentials. So in summary, again, there are general steps and approaches that we can extract from what we've just done. So let's take a look at those major steps that you can employ for your own use of the Twitter API. So you need to register for a Twitter API developer account. And once you do, as I was showing, you create a project or an application as it's called that requires use of that API. Again, unless you're doing something very... As I say, use the word dodgy but something suspect and you're trying to hide it as academic work. I mean, if you just honestly describe your research paper, your research project and what you need the data for, it'll almost certainly get approved. It's just the process looks a lot more intimidating than it is. But Twitter wants people using their Twitter API. I mean, that's the point of it. Then we can use the Tweetpy Python package for interacting with the Twitter API. This is just a very simplified, friendly set of methods and approaches for interacting with the Twitter API. And it saves you writing a lot of Python code yourself. Similar packages exist if you use the OR programming language. I'm totally agnostic whether you use OR or Python. I don't think one is better than the other. It's just your personal preference. But of course, you can still use Python to collect data and OR to analyze data. I think that's a sensible disaggregation of workflow. But you could do the whole thing in OR. The whole thing in Python, it's completely up to you. So once you have your account and you have your credentials, you can use Tweetpy then to connect to the Twitter API. And we saw how to do that. We can make various requests for data. We can clean the data that comes back and we can save it out for later analysis as well. So that's a look at how we would interact with the Twitter API. Of course, relational data or social network data can exist in other data sets also. So this very quick example is going to show you some traditional administrative data that happens to have information about how charities are connected. And I'll demonstrate a couple of kind of clever neat tricks for converting that into social network data. So again, we just load in the packages that Python needs to work with data and to work with network data. So what I do is I load in some data that I have about the trustees of charities in Manchester. This is all publicly available information, hence why I'm happy to show individual names and actual company numbers, charity numbers right here. So if we take the first individual, this person here is on the board of three different charities and here are the unique IDs. So if we conceive of a connection between charities as sharing a trustee, we can see that this, this and this charity, these are all connected through this one individual. So this data set contains relational information on how charities in Manchester are connected. So now our challenge is to, you know, extract this information so we have a data set that contains information about the connections between these organizations. So how do we do that? How do we take out this information from the data set? So we define what we want at the end. So if you joined us last week, we just, we define something called an adjacency matrix. This is simply a data set where every row is an entity or a node as it's called. Every column in the data set is also that same set of nodes. And then every cell in the data set or in the matrix basically tells you whether those two nodes are connected or not. So to give that a bit more content, in our example, every row in this data set represents a charity. Every column also represents the same set of charities. And then in each cell would be a one or a zero indicating whether those two charities were connected. And we'll see what that looks like in just a short moment. So how do we create an adjacency matrix as it's called? Well, the way to conceptualize of what we're doing is basically we want a cross tabulation of all those charity numbers that we saw. So a cross tabulation is just how many times do we see two categories occur at the same time? So how many people are both male and employed, for example? So we can cross tabulate our charity numbers as well to see how many times charity A occurs with charity B. So how many times are these two charities connected? So the data trick basically is to merge the data set with itself. And having done that, we can see what the results look like. So on the left is our original data set. So here we can see the first trustee that we have and the three charities that this person is a trustee of. And when we merge the data set with itself, what you see is we're basically replicating the charity numbers each time. So we're looking at every possible combination of these three charity numbers for this individual. So we can see that we have this charity here. It's connected to itself, which is obvious, but also not very revealing. This charity is also connected to this one and this one. And again, this charity is connected to this, et cetera. So the cross tabulation, then, of this information basically gives us our adjacency matrix. So now we have a new data set. This data set has, for its roles, every charity number. Every column represents the same set of charities. And in each cell represents how many times these two charities are connected. So this charity is connected to itself twice. So that means there are two trustees on this chart that shares two trustees in common. Again, that doesn't make sense that a charity is connected to itself and we'll deal with that shortly. But if we take this charity here and this one here, you can see that they share one trustee in common. So charity A maybe has 10 people on the board. Charity B maybe has 15. And of those total 25 people, one person is on the board of both organizations. And again, how this is done exactly in Python, if you'd like, we can do more involved coding demonstrations. But I'm just trying to get you to think of the general trick or the general process of going from a traditional data set which has some relational information into a network data set and what it actually looks like. So there are a couple of other kind of things we can look at. So as I said previously, this charity and this one are connected and they're connected through two different trustees. So Charity X and Charity Y basically have two trustees in common. So before I show the final result and we move back to taking some questions, I want to remove what are known as self-loops. So it makes no sense to say a charity shares trustees with itself, that is just self-evidently obvious. So we want to get rid of those self-loops as they're known in social network analysis. And I want to convert to what are known as binary relations. So I'm not interested in how many trustees are shared in common. I just want to know, do they share trustees in common? Yes or no. And there's two approaches to doing that. So basically I fill the new data set. So all of the values on the diagonal I set to zero. So these are all the connections, the self-loop connections. And then anywhere I find a value that's greater than or equal to one, I replace that with a value one. So if two charities had 10 trustees in common, now once I make this change, that'll just appear as a one, that they do share at least one trustee in common. That's a lot of talking. It's a lot easier just to look at the result that are produced. So again, I've removed all the self-loops. So if you work down through this diagonal, that captures how charities are connected to themselves. That used to have the value two. I've now replaced it with the value zero. So no connection exists between a charity and itself. You'll remember as well that this value used to be two. So these two charities share two trustees in common. So if you're not interested in the amount, I just want to say yes or no are they connected. And once I do that, I've got my network dataset known as an adjacency matrix. I can put that into my network analysis software in Python and then I can start doing some analysis. So there are 1,100 charities. There's 1,500 connections between them. And on average, a charity is connected to three others. So then you can see how we can go forward. We can do more in-depth analysis, which is what we're going to cover in two weeks time.


That whoever believes in him should not pay much but have eternal life. All right, good morning, Radiant Church. Good to see you guys awake, you're live, caffeinated. We're good. Portage, good to see you. Thanks for joining us this morning. My name's John. I'm the campus and teaching pastor here, or one of them at the Richland campus. And Pastor Lee is actually ministering this morning at a church in Indiana, one of our network churches. So it's a privilege really for us even to sow Pastor Lee into those environments and he helps develop the leaders and help the church overall. So I'm super honored to be here. I do wanna just reiterate what Pastor Zach said about the Big Give offering. It is such a, it's a miraculous thing honestly. And so I feel like you guys should know this, that this was not the result of hey, one person, we didn't email Bill Gates and he wrote a check for 180,000 of that. We had very few even larger donations at all but everyone almost gave. I mean the amount of people who invested something was supernatural and absolutely incredible. And so we just wanna thank you. That has been always the mantra of this church is just abundant generosity. And because of what you're doing, as we said, 654 students on Friday are going to experience the love of Christ in a tangible way. So thank you so much for that. Obviously we're not quite to our goal so please if you didn't have an opportunity and you still wanna give or be on board, you can do that online. You can write an envelope. The Big Give offering will be available for actually the whole month. So please do that if you'd like to. Turn in your Bibles. Here's what I'm gonna do. I'm gonna tell you to turn in the Bibles to Luke chapter two because I'm gonna go out on a limb and believe that we all have John 3.16 memorized by now. So if you don't, it's okay, we'll just play along. But turn to Luke chapter two. We're in a series called 3.16 and we're taking that obviously one of the most, probably the most famous scripture in the Bible and we're kind of breaking it down into these different sections and talking about it. So Pastor Lee started with for God. So loved the world that he gave and this week is his only son. Who's that? Nice job class, you're all getting an A so far. Okay, so let's say John 3.16 together and then we'll look in Luke. It's gonna come up on the screen.   Okay, yes. It's the right way to say it. It's the Christian way, let's be honest. I'm just kidding. John 3.16 is again this powerful verse that encapsulates the heart of God. He's so loved that he gave and his only son. And so today we're gonna talk about Jesus and we're gonna look at his life and what that means for us today in 2018. I wanna read a little section of the Christmas story. So if you're in Luke chapter two, I'm gonna read verses eight through 11 and just sort of give you a glimpse into 2000 years ago. It says in that same region, there were shepherds out in the field keeping watch over their flock by night. And an angel of the Lord appeared to them and the glory of the Lord shone around them and they were filled with great fear. And the angel said to them, fear not for behold, I bring you good news of great joy that will be for all the people. For unto you is born this day in the city of David, a savior who is Christ the Lord. Christmas is coming, it's December, it's officially Christmas season, right? I'm sorry if you celebrate it in like August, that's your problem, this is Christmas season. So as Christians, it's really almost a challenge for us sometimes to sort of navigate through a lot of the hustle and bustle and marketing of Christmas to remember, to be intentional about remembering that this is the season where we remember that Jesus was born. The theological word is the incarnation where God became human, he became a man. And it's a mind-boggling truth and fact that has impacted the rest of the world for 2,000 years and billions of people are still impacted by that one day and that one baby. And it's really a, it's crazy to think that, here's what I wanna say, if I was going to send God right into the world it would look a lot more like coming to America with King Joffrey, Geoffrey, you know?  And he's like, no, and he's got the King Joffrey voice and that's how you would think, hey, if you're God, if you're that important, that's what it should look like, but he came as a baby.  Okay, good. I didn't know what I was gonna say there and I panicked.  There's this vulnerability that's almost impossible to comprehend as a human, but then you have to think that was God. That's how God came to this earth. The word became flesh and dwelt among us and now we have Christmas music. Again, I love Christmas music in December. And I will say this, there's something great about living in Michigan when it comes to Christmas music because Kendra and I were in California once at this time of the year and we were listening, it was like, oh, the weather outside is frightful. I'm like, it's like 82 and sunny. This means nothing. So it is good to be in Michigan this time of year and then we have the beautiful Christmas songs that encompass what we're talking about. Josh Groban, Oh Holy Night, Anyone, right? I sound just like that in the shower, ask Kendra. True story. Silent night and here's what I bring it up. I think sometimes these songs almost do a disservice to what might have actually happened 2000 years ago. You know, you sing Silent Night, Oh Holy Night, All Is Calm, All Is, I'm not sure that all was calm on that night. I mean, you have a teenage girl who is pregnant by the Holy Spirit. That's different, right? And then the Bible says they have to travel to Bethlehem because there's a census and scholars believe that that was at least 80 miles away. So you have a nine month pregnant woman riding on a donkey, 80 miles. Shout out to Mary. You know, we drove eight miles in a minivan and that was hard enough when we had a baby. And so you know the story, there's no room, it's chaos because there's a census happening and they can't even get a hotel and they literally have to go into a carved out rock area, a cave that would have been placed where like animals gather to get away from the elements and stuff. So it's dirty, it's unsterile, it's scary. They don't know really what's going on and they're young and it's just this girl and there's no hospital, there's no, you know, bed. There's no medicine, there's no epidurals. Kenner was like, I'm not sure if I want to epidural. He's like, well, I want one, doctor. No. And she has this baby and it's God. And here's what, again, I just want us to remember that Jesus had to grow into the reality or the understanding of who he was. Just like we do as Christians, we grow into our identity in Christ. Jesus had to grow into his identity as the Son of God. Like that didn't happen right away.  No, he was, he was a real baby and the Bible says in Luke 2.52, he grew in wisdom and in stature and in favor with God and with man. And then he lived his life and we know he had disciples and he walked and did miracles and he claimed to be God. And ultimately he was crucified and God raised him from the dead. And so as we remember Jesus, I think it's important that we don't only remember Jesus as a baby born in Bethlehem, as powerful as that was. If that's our only sort of knowledge or the only way we recognize Jesus, well, then we're doing a disservice too because as humble as his beginnings were when he was born, the Bible is clear that Jesus is coming back and he's not coming as a baby in Bethlehem, he's coming, Revelation 19 says, as a conquering king.  That's who Jesus is. And so I love that we celebrate his birth but let's not forget that Jesus is Lord of our lives. And so I wanna talk today, what does that look like? Who is Jesus? How are we supposed to respond to that miracle that happened 2000 years ago in the town of Bethlehem? And I wanna just give you a couple titles that Jesus was called in your Bible and scripture. Jesus was referred to as the son of God, son of man, word of God and lamb of God. Those are all titles that were used to describe Jesus. All of them used less than 10 times in your Bible that Jesus was referred to as savior in your Bible 20 times. Jesus was referred to as teacher in your Bible 60 times and Jesus was referred to as Lord in your Bible 740 times. So Jesus is more than a baby. Jesus is more than a savior. Jesus is more than your homeboy or your friend or your bro. Jesus is Lord of our lives. And I wanna talk today about what does that mean? What does that look like? How does that affect me as I follow Jesus? I wanna give you the definition of Lord. It's the Greek word for it, which is how your New Testament is written is the word Curios. And it means this, master, possessor, owner, controller. How many of you kind of bristled when I said that? You hear that and there's like this. Take it easy, Jesus, you know. Owner, controller, master, what does that mean? And that's exactly how Jesus reveals himself in scripture. As he says, I want to be Lord of your life. And Lord of your life doesn't just mean Lord on Sundays. Doesn't mean Lord when it's convenient. Doesn't mean Lord until the lions are on. So let's hurry up. Jesus wants to be Lord of every arena of your life.  What does that look like if I'm in a dating relationship? What does that look like when I'm at my job? What does that look like with my friends, with my future, with my finances? What does it mean to have Jesus be Lord over those things? Because if Jesus is in control, guess who that means isn't in control? Us. And let's be honest, we don't like not being in control. I personally don't have a problem with that. As long as everyone does what I say, the way I want it done, I don't have control issues, no, but we do. And it manifests itself. The car, how many of you agree, is a very place where you want to have control, right? How many of you don't even like to be passengers in a car, is there anyone like me? Not that Kendra's not a good driver, she is. But I got cut off the other day so bad and I was shocked at how quickly you can become un-Christian in your car, right? Cause I was like, how could you do that? What kind of a person are you, you know? And I'm like, because I'm in control. That was my space, that was my area. Like, don't come to my house and touch the remote control, right? That's mine. I control these things. And if Jesus is Lord, then we're not Lord. And here's what I want to say is I feel like we have in the church a misunderstanding of what Jesus as Lord of our lives means. And I feel like in the church, and not this church, but in the church, and we're not a perfect church, but we have watered down the message of Jesus. We have dumbed down what it means to be a Christian to the lowest common denominator, really so that we can make it more palatable, we can make it easier to swallow, easier to follow, and that people will be much more attracted to it that way. I fear that about this generation and about the trajectory of the church today as we want so badly for people to be here and to see us and we need our markets here and we're the best show that there is and we do this and do that and come and see and we don't communicate what it really means to follow Jesus. And we've kind of taken it to this place that looks like this and this is just my concern, my fear, honestly, is that we've said here's all you need to do is just pray this prayer.  And I feel like there's much of that happening in the Christian circles of especially America today where we've said, look, we want you, come on, let's go, it's easy, it won't cost you.  But it's not, salvation is free, but it's costly. There's a price tag attached and I wanna talk to you about that today. What does it mean to make Jesus the Lord of our lives? How does that affect us today? I want you to turn your Bibles to Luke chapter nine. Luke chapter nine. And Jesus explains what it means. And listen, please hear me, I'm not saying it's not important to pray a prayer, I'm gonna talk about that, but I want you to know that Jesus had expectations about what it looked like to be a Christian. Jesus had expectations about what it looked like to follow if you wanna truly follow Jesus. He said, this is what it's gonna look like. Look at Luke chapter nine. Let me just give you a quick backstory. Jesus has just asked his disciples, who do men say that I am? And they said, some say John the Baptist, some say Elijah, some say one of the prophets. And then Jesus says, well, who do you say that I am? And Peter steps up and he says, you're the Christ, you're the son of the living God.  And it's on that revelation that I will build my church and the gates of hell shall not prevail against it. It's this powerful experience and encounter with God. And then he says this, he says, the son of man after that must suffer many things and be rejected by the elders and chief priests and scribes and be killed. And on the third day he'll be raised again. So there's this powerful moment.  Oh, Jesus, what? Why are you talking about that? That's the context that we have. So he tells them what's gonna ultimately happen. And he says this in verse 23 of Luke chapter nine. And he said to them, if anyone would come after me, let him deny himself, take up his cross daily and then follow me, for whoever would save his life will lose it, but whoever loses his life for my sake will save it. For what does it profit a man if he gains the whole world and loses or forfeits himself or his soul? This is one of the most powerful teachings that Jesus ever communicated. It's in all four of the Gospels. This is not some obscure verse that I just dug up. It's in Luke nine, it's in Matthew 16, it's in Mark eight and it's in John 12. And he says this, if you want to follow me, this is what it looks like. He didn't say, hey, it's super easy, just fill this out or just pray this prayer and don't worry about it or try to come to church when you can, be a good person. Say God bless you when people sneeze and you're set.  And so you have to ask, what is deny yourself? What does that mean? Here's what I want to say to you.  He's not saying that, it doesn't mean you have to be a pauper or you can't have any nice things. You have to deny, here's what it means is that we're living in a world and Jesus understood this at his time and today where we are slaves to popular opinion, to comfort, to the praise of man, to ease.  We don't strive for comfort, we don't strive for ease in our lives. We say, no, I will deny that because I'm following you. That's what Jesus is saying there. That's what denying yourself means. And then he says, and then I want you to take up your cross, which again, we don't have a lot of vernacular for today. We look at the cross today many times and we see it as the symbol of love and of atonement and of sacrifice and it is those things. We wear it around our necks, but when Jesus said, take up your cross, he wasn't talking about that and he wasn't talking about having to endure something that is an infirmity or maybe a bad job you have or a strained relationship. Maybe you've heard people say, well, that's just the cross I have to bear. That's not what Jesus was talking about either. Do you know what Jesus was saying? And he said, take up your cross. He was saying, pick up the execution device and carry it to the place where you're gonna be killed. That's what Jesus was saying. Feel good message, right? You guys with me? That's what he said.  That's what the Roman government made criminals do.    I'm following you in every arena of my life. That's what Jesus meant.  No, he says in the following verse, listen, this is so important. This is the thread of all of Jesus' teachings.  If as Christians, we think, okay, I need to just come to church, prayer, prayer, I don't have to really get involved because it's more important to me that I have comfort, that I have money, that I have status, that people like me, that I'm popular, that all of the things that the world says, that's gonna fulfill you, that's gonna make you happy. If we're not willing to let that go, then we're gonna lose our lives. We're gonna lose what it really means to follow Jesus because this life, guys, is a vapor. It's here one moment and it's gone the next. It's a blink in the realm of eternity.  But if you will lose this life for my sake, because of Jesus, you'll gain eternal life. You'll find what it really means to live. You'll have significance. You'll have influence. I will come and I will be Lord and Savior and director of your lives, not in a way that I just wanna kind of be the puppet master, but in a way that shows you your destiny, your purpose, and your identity. And he says the same thing again in Mark and in John and in Matthew, try to save your life and you're gonna lose it. But if you'll surrender to the Lordship of Jesus, you'll find true life, eternal life, abundant life, and it's the hardest thing for us to do. And I just wanna remind you, I don't know what we mean, but we don't make Jesus Lord. You understand that? I know we use that word sometimes and I think I've even used it, but Jesus is Lord because God the Father said a long time ago, I'm gonna give you the name that's above every name and at the name of Jesus, every tongue, knee will bow, tongue will confess that Jesus Christ is Lord. So we don't make Jesus Lord, no matter what, but we surrender to that reality. We give our lives to the fact that Jesus is Lord and it costs something. Jesus said, deny yourself, take up your cross, then you can follow me. And the third thing Jesus said about becoming a Christian, what does that mean? Is we have to count the cost, count the cost. Turn in your Bibles to Luke chapter 14, just go over a few more pages. I wanna show you one more interaction with Jesus. And I know this is heavier and I know I'm more known for being jovial and encouraging and I do wanna encourage you, but I'm just telling you, my heart is breaking for what I'm seeing in America in particular, in Christian circles and I wanna just show you what Jesus said about what it means to be a follower. And so look at chapter 14, verse 25. Luke 14 verse 25 says this, now great crowds accompanied him. Stop right there. People are following Jesus. A lot of people are coming to him. How many of you think it's a good thing if a lot of people follow Jesus? It's not a trick question. Okay, most of us, I thought there would be more, I'm not gonna lie. How many of you think it's a good thing that a lot of people wanna hear what Jesus has to say? How many of you think that's good? Okay, that's what's happening. Great crowds are following Jesus. This is what we would call ministry success. Like Jesus, you got this. People love you. They're coming from all over. They're following you everywhere. This is amazing. Now what are we gonna tell them so that they come back next week, maybe bring a friend, maybe get up for the early service. I'm just kidding, you guys are good. I don't know. What are we gonna tell them? And Jesus says this.  I'm just gonna tell you, that's not church growth strategy that you would use today. And he does it at another time too. He's got great crowds following him.  And the disciples are like, well, I quit. You're ruining the church, Jesus. Why are you doing this? We're popular. People like us. People wanna hear you. Why would you do that? And he says, he says whoever does not bear his own cross and come after me cannot be my disciple. And so he has these big followings. He has this crowd and he doesn't say, how are we gonna make this as easy as possible? How are we gonna make sure no one gets offended that this isn't hard for anyone? No. He says, unless you're willing to put me above everything else in your life, you can't be my disciple.   Your family might not understand why you're doing this. There might be people who persecute or mock you in the process. And are you willing to still come after me? That's why Jesus did that. He said, look, I wanna make it real clear. I'm not talking about patty cake Christianity. I'm not talking about just, you know, whatever works for you and you can follow me. He says, no, if I'm gonna be Lord, I'm gonna be Lord of all or I'm not Lord at all, is what he was saying to them. Are you willing to know that it might cost you some relationships? I'm telling you, this is what we need to tell young people today. Do you really wanna follow Jesus? It might cost you your friends. It might cost you your popularity. It cost something is what Jesus was saying. He had another one come to him in Luke chapter nine who said, came up to him and said, I will follow you wherever you go. How many of you think that's a good thing? Four of us, okay, whatever. I'm done asking you questions, okay. So again, I look at it from a past oral standpoint. Someone comes up to me. Do you wanna follow Jesus wherever he goes? I'm gonna be like, well, pot dog, hallelujah, let's go. And I'd tell him something, right? And it would be good and affirming and encouraging. Jesus has a man say that to him and he looks at him and he says, foxes have holes, birds have nests, but the son of man has nowhere to lay his head. Basically, are you sure? He's literally almost talking him out of it. Are you sure that this is what you want? That you wanna follow me? And then he gives these examples, look what he says. So he's talking to the crowds and he says, for which of you desiring to build a tower, doesn't first sit down and count the cost? Whether he has enough to complete it, otherwise when he's laid a foundation and can't finish, all who see it begin to mock him, saying this man began to build and wasn't able to finish. So he sees the crowds and he says, I wanna tell you something. This is like when you build a house. Imagine if you're in here and you build a house and you've got all the plans, you go through all the planning, the blueprints, and then they get the foundation laid and you're like, I didn't know it was gonna cost more than this, right? I didn't realize I was gonna have to finish the house. So honey, that's your room and this must be the kitchen. People would mock you, right? How do you start building a house and you can't get past the foundation? And that's what Jesus is saying.  And then when it gets hard, when it gets difficult, bail, and say, well, I didn't know it was gonna cost this much. That's what Jesus is saying. And then he gives another example and he says, well, what one of you, if you were a king and you were going out to encounter another king in war would not sit down first and decide whether or not he's able to 10,000 to meet him who comes against him with 20,000? And if you can't, well, the other's a great way off, he sends a delegation and asks for terms of peace. He says, you're not going to go into battle without figuring out how are we gonna do this? What resources do we have? How much is this gonna cost? How many men do I need? What kind of arsenal do I need? He says, you count the cost ahead of time. So imagine if somebody joined the army or whatever and they're going out into war and you're sending them into battle and they come back a few hours later and they're crying, complaining, and the general says, well, what's wrong? They're shooting at us.  The general would say, what are you talking about?  It's a war and we don't war against people.  We wrestle against principalities and powers and darkness but make no mistake, you're in a battle and there's no DMZ zone. There's no, I just want to kind of hang over here. No, you're either taking ground or you're losing ground in the kingdom of God and Jesus says, are you willing to count the cost for what it takes to be in this army with me? Because here's the thing, if Jesus was in here, so I just want to say this, as a minister, I look at the crowds and as pastors we get excited. Right, there's a lot of people here that's great. And I just want to say, Jesus when he saw crowds he got skeptical. Isn't that interesting? Almost like he was saying, some of you maybe shouldn't be here. I just want to let you know ahead of time that there's going to be some battles. There's going to be some choices you have to make. And it's not always going to be easy. Do you still want to come? If Jesus was in this room and he said, hey, you want to follow me?  But you know what? Everything we believe isn't going to be popular. Everything that we do isn't going to be easy. So if you wanted to sign up for the chicken soup or the soul conference, that's over there. And you can go do that. But if you're following me, it means we're going into the world and we're going into battle and it's not always going to be easy. It's not always going to be popular and you won't always be comfortable. That's what Jesus was saying. I'm just going to tell you, I've seen this played out in many arenas. And here's what it looks like many times. This people will come to church, come to radiant and they love it. The church is great. So it's awesome. People are so friendly. I sense the presence of God. And they should love this church. It's a great church. It's in my top five for sure. No question. Top three, I'm kidding. No, it's where they come. And it's great. And it's great. And then something happens. There's a lordship issue. And suddenly they say, wait, wait, wait, wait. What are you saying? That I'm supposed to serve? What I'm supposed to give? I can't do that. I'm too busy. I got bills. I got a mortgage. I'm here for, I'm here for what's in it for me. I'm here because this is easy, fun, great. It feels good. And suddenly there's an impasse. There's tension. And you have to decide, is Jesus Lord of my life? You say, and maybe you're here and you say, it's a what John? What are you saying? If I don't give, I'm not a Christian. I didn't say that. But I'll tell you Jesus isn't Lord of your life. And I'll say it with love. There are people who come in. Oh, I love it. I love the music. I love Pastor Clark. I love the overwhelming. Nah, we're all into it, right? And then a moment comes and say, wait, wait, what? So this church believes that Jesus is the only way to heaven? Everybody else is, what, they're wrong? That's not popular. I don't want to tell people that. People come in. I love Pastor Lee, all my word. He's amazing. He's so smart and smart and handsome. And his messages are so great. And I love, I love, I love listening to that. But I'm not going to stop sleeping with my girlfriend, living with my boyfriend. I mean, we're married in God's eyes. Just telling you. Saying, are you saying I'm not a Christian? I'm not saying that. I'm saying Jesus isn't Lord of your whole life. There's going to be some times when we're part of the body of Christ, it's not going to be popular. It's not going to be easy. Let me just tell you, tons of people here, and then all of a sudden we did a red hot series. And people found out, oh, this church believes that homosexuality is outside of God's will.  That's terrible. That's not what I believe, that's not how I feel. And listen, I'm not judging anybody and I'm not saying we don't love homosexuals, we do. And they're welcome here. But the goodness of God says, come as you are. And the grace of God says, don't stay where you are. And many people were like, we can't go there. And it's not always popular.  We're not even be able to teach that. We're not even be able to say that because it's going to be illegal, it's going to be hate speech. And let me just tell you something I know from the bottom of my heart. Pastor Lee is not going to fold up tent and say, well, this just got pretty hard. I'm out of here. That isn't happening at Radiant Church. It's not happening. We're going to point people to Jesus and we're going to love everyone, but we're not going to make excuses for what we believe the Bible says is true. We're not. We're not going to water it down so everybody likes us. And I'm not calling anybody out, but churches do that. And they say, oh, no, no, it's fine. It's fine. You don't ever have to change. You don't ever have to be convicted.  Just come on in. And we want to be come on in, but we also want to say, God has more for you. And there is truth. And his name is Jesus. It's not a philosophy. It's a person. And it gets difficult. And it's not always easy. And we have to decide, is Jesus Lord of my life or is he only Lord when it's convenient? I mean, that's the question I'm asking. And I'll be transparent. I'm not perfect by any means. And there's areas in my life that I struggle and my kids are in the front row, makes this a little more awkward, but I was a rebellious child and I had a tumultuous life as a young person. And the enemy comes to me and says, what if your kids don't serve God? What if they do this? What if they do that? And there's the temptation to take control and to say, well, I'm gonna handle this and I'm gonna make sure they don't do that. And this never happens. They're never in that. And I'm gonna dictate everything. It has to be that moment where I say, Jesus, your Lord. Doesn't mean I'm disengaged, but it means God, I refuse to let fear motivate me. The lies of the enemy come against me. I stand in faith and I say, Jesus, your Lord of this area of my life, I surrender it to you. That's what it looks like. It's a journey and it's because God loves us. And when you know God, you can trust God. And if there's areas that you haven't surrendered, it's just listen, it's because you haven't known God in those areas.  He's not coming down on you. He's saying, you can know me and you can love me. And when you do, you can trust me.   Salvation is free. I'm not saying that you have to earn your salvation or that it's by works, but it will cost you. And here's what I mean. 19 plus years ago, I bought Kendra, a 132nd of a carrot diamond ring. It was amazing. It was all I could do. And I, if I had a time machine church, I would go back in time and I would change one thing. It would be how I proposed to Kendra because I would go to like the Louvre or a hot air balloon or we'd find a fighter jet or something and it wouldn't be Applebee's. But either way, I love you. So anyway, I was so nervous, but here's what I did. I had this ring and I put it on her finger and this is what I said, will you be mine? Will you marry me? I don't wanna get to hear this. When I gave her that ring, it didn't cost her anything. I paid for it. But when she received it, it cost her. She belonged to me now. And when she put her ring on my finger, I didn't pay for it, she did. But then I belonged to her. She belongs to me, I belong to her and we belong to Christ. That's what covenant looks like. You might be saying, well, that's chauvinistic.  That's basically how that looks. So, in love, of course. I mean, do you know what I'm saying though? Listen, you don't earn your salvation. You don't have to buy it. It's a free gift, Ephesians two says. It's by grace you've been saved and it's through faith, it's not by works. But when you say yes to Jesus, you're not just saying yes to serving a prayer as an eight-year-old in your room.  To Jesus you are Lord and I want the trajectory of my heart and the way that I see my life and my family and my stuff and my finances to be through the lens of how does it impact the kingdom of God?  I'm not gonna make it all about this. No, by faith I lose that and then when I do, I gain what life really looks like. That's what Jesus asked of us. That's what it means to make him Lord. Can you be a Christian and do those things I talked about?  We gotta stand up. I wanna just pray with you as we close and I've asked Pastor Ryan to sing for us and I wanna take this moment. Here's what I would normally do is say, you need to make Jesus Lord of your life. You need to surrender your life to God and that's what I'm asking you. Are there areas of your life that you know I need to give to Jesus? I've not allowed him to be Lord.  All you have to do is surrender, submit those things and say, God, I give this to you. Maybe that's your life. Maybe you've never known Jesus as Savior. Do that. Do that in this moment. We're gonna sing this song. And I want it to be more than words on the screen. I want it to be a confession. And so connect your heart to it. Ask God, ask the Holy Spirit to reveal to you whatever he needs to so that every arena of your life is surrendered to his Lordship and then lay it down. And Jesus says, I'll give you life that you never thought was possible. It won't always be easy, but it will always be worth it. Let's sing this together. I have decided to follow, I have decided to follow, no turning back. No turning, no turning back. My cross, my cross I'll care till I see. My cross I'll care, no turning back. Father, we make that our prayer. And God, more than just our lips, but with our lives, we would determine to follow you. God, in every season, through every journey, we're seeing through the lens of Jesus Christ as Lord of our lives, as the impact we're called to have as redeeming the time because the days are short that we have, God. Help us see beyond the temporary, beyond what this world promises to fulfill us and see into the goodness of God, the love of the Father, who is giving us his life as we lay ours down, Father. I pray that for this church, God, we wanna be a city on a hill, God. We wanna be a beacon for you, God. Not so many will come and look what we're doing, but that they would experience and know the love of God and the power of Jesus Christ in this place, God. We love you, we honor you, we thank you that your grace is sufficient for every one of our needs in Jesus' name, amen.


So let's talk about testing. For better or worse, modern society is based around testing. For example, a medical test. We tend to approve of these because early treatment saves lives. There are professional certification tests. We like it when the people we employ are actually competent. Drug test. You probably want to know whether the pilot of your airplane is on opiates, whether it's so important that the recipient of food stamps be drug-free is not quite as clear. And loyalty tests, which don't exist in a free society because if they did, we wouldn't have a free society. Because testing has such profound real-world consequences, we have to ask the important question, how much should we rely on test results? So imagine we have a tester that's capable of examining a subject, and it'll mark them red if they have a condition, and green if they don't. But no test is perfect. And if they examine a large number of subjects with the condition, they'll make a mistake every now and then. And every now and then, someone with the condition is marked green. Similarly, even though they should be marking everyone without the condition green, they will, from time to time, make a mistake, and mark someone without the condition red. What this means is that there are four possibilities for the results of our test. First, a person could have been marked as having the condition. We call this a positive result. Now, if they are marked as having the condition and they actually have it, we say the result is a true positive. On the other hand, they might have been mismarked. They might have been marked as having the condition, but they don't actually have it. And this produces what's called a false positive result. Another set of possibilities is that a person could have been marked as not having the condition, a negative result. If they do not, in fact, have the condition, this is called a true negative. But if an error was made and they're marked as not having the condition even when they do, this is a false negative. So here's the important question. We don't know whether a person actually has the condition. We're relying on the test result to tell us that. If a test indicates that a person has a condition, do they in fact have the condition? To answer this question, we need to know a little bit more about the test. The sensitivity of the test is how often it correctly indicates the presence of a condition. So if we apply our test to 10 people with the condition, and the test marks 9 of them as having the condition, we say that the test is 90% sensitive. A related idea is the specificity of the test. The specificity of the test is how often it correctly indicates the absence of a condition. So if we apply our test to 10 people without the condition, and the test marks 9 of them as free of the condition, the test is 90% specific. So we might think that a test that's 90% sensitive and 90% specific is going to be a reasonably accurate test. But in fact, that's going to depend on how common the condition is in our population. So suppose we're looking at something that affects 1 in 10 people. Now there's a simple mathematical formula that will allow us to calculate the answer. But if I ran that computation, you wouldn't believe it. How do I know that? Because I didn't believe it myself the first time I ran across this problem. I checked my computations three times looking for the mistake that I had made because I didn't believe the answer that I got. And only after I couldn't find the mistake, I eventually ran an example, just like the one I'm about to show you, to convince myself that I hadn't made a mistake. So let's take a look at that. Since the condition is present in 1 out of 10 people, then out of every group of 10 people, we'd expect one person to have the condition. Suppose we test 100 people. Our tester will go over these and mark these people positive or negative, red or green, with the occasional mistake due to the specificity of 90% and the sensitivity of 90%. Now let's look at those people who tested positive, all of those people who got marked red by the tester. Of these people, what fraction actually have the condition? The surprising answer? Only half of those people who tested positive actually have the condition. Now you might suspect that this is a result of some high-tech smoke and mirrors. To see what happened, we can tabulate our data. So to start off with, we have a total of 100 people that we're testing, and since 1 in 10 of them have the condition, then we know that 10 people have the condition and 90 people do not have the condition. Now because our test is 90% sensitive, then 9 out of 10 of the people with the condition will test positive and one person will test negative. And because our test is 90% specific, then 90% of those without the condition will test negative. That's 81 people, but that also means that 9 people who do not have the condition will test positive. These are the false positive results, and altogether that means that 9 plus 9, 18 people will test positive, but only half of them will actually have the condition. And here's the thing to recognize. The test actually gives us the correct result in the 9 positive results for the people who have the condition and the 81 negative results for the people who don't have the condition. So the test gave the correct result in 9 plus 81, 90 cases, so it's a 90% accurate test. But fully half of those who tested positive do not have the condition. And what this means is that if we're going to make life-altering decisions on the basis of such a test, we need to be very careful about what we do with positive test results. Side effects of knowledge include greater understanding of the world around you and an increased demand of evidence from elected officials. Difficulty swallowing lies has been reported by some users, as well as reduced tolerance for flawed arguments, personal attacks, anecdotal evidence, and false equivalences. Other users report becoming addicted to learning. A small percentage of users also exhibit behavior changes such as fact-checking, rejection of internet memes, and political activism. Educational videos slow but do not stop the spread of misinformation, propaganda, and alternative facts. If confronted with a serious case of these things, seek immediate help from non-profit institutions of higher education or trained knowledge professionals such as scientists, researchers, or investigative journalists.