<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>OpenBible.info Blog</title>
	<atom:link href="http://www.openbible.info/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.openbible.info/blog</link>
	<description></description>
	<lastBuildDate>Sun, 29 Apr 2012 22:03:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Rise of the Robosermon</title>
		<link>http://www.openbible.info/blog/2012/04/rise-of-the-robosermon/</link>
		<comments>http://www.openbible.info/blog/2012/04/rise-of-the-robosermon/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 22:03:33 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Churches]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=632</guid>
		<description><![CDATA[In a recent issue of Wired, Steven Levy writes about Narrative Science, a company that uses data to write automated news stories. Right now, they mostly deal in data-intensive fields like sports and finance, but the company is confident that it will easily expand into other areas—the company’s co-founder even predicts that an algorithm will [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent issue of <i>Wired</i>, <a href="http://www.wired.com/gadgetlab/2012/04/can-an-algorithm-write-a-better-news-story-than-a-human-reporter/all/1">Steven Levy writes about Narrative Science</a>, a company that uses data to write automated news stories. Right now, they mostly deal in data-intensive fields like sports and finance, but the company is confident that it will easily expand into other areas—the company’s co-founder even predicts that an algorithm will win a Pulitzer Prize in the next five years.</p>
<p>In February 2012, I attended a <a href="http://www.toccon.com/toc2012/public/schedule/detail/22086">session at the TOC Conference</a> given in part by Kristian Hammond, the CTO and co-founder of Narrative Science. During the session, Hammond mentioned that sports stories have a limited number of angles (e.g., a “blowout win” or a “come-from-behind victory”)—you can probably sit down and think up a fairly comprehensive list in short order. Even in fictional sports stories, writers only use around <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/SportsStoryTropes">sixty common tropes</a> as part of the narrative. Once you have an angle (or your algorithm has decided on one), you just slot in the relevant data, add a little color commentary, and you have your story.</p>
<p>At the time, I was struggling to understand how automated content could apply to Bible study; Levy’s article leads me to think that robosermons, or sermons automatically generated by a computer program, are the way of the future.</p>
<h3>Parts of a Robosermon</h3>
<p><img src="http://a.openbible.info/blog/2012-04-futurama-robot-preacher.jpg" width="180" height="309" alt="Futurama has a robot preacher. I've never seen these episodes, so hopefully this image isn't terribly heretical." class="right" style="padding-left:15px" /> After all, from a data perspective, sermons don’t differ much from sports stories. In particular, they have three components:</p>
<p>First, as with sports stories, sermons follow predictable structures and patterns. David Schmitt of Concordia Theological Seminary suggests a taxonomy of around <a href="http://concordiatheology.org/sermon-structs/">thirty sermon structures</a>. Even if this list isn’t comprehensive, it would probably take, at most, 100 to 200 structures to categorize nearly all sermons.</p>
<p>Second, sermons deal with predictable content: whereas sports have box scores, sermons have Bible texts and topics. A sermon will probably deal with a passage from the Bible in some way—the 31,000 verses in the Bible comprise a large but manageable set of source material (especially since most sermons involve a passage, not a single verse; you can probably cut this list down to around 2,000 sections). Topically, SermonCentral.com lists only <a href="http://www.sermoncentral.com/sermon-topics">500 sermon topics</a> in their database of 120,000 sermons. The power-law popularity distribution (i.e., the <a href="http://en.wikipedia.org/wiki/Pareto_principle">80/20 rule</a>) of verses preached on (on SermonCentral.com are 1,200 sermons on John 1 compared to seven on Numbers 35) and topics (1,400 sermons on “Jesus’ teachings” vs. four on “morning”) means that you can categorize most sermons using a small portion of the available possibilities.</p>
<p>Third, sermons generally involve illustrations or stories, much like the color commentary of sports stories. Finding raw material for illustrations shouldn’t present a problem to a computer program; a quick search on Amazon turns up 1,700 books on sermon illustrations and an additional 10,000 or so on general anecdotes. You can probably extract hundreds of thousands of illustrations from just these sources. Alternately, if a recent news story relates to your topic, the system can add the relevant parts to your sermon with little trouble (especially if a computer wrote the news story to begin with).</p>
<h3>Application</h3>
<p>You end up being able to say, “I want to preach a sermon on Philippians 2 that emphasizes Christ’s humility as a model for us.” Then—and here’s the part that doesn’t exist yet but that technology like Narrative Science’s will provide—an algorithm suggests, say, an amusing but poignant anecdote to start with, followed by three points of exegesis, exhortation, and application, and finishing with a trenchant conclusion. You tweak the content a bit, throwing in a shout-out to a behind-the-scenes parishioner who does a lot of work but rarely receives recognition, and call it done.</p>
<p>Why limit sermons to pastors, though? Why shouldn’t churchgoers be able to ask for custom sermons that fit exactly their circumstances? “I’d like a ten-part audio sermon series on Revelation from a dispensational perspective where each sermon exactly fits the length of my commute.” “Give me six weeks of premarital devotions for my boyfriend and me. I’ve always been a fan of Charles Spurgeon, so make it sound like he wrote them.”</p>
<p>Levy opens his <i>Wired</i> article with an anecdote about how grandparents would find articles about their grandchildren’s Little League games just as interesting as “anything on the sports pages.” He doesn’t mention that what they really want is a recap with their grandchild as the star (or at least as a strong supporting character—it’s like one of those children’s books where you <a href="http://www.littlewondercompany.com/">customize the main character’s name and appearance</a>). Robosermons let you tailor the sermon&#8217;s content so that your specific problems or questions form the central theme.</p>
<p>The logical end of this technology is a sermonbot that develops a following of eager listeners and readers, in the same way that an automated newspaper reporter would create fans on its way to winning a Pulitzer.</p>
<p>You may argue that robosermons diminish the role of the Holy Spirit in preparing sermons, or that they amount to plagiarism. I’m not inclined to disagree with you.</p>
<h3>Conclusion</h3>
<p>Building a robosermon system involves five components: (1) sermon structures; (2) Bible verses; (3) topics; (4) illustrations; and (5) technology like Narrative Science’s to put everything together coherently. It would also be helpful to have (6) a large set of existing sermons to serve as raw data. It’s a complicated problem but hardly an insurmountable one over the next ten years, should someone want to tackle it.</p>
<p>I’m not sure they should; that way lies robopologetics and robovangelism.</p>
<p>If you&#8217;re not an algorithm and you want to know how to prepare and deliver a sermon, I suggest listening to this <a href="http://www.biblicaltraining.org/preaching/bryan-chapell">29-part course on preaching</a> by Bryan Chapell at <a href="http://www.biblicaltraining.org/">Biblical Training</a>. It&#8217;s free and full of homiletic goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/04/rise-of-the-robosermon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bible Verses for the Pinterest Set</title>
		<link>http://www.openbible.info/blog/2012/03/bible-verses-for-the-pinterest-set/</link>
		<comments>http://www.openbible.info/blog/2012/03/bible-verses-for-the-pinterest-set/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 11:52:30 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Typography]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=624</guid>
		<description><![CDATA[Jonathan Ogden runs Typographic Verses, a collection of about seventy-five Pinterest-friendly Bible verses designed as posters. Here are three of my favorites: Also see Jim LePage’s Illustrations of Every Bible Book.]]></description>
			<content:encoded><![CDATA[<p><a href="http://ogvidius.com/">Jonathan Ogden</a> runs <a href="http://typographicverses.com/">Typographic Verses</a>, a collection of about seventy-five Pinterest-friendly Bible verses designed as posters. Here are three of my favorites:</p>
<p><a href="http://typographicverses.com/post/4774358615/romans-8-38"><img src="http://a.openbible.info/blog/2012-03-rom-8-38.jpg" width="250" height="354" alt="Romans 8:38 crosses out all the things that can't separate us from the love of God." /></a> <a href="http://typographicverses.com/post/10761409010/the-eye-is-the-lamp-of-the-body-matthew-6-22"><img src="http://a.openbible.info/blog/2012-03-matt-6-22.jpg" width="250" height="354" alt="Matthew 6:22 is rendered as an eye chart." /></a> <a href="http://typographicverses.com/post/15346948296/great-is-the-lord-and-greatly-to-be-praised"><img src="http://a.openbible.info/blog/2012-03-ps-48-1.jpg" width="250" height="319" alt="Psalm 48:1 uses striking, infographic-style type." /></a></p>
<p>Also see <a href="http://www.openbible.info/blog/2011/11/jim-lepages-illustrations-of-every-bible-book/">Jim LePage’s Illustrations of Every Bible Book</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/03/bible-verses-for-the-pinterest-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Twitterers Are Giving up for Lent (2012 Edition)</title>
		<link>http://www.openbible.info/blog/2012/02/what-twitterers-are-giving-up-for-lent-2012-edition/</link>
		<comments>http://www.openbible.info/blog/2012/02/what-twitterers-are-giving-up-for-lent-2012-edition/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 01:43:35 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Lent]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=589</guid>
		<description><![CDATA[This year, Twitter continues to take top honors. Facebook drops a few places compared to last year&#8211;has it become less-central to people&#8217;s lives? This year&#8217;s hot new site, Pinterest, almost makes the list, showing up at #118. (Incidentally, Pinterest has a number of Lent-related boards.) Chocolate comes in at #2&#8211;however, if you add up all [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://a.openbible.info/blog/2012-02-lent-big.png"><img src="http://a.openbible.info/blog/2012-02-lent.png" width="800" height="444" alt="The top 100 things that people on Twitter are giving up for Lent in 2012." /></a></p>
<p>This year, Twitter continues to take top honors. Facebook drops a few places compared to <a href="http://www.openbible.info/blog/2011/03/what-twitterers-are-giving-up-for-lent-2011-edition/">last year</a>&#8211;has it become less-central to people&#8217;s lives? This year&#8217;s hot new site, <a href="http://pinterest.com/">Pinterest</a>, almost makes the list, showing up at #118. (Incidentally, Pinterest has a number of <a href="http://pinterest.com/search/boards/?q=lent">Lent-related boards</a>.)</p>
<p>Chocolate comes in at #2&#8211;however, if you add up all the mentions of chocolate in its various forms (&#8220;chocs,&#8221; &#8220;chocolate chips,&#8221; etc.), it totals over 14,000 mentions, enough to put it at #1.</p>
<p>This year&#8217;s biggest gainers are &#8220;breathing&#8221; and &#8220;makeup,&#8221; both of which jumped up more than 30 places in the list.</p>
<p>No celebrities make the top 100 this year. Boy band <a href="https://twitter.com/onedirection">One Direction</a> (aka <a href="https://twitter.com/search/%231D">#1D</a>) is at #144, followed by Justin Bieber at #194 and Tim Tebow at #221. Last year&#8217;s curiosity, Charlie Sheen, only got two mentions; he dropped to #10,000 or so.</p>
<p>Overall, food was by far the most popular thing given up.</p>
<p>This list draws from about 300,000 tweets from February 19-25, 2012, and excludes retweets.</p>
<table class="data">
<tr>
<th>Rank</th>
<th>Word</th>
<th>Count</th>
<th>Change from last year’s rank</th>
</tr>
<tr>
<td>1.</td>
<td>Twitter</td>
<td>13,937</td>
<td>0</td>
</tr>
<tr>
<td>2.</td>
<td>Chocolate</td>
<td>13,001</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>3.</td>
<td>Swearing</td>
<td>11,737</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>4.</td>
<td>Alcohol</td>
<td>9,998</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>5.</td>
<td>Soda</td>
<td>9,942</td>
<td style="color:#090;border-right:2px solid #090">+2</td>
</tr>
<tr>
<td>6.</td>
<td>Facebook</td>
<td>9,025</td>
<td style="color:#900;border-right:4px solid #900">-4</td>
</tr>
<tr>
<td>7.</td>
<td>Fast food</td>
<td>6,529</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>8.</td>
<td>Sex</td>
<td>6,146</td>
<td style="color:#900;border-right:2px solid #900">-2</td>
</tr>
<tr>
<td>9.</td>
<td>Sweets</td>
<td>4,973</td>
<td style="color:#090;border-right:2px solid #090">+2</td>
</tr>
<tr>
<td>10.</td>
<td>Meat</td>
<td>4,444</td>
<td style="color:#900;border-right:1px solid #900">-1</td>
</tr>
<tr>
<td>11.</td>
<td>Lent</td>
<td>4,171</td>
<td style="color:#900;border-right:3px solid #900">-3</td>
</tr>
<tr>
<td>12.</td>
<td>School</td>
<td>3,976</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>13.</td>
<td>Junk food</td>
<td>3,388</td>
<td style="color:#090;border-right:6px solid #090">+6</td>
</tr>
<tr>
<td>14.</td>
<td>Chips</td>
<td>3,150</td>
<td style="color:#090;border-right:4px solid #090">+4</td>
</tr>
<tr>
<td>15.</td>
<td>Coffee</td>
<td>2,263</td>
<td>0</td>
</tr>
<tr>
<td>16.</td>
<td>Candy</td>
<td>2,217</td>
<td style="color:#090;border-right:6px solid #090">+6</td>
</tr>
<tr>
<td>17.</td>
<td>Bread</td>
<td>2,124</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>18.</td>
<td>You</td>
<td>2,056</td>
<td style="color:#900;border-right:2px solid #900">-2</td>
</tr>
<tr>
<td>19.</td>
<td>Smoking</td>
<td>2,002</td>
<td style="color:#090;border-right:2px solid #090">+2</td>
</tr>
<tr>
<td>20.</td>
<td>Giving up things</td>
<td>2,001</td>
<td style="color:#900;border-right:8px solid #900">-8</td>
</tr>
<tr>
<td>21.</td>
<td>Homework</td>
<td>1,908</td>
<td style="color:#090;border-right:11px solid #090">+11</td>
</tr>
<tr>
<td>22.</td>
<td>Food</td>
<td>1,800</td>
<td style="color:#090;border-right:5px solid #090">+5</td>
</tr>
<tr>
<td>23.</td>
<td>Social networking</td>
<td>1,754</td>
<td style="color:#900;border-right:6px solid #900">-6</td>
</tr>
<tr>
<td>24.</td>
<td>Religion</td>
<td>1,701</td>
<td style="color:#900;border-right:10px solid #900">-10</td>
</tr>
<tr>
<td>25.</td>
<td>Marijuana</td>
<td>1,594</td>
<td style="color:#090;border-right:4px solid #090">+4</td>
</tr>
<tr>
<td>26.</td>
<td>Beer</td>
<td>1,359</td>
<td style="color:#090;border-right:4px solid #090">+4</td>
</tr>
<tr>
<td>27.</td>
<td>Work</td>
<td>1,331</td>
<td style="color:#900;border-right:3px solid #900">-3</td>
</tr>
<tr>
<td>28.</td>
<td>Stuff</td>
<td>1,302</td>
<td style="color:#900;border-right:3px solid #900">-3</td>
</tr>
<tr>
<td>29.</td>
<td>McDonald&#8217;s</td>
<td>1,249</td>
<td style="color:#090;border-right:21px solid #090">+21</td>
</tr>
<tr>
<td>30.</td>
<td>Virginity</td>
<td>1,152</td>
<td style="color:#090;border-right:7px solid #090">+7</td>
</tr>
<tr>
<td>31.</td>
<td>Cookies</td>
<td>1,137</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>32.</td>
<td>Masturbation</td>
<td>1,134</td>
<td style="color:#090;border-right:4px solid #090">+4</td>
</tr>
<tr>
<td>33.</td>
<td>Ice cream</td>
<td>1,113</td>
<td style="color:#090;border-right:15px solid #090">+15</td>
</tr>
<tr>
<td>34.</td>
<td>Shopping</td>
<td>1,068</td>
<td style="color:#900;border-right:6px solid #900">-6</td>
</tr>
<tr>
<td>35.</td>
<td>Fried food</td>
<td>993</td>
<td style="color:#900;border-right:4px solid #900">-4</td>
</tr>
<tr>
<td>36.</td>
<td>Boys</td>
<td>956</td>
<td style="color:#090;border-right:6px solid #090">+6</td>
</tr>
<tr>
<td>37.</td>
<td>Sobriety</td>
<td>910</td>
<td style="color:#090;border-right:7px solid #090">+7</td>
</tr>
<tr>
<td>38.</td>
<td>Coke</td>
<td>899</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>39.</td>
<td>Catholicism</td>
<td>881</td>
<td style="color:#900;border-right:13px solid #900">-13</td>
</tr>
<tr>
<td>40.</td>
<td>Cheese</td>
<td>858</td>
<td style="color:#900;border-right:7px solid #900">-7</td>
</tr>
<tr>
<td>41.</td>
<td>Nothing</td>
<td>831</td>
<td style="color:#090;border-right:5px solid #090">+5</td>
</tr>
<tr>
<td>42.</td>
<td>Carbs</td>
<td>818</td>
<td style="color:#090;border-right:16px solid #090">+16</td>
</tr>
<tr>
<td>43.</td>
<td>Red meat</td>
<td>758</td>
<td style="color:#900;border-right:8px solid #900">-8</td>
</tr>
<tr>
<td>44.</td>
<td>Procrastination</td>
<td>738</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>45.</td>
<td>Desserts</td>
<td>733</td>
<td style="color:#090;border-right:26px solid #090">+26</td>
</tr>
<tr>
<td>46.</td>
<td>Pizza</td>
<td>714</td>
<td style="color:#090;border-right:15px solid #090">+15</td>
</tr>
<tr>
<td>47.</td>
<td>Pancakes</td>
<td>650</td>
<td style="color:#900;border-right:9px solid #900">-9</td>
</tr>
<tr>
<td>48.</td>
<td>Sugar</td>
<td>645</td>
<td style="color:#900;border-right:5px solid #900">-5</td>
</tr>
<tr>
<td>49.</td>
<td>Rice</td>
<td>633</td>
<td style="color:#900;border-right:10px solid #900">-10</td>
</tr>
<tr>
<td>50.</td>
<td>Breathing</td>
<td>631</td>
<td style="color:#090;border-right:34px solid #090">+34</td>
</tr>
<tr>
<td>51.</td>
<td>Me</td>
<td>628</td>
<td style="color:#090;border-right:12px solid #090">+12</td>
</tr>
<tr>
<td>52.</td>
<td>Texting</td>
<td>627</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>53.</td>
<td>Starbucks</td>
<td>623</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>54.</td>
<td>Fizzy drinks</td>
<td>595</td>
<td style="color:#090;border-right:12px solid #090">+12</td>
</tr>
<tr>
<td>55.</td>
<td>French fries</td>
<td>593</td>
<td style="color:#090;border-right:7px solid #090">+7</td>
</tr>
<tr>
<td>56.</td>
<td>Diet Coke</td>
<td>572</td>
<td style="color:#090;border-right:21px solid #090">+21</td>
</tr>
<tr>
<td>57.</td>
<td>Porn</td>
<td>562</td>
<td style="color:#090;border-right:10px solid #090">+10</td>
</tr>
<tr>
<td>58.</td>
<td>Tumblr</td>
<td>548</td>
<td style="color:#090;border-right:12px solid #090">+12</td>
</tr>
<tr>
<td>59.</td>
<td>Wine</td>
<td>546</td>
<td style="color:#900;border-right:7px solid #900">-7</td>
</tr>
<tr>
<td>60.</td>
<td>Makeup</td>
<td>539</td>
<td style="color:#090;border-right:31px solid #090">+31</td>
</tr>
<tr>
<td>61.</td>
<td>Liquor</td>
<td>534</td>
<td style="color:#900;border-right:5px solid #900">-5</td>
</tr>
<tr>
<td>62.</td>
<td>Booze</td>
<td>530</td>
<td style="color:#900;border-right:22px solid #900">-22</td>
</tr>
<tr>
<td>63.</td>
<td>College</td>
<td>524</td>
<td style="color:#090;border-right:18px solid #090">+18</td>
</tr>
<tr>
<td>64.</td>
<td>My phone</td>
<td>508</td>
<td style="color:#090;border-right:30px solid #090">+30</td>
</tr>
<tr>
<td>65.</td>
<td>Life</td>
<td>486</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>66.</td>
<td>Caffeine</td>
<td>466</td>
<td style="color:#900;border-right:17px solid #900">-17</td>
</tr>
<tr>
<td>67.</td>
<td>Laziness</td>
<td>453</td>
<td style="color:#090;border-right:11px solid #090">+11</td>
</tr>
<tr>
<td>68.</td>
<td>Chipotle</td>
<td>452</td>
<td style="color:#090;border-right:30px solid #090">+30</td>
</tr>
<tr>
<td>69.</td>
<td>Tea</td>
<td>445</td>
<td style="color:#090;border-right:6px solid #090">+6</td>
</tr>
<tr>
<td>70.</td>
<td>Chicken</td>
<td>442</td>
<td style="color:#090;border-right:2px solid #090">+2</td>
</tr>
<tr>
<td>71.</td>
<td>Cake</td>
<td>440</td>
<td style="color:#090;border-right:3px solid #090">+3</td>
</tr>
<tr>
<td>72.</td>
<td>Sarcasm</td>
<td>429</td>
<td style="color:#090;border-right:4px solid #090">+4</td>
</tr>
<tr>
<td>73.</td>
<td>New Year&#8217;s resolutions</td>
<td>422</td>
<td style="color:#090;border-right:15px solid #090">+15</td>
</tr>
<tr>
<td>74.</td>
<td>Takeout</td>
<td>417</td>
<td style="color:#090;border-right:11px solid #090">+11</td>
</tr>
<tr>
<td>75.</td>
<td>Men</td>
<td>412</td>
<td style="color:#900;border-right:10px solid #900">-10</td>
</tr>
<tr>
<td>76.</td>
<td>Pork</td>
<td>394</td>
<td style="color:#900;border-right:3px solid #900">-3</td>
</tr>
<tr>
<td>77.</td>
<td>Christianity</td>
<td>388</td>
<td style="color:#900;border-right:18px solid #900">-18</td>
</tr>
<tr>
<td>78.</td>
<td>Sleep</td>
<td>386</td>
<td style="color:#090;border-right:1px solid #090">+1</td>
</tr>
<tr>
<td>79.</td>
<td>People</td>
<td>384</td>
<td style="color:#090;border-right:8px solid #090">+8</td>
</tr>
<tr>
<td>80.</td>
<td>Caring</td>
<td>377</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>81.</td>
<td>Juice</td>
<td>357</td>
<td style="color:#090;border-right:11px solid #090">+11</td>
</tr>
<tr>
<td>82.</td>
<td>Snacking</td>
<td>345</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>83.</td>
<td>Lying</td>
<td>333</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>84.</td>
<td>TV</td>
<td>332</td>
<td style="color:#900;border-right:31px solid #900">-31</td>
</tr>
<tr>
<td>85.</td>
<td>Complaining</td>
<td>331</td>
<td style="color:#900;border-right:2px solid #900">-2</td>
</tr>
<tr>
<td>86.</td>
<td>Church</td>
<td>328</td>
<td style="color:#900;border-right:35px solid #900">-35</td>
</tr>
<tr>
<td>87.</td>
<td>Him</td>
<td>327</td>
<td style="color:#090;border-right:2px solid #090">+2</td>
</tr>
<tr>
<td>88.</td>
<td>Sweet tea</td>
<td>326</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>89.</td>
<td>Lint</td>
<td>326</td>
<td style="color:#900;border-right:21px solid #900">-21</td>
</tr>
<tr>
<td>90.</td>
<td>Vegetables</td>
<td>324</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>91.</td>
<td>Talking</td>
<td>323</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>92.</td>
<td>Bacon</td>
<td>321</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>93.</td>
<td>Being mean</td>
<td>320</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>94.</td>
<td>Pasta</td>
<td>316</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>95.</td>
<td>Eating out</td>
<td>316</td>
<td style="color:#090;border-right:5px solid #090">+5</td>
</tr>
<tr>
<td>96.</td>
<td>Negativity</td>
<td>314</td>
<td style="color:#900;border-right:39px solid #900">-39</td>
</tr>
<tr>
<td>97.</td>
<td>Eating</td>
<td>298</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>98.</td>
<td>Biting my nails</td>
<td>294</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>99.</td>
<td>Nutella</td>
<td>291</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>100.</td>
<td>Being nice</td>
<td>258</td>
<td>&nbsp;</td>
</tr>
</table>
<h2>Categories</h2>
<table class="data">
<tr>
<th>Rank</th>
<th>Category</th>
<th>Number of Tweets</th>
</tr>
<tr>
<td>1.</td>
<td>food</td>
<td class="number">79,977</td>
</tr>
<tr>
<td>2.</td>
<td>habits</td>
<td class="number">21,836</td>
</tr>
<tr>
<td>3.</td>
<td>technology</td>
<td class="number">19,190</td>
</tr>
<tr>
<td>4.</td>
<td>smoking/drugs/alcohol</td>
<td class="number">19,073</td>
</tr>
<tr>
<td>5.</td>
<td>health/hygiene</td>
<td class="number">11,101</td>
</tr>
<tr>
<td>6.</td>
<td>sex</td>
<td class="number">9,948</td>
</tr>
<tr>
<td>7.</td>
<td>irony</td>
<td class="number">9,352</td>
</tr>
<tr>
<td>8.</td>
<td>school/work</td>
<td class="number">8,567</td>
</tr>
<tr>
<td>9.</td>
<td>relationship</td>
<td class="number">6,919</td>
</tr>
<tr>
<td>10.</td>
<td>religion</td>
<td class="number">4,157</td>
</tr>
<tr>
<td>11.</td>
<td>generic</td>
<td class="number">2,841</td>
</tr>
<tr>
<td>12.</td>
<td>shopping</td>
<td class="number">1,491</td>
</tr>
<tr>
<td>13.</td>
<td>entertainment</td>
<td class="number">1,344</td>
</tr>
<tr>
<td>14.</td>
<td>money</td>
<td class="number">526</td>
</tr>
<tr>
<td>15.</td>
<td>sports</td>
<td class="number">512</td>
</tr>
<tr>
<td>16.</td>
<td>celebrity</td>
<td class="number">461</td>
</tr>
<tr>
<td>17.</td>
<td>possessions</td>
<td class="number">376</td>
</tr>
<tr>
<td>18.</td>
<td>clothes</td>
<td class="number">111</td>
</tr>
<tr>
<td>19.</td>
<td>politics</td>
<td class="number">105</td>
</tr>
</table>
<p>The image is a <a href="http://wordle.net/">Wordle</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/02/what-twitterers-are-giving-up-for-lent-2012-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Track What People Are Giving Up for Lent in Real Time</title>
		<link>http://www.openbible.info/blog/2012/02/track-what-people-are-giving-up-for-lent-in-real-time/</link>
		<comments>http://www.openbible.info/blog/2012/02/track-what-people-are-giving-up-for-lent-in-real-time/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 09:00:34 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Lent]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=584</guid>
		<description><![CDATA[See the top 100 things people are giving up for Lent on Twitter, continually updated for the next few days. Look for the usual post-mortem later this week.]]></description>
			<content:encoded><![CDATA[<p>See the <a href="http://www.openbible.info/labs/lent-tracker/2012">top 100 things people are giving up for Lent on Twitter</a>, continually updated for the next few days.</p>
<p>Look for the <a href="http://www.openbible.info/blog/2011/03/what-twitterers-are-giving-up-for-lent-2011-edition/">usual post-mortem</a> later this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/02/track-what-people-are-giving-up-for-lent-in-real-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re-visualizing Cross References (Interactively)</title>
		<link>http://www.openbible.info/blog/2012/02/re-visualizing-cross-references-interactively/</link>
		<comments>http://www.openbible.info/blog/2012/02/re-visualizing-cross-references-interactively/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 01:35:46 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Cross References]]></category>
		<category><![CDATA[Visualizations]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=569</guid>
		<description><![CDATA[Browse this grid interactively. This visualization is arranged by book, showing cross-reference sources on the y-axis and targets on the x-axis. Within each square, the first verse in the book or section is at the top, and the last verse is at the bottom. Here&#8217;s what a detail of a square looks like: Genesis 1 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.openbible.info/labs/cross-references/visualization"><img src="http://a.openbible.info/labs/cross-references/grid-800.jpg" width="800" height="742" alt="Visit an interactive visualization of Bible cross references." /></a><br />
<a href="http://www.openbible.info/labs/cross-references/visualization">Browse this grid interactively</a>.</p>
<p>This visualization is arranged by book, showing cross-reference sources on the y-axis and targets on the x-axis. Within each square, the first verse in the book or section is at the top, and the last verse is at the bottom. Here&#8217;s what a detail of a square looks like:</p>
<p><a href="http://a.openbible.info/labs/cross-references/books/Gen-Dan.png"><img src="http://a.openbible.info/labs/cross-references/books/Gen-Dan.png" width="800" alt="Cross references between Genesis and Daniel" /></a></p>
<p>Genesis 1 is at the top left; Genesis 50 is at the bottom left. Daniel 1 is at the top right; Daniel 12 is at the bottom right. The most-striking cross references between these two books, to me, involve Joseph&#8217;s interpretation of dreams in Genesis 40-41 and similar stories in Daniel.</p>
<p>Also see a previous <a href="http://www.openbible.info/blog/2010/04/bible-cross-references-visualization/">cross reference visualization</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/02/re-visualizing-cross-references-interactively/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Topical Index and the Living Index</title>
		<link>http://www.openbible.info/blog/2012/01/the-topical-index-and-the-living-index/</link>
		<comments>http://www.openbible.info/blog/2012/01/the-topical-index-and-the-living-index/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 16:10:57 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=544</guid>
		<description><![CDATA[The New York Times writes about the first-ever topical index for the Talmud. It looks like a topical Bible and contains 6,600 topics and 27,000 subtopics. (For comparison, Nave&#8217;s Topical Bible contains about 5,300 topics and 20,000 subtopics.) The Sabbath Two parts of the article stand out. First: For three decades, Talmud students have been [...]]]></description>
			<content:encoded><![CDATA[<p><i>The New York Times</i> writes about the first-ever <a href="http://www.nytimes.com/2011/12/28/nyregion/an-index-for-the-talmud-after-1500-years.html?_r=1&#038;hpw=&#038;pagewanted=all">topical index for the Talmud</a>. It looks like a topical Bible and contains 6,600 topics and 27,000 subtopics. (For comparison, Nave&#8217;s Topical Bible contains about 5,300 topics and 20,000 subtopics.)</p>
<p><a href="http://www.hamafteach.org/"><img src="http://a.openbible.info/blog/2012-01-talmud.png" width="566" height="269" alt="The first page of the Talmud topical index shows entries for Aaron (seven subtopics), Abandon (five subtopics), and Abba (part of two subtopics)." /></a></p>
<h3>The Sabbath</h3>
<p>Two parts of the article stand out. First:</p>
<blockquote><p>For three decades, Talmud students have been able to use a Nexis-like CD search engine, the <a href="http://www.biu.ac.il/jh/Responsa/">Responsa Project</a>, created by Bar Ilan University in Israel&#8230;. Bar Ilan officials acknowledged that the CD had one major disadvantage: <strong>it cannot be accessed on the Sabbath</strong>, when much learning takes place. It also costs $790.</p></blockquote>
<p>Of course it makes sense that you wouldn&#8217;t be able to use a digital study tool on the Sabbath; it had just never occurred to me. The evangelical analog might be having to use a print Bible in church instead of a mobile or projected version.</p>
<h3>The Living Index</h3>
<p>The second highlight from the article is:</p>
<blockquote><p>Rabbi Benjamin Blech, professor of Talmud at Yeshiva University, said the rabbis believed that study should not be made too easy. “We want people to struggle with the text because by figuring it out you will have a deeper comprehension,” he said. “<strong>They wanted a living index, not a printed index.</strong>”</p></blockquote>
<p>Bible software, websites, and apps are all working to create a &#8220;living index&#8221; (or at least a &#8220;responsive index&#8221;) of the Bible that lets you find comprehensive answers to every question that pops into your head while studying the Bible. But will this work devalue the actual experts (pastors and Bible teachers) who currently serve as living indexes?</p>
<p>The book <i><a href="http://theleanstartup.com/">The Lean Startup</a></i> provides a framework for answering this question. It quotes Farbood Nivi, founder of test-preparation website <a href="https://grockit.com/">Grockit</a>:</p>
<blockquote><p>“Whether you’re studying for the SAT or you’re studying for algebra, you study in one of three ways. You spend some time with experts, you spend some time on your own, and you spend some time with your peers. Grockit offers these three same formats of studying. What we do is we apply technology and algorithms to optimize those three forms.”</p></blockquote>
<p>Or, in evangelical terms:</p>
<table class="data">
<tr>
<th>Study Type</th>
<th>Current Source</th>
</tr>
<tr>
<td>Time on your own</td>
<td>Personal Bible study; daily quiet time</td>
</tr>
<tr>
<td>Time with your peers</td>
<td>Small group Bible study; Sunday school (not taught by clergy)</td>
</tr>
<tr>
<td>Time with experts</td>
<td>Sunday morning sermon; radio and television programs; in-person academic Bible classes</td>
</tr>
</table>
<p>Bible software has historically augmented &#8220;time on your own&#8221; by tying together study materials: connecting documents to each other.</p>
<p>Recently, Bible software has expanded into &#8220;time with your peers&#8221; by mixing in the social layer that is enveloping the wider world of technology&#8212;&#8220;away from a web that connects documents together to a web that connects people together,&#8221; as <a href="http://thinkoutsidein.com/">Paul Adams</a> puts it in his book <i><a href="http://www.amazon.com/Grouped-groups-friends-influence-social/dp/0321804112">Grouped</a></i>. Bible software has three options when embedding social technologies: (1) Inject technology into existing offline practices (e.g., automating the irritating or the expensive); (2) Copy technology from secular sources (e.g., <a href="https://foursquare.com/">foursquare</a>-style checkins); or (3) Come up with something new. The most likely outcome will involve a combination of these options.</p>
<p>Eventually, Bible software will delve into &#8220;time with experts,&#8221; as well, whether those experts are your local pastor or nationally recognized figures. <a href="http://www.biblicaltraining.org/">Biblical Training</a> is pioneering this approach in the field of Bible studies and theology, while <a href="http://www.masmithers.com/2011/12/20/early-thoughts-on-mitx/">Stanford and MIT</a> are leading the way in other fields.</p>
<p>Will Bible software someday become an &#8220;expert&#8221; itself, giving you custom answers to your questions and a personal study plan? It&#8217;s certainly possible. <a href="http://www.khanacademy.org/about">Khan Academy</a> is already disrupting math education and <a href="http://david-hu.com/2011/11/02/how-khan-academy-is-using-machine-learning-to-assess-student-mastery.html">assessment</a>. Someone will undoubtedly explore whether a similar approach works for Bible studies.</p>
<p>Of course, the open question is just how much we want Bible software to function as a living index; the rabbis who preferred that students &#8220;struggle&#8221; with text have a point that learning and wisdom come with effort. In a future where Bible software can provide time for you to study on your own, with peers, and with experts, I guess we&#8217;ll find out just how &#8220;easy&#8221; we want Bible study to become.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2012/01/the-topical-index-and-the-living-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Javascript Bible Passage Reference Parser</title>
		<link>http://www.openbible.info/blog/2011/11/a-javascript-bible-passage-reference-parser/</link>
		<comments>http://www.openbible.info/blog/2011/11/a-javascript-bible-passage-reference-parser/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 14:11:56 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=84</guid>
		<description><![CDATA[Browse the Github repository of a new Bible-reference parser written in Coffeescript / Javascript (it understands text like &#8220;John 3:16&#8243;), try a demo, or review the annotated source. You can use the parser as-is or as a starting point for building your own&#8211;the source code includes 200,000 real-world passage references to give you a head [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/openbibleinfo/Bible-Passage-Reference-Parser">Browse the Github repository of a new Bible-reference parser</a> written in Coffeescript / Javascript (it understands text like &#8220;John 3:16&#8243;), <a href="http://www.openbible.info/labs/reference-parser/">try a demo</a>, or <a href="http://www.openbible.info/labs/reference-parser/bcv_parser.html">review the annotated source</a>. You can use the parser as-is or as a starting point for building your own&#8211;the source code includes 200,000 real-world passage references to give you a head start. It&#8217;s designed to handle how people actually type Bible references (typos and all) and tries hard to make sense of any input you give it.</p>
<p>From the <a href="https://github.com/openbibleinfo/Bible-Passage-Reference-Parser">readme</a>:</p>
<blockquote><p>This is the fourth complete Bible reference parser that I&#8217;ve written. It&#8217;s how I try out new programming languages: the first one was in PHP (2002), which saw production usage on a Bible search website from 2002-2011; the second in Perl (2007), which saw production usage on a Bible-related site starting in 2007; and the third in Ruby (2009), which never saw production usage because it was way too slow. This Coffeescript parser (at least on V8) is faster than the Perl one and 100 times faster than the Ruby one.</p>
<p>I chose Coffeescript out of curiosity&#8211;does it make Javascript that much more pleasant to work with? From a programming perspective, the easy loops and array comprehensions alone practically justify its use. From a readability perspective, the code is easier to follow (and come back to months later) than the equivalent Javascript&#8211;the tests, in particular, are much easier to follow without all the Javascript punctuation.</p></blockquote>
<p>My main interest in open-sourcing and thoroughly documenting this code lies in giving future programmers data and code that they can use to build better parsers. While this code reflects my experience, it&#8217;s hardly the last word on the subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2011/11/a-javascript-bible-passage-reference-parser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jim LePage&#8217;s Illustrations of Every Bible Book</title>
		<link>http://www.openbible.info/blog/2011/11/jim-lepages-illustrations-of-every-bible-book/</link>
		<comments>http://www.openbible.info/blog/2011/11/jim-lepages-illustrations-of-every-bible-book/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 03:44:14 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Bible]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=528</guid>
		<description><![CDATA[Jim LePage has just finished a two-year project in which he&#8217;s created an illustration for every book of the Bible. The always-underappreciated Obadiah is my favorite: Jim also runs Gettin&#8217; Biblical, a site that showcases non-schlocky Christian-themed artwork. I particularly enjoyed The Savior collage and the papercut-esque Burning Bush. Good examples of &#8220;Christian art&#8221; (a [...]]]></description>
			<content:encoded><![CDATA[<p>Jim LePage has just finished a two-year project in which he&#8217;s created an <a href="http://jimlepage.com/word-designs/">illustration for every book of the Bible</a>. The always-underappreciated Obadiah is my favorite:</p>
<p><a href="http://jimlepage.com/blog/word-obadiah/"><img src="http://jimlepage.com/wp-content/themes/alchemist/timthumb.php?src=http://jimlepage.com/wp-content/uploads/2010/11/Word-obadiah.jpg&#038;h=475&#038;w=380&#038;zc=1&#038;q=72" alt="A giant hand reaches for a bird, with the caption, &ldquo;Though you soar like the eagle, I will bring you down. Obadiah.&rdquo;" /></a></p>
<p>Jim also runs <a href="http://gettinbiblical.tumblr.com/">Gettin&#8217; Biblical</a>, a site that showcases non-schlocky Christian-themed artwork. I particularly enjoyed <a href="http://gettinbiblical.tumblr.com/post/11905613978/amazing-collage-work-from-bartondamer-the">The Savior</a> collage and the papercut-esque <a href="http://gettinbiblical.tumblr.com/post/11092319741/via-kevin-ohlin">Burning Bush</a>. Good examples of &#8220;Christian art&#8221; (a difficult term to define if you&#8217;ve ever talked to artists who are Christians) are hard to come by, and I appreciate Jim&#8217;s efforts to collect them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2011/11/jim-lepages-illustrations-of-every-bible-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Applying Sentiment Analysis to the Bible</title>
		<link>http://www.openbible.info/blog/2011/10/applying-sentiment-analysis-to-the-bible/</link>
		<comments>http://www.openbible.info/blog/2011/10/applying-sentiment-analysis-to-the-bible/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 16:43:02 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Sentiment]]></category>
		<category><![CDATA[Visualizations]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=517</guid>
		<description><![CDATA[This visualization explores the ups and downs of the Bible narrative, using sentiment analysis to quantify when positive and negative events are happening: Full size download (.png, 4000&#215;4000 pixels). Things start off well with creation, turn negative with Job and the patriarchs, improve again with Moses, dip with the period of the judges, recover with [...]]]></description>
			<content:encoded><![CDATA[<p>This visualization explores the ups and downs of the Bible narrative, using sentiment analysis to quantify when positive and negative events are happening:</p>
<p><a href="http://a.openbible.info/blog/2011-10-sentiment-big.png"><img src="http://a.openbible.info/blog/2011-10-sentiment.png" width="800" height="800" alt ="Sentiment analysis of the Bible." /></a><br />
<a href="http://a.openbible.info/blog/2011-10-sentiment-full.png">Full size download</a> (.png, 4000&#215;4000 pixels).</p>
<p>Things start off well with creation, turn negative with Job and the patriarchs, improve again with Moses, dip with the period of the judges, recover with David, and have a mixed record (especially negative when Samaria is around) during the monarchy. The exilic period isn’t as negative as you might expect, nor the return period as positive. In the New Testament, things start off fine with Jesus, then quickly turn negative as opposition to his message grows. The story of the early church, especially in the epistles, is largely positive.</p>
<h3>Methodology</h3>
<p>Sentiment analysis involves algorithmically determining if a piece of text is positive (“I like cheese”) or negative (“I hate cheese”). Think of it as <a href="http://kottke.org/11/09/kurt-vonnegut-explains-the-shapes-of-stories">Kurt Vonnegut&#8217;s story shapes</a> backed by quantitative data.</p>
<p>I ran the <a href="http://viralheat.com/developer/sentiment_api">Viralheat Sentiment API</a> over several Bible translations to produce a composite sentiment average for each verse. Strictly speaking, the Viralheat API only returns a probability that the given text is positive or negative, not the intensity of the sentiment. For this purpose, however, probability works as a decent proxy for intensity.</p>
<p>The visualization takes a moving average of the data to provide a coherent story; the raw data is more jittery. <a href="http://a.openbible.info/blog/2011-10-sentiment-data.zip">Download the raw data</a> (400 KB .zip).</p>
<h3>Update October 10, 2011</h3>
<p>As requested in the comments, here&#8217;s the data arranged by book with a moving average of five verses on either side. (By comparison, the above visualization uses a moving average of 150 verses on either side.)</p>
<p><a href="http://a.openbible.info/blog/2011-10-sentiment-book-big.png"><img src="http://a.openbible.info/blog/2011-10-sentiment-book.png" width="800" height="1194" alt ="Sentiment analysis of the Bible, arranged by book." /></a><br />
<a href="http://a.openbible.info/blog/2011-10-sentiment-book-full.png">Full size download</a> (.png, 2680&#215;4000 pixels).</p>
<p>Update December 28, 2011: Christianity Today includes this visualization in their December issue (<a href="http://www.christianitytoday.com/ct/2011/december/spotlight-dec11.html">&#8220;How the Bible Feels&#8221;</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2011/10/applying-sentiment-analysis-to-the-bible/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>Bible Annotation Modeling and Querying in MySQL and CouchDB</title>
		<link>http://www.openbible.info/blog/2011/09/bible-annotation-modeling-and-querying-in-mysql-and-couchdb/</link>
		<comments>http://www.openbible.info/blog/2011/09/bible-annotation-modeling-and-querying-in-mysql-and-couchdb/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 12:03:55 +0000</pubDate>
		<dc:creator>openbible</dc:creator>
				<category><![CDATA[Data Modeling]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Visualizations]]></category>

		<guid isPermaLink="false">http://www.openbible.info/blog/?p=464</guid>
		<description><![CDATA[If you’re storing people’s Bible annotations (notes, bookmarks, highlights, etc.) digitally, you want to be able to retrieve them later. Let’s look at some strategies for how to store and look up these annotations. Know What You’re Modeling First you need to understand the shape of the data. I don’t have access to a large [...]]]></description>
			<content:encoded><![CDATA[<p>If you’re storing people’s Bible annotations (notes, bookmarks, highlights, etc.) digitally, you want to be able to retrieve them later. Let’s look at some strategies for how to store and look up these annotations.</p>
<h3>Know What You’re Modeling</h3>
<p>First you need to understand the shape of the data. I don’t have access to a large repository of Bible annotations, but the Twitter and Facebook Bible citations from the <a href="http://www.openbible.info/realtime/">Realtime Bible Search</a> section of this website provide a good approximation of how people cite the Bible. (Quite a few Facebook posts appear to involve people responding to their daily devotions.) These tweets and posts are public, and private annotations may take on a slightly different form, but the general shape of the data should be similar: nearly all (99%) refer to a chapter or less.</p>
<p><a href="http://a.openbible.info/blog/2011-08-social-full.png"><img src="http://a.openbible.info/blog/2011-08-social.png" width="600" height="439" alt="Large dots at the bottom indicate many single-verse references. Chapter references are also fairly prominent. See below for more discussion." /></a></p>
<p><a href="http://www.biblegateway.com/blog/2011/08/how-people-share-the-bible-verses-vs-read-the-bible-chapters/">Compare Bible Gateway reading habits</a>, which are much heavier on chapter-level usage, but 98% of accesses still involve a chapter or less.</p>
<h3>The Numbers</h3>
<p>The data consists of about 35 million total references.</p>
<table class="data">
<tr>
<th class="number">Percent of Total</th>
<th>Description</th>
<th>Example</th>
</tr>
<tr>
<td class="number">73.5</td>
<td>Single verse</td>
<td>John 3:16</td>
</tr>
<tr>
<td class="number">17.1</td>
<td>Verse range in a single chapter</td>
<td>John 3:16-17</td>
</tr>
<tr>
<td class="number">8.4</td>
<td>Exactly one chapter</td>
<td>John 3</td>
</tr>
<tr>
<td class="number">0.7</td>
<td>Two or more chapters (at chapter boundaries)</td>
<td>John 3-4</td>
</tr>
<tr>
<td class="number">0.1</td>
<td>Verses spanning two chapters (not at chapter boundaries)</td>
<td>John 3:16-4:2</td>
</tr>
<tr>
<td class="number">0.1</td>
<td>Verses spanning three or more chapters (not at chapter boundaries)</td>
<td>John 3:16-5:2</td>
</tr>
</table>
<p>About 92.9% of posts or tweets cited only one verse or verse range; 7.1% mentioned more than one verse range. Of the latter, 77% cited exactly two verse ranges; the highest had 323 independent verse ranges. Of Facebook posts, 9.1% contained multiple verse ranges, compared to 4.2% of tweets. When there were multiple ranges, 43% of the time they referred to verses in different books from the other ranges; 39% referred to verses in the same book (but not in the same chapter); and 18% referred to verses in the same chapter. (This distribution is a unusual—normally close verses stick together.)</p>
<p>The data, oddly, doesn’t contain any references that span multiple books. Less than 0.01% of passage accesses span multiple books on Bible Gateway, which is probably a useful upper bound for this type of data.</p>
<h4>Key Points</h4>
<ol>
<li>Nearly all citations involve verses in the same chapter; only 1% involve verses in multiple chapters.</li>
<li>Of the 1% spanning two or more chapters, most refer to exact chapter boundaries.</li>
<li>Multiple-book references are even more unusual (under 0.01%) but have outsize effects: an annotation that references Genesis 1 to Revelation 22 would be relevant for every verse in the Bible.</li>
<li>Around 7% of notes contained multiple independent ranges of verses—the more text you allow for an annotation, the more likely someone is to mention multiple verses.</li>
</ol>
<h4>Download</h4>
<p><a href="http://a.openbible.info/blog/2011-08-social-lengths.zip">Download the raw social data</a> (1.4 MB zip) under the usual CC-Attribution license.</p>
<h3>Data Modeling</h3>
<p>A Bible annotation consists of arbitrary content (a highlight might have one kind of content, while a proper note might have a title, body, attachments, etc., but modeling the content itself isn&#8217;t the point of this piece) tied to one or more Bible references:</p>
<ol>
<li>A single verse (John 3:16).</li>
<li>A single range (John 3:16-17).</li>
<li>Multiple verses or ranges (John 3:16, John 3:18-19)</li>
</ol>
<h3>The Relational Model</h3>
<p>One user can have many rows of annotations, and one annotation can have many rows of verses that it refers to. To model a Bible annotation relationally, we set up three tables that look something like this:</p>
<h4>users</h4>
<table class="data">
<tr>
<th>user_id</th>
<th>name</th>
</tr>
<tr>
<td>1</td>
<td>…</td>
</tr>
</table>
<h4>annotations</h4>
<table class="data">
<tr>
<th>user_id</th>
<th>annotation_id</th>
<th>content</th>
</tr>
<tr>
<td>1</td>
<td>101</td>
<td>…</td>
</tr>
<tr>
<td>1</td>
<td>102</td>
<td>…</td>
</tr>
<tr>
<td>1</td>
<td>103</td>
<td>…</td>
</tr>
</table>
<h4>annotation_verses</h4>
<p> The verse references here are integers to allow for easy range searches: 43 = John (the 43rd book in the typical Protestant Bible); 003 = the third chapter; the last three digits = the verse number.</p>
<p>I like using this approach over others (sequential integer or separate columns for book, chapter, and verse) because it limits the need for a lookup table. (You just need to know that 43 = John, and then you can find any verse or range of verses in that book.) It also lets you find all the annotations for a particular chapter without having to know how many verses are in the chapter. (The longest chapter in the Bible has 176 verses, so you know that all the verses in John 3, for example, fall between 43003001 and 43003176.) This main disadvantage is that you don’t necessarily know how many verses you’re selecting until after you’ve selected them. And using individual columns, unlike here, does allow you to run <code>group by</code> queries to get easy counts.</p>
<table class="data">
<tr>
<th>annotation_id</th>
<th>start_verse</th>
<th>end_verse</th>
</tr>
<tr>
<td>101</td>
<td>43003016</td>
<td>43003016</td>
</tr>
<tr>
<td>102</td>
<td>43003016</td>
<td>43003017</td>
</tr>
<tr>
<td>103</td>
<td>43003016</td>
<td>43003016</td>
</tr>
<tr>
<td>103</td>
<td>43003019</td>
<td>43003020</td>
</tr>
</table>
<h3>Querying</h3>
<p>In a Bible application, the usual mode of accessing annotations is by passage: if you’re looking at John 3:16-18, you want to see all your annotations that apply to that passage.</p>
<h3>Querying MySQL</h3>
<p>In SQL terms:</p>
<p><code>select distinct(annotations.annotation_id)<br />
from annotations, annotation_verses<br />
where annotation_verses.start_verse &lt;= 43003018 and<br />
annotation_verses.end_verse &gt;= 43003016 and<br />
annotations.user_id = 1 and<br />
annotations.annotation_id = annotation_verses.annotation_id<br />
order by annotation_verses.start_verse asc, annotation_verses.end_verse desc</code></p>
<p>The quirkiest part of the SQL is the first part of the “where” clause, which at first glance looks backward: why is the last verse in the <code>start_verse</code> field and the first verse in the <code>end_verse</code> field? Because the <code>start_verse</code> and <code>end_verse</code> can span any range of verses, you need to make sure that you get any range that overlaps the verses you’re looking for: in other words, the <code>start_verse</code> is before the end of the range, and the <code>end_verse</code> is after the start.</p>
<p>Visually, you can think of each <code>start_verse</code> and <code>end_verse</code> pair as a line: if the line overlaps the shaded area you’re looking for, then it’s a relevant annotation. If not, it’s not relevant. There are six cases:</p>
<p><img src="http://a.openbible.info/blog/2011-08-before-after.png" width="516" height="277" alt="Start before, end before: John 3:15 / Start before, end inside: John 3:15-17 / Start before, end after: John 3:15-19 / Start inside, end inside: John 3:16-18 / Start inside, end after: John 3:17-19 / Start after, end after: John 3:19" /></p>
<p>The other trick in the SQL is the sort order: you generally want to see annotations in canonical order, starting with the longest range first. In other words, you start with an annotation about John 3, then to a section inside John 3, then to individual verses. In this way, you move from the broadest annotations to the narrowest annotations. You may want to switch up this order, but it makes a good default.</p>
<p>The relational approach works pretty well. If you worry about the performance implications of the SQL join, you can always put the <code>user_id</code> in <code>annotation_verses</code> or use a view or something.</p>
<h3>Querying CouchDB</h3>
<p><a href="http://couchdb.apache.org/">CouchDB</a> is one of the oldest entrants in the NoSQL space and distinguishes itself by being both a key-value store and queryable using map-reduce:  the usual way to access more than one document in a single query is to write Javascript to output the data you want. It lets you create complex keys to query by, so you might think that you can generate a key like <code>[start_verse,end_verse]</code> and query it like this: <code>?startkey=[0,43003016]&amp;endkey=[43003018,99999999]</code></p>
<p>But no. Views are one-dimensional, meaning that CouchDB doesn’t even look at the second element in the key if the first one matches the query. For example, an annotation with both a start and end verse of <code>19001001</code> matches the above query, which isn’t useful for this purpose.</p>
<p>I can think of two ways to get around this limitation, both of which have drawbacks.</p>
<h4>GeoCouch</h4>
<p>CouchDB has a plugin called GeoCouch that lets you query geographic data, which actually maps well to this data model. (I didn’t come up with this approach on my own: see <a href="http://www.diretto.org/2010/08/efficient-time-based-range-queries-in-couchdb-using-geocouch/">Efficient Time-based Range Queries in CouchDB using GeoCouch</a> for the background.)</p>
<p>The basic idea is to treat each <code>start_verse,end_verse</code> pair as a point on a two-dimensional grid. Here’s the above social data plotted this way:</p>
<p><img src="http://a.openbible.info/blog/2011-08-social-grid.png" width="600" height="551" alt="A diagonal line starts in the bottom left corner and continues to the top right. Large dots indicate popular verses, and book outlines are visible." /></p>
<p>The line bisects the grid diagonally since an <code>end_verse</code> never precedes a <code>start_verse</code>: the diagonal line where <code>start_verse = end_verse</code> indicates the lower bound of any reference. Here are some points indicating where ranges fall on the plot:</p>
<p><img src="http://a.openbible.info/blog/2011-08-social-grid-points.png" width="600" height="554" alt="This chart looks the same as the previous one but has points marked to illustrate that longer ranges are farther away from the bisecting line." /></p>
<p>To find all the annotations relevant to John 3:16-18, we draw a region starting in the upper left and continuing to the point <code>43003018,43003016</code>:</p>
<p><img src="http://a.openbible.info/blog/2011-08-social-grid-bbox.png" width="600" height="551" alt="This chart looks the same as the previous one but has a box from the top left ending just above and past the beginning of John near the upper right of the chart." /></p>
<p>GeoCouch allows exactly this kind of bounding-box query: <code>?bbox=0,43003016,43003018,99999999</code></p>
<p>You can even support multiple users in this scheme: just give everyone their own, independent box. I might occupy 1&#215;1 (with an annotation at <code>1.43003016,1.43003016</code>), while you might occupy 2&#215;2 (with an annotation at <code>2.43003016,2.43003016</code>); queries for our annotations would never overlap. Each whole number to the left of the decimal acts as a namespace.</p>
<p>The drawbacks:</p>
<ol>
<li>The results aren’t sorted in a useful way. You’ll need to do sorting on the client side or in a <a href="http://guide.couchdb.org/editions/1/en/show.html">show function</a>.</li>
<li>You don’t get pagination.</li>
</ol>
<h4>Repetition at Intervals</h4>
<p>Given the shape of the data, which is overwhelmingly chapter-bound (and lookups, which at least on Bible Gateway are chapter-based), you could simply repeat chapter-spanning annotations at the beginning of every chapter. In the worst case annotation (Genesis 1-Revelation 22), you end up with about 1200 repetitions.</p>
<p>For example, in the Genesis-Revelation case, for John 3 you might create a key like <code>[43000000.01001001,66022021]</code> so that it sorts at the beginning of the chapter—and if you have multiple annotations with different start verses, they stay sorted properly.</p>
<p>To get annotations for John 3:16-18, you’d query for <code>?startkey=[43003000]&amp;endkey=[43003018,{}]</code></p>
<p>The drawbacks:</p>
<ol>
<li>You have to filter out all the irrelevant annotations: if you have a lot of annotations about John 3:14, you have to skip through them all before you get to the ones about John 3:16.</li>
<li>You have to filter out duplicates when the range you’re querying for spans multiple chapters.</li>
<li>You’re repeating yourself, though given how rarely a multi-chapter span (let alone a multi-book span) happens in the wild, it might not matter that much.</li>
</ol>
<h4>Other CouchDB Approaches</h4>
<p>Both these approaches assume that you want to make only one query to retrieve the data. If you’re willing to make multiple queries, you could create different list functions and query them in parallel: for example, you could have one for single-chapter annotations and one for multi-chapter annotations. See <a href="http://en.wikipedia.org/wiki/Interval_tree">interval trees</a> and <a href="http://en.wikipedia.org/wiki/Geohash">geohashes</a> for additional ideas. You could also introduce a separate query layer, such as <a href="http://www.elasticsearch.org/">elasticsearch</a>, to sit <a href="http://www.elasticsearch.org/guide/reference/river/couchdb.html">on top of CouchDB</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openbible.info/blog/2011/09/bible-annotation-modeling-and-querying-in-mysql-and-couchdb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

