The Library Basement
Reading under ground

Tag technology

Arduino hacking

[An Arduino board with attached electronic components][]On a lark I bought the most recent issue of Make magazine. This issue was all about the Arduino, an open source prototyping microcontroller. So I ordered one, and so far I am having a ton of fun. I even started a git repo to store my "sketches" (which are the C code which program the microcontroller). So far the best I've done is make a music box on which I can control the pitch and the tempo with two different types of potentiometers. The sky is the limit, and I keep coming up with new ideas to try.

[An Arduino board with attached electronic components]:

In praise of dead trees

The Amazon Kindle and other electronic book readers solve two problems:

  1. For readers, they provide a convenient device on which any number of books can be stored, or even downloaded on the road, and provide a decent reading experience.
  2. For publishers, they solve the pesky problem of libraries and lending among friends. In other words, e-readers make it so that people have to buy every book they read.

As far as #1 goes, more power to the consumers. I'd love to be able to have a huge stack of books with me at any time in a small package. But #2 is where the problem lies for me. Nobody should be surprised by this coming from a blog with "library" in the title.

First of all, I am not going to argue from the aesthetic experience of reading books. Some people like the feel, weight, and smell of genuine books. Other people prefer to have a sleek and lightweight gadget on which to read books, papercut-free. As a public transit commuter, I admit that I would much prefer to carry an e-reader. Big bulky books bring bad looks on the bus. On the other hand, I do appreciate the variety of book smells (with the notable exception of mildew), and there is something appealing in the act of physically turning pages, especially near the end of a book. But I do not think that aesthetic considerations are most important here.

The important aspects of e-reader devices come from the restrictions which digital text place on the reader. Because of the digital restrictions management put on e-book files, you cannot share books with your friends. You cannot borrow them from the library. You cannot make a copy in a different format. That is exactly what the publishers and proprietors of e-readers want. Content providers want each consumer to be in a silo. Every good and work they want to consume would be purchased directly, and sharing would not be possible, since every purchased would be bound to the original consumer.

Clearly these restrictions are disadvantageous for us (the "consumers"). Libraries provide an important function in our society - allowing knowledge and culture to be shared for free amongst everyone. And there is something to be said in favor of loaning a favorite book to a friend. I currently have several books loaned out to friends, and in turn I have some of their books. Books are also good from an environmental standpoint, because they are a durable good which do not require any additional material or energy after their initial manufacture.

I like e-reader devices. Perhaps some day contemporary works will be published in a digital format without restrictions. If that happens, I'll be first in line to buy an e-reader. Until then, I'm content with the tried and true form of dead-tree books. And I think that paper books will hold their own in the market, because of their intrinsic merits.

XML and the Bible

While working on an importer to bring the SBL Greek New Testament into Open Scriptures, I noticed some interesting features of the SBLGNT XML file. (I promised that I would try to exclude posts of a technical nature from this blog, but I am breaking that promise, because I think this technical discussion is interesting and applicable to Biblical studies.)

The SBLGNT's XML representation of the Biblical text makes an interesting distinction between tags which have child elements and childless tags. That is, normal XML tags encompass the actual Greek text and its structures (such as paragraphs and books), while childless tags represent insertions which are not original to the text. Here is a truncated Matthew 1:1 in the SBLGNT XML as an example:

<book id="Mt">

\<title>ΚΑΤΑ ΜΑΘΘΑΙΟΝ\</title>


\<verse-number id="Matthew 1:1">1:1\</verse-number>


\<suffix> \</suffix>



\<suffix>. \</suffix>


Notice how there is no "verse" tag which encompasses all of the included text. Instead "verse-number" is a tag which is inserted where ever the verse breaks are located. This is opposed to the "p" (paragraph) tag, which encompasses all of the child "w" (word) and "suffix" (spaces and punctuation) tags. Paragraphs are of course present in the original biblical text.

One thing I might have done to take this principle even further would be to put the Book titles where they appear in the Greek manuscripts. In SBLGNT XML, the title is always the first child element of the "book" tag. However, that is not always where the title was in the manuscripts. Sometimes it was printed at the end of the book.

I like the distinction between textual forms and externally imposed structures as reflected in this XML document. I'm not sure what Logos' exact thinking was behind these design choices, but I think I've identified it.

Swete LXX Downloader

Edit March 8, 2013: The Internet Archive has a better set of scans of Swete. It includes options for direct download of the files in various formats, including images.

The Christian Classics Ethereal Library hosts [scans of H.B. Swete's "Old Testament in Greek According to the Septuagint."][] It is a public domain LXX, including introduction and textual apparatus. If you find yourself desiring to store the images on your computer instead of viewing them through CCEL's website, you can use this Python script which I created. It will grab all of the PNG files of the text and apparatus and arrange them in order, by volume.

The script itself is not much, but I decided to license it under the GNU General Public License, version 3. This script uses some Python 2 syntax, so I might convert it for Python 3 at some point (though it's not so great a taks). If CCEL decides to change the structure of their site, it may break this script.

I considered hosting the finished product here, and may do so in the future, but for now I am going to preserve the bandwidth.

[scans of H.B. Swete's "Old Testament in Greek According to the Septuagint."]: