<?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>Alex Catalogue &#8211; Infomotions Mini-Musings</title>
	<atom:link href="./index.html" rel="self" type="application/rss+xml" />
	<link>./../../../index.html</link>
	<description>Artist- and Librarian-At-Large</description>
	<lastBuildDate>
	Sat, 19 Dec 2020 16:15:48 +0000	</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.1.8</generator>
	<item>
		<title>Twitter, Facebook, Delicious, and Alex</title>
		<link>./../../../2010/09/twitter-facebook-delicious-and-alex/index.html</link>
				<comments>./../../../2010/09/twitter-facebook-delicious-and-alex/index.html#comments</comments>
				<pubDate>Sat, 18 Sep 2010 23:20:20 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">./../../../index.html?p=651</guid>
				<description><![CDATA[I spent time last evening and this afternoon integrating Twitter, Facebook, and Delicious into the my Alex Catalogue. The process was (almost) trivial: create Twitter, Facebook, and Delicious accounts select and configure the Twitter button I desired to use acquire the Delicious javascript for bookmarking place the results of Steps #1 and #2 into my [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
I spent time last evening and this afternoon integrating Twitter, Facebook, and Delicious into the my Alex Catalogue. The process was (almost) trivial:
</p>
<ol>
<li>create Twitter, Facebook, and Delicious accounts</li>
<li>select and configure the Twitter button I desired to use</li>
<li>acquire the Delicious javascript for bookmarking</li>
<li>place the results of Steps #1 and #2 into my HTML</li>
<li>rebuild my pages</li>
<li>install and configure the Twitter application for Facebook</li>
</ol>
<p>
Because of this process I am able to &#8220;tweet&#8221; from Alex, its search results, any of the etexts in the collection, as well as any results from the use of the concordances. These tweets then get echoed to Facebook.
</p>
<p>
(I tried to link directly to Facebook using their Like Button, but the process was cumbersome. Iframes. Weird, Facebook-specific Javascript. Pulling too much content from the header of my pages. Considering the Twitter application for Facebook, the whole thing was not worth the trouble.)
</p>
<p>
I find it challenging to write meaningful 140 character comments on the Alex Catalogue, especially since the URLs take up such a large number of the characters. Still, I hope to regularly find interesting things in the collection and share them with the wider audience. To see the fruits of my labors to date, see my Twitter feed &#8212; <a href="http://twitter.com/ericleasemorgan">http://twitter.com/ericleasemorgan</a>.
</p>
<p>
Only time will tell whether or not this &#8220;social networking&#8221; thing proves to be beneficial to my library &#8212; all puns intended.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2010/09/twitter-facebook-delicious-and-alex/feed/index.html</wfw:commentRss>
		<slash:comments>2</slash:comments>
							</item>
		<item>
		<title>Where in the world are windmills, my man Friday, and love?</title>
		<link>./../../../2010/09/where-in-the-world-are-windmills-my-man-friday-and-love/index.html</link>
				<comments>./../../../2010/09/where-in-the-world-are-windmills-my-man-friday-and-love/index.html#comments</comments>
				<pubDate>Sun, 12 Sep 2010 22:32:19 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Librarianship]]></category>
		<category><![CDATA[concordance]]></category>
		<category><![CDATA[digital humanities]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">./../../../index.html?p=646</guid>
				<description><![CDATA[This posting describes how a Perl module named Lingua::Concordance allows the developer to illustrate where in the continum of a text words or phrases appear and how often. Windmills, my man Friday, and love When it comes to Western literature and windmills, we often think of Don Quiote. When it comes to &#8220;my man Friday&#8221; [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
This posting describes how a Perl module named Lingua::Concordance allows the developer to illustrate where in the continum of a text words or phrases appear and how often.
</p>
<h2>Windmills, my man Friday, and love</h2>
<p>
When it comes to Western literature and windmills, we often think of <cite>Don Quiote</cite>. When it comes to &#8220;my man Friday&#8221; we think of <cite>Robinson Crusoe</cite>. And when it comes to love we may very well think of <cite>Romeo and Juliet</cite>. But I ask myself, &#8220;How often do these words and phrases appear in the texts, and where?&#8221; Using digital humanities computing techniques I can literally illustrate the answers to these questions.
</p>
<h2>Lingua::Concordance</h2>
<p>
Lingua::Concordance is a Perl module (<a href="./../../../wp-content/uploads/2010/09/Lingua-Concordance-0.02.tar.gz">available locally</a> and <a href="http://search.cpan.org/dist/Lingua-Concordance/">via CPAN</a>) implementing a simple key word in context (KWIC) index. Given a text and a query as input, a concordance will return a list of all the snippets containing the query along with a few words on either side. Such a tool enables a person to see how their query is used in a literary work.
</p>
<p>
Given the fact that a literary work can be measured in words, and given then fact that the number of times a particular word or phrase can be counted in a text, it is possible to illustrate the locations of the words and phrases using a bar chart. One axis represents a percentage of the text, and the other axis represents the number of times the words or phrases occur in that percentage. Such graphing techniques are increasingly called visualization &#8212; a new spin on the old adage &#8220;A picture is worth a thousand words.&#8221;
</p>
<p>
In a script named <a href="./../../../wp-content/uploads/2010/09/concordance.pl">concordance.pl</a> I answered such questions. Specifically, I used it to figure out where in <cite>Don Quiote</cite> windmills are mentiond. As you can see below they are mentioned only 14 times in the entire novel, and the vast majority of the time they exist in the first 10% of the book.
</p>
<pre>  $ ./concordance.pl ./don.txt 'windmill'
  Snippets from ./don.txt containing windmill:
	* DREAMT-OF ADVENTURE OF THE <span style='color: red'>WINDMILLS</span>, WITH OTHER OCCURRENCES WORTHY TO
	* d over by the sails of the <span style='color: red'>windmill</span>, Sancho tossed in the blanket, the
	* thing is ignoble; the very <span style='color: red'>windmills</span> are the ugliest and shabbiest of 
	* liest and shabbiest of the <span style='color: red'>windmill</span> kind. To anyone who knew the count
	* ers say it was that of the <span style='color: red'>windmills</span>; but what I have ascertained on t
	* DREAMT-OF ADVENTURE OF THE <span style='color: red'>WINDMILLS</span>, WITH OTHER OCCURRENCES WORTHY TO
	* e in sight of thirty forty <span style='color: red'>windmills</span> that there are on plain, and as s
	* e there are not giants but <span style='color: red'>windmills</span>, and what seem to be their arms a
	* t most certainly they were <span style='color: red'>windmills</span> and not giants he was going to at
	*  about, for they were only <span style='color: red'>windmills</span>? and no one could have made any m
	* his will be worse than the <span style='color: red'>windmills</span>," said Sancho. "Look, senor; thos
	* ar by the adventure of the <span style='color: red'>windmills</span> that your worship took to be Bria
	*  was seen when he said the <span style='color: red'>windmills</span> were giants, and the monks' mules
	*  with which the one of the <span style='color: red'>windmills</span>, and the awful one of the fulling
  
  A graph illustrating in what percentage of ./don.txt windmill is located:
	 10 (11) #############################
	 20 ( 0) 
	 30 ( 0) 
	 40 ( 0) 
	 50 ( 0) 
	 60 ( 2) #####
	 70 ( 1) ##
	 80 ( 0) 
	 90 ( 0) 
	100 ( 0)</pre>
<p>
If windmills are mentioned so few times, then why do they play so prominently in people&#8217;s minds when they think of <cite>Don Quiote</cite>? To what degree have people read <cite>Don Quiote</cite> in its entirity? Are windmills as persistent a theme throughout the book as many people may think?
</p>
<p>
What about &#8220;my man Friday&#8221;? Where does he occur in <cite>Robinson Crusoe</cite>? Using the concordance features of the Alex Catalogue of Electronic Texts we can see that <a href="http://infomotions.com/sandbox/concordance/?cmd=search&amp;id=defoe-robinson-103&amp;query=friday">a search for the word Friday</a> returns 185 snippets. Mapping those snippets to percentages of the text results in the following bar chart:
</p>
<p style='text-align: center'>
<img src="./../../../wp-content/uploads/2010/09/friday.png" alt="bar chart"><br />
Friday in <cite>Robinson Crusoe</cite>
</p>
<p>
Obviously the word Friday appears towards the end of the novel, and as anybody who has read the novel knows, it is a long time until Robinson Crusoe actually gets stranded on the island and meets &#8220;my man Friday&#8221;. A concordance helps people understand this fact.
</p>
<p>
What about love in <cite>Romeo and Juliet</cite>? How often does the word occur and where? Again, <a href="http://infomotions.com/sandbox/concordance/?cmd=search&amp;id=shakespeare-romeo-48&amp;query=love">a search for the word love</a> returns quite a number of snippets (175 to be exact), and they are distributed throughout the text as illustrated below:
</p>
<p style='text-align: center'>
<img src="./../../../wp-content/uploads/2010/09/love.png" alt="bar chart"><br />
love in <cite>Romeo and Juliet</cite>
</p>
<p>
&#8220;Maybe love is a constant theme of this particular play,&#8221; I state sarcastically, and &#8220;Is there less love later in the play?&#8221;
</p>
<h2>Digital humanities and librarianship</h2>
<p>
Given the current environment, where full text literature abounds, digital humanities and librarianship are a match made in heaven. Our library &#8220;discovery systems&#8221; are essencially indexes. They enable people to find data and information in our collections. Yet find is not an end in itself. In fact, it is only an activity at the very beginning of the learning process. Once content is found it is then read in an attempt at understanding. Counting words and phrases, placing them in the context of an entire work or corpus, and illustrating the result is one way this understanding can be accomplished more quickly. Remember, &#8220;Save the time of the reader.&#8221;
</p>
<p>
Integrating digital humanities computing techniques, like concordances, into library &#8220;discovery systems&#8221; represent a growth opportunity for the library profession. If we don&#8217;t do this on our own, then somebody else will, and we will end up paying money for the service. Climb the learning curve now, or pay exorbitant fees later. The choice is ours.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2010/09/where-in-the-world-are-windmills-my-man-friday-and-love/feed/index.html</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
		<item>
		<title>Ngrams, concordances, and librarianship</title>
		<link>./../../../2010/08/ngrams-concordances-and-librarianship/index.html</link>
				<pubDate>Mon, 30 Aug 2010 05:08:47 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Librarianship]]></category>
		<category><![CDATA[concordance]]></category>
		<category><![CDATA[digital humanities]]></category>
		<category><![CDATA[ngrams]]></category>

		<guid isPermaLink="false">./../../../index.html?p=642</guid>
				<description><![CDATA[This posting describes how the extraction of ngrams and the implementation of concordances are integrated into the Alex Catalogue of Electronic Texts. Given the increasing availability of full-text content in libraries, the techniques described here could easily be incorporated into traditional library &#8220;discovery systems&#8221; and/or catalogs, if and only if the library profession were to [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
This posting describes how the extraction of ngrams and the implementation of concordances are integrated into the Alex Catalogue of Electronic Texts. Given the increasing availability of full-text content in libraries, the techniques described here could easily be incorporated into traditional library &#8220;discovery systems&#8221; and/or catalogs, if and only if the library profession were to shift its definition of what it means to practice librarianship.
</p>
<h2>Lingua::EN::Bigram</h2>
<p>
During the past couple of weeks, in fits of creativity, one of the things I spent some of my time on was a Perl module named <a href="http://search.cpan.org/dist/Lingua-EN-Bigram/">Lingua::EN::Bigram</a>. At version 0.03, it now supports not only bigrams, trigrams, and quadgrams (two-, three-, and four-word phrases, respectively), but also ngrams &#8212; multi-word phrases of an arbitrary length.
</p>
<p>
Given this enhanced functionality, and through the use of a script called <a href="./../../../wp-content/uploads/2010/08/ngrams.pl">ngrams.pl</a>, I learned that the 10 most frequently used 5-word phrases and the number of times they occur in Henry David Thoreau&#8217;s <cite>Walden</cite> seem to surround spacial references:
</p>
<ul>
<li>a quarter of a mile (6)</li>
<li>i have no doubt that (6)</li>
<li>as if it were a (6)</li>
<li>the other side of the (5)</li>
<li>the surface of the earth (4)</li>
<li>the greater part of the (4)</li>
<li>in the midst of a (4)</li>
<li>in the middle of the (4)</li>
<li>in the course of the (3)</li>
<li>two acres and a half (3)</li>
</ul>
<p>
Whereas the same process applied to Thoreau&#8217;s <cite>A Week on the Concord and Merrimack Rivers</cite> returns lengths and references to flowing water, mostly:
</p>
<ul>
<li>a quarter of a mile (8)</li>
<li>on the bank of the (7)</li>
<li>the surface of the water (6)</li>
<li>the middle of the stream (6)</li>
<li>as if it were the (5)</li>
<li>as if it were a (4)</li>
<li>is for the most part (4)</li>
<li>for the most part we (4)</li>
<li>the mouth of this river (4)</li>
<li>in the middle of the (4)</li>
</ul>
<p>
While not always as clear cut as the examples outlined above, the extraction and counting of ngrams usually supports the process of &#8220;distant reading&#8221; &#8212; a phrase coined by Franco Moretti in <a href="http://www.amazon.com/gp/product/1844671852?ie=UTF8&#038;tag=infomotions-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1844671852">Graphs, Maps, Trees: Abstract Models for Literary History</a><img src="http://www.assoc-amazon.com/e/ir?t=infomotions-20&#038;l=as2&#038;o=1&#038;a=1844671852" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> (2007) to denote the counting, graphing, and mapping of literary texts. With so much emphasis on reading in libraries, I ask myself, &#8220;Ought the extraction of ngrams be applied to library applications?&#8221;
</p>
<h2>Concordances</h2>
<p>
Concordances are literary tools used to evaluate texts. Dating back to as early as the 12th or 13th centuries, they were first used to study religious materials. Concordances take many forms, but they usually list all the words in a text, the number of times each occurs, and most importantly, places where each word within the context of its surrounding text &#8212; a key-word in context (KWIC) index. Done by hand, the creation of concordances is tedious and time consuming, and therefore very expensive. Computers make the work of creating a concordance almost trivial.
</p>
<p>
Each of the full text items in the Alex Catalogue of Electronic Texts (close to 14,000 of them) is accompanied with a concordance. They support the following functions:
</p>
<ul>
<li>list of all the words in the text starting with a given letter and the number of times each occurs</li>
<li>list the most frequently used words in the text and the number of times each occurs</li>
<li>list the most frequently used ngrams in a text and the number of times each occurs</li>
<li>display individual items from the lists above in a KWIC format</li>
<li>enable the student or scholar to search the text for arbitrary words or phrases (regular expressions) and have them displayed in a KWIC format</li>
</ul>
<p>
Such functionality allows people to answer many questions quickly and easily, such as:
</p>
<ul>
<li>Does Mark Twain&#8217;s <cite>Adventures of Huckleberry Finn</cite> contain many words beginning with the letter z, and if so, how many times and in what context?</li>
<li>To what extent does Aristotle&#8217;s <cite>Metaphysics</cite> use the word &#8220;good&#8221;, and maybe just as importantly, how is the word &#8220;evil&#8221; used in the same context?</li>
<li>In Jack London&#8217;s <cite>Call of the Wild</cite> the phrase &#8220;man in the red sweater&#8221; is one of the more frequently used. Who was this man and what role does he play in the story?</li>
<li>Compared to Shakespeare, to what extent does Plato discuss love, and how do the authors&#8217; expositions differ?</li>
</ul>
<p>
The counting of words, the enumeration of ngrams, and the use of concordances are not intended to short-circuit traditional literary studies. Instead, they are intended to supplement and enhance the process. Traditional literary investigations, while deep and nuanced, are not scalable. A person is not able to read, compare &amp; contrast, and then comprehend the essence of all of Shakespeare, all of Plato, and all of Charles Dickens through &#8220;close reading&#8221;. An individual simply does not have enough time. In the words of Gregory Crane, &#8220;<a href="http://www.dlib.org/dlib/march06/crane/03crane.html">What do you do with a million books?</a>&#8221; Distant reading, akin to the proceses outlined above, make it easier to compare &amp; contrast large corpora, discover patterns, and illustrate trends. Moreover, such processes are reproducible, less prone to subjective interpretation, and not limited to any particular domain. The counting, graphing, and mapping of literary texts makes a lot of sense.
</p>
<p>
The <a href="http://infomotions.com/sandbox/concordance/">home page for the concordances</a> is complete with a number of sample texts. Alternatively, you can search the <a href="http://infomotions.com/alex/">Alex Catalogue</a> and find an item on your own.
</p>
<h2>Library &#8220;discovery systems&#8221; and/or catalogs</h2>
<p>
The amount of full text content available to libraries has never been greater than it is today. Millions of books have been collectively digitized through Project Gutenberg, the Open Content Alliance, and the Google Books Project. There are thousands of open access journals with thousands upon thousands of freely available scholarly articles. There are an ever-growing number of institutional repositories both subject-based as well as institutional-based. These too are rich with full text content. None of this even considers the myriad of grey literature sites like blogs and mailing list archives.
</p>
<p>
Library &#8220;discovery systems&#8221; and/or catalogs are designed to organize and provide access to the materials outlined above, but they need to do more. First of all, the majority of the profession&#8217;s acquisitions processes assume collections need to be paid for. With the increasing availability of truly free content on the Web, greater emphasis needs to be placed on harvesting content as opposed to purchasing or licensing it. Libraries are expected to build collections designed to stand the test of time. Brokering access to content through licensing agreements &#8212; one of the current trends in librarianship &#8212; will only last as long as the money lasts. Licensing content makes libraries look like cost centers and negates the definition of &#8220;collections&#8221;.
</p>
<p>
Second, library &#8220;discovery systems&#8221; and/or catalogs assume an environment of sacristy. They assume the amount of accessible, relevant data and information needed by students, teachers, and researchers is relatively small. Thus, a great deal of the profession&#8217;s efforts go into enabling people to find their particular needle in one particular haystack. In reality, current indexing technology makes the process of finding relavent materials trivial, almost intelligent. Implemented correctly, indexers return more content than most people need, and consequently they continue to drink from the proverbial fire hose.
</p>
<p>
Let&#8217;s turn these lemons into lemonade. Let&#8217;s redirect some of the time and money spent on purchasing licenses towards the creation of full text collections by systematic harvesting. Let&#8217;s figure out how to apply &#8220;distant reading&#8221; techniques to the resulting collections thus making them, literally, more useful and more understandable. These redirections represent a subtle change in the current direction of librarianship. At the same time, they retain the core principles of the profession, namely: collection, organization, preservation, and dissemination. The result of such a shift will result in an increased expertise on our part, the ability to better control our own destiny, and contribute to the overall advancement of our profession.
</p>
<p>What can we do to make these things come to fruition?</p>
]]></content:encoded>
										</item>
		<item>
		<title>Cool URIs</title>
		<link>./../../../2010/08/cool-uris/index.html</link>
				<pubDate>Sun, 22 Aug 2010 18:07:42 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[URI]]></category>

		<guid isPermaLink="false">./../../../index.html?p=626</guid>
				<description><![CDATA[I have started implementing &#8220;cool&#8221; URIs against the Alex Catalogue of Electronic Texts. As outlined in Cool URIs for the Semantic Web, &#8220;The best resource identifiers&#8230; are designed with simplicity, stability and manageability in mind&#8230;&#8221; To that end I have taken to creating generic URIs redirecting user-agents to URLs based on content negotiation &#8212; 303 [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
I have started implementing &#8220;cool&#8221; URIs against the <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a>.
</p>
<p>
As outlined in <a href="http://www.w3.org/TR/cooluris/">Cool URIs for the Semantic Web</a>, &#8220;The best resource identifiers&#8230; are designed with simplicity, stability and manageability in mind&#8230;&#8221; To that end I have taken to creating generic URIs redirecting user-agents to URLs based on content negotiation &#8212; 303 URI forwarding. These URIs also provide a means to request specific types of pages. The shapes of these URIs follow, where &#8220;key&#8221; is a foreign key in my underlying (MyLibrary) database:
</p>
<ul>
<li>http://infomotions.com/etexts/id/key &#8211; generic; redirection based on content negotiation</li>
<li>http://infomotions.com/etexts/page/key &#8211; HTML; the text itself</li>
<li>http://infomotions.com/etexts/data/key &#8211; RDF; data about the text</li>
<li>http://infomotions.com/etexts/concordance/key &#8211; concordance; a means for textual analysis</li>
</ul>
<p>
For example, the following URIs return different versions/interfaces of Henry David Thoreau&#8217;s <cite>Walden</cite>:
</p>
<ul>
<li><a href="http://infomotions.com/etexts/id/thoreau-walden-186">http://infomotions.com/etexts/id/thoreau-walden-186</a></li>
<li><a href="http://infomotions.com/etexts/page/thoreau-walden-186">http://infomotions.com/etexts/page/thoreau-walden-186</a></li>
<li><a href="http://infomotions.com/etexts/data/thoreau-walden-186">http://infomotions.com/etexts/data/thoreau-walden-186</a></li>
<li><a href="http://infomotions.com/etexts/concordance/thoreau-walden-186">http://infomotions.com/etexts/concordance/thoreau-walden-186</a></li>
</ul>
<p>
This whole thing makes my life easier. No need to remember complicated URLs. All I have to remember is the shape of my URI and the foreign key. Through the process this also makes the URLs easier to type, shorten, distribute, and display.
</p>
<p>
The downside of this implementation is the need for an always-on intermediary application doing the actual work. The application, implemented as mod_perl module, is called <a href="./../../../wp-content/uploads/2010/08/Dereference.pm">Apache2::Alex::Dereference</a> and available for your perusal. Another downside is the need for better, more robust RDF, but that&#8217;s for later.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Alex Catalogue Widget</title>
		<link>./../../../2010/03/alex-catalogue-widget/index.html</link>
				<pubDate>Tue, 16 Mar 2010 03:43:34 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">./../../../index.html?p=459</guid>
				<description><![CDATA[I created my first Apple Macintosh Widget today &#8212; Alex Catalogue Widget. The tool is pretty rudimentary. Enter something into the field. Press return or click the Search button. See search results against the Alex Catalogue of Electronic Texts displayed in your browser. The development process reminded me of hacking in HyperCard. Draw things on [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
I created my first Apple Macintosh Widget today &#8212; Alex Catalogue Widget.
</p>
<p><img src="./../../../wp-content/uploads/2010/03/alex.png" alt="Alex Catalogue Widget" width="428" height="142"></p>
<p>
The tool is pretty rudimentary. Enter something into the field. Press return or click the Search button. See search results against the <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a> displayed in your browser. The development process reminded me of hacking in HyperCard. Draw things on the screen &#8212; buttons, fields, etc. &#8212; and assocate actions (events) with each of them.
</p>
<p>
<a href="./../../../wp-content/uploads/2010/03/alex.zip">Download it and try it for yourself.</a></p>
]]></content:encoded>
										</item>
		<item>
		<title>Michael Hart in Roanoke (Indiana)</title>
		<link>./../../../2010/03/michael-hart-in-roanoke-indiana/index.html</link>
				<comments>./../../../2010/03/michael-hart-in-roanoke-indiana/index.html#comments</comments>
				<pubDate>Sun, 07 Mar 2010 21:54:18 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Travelogues]]></category>
		<category><![CDATA[Michael Hart]]></category>
		<category><![CDATA[Project Gutenberg]]></category>
		<category><![CDATA[Roanoke (Indiana)]]></category>

		<guid isPermaLink="false">./../../../index.html?p=454</guid>
				<description><![CDATA[On Saturday, February 27, Paul Turner and I made our way to Roanoke (Indiana) to listen to Michael Hart tell stories about electronic texts and Project Gutenberg. This posting describes our experience. Roanoke and the library To celebrate its 100th birthday, the Roanoke Public Library invited Michael Hart of Project Gutenberg fame to share his [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
On Saturday, February 27, <strong>Paul Turner</strong> and I made our way to Roanoke (Indiana) to listen to <strong>Michael Hart</strong> tell stories about electronic texts and <a href="http://www.gutenberg.org/">Project Gutenberg</a>. This posting describes our experience.
</p>
<h3>Roanoke and the library</h3>
<p style='text-align: right'>
<p>
<table align="right">
<tr align="center">
<td><object width="320" height="265"><param name="movie" value="http://www.youtube.com/v/eeoBbSN9Esg&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eeoBbSN9Esg&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"></embed></object><br />
</tr>
</table>
<p>To celebrate its 100th birthday, the <a href="http://roanoke.lib.in.us/">Roanoke Public Library</a> invited Michael Hart of Project Gutenberg fame to share his experience regarding electronic texts in a presentation called &#8220;Books &#038; eBooks: Past, Present &#038; Future Libraries&#8221;. The presentation was scheduled to start around 3 o&#8217;clock, but Paul Turner and I got there more than an hour early. We wanted to have time to visit the Library before it closed at 2 o&#8217;clock. The town of Roanoke (Indiana) &#8212; a bit south west of Fort Wayne &#8212; was tiny by just about anybody&#8217;s standard. It sported a single blinking red light, a grade school, a few churches, one block of shops, and a couple of eating establishments. According to the man in the bar, the town got started because of the locks that had been built around town.
</p>
<p>
The Library was pretty small too, but it bursted with pride. About 1,800 square feet in size, it was overflowing with books and videos. There were a couple of comfy chairs for adults, a small table, a set of four computers to do Internet things, and at least a few clocks the wall. They were very proud of the fact that they had become an Evergreen library as a part <a href="http://www.in.gov/library/evergreen.htm">Evergreen Indiana initiative</a>. &#8220;Now is is possible to see what is owned in other, nearby libraries, and borrow things from them as well,&#8221; said the Library&#8217;s Board Director.
</p>
<h3>Michael Hart</h3>
<p>
The presentation itself was not held in the Library but in a nearby church. About fifty (50) people attended. We sat in the pews and contemplated the symbolism of the stained glass windows and wondered how the various hardware placed around the alter was going to be incorporated into the presentation.
</p>
<p>
Full of smiles and joviality, Michael Hart appeared in a tailless tuxedo, cumber bun, and top hat. &#8220;I am now going to pull a library out of my hat,&#8221; he proclaimed, and proceeded to withdraw a memory chip. &#8220;This chip contains 10&#8217;s of thousands of books, and now I&#8217;m going to pull a million books out of my pocket,&#8221; and he proceed to display a USB drive. Before the year 2020 he sees us capable of carrying around a billion books on some sort of portable device. Such was the essence of his presentation &#8212; computer technology enables the distribution and acquisition of &#8220;books&#8221; in ways never before possible. Through this technology he wants to change the world. &#8220;I consider myself to be like Johnny Appleseed, and I&#8217;m spreading the word,&#8221; at which time I raised my hand and told him Johnny Appleseed (John Chapman) was buried just up the road in Fort Wayne.
</p>
<p>
Mr. Hart displayed and described a lot of antique hardware. A hard drive that must have weighed fifty (50) pounds. Calculators. Portable computers. Etc. He illustrated how storage mediums were getting smaller and smaller while being able to save more and more data. He was interested in the packaging of data and displayed a memory chip a person can buy from Walmart containing &#8220;all of the hit songs from the 50&#8217;s and 60&#8217;s&#8221;. (I wonder how the copyright issues around that one had been addressed.) &#8220;The same thing,&#8221; he said, &#8220;could be done for books but there is something wrong with the economics and the publishing industry.&#8221;
</p>
<table align="center">
<tr align="center">
<td><img src="./../../../wp-content/uploads/2010/03/roanoke.jpg" alt="Roanoke (Indiana)" border="0" height="120"><br /><span style="font-size: small"><a href="./../../../wp-content/uploads/2010/03/roanoke.jpg">Roanoke (Indiana)</a></span></td>
<td><img src="./../../../wp-content/uploads/2010/03/library.jpg" alt="pubic library" border="0" height="120"><br /><span style="font-size: small"><a href="./../../../wp-content/uploads/2010/03/library.jpg">public library</a></span></td>
</tr>
</table>
<p>
He outlined how Project Gutenberg works. First a book is identified as a possible candidate for the collection. Second, the legalities of the making the book available are explored. Next, a suitable edition of the book is located. Fourth, the book&#8217;s content is transcribed or scanned. Finally, 100&#8217;s of people proof-read the result and ultimately make it available. Hart advocated getting the book out sooner rather than later. &#8220;It does not have to be perfect, and we can always the fix errors later.&#8221;
</p>
<p>
He described how the first Project Gutenberg item came into existence. In a very round-about and haphazard way, he enrolled in college. Early on he gravitated towards the computer room because it was air conditioned. Through observation he learned how to use the computer, and to do his part in making the expense of the computer worthwhile, he typed out the United States Declaration of the Independence on July 4th, 1971.
</p>
<p>
&#8220;Typing the books is fun,&#8221; he said. &#8220;It provides a means for reading in ways you had never read them before. It is much more rewarding than scanning.&#8221; As a person who recently learned how to bind books and as a person who enjoys writing in books, I asked Mr. Hart to compare &#038; contrast ebooks, electronic texts, and codexes. &#8220;The things Project Gutenberg creates are electronic texts, not ebooks. They are small, portable, easily copyable, and readable by any device. If you can&#8217;t read a plain text document on your computer, then you have much bigger problems. Moreover, there is an enormous cost-benefit compared to printed books. Electronic texts are cheap.&#8221; Unfortunately, he never really answered the question.  Maybe I should have phrased it differently and asked him, the way Paul did, to compare the experience of reading physical books and electronic texts. &#8220;I don&#8217;t care if it looks like a book. Electronic texts allow me to do more reading.&#8221;
</p>
<p>
&#8220;Two people invented open source. Me and <strong>Richard Stallman</strong>,&#8221; he said. Well, I don&#8217;t think this is exactly true. Rather, Richard Stahlman invented the concept of GNU software, and Michael Hart may have invented the concept of open access publishing. But the subtle differences between open source software and open access publishing are lost on most people. In both cases the content is &#8220;free&#8221;. I guess I&#8217;m too close to the situation. I too see open source software distribution and open access publishing having more things in common than differences.
</p>
<table align="center">
<tr align="center">
<td><img src="./../../../wp-content/uploads/2010/03/church.jpg" alt="church" border="0" height="120"><br /><span style="font-size: small"><a href="./../../../wp-content/uploads/2010/03/church.jpg">church</a></span></td>
<td><img src="./../../../wp-content/uploads/2010/03/stained-glass.jpg" alt="church" border="0" height="120"><br /><span style="font-size: small"><a href="./../../../wp-content/uploads/2010/03/stained-glass.jpg">stained glass</a></span></td>
</tr>
</table>
<p>
&#8220;I knew Project Gutenberg was going to be success when I was talking on the telephone with a representative of the Common Knowledge project and heard a loud crash on the other end of the line. It turns out the representative&#8217;s son and friends had broken an annorandak chair while clamoring to read an electronic text.&#8221; In any case, he was fanatically passionate about giving away electronic texts. He sited the <a href="http://www.worldebookfair.com/">World eBook Fair</a>, and came to the presentation with plenty of CD&#8217;s for distribution.
</p>
<p>
In the end I had my picture taken with Mr. Hart. We then all retired to the basement for punch and cake where we sang Happy Birthday to Michael. Two birthdays celebrated at the same time.
</p>
<h3>Reflection</h3>
<table align="right">
<tr align="center">
<td><img src="./../../../wp-content/uploads/2010/03/michael-and-eric.png" alt="Michael and Eric" border="0" height="120"><br /><span style="font-size: small"><a href="./../../../wp-content/uploads/2010/03/michael-and-eric.png">Michael and Eric</a></span><br />
</tr>
</table>
<p>Many people are drawn to the library profession as a matter of principle. Service to others. Academic freedom. Preservation of the historical record. I must admit that I am very much the same way. I was drawn to librarianship for two reasons. First, as a person with a BA in philosophy, I saw libraries as a places full of ideas, literally. Second, I saw the profession as a growth industry because computers could be used to disseminate the content of books. In many ways my gut feelings were accurate, but at the same time they were misguided because much of librarianship surrounds workflows, processes that are only a couple of steps away from factory work, and the curation of physical items. To me, just like Mr. Hart, the physical item is not as important as what it manifests. It is not about the book. Rather, it is what is inside the book. Us librarians have tied our identities to the physical book in such a way to be limiting. We have pegged ourselves, portrayed a short-sighted vision, and consequently painted ourselves into a corner. It the carpenter a hammer expert? Is the surgeon a scalpel technician? No, they are builders and healers, respectively. Why must librarianship be identified with books?
</p>
<p>
I have benefited from Mr. Hart&#8217;s work. My <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a> contains many Project Gutenberg texts. Unlike the books from the <a href="http://www.archive.org/">Internet Archive</a>, the texts are much more amenable to digital humanities computing techniques because they have been transcribed by humans and not scanned by computers. At the same time, the Project Gutenberg texts are not formatted as well for printing or screen display as PDF versions of the same. This is why the use of electronic texts and ebooks is not an either/or situation but rather a both/and, especially when it comes to analysis. Read a well-printed book. Identify item of interest. Locate item in electronic version of book. Do analysis. Return to printed book. The process could work just as well the other way around. Ask a question of the electronic text. Get one or more answers. Examine them in the context of the printed word. Both/and, not either/or.
</p>
<p>
The company was great, and the presentation was inspiring. I applaud Michael Hart for his vision and seemingly undying enthusiasm. His talk made me feel like I really am on the right track, but change takes time. The free distribution of data and information &#8212; whether the meaning of free be denoted as liberty or gratis &#8212; is the right thing to do for society in general. We all benefit, and therefore the individual benefits as well. The political &#8220;realities&#8221; of the situation are more like choices and not Platonic truths. They represent immediate objectives as opposed to long-term strategic goals. I guess this is what you get when you mix the corporeal and ideal natures of humanity.
</p>
<p>
Who would have known that a trip to Roanoke would turn out to be a reflection of what it means to be human.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2010/03/michael-hart-in-roanoke-indiana/feed/index.html</wfw:commentRss>
		<slash:comments>5</slash:comments>
							</item>
		<item>
		<title>Alex Catalogue collection policy</title>
		<link>./../../../2009/10/alex-catalogue-collection-policy/index.html</link>
				<pubDate>Sun, 04 Oct 2009 13:12:08 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>

		<guid isPermaLink="false">./../../../index.html?p=415</guid>
				<description><![CDATA[This page lists the guidelines for including texts in the Alex Catalogue of Electronic Texts. Originally written in 1994, much of it is still valid today. Purpose The primary purpose of the Catalogue is to provide me with the means for demonstrating a concept I call arscience through American and English literature as well as [&#8230;]]]></description>
								<content:encoded><![CDATA[<div>
<p>This page lists the guidelines for including texts in the <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a>. Originally written in 1994, much of it is still valid today.</p>
<h2>Purpose</h2>
<p>The primary purpose of the Catalogue is to provide me with the means for demonstrating a concept I call arscience through American and English literature as well as Western philosophy. The secondary purpose of the Catalogue is to provide value-added access to some of the world&#8217;s great literature in turn providing the means for enhancing education. Consequently, the items in the collection must satisfy either of these two goals.</p>
<h2>Qualities</h2>
<p>Listed in priority order, texts in the collection must have the following qualities:</p>
<ol>
<li>Only texts in the public domain or freely distributed texts will be collected.</li>
<li>Only texts that can be classified as American literature, English literature, or Western philosophy will be included.</li>
<li>Only texts that are considered &#8220;great&#8221; literature will included. Great literature is broadly defined as literature withstanding the test of time and found in authoritative reference works like the <cite>Oxford Companions</cite> or the <cite>Norton Anthologies</cite>.</li>
<li>Only complete works will be collected unless a particular work was never completed in the first place. In other words, partially digitized texts will not be included in the Catalogue.</li>
<li>Whenever possible, collections of short stories or poetry will be included as they were originally published. If the items from the originally published collections have been broken up into individual stories or poems, then those items will be included individually.</li>
<li>The texts in the collection must be written in or translated into English. Otherwise I will not be able to evaluate the texts&#8217; quality nor will the indexing and content-searching work correctly.</li>
</ol>
<h2>File formats</h2>
<p>Because of technical limitations and the potential long-term integrity of the Catalogue, texts in the collection, listed in order of preference, should have the following formats:</p>
<ol>
<li>Plain text files are preferred over HTML files.</li>
<li>HTML files are preferred over compressed files.</li>
<li>Compressed files are preferred over &#8220;word processor&#8221; files.</li>
<li>Word processed files are the least preferable file format.</li>
<li>Texts in unalterable file formats, such as Adobe Acrobat, will not be included.</li>
</ol>
<p>In all cases, text that have not been divided into parts are preferred over texts that have been divided. If a particular item is deemed especially valuable and the item has been divided into parts, then efforts will be made to concatenate the individual parts and incorporate the result into the collection. The items in the collection are not necessarily intended to be read online.</p>
</div>
]]></content:encoded>
										</item>
		<item>
		<title>Alex, the movie!</title>
		<link>./../../../2009/10/alex-the-movie/index.html</link>
				<pubDate>Sun, 04 Oct 2009 12:58:48 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>

		<guid isPermaLink="false">./../../../index.html?p=409</guid>
				<description><![CDATA[Created circa 1998, this movie describes the purpose and scope of the Alex Catalogue of Electronic Texts. While coming off rather pompous, the gist of what gets said is still valid and correct. Heck, the links even work. &#8220;Thanks Berkeley!&#8221;]]></description>
								<content:encoded><![CDATA[<p>
Created circa 1998, <a href="http://www.youtube.com/watch?v=WYIa_vLh4qs">this movie</a> describes the purpose and scope of the <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a>. While coming off rather pompous, the gist of what gets said is still valid and correct. Heck, the links even work. &#8220;Thanks Berkeley!&#8221;
</p>
<p style='text-align: center'><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/WYIa_vLh4qs&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WYIa_vLh4qs&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
										</item>
		<item>
		<title>How to make a book (#1 of 3)</title>
		<link>./../../../2009/08/how-to-make-a-book-1-of-3/index.html</link>
				<comments>./../../../2009/08/how-to-make-a-book-1-of-3/index.html#comments</comments>
				<pubDate>Sun, 23 Aug 2009 21:13:55 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[book-binding]]></category>

		<guid isPermaLink="false">./../../../index.html?p=360</guid>
				<description><![CDATA[This is a series of posts where I will describe and illustrate how to make books. In this first post I will show you how to make a book with a thermo-binding machine. In the second post I will demonstrate how to make a book by simply tearing and folding paper. In the third installment, [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
This is a series of posts where I will describe and illustrate how to make books. In this first post I will show you how to make a book with a thermo-binding machine. In the second post I will demonstrate <a href="./../../../2010/01/how-to-make-a-book-2-of-3/index.html">how to make a book by simply tearing and folding paper</a>. In the third installment, I will make a traditional book with a traditional cover and binding. The book &#8212; or more formally, the codex &#8212; is a pretty useful format for containing information.
</p>
<h3>Fellowes TB 250 thermo-binding machine</h3>
<p>
The number of full text books found on the Web is increasing at a dramatic pace. A very large number of these books are in the public domain and freely available for downloading. While computers make it easy to pick through smaller parts of books, it is diffcult to read and understand them without printing. Once they are printed you are then empowered to write in the margins, annotate them as you see fit, and share them with your friends. On the other hand, reams of unbound paper is difficult to handle. What to do?
</p>
<table align='right' padding='10'>
<tr>
<td>
<iframe src="http://rcm.amazon.com/e/cm?t=infomotions-20&#038;o=1&#038;p=6&#038;l=st1&#038;mode=office-products&#038;search=B00061R1O6&#038;fc1=000000&#038;lt1=&#038;lc1=3366FF&#038;bg1=FFFFFF&#038;f=ifr" marginwidth="0" marginheight="0" width="120" height="150" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
</td>
</tr>
</table>
<p>
Enter a binding machine, specifically a thermo-binding machine like the <a href="http://www.amazon.com/dp/B00061R1O6?tag=infomotions-20&#038;camp=15309&#038;creative=331441&#038;linkCode=st1&#038;creativeASIN=B00061R1O6&#038;adid=1FP8RKK420BNGVC6XEM9">Fellowes TB 250</a>. This handy-dandy gizmo allows you to print bunches o&#8217; stuff, encase it in inexpensive covers, and bind it into books. Below is an outline of the binding process and a <a href="http://www.youtube.com/watch?v=ivYcsh6SG-I">video demonstration</a> is also available online:
</p>
<ol>
<li><strong>Buy the hardware</strong> &#8211; The machine costs less than $100 and available from any number of places on the Web. Be sure to purchase covers in a variety of sizes.</li>
<li><strong>Print and gather your papers</strong> &#8211; Be sure to &#8220;jog&#8221; your paper nice and neatly.</li>
<li><strong>Turn the machine on</strong> &#8211; This makes the heating element hot.</li>
<li><strong>Place the paper into the cover</strong> &#8211; The inside of each cover&#8217;s spine is a ribbon of glue. Make sure the paper is touching the glue.</li>
<li><strong>Place the book into the binder</strong> &#8211; This melts the glue.</li>
<li><strong>Remove the book, and press the glue</strong> &#8211; The larger the book the more important it is to push the adhesive into the pages.</li>
<li><strong>Go to Step #5, at least once</strong> &#8211; This makes the pages more secure in the cover.</li>
<li><strong>Remove, and let cool</strong> &#8211; The glue is hot. Let it set.</li>
<li><strong>Enjoy your book</strong> &#8211; This is the fun part. Read and scribble in your book to your heart&#8217;s content.</li>
</ol>
<p style='text-align: center'><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/ivYcsh6SG-I&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ivYcsh6SG-I&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<h3>Binding and the Alex Catalogue</h3>
<p>
The <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a> is a collection of fulltext books brought together for the purposes of furthering a person&#8217;s liberal arts eduction. While it supports tools for finding, analyzing, and comparing texts, the items are intended to be read in book form as well. Consider printing and binding the PDF or fully transcribed versions of the texts. Your learning will be much more thorough, and you will be able to do more &#8220;active&#8221; reading.
</p>
<h3>Binding and libraries</h3>
<p>
Binding machines are cheap, and they facilitate a person&#8217;s learning by enabling users to organize their content. Maybe providing a binding service for library patrons is apropos? Make it easy for people to print things they find in a library. Make it easy for them to use some sort of binding machine. Enable them to take more control over the stuff of their learning, teaching, and research. It certainly sounds like good idea to me. After all, in this day and age, libraries aren&#8217;t so much about providing access to information as they are about making information more useful. Binding &#8212; books on demand &#8212; is just one example.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2009/08/how-to-make-a-book-1-of-3/feed/index.html</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
		<item>
		<title>Browsing the Alex Catalogue</title>
		<link>./../../../2009/08/browsing-the-alex-catalogue/index.html</link>
				<pubDate>Sat, 22 Aug 2009 01:51:44 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[browsability]]></category>

		<guid isPermaLink="false">./../../../index.html?p=352</guid>
				<description><![CDATA[The Alex Catalogue is browsable by author names, subject tags, and titles. Just select a browsable list, then a letter, and finally an item. Browsability is an important feature of any library catalog. It gives you an opportunity to see what the collection contains without entering a query. It is also possible to use browsability [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
The <a href="http://infomotions.com/alex/">Alex Catalogue</a> is browsable by author names, subject tags, and titles. Just select a browsable list, then a letter, and finally an item.
</p>
<p>
Browsability is an important feature of any library catalog. It gives you an opportunity to see what the collection contains without entering a query. It is also possible to use browsability to identify similar names, terms, or titles. &#8220;Oh look, I hadn&#8217;t thought of that idea, and look at the alternative spellings I can use.&#8221;
</p>
<p>
Creating the browsable list is rather trivial. Since all of the underlying content is saved in a relational database, it is rather easy to loop through the fields of &#8220;controlled&#8221; vocabulary terms and &#8220;authority&#8221; lists to identify matching etext titles. These lists include:
</p>
<ul>
<li><a href="http://infomotions.com/alex/?cmd=names">names of authors (creators) and editors (contributors)</a></li>
<li><a href="http://infomotions.com/alex/?cmd=titles">titles of works</a></li>
<li><a href="http://infomotions.com/alex/?cmd=tags">computer-generated subject tags</a></li>
</ul>
<p>
The later is probably the most interesting since it gives you an idea of the most common words and two-word phrases used in the corpus. For example, look at the <a href="http://infomotions.com/alex/?cmd=tags&#038;ltr=K">list of words starting with the letter &#8220;k&#8221;</a> and all the ways the word &#8220;kant&#8221; has been extracted from collection</p>
]]></content:encoded>
										</item>
		<item>
		<title>Indexing and searching the Alex Catalogue</title>
		<link>./../../../2009/08/indexing-and-searching-the-alex-catalogue/index.html</link>
				<pubDate>Tue, 18 Aug 2009 01:23:59 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[indexing]]></category>
		<category><![CDATA[searching]]></category>

		<guid isPermaLink="false">./../../../index.html?p=346</guid>
				<description><![CDATA[The Alex Catalogue of Electronic Texts uses state-of-the-art software to index both the metadata and full text of its content. While the interface accepts complex Boolean queries, it is easier to enter a single word, a number of words, or a phrase. The underlying software will interpret what you enter and do much of hard [&#8230;]]]></description>
								<content:encoded><![CDATA[
<p>The <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a> uses state-of-the-art software to index both the metadata and full text of its content. While the interface accepts complex Boolean queries, it is easier to enter a single word, a number of words, or a phrase. The underlying software will interpret what you enter and do much of hard query syntax work for you.</p>
<h3>Indexing</h3>
<p>The Catalogue consists of a number of different types of content harvested from different repositories. Most of the content is in the form of electronic texts (&#8220;etexts&#8221; as opposed to &#8220;ebooks&#8221;). Think Project Gutenberg, but also items from a defunct gopher archive from Virginia Tech, and more recently digitized materials from the Internet Archive. All of these items benefit from metadata and full text indexing. In other words, things like title words, author names, and computer-generated subject tags are made searchable as well as the full texts of the items.</p>
<p>The collection is supplemented with additional materials such as open access journal titles, open access journal article titles, some content from the HaitiTrust, as well as photographs taken by myself. Presently the full text of these secondary items is not included, just metadata: titles, authors, notes, and subjects. Search results return pointers to the full texts.</p>
<p>Regardless of content type, all metadata and full text is managed in an underlying <a href="http://search.cpan.org/dist/MyLibrary/">MyLibrary</a> database. To make the content searchable reports are written against the database and fed to <a href="http://lucene.apache.org/solr/">Solr/Lucene</a> for indexing. The Solr/Lucene data structure is rather simple consisting only of a number of Dublin Core-like fields, a default search field, and three facets (creator, subject/tag, and sub-collection). From a 30,000 foot view, this is the process used to index the content of the Catalogue:</p>
<ol>
<li>extract metadata and full text records from the database</li>
<li>map each record&#8217;s fields to the Solr/Lucene data structure</li>
<li>insert each record into Solr/Lucene; index the record</li>
<li>go to Step #1 until all records have been indexed</li>
<li>optimize the index for faster retrieval</li>
</ol>
<p>Solr/Lucene works pretty well, and interfacing with it was made much simpler through the use of a set of Perl modules called <a href="./../../../2009/01/fun-with-webservicesolr-part-i-of-iii/index.html">WebService::Solr</a>. On the other hand, there are many ways the index could be improved such as implementing facilitates for sorting and adding weights to various fields. An indexer&#8217;s work is never done.</p>
<h3>Searching</h3>
<p>Because of people&#8217;s expectations, searching the index is a bit more complicated and not as straight-forward, but only because the interface is trying to do you some favors.</p>
<p>Solr/Lucene supports single-word, multiple-word, and phrase searches through the use of single or double quote marks. If multi-word queries are entered without Boolean operators, then a Boolean and is assumed.</p>
<p>Since people often enter multiple-word queries, and it is difficult to know whether or not they are really wanting to do a phrase search, the Alex Catalogue converts ambiguous multiple-word queries into more robust Boolean queries. For example a search for &#8220;william shakespeare&#8221; (sans the quote marks) will get converted into &#8220;(william AND shakespeare) OR &#8216;william shakespeare'&#8221; (again, sans the double quote marks) on behalf of the user. This is considered a feature of the Catalogue.</p>
<p>To some degree Solr/Lucene tokenizes query terms, and consequently searches for &#8220;book&#8221; and &#8220;books&#8221; return the same number of hits.</p>
<p>Search results are returned in a relevance ranked order. Some time in the future there will be the option of sorting results by date, author, title, and/or a couple of other criteria. Unlike other catalogs, Alex only has a single display &#8212; search results. There is no intermediary detailed display; the Catalogue only displays search results or the full text of the item.</p>
<p>In the hopes of making it easier for the user to refine their search, the results page allows the user to automatically turn queries into subject, author, or title searches. It takes advantage of a thesaurus (<a href="http://wordnet.princeton.edu/">WordNet</a>) to suggest alternative queries. The system returns &#8220;facets&#8221; (author names, subject tags, or material types) allowing the user to limit their query with additional terms and narrow search results. The process is not perfect and there are always ways of improving the interface. Usability is never done either.</p>
<h2>Summary</h2>
<p>Do not try to out think the Alex Catalogue. Enter a word or two. Refine your query using the links on the resulting page. Read &amp; enjoy the discovered texts. Repeat.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Automatic metadata generation</title>
		<link>./../../../2009/07/automatic-metadata-generation/index.html</link>
				<comments>./../../../2009/07/automatic-metadata-generation/index.html#comments</comments>
				<pubDate>Fri, 31 Jul 2009 02:22:02 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[bigrams]]></category>
		<category><![CDATA[metadata]]></category>
		<category><![CDATA[term frequency/inverse document frequency (TFIDF)]]></category>

		<guid isPermaLink="false">./../../../index.html?p=335</guid>
				<description><![CDATA[I have been having a great deal of success extracting keywords and two-word phrases from documents and assigning them as &#8220;subject headings&#8221; to electronic texts &#8212; automatic metadata generation. In many cases but not all, the set of assigned keywords I&#8217;ve created are just as good if not better as the controlled vocabulary terms assigned [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
I have been having a great deal of success extracting keywords and two-word phrases from documents and assigning them as &#8220;subject headings&#8221; to electronic texts &#8212; automatic metadata generation. In many cases but not all, the set of assigned keywords I&#8217;ve created are just as good if not better as the controlled vocabulary terms assigned by librarians.
</p>
<h2>The problem</h2>
<p>
The Alex Catalogue is a collection of roughly 14,000 electronic texts. The vast majority come from Project Gutenberg. Some come from the Internet Archive. The smallest number come from a defunct etext collection of Virginia Tech. All of the documents are intended to surround the themes of American and English literature and Western philosophy.
</p>
<p>
With the exception of the non-fiction works from the Internet Archive, none of the electronic texts were associated with subject-related metadata. With the exception of author names (which are yet to be &#8220;well-controlled&#8221;), it has been difficult learn the &#8220;aboutness&#8221; of each of the documents. Such a thing is desirable for two reasons: 1) to enable the reader to evaluate the relevance of document, and 2) to provide a browsable interface to the collection. Without some sort of tags, subject headings, or application of clustering techniques, browsability is all but impossible. My goal was to solve this problem in an automated manner.
</p>
<h2>The solution</h2>
<p>
A couple of years ago I used tools such as <a href="http://search.cpan.org/dist/Lingua-EN-Summarize/">Lingua::EN::Summarize</a> and <a href="http://libots.sourceforge.net/">Open Text Summarizer</a> to extract keywords and summaries from the etexts and assign them as subject terms. The process worked, but not extraordinarily well. I then learned about Term Frequency Inverse Document Frequency (<a href="./../../../2009/04/tfidf-in-libraries-part-i-for-librarians/index.html">TFIDF</a>) to calculate &#8220;relevance&#8221;, and T-Score to calculate the probability of two words appearing side-by-side &#8212; <a href="./../../../2009/06/linguaenbigram-version-001/index.html">bi-grams or two-word phrases</a>. Applying these techniques to the etexts of the Alex Catalogue I have been able to create and add meaningful subject &#8220;tags&#8221; to each of my documents which then paves the way to browsability. Here is the algorithm I used to implement the solution:
</p>
<ol>
<li><strong>Collect documents</strong> &#8211; This was done through various harvesting techniques. Etexts are saved to the local file system and what metadata does exist gets saved to a database.</li>
<li><strong>Index the collection</strong> &#8211; Each of the documents is full-text indexed. Not only does this facilitate Steps #3 and #4, below, it makes the collection searchable.</li>
<li><strong>Calculate a relevancy score (TFIDF) for each word</strong> &#8211; With the exception of parsing each etext into a set of &#8220;words&#8221;, counting the number of words in a document and the frequency of each word is easy. Determining the total number of documents in the collection is trivial. By searching the index for each word and getting back the number of documents in which it appears is the work of the indexer. With these four values (number of words in a document, frequency of a word in a document, the number of total documents, and the number of documents where the word appears) TFIDF can be calculated for each word.</li>
<li><strong>Calculate a relevancy score for each bi-gram</strong> &#8211; Instead of extracting words from an etext, bi-grams (two-word phrases) were extracted and TFIDF is calculated for each of them, just like Step #3.</li>
<li><strong>Save</strong> &#8211; If the score for each word or bi-gram is greater than an arbitrarily denoted lower bounds, and if the word or bi-gram is not a stop word, then assign the word or bi-gram to the etext. This step was the most time-consuming. It required many dry runs of the algorithm to determine an optimal lower-bounds as well as set of stop words. The lower the bounds the greater number of words and phrases are returned, but as the number of words and phrases increases their apparent usefulness decreases. The words become too common among the controlled vocabulary. At the other end of the scale, a stop word list needed to be created to remove meaningless words and phrases. The stop word problem was complicated in Project Gutenberg texts because of the &#8220;fine print&#8221; and legalese in most of the documents, and by the OCRed (optical character recognized) text from the Internet Archive. Words like &#8220;thofe&#8221; where the &#8220;f&#8221; was really an &#8220;s&#8221; needed to be removed.  </li>
<li><strong>Go to Step #3 for each document in the collection.</strong></li>
<li><strong>Done.</strong></li>
</ol>
<h2>The results</h2>
<p>
Through this process I discovered a number of things.
</p>
<p>
First, in regards to fictional works, the <em>words or phrases returned are often pronouns</em>, and these were usually the names of characters from the work. An excellent example is Mark Twain&#8217;s <cite>Adventures of Huckleberry Finn</cite> whose currently assigned terms include: huck, tom, joe, injun joe, aunt polly, tom sawyer, muff potter, and injun joe&#8217;s.
</p>
<p>
Second, in regards to works of non-fiction, the<em> words and phrases returned are also nouns</em>, and these are objects referred to often in the etext. A good example includes John Stuart Mill&#8217;s <cite>Auguste Comte and Positivism</cite> where the assigned words are: comte, phaenomena, metaphysical, science, mankind, social, scientific, philosophy, and sciences.
</p>
<p>
Third, automatically generated <em>keywords and phrases were many times just as useful as the librarian-assigned Library of Congress Subject headings</em>. Many of the items harvested from the Internet Archive were complete with MARC records. Some of those records included subject headings. During Step #5 (above), I spent time observing the output and comparing it to previously assigned terms. Take for example a work called <cite>Universalism in America: A History</cite> by Richard Eddy. Its assigned headings included:
</p>
<ul>
<li>Universalism United States History</li>
<li>Unitarian Universalist churches United States</li>
</ul>
<p>
My automatically generated terms/phrases are:
</p>
<ul>
<li>universalist</li>
<li>ballou</li>
<li>hosea ballou</li>
<li>boston</li>
<li>universalist church</li>
<li>sermon</li>
<li>convention</li>
<li>first universalist</li>
<li>universalist quarterly</li>
<li>doctrine</li>
<li>universalist society</li>
<li>restorationist controversy</li>
<li>thomas whittemore</li>
<li>delivered</li>
<li>abner kneeland</li>
<li>sermon delivered</li>
<li>church</li>
<li>universalist meeting</li>
<li>universalist magazine</li>
<li>universal salvation</li>
<li>america</li>
<li>hosea ballon</li>
<li>vers alism</li>
<li>edward turner</li>
<li>general convention</li>
<li>universalism</li>
</ul>
<p>
Granted, the generated list is not perfect. For example, Hosea Ballou is mentioned twice, and the second was probably caused by an OCR error. On the other hand, how was a person to know that Hosea Ballou was even a part of the etext if it weren&#8217;t for this process? The same goes for the other people: Thomas Whittemore, Abner Kneeland, and Edward Turner. In defense of controlled vocabulary, the terms &#8220;church&#8221;, &#8220;sermon&#8221;, &#8220;doctrine&#8221;, and &#8220;american&#8221; could all be assumed from the (rather) hierarchal nature of LCSH, but unless a person understands the nature of LCSH such a thing is not obvious.
</p>
<p>
As a librarian I understand the power of a controlled vocabulary, but since I am not limited to three to five subject headings per entry, and because controlled vocabularies are often very specific, I have retained the LCSH in each record whenever possible. The more the merrier.
</p>
<h2>Next steps</h2>
<p>
Now that the collection has richer metadata, the next steps will be to exploit it. Some of those nexts steps include:
</p>
<ol>
<li><strong>Normalize the data</strong> &#8211; Each of the subjects are currently saved in a single database field. They need to be normalized across the database to enable database joins and make it easier to generate reports. </li>
<li><strong>Create a browsable interface</strong> &#8211; Write a set of static Web pages linking keywords and phrases to etexts. This will make it easier to see at a glance the type of content in the collection.</li>
<li><strong>Re-index</strong> &#8211; Trivial. Send all the data and metadata back to the indexer ultimately improving the precision/recall ratio.</li>
<li><strong>Enhance search experience</strong> &#8211; Extract the keywords and phrases from search results and display them to the user. Make them linkable to easily &#8220;find more like this one.&#8221; Extract the same keywords and phrases and use them to implement the increasingly popular browsable facets feature.</li>
<li><strong>Enhance linked data</strong> &#8211; Generate a report against the database to create (better) RDF files complete with more meaningful (subject) tags. Link these tags to external vocabularies such as WordNet through the use of linked data thus contributing to the Semantic Web and enabling others to benefit from my labors. (Infomotions Man says, &#8216;Give back to the &#8216;Net&#8221;.)</li>
</ol>
<p>
Fun! Combining traditional librarianship with computer applications; not automating existing workflows as much as exploiting the inherent functions of a computer. Using mathematics to solve large-scale problems. Making it easier to do learning and research. <em>It is the not what of librarianship that needs to change as much as the how</em>.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2009/07/automatic-metadata-generation/feed/index.html</wfw:commentRss>
		<slash:comments>4</slash:comments>
							</item>
		<item>
		<title>Alex on Google</title>
		<link>./../../../2009/07/alex-on-google/index.html</link>
				<pubDate>Fri, 24 Jul 2009 11:41:06 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>

		<guid isPermaLink="false">./../../../index.html?p=318</guid>
				<description><![CDATA[I don&#8217;t exactly know how or why Google sometimes creates nice little screen shots of Web home pages, but it created one for my Alex Catalogue of Electronic Texts. I&#8217;ve seen them for other sites on the Web, and some of them even contain search boxes. I wish I could get Google to make one [&#8230;]]]></description>
								<content:encoded><![CDATA[<p><img src="./../../../wp-content/uploads/2009/07/google-alex.png" alt="Mini screen shot of Alex on Google" title="google-alex" width="327" height="154" align="right">I don&#8217;t exactly know how or why Google sometimes creates nice little screen shots of Web home pages, but it created one for my <a href="http://infomotions.com/alex/">Alex Catalogue of Electronic Texts</a>. I&#8217;ve seen them for other sites on the Web, and some of them even contain search boxes.</p>
<p>I wish I could get Google to make one of these for a greater number of my sites, and I wish I could get the Google Search Appliance to do the same. It is a nifty feature, to say the least.</p>
]]></content:encoded>
										</item>
		<item>
		<title>Lingua::EN::Bigram (version 0.01)</title>
		<link>./../../../2009/06/linguaenbigram-version-001/index.html</link>
				<comments>./../../../2009/06/linguaenbigram-version-001/index.html#comments</comments>
				<pubDate>Tue, 23 Jun 2009 13:41:36 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[bigrams]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">./../../../index.html?p=307</guid>
				<description><![CDATA[Below is the POD (Plain O&#8217; Documentation) file describing a Perl module I wrote called Lingua::EN::Bigram. The purpose of the module is to: 1) extract all of the two-word phrases from a given text, and 2) rank each phrase according to its probability of occurance. Very nice for doing textual analysis. For example, by applying [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>
Below is the POD (Plain O&#8217; Documentation) file describing a Perl module I wrote called Lingua::EN::Bigram.
</p>
<p>
The purpose of the module is to: 1) extract all of the two-word phrases from a given text, and 2) rank each phrase according to its probability of occurance. Very nice for doing textual analysis. For example, by applying this module to Mark Twain&#8217;s <cite>Adventures of Tom Sawyer</cite> it becomes evident that the signifcant two-word phrases are names of characters in the story. On the other hand, Ralph Waldo Emerson&#8217;s <cite>Essays: First Series</cite> returns action statements &#8212; instructions. On the other hand Henry David Thoreau&#8217;s <cite>Walden</cite> returns &#8220;walden pond&#8221; and descriptions of pine trees. Interesting.
</p>
<p>
The code is available <a href="./../../../wp-content/uploads/2009/06/Lingua-EN-Bigram-0.01.tar.gz">here</a> or on <a href="http://search.cpan.org/~emorgan/Lingua-EN-Bigram-0.01/">CPAN</a>.
</p>
<div>
<h3>NAME</h3>
<p>Lingua::EN::Bigram &#8211; Calculate significant two-word phrases based on frequency and/or T-Score</p>
<h3>SYNOPSIS</h3>
<pre>
<code>  use Lingua::EN::Bigram;
  $bigram = Lingua::EN::Bigram-&gt;new;
  $bigram-&gt;text( 'All men by nature desire to know. An indication of this...' );
  $tscore = $bigram-&gt;tscore;
  foreach ( sort { $$tscore{ $b } &lt;=&gt; $$tscore{ $a } } keys %$tscore ) {
  
    print "$$tscore{ $_ }\t" . "$_\n";
  
  }</code>
</pre>
<h3>DESCRIPTION</h3>
<p>This module is designed to: 1) pull out all of the two-word phrases (collocations or &#8220;bigrams&#8221;) in a given text, and 2) list these phrases according to thier frequency and/or T-Score. Using this module is it possible to create list of the most common two-word phrases in a text as well as order them by their probable occurance, thus implying significance.</p>
<h3>METHODS</h3>
<h4>new</h4>
<p>Create a new, empty bigram object:</p>
<pre>
<code>  # initalize
  $bigram = Lingua::EN::Bigram-&gt;new;</code>
</pre>
<h4>text</h4>
<p>Set or get the text to be analyzed:</p>
<pre>
<code>  # set the attribute
  $bigram-&gt;text( 'All good things must come to an end...' );
  
  # get the attribute
  $text = $bigram-&gt;text;</code>
</pre>
<h4>words</h4>
<p>Return a list of all the tokens in a text. Each token will be a word or puncutation mark:</p>
<pre>
<code>  # get words
  @words = $bigram-&gt;words;</code>
</pre>
<h4>word_count</h4>
<p>Return a reference to a hash whose keys are a token and whose values are the number of times the token occurs in the text:</p>
<pre>
<code>  # get word count
  $word_count = $bigram-&gt;word_count;
  
  # list the words according to frequency
  foreach ( sort { $$word_count{ $b } &lt;=&gt; $$word_count{ $a } } keys %$word_count ) {
  
    print $$word_count{ $_ }, "\t$_\n";
  
  }</code>
</pre>
<h4>bigrams</h4>
<p>Return a list of all bigrams in the text. Each item will be a pair of tokens and the tokens may consist of words or puncutation marks:</p>
<pre>
<code>  # get bigrams
  @bigrams = $bigram-&gt;bigrams;</code>
</pre>
<h4>bigram_count</h4>
<p>Return a reference to a hash whose keys are a bigram and whose values are the frequency of the bigram in the text:</p>
<pre>
<code>  # get bigram count
  $bigram_count = $bigram-&gt;bigram_count;
  
  # list the bigrams according to frequency
  foreach ( sort { $$bigram_count{ $b } &lt;=&gt; $$bigram_count{ $a } } keys %$bigram_count ) {
  
    print $$bigram_count{ $_ }, "\t$_\n";
  
  }</code>
</pre>
<h4>tscore</h4>
<p>Return a reference to a hash whose keys are a bigram and whose values are a T-Score &#8212; a probabalistic calculation determining the significance of bigram occuring in the text:</p>
<pre>
<code>  # get t-score
  $tscore = $bigram-&gt;tscore;
  
  # list bigrams according to t-score
  foreach ( sort { $$tscore{ $b } &lt;=&gt; $$tscore{ $a } } keys %$tscore ) {
  
    print "$$tscore{ $_ }\t" . "$_\n";
  
  }</code>
</pre>
<h3>DISCUSSION</h3>
<p>Given the increasing availability of full text materials, this module is intended to help &#8220;digital humanists&#8221; apply mathematical methods to the analysis of texts. For example, the developer can extract the high-frequency words using the word_count method and allow the user to search for those words in a concordance. The bigram_count method simply returns the frequency of a given bigram, but the tscore method can order them in a more finely tuned manner.</p>
<p>Consider using T-Score-weighted bigrams as classification terms to supplement the &#8220;aboutness&#8221; of texts. Concatonate many texts together and look for common phrases written by the author. Compare these commonly used phrases to the commonly used phrases of other authors.</p>
<p>Each bigram includes punctuation. This is intentional. Developers may need want to remove bigrams containing such values from the output. Similarly, no effort has been made to remove commonly used words &#8212; stop words &#8212; from the methods. Consider the use of Lingua::StopWords, Lingua::EN::StopWords, or the creation of your own stop word list to make output more meaningful. The distribution came with a script (bin/bigrams.pl) demonstrating how to remove puncutation and stop words from the displayed output.</p>
<p>Finally, this is not the only module supporting bigram extraction. See also Text::NSP which supports n-gram extraction.</p>
<h3>TODO</h3>
<p>There are probably a number of ways the module can be improved:</p>
<ul>
<li>the constructor method could take a scalar as input, thus reducing the need for the text method</li>
<li>the distribution&#8217;s license should probably be changed to the Perl Aristic License</li>
<li>the addition of alternative T-Score calculations would be nice</li>
<li>it would be nice to support n-grams</li>
<li>make sure the module works with character sets beyond ASCII</li>
</ul>
<h3>ACKNOWLEDGEMENTS</h3>
<p>T-Score is calculated as per Nugues, P. M. (2006). An introduction to language processing with Perl and Prolog: An outline of theories, implementation, and application with special consideration of English, French, and German. Cognitive technologies. Berlin: Springer. Page 109.</p>
<h3>AUTHOR</h3>
<p>Eric Lease Morgan &lt;eric_morgan@infomotions.com&gt;</p>
</div>
]]></content:encoded>
							<wfw:commentRss>./../../../2009/06/linguaenbigram-version-001/feed/index.html</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
		<item>
		<title>Alex Lite: A Tiny, standards-compliant, and portable catalogue of electronic texts</title>
		<link>./../../../2008/07/alex-lite-a-tiny-standards-compliant-and-portable-catalogue-of-electronic-texts/index.html</link>
				<comments>./../../../2008/07/alex-lite-a-tiny-standards-compliant-and-portable-catalogue-of-electronic-texts/index.html#comments</comments>
				<pubDate>Sat, 12 Jul 2008 16:13:01 +0000</pubDate>
		<dc:creator><![CDATA[Eric Lease Morgan]]></dc:creator>
				<category><![CDATA[Alex Catalogue]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[TEI]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">./../../../index.html?p=28</guid>
				<description><![CDATA[One the beauties of XML its ability to be transformed into other plain text files, and that is what I have done with a simple software distribution called Alex Lite. My TEI publishing system(s) A number of years ago I created a Perl-based TEI publishing system called &#8220;My personal TEI publishing system&#8220;. Create a database [&#8230;]]]></description>
								<content:encoded><![CDATA[<p>One the beauties of XML its ability to be transformed into other plain text files, and that is what I have done with a simple software distribution called Alex Lite.</p>
<h3>My TEI publishing system(s)</h3>
<p>A number of years ago I created a Perl-based TEI publishing system called &#8220;<a href="http://infomotions.com/musings/publishing-system/">My personal TEI publishing system</a>&#8220;. Create a database designed to maintain authority lists (titles and subjects), sets of XSLT files, and TEI/XML snippets. Run reports against the database to create complete TEI files, XHTML files, RSS files, and files designed to be disseminated via OAI-PMH. Once the XHTML files are created, use an indexer to index them and provide a Web-based interface to the index. Using this system I have made accessible more than 150 of my essays, travelogues, and workshop handouts retrospectively converted as far back as 1989. Using this system, many (if not most) of <a href="http://infomotions.com/musings/">my writings</a> have been available via RSS and OAI-PMH since October 2004. </p>
<p>A couple of years later I morphed the TEI publishing system to enable me to mark-up content from an <a href="http://infomotions.com/alex/">older version of my Alex Catalogue of Electronic Texts</a>. Once marked up I planned to transform the TEI into a myriad of ebook formats: plain text, plain HTML, &#8220;smart&#8221; HTML, PalmPilot DOC and eReader, Rocket eBook, Newton Paperback, PDF, and TEI/XML. The mark-up process was laborious and I have only marked up about 100 texts, and you can see the <a href="http://infomotions.com/alex2/">fruits of these labors</a>, but the combination of database and XML technology has enabled me to create Alex Lite.</p>
<h3>Alex Lite</h3>
<p>Alex Lite the result of a report written against my second TEI publishing system. Loop through each item in the database and update an index of titles. Create a TEI file against each item. Using XSLT, convert each TEI file into a plain HTML file, a &#8220;pretty&#8221; XHTML file, and a FO (Formatting Objects) file. Use a FO processor (like FOP) to convert the FO into PDF.  Loop through each creator in the database to create an author index. Glue the whole thing together with an index.html file. Save all the files to a single directory and tar up the directory.</p>
<p>The result is a single file that can be downloaded, unpacked, and provide immediate access to sets of electronic books in an standards-compliant, operating system independent manner. Furthermore, no network connection is necessary except for the initial acquisition of the distribution. This directory can then be networked or saved to a CD-ROM. Think of the whole thing as if it were a library.</p>
<p>Give it a whirl; <a href="./../../../wp-content/uploads/2008/07/alex-lite-2005-08-18.tar.gz">download a version of Alex Lite</a>. Here is a list of all the items in the tiny collection:</p>
<ol>
<li>Alger Jr., Horatio (1834-1899)
<ul>
<li>The Cash Boy</li>
<li>Cast Upon The Breakers</li>
</ul>
</li>
<li>Bacon, Francis (1561-1626)
<ul>
<li>The Essays</li>
<li>The New Atlantis</li>
</ul>
</li>
<li>Burroughs, Edgar Rice (1875-1850)
<ul>
<li>At The Earth&#8217;s Core</li>
<li>The Beasts Of Tarzan</li>
<li>The Gods Of Mars</li>
<li>The Jungle Tales Of Tarzan</li>
<li>The Monster Men</li>
<li>A Princess Of Mars</li>
<li>The Return Of Tarzan</li>
<li>The Son Of Tarzan</li>
<li>Tarzan And The Jewels Of Opar</li>
<li>Tarzan Of The Apes</li>
<li>The Warlord Of Mars</li>
</ul>
</li>
<li>Conrad, Joseph (1857-1924)
<ul>
<li>The Heart Of Darkness</li>
<li>Lord Jim</li>
<li>The Secret Sharer</li>
</ul>
</li>
<li>Doyle, Arthur Conan (1859-1930)
<ul>
<li>The Adventures Of Sherlock Holmes</li>
<li>The Case Book Of Sherlock Holmes</li>
<li>His Last Bow</li>
<li>The Hound Of The Baskervilles</li>
<li>The Memoirs Of Sherlock Holmes</li>
</ul>
</li>
<li>Machiavelli, Niccolo (1469-1527)
<ul>
<li>The Prince</li>
</ul>
</li>
<li>Plato (428-347 B.C.)
<ul>
<li>Charmides, Or Temperance</li>
<li>Cratylus</li>
<li>Critias</li>
<li>Crito</li>
<li>Euthydemus</li>
<li>Euthyphro</li>
<li>Gorgias</li>
</ul>
</li>
<li>Poe, Edgar Allan (1809-1849)
<ul>
<li>The Angel Of The Odd&#8211;An Extravaganza</li>
<li>The Balloon-Hoax</li>
<li>Berenice</li>
<li>The Black Cat</li>
<li>The Cask Of Amontillado</li>
</ul>
</li>
<li>Stoker, Bram (1847-1912)
<ul>
<li>Dracula</li>
<li>Dracula&#8217;s Guest</li>
</ul>
</li>
<li>Twain, Mark (1835-1910)
<ul>
<li>The Adventures Of Huckleberry Finn</li>
<li>A Connecticut Yankee In King Arthur&#8217;s Court</li>
<li>Extracts From Adam&#8217;s Diary</li>
<li>A Ghost Story</li>
<li>The Great Revolution In Pitcairn</li>
<li>My Watch: An Instructive Little Tale</li>
<li>A New Crime</li>
<li>Niagara</li>
<li>Political Economy</li>
</ul>
</li>
</ol>
<h3>XSLT</h3>
<p>As alluded to above, the beauty of XML is its ability to be transformed into other plain text formats. XSLT allows me to convert the TEI files into other files for different mediums. The distribution includes only simple HTML, &#8220;pretty&#8221; XHTML, and PDF versions of the texts, but for the XSLT affectionatos in the crowd who may want to see the XSLT files, I have included them here:</p>
<ul>
<li><a href="./../../../wp-content/uploads/2008/07/tei2htm.xsl">tei2htm.xsl</a> &#8211; used to create plain HTML files complete with metadata</li>
<li><a href="./../../../wp-content/uploads/2008/07/tei2html.xsl">tei2html.xsl</a> &#8211; used to create XHTML files complete with metadata as well as simple CSS-enabled navigation</li>
<li><a href="./../../../wp-content/uploads/2008/07/tei2fo.xsl">tei2fo.xsl</a> &#8211; used to create FO files which were fed to FOP in order to create things designed for printing on paper</li>
</ul>
<p>Here&#8217;s a sample TEI file, <a href="./../../../wp-content/uploads/2008/07/poe-cask-641.xml">Edgar Allen Poe&#8217;s The Cask Of Amontillado</a>.</p>
<h3>Future work</h3>
<p>I believe there is a lot of promise in the marking-up of plain text into XML, specifically works of fiction and non-fictin into TEI. Making available such marked-up texts paves the way for doing textual analysis against them and for enhancing them with personal commentary. It is too bad that the mark-up process, even simple mark-up, is so labor intensive. Maybe I&#8217;ll do more of this sort of thing in my copius spare time.</p>
]]></content:encoded>
							<wfw:commentRss>./../../../2008/07/alex-lite-a-tiny-standards-compliant-and-portable-catalogue-of-electronic-texts/feed/index.html</wfw:commentRss>
		<slash:comments>1</slash:comments>
							</item>
	</channel>
</rss>
