Sunday, February 26, 2006

"Users with your books" is better

Update: The server migration appears to have gone off without a hitch—anyway, LT's had of the usual random, corrupting crashes since the changeover. I am a little behind on email, but will be—amazing to say—out of touch today.

The "Users with your books" box on user profiles shows how many books you—or any user—share with other LibraryThing users. Unfortunately, it counts all books equally—Harry Potter as much as something rare. And there was no dampening of big libraries, so everyone had the largest library, ellenandjim, near the top.

LibraryThing used to have a page that munged your "shared books" in various ways. The algorithm was, however, very inefficient, so I had to drop it somewhere around 1 million books. I've brought it back. It better than ever and it wont clog the server (another side-benefit of the new "works" system).

You can see the new feature by clicking the "weighted" link in the "Users with your books" box on your profile. It takes account of both book obscurity and library size. It really works for me, anyway, sifting to the top a number of users I'd never seen, but who share some of my favorite stuff. Try it out and tell me what you think.

PS: The 2:30am EST downtime is still on.
PPS:
Feel free to chime in on this topic. My first task in the next week or so is to work on bugs and infelicities. After that, should I work on a "groups" system or a "forum"? A groups system would, among other things, allow a group of friends, a club or other association to easily search a bunch of libraries. There would also be group profiles and so forth. A "forum" feature would bring interactive, mutli-person discussion to LibraryThing. It would be very closely tied to the work, author and tag system, not just being "another place" to discuss books. (It would, of course, have a place to discuss bugs too.)

Downtime 2:30am EST / 11:30pm PST

LibraryThing will go down at 2:30am EST / 11:30pm PST / 7:30 GMT for a major swap. The "big new server" I got some months ago has proved very fast, but also glitchy. My database guy thinks it was some interaction between the OS FreeBSD and MySQL. He's made a Linux server—exact same hardward—that seems never to crash under similar stress. That sure would be swell. Everyone cross your fingers!

Oh, and don't worry about your data. Obviously the change-over will be backed up six ways from seven.

2.5 Million tags!

LibraryThing just hit 1.8 million books and 2.5 million tags. Since we're going to hit 2 million books soon, I'll talk about the tags today.

As the tags accumulate, they are also generating a lot more value. Tags are mostly useful personally and statistically. Tags are often played up baselessly—as if a few scattered and general tags are of any use to anyone. For statistical purposes you need a LOT of tags, so frequency patterns can emerge and anomalous entries fade into the background. And tags are primarily interesting in concert, not by themselves. Because tags are non-heirarchical and often short, they lack the "context" of something like the Library of Congress subject headings. Other tags can provide that context.

That's why the "tag similarity" algorithm takes many tags into account, favoring recommendations that match on more than one. Take the messy example of a mid-level book, T. E. Lawrence's Seven Pillars of Wisdom. What the heck is that? Its all over the map—literature, WWI, Middle East, Ottoman Empire, Arabia, history, autobiography, memoir, etc. The recommendations try hitting many of these tags at once—books like Fromkin's A Peace to End All Peace (WWI, Middle East, history, Ottoman Empire, etc.) and Robert Grave's Goodbye to All That (literature, memoir, WWI). It's not perfect—Edward Said's memoir!—but it's a hell of a lot better than any single tag could produce.

And, most importantly, every book and tag makes the statistics better.

Lastly, I wonder how LibraryThing's 2.5 million compares. I'm sure Flickr and Delicious have many times that number. But what else is out there? Amazon has encouraged product tagging for about three months, and they have thousands of times the traffic. I wonder how well that's going?

Saturday, February 25, 2006

'Twas the night before LibraryThing

I wanted to take a second to highlight an interesting use of LibraryThing. LibraryThing user _Celeste_ collects editions of the Clement Clarke Moore's "A Visit From St. Nicholas," better known as "The Night Before Christmas." Putting her collection online helps her—and the friends and family members who scout for her—keep track and avoid duplicates. In addition to putting her collection online, _Celeste_ has also added her own covers. (Needless to say, most of her copies are not available on Amazon.) Arrayed together, they are a pretty cool sight, and a monument to one collector's dedication. It would be great if more collectors put their collections and covers on LibraryThing. Old covers have a low profile on the internet because nobody has much of a financial stake in them, and there isn't anywhere central to "put" them. LibraryThing can be that place.

Check out The Night Before Christmas for most of the editions. Scroll WAAAY down to see her covers. Not all the editions have been combined into the master "work" (not should they), so also check out her dedicated tag and the books in her catalog. Great stuff.

The library came to my attention when Celeste reported problems with her 100 copies sending "shared book" stats through the roof. I've revisted how these are calculated. Profiles now list both the number of works and the number of books, if different. I've also brought back the "Shared books" box for all users' profiles, not just yours.

Thursday, February 23, 2006

LibraryThing leaps forward: Everyone a librarian

UPDATE: I changed the way I load covers. Is anyone still getting a "stack" error?

In the last three days I've added a slew of new features, and a new structure to support future improvements:

"Works" : user-controlled book combination and separation

LibraryThing would be pretty useless if connections, ratings, comments and recommendations considered every edition of something like Pride and Prejudice a separate thing, as other online cataloging applications do. In the past LibraryThing made a guess, like Amazon does, and failed about as often. Library technologists are starting to do somewhat better, but there was no perfect answer. It was time to try something new.

Starting three days ago, I announced a trial project to let users determine what books belonged together, the first time anything like this has been attempted. Using simple check boxes, users could go through a favorite author's works, combining and separating editions as necessary.

The response has been startling to say the least: In three days, users have combined 17,000 times, mashing together 42,000 works! Users have spent hours at the task, and debated the nuances in a blog post that now sports 182 comments. Although only a few of these Christmas elves are actual librarians, but most are experts on the authors they labor over. As one wrote on the blog, Isaac Asimov's Nightfall the short story collection, is distinct from Nightfall the novel and from Nightfall One. Do libraries know that? Does Amazon?

As with tagging, reviews, ratings, uploading scanned covers and other user content, LibraryThing users are taking book information into their own hands. And they're doing it because it's fun and they see the benefit right away—filling out the catalog with covers and cataloging data they wouldn't otherwise have, and connecting them with like-minded reasons, even if the person who's read every Asimov book they have did it in Finnish.

Book pages revised

Book information pages (the card-catalog, people and pencil icons) have been enhanced in a variety of ways.
  • Social pages show all the work's covers, by popularity, including user-contributed ones. (Note: Some Windows IE machines fail to load all the images. If the book has very many covers, this can show an error. I am working to solve this.)
  • Each edition links to Amazon, Abebooks, Alibris and other online merchants.
  • Editions also link to the OCLC's "Find in a Library" project.
  • Users can now swap covers easily, and for the first time snap up covers uploaded by other users.

New Recommendation Options

The new "works" system has opened things wide up for improvements. One of the first is an enhanced "recommendations" engine, now based on the "full work," not just some of its editions.

The new engine shows both "People who own X also own Y" and "Similarly tagged" books. The "raw" option shows "People who own X also own Y" without any weighting applied (J. K. Rowling rules!). The "exclude author" option is useful when a book triggers ten or fifteen suggestions by the same author, as happens with authors like Agatha Christie or Stephen King.

Search

LibraryThing now allows library-wide title and author searches based on the new work system.


Deweys and LC Call Numbers for everyone!

Until now, members who found books through the Amazon search (most of us), had no access to Library of Congress Call Numbers and Dewey Decimals, which only came through library searches. The new "work" system leverages everyone's cataloging, bringing true library data to 175,000 works, including most popular ones. These numbers now appear in your catalog, in green to distinguish them from your own numbers.

In addition to Deweys and LC Call Numbers, card catalogue pages now allow you to browse works' MARC records, a Matrix-like stream of data librarians are said to be able to decipher, and even enjoy looking at.

Forward

The new features have gotten a workout since starting testing three days ago, and users have been very helpful with bug reports and suggestions. Some systems are still transitioning, and some problems remain, but issues are being knocked down one-by-one. In my defense, developing LibraryThing is usually like working on a train while it's in motion. The recent changes were like turning a train into a monorail while it was in motion...

Some anticipated improvements include:
  • Fixing all occurrences of that MSIE6 "stack overflow" bug, and the pesky double-frames issue
  • A definitive statement on when translations should be combined (I'm working on it!)
  • Work disambiguation—there, I said it—available through the search system
  • Improved author disambiguation
  • Deweys and LC Call Numbers for all books, not just books in the system
  • Browsable LC Subject headings for all and sundry
  • A space-based laser to smite people who write in library books
Comments, suggestions, criticisms, complaints and bug reports always welcome.

Monday, February 20, 2006

Beta/unofficial features launch

Update: I'm going to give this another day of "beta." I updated the About Works and Books page. I'm going to work on making the "combine" feature less cluttered, and the "separate" feature more responsive.

A suite of new features have been launched in beta. The core feature is a change in the relationship between books, adding a robust concept of "works" to tie different editions together. This behind-the-scenes change has allowed a cascade of other, seemingly unrelated changes.

I plan to watch the site today, and receive in the blog comments, on the Google group and by email. I'll make changes and launch the features officially tomorrow. If you plan to blog the changes, I'd prefer if you did it tomorrow, when things are more stable. The same goes for praise and blame—to the extent you can, hold it, and if you are minded, give me solid, specific feedback.

The new features include:
  • Book combine/separate, available from author pages and the card-catalog page of a book. I took a swing at a few of my favorite authors (even getting into Rowling and Dan Brown), but the process is only beginning. I have also yet to fully explain the LibraryThing "way" of works.
  • Substantially-revised book-info pages (eg., social, card-catalog and edit pages)
  • Book-info pages include Amazon and user-supplied cover images.
  • Book-info pages now link to a number of booksellers as well as the OCLC "Find in a Library" service.
  • The change-cover feature has been improved. You can now snag covers from the 23,000 users have already uploaded.
  • Social pages now offer enhanced book recommendations in various flavors, such as "weighted," "raw" and "exclude author" (useful when every recommended book is by the same person).
  • All-LibraryThing title and author searching, available from the search tab.
  • Card-catalog pages now show LCCNs and Deweys for most books from Amazon—and more will get them as the work system fills out. At present, these are not available on the catalog view, but they will be, along with clickable LC Subjects.
  • MARC records for many books, often many of them.
There are some known bugs, and tweaks and changes to last a week or two. Your feedback is, as ever, invaluable.

Friday, February 17, 2006

Upgrade update

My promised upgrade is still in the works, and growing in scope by the minute. It will include:
  • A work structure, with work disambiguation
  • Better-looking book pages (social info, book info, editing), with multiple covers and the ability to tap into others' manual covers
  • Deeper, tweakable book recommendations
  • Edition-by-edition purchase links, going to an expanded selection of booksellers, with OCLC "Find in a Library" too
  • LCCNs and Deweys for most books
You will NOT see it today (Friday). It's not quite ready, and, as everyone knows, Friday is the worst day to announce anything. Thanks for your support.

Update: The widgets are fixed. Sorry about that. 2:07pm EST.

Tuesday, February 14, 2006

Tag expansion delay / 2am downtime

UPDATE: (1) Work-logic is still coming. In that connection, you will see incorrect "shared" numbers if you look at your catalog early this morning. It's still calculating the "initial" guesses. I had to redo it to correct for forgetting to hint that titles differing only with respect to capitalization were probably the same book... (2) I've expanded the tag field. If I don't notice a performance impact, it will stay that way.

The current tag field is capped at 255 characters. A post yesterday begged for an expanded tag field, and I said I'd look into it. I didn't get to it last night, but I will tonight.

I'm going to take LibraryThing down at 2am EST (11pm PST, 7am GMT—see I got the GMT right this time!). This will give me time to do the tag thing and bring some works-based stuff online. I've had to rewrite the "people who own X also own Y" system. In the process, I've added the ability to see the recommendations raw (Harry Potter wins!), weighted (the current system), omitting books by the author of the suggesting book, and flagging the books you already own. With luck, I'll bring that live tomorrow.

Monday, February 13, 2006

Work disambiguation and the "Ship of Theseus"

This blog post is long, and involves both showy mythological allusions and inside-baseball discussions of database structures. In brief, you'll be seeing some new features, but you may also catch some glitches as I bring them live. Thank you for your support.

In philosophy, the "Ship of Theseus" is a "replacement paradox." The story is that the Greek hero Theseus (you know, minotaurs and balls of string) rebuilt his ship during the voyage back from Crete—perhaps even while it was moving—such that the ship arrived at Athens with no piece of wood that had left from Crete.* The question is: Was it the same ship?

Anyway, LibraryThing is a true "Ship of Theseus." I'm rebuilding it as it moves. This week I'll be putting in a new keel—a whole new structure for thinking about books and works.

The former system was essentially composed of discrete books. If two books had very similar authors and titles (eg., two editions of Romeo and Juliet) , the system guessed that they were the same "work." These guesses were pretty good—particularly considering they had to be made on the fly—but not good enough. And there was no way to change them. Notably, the whole system operated without a separate "works" database. This was clever and economical, but also limited.

The new system introduces a robust concept of "work." On the database side this means a special "works" database, where each work has a title (the most common title of books belonging to the work). It is the way whereby most LibraryThing books can acquire LCCNs, Deweys and other cataloging information. It will allow users to discuss books—for example, on a forum—without worrying that they were only talking to people who had the same edition they did. Techies will like that it opens the door to an external API, relying on Library of Congress data, not Amazon data, which is forbidden. And, most importantly, it will allow ordinary people to participate in the sacred act of cataloging, combining and splitting books from works as they see fit. This has never before been done before. It's Wikipedia for book cataloging.

Anyway, all this is coming this week. The trick is, the system is so complex and involves so much "calculation" that I can't bring the server down, make the changes and bring it up again without unacceptable downtime. Testing it on my own Mac takes forever and won't give it the stress test it needs (LibraryThing can average 3,000 "queries" per minute!) So, I'm going to be rebuilding the ship while it moves.

In fact, the new system is already mostly in place, but invisible. It's going to become more and more visible as the week progresses. Once everything is changed and I'm satisfied it works, I will add the last element, exposing work disambiguation to the masses. Then I'll take down the old system.

So bear with me as I make these changes. The switch-over is highly planned; I even have stuff on paper--I'm a real programmer now! But the presence of two different systems will lead to inconsistencies in presentation and other hiccups. If you notice that your official book counts disagree by one, let it slide. If something breaks, wait ten seconds and try again. If book recommendations go briefly insane—well, serendipity is a good thing!

Advice corner. I still haven't quite figured out the user-interface on work disambiguation. I think it will mostly take place on the author pages. Users will click checkboxes by books and then click "combine books" to combine them. I'm not certain if "work splitting" will also happen on author pages. Certainly work pages will let you to see all the editions of a work, allowing you to remove one or more editions as not belonging to the work at hand. Your suggestions would be appreciated.

Lastly, I want to favor library titles for books. Amazon too frequently puts edition and marketing info into their titles. (This isn't their fault; they're not running a cataloging ap.) And using library data will allow LibraryThing to offer an external API. The only trick is, libraries don't capitalize the way most people think is "right." It's "Lord of the rings" not "Lord of the Rings." I think people will go ape if work pages, recommendations and other such start using library-format titles. On the other end, it's hard to write a perfect capitalization algorithm, and library purists may resent the use of the vulgar form. What to do?

* He also stranded his wife on a desert island, but the only philosophical issues there are ethical. The ancient story is actually a little different. According to Plutarch (Theseus 22-23), the Athenians of later days exhibited the ship that the ancient hero Theseus had sailed back from his adventures in Crete. Over time, the Athenians had replaced its planking bit-by-bit, until no part of the ship was original. Personally, I think the modern paradox should be changed again. Theseus' voyage was pretty much a straight shot, and, in the story, he gives no time to even changing his sails—although doing so would have averted his father's death—let alone rebuilding the boat from the inside out. The whole thing would make a lot more sense as Odysseus' ship, or Jason's. The latter has the advantage of allowing Medea to fix the ship through magical means, even while it moved. Of course, Jason ditched Medea too. What's with it with these guys?

Saturday, February 11, 2006

New feature: Improved tag editing

Entering tags when you use the Add Books screen has always bothered me. I wanted a one-step process, but that meant entering tags at the same time as you entered search terms. If you didn't enter tags then, you had to go through the "pencil," which took you away from the page, or wait until you had a whole lot of books cataloged and then use the catalog's tag-editing features.

To fix this I've added the same on-page edit feature that the catalog has. Edits change the tags in a "Ajax-y" way, without refreshing the whole page.

Here are the demonstration graphics:



Friday, February 10, 2006

Duplicate book warning / scheduled downtime 2am EST

Duplicate book warning. I've added a feature to the Add Books tab that flags when you add a book already in your collection. Since "duplicate" is such a slippery concept, it works exclusively by ISBN.



I will be rolling this feature out past the Add Books page in the coming days. I wanted to get this out there because a number of users wanted it as they re-add books lost during the crash.

Also—fair warning—I'm going to be forcing the ISBN fields to conform to a standard, hyphenless format (some libraries like to add hyphens). If you use the ISBN field for something else—like your own personal code—you may lose it in a day or two. Write me if you neeed help moving it.

PS: The book featured above, Sophie Belfort's The Marvel College Murders is fantastic, a hillarious, intelligent murder mystery—really a novel of manners—set at a fictional Boston-area university. I was amazed to find nobody else on LibraryThing had read it.

Scheduled downtime. LibraryThing will have a scheduled downtime at 2am EST (11PM PST, 8:00 GMT). My dba-helper is going to try something to improve stability.

Thursday, February 09, 2006

New mini-feature: Show all catalog pages

Users with large libraries rejoice! I added a link to show all the "pages" in your catalog. Here are the pictures.



Click "all" and get.



Yeah, it's a small feature. I'm still spending much of my time on the db issues, and answering a pile of mail... well, larger than my pile of gold :) When I recover my nerve, I'll return to work disambiguation and groups.

Two new features: Location search and archiving comments

Location search. The search page now allows you to search the locations users have entered on their profiles. As with everything else, providing your location is totally voluntary, but many users have entered on. It is also unstructured, rather than a zip code or something like that. For that reason, you may find it necessary to search once for "Massachusetts" and again for "MA." Here are the results for my home-away-from-hometown, Boston—39 users!

This feature is fun now. It will be more fun when I get forums, and users can swap bookstore suggestions, etc.

Archiving comments. I don't know about you, but I have a million comments.* So I added an "archive comments" link, so you don't need to delete a comment to get it off the page. There a link to view your archived comments.

I'm weighing revamping the profile page, to put the comments on a separate page. A even bigger revamp would be to provide LT users with an ersatz reading blog. Reviews could—at your discretion—appear, as could independent blog entries. I'm not sure if this would be on the main profile page or not. Probably not. Reactions?

* I beg pardon for still working my way through these and the emails occasioned by the crash. I find it physically impossible to answer comments for more than a few hours at a stretch.

Wednesday, February 08, 2006

LCCN Numbers now parsed

Before the crash I did complete one new feature, the accurate parsing of Library of Congress Catalog numbers.

LCCNs are slippery things, without a fixed number of digits or a single internal structure—"89-456," "89-7890," "2001-1114" and "gm 71-2450" are all perfectly okay. For this reason, LibraryThing was sometimes mistaking them for ISSNs and ISBNs, helpfully adding hypens and checksums digits to reinforce its misundersanding. Worse, the Library of Congress' online catalog doesn't allow searches by printed LCCNs. Instead, you have to turn them into a special machine-readable LCCN format, adding leading zeroes and removing hypens and spaces as they dictate (see here.)

Anyway, I worked through the tangle, and LibraryThing now handles LCCNs well, identifying them as such and converting them to the format the LC's requires*. I can tell you from entering 180 of my own books this week, that LCCNs come in very handy with older books, many of which have their codes printed on one of the first pages or even the back cover. Of course, I lost all those books. But I gave myself a free membership, so we're even.

*The one exception are LCCNs with "alpha prefixes." I never found one of these in the books I cataloged, but the LCs catalog page says they exist. To parse them, I need to know the range of possible prefix. Would, say, 1-4 alphabetic letters plus a space cover it?

Help for orphaned covers and maybe tags

Crash update. Thank you again for all the support you've given LibraryThing. I do appreciate it. I am still working through the hundreds of blog posts, profile comments and personal emails I received. Thank you for your patience.

Cover orphanage. Users who lost books also lost cover images. But the cover images were not lost, they were just "orphaned"—stranded without a "parent" book or user. Between Feb. 2 and 7 some 1,100 covers were added, many of which are now orphaned.

I have created a page showing these orphans. The page is at http://www.librarything.com/coverorphanage.php . The page shows the covers in reverse chronological order. If you added covers one after another, your books are probably clumped together on the page. If you lost 2 covers, I wouldn't bother. If you lost 50, you might find this useful.

To use one of the covers, right-click (or option-click, depending on your OS and browser) to get the image's URL. You can copy the URL into the "change cover image" page.

Help for orphaned tags? As some users have pointed out, tag edits made on the crash days are there but "invisible." Basically, this means that the tags are not printed in the catalog, but if you click on a tag, like "cooking," it will still list all the books once tagged cooking. Some users have used this feature to power edit their tags back in.

Yes, I could redo the visible tags based on these "invisible" tags. The trick is this: The "invisible tags" have no guaranteed order and they have no date. So, if I did this everyone's tags would lose their prefered order, even if they were tagged long ago.

I need to remove this inconsistency, either deleting all the invisible tags or making them visible, order be damned.

Some possible solutions:
  • Delete all invisible tags after a week. Before then, enterprising users can play with power editing the tags back.
  • Add a special field that shows the invisible tags, allowing users to edit them back into the visible tags.
  • Allow users to choose to replace all their official tags with the invisible ones en masse. Users who did this would understand that their tag order might not be preserved. Perhaps I could force an alphabetic order, something some users prefer anyway. (Other users are vehement against that.)
Suggestions welcome, here or at the LibraryThing Google discussion group.

Monday, February 06, 2006

Some books lost; apology and next steps

UPDATE: Many books found, but not all. Crash problem solved. See end of this post.

If you've been following the blog, you know that LibraryThing recently moved to a new, much better server. This move has made LibraryThing fast again, but the transition has been rocky. Yesterday, a glitch erased some recently-entered books, and the new server's backup failed.

The losses are from books added in the last four days (ie., since the server switch). Some books added since then were recovered from "bin" files. And all books added via import have been recovered, but only as a re-import, so any subsequent edits to those books have been lost. The site will go live this evening, once the import queue has finished and I've sent messages to users who lost books (see below).

Here are the steps I am taking for users:
  • If you lost books, the system will send you a profile message indicating how many.
  • Users who lost more than 25 books receive a free membership or membership upgrade. You can use it on your own account or gift it. Check your profile for information.
  • All members who lost more than 25 books and paid in the last 30 days can receive a full refund—thirty days is the period PayPal gives me to do this. Send me your user name and either the email PayPal knows or the PayPal receipt.
For the site, I and LibraryThing's database administrator are doing the following:
  • The import feature has been changed to screen out ISBN duplicates. This means that you can upload an exported file without duplicating or "writing over" books.
  • A second server (the old one), which is housed separately, will act as a constant "live" backup, getting all the same information that the primary server does.
  • The nightly backup has been fixed. (The new server's didn't have the right "permissions").
  • I will shortly improve the CSV export and add a tab-delimited export.
Although a "beta" project is subject to occasional lapses, this sort of problem is unacceptable. Those who have been affected have every reason to be angry. Since I am at present synonymous with LibraryThing, this is my fault. I offer you my apology. I will do whatever I can to make it right for you.

The person who has been helping me with the database offered the pithy remark "this sort of thing never happens twice." It's not that lightning never strikes twice, but that once you've been hit you stop bringing stainless steel cutlery to picnics. LibraryThing's new backup regime—nightly backups and an enterprise level "hot backup" at a different location (in fact, on opposite sites of the continent)—will go a long way to ensuring future data security.

Thank you for your understanding.

UPDATE: Comments posted to this entry noted that some missing books predated the server transfer. This was a good catch. At the same time, the server could hardly stay up five minutes. The problems were related. (And related to the previously-mentioned crc32 change.)

I found all these older books, substantially reducing the number of users affected. (Over 100 users can keep their free accounts although they have fewer than 25 books missing—most have none.) As for books entered Monday night, few users managed to enter any, but those that were entered were lost—the crashes were just too severe. All this did have one salutary effect—I figured out the big problem. I think it will stay up now.

Friday, February 03, 2006

Ironing out the kinks

Update: By twiddling something, LibraryThing helper database guy, Austin Swinney (profile), appears to have fixed the character issue. (The sort order is still Swedish—literally—but that's close to correct and I'll change it the next downtime.) I'm not sure what's happened to changes made in the last day. Can people send me problem instances?

So, LibraryThing got a new server. It's a good deal faster than the previous one. Although there have been some slow-downs while I did work—when I can, I prefer to leave the site up—average speed has increased substantially for most users. I've also turned back on some of the features I dimmed, eg., book-by-book recommendations. Yesterday some books were getting confused—thinking they were other books—but the problem was resolved.*

Here are some kinks I'm working through:
  • Accents and foreign scripts have been affected. The server move also involved an upgrade from MySQL 4.1 to MySQL 5, and I'm still straightening out the character-set changes. For what it's worth, it would probably be better if you didn't try to fix errors yourself, since they'll just become errors again when I fix the system.
  • The library-suggestion page is still down. I'm going to bring it back based on a different, better algorithm, which also says WHY a book is being suggested.
My next update will be to get the book/work issue resolved. This will go hand-in-hand with a redesign of the book-info pages. Here is a nonfunctioning sample for Charlotte Brontë's Jane Eyre. Look at how many different editions (covers) people have!

*For techies, crc32 in PHP is dependent on system architecture, so the move from a 32- to a 64-bit machine changed all my work numbers. Arg!

Wednesday, February 01, 2006

Down at 11:00 EST

I have to take LibraryThing down tonight at 11:00 EST (8:00 PST). I'm swapping in a new server, and there's just no way to do that "on the fly."

I don't want to over-promise, but I think it will help. (It's currently calculating book recommendations, at a rate of 500/minute!) More important than any short-term speed gain, it's set up in such a way that I can snap on additional servers at need. LibraryThing has a lot of different sorts of database interactions—from catalog-display requests to highly complex social calculations. Some, like widget-serving, must never wait ten seconds. Others, like a complex all-library word search, can. Ultimately, all these different requests should not be running on one machine, and one that also serves all the web pages, etc.

Anyway, it'll be down from 11:00 tonight until some time in the wee hours.