Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Software > Calibre > Devices

Notices

Reply
 
Thread Tools Search this Thread
Old 08-19-2012, 12:36 PM   #61
chaley
"chaley", not "charley"
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 5,630
Karma: 857074
Join Date: Jan 2010
Location: France
Device: Many android devices
Quote:
Originally Posted by Adoby View Post
I have successfully transfered around 8000 small epubs. (I copied and renamed and modified metadata.)

But: After an initial successful transfer, during the next connection CC and Calibre seems to hang. Calibre at: "Get list of books on device", CC at: "Updating booklist and metadata", but never finish. Only way to fix this seems to be to uninstall and install CC again. Have also tried with 4000 books. Same problem.
My guess is that it is taking a *very long time* to send the metadata back to calibre. This can take between 1/4 and 1/2 second per book. 4000 books would take 15 to 30 minutes. You would see this happening in the debug log if you ran calibre in debug mode from the command line.

And yes, we will look for ways to shorten this. We cannot eliminate it because calibre requires reception of that data.
Quote:
Also: CC does not create subdirs, even if specified using "Configure Device". I use subdirs for each "genre" like this: {#coll}/{title} - {authors}. Works fine when connecting to folder on memory card as device. I then use these subdirs to create collections in Mantano to facilitate browsing.
This is intentional. Our fear was that subdirectories would break extension routing. Now that we have some more experience, we will revisit this choice to see if we can safely permit paths.
chaley is offline   Reply With Quote
Old 08-19-2012, 01:34 PM   #62
Adoby
Handy Elephant
Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.
 
Adoby's Avatar
 
Posts: 1,105
Karma: 5168844
Join Date: Dec 2009
Location: Southern Sweden, far out in the quiet woods
Device: Ubuntu Linux, Cybook Opus, Motorola Xoom with Mantano Premium
No, sorry, no sync seems to being done at all. Things just hang when I try to reconnect. For some reason CC seems to think there are no book to sync. "books None". But there are plenty of books visible in CC. Default storage folders are used.

Code:
Job: 1 Get device information started
SMART_DEV ( 138.60:  0.000) get_device_information
SMART_DEV ( 138.63:  0.001) _call_client GET_DEVICE_INFORMATION
SMART_DEV ( 138.73:  0.060) _call_client SET_CALIBRE_DEVICE_INFO
SMART_DEV ( 138.80:  0.026) card_prefix
SMART_DEV ( 138.83:  0.000) free_space
SMART_DEV ( 138.85:  0.001) _call_client FREE_SPACE
DeviceJob: 1 Get device information done, calling callback
DeviceJob: 1 Get device information callback returned
SMART_DEV ( 138.91:  0.032) set_progress_reporter
Job: 2 Get list of books on device started
SMART_DEV ( 138.94:  0.000) books None
SMART_DEV ( 138.96:  0.001) _call_client GET_BOOK_COUNT
Job: 1 Get device information finished
No details available.
I tried this twice with debug on. Once directly after file transfer. Once after rebooting the tablet. Same result both times.
Adoby is offline   Reply With Quote
Old 08-19-2012, 01:46 PM   #63
Kumabjorn
Basculocolpic
Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.
 
Kumabjorn's Avatar
 
Posts: 4,054
Karma: 20131415
Join Date: Jul 2010
Location: Sweden
Device: Kindle 3 WiFi, Kindle 4SO, Kindle for Android, Sony PRS-350 and PRS-T1
Just a thought, do you have enough space for storage and handling of temporary files?
Kumabjorn is offline   Reply With Quote
Old 08-19-2012, 02:50 PM   #64
Adoby
Handy Elephant
Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.
 
Adoby's Avatar
 
Posts: 1,105
Karma: 5168844
Join Date: Dec 2009
Location: Southern Sweden, far out in the quiet woods
Device: Ubuntu Linux, Cybook Opus, Motorola Xoom with Mantano Premium
Plenty of room on the tablet. The 4000 ePubs takes up less than 0.5 GB. I used small ePubs for this test. Mostly around 100kB. And I have 18 GB free atm on the internal "sdcard".

Guess what? After around an hour it seems that it had synced after all. No output in debug while it happened. Or what was going on while it seemed that it had hung. Perhaps I should have specified some "debug-level"?

I have "Automanage metadata" on, that might have been it?

Spoiler:

SMART_DEV (3145.69:2404.594) books carda
SMART_DEV (3145.72: 0.000) books cardb
DeviceJob: 2 Get list of books on device done, calling callback
SMART_DEV (3257.78:112.042) set_plugboards
DeviceJob: 2 Get list of books on device callback returned
SMART_DEV (3319.46: 61.638) set_progress_reporter
Job: 3 Send metadata to device started
SMART_DEV (3319.50: 0.002) sync_booklists collection attributes [u'']
DEBUG: 0.0 Starting get_collections: on_connect
DEBUG: 0.0 Renaming rules: {}
DEBUG: 0.0 Formatting template: {value}{category:| (|)}
DEBUG: 0.0 Sorting rules: []
SMART_DEV (3319.88: 0.345) _call_client SEND_BOOKLISTS
Job: 2 Get list of books on device finished
No details available.
SMART_DEV (3326.04: 0.417) card_prefix
SMART_DEV (3326.07: 0.000) free_space
SMART_DEV (3326.10: 0.001) _call_client FREE_SPACE
DeviceJob: 3 Send metadata to device done, calling callback
DeviceJob: 3 Send metadata to device callback returned
SMART_DEV (3326.14: 0.020) _call_client NOOP
Job: 3 Send metadata to device finished
No details available.
SMART_DEV (3336.22: 10.039) _call_client NOOP


So it seems that reconnect works, but is rather slow...

Once it had reconnected and synced it was fast to add a book.

Last edited by Adoby; 08-19-2012 at 02:59 PM.
Adoby is offline   Reply With Quote
Old 08-19-2012, 03:26 PM   #65
Kumabjorn
Basculocolpic
Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.
 
Kumabjorn's Avatar
 
Posts: 4,054
Karma: 20131415
Join Date: Jul 2010
Location: Sweden
Device: Kindle 3 WiFi, Kindle 4SO, Kindle for Android, Sony PRS-350 and PRS-T1
A progression bar really helps in these situations. It seems the app requires "floppy patience", but I don't think people know what that is.
Kumabjorn is offline   Reply With Quote
Old 08-19-2012, 04:06 PM   #66
Adoby
Handy Elephant
Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.
 
Adoby's Avatar
 
Posts: 1,105
Karma: 5168844
Join Date: Dec 2009
Location: Southern Sweden, far out in the quiet woods
Device: Ubuntu Linux, Cybook Opus, Motorola Xoom with Mantano Premium
CC is currently much slower than what it would be to remove the external SDHC-card and sync from Calibre to a folder on the card.

But I suspect that CC will improve.
Adoby is offline   Reply With Quote
Old 08-19-2012, 04:36 PM   #67
chaley
"chaley", not "charley"
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 5,630
Karma: 857074
Join Date: Jan 2010
Location: France
Device: Many android devices
Quote:
Originally Posted by Adoby View Post
CC is currently much slower than what it would be to remove the external SDHC-card and sync from Calibre to a folder on the card.

But I suspect that CC will improve.
Wifi is much slower than USB drive connections. This is a simple fact that can not change. We will look at ways to improve performance, but we will *never* get to the same level of performance.
chaley is offline   Reply With Quote
Old 08-19-2012, 05:46 PM   #68
Mr. Goodbar
Guru
Mr. Goodbar has a complete set of Star Wars action figures.Mr. Goodbar has a complete set of Star Wars action figures.Mr. Goodbar has a complete set of Star Wars action figures.Mr. Goodbar has a complete set of Star Wars action figures.Mr. Goodbar has a complete set of Star Wars action figures.
 
Posts: 918
Karma: 452
Join Date: Jul 2006
Location: Atlanta, GA
Device: Sony 950, Kindle Graphite DX, iRex iLiad
Quote:
Originally Posted by chaley View Post
Does CC disconnect but otherwise continue to run?

Could you post a calibre debug log? That will tell me exactly where in the message sequence it disconnects. It won't tell me why, but knowing the where will help.
Will do, but I'm traveling the first part of the week. I'll post when I return. CC does continue to run, just disconnects.
Mr. Goodbar is offline   Reply With Quote
Old 08-19-2012, 06:02 PM   #69
Molarsa
Junior Member
Molarsa began at the beginning.
 
Posts: 1
Karma: 10
Join Date: Aug 2012
Device: Nexus 7
I've been using Calibre Companion since the beta was released and haven't had any major problems, but after not using it for a few days and trying to fire it up today to transfer a couple of new epubs from Calibre to Mantano, I find that Calibre Companion is failing to connect to Calibre every time. I'm using the latest version of the Companion app (1.6.1), and Calibre (0.8.65) and testing it on a Nexus 7 and Galaxy Nexus.

I have the Wireless Device Connection plugin setup and turned on, but every time I try to connect with either the N7 or GNex I get the "Could not find Calibre" popup screen. I've tried using Calibre's IP address in the Calibre Companion settings and made sure I had the port set to something different than the port for the OPDS server and checked "fixed network port" but every time I tried to connect the little circle indicating connection would only appear for a split second than disappear again, and nothing happens.

When I clear everything and go back to the default connection settings, the circle would stick around for a few seconds, but then I get the "Could not find Calibre" popup screen again.

As far as I know my router/firewall have the exact same settings that were allowing Calibre Companion to run perfectly up until today, so I don't think that's a factor.

I restarted both the Nexus 7 and the Galaxy Nexus as well as my computer, turned the Wireless Device Connection plugin on and off, but nothing. I'm stumped, and pretty frustrated. I've been fiddling with everything I can think of for quite a while but it refuses to connect. Do I need to uninstall the Companion app? Go back to a previous version with Titanium Backup?

I transferred 200+ books over the course of a few of days with no issue, but now that I want to transfer 2 small epubs over, it's just not happening.

Edit-
Uninstalling/reinstalling the Companion App did nothing. Now I can't see any of my Calibre Books that I've previously transferred AND can't connect to Calibre. Also my Titanium Backups didn't run for some reason so I have no older version of the app to go back to.

Last edited by Molarsa; 08-19-2012 at 06:28 PM.
Molarsa is offline   Reply With Quote
Old 08-20-2012, 02:23 AM   #70
Kumabjorn
Basculocolpic
Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.Kumabjorn ought to be getting tired of karma fortunes by now.
 
Kumabjorn's Avatar
 
Posts: 4,054
Karma: 20131415
Join Date: Jul 2010
Location: Sweden
Device: Kindle 3 WiFi, Kindle 4SO, Kindle for Android, Sony PRS-350 and PRS-T1
For what it's worth I did a transfer of two books, did a new search on Calibre and then tranferred two more books, no distruptions, no failures, just worked flawlessly.
Kumabjorn is offline   Reply With Quote
Old 08-20-2012, 03:03 AM   #71
Adoby
Handy Elephant
Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.Adoby ought to be getting tired of karma fortunes by now.
 
Adoby's Avatar
 
Posts: 1,105
Karma: 5168844
Join Date: Dec 2009
Location: Southern Sweden, far out in the quiet woods
Device: Ubuntu Linux, Cybook Opus, Motorola Xoom with Mantano Premium
Quote:
Originally Posted by chaley View Post
Wifi is much slower than USB drive connections. This is a simple fact that can not change. We will look at ways to improve performance, but we will *never* get to the same level of performance.
The actual transfer of books is not the problem. Even though I might have a few thousand books on the device, usually only a few of them has been added or have changed metadata and have to be synced.

The problem with many books on the device seems to be the initial connection between the device and Calibre, when info about the contents of the device is gathered and transmitted to Calibre. That process might take a very long time now, if you have a few thousand books on the device. Don't really know why?
Adoby is offline   Reply With Quote
Old 08-20-2012, 03:04 AM   #72
chaley
"chaley", not "charley"
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 5,630
Karma: 857074
Join Date: Jan 2010
Location: France
Device: Many android devices
Quote:
Originally Posted by Molarsa View Post
I've been using Calibre Companion since the beta was released and haven't had any major problems, but after not using it for a few days and trying to fire it up today to transfer a couple of new epubs from Calibre to Mantano, I find that Calibre Companion is failing to connect to Calibre every time. I'm using the latest version of the Companion app (1.6.1), and Calibre (0.8.65) and testing it on a Nexus 7 and Galaxy Nexus.
The place to start is with a calibre debug log (see FAQ item 3 on the first post of this thread). That will tell you if the smartapp driver is actually listening on the network, and if so on what port. It will also tell you if calibre "sees" a connection request, and if so what happens to it. Post the results, including the log, and we will go from there.

Question: after setting the fixed IP address & port, you said that the connection progress spinner appears and goes away, and "and nothing happens". I am assuming that means that "disconnect" does not appear in the action bar. Right?

BTW: the uninstall/reinstall will have erased CC's database. Once we get the connection working, you will need to transfer the books again.
chaley is offline   Reply With Quote
Old 08-20-2012, 03:12 AM   #73
chaley
"chaley", not "charley"
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 5,630
Karma: 857074
Join Date: Jan 2010
Location: France
Device: Many android devices
Quote:
Originally Posted by Adoby View Post
The problem with many books on the device seems to be the initial connection between the device and Calibre, when info about the contents of the device is gathered and transmitted to Calibre. That process might take a very long time now, if you have a few thousand books on the device. Don't really know why?
When a device is connected, calibre requires that device to provide metadata for every book on the device. For USB-based devices, this is accomplished by the calibre device driver scanning the file system and comparing the results to the contents of the .metadata.calibre file. As this clearly cannot work over the air, CC pushes the metadata to calibre. For some reason it takes around 1/4 second for calibre to send & receive a message (I think it is related to how python threads), so that is the time per book.

I will look at bunching up books into a single network transaction to improve on that 1/4 second, but I must be very careful. Some devices seem to have almost no memory, so creating bigger packets could crash CC.
chaley is offline   Reply With Quote
Old 08-20-2012, 03:32 AM   #74
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 26,121
Karma: 5101571
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
@charles: Just some thoughts about networking performance:

Is the 1/4 second round trip time independant of the amount of data being sent?

1) You can compress data, though you are probably constrained by the limited device capabilities.

2) It seems odd that threading would cause a 1/4 second roundtrip. If you can confirm that, say by writing a single threaded python program that talks to the device in test mode, then there might be something you can do to alleviate the problem. Some ideas: Use a more capable networking library, like zeromq. Or write a C extension that releases the GIL during each "session" of talking to the device.
kovidgoyal is offline   Reply With Quote
Old 08-20-2012, 04:14 AM   #75
chaley
"chaley", not "charley"
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 5,630
Karma: 857074
Join Date: Jan 2010
Location: France
Device: Many android devices
Quote:
Originally Posted by kovidgoyal View Post
@charles: Just some thoughts about networking performance:

Is the 1/4 second round trip time independant of the amount of data being sent?
Within reason, yes. For example, we send books in 200K packets, which seem to take the same time as 100 bytes. As an experiment we tried sending entire books as one "packet". In this case we did see normal network latencies added to the turn-around latency. Unfortunately, we also made older devices fall over dead, so we had to pull it out.
Quote:
1) You can compress data, though you are probably constrained by the limited device capabilities.
Yes, we are. One "side benefit" of our decision to support Android 2 is that we are seeing devices that are truly limited and slow. In addition, as noted above the size of the packets doesn't seem to have much of an effect on the latency.
Quote:
2) It seems odd that threading would cause a 1/4 second roundtrip. If you can confirm that, say by writing a single threaded python program that talks to the device in test mode, then there might be something you can do to alleviate the problem. Some ideas: Use a more capable networking library, like zeromq. Or write a C extension that releases the GIL during each "session" of talking to the device.
I haven't tried it in python, but I did build a test bed in Java to debug the protocol. When the test bed is connected to the device, the latencies are dramatically reduced, down to around 50ms.

My uninformed guess is that we are competing for the GIL with the other calibre threads such as the UI and metadata backup. I don't have any proof for that, however.

What I am looking at now is "streaming" information in certain cases. The base protocol is stateless request/response. If we "streamed", then certain operations would become stateful request/response* operations. This should increase throughput by eliminating the turn-around latency per response. Of course, it also increases risk of running out of some resource on the device (they seem to be good at that). We will see.
chaley is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Android App] Calibre Companion 1.7 Beta testing Adoby Devices 31 09-07-2012 10:13 PM
[Android App] Coming: Android app to connect as a device to calibre using wifi chaley Devices 92 09-07-2012 08:24 PM
[Android App] Can't get Calibre Companion to connect theangelicious1 Devices 2 09-01-2012 04:09 AM
calibre - send to device - android running Nook App. Mad_Robot Devices 6 10-16-2011 01:49 PM
Android app for reading web articles with Kindle (app and device) fivefilters Android Devices 0 07-02-2011 09:29 PM


All times are GMT -4. The time now is 05:23 AM.


MobileRead.com is a privately owned, operated and funded community.