The Horn of Valere was found and then stolen, and the Fellowship has to go get it back, while backing each other up as they learn what the wheel has in mind for them.
What I Liked & Didn’t Like
As with the first book, I see a lot of abysmal editingโฆreferences repeated over and over and over (about how the Aes Sedai can’t lie but they don’t always tell you what you think you heard, or you make a deal with them but it isn’t always the deal you think, or how most Wisdoms can’t tell anything from the Wind but claim to anyway, or how one particular character pulls on her braids EVERY SCENE SHE IS IN!). It’s really annoying. Not to mention discontinuities in spelling of names (Hawkwing/Hawking, Bryne/Byrne, etc.).
But, at the beginning, there is a giant plot hole for the premise. At the end of Book 1, at the Eye of the World, they found the Horn of Valere. They have it at the Castle Keep. In a strong room. And yet, the head of the keep is setting everyone up to go off and look for it. Sure, they’re keeping it quiet, but still? The Hunt is about to begin and the big honourable Lord is about to send his men off to look for something they already have? Then it is stolen, so they DO have to go look for it, after all, but he makes it seem almost a side quest to recapture the Dark Friend, Padan Fain, who stole it but that nobody except a few actually know stole it since they didn’t tell anyone they had it. Shhโฆit’s a secret. Yet they need it for the final Battle, and they don’t set EVERYONE after him. Umm, okay. Sure, whatever.
After that, we have stupid angst stuff with Mat and Perrin towards Rand (yawn), Rand acting like an child (yawn), and the women also acting fairly childish around each other.
The book could have been about a third of its length and really SANG with a focus on Padan Fain escaping, the women of the fellowship going off to train as Aes Sedai at Tar Valon, Rand and the gang travelling around the countryside following him, and everyone ending up at the end in the same area to fight the Dark forces, the Seanchan, and perhaps some of the Children of the Light too.
It’s a great epic battle and — spoiler alert — I love how the two baddies fighting ended up being blasted across the sky for all to see, along with Mat being the one to blow the Horn of Valere to bring the Heroes of Legend back to help everyone. And I like Elayne’s addition to the Fellowship.
I mentioned in my review of the previous book that I was having a terrible time keeping characters straight, and I went back and created an “index” card with all the names of the big players from Book 1 so I knew what was going on at the start of Book 2. It worked. I had 15 clear “good guys”, 13 clear “bad guys”, and then another 6 where it wasn’t clear to me. 34 in total. For this book, we’re up to at least 20 good guys, about 11 clear bad guys, and another 20 that are leaning one way or another, aka 51 characters to keep track of while reading. A couple from book 1 disappeared, mostly cuz they’re dead or were in a city we didn’t revisit, so about 20+ new ones added. The list of “grey” characters in the middle is getting a bit long, particularly some of the Aes Sedai, Seanchan and Children of the Light.
The Bottom Line
Come for the quest, ignore the angst, wait for the battle
Arthur is a former acquaintance of McGee’s and Chookie’s who manages to make it as far as McGee’s and no further. He is spent and has been picked clean by professional grifters since he last hung out with the crew. Chookie convinces McGee to see if he can perform a salvage operation on the stolen money while she performs salvage on the man.
What I Liked & Didn’t Like
The con was nothing extravagant, a fake land deal from which they kept extracting money from Arthur. When it was over, everybody took off, leaving him high and dry. However, the twist in the tale was that a woman from the former gang of friends around McGee and Chookie was the one who set him up, which added an interesting side motive to help.
There is a lot of razzle-dazzle in the beginning as McGee tries to figure out the best approach, only to find that most of it is irrelevant. The man behind it all was a professional con artist, and McGee has too much respect for his abilities to waste time trying to get anything back from him. So, he pivots to go after the big, hairy lug who likely killed one of his former partners.
There’s a good fight scene early on, but the character is hard to pin down. Boo is, at most times, reasonably simple muscle, and then suddenly he’s more like a master tactician that McGee can’t outsmart. The ending is somewhat predictable, reminiscent of two previous stories that concluded with fights on boats.
However, the one shining light for most of the story is the rehabilitation of Arthur. It starts off slow, reminiscent of the type of rehab that McGee normally does with women to build up their self-esteem, but it’s nice to see him regain some of his persona and help out / dig in at the end. A bit of a cheer for the underdog.
A Detective Inspector in Oslo catches a couple of cases — the apparent bludgeoning to death of a drug dealer by a student, found covered in blood, and the death of a lawyer who had defended the dead drug dealer.
What I Liked
I like the initial premise of a murder where the accused refuses to speak out of some sort of fear, and the link not to the student but to the murdered victim. Someone killed the drug dealer and his lawyer, and the accused might know why, but isn’t talking. There are some good movements within movements, and some simple subterfuge with office breakins.
What I Didn’t Like
The overall feeling of the book is bleak. The cops are rather bleak, having affairs to liven up their lives but not really feeling anything most of the time, more it would seem to alleviate boredom. There are powerful people involved but I never felt particularly tense with any of the machinations. More simply depressed.
Isabella Swan moves to live with her father in Forks, Washington, and is stressed about starting life in the small town, meeting new people in the high school, fitting in. Until she meets one of the locals, Edward Cullen, and her life takes a strange turn.
What I Liked & Didn’t Like
It’s hard to write a review of the original book 20 years after it became a global phenomenon. Cutting straight to the chase, Edward and his friends are socialized vampires who hide their identity while living in a small town and attending the local high school even though they are LONG past high-school age in vampire years.
I love the initial pacing as the author introduces Bella and all her angst about moving to a small town, fitting in, getting to know the locals, wondering if she’ll ever have friends again. Bella sees Edward, and his broader adoptive siblings, but they generally avoid others and stick to each other. All any of the other highschoolers know is they are always together and drop-dead gorgeous.
Then Bella starts interacting with Edward, and some weird things start to happen. A truck sliding out of control towards Bella is stopped by Edward with merely an arm; Edward seems to have superhuman strength and speed. And Bella’s new friend Jacob, a kid from the local Indigenous community, seems to have a hate on for all of the Cullens, despite everyone else seeming to like him AND Jacob normally likes everyone else.
Eventually, Bella figures it out, and gets to meet the rest of the vampire family. When things really start to go weird as she learns to interact and experience amazing things with them, like the infamous baseball scene. Kind of like watching superheroes play sports.
Now for the controversy. There is a LOT of criticism for the series for its less-than-literary writing (not everything needs to be Shakespeare or Twain) or the overemphasis on teenage angst (hello, it’s supposed to be about first crushes and teenage obsession, intensified by coupling with a vampire). However, perhaps the largest criticism was the unequal power relationship between Edward, as a super old vampire with powers who just looks like a teenager, and Bella, who is literally just a young woman feeling certain things for the first timeโฆand some concern that perhaps what she is feeling is brought on by the pheremones/charms that Edward exudes. I confess that it didn’t particularly bother me, generally because Edward doesn’t come off all that mature most of the time nor does it seem malicious. He’s certainly arrogant and condescending towards Bella, although it is primarily condescension towards weaker humans than her specifically.
Overall, I could maybe knock the rating down a star for the writing or a different star for the relationship imbalance, but ultimately, I have to jack it back up for the excellent world-building. I could do without some of the angst, but well, I was never the primary audience.
The Bottom Line
Come for the vampires, stay for the world-building
So, I’ve added seven data fields to 273 book reviews, eliminated approximately 30 pages of manually maintained lists, and added several pages that compile all my book reviews into a series of indices. It was quite the grind.
As I mentioned earlier, many of the early book reviews had remnants from previous attempts to establish a common look and feel. Back in the Stone Age, I had tried using pre-established plugins that developers had created. I eventually removed them; they were designed to leave some of the information behind in case I wanted to reinstall the plugin later or just have the pages continue to look fine. I didn’t want the remnants; I didn’t need them, but well, that’s what I had. In a few old book reviews, that meant 100s of old data fields, slowing things down. On average, the first 150 or so had about 50-75 remnants, I think. Far too many to remove manually. Now THAT would have been a grind.
Instead, I found some tools to batch remove extraneous content, leaving me with about 20 fields per post, but at least they were easy to work with one by one. I thought I would do about 10 BRs per day, and thus it would take me about a month to cover 273 old posts. I was doing them a bit faster after #150 or so, partly because the steps weren’t all the same:
Open the post
Delete 20 old fields
Add 7 new fields
Enter the data for the 7 new fields
If it was a new sub-category, go to the “series” page and create a new category AND create a shortcode for a subcategory “list” within that page.
The farther and farther I got into the updates, step 5 became less and less relevant — most of the categories were already established. In which case, I could update the data and press save before moving on.
When I reached 200 BRs, a minor miracle occurred…I had redesigned the reviews at that time and created a fresh review format. Since it never had any of the old remnants in it, the BRs from 200-273 had NO old fields to remove. I could just add 7 new ones, save the data, and move on.
Initially, it took me about an hour to update the code for approximately 10 reviews. Maybe 50 minutes or so. Not very speedily, hence the month estimate. However, when I reached about #100, I could manage about 15 in an hour. By #150, I could do almost 20. When I hit #200? I did the last 75 in one go, only two hours in total. My planned month-long project was completed in just over a week, with approximately 12 hours of work. Maybe a bit more. Definitely more than I wanted, but it is a much better approach than doing everything manually. I suspect I saved myself perhaps 5-7 hours worth of maintenance per year, so call it approximately a 6-hour incremental investment. I suspected I would have some data entry issues. How could I not, since I was designing on the fly? But I would have ways to verify things at the end.
If I review my original approach, which was to prioritize completion over perfection, I was going to delete a bunch of content, reduce my ongoing maintenance work, and functionality. Instead, I streamlined some backend things, which gave me a bit of room to spend some extra time under the hood now and add some bells and whistles. Let’s look at the result.
Results
I mentioned previously that I now have a very detailed set of pages that essentially do what the old lists did, but they are now automatically updated. Once the data is posted? It automatically adds the review to the various lists. Reviews are broken down by:
I thought I would reduce it to just the first two options above, but I managed to find some other tools that expanded the project beyond barebones, offering a lot more functionality with a smaller footprint. Not fully optimized, but still quite impressive for a revision.
Now, I have to admit, I am anal retentive, and I wanted to do a bit of data integrity checking on the list. For most of the main lists of “all posts”, those are relatively impossible to get wrong — they are generated by WordPress itself using most of its base functions.
The only real issue was, if everything was listed in a full list, would it show up WHERE it should in the sub-lists? The full archival text and by date of review were super easy and completely correct. The book review number had a glitch with one post, which turned out to be that the data I put in that field was for another field. Easy tweak, list went to normal. The ones by title, author and rating went fine from the word go, while the one by the year of publication had another glitchy entry that was easily corrected.
For the fiction and non-fiction lists, with all the sub-lists, the posts should show up exactly twice — once in either the fiction or non-fiction list and then once in one of the sub-lists for that genre, and grouped by series under the sub-headings.
But — spoiler alert — I apparently suck at data entry. I was expecting maybe a 2 or 3% error rate, but almost 10% of the posts had SOME sort of coding issue. The biggest glitch were about 8 non-fiction posts where I had simply defaulted to “fiction” because almost all the posts are fiction. I remembered on one post late last night that I hadn’t been paying attention to that field much in a few previous ones, although I wasn’t sure if that meant I coded them as fiction or I just mindlessly put in non-fiction correctly without remembering. It turns out that, yeah, I was mindless all right, just not correctly mindless. Easily fixed.
I also created a few categories and sub-categories that changed a bit over time. There were a couple of posts in non-fiction where I gave it a sub-category that would apply to that book, and probably no other in the whole collection. So why was I creating a sub-category for it as a series or genre? No idea. Again, easily fixed, but that was more about having designed on the fly without knowing the full data set. Once I saw the full data set, it was easy to correct. Originally, I thought “magic” would go into fantasy, but then I have some that are more paranormal in nature than fantasy. So I modified the paranormal grouping so that magic is clearly there (IF it isn’t fantasy with magic, that is). I also decided to set up some of my larger collections of readings (Nancy Drew, Sherlock Holmes and the Three Investigators) knowing they probably deserve a sub-grouping all on their own, given the size of the series. Oh, and haha, I realized that for Stephanie Plum where there are 20+ books, I wasn’t seeing them all…huh? Oh, right, the default is to show you just the first TEN in a series, not all of them. Oops, I need the whole list. But I would say third on the long list of little tweaking was that I coded something wrong…a few were simple typos like “ficton” instead of “fiction”, or I put RASC even though the code for the other RASC headings were “rascastronomy”. Another was a spelling mistake.
But the process was interesting. Looking at the list and cross-referencing everything was a pain in the patootie today, and sure, I could have waved it away as being anal-retentive. But the reality is that if I didn’t find those errors NOW, I would NEVER find them when there are 500 reviews or more. I am still not 100% sure I have everything grouped in the right order and sub-groupings, but unlike my previous manual lists, if I decide to reorder something, I can do it in about 60 seconds. I’m pretty happy with the new functionality and approach.
And did I mention that the grinding is done? ๐ Even if I still have over 300 reviews in my book system to write and will be lucky to get even a quarter off the pile before the end of the year. I’m wondering though if there are any lessons learned for my other collections of reviews (music, TV, movies, recipes, etc.). None of them are anywhere near as elaborate yet, but when I designed them, I built off the book review infrastructure and approach. Maybe later this year, I’ll figure out if I should be coding it that way. I’m also wondering if my index for photo galleries should be auto-generated instead of manually maintained.