<?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>John&#039;s Blog &#187; ebook</title>
	<atom:link href="http://john.nachtimwald.com/tag/ebook/feed/" rel="self" type="application/rss+xml" />
	<link>http://john.nachtimwald.com</link>
	<description>My little blog</description>
	<lastBuildDate>Sat, 31 Jul 2010 17:28:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>EZReader Pocket Pro Review</title>
		<link>http://john.nachtimwald.com/2009/12/29/ezreader-pocket-pro-review/</link>
		<comments>http://john.nachtimwald.com/2009/12/29/ezreader-pocket-pro-review/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 02:02:14 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[epub]]></category>
		<category><![CDATA[ezreader pocket pro]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[pocket pro]]></category>
		<category><![CDATA[reveiw]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=295</guid>
		<description><![CDATA[Background My wife bought me an Astak EZ Reader Pocket Pro For Christmas this year. This device isn&#8217;t my first or even second ebook reader. It is now my third. The first a Sony PRS-505 having been commandeered by my wife. The second is a Cybook Gen 3 which due to the firmware update shortly [...]]]></description>
			<content:encoded><![CDATA[<h2>Background</h2>
<p>My wife bought me an Astak EZ Reader Pocket Pro For Christmas this year. This device isn&#8217;t my first or even second ebook reader. It is now my third. The first a Sony PRS-505 having been commandeered by my wife. The second is a Cybook Gen 3 which due to the firmware update shortly before Christmas might stay my primary reading device.</p>
<h2>Price</h2>
<p>The Pocket Pro (PP) retails for 199 USD and US residents can purchase it at the the <a href="http://www.theezreader.com/html/">EZ Reader website</a>. Mine came with a 2GB SD card, serviceable leather cover, usb cable, AC adapter, and the usual marketing / user materials. All this makes it the best deal I&#8217;ve found for ebook readers in the 5&#8243; size.</p>
<h2>Hardware</h2>
<p>The PP is a 5&#8243; device and uses an eInk screen like most ebook readers. I did not find the 5&#8243; screen to be too small. It is a good balance between portability and readablility. It does cause a few more page turns than with the larger devices but it was not cumbersome in any way. Overall found the size to my liking.</p>
<p>It comes in a variety of colors and feels good in your hands. The paint gives it a rubberized texture. It&#8217;s light while still feeling solid and sturdy. Visually it isn&#8217;t the best looking device but the buttons along the bottom work well enough for navigation. It is very similar to how the Sony (non-touch) readers work. However, I do think Sony, having put the buttons next to where they correspond to the screen, makes it a bit more intuitive than matching the number to the button as is required by the PP.</p>
<p>One area where I felt the PP&#8217;s hardware design was problem is with the thumb wheel along the right hand side. I had issues using it to turn pages. It would often turn more than one page. It is also a hard plastic nub and after using it for awhile my finger started to hurt. I soon stopped using it and only turned the page using the buttons.</p>
<h2>Firmware</h2>
<p>One thing that I really like about the PP is how easy it is to change the firmware. There are a number of companies selling branded versions of the device. It is really a Hanlin V5 made by Jinke. The various companies that sell the device all have their own versions of the firmware that deviate to different degrees from what is produced by Jinke. The <a href="http://www.lbook.ua/">LBook </a>has one of the more customized firmwares. I have tried it and found that it is a bit on the usable side because the majority of it is not in English. While there are a number of firmware options I&#8217;m going to focus the remainder of this review on the firmware available from Astak as of this writing.</p>
<h2>Bookshelf</h2>
<p>It works. That&#8217;s the nicest thing I can say about it. The only thing it does is list all folders in the storage location. You select the folder and it opens it. When you get to a book you want to read you select it and it opens. On the surface this doesn&#8217;t sound so bad but compared to other devices (the Cybook and PRS-505) it is terrible.</p>
<p>When listing folders it lists all folders. Even system folders that should and do not contain books. Also, it does not read any metadata such as author or title. You only have the folder and filename to go by. There are no tags, collections, genre views or custom sorting. Selecting books is a slow, cumbersome and painful process.</p>
<p>Another issue I have with the bookshelf is it tries to force the use of an SD card. It displays the SD card and the main memory separately. It also defaults to the SD card when ever the device is turned on. I&#8217;ve gotten used to the combined view other readers offer and I don&#8217;t care if the book is on the SD card or the main memory. I just want to be able to get to my book quickly.</p>
<p>Fonts are another thing I have an issue with. I like the fact that users can include their own fonts. You can also set a font as your default font so you don&#8217;t have to change it every time you open a book (this doesn&#8217;t actually work, see the EPUB Rendering section). However, the only way you can add your own fonts is with an SD card. They can only be read from an SD card. There is no way to add your own fonts by putting them in the main memory. I have no idea why this is the case but it is an annoyance.</p>
<p>The bookself falls flat but it&#8217;s not the main place a person will be. Reading books is the main purpose of the device. My ebook library is mainly in two formats. .txt and .epub. Lets talk about how well it works with reading these formats.</p>
<h2>TXT Rendering</h2>
<p>One major thing it gets right, in my opinion, is justified text. It does a pretty accurate representation of the text. Another thing it does well is you can change the font size easily. Page turns happed very quickly. Much quicker than my other readers which was a pleasant surprise.</p>
<p>However, it does do some fancy auto detection of components and renders them differently. Words are often hyphenated and span two lines. This is without regard to where or what comes on the second line. Many times the last two letters and the period will appear alone on the second line because it is the end of the paragraph. This causes the text to become disjointed and ugly.</p>
<h2>EPUB Rendering</h2>
<p>Just like with TXT rendering it is very accurate and just like TXT rendering this is also a problem. It&#8217;s so accurate that you cannot change the font. Only the font size can be changed. I tried reading two EPUB files with it and found both to be unreadable.</p>
<p>Harry Potter&#8217;s Bookshelf by John Granger was the first EPUB I tried. Upon initially opening it, the text was too small to read. Increasing the text size to a reasonable level made it possible to read the text. However. the margins increased as well. The book has small margins included but to have the text at a reasonable level the margins ended up taking up a quarter of the page, each top, bottom, left, and right. This made the screen essentially a small little window with text. The text being justified only allowed for a few words per line with large spaces between them.</p>
<p>Page turning with Harry Potter&#8217;s Bookshelf was completely contrary to how wonderful it is for TXT files. With this book, turning the page was very slow and it didn&#8217;t always work. 3 out of 5 button presses wouldn&#8217;t register. The light lit up and nothing happened. To make the page turn I had to start holding down the button until the page changed and if it didn&#8217;t change after a few seconds I would let go and hold the button down again.</p>
<p>The second book I tried was Word War Z by Max brooks. It doesn&#8217;t even open. This is not an issue with DRM because it had been removed.</p>
<p>So far the two books I have as EPUB that I want to read cannot be read on the PP. Those same books open and render beautifully on both the Cybook and the PRS-505.</p>
<h2>Overall</h2>
<p>The PP is disappointing. The hardware is nice; I really like the 5&#8243; size. However, the poor bookshelf, the poor rendering, and the inability to even open some books makes it pretty much unusable. I&#8217;m going to keep looking into new firmware releases but until I can actually use it to read books it&#8217;s not much more than a poor substitute for a paper weight.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/12/29/ezreader-pocket-pro-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calibre Week In Review</title>
		<link>http://john.nachtimwald.com/2009/12/22/calibre-week-in-review-20/</link>
		<comments>http://john.nachtimwald.com/2009/12/22/calibre-week-in-review-20/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 12:37:36 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[cover]]></category>
		<category><![CDATA[cybook]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[nook]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=291</guid>
		<description><![CDATA[Not much on the calibre front for this past week from me. The only thing I&#8217;ve worked on was adding support to the Nook driver for the cover image to be sent to the device with the book. Also, if there is no cover associated with the book a default cover with the title authors [...]]]></description>
			<content:encoded><![CDATA[<p>Not much on the calibre front for this past week from me. The only thing I&#8217;ve worked on was adding support to the Nook driver for the cover image to be sent to the device with the book. Also, if there is no cover associated with the book a default cover with the title authors and calibre library image are used. Similar to what already happens with Cybook Gen 3 and Opus.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/12/22/calibre-week-in-review-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why User Replaceable Batteries Don&#039;t Matter</title>
		<link>http://john.nachtimwald.com/2009/11/30/why-user-replaceable-batteries-dont-matter/</link>
		<comments>http://john.nachtimwald.com/2009/11/30/why-user-replaceable-batteries-dont-matter/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 01:55:21 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[batteries]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[gadgets]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=276</guid>
		<description><![CDATA[Robert B, who is Astak&#8217;s Director of Bus. Devl., posted a blog entry about user replaceable batteries. I mostly agree with him that they are a benefit to consumer electronics. I mostly agree because I don&#8217;t see them as a positive in every case. I posted the following on his blog as a comment but [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://robertbez.blogspot.com">Robert B</a>, who is Astak&#8217;s Director of Bus. Devl., posted a blog entry about <a href="http://robertbez.blogspot.com/2009/11/who-cares-about-user-replaceable.html">user replaceable batteries</a>. I mostly agree with him that they are a benefit to consumer electronics. I mostly agree because I don&#8217;t see them as a positive in every case. I posted the following on his blog as a comment but I wanted to post it here as well. This is in response to the statement that reviewers don&#8217;t get the idea of user replaceable batteries.</p>
<p>It&#8217;s not that most reviewers do not get the idea of a user replaceable battery, it&#8217;s that it really isn&#8217;t a selling point to most people. There are three reasons I can think of as to why a user replaceable batter does not matter.</p>
<p>1) Sealed in causes the device to be cheaper to produce and thus cheaper for the consumer. This leads into point two.</p>
<p>2) The device is not seen as a long term investment. This is very reminiscent of how Apple positions the iPod by inciting consumers to upgrade to the latest release. In one or two years the device will be replaced with a newer model. As someone who is looking to buy my third ebook reader for the third year in a row I haven&#8217;t had to worry about the battery wearing out and needing to be replaced.</p>
<p>3) Worries of availability. While it is very easy to buy a spare battery now what about in 5 years from now. Chances are the product will not longer be produced as the company has moved on to better and cheaper technology. 5 years from now obtaining a replacement battery can easily be impossible or cost prohibitive.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/11/30/why-user-replaceable-batteries-dont-matter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unidecoder</title>
		<link>http://john.nachtimwald.com/2009/10/31/unidecoder/</link>
		<comments>http://john.nachtimwald.com/2009/10/31/unidecoder/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 13:36:40 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=249</guid>
		<description><![CDATA[A while back I made a post about ASCIIizing Text. With it was a simple python application that would convert Unicode characters to ASCII equivalents. It doesn&#8217;t do a basic conversion but also Latinizes the characters when they are outside of the ASCII range. The uni2ascii package I made has a few short comings I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I made a post about <a href="http://john.nachtimwald.com/2009/07/24/asciiize-text/">ASCIIizing Text</a>. With it was a simple python application that would convert Unicode characters to ASCII equivalents. It doesn&#8217;t do a basic conversion but also Latinizes the characters when they are outside of the ASCII range.</p>
</p>
<p>The <a href="http://john.nachtimwald.com/2009/07/24/asciiize-text/">uni2ascii</a> package I made has a few short comings I&#8217;ve decided to fix. The three major problems with it are: 1) Very basic permission checking, 2) Only accepts one file, 3) Required all input to be UTF8 encoded, 4) The decoder was a very literal port of a the ruby version.</p>
<p>To fix these issues I&#8217;ve written an entirely new script. Problems 1, 2 and 3 are fixed. It has robust error checking, can handle an arbitrary number of files, and the file encoding can be specified. Number 4 is fixed by using the Python port created by <a href="http://www.tablix.org/~avian/blog/archives/2009/01/unicode_transliteration_in_python/">Tomaz Solc</a>.</p>
<p>I&#8217;ve put the source code for the new decoder into a Launchpad branch:</p>
<pre>$ bzr branch lp:~user-none/+junk/unidecoder</pre>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/10/31/unidecoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/10/19/calibre-week-in-review-15/</link>
		<comments>http://john.nachtimwald.com/2009/10/19/calibre-week-in-review-15/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 11:35:41 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[tcr]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=238</guid>
		<description><![CDATA[Like every week there were miscellaneous bug fixes. However, this week I did a bit more. TCR input and output. Do be warned that the output supports multiple compression levels; the higher levels being slower than the lower. For instance a 200K TXT file as input will take around 25 seconds on the lowest level [...]]]></description>
			<content:encoded><![CDATA[<p>Like every week there were miscellaneous bug fixes. However, this week I did a bit more. TCR input and output. Do be warned that the output supports multiple compression levels; the higher levels being slower than the lower. For instance a 200K TXT file as input will take around 25 seconds on the lowest level and 3.5 minutes at the highest.</p>
<p>TCR is an compressed text format used mainly by the <a href="http://en.wikipedia.org/wiki/Psion">Psion</a> <a href="http://en.wikipedia.org/wiki/Psion_Series_3">3</a> and <a href="http://en.wikipedia.org/wiki/Psion_Series_5">5</a> series PDAs that were produced in the 90s. The compression used by TCR files is very interesting. It doesn&#8217;t have as high a compression ratio as say zlib but that is a trade off for being decompressable starting at any point in the stream. The history and more information about the format can be found at <a href="http://www.cix.co.uk/~gidds/Software/TCR.html">Andrew Giddings&#8217; TCR page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/10/19/calibre-week-in-review-15/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/10/11/calibre-week-in-review-14/</link>
		<comments>http://john.nachtimwald.com/2009/10/11/calibre-week-in-review-14/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 01:37:31 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[eReader]]></category>
		<category><![CDATA[fb2]]></category>
		<category><![CDATA[pml]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=236</guid>
		<description><![CDATA[I haven&#8217;t had one of these for quite some time. I&#8217;ve been working on other projects and on the calibre font I&#8217;ve only dealing with small bug fixes. However, this past week I&#8217;ve done a bit of work that is worth mentioning. I&#8217;ve cleaned up the FB2 output. It fixes some invalid markup. Fixes some [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t had one of these for quite some time. I&#8217;ve been working on other projects and on the calibre font I&#8217;ve only dealing with small bug fixes. However, this past week I&#8217;ve done a bit of work that is worth mentioning.</p>
<p>I&#8217;ve cleaned up the FB2 output. It fixes some invalid markup. Fixes some issues with text not being displayed by FBReader. It also fixes some issues with invalid characters making there way into hrefs.</p>
<p>eReader PDB output also got some love. Some kind people have been working on the reverse engineering of the <a href="http://wiki.mobileread.com/wiki/Ereader#File_Format">file format</a> and have filled in a number of the blanks I left. All of the additional information that has been discovered has been added to the files produced. The two main things that have been added are chapter and link indexes. The chapter indexes give the nice names at the top of the eReader viewer application. The link index allows links to work in the eReader viewer application.</p>
<p>To coincide with the eReader PDB output changes, PML input and output had some cleanup. It looks better now and replaces unicode characters with the \UXXXX equivalent.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/10/11/calibre-week-in-review-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Two Weeks in Review</title>
		<link>http://john.nachtimwald.com/2009/08/02/calibre-two-weeks-in-review/</link>
		<comments>http://john.nachtimwald.com/2009/08/02/calibre-two-weeks-in-review/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 20:31:01 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=186</guid>
		<description><![CDATA[This time I missed last weeks week in review because I simply forgot. I&#8217;m hoping to keep this to a minimum in the future. The big news is calibre 0.6 has been released. Kovid is now back to his regular (weekly at the least) bug fix releases too. As of now the latest version is [...]]]></description>
			<content:encoded><![CDATA[<p>This time I missed last weeks week in review because I simply forgot. I&#8217;m hoping to keep this to a minimum in the future.</p>
<p>The big news is calibre 0.6 has been released. Kovid is now back to his regular (weekly at the least) bug fix releases too. As of now the latest version is 0.6.4 and I get the feeling that 0.6.5 is right around the corner. For a listing of what&#8217;s gone into the 0.6 release take a look <a href="http://calibre.kovidgoyal.net/new_in_6/">here</a>.</p>
<p>Some features I&#8217;ve been working on that are included in the current release are: asciiize text, and iRex Iliad support.</p>
<p>The asciiize feature is one I&#8217;ve been wanting for a while and I&#8217;ve finally implemented it. It&#8217;s based on the ASCIIize text post I made last week. There is now an &#8211;asciiize option for the ebook-convert command and an option for the conversion dialog in the GUI. The basic premise of this feature is unicode characters often are not displayed correctly by ebook readers. My Cybook Gen 3 exhibits this behavior. ASCIIize transliterates the unicode text to an ASCII representation. Meaning it takes &#8220;Михаил Горбачёв&#8221; and converts it to &#8220;Mikhail Gorbachiov&#8221;.</p>
<p>The iRex Iliad is now as supported as I can get it. calibre detects it as a device, displays the list of books on the device and you can send books to it using send to device. The part I&#8217;m running into issues with is the manifest.xml file. It looks like it&#8217;s similar to the Sony PRS&#8217;s media.xml file, meaning it is a quick store for metadata. However, I don&#8217;t really know what goes into this file or should I say files (there are more than one). It also doesn&#8217;t look like the device updates it in any way because I had a user send me the files off of their Iliad and they were empty even though the user has put 20 or so books on the device with the Mobipocket desktop software. On the bright side it works well enough that I don&#8217;t think anyone will notice.</p>
<p>On the GUI tweaks front (these won&#8217;t be in a release until some point in the future) I&#8217;ve added a history drop down to the search field. There is a swap button for authors and title in the metadata bulk dialog, and you can hide the toolbars in the ebook viewer.</p>
</p>
<p>The remainder of what I accomplished over the past two weeks was bug fixes and code refactoring. Just th boring stuff that I would rather put off versus actually doing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/08/02/calibre-two-weeks-in-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASCIIize Text</title>
		<link>http://john.nachtimwald.com/2009/07/24/asciiize-text/</link>
		<comments>http://john.nachtimwald.com/2009/07/24/asciiize-text/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 02:44:56 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=179</guid>
		<description><![CDATA[One pet peeve of I have with my Cybook Gen 3 is its inability to properly display unicode characters in plain text files. I don&#8217;t need anything fancy like Japanese characters just simple things like “ and ” (as opposed to &#8221; and &#8220;). To solve this problem I&#8217;ve been thinking about adding an &#8211;asciize [...]]]></description>
			<content:encoded><![CDATA[<p>One pet peeve of I have with my Cybook Gen 3 is its inability to properly display unicode characters in plain text files. I don&#8217;t need anything fancy like Japanese characters just simple things like “ and ” (as opposed to &#8221; and &#8220;). To solve this problem I&#8217;ve been thinking about adding an &#8211;asciize option to calibre. I say thinking because I didn&#8217;t really know where to start. Thankfully a user recently requested this very functionality in bug <a href="http://calibre.kovidgoyal.net/ticket/2846">#2846</a>. He even included a link to work to accomplish this very task.</p>
<p>I will be integrating transliteration of unicode to ascii into calibre soon. However, in the mean time here is a script and classes, see <a href="http://john.nachtimwald.com/2009/10/31/unidecoder/">unidecoder</a> for a better method, to accomplish this task outside of calibre. This is my python port of the <a href="http://rubyforge.org/projects/unidecode/">ruby unidecode gem</a>. Which is a port of the original perl <a href="http://search.cpan.org/~sburke/Text-Unidecode-0.04/">Text::Unidecode</a>.</p>
<p>The major differences between my implementation and the others is it&#8217;s written in python and it uses a single dictionary instead of loading the code group files as needed.</p>
<p>You can find out more on how this all works at <a href="http://interglacial.com/~sburke/tpj/as_html/tpj22.html">http://interglacial.com/~sburke/tpj/as_html/tpj22.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/07/24/asciiize-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calibre Week in Review</title>
		<link>http://john.nachtimwald.com/2009/06/06/calibre-week-in-review-8/</link>
		<comments>http://john.nachtimwald.com/2009/06/06/calibre-week-in-review-8/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 00:22:13 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[calibre]]></category>
		<category><![CDATA[device interfaces]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[GUI]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=130</guid>
		<description><![CDATA[This week hasn&#8217;t seen very much in the way of new features from me. I&#8217;ve only added one. This is mainly because I&#8217;ve been doing small bug fixes leading up to the beta for 0.6. The new feature, which Kovid helped me to implement, is ejecting the reader from within the GUI. When you mouse [...]]]></description>
			<content:encoded><![CDATA[<p>This week hasn&#8217;t seen very much in the way of new features from me. I&#8217;ve only added one. This is mainly because I&#8217;ve been doing small bug fixes leading up to the beta for 0.6.</p>
<p>The new feature, which Kovid helped me to implement, is ejecting the reader from within the GUI. When you mouse over the reader icon in the location list it will show an eject button next to the icon. Clicking the eject button will do just that, safely remove the device from the system and remove it from the location listing. I did the GUI work, created the interface for the device driver and added the Linux ejection code. Kovid added the OS X code and we both came up with a Window solution but his was more robust to it was used.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/06/06/calibre-week-in-review-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing Single Quotation Marks to Double in eBooks</title>
		<link>http://john.nachtimwald.com/2009/05/12/changing-single-quotation-marks-to-double-in-ebooks/</link>
		<comments>http://john.nachtimwald.com/2009/05/12/changing-single-quotation-marks-to-double-in-ebooks/#comments</comments>
		<pubDate>Tue, 12 May 2009 20:28:22 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://john.nachtimwald.com/?p=116</guid>
		<description><![CDATA[As a person living in the USA I highly prefer double quotation marks to single quotes when denoting speech. Some authors use the single quote for effect but mostly it&#8217;s just a style choice. I find UK authors generally use the two interchangeably. Tolkien books are a good example. I have The Hobbit, The Lord [...]]]></description>
			<content:encoded><![CDATA[<p>As a person living in the USA I highly prefer double quotation marks to single quotes when denoting speech. Some authors use the single quote for effect but mostly it&#8217;s just a style choice. I find UK authors generally use the two interchangeably. Tolkien books are a good example. I have The Hobbit, The Lord of the Rings, and The Children of Hurin. The Hobbit use double quotes while the other two uses single quotes.</p>
<p>Following is some simple python code that will take the book (named th.txt) and change the single quotes into double quotes for the books in question. Both use ’ and ’ for the opening and closing quotes. Also ’ is used for contractions. The regexes take the opening and closing characters into account as well as change the contractions to the non-unicode &#8216; character.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #66cc66;">&gt;&gt;&gt;</span> th = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'th.txt'</span>, <span style="color: #483d8b;">'rb+wb'</span><span style="color: black;">&#41;</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> th_t = th.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #66cc66;">&gt;&gt;&gt;</span> th_t = <span style="color: #dc143c;">re</span>.<span style="color: black;">sub</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'(?u)(?&gt;&gt; th_t = re.sub('</span><span style="color: black;">&#40;</span><span style="color: #66cc66;">?</span>u<span style="color: black;">&#41;</span>‘<span style="color: #483d8b;">', '</span><span style="color: #483d8b;">&quot;', th_t)
&gt;&gt;&gt; th_t = re.sub('(?u)’', '&quot;</span><span style="color: #483d8b;">', th_t)
&gt;&gt;&gt; th.seek(0)
&gt;&gt;&gt; th.truncate(0)
&gt;&gt;&gt; th.write(th_t)</span></pre></div></div>

<p>I do realize that the listed regexes could be combined a bit especially the opening and closing quotes. However, that would reduce their readability.</p>
]]></content:encoded>
			<wfw:commentRss>http://john.nachtimwald.com/2009/05/12/changing-single-quotation-marks-to-double-in-ebooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
