{"id":427,"date":"2021-01-12T23:39:28","date_gmt":"2021-01-12T23:39:28","guid":{"rendered":"https:\/\/bootstrap-it.com\/blog\/?p=427"},"modified":"2021-01-12T23:39:28","modified_gmt":"2021-01-12T23:39:28","slug":"so-malcolm-gladwell-got-the-data-all-wrong-or-did-he","status":"publish","type":"post","link":"https:\/\/bootstrap-it.com\/blog\/?p=427","title":{"rendered":"So Malcolm Gladwell got the data all wrong&#8230;or did he?"},"content":{"rendered":"<div id=\"s-share-buttons\" class=\"horizontal-w-c-circular s-share-w-c\"><a href=\"http:\/\/www.facebook.com\/sharer.php?u=https:\/\/bootstrap-it.com\/blog\/?p=427\" target=\"_blank\" title=\"Share to Facebook\" class=\"s3-facebook hint--top\"><\/a><a href=\"http:\/\/twitter.com\/intent\/tweet?text=So Malcolm Gladwell got the data all wrong&#8230;or did he?&url=https:\/\/bootstrap-it.com\/blog\/?p=427\" target=\"_blank\"  title=\"Share to Twitter\" class=\"s3-twitter hint--top\"><\/a><a href=\"http:\/\/reddit.com\/submit?url=https:\/\/bootstrap-it.com\/blog\/?p=427&title=So Malcolm Gladwell got the data all wrong&#8230;or did he?\" target=\"_blank\" title=\"Share to Reddit\" class=\"s3-reddit hint--top\"><\/a><a href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&url=https:\/\/bootstrap-it.com\/blog\/?p=427\" target=\"_blank\" title=\"Share to LinkedIn\" class=\"s3-linkedin hint--top\"><\/a><a href=\"mailto:?Subject=So%20Malcolm%20Gladwell%20got%20the%20data%20all%20wrong&#8230;or%20did%20he?&Body=Here%20is%20the%20link%20to%20the%20article:%20https:\/\/bootstrap-it.com\/blog\/?p=427\" title=\"Email this article\" class=\"s3-email hint--top\"><\/a><\/div>\n<p>In this article, I&#8217;ll share some newbie explorations I&#8217;ve made in the areas of data analytics and pro hockey.<\/p>\n\n\n\n<p>I recently embarked on a crazy journey into the world of data analytics. There&#8217;s nothing all that crazy about data analytics, mind you. It&#8217;s my journey that&#8217;s a bit odd.<\/p>\n\n\n\n<p>You see,&nbsp;<a href=\"https:\/\/bootstrap-it.com\/davidclinton\">I&#8217;ve built myself a nice career in cloud and Linux administration<\/a>, but I&#8217;m no developer. And, besides some obvious overlap, data is a whole universe apart from administration &#8211; a universe where programming on some level just can&#8217;t be avoided.<\/p>\n\n\n\n<p>But&nbsp;<a href=\"https:\/\/bootstrap-it.com\/davidclinton\/keeping-up\/\">parts of my work require me to closely follow the big developing trends in technology<\/a>. And data is big. For years I&#8217;ve watched all the (un)cool kids playing around with the numbers that make the modern world work and, frankly, I&#8217;m jealous.<\/p>\n\n\n\n<p>So here I go. I&#8217;m going to fumble my way through some very unfamiliar territory, make some dumb mistakes, and have fun. Want to join me?<\/p>\n\n\n\n<p>This article won&#8217;t start with the absolute&nbsp;<em>basic<\/em>&nbsp;basics. If you&#8217;re still looking to take your first steps in Python,&nbsp;<a href=\"https:\/\/www.python.org\/about\/gettingstarted\/\">check this out<\/a>. And if you want to know how to get started with a programming environment like the Jupyter notebooks I use,&nbsp;<a href=\"https:\/\/jupyter-notebook-beginner-guide.readthedocs.io\/en\/latest\/\">look over here<\/a>. I&#8217;ll assume you&#8217;re already comfortable with all that.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"do-birthdays-matter-in-sports\">Do Birthdays Matter in Sports?<\/h2>\n\n\n\n<p>I&#8217;ll begin with the question I&#8217;m going to try to answer:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Are you more likely to succeed as an elite athlete if your birthday happens to fall early in the calendar year?<\/p><\/blockquote>\n\n\n\n<p>It&#8217;s been claimed that youth sports that divide participants by age and set the yearly cut off at December 31 unwittingly make it harder for second-half-of-the-year players to succeed. That&#8217;s because they&#8217;ll be competing against players who are many months older.<\/p>\n\n\n\n<p>At younger ages, those months can make a very big difference in physical strength, size, and coordination. If you were a minor league coach looking to invest in talent for a better team in a stronger league, who would you choose? And who would benefit over the long term from your extra attention?<\/p>\n\n\n\n<p>This is where the well-known writer, thinker, (and fellow Canadian) Malcolm Gladwell comes in. Gladwell wasn&#8217;t actually the original source of this insight, although he&#8217;s the one most often associated with it.<\/p>\n\n\n\n<p>Rather, those honors fall to the psychologist Roger Barnesly who noticed an oddly distributed birthdate pattern among players at an elite junior hockey game he was attending. Why were so many of those talented athletes born early in the year? Gladwell just mentioned Barnesly&#8217;s insight in his book&nbsp;<em>Outliers<\/em>, which was where I came across it.<\/p>\n\n\n\n<p>But is all that true? Was Barnesly&#8217;s observation just an intriguing guess, or does real-world data bear him out?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"where-does-the-nhl-hide-its-data\">Where Does the NHL Hide Its Data?<\/h2>\n\n\n\n<p>A couple of my kids are still teenagers so, for better or for worse, there&#8217;s no escaping the long shadow of hockey fandom in my house. To feed their bottomless appetites for such things, I discovered the existence of a robust official but undocumented API maintained by the National Hockey League. This URL:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;statsapi.web.nhl.com\/api\/v1\/teams\/15\/roster\n<\/code><\/pre>\n\n\n\n<p>&#8230;for instance, will produce a JSON-formatted dataset containing the official current roster of the Washington Capitals. Changing that&nbsp;<code>15<\/code>&nbsp;in the URL to, say,&nbsp;<code>10<\/code>, would give you the same information about the Toronto Maple Leafs.<\/p>\n\n\n\n<p>There are many, many such endpoints as part of the API. Many of those endpoints can, in addition, be modified using URL expansion syntax.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Fun fact: if you look at the site icon in the browser tab while on an NHL API-generated web page, you&#8217;ll see the&nbsp;<strong>Major League Baseball<\/strong>&nbsp;trademark. How did&nbsp;<em><strong>that<\/strong><\/em>&nbsp;happen?<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-use-python-to-scrape-nhl-statistics\">How to Use Python to Scrape NHL Statistics<\/h2>\n\n\n\n<p>Knowing all that, I could scrape the endpoint for each team&#8217;s roster for each player&#8217;s ID number, and then use those IDs to query each player&#8217;s unique endpoint and read his birthdate. I could then extract the birth month from each NHL player into a Pandas DataFrame where the entire set could be computed and displayed as a histogram.<\/p>\n\n\n\n<p>Here&#8217;s the code I wrote to make all that happen. I&#8217;m not going to discuss it in detail here, although that might happen sometime later.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import pandas as pd\nimport requests\nimport json\nimport matplotlib.pyplot as plt\nimport numpy as np\n\ndf3 = pd.DataFrame(columns=&#91;'months'])\nfor team_id in range(1, 11, 1):\n    url = 'https:\/\/statsapi.web.nhl.com\/api\/v1\/teams\/{}\/roster'.format(team_id)\n    r = requests.get(url)\n    roster_data = r.json()\n    df = pd.json_normalize(roster_data&#91;'roster'])\n    for index, row in df.iterrows():\n        newrow = row&#91;'person.id']\n        url = 'https:\/\/statsapi.web.nhl.com\/api\/v1\/people\/{}'.format(newrow)\n        newerdata = requests.get(url)\n        player_stats = newerdata.json()\n        birthday = (player_stats&#91;'people']&#91;0]&#91;'birthDate'])\n        newmonth = int(birthday.split('-')&#91;1])\n        df3 = df3.append({'months': newmonth}, ignore_index=True)\ndf3.months.hist()\n<\/code><\/pre>\n\n\n\n<p>Before moving on, I should add a few notes:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Be careful how and how often you use this code. There are nested for\/loops, so running the script even once will hit the NHL&#8217;s API with more than a thousand queries. And that&#8217;s assuming everything goes the way it should. If you make a mistake, you could end up really annoying people you don&#8217;t want to annoy.<\/li><li>This code (<code>for team_id in range(1, 11, 1):<\/code>) actually only scrapes data from 11 of the NHL&#8217;s 30 teams. For some reason, certain API roster endpoints failed to respond to my queries and actually crashed the script. So, to get as much data as I could, I ran the script multiple times. This one was the first of those runs. If you want to try this yourself, remove the&nbsp;<code>df3 = pd.DataFrame(columns=['months'])<\/code>&nbsp;line from subsequent iterations so you don&#8217;t inadvertently reset the value of your DataFrame to zero.<\/li><li>Once you&#8217;ve successfully scraped your data, use something like&nbsp;<code>df3.to_csv('player_data.csv')<\/code>&nbsp;to copy your data to a CSV file, allowing you to further analyze the contents even if the original DataFrame is lost. It&#8217;s always good to avoid placing an unnecessary load on the API origin.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-visualize-the-raw-data\">How to Visualize the Raw Data<\/h2>\n\n\n\n<p>Ok. Where was I? Right. I&#8217;ve got my data &#8211; the birth months of nearly 1,100 current NHL players &#8211; and I want to see what it looks like. Well wait no longer, here it is in all its glory:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.freecodecamp.org\/news\/content\/images\/2020\/12\/hist1-1.png\" alt=\"Historgram - the default version\"\/><\/figure>\n\n\n\n<p>What have we got here? Looks to me like January births do, indeed, account for a disproportionately high number of players but, then, so do December births. And, overall, I just don&#8217;t see the pattern that Gladwell&#8217;s idea predicted. Aha! Shot down in flames. Never, ever trust an intellectual!<\/p>\n\n\n\n<p>Err. Not so fast there, youngster. Are we sure we&#8217;re reading this histogram correctly? Remember: I&#8217;m just starting out in this field and learning on the &#8220;job.&#8221;<\/p>\n\n\n\n<p>The default settings may not actually have given us what we thought they would. Note, for instance, how we&#8217;re measuring the frequency of births over 12 months, but there are only ten bars in the chart!<\/p>\n\n\n\n<p>What&#8217;s going on here?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-histograms-really-tell-us\">What Do Histograms Really Tell Us?<\/h2>\n\n\n\n<p>Let&#8217;s look at the actual numbers behind this histogram. You can get those numbers by loading the CSV file you might have earlier exported using&nbsp;<code>df3.to_csv('player_data.csv')<\/code>. Here&#8217;s how you might go about getting that done:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import pandas as pd\ndf = pd.read_csv('player_data.csv')\ndf&#91;'months'].value_counts()\n<\/code><\/pre>\n\n\n\n<p>And here&#8217;s what my output looked like (I added the column headers manually):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Month Frequecy\n5     127\n2     121\n3     111\n1     104\n4      99\n7      98\n10     79\n8      76\n12     75\n6      71\n11     69\n9      63\n<\/code><\/pre>\n\n\n\n<p>Looks like there were 127 births in May, 121 in February, and 111 in March. December had only 75.<\/p>\n\n\n\n<p>Whoops. Sorry Malcolm. I should have had more faith. See how the five months with the highest birth frequencies are the first five months of the year? Now that&#8217;s&nbsp;<em>exactly<\/em>&nbsp;what Gladwell&#8217;s prediction would expect. So then what&#8217;s up with the histogram?<\/p>\n\n\n\n<p>Let&#8217;s run it again, but this time, I&#8217;ll specify 12 bins rather than the default ten.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import pandas as pd\ndf = pd.read_csv('player_data.csv')\ndf.hist(column='months', bins=12);\n<\/code><\/pre>\n\n\n\n<p>A &#8220;bin&#8221; is actually an approximation of a statistically appropriate interval between sets of your data. Bins attempt to guess at the&nbsp;<em>probability density function (PDF)<\/em>&nbsp;that will best represent the values you&#8217;re actually using. But they may not display exactly the way you&#8217;d think &#8211; especially when you go with the defaults. Here&#8217;s what we&#8217;re shown using 12 bins:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.freecodecamp.org\/news\/content\/images\/2020\/12\/hist2-1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>This one probably shows us an accurate representation of our data the way we&#8217;d expect to see it. I say &#8220;probably,&#8221; because there could be some idiosyncrasies with the way histograms divide their bins I&#8217;m not aware of.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"make-sure-to-use-the-right-tools-for-the-job\">Make Sure to Use the Right Tools For the Job<\/h2>\n\n\n\n<p>But it turns out that the humble histogram was actually the wrong visualization tool for our needs.<\/p>\n\n\n\n<p>Histograms are great for showing frequency distributions by grouping data points together into bins. This can help us quickly visualize the state of a very large dataset where granular precision will get in the way. But it can be misleading for use-cases like ours.<\/p>\n\n\n\n<p>Instead, let&#8217;s go with a plain old bar graph that incorporates the&nbsp;<code>groupby<\/code>&nbsp;and&nbsp;<code>count<\/code>&nbsp;arguments.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df.groupby('months').count().plot(kind='bar')<\/code><\/pre>\n\n\n\n<p>Running that will give us something a bit easier to read that&#8217;s also more intuitively reliable:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.freecodecamp.org\/news\/content\/images\/2020\/12\/bar1.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>That&#8217;s better, no? We can see that the five months with the highest birth month frequencies are at the start of the year.<\/p>\n\n\n\n<p>The moral of the story? Data is good. Histograms are good. But it&#8217;s also good to know how to read them and when to use them.<\/p>\n\n\n\n<p><em>There&#8217;s much more administration goodness in the form of books, courses, and articles available at my&nbsp;site:&nbsp;<a href=\"https:\/\/bootstrap-it.com\/davidclinton\">bootstrap-it.com<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, I&#8217;ll share some newbie explorations I&#8217;ve made in the areas of data analytics and pro hockey. I recently embarked on a crazy journey into the world of data analytics. There&#8217;s nothing all that crazy about data analytics,&hellip; <a href=\"https:\/\/bootstrap-it.com\/blog\/?p=427\" class=\"more-link\">Continue Reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":428,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.2.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bootstrap-it.com\/blog\/?p=427\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT\" \/>\n<meta property=\"og:description\" content=\"In this article, I&#8217;ll share some newbie explorations I&#8217;ve made in the areas of data analytics and pro hockey. I recently embarked on a crazy journey into the world of data analytics. There&#8217;s nothing all that crazy about data analytics,&hellip; Continue Reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bootstrap-it.com\/blog\/?p=427\" \/>\n<meta property=\"og:site_name\" content=\"Bootstrap IT\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-12T23:39:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bootstrap-it.com\/blog\/wp-content\/uploads\/analytics-3268935_640.png\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"479\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"dbclin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@davidbclinton\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"dbclin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bootstrap-it.com\/blog\/?p=427\",\"url\":\"https:\/\/bootstrap-it.com\/blog\/?p=427\",\"name\":\"So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT\",\"isPartOf\":{\"@id\":\"https:\/\/bootstrap-it.com\/blog\/#website\"},\"datePublished\":\"2021-01-12T23:39:28+00:00\",\"dateModified\":\"2021-01-12T23:39:28+00:00\",\"author\":{\"@id\":\"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/ae0fb1d5b3b01558b92b6426d77766ec\"},\"breadcrumb\":{\"@id\":\"https:\/\/bootstrap-it.com\/blog\/?p=427#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bootstrap-it.com\/blog\/?p=427\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bootstrap-it.com\/blog\/?p=427#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/bootstrap-it.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"So Malcolm Gladwell got the data all wrong&#8230;or did he?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bootstrap-it.com\/blog\/#website\",\"url\":\"https:\/\/bootstrap-it.com\/blog\/\",\"name\":\"Bootstrap IT\",\"description\":\"Learn technology using technology\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bootstrap-it.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/ae0fb1d5b3b01558b92b6426d77766ec\",\"name\":\"dbclin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a93785d437350478a7f1dfcbec58d26bc28e0124e405179acbe1b4325c09f90a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a93785d437350478a7f1dfcbec58d26bc28e0124e405179acbe1b4325c09f90a?s=96&d=mm&r=g\",\"caption\":\"dbclin\"},\"sameAs\":[\"http:\/\/bootstrap-it.com\/\",\"dbclinton\",\"https:\/\/twitter.com\/davidbclinton\"],\"url\":\"https:\/\/bootstrap-it.com\/blog\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bootstrap-it.com\/blog\/?p=427","og_locale":"en_US","og_type":"article","og_title":"So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT","og_description":"In this article, I&#8217;ll share some newbie explorations I&#8217;ve made in the areas of data analytics and pro hockey. I recently embarked on a crazy journey into the world of data analytics. There&#8217;s nothing all that crazy about data analytics,&hellip; Continue Reading &rarr;","og_url":"https:\/\/bootstrap-it.com\/blog\/?p=427","og_site_name":"Bootstrap IT","article_published_time":"2021-01-12T23:39:28+00:00","og_image":[{"width":640,"height":479,"url":"https:\/\/bootstrap-it.com\/blog\/wp-content\/uploads\/analytics-3268935_640.png","type":"image\/png"}],"author":"dbclin","twitter_card":"summary_large_image","twitter_creator":"@davidbclinton","twitter_misc":{"Written by":"dbclin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bootstrap-it.com\/blog\/?p=427","url":"https:\/\/bootstrap-it.com\/blog\/?p=427","name":"So Malcolm Gladwell got the data all wrong...or did he? - Bootstrap IT","isPartOf":{"@id":"https:\/\/bootstrap-it.com\/blog\/#website"},"datePublished":"2021-01-12T23:39:28+00:00","dateModified":"2021-01-12T23:39:28+00:00","author":{"@id":"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/ae0fb1d5b3b01558b92b6426d77766ec"},"breadcrumb":{"@id":"https:\/\/bootstrap-it.com\/blog\/?p=427#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bootstrap-it.com\/blog\/?p=427"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bootstrap-it.com\/blog\/?p=427#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bootstrap-it.com\/blog"},{"@type":"ListItem","position":2,"name":"So Malcolm Gladwell got the data all wrong&#8230;or did he?"}]},{"@type":"WebSite","@id":"https:\/\/bootstrap-it.com\/blog\/#website","url":"https:\/\/bootstrap-it.com\/blog\/","name":"Bootstrap IT","description":"Learn technology using technology","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bootstrap-it.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/ae0fb1d5b3b01558b92b6426d77766ec","name":"dbclin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/bootstrap-it.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a93785d437350478a7f1dfcbec58d26bc28e0124e405179acbe1b4325c09f90a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a93785d437350478a7f1dfcbec58d26bc28e0124e405179acbe1b4325c09f90a?s=96&d=mm&r=g","caption":"dbclin"},"sameAs":["http:\/\/bootstrap-it.com\/","dbclinton","https:\/\/twitter.com\/davidbclinton"],"url":"https:\/\/bootstrap-it.com\/blog\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=427"}],"version-history":[{"count":1,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/427\/revisions"}],"predecessor-version":[{"id":429,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/427\/revisions\/429"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=\/wp\/v2\/media\/428"}],"wp:attachment":[{"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bootstrap-it.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}