Fanfiction – Preliminary Recommendations of Very Long Stories

This time, I’m going to try another experiment: There are several fics that, while good, are very long. I’m not sure when I’ll find time to read them all the way to the end, but it doesn’t seem fair to leave them unmentioned when I’ve already read and enjoyed at least twice the amount of text that many completed fics would have.

So, here are three very long fics that I’m still working through:

Living an Indoctrinated Dream by Aberron
Length: 1,088,123 words (and counting)
Fandom: Mass Effect
My Progress: chapter 53 of 89
Let’s start off with a do-over/Peggy Sue fic… one featuring The Illusive Man.
What makes this fic special is threefold: The characterization, the degree to which the author is willing to flesh out the cast to show off said characterization, and good use of intrigue.
Aberron really writes an interesting and sympathetic Jack Harper and pairs him up with a cast of original characters (both major and minor) who are enjoyable in their own right. (Such as the daughters he winds up having and the minor mention of one of their friends… a volus who’s a hardcore extranet MMO player.)
I wasn’t taking notes while reading it, so I don’t feel comfortable writing a full review, but it was quite engaging and I didn’t stop at chapter 53 because I lost interest… I stopped because, as is typical, I burned out on it after multiple days of spending my leisure time doing nothing but reading the same fic. I’ll come back to it sooner or later.
Probably a 4.5 out of 5 rating, but a final verdict will have to wait until I’ve caught up.
Re:Gamer by Akallas von Aerok
Length: 421,851 words (and counting)
Fandom: Naruto, Re:Monster
My Progress: chapter 76 of 115
First, I should be clear in saying that I’ve never read Re:Monster, so I don’t know how much of the fic is the author’s original creation and how much is just taken from the source material.
That said, coming in from the Naruto side, it’s certainly interesting and entertaining… and that’s usually the point authors fail on when copying too heavily from canon.
Again, one I didn’t think to take notes on. The gist of the story is “Take Re:Monster and substitute Naruto as the main protagonist” and, given Naruto’s canonical goals (become Hokage, protect his precious people), it fits surprisingly well.
This story, I temporarily stopped reading not because I burned out on it per se, but because I was only mildly in the mood for a Re:Monster story to begin with and other events in my life distracted me with more appealing options. I do still plan to come back and finish it when I’m in the mood again.
I’d rate this at 4.0 out of 5 and it shows no signs that my verdict will change when I read further.
Dreaming of Sunshine by Silver Queen
Length: 684,229 words (and counting)
Fandom: Naruto
My Progress: chapter 63 of 143
First, let me admit that this fic is actually the reason I don’t have a normal review this week. I am working on a review… I just can’t complete it until I catch up… so, here’s a summary of the relevant bits of the draft:
The story is a self-insert, but one novel enough that TV Tropes claims it’s got quite a bit of fame in the fandom.
As a concept, the main character is Shikamaru’s twin sister. She’s smarter than in her previous life (which causes a moment of emotional distress when she realizes that), but not as brilliant as her brother. Her memories of Naruto as a work of fiction have faded, and she lacks any kind of special SI powers.
What results from that is an entertaining story which I can certainly believe to have earned acclaim.
For one thing, It does the most impressive job I’ve ever seen of coming up with explanations for oddities in Naruto canon that you then want to add to your own headcanon.
More generally, Instead of stomping all over canon, it’s a story as much about the heroine’s inner struggle as her outward actions. She becomes a ninja… because it’s her only chance to possibly gain sufficient self defense skill after she paints herself into a corner career-wise.
In relation to canon events, she walks a tightrope where she makes the details novel, while the broad strokes seem to remain unchanged… and that fact worries her to no end. At the same time, she has some delightfully snarky mental MST3K-esque reactions to canon people, places, and events.
So far, I’d rate it as a 4.7 out of 5 because it gets all the technicals very right, but I’m still likely to only ever read it once for some inexplicable reason. (Compared to NGE: Nobody Dies, which I read as it was coming out, re-read a few years ago, and am considering re-reading again, despite it being nearly 600,000 words long.)
Posted in Fanfiction | Leave a comment

Fanfiction – Dark Horse

I was quite busy this week, so how about something a little different than usual, in that I’d normally put it in my recommendations group and call it a day. (I try to limit my inclusion of My Little Pony fics on this blog, for a variety of reasons, including having best-in-class tooling for finding something to read and some readers preferring to avoid it on principle.)


Dark Horse — A Five Score Tale From The Dresden Files by Lord Of Dorkness is a Dresden Files – My Little Pony crossover which does an amazing job of capturing the Dresden feel while blending it into a “Five Score” fic.

…and now to explain what a “Five Score” fic is. Five Score, Divided By Four is a My Little Pony fic in which the main character, an ordinary human, gets an unwanted 25th birthday present when he discovers that he’s turning into a character from My Little Pony. It turns out that he (and countless other humans) are actually reincarnated ponies from the My Little Pony setting who were cursed by Discord, a former villain who wasn’t really as reformed as he claimed. The story touched off an explosion of spin-offs by various authors, some canon to the original and some not.

That’s the main thing you need to know to enjoy Dark Horse since, as long as you’re willing to either pay close attention or do a Wikia search for various character names, the story is significantly more Dresden Files than My Little Pony.

Prior to the story’s start, Harry Dresden winds up turning into Fluttershy, who, in addition to canonically being a cute, soft-spoken wallflower, shares a surprising number of characteristics with Harry Dresden. As Lord of Dorkness puts it, “Far too kind, a thing for animals, strange magical powers the average pony/human doesn’t posses… Oh, and yeah. Unholy horror once actually angered!”

The story proper starts when Harry Dresden receives a visit from someone claiming to be a friend from a past life… things go downhill from there as the cast who remember their past lives are so caught up in their certainty that their perception of the situation is correct that they completely botch the contact and come across as either villains or under the sway of villains.

What then follows is a very Dresden-esque sequence of events in which he winds up picking up Rainbow Dash Nemo Schwartz as as a fellow cast member and getting the better of their pursuers. (This works well, narratively, because most of what has already been written functions as Act 1 and making a habit of trouncing the antagonists he can see is only complicating things for Harry when the later acts start.)

Now, because this feels like act 1 of a significantly longer story, it’s hard for me to really summarize high-level plot details which are relevant. This is, again, one of the stories where the specialness comes from how all the fine details fit together to make for a satisfying reading experience.

There are also a few twists I don’t want to spoil… though I will say that I love what’s revealed in chapter 7 about the natures of Dresdenverse magic and Equestrian magic. It’s an elegantly clever bit of world-building and very satisfying to boot.

All in all, while not the only Dresden – My Little Pony crossover I’d consider good, this is certainly the one which feels most strongly like a Dresden Files story that had My Little Pony injected into it, rather than the other way around.

Admittedly, it does have a bit of a “you’re only seeing a small portion of what you want to see, despite how many words you’ve read” effect, so I’ll have to mark it down for that.

Given that this is my second time re-reading it, how uncommon it is to find something which tries to follow Jim Butcher’s style this well, and how much I enjoy reading it, I’ll say that it’s a 4.7 out of 5 if it never updates again and a 5 out of 5 if it does manage to progress significantly.

It’s just a shame that, as of this writing, Lord of Dorkness wants to work on the next chapter, but is being wrung dry by his job.

Posted in Fanfiction | Leave a comment

Fanfiction – Harry Potter and the Price of Being Noble

While I was looking up Harry Potter & the Curse’s Cure, I also ran into the other Harry Potter harem fic I first encountered around the same time, so why not a review for that too?

Harry Potter and the Price of Being Noble by DriftWood1965

The major problem with this story is that, while the story starts out reasonably strong, it has a major dip in quality near the beginning that can drive people away before it rebounds.

As far as the plot goes, the story diverges from canon at dinner, before the selection of the Triwizard champions, when one of Fleur’s schoolmates takes the last of the bouillabaisse to spite her, and she comes over to the Gryffindor table to ask if she can take theirs. In doing so, she takes notice of Harry (and his non-reaction to her allure) and all of the rest of the differences ripple (subtly or obviously) from that point.

The story then follows Fleur until the second task, as her opinion of Harry develops from liar, to honestly not wanting to be in the tournament, to both noble and impressive beyond his years, to finding him appealing despite knowing that he’s too young.

It’s during their ascent after recovering their hostages that the main portion of the story begins, with Gabrielle undergoing a truly magical growth spurt at the worst possible time. Harry winds up being instrumental in saving Gabrielle’s life, while risking his own, and both Fleur and Gabrielle wind up impulsively naming Harry their bondmate.

(Bear in mind that, through the magic of long chapters and an abridged retelling of canon events, this is all within the first three chapters of this 52 chapter story.)

Unfortunately, like Harry Potter & the Curse’s Cure, this story requires you to bear with some less-than-ideal writing while it’s setting up the main conflict. However, in this case, it’s especially noticeable because it represents a drop in quality from the Fleur scenes which preceded it.

When the story’s perspective switches from Fleur to Harry, it’s just in time to receive an exposition dump. The writing quality drops significantly, with the exposition seeming so rough and formulaic that the the nature and legal status of the bond feel somewhat contrived and copy-pasted from a story of much lower quality. Give it a little time to find its feet there. However, like Curse’s Cure, it does improve if you either skim or soldier through those bits.

I should also mention that circumstances later result in Hermione being added to the group.

As far as problems go, the only one which really comes to mind is the aforementioned dip in quality… but roughly half a dozen chapters where the quality has dipped to 3.5 out of 5 (+0.5  on a scale from -2 to +2) and is trying to climb back up are nothing to sneeze at… especially when you’ve had a much better first impression to compare them to.

On the plus side, while the story is no “Effects and Side Effects”, it does start to provide a steady stream of original-feeling elements and around chapter 11. Examples of this include:

  • I’m not sure I’ve seen any other stories where, upon discovering Harry’s childhood, Dumbledore seeks to improve Harry’s opinion of him by proposing that Sirius and Remus enact harmless pranks on the Dursleys in retribution.
  • Dumbledore freely admits to keeping Harry’s inheritance tied up in the courts because there were problems (of an interesting nature) when James and Lily’s wills were unsealed and, if Harry gets his inheritance before his age of majority, the Dursleys have to be notified and might get control of it.
  • Fleur gives Hermione one of the best explanations of the house elf perspective that I’ve ever read.
  • The plethora of alternative interpretations for the prophecy is pruned away with one simple piece of information from Dumbledore: It is a known fact that prophecies are always given using the language and cultural context the seer is most familiar with.
  • Taking inspiration from what became of Bertha Jorkins, Amelia Bones takes the opportunity to leave Lucius Malfoy in a room alone for 20 minutes, then obliviates that time in the hope that Voldemort will assume it must be a false memory.

As in Effects and Side Effects, it has Harry selling the Basilisk’s corpse though, in this case, it’s at Dumbledore’s urging since, if Harry doesn’t accept the money, it’s likely to be embezzled away by Voldemort’s allies.

All in all, I’d say that, once you get over that initial hump, the story is definitely a 4 out of 5 and worth a read. (If you have trouble with the low-quality chapters once it switches away from Fleur’s perspective, try reading the recap in chapter 14 and then skipping to chapter 10 or 11.)

Posted in Fanfiction | Leave a comment

Fanfiction – Effects and Side Effects

While I was working on my previous review, I kept thinking of how it compares to Effects and Side Effects by Pheonix Dawn. Given that I recently re-read it, and the story I’d planned for this week didn’t produce a review in time, I guess I’m overdue to review this.

Effects and Side Effects is a harem fic… but not your typical one. Rather, it’s more a well-written “group of friends” story where most of the friends are girls who wind up sharing their romantic subplots with the guy and each other. It also has a few tweaks to the formula which really help to make it shine. (There is one contrivance, but, given how it’s played, I find it excusable.)

The story starts when, in the wake of the Ministry battle in Harry Potter and the Order of the Phoenix, Voldemort’s research turns up a way to retrieve the piece of his soul from Harry… and possibly steal some of his power in the process.

Instead of being ordered to assassinate Dumbledore the following year, Draco is ordered to force-feed Harry a potion before this year ends. The mental assault behins, but Harry manages to fight it off Voldemort’s mental assault and Voldemort is left incapacitated (an elegant way to keep him out of the way so the story has time to develop differently).

However, it’s the side-effects that are most important: Harry’s magic is freed from draining and dampening effect the Horcrux had been imposing… and Harry gets turned into a girl. (The gender transformation is the contrivance I mentioned. A minor mention is made of the potion having a long list of side-effects, but this just feels too specific, unrelated to what the potion does, and convenient for the author… and I say this as someone who likes gender-bending fiction enough to run an index of it.)

The harem aspect comes in when, to ensure that Harry can share secrets with them, Susan Bones leads Hermione and several other girls through an oath which technically counts as a magical marriage.

This is where this first bit of clever authoring comes in: As long as they don’t consummate the union, the bond can be broken with no consequences… but to do so is to give up the the very secret-protecting side-effect that prompted it in the first place. Sure, they can leave at any time, but they’re not going to until Voldemort is gone… and, by then, they’ll have grown too close to each other to want to.

That’s also where the second smart decision comes in: Each girl has her own distinct reasons for staying (some personal, some political, and one will leave) and the only psychological effect the bond has is to suppress jealousy and encourage empathy among the participants. No compulsion or coercion… just giving a reasonable excuse for odds to favour the harem working out.

As for Harry’s… masculinity deficit, that’s also done well. It’s established fairly early on that, while the time frame and method are initially uncertain, he will be regaining his male form. More importantly, it’s not played up as some kind of “author’s kink” kind of situation. In fact, the story minimizes how much attention is drawn to it. Being in an embarrassing and unfamiliar body, with a freshly dead godfather and a prophecy hanging over your head, is not sexy and having the prose dwell on the minutia of one body vs. another doesn’t fit the “original, yet in-character” direction the story aims for. Instead, it’s just another reason for Harry to accept gestures and/or offers of emotional support from Hermione and crew. (I often forget that Harry is in female form or know, but I am  too focused on other details to care. That’s an excellent sign, given the nature of the story.)

Now, I mentioned that the other stories keep reminding me of this, so let’s go into detail.

In Harry Potter & the Curse’s Cure, I appreciated the amount of detail the author put into the Potter estate. It was creative, memorable, and engaging. In this story, on the other hand, they are given a “territory” to work with, but it’s an even more creative solution that I don’t want to spoil. However, I will say that they have a concealed magical extension built onto Hermione’s house after one of the girls encourages Harry to harvest and sell the Basilisk’s corpse. Definitely a unique and memorable original addition to the setting and one with major significance to the plot.

After that, the next thing that comes to mind would probably be the characters in this story. Both stories are good at enjoyably fleshing out canon characters and adding OCs (including muggles), and both stories annul Narcissa Malfoy’s marriage and turn her into an ally. However, this story has more interesting OCs and more variety in interesting interactions in my opinion. (Including actually spending a satisfying amount of time on scenes involving muggle OCs being introduced to the existence of the magical world without it feeling like the author is throwing out the HP feel in favour of their own life experiences.) It’s also a great example of how to do a “Harry befriends the goblin nation” plot well, if you don’t want to put a lot of effort into fleshing out original cultural details for them.

The final major commonality would have to be the “bring the muggle law enforcement into it” plot which comes in late in both stories. In Curse’s Cure, it’s the formation of a military corps made up of soldiers with wizarding relatives. In this, it’s MI5 and MI6 finding a legal loophole which allows them to get in contact with Harry and company… though that’s not the only muggle-magical intersection to it. Thanks to a bit of inspiration from Hermione’s father, one clever “muggles do it better” idea featured in the story is to use trap shooting gear to practice casting accuracy.

All in all, if I had to sum up this story in one word, that word would have to be either “balanced” or “well-woven”. The story has a lot of originality to it, but much of that lies in finding ways to properly implement ideas others have tried before. It has a lot of polish, but it does make the occasional mistake. It’s a FemHarry story, but that element is merely a significant part of the story, rather than dominating the narrative. It’s a harem story, but, at times, it feels like the story could have been written without the harem if only a better excuse could be found to get the girls and Harry together to plan and train and bond. It’s a “Harry’s summer” fic, but it’s got a healthy mix of other types of fics in it.

Definitely something I’d give a 5 out of 5 rating to. I’ve re-read this at least three times, it’s memorable, and I’d recommend that anyone give it a fair shot.

Posted in Fanfiction | Leave a comment

Designing a Better Rating Widget

After writing my previous blog post about calculating an average rating properly, it occurred to me that I’ve never really explained my views on rating systems and their relative merits.

Now, first, let me say that I won’t be getting into the whole objective vs. subject voting mess. (The “It’s a classic and a masterpiece, but I don’t want it showing up in my recommendations” problem.) That’s its own mess. This post is purely about using good UI design to encourage consistent input across a large population of users aside from that issue. That said, let’s get started.

These days, it seems like everyone either has or is planning to move to a simple up/down rating system. YouTube is probably the classic example. My understanding is that they moved from a star rating system to a like/dislike rating system because the former didn’t work out well with the general public. (Some people almost never give out high ratings, some people almost never give out low ones, some people found it too much effort to decide, and the result is a mess, mathematically.)

The fundamental problem with cutting things down to such a two-value system is that it fundamentally doesn’t give you much data to work with and it’s my hypothesis that it also encourages noisy, polarized data above and beyond the obvious, since people don’t typically take the time to rationally analyze their impression of middling content. (In essence, it’s throwing the baby out with the bath water.)

So, if we can’t reduce the number of choices users have by that much, how can we tweak the presentation so that users respond more consistently?

First, let’s look at where star ratings actually come from. According to Wikipedia’s Star (classification) page, the first instance of repeated symbols for ratings was in an 1820 guidebook by Mariana Stark, which used repeated exclamation points. Following that, Murray’s Handbooks for Travellers and the Baedeker Guides replaced the exclamation points with stars.

There’s something very important to notice here. Star ratings originated in the context of highlights! They wouldn’t give some semi-permanent pile of horse manure in a random London back alley a zero-star rating… they’d just omit it!

So, our first step should be to acknowledge that mismatch and bring ourselves into line with human psychology. When we have a low opinion of something, we don’t stop at zero. We use colourful words such as “hate”, “loathe”, “despise”, and “detest”, which express negative emotional value …so, let’s make zero the middle of our scale.

Notice something familiar about that change? We’ve reached upvote/downvote. It’s just a very primitive form of what we’re seeking. People may not agree on how much room to leave on each end of a scale for especially good or bad content, but everyone understands the meaning of a transition point between “like” and “dislike”.

So, what’s next? Well, how about ambivalence. In an upvote/downvote system, users are forced to take sides. There’s no way to express “I don’t really care”, “I have no opinion”, or “Its only noteworthy characteristic is how un-noteworthy it is.” …so we at least want three choices:

Thumbs up from Font Awesome by Dave Gandy.
Modified under a CC-BY-SA 3.0 Unported license.

I’m not a graphic designer, but you get the idea. With the addition of a middle choice, it already represents real human opinions much more effectively.

This is actually the bare minimum I consider for a viable system and, when forced to deal with like/dislike systems I resort to using “abstained from voting” as a means of expressing a third value… and that in itself is a clue.

I coloured the middle values yellow to make them distinct from “unset”, but is that really necessary? What’s the difference between “I viewed it and didn’t vote” and “I viewed it and selected the neutral option”? I’d argue that drawing such a distinction is counter-productive hair-splitting, so I’ll use grey for the neutral option going forward.

So, what’s next? Well, how about degree? Humans aren’t stupid, so I’m not willing to give up on a 5-step rating system yet. If we’ve got a clear and obvious meaning for the middle point, it’s not hard for people to consistently answer the question “Did you like/dislike it a little or a lot?”, so let’s put two choices for like and two for dislike.

Thumbs up from Font Awesome by Dave Gandy.
Modified under a CC-BY-SA 3.0 Unported license.

Using color/brightness on hover and/or selection to “light up” the icons spanning from the selected one to the center can reinforce the understanding that this is a “distance from the center” metric, but having everything grey exacerbates a problem that was growing with the face-based approach.

While a soft smile or frown can serve as a general “like” or “dislike” icon, one can dislike something for many reasons. Emotions like anger, disgust, and extreme sadness all have their own distinct facial expressions. It’s easy to mistake the face-based visualization as a request for a qualitative evaluation of one’s emotional state (anger vs. sadness) rather than a quantitative one.

Furthermore, faces are complex shapes which can be difficult to pick details out of at small sizes. What we need is a set of symbols which are generic, international, and scale well.

Historically, I wouldn’t recommend thumbs, since the meanings of gestures vary so widely around the world, but the thumbs up and down icons seem to have taken on enough of an international meaning online to keep them in the running.

…so what’s the alternative choice? Well, how about plus and minus symbols? Math is international and everyone can understand their meanings in context.

Thumbs up from Font Awesome by Dave Gandy.
Modified under a CC-BY-SA 3.0 Unported license.

Doesn’t that look a lot easier to translate opinions into than a simple row of five stars? …and if not, tooltips can give that little extra boost.

Thumbs up from Font Awesome by Dave Gandy.
Modified under a CC-BY-SA 3.0 Unported license.

(And there also seems to be support for this model from the experts whose salaries depend on doing this sort of thing. Every professionally administered survey I’ve ever taken has incorporated questions with the choices “Strongly Disagree”, “Disagree”, “Neither Agree Nor Disagree”, “Agree”, and “Strongly Agree”.)

In summary, don’t be too quick to sacrifice data and throw out a UI that isn’t working. Sometimes, all it needs is a little tweak.

Bonus Tip: Extra Precision

Let’s suppose that you’re trying to upgrade a system that uses out-of-10 rating or you need to serve a more experienced user base like me (who sometimes feel the need to rate something as being “great” rather than “good” or “excellent”). There is also a way to support this without falling back to the “5 stars to the right of zero” problems that started this whole mess.

The secret ingredient is decimals. Users will have a much easier time if you draw a distinction between normal (integer) and exceptional (decimal) rating precision. In fact, “Rate in the range from -2 to +2… use decimals if you need to” is not only easier than “Rate in the range from 1 to 10”, it’s also more powerful since, if necessary, it can be extended to however much or little decimal precision you need.

In my experience though, it’s so rare for me to desire precision beyond “-2 to +2 in steps of 0.5” than I wouldn’t be concerned with it.

So, how do we produce a UI for this? Well, think about the psychological use of decimals. They’re extra precision that’s not normally needed, so they should be out of the main workflow where users don’t have to fret over them.

There are various ways to accomplish this , but the simplest way to visualize them would be a design inspired by the keys on a piano. Play all the white keys, and you can make perfectly good music in the key of C major… but the black keys are there when you want to do something more advanced.

Thumbs up from Font Awesome by Dave Gandy.
Modified under a CC-BY-SA 3.0 Unported license.

…keeping in mind, of course, that, for mobile use, it’d probably be best to hide the half-step buttons and present some kind of alternative method for entering high-precision information, such as a hamburger button with a popup.

(As zero-centered designs lend themselves best to odd numbers of choices, you’ll have to decide whether the tenth choice should be omitted or added onto either end on a case-by-case basis.)

Posted in Geek Stuff | 2 Comments

Calculating and Sorting by Average Ratings: A Literature Review for the Lazy

TL;DR: Read Bayesian ranking of items with up and downvotes or 5 star ratings by Jules Jacobs. I’ll get back to you on how to tune the priors and utility values.

Years ago, when I first had the idea that prompted me to register as a placeholder page, I went looking for a mathematical solution to the problem of bias in story ratings built from very small samples.

Given that this explanation of Wilson scores brought it back to mind, I thought I might as well blog about the topic for anyone who wants to know how to calculate average ratings properly.

I’d recently finished a very basic statistics course and, when I stumbled across How Not To Sort By Average Rating by Evan Miller, I recognized the principle of using the lower bound of a confidence interval, but didn’t know how to generalize it to the multivariate data that is an out-of-5 rating and didn’t find any candidates that were as well-suited to use by a stats novice as Miller’s post.

Since then, that very question got asked on Cross Validated (the StackExchange site for statistics), and a good point was made: The “lower bound of a confidence interval” method will seriously under-estimate things with a low number of ratings.

raegtin gives a good theoretical answer for methods of resolving that problem, but I didn’t yet have the much better stats textbook that’s now in my TODO pile and wasn’t in the mood to soldier through the theory on my own, so I kept looking.

Not longer after that answer, Evan Miller came back with a less hacky solution for up/down ratings which makes good reading if you’re trying to learn the theory without a textbook… but still didn’t meet my “I don’t trust my math. Give me something someone else trusts.” needs.

Now, that said, some people do apply the Wilson score to multi-value data by scaling the range down to between 0 and 1, so a middling rating counts as half an up vote. That’s what this MySQL solution and this Node.JS module do) but it has a big flaw. As Apocalisp pointed out when someone else thought of the idea, it leaves you with 300 3-star ratings being equivalent to 100 5-star ratings. He suggests calculating a Wilson confidence interval for each possible score, then working from there (and I’ve seen it suggested elsewhere), but I wouldn’t feel comfortable with that even if his suggestion had been around earlier, because I couldn’t find a detailed breakdown of why it would produce good results.

Ironically, the oldest resource (What is a better way to sort by a 5 star rating? on StackOverflow) is one I found just recently (Google Fu failure!). Despite that, it’s probably the most useful of the StackOverflow answers.

That said, let’s get on to the aforementioned resources it links.

In 2014, Evan Miller came back with “Ranking Items With Star Ratings“, which is a detailed look at the problem and how to solve it… unfortunately, I was sleep deprived when I encountered it and the massive wall of equations which didn’t end in sample code prompted me to shelve it for later. (Ironically, I can’t evaluate it right now either, because today is the one day this week that I slept terribly and I’m too busy to risk delaying this post until I have time.)

Finally, I came across “Bayesian ranking of items with up and downvotes or 5 star ratings” by Jules Jacobs (written in response to Evan Miller’s improved upvote/downvote code) which is in a form my sleep-fogged brain can handle.

It’s a simple, easy-to-understand explanation for people with minimal background in statistics, it guides you through thinking at the problem from the right direction (eg. what does the utility function really mean?), and comes with Python example code for if you really can’t be bothered to do anything more than copy-paste code.

As for making it efficient, the fact that it’s a modified arithmetic mean allows us to calculate it incrementally as long as we store both the score and the total number of votes with enough precision that we don’t have to worry about rounding errors.

  1. Multiply the average by the total vote count to reverse the final step of the process and produce what I’ll call the “expanded average”.
  2. Perform the weighting calculations for the new value
  3. Add it to the expanded average.
  4. Divide the expanded average by the new total number of votes.

This works because of two properties:

  • Addition is commutative, so it doesn’t matter which order you sum together the individual ratings.
  • The division and multiplication are symmetric, so 1 + 2+ 3 + 4 + 5 and ((1 + 2 + 3 + 4) / 4 * 4) + 5 are mathematically equivalent.

It’s not perfect, since you don’t have a nice averaged number in the range from 0 to 5 to display, but it’s definitely a good start if sorting and graphical visualizations are your goal. (Evan Miller’s approach is probably best if you need to display numbers.)

That leaves only one question: How do you tune your priors and utilities? …I’ll get back to you on that one after I have time to research it.

Posted in Geek Stuff | Leave a comment

Fanfiction – Harry Potter & the Curse’s Cure

How about a Harry Potter fic that, despite being a blend of various clichés, was still interesting enough for me to re-read it?

Harry Potter & the Curse’s Cure by Dragon-Raptor is a harem fic where Hermione and two other girls sleep with Harry at the beginning of the story arc. It has Slytherin House being written as what I call “implied suffering porn”. It has Weasley bashing. It has a manipulative “road to hell is paved with good intentions” Dumbledore. It has some kind of soul-mate bond. It has a veela bond. It has Lily Potter not actually being dead. It gives Harry a massive Potter Estate. It kills off family members of some of Harry’s friends in a rather formulaic way. It has OCs who threaten Voldemort’s significance as a villain. It has an unprofessional use of an ampersand in its title.

…and, despite all of that, it does well enough and has enough novel elements that I remembered it, sought it out again, and re-read it.

It justifies and redeems Ginny… but not in too “happily ever after” a way. It has things getting bad enough that it shocks Dumbledore into re-evaluating himself… yet he struggles with slipping back into old habits and modes of thought. It gives Luna a cat-sized pet dragon. It actually has some entertainingly novel ideas for what the Potter estate encompasses. It gives Hermione an uncle freshly retired from the military who is an enjoyable character in his own right. It gives Lily Potter a “not dead” setup that I’ve not seen done before or since. …and, in general, it starts out tolerable and progresses into being very engaging.

All in all, I’d give it a 4 out of 5 (+1 on a scale of -2 to +2) and say that, once it gets going, both the harem element and the “bringing the muggles in on it” element feel as if they took some small amount of inspiration from Effects and Side-Effects and benefited from doing so.

That said, I do wish it didn’t take its dragon lore from How to Train Your Dragon. When Harry’s animagus form is revealed to be a Night Fury, the fact that it’s a random detail borrowed from another fandom (that’s not being crossed over with) shouts “Hey! Author laziness here!” to me, which needlessly wears on the story’s sense of immersion.

Posted in Fanfiction | Leave a comment