A little tool for command-line playlist building

For the last few years, I’ve been amassing a collection of little scripts I use every day to build playlists, both for Audacious and for MPlayer.

About a week ago, I realized that they’d started to duplicate each others’ functionality and refactored them into a single script which has different default behaviours depending on what it’s called as (but you can also use command-line flags).

So far, here are the behaviours it implements based on what you call it as (either via MPRIS [1] [2] or using a command provided via --exec such as mplayer):

aq
Add the given paths to the playlist.
ap
Like aq but start the first one playing too.
laq
Like aq but use locate -i to search for the first argument, filter for known media types and filter for the following arguments, then display a chooser.
lap
Like laq but start the first one playing too.
raq
Randomly select -n NUM songs (default: 10) from the paths provided (default: XDG_MUSIC_DIR) and add them to the playlist.
rap
Like rap but start the first one playing too.

…and all of these are just aliases to options listed in --help.

Until two days ago, the chooser was a simple little thing where you were given a numbered list of filenames and you typed in a sequence of numbers, optionally including Python-style start:stop slice syntax.

Now, if you’ve got urwid installed, you get a nice ncurses-style pseudo-GUI, complete with mouse interaction… though the scroll wheel support is preliminary and I’m still trying to figure out how to set up Tab-based focus switching.

Here’s a screenshot:

I haven’t had time to fully bring the codebase up to spec, write the last few new features, and write a test suite for it, but it’s good enough for my day-to-day use so, if you want to give it a try, it’s on GitHub in ssokolow/profile as home/bin/lap.

The queue option in the chooser can be toggled via the Q key or Meta+Q and, once you’ve selected all the tracks you want using Spacebar or the mouse, press Enter to commit.

In case I ever move it to its own repo and forget to update the link, you can also grab the revision at the time of this posting.

Posted in Geek Stuff | 6 Comments

Trifles Make Perfection

TL;DR: When you’re doing something creative, look for details which, with only minimal change, could greatly broaden your work’s appeal and staying power. (Also includes examples.)

Every now and then, I run across a creative work which frustrates me, not because it’s bad, but because the author made one tiny “unimportant”  decision that severely cripples either the story’s longevity or its appeal.

The most common example I run across is fanfiction where, aside from a few too many mentions of something like MySpace (as opposed to more generic terms), the story could easily last at least a decade or more without feeling strange. (Though breaking the atmosphere is also a common problem with mentioning things we recognize as contemporary brands in fanfiction since the source material generally occupies a different mental universe from what we encounter in day-to-day life.)

Hence, I appeal to people. When you’re doing something creative, please take a few minutes to think about what other people might care more about than you do. Ask friends to help if you can spare the time. I just don’t want to see good things fading into obscurity because of a minor oversight.

How about a more direct example. Two days ago, I was discussing musical tastes with a friend and, to clarify what she meant by “fan-song”, she sent me a YouTube link to a My Little Pony song.

Now, in order to get my point across, I need to be clear about my opinions. I have nothing against My Little Pony: Friendship is Magic but I’m not a fan either and neither of us approve of the Brony subculture. I treat it the same way I treat Care Bears… and some of my fondest childhood nostalgia relates to Care Bears but I don’t still watch it. MLP:FiM is a well-done show for people much younger than I am and, if my young self had access to it, I’d probably be nostalgic for it too.

Despite that, I’ve been listening to “Lullaby for a Princess” a lot. It’s a truly beautiful song and the lyrics are very cleverly phrased at times. (eg. “but such is the way of the limelight, it sweetly takes hold of the mind of its host”)

It’s relevant to this topic because, were it not for four uses of the word “pony” where other two-syllable words could readily have been substituted, it could easily transcend and outlive its fandom as a masterful expression of a common literary theme.

For those who haven’t had a need to google up the wikia page yet, here’s a little explanatory backstory: A thousand years before the first episode of MLP:FiM, Princess Celestia and Princess Luna ruled together, the elder sister with domain over the day and the younger over the night, both immortals.

Living in her sister’s shadow, Luna ends up feeling unappreciated and, one day, can take it no longer. Consumed by her pain and corrupted by how her emotions have fed into her magic, she refuses to allow the morning to come, determined to force the kingdom to appreciate the beauty of her domain. (as covered by “The Moon Rises“, which is also beautiful but was recorded before the fan group in question found a female member to do the vocals.)

Celestia is forced to choose her responsibility to her subjects over her love for her sister. With Luna refusing to back down, Celestia takes over dominion of night and banishes her sister to the moon for a thousand years to allow her emotionally charged self-transformation time to weaken. (“Lullaby for a Princess” is sung following this event, exploring Celestia’s guilt at her own blindness toward her sister’s pain and the responsibility she feels for how things turned out.)

Obviously, not all songs can be made more generally appealing in this manner. For example, “The Moon Rises” has a point where the lyrics include “the ponies of Equestria” and, even if I were to suggest a replacement for “ponies”, I can’t imagine an easy way to remove the kingdom’s name without weakening the lyrics.

However, in Lullaby for a Princess, the four uses of the word “pony” can be replaced very naturally. In the context of the song’s narrative, Celestia is just as much a “princess” as a “pony” and, with only a few seconds of thought, I can see that “no pony” could easily be replaced with “nobody”.

In fact, I think that such changes would make the lyrics more powerful for two reasons:

  • The song is about a sovereign regretting that she neglected her sister to the point where she had to banish her to protect the kingdom whose “limelight” she’d been blinded by. Referring to her as “a princess” rather than “a pony” supports the theme more strongly.
  • Compared to something like “nobody”, the one use of “no pony” feels a bit superfluous and impedes the immersiveness of the story for non-fans. (Sort of like fanfiction authors who include random bits of Japanese, not because they lack good English equivalents or because it aids comprehension, but because they think it’s cool.)

That’s not to say it’s not a beautiful song nonetheless. I’d still recommend it to anyone who can appreciate it despite its context, but it could have been so much more broadly appealing with such a small change.

To quote Michelangelo, trifles make perfection, and perfection is no trifle.

P.S. For anyone who likes those two songs, another fan did a cover of “Lullaby for a Princess” with modified lyrics named “Luna’s Reply“. Her voice isn’t quite as suited to the melody and, from what I read on wikia, I’m not sure if Luna’s un-corrupted personality would still exist in a state distinct enough from Nightmare Moon for it to be canon-compatible, but the lyrics are still excellent and the song is nice to listen to.

In case of dead links:

Update: Perfect Picture (MP3) by StormWolf is an excellent example of doing this well.

It’s nowhere near as deep as the ones I mentioned before, but it’s not supposed to be. It’s a catchy techno-styled musical summary of a famous fashion photographer who just happens to be a pony.

There’s nothing specifically restricting it to the MLP fandom because the lyrics focus on her character, rather than needlessly pointing out the fact that, like everyone else in the setting, she is non-human. From the lyrics to the musical styling, it’s a catchy musical summary of a character which also works as a catchy summary of a type of person if you have no idea who Photo Finish is.

That means it has a good shot at getting shared well beyond the fandom and surviving as “another catchy song” when MLP eventually wanes.

Posted in Otaku Stuff, Writing | 2 Comments

Making Coveralls work with PyPy and skip Python 2.5 on Travis-CI

I have a couple of projects that get tested on Travis-CI and I just discovered Coveralls, a tool which integrates with it to provide a code coverage badge to go alongside your build status badge. (and is also free for open-source projects)

Unit Test Status Coverage Status

Unfortunately, it seems that there’s a bug in the current Python client that causes it to error out when submitting coverage data from PyPy builds. (It tries to grab source for compiled PyPy modules with no source available and then dies when it can’t).

Here’s the boilerplate I use to skip it on Python 2.5 (which it doesn’t support), make it complete successfully on PyPy, and omit things like the unit test framework itself from the report:

Posted in Geek Stuff | Leave a comment

How To Invert Your X11 NumLock LED

TL;DR: numlockx off; xdotool key Num_Lock

I like to leave NumLock on all the time but, with my current keyboard, the indicator light is a blindingly bright blue. I noticed that the numlock light would sometimes get confused, so its behaviour was reversed (only on when NumLock was turned off) but I couldn’t figure out why until now.

Here’s the deal:

First, under modern versions of X.org with MPX support, the XInput system lets you have one or more master keyboard-pointer pairs, each which can be mapped to one or more physical keyboards and mice, called slaves. (You can examine this by running xinput in a terminal)

Here’s an example of what xinput outputs on my system:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ATI Remote Wonder II                      id=12   [slave  pointer  (2)]
⎜   ↳ Logitech USB Gaming Mouse                 id=13   [slave  pointer  (2)]
⎜   ↳ Wacom BambooFun 6x8 stylus                id=14   [slave  pointer  (2)]
⎜   ↳ Wacom BambooFun 6x8 eraser                id=15   [slave  pointer  (2)]
⎜   ↳ Wacom BambooFun 6x8 cursor                id=16   [slave  pointer  (2)]
⎜   ↳ Wacom BambooFun 6x8 pad                   id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Guest Barcode Reader                      id=8    [slave  keyboard (3)]
    ↳ CYKB23 USB Keyboard                       id=9    [slave  keyboard (3)]
    ↳ CYKB23 USB Keyboard                       id=10   [slave  keyboard (3)]
    ↳ zc3xx                                     id=11   [slave  keyboard (3)]

(For the curious, zc3xx is the button on the side of my USB webcam which triggers the Logitech software under Windows by sending a keycode that maps to the XF86WebCam keysym, same as on a multimedia keyboard)

Noteworthy implications of this design:

  • It’s possible to create more masters and move devices over to them. If you do, you get extra mouse pointers on your screen and, if your window manager supports it, you can have multiple people using several different applications at the same time on the same desktop.
  • Every master has a virtual slave called XTEST, which is used to inject events.
  • Each slave (physical keyboard) can have its own LEDs, but the mod2 modifier that actually controls NumLock behaviour is part of the master.
  • X11 doesn’t yet know how to force all the slave keyboards on a given master to share the same LED states. (Because, if you want to support all the different kinds of keyboards out there, it’s very complicated)

This means that, if you press NumLock on one keyboard, it will turn NumLock on/off for the whole master/slave grouping, but the light will only change on that one keyboard.

The problem I was having was that older versions of the numlockx command were faking a NumLock keypress on the XTEST virtual keyboard, rather than my physical one, and then pressing NumLock on the physical keyboard just toggled the LED and the modifier while assuming they were still in sync.

numlockx has now been fixed, but you can still trigger this mismatch manually if, like me, you want the light to come on when NumLock is turned off. Just use this command:

numlockx off; xdotool key Num_Lock

The first half puts both your NumLock modifier and LED into a known state (off) and then the call to xdotool presses NumLock on the virtual XTEST keyboard, which turns on the modifier and the invisible/imaginary LED on the virtual keyboard, while leaving the LED on the physical keyboard untouched.

As long as you only change your numlock state by pressing the button, they’ll stay out of sync until the end of your desktop session. Enjoy!

(Thanks to Peter Hutterer for explaining things)

Posted in Geek Stuff | 2 Comments

Error 400: The Web’s Most Under-Appreciated Response

TL;DR: You should respond with Error 400 if the URL is malformed or the parameters fail validation rather than with Error 404.

If you’ve ever run a website which reports 404ed requests to the admin, you’ve probably noticed that, every now and then, GoogleBot gets it into its head that it can do a better job if it tries guessed, nonsense URLs to try to tease hidden pages out of your site.

The big problem is that, most of the time, it’s guessing such utter nonsense that you have to wonder about the competence of whoever wrote it. (Not to mention that it’s effectively punishing the whole web because some sites are poorly structured)

That’s where HTTP Error 400 comes in. Error 404 is so overused as a generic “nope” response that it doesn’t say anything about why the request couldn’t be serviced.

By sending Error 400, you tell the requesting agent that the request couldn’t be serviced, not just because nothing matched, but because the URL given doesn’t meet the minimum requirements to be tested for a match. (Sort of like if you were to write “If-Modified-Since: pineapple” in your HTTP headers)

That means that, if someone or something is trying to guess URLs, it at least has enough information to learn the constraints for URL validity so it can only try to guess ones that have the potential to exist.

Given that, you might be wondering how to implement Error 400 responses. The simplest solution is just to tie them into your URL routing and input validation.

  1. Did the URL router fail to find a matching route? Return Error 400.
  2. Did the parameters fail to pass input validation (eg. “bike” in an integer field)? Return error 400.
  3. Did the URL request an object ID that doesn’t exist? Return Error 404.
  4. (optional) Did the URL request an object ID that has been flagged as deleted (with no replacement on record) but kept around to preserve relational integrity? Return Error 410 (Gone).

With modern web frameworks, this is often ridiculously simple to concisely retrofit and, as with Error 404, you can still return custom human-readable messages.

Posted in Geek Stuff | Leave a comment

Schedule Importer for TaskWarrior

I just wrote another useful little script. This one takes a CSV representation of any schedule in this form and imports it into TaskWarrior for easy time management

Week 1 Read pages 1-25
Week 2 Read pages 26-50
Do Exercise 1
Week 3 Read pages 51-75

The week column can contain anything. The script will warn you if it doesn’t recognize it but it’s really just using the presence of text in column 1 to mark the changeover to a new time period.

Using it is also quick and easy:

  1. Copy-paste the table from whatever format you got it in (HTML and MS Word tables work for me) into a spreadsheet tool like Excel or OpenOffice/LibreOffice Calc.
  2. If necessary, delete columns so column 2 holds task names.
  3. If necessary, alternate between Delete and the down arrow, rapid-fire, so only rows which mark a new time period have content in column 1.
  4. Save the file as CSV.
  5. Run the script like this:
    python taskwarrior_schedule_importer.py ~/schedule.csv \
        --start=2013-02-01 --deadline=2013-06-30           \
        --project=EXMPL101 > ~/schedule.json
    task import ~/schedule.json

All arguments are optional. By providing a deadline, you let script automatically adjust the definition of a week if there aren’t enough weeks before the given date.

If you want to use it for periods other than weeks, specify --increment=DAYS to override the default of 7.  The script will use the smaller of --increment and the value calculated from --deadline if both are provided. See --help for more details.

As usual, here’s the download link for if you don’t want to scroll past the embed. I’ve only tested it on Lubuntu Linux 12.04 LTS under CPython 2.7.3, CPython 3.2.3, and PyPy 1.9.0, but it should run anywhere.

(It was surprisingly complicated since TaskWarrior currently has a very primitive line-by-line JSON parser that reminds me of the parsers I wrote using things like sed and regexes when I was young and ignorant. Take a look at the last few lines if you want to see how I mixed json.dumps(indent=0) and string-formatting operators to securely and robustly get the newline use task import demands.)

Posted in Geek Stuff | Leave a comment

Sekirei Fics Which Fight/Fix Canon

Since my last post on Familiar of Zero fics, it occurred to me that there is another series that’s not to my taste but which still manages to make interesting crossover fodder in exceptional circumstances: Sekirei.

Now, I don’t have anything against harem anime in general. I actually really enjoyed watching anime like Saber Marionette J and  Ai Yori Aoshi. They’re funny, the characters are entertaining, and I can just ignore the stuff that’s not my cup of tea.

The main problem with Sekirei is twofold. First, from what I’ve seen, it doesn’t really put enough effort into being engaging outside its target audience. Second, it runs right into several of my pet peeves.

I already wrote and discarded a ridiculously long post on this that was approaching rant territory, so I won’t go into detail beyond saying that most of them have to do with the author’s approach to things. (For example, it’s a story that combines romantic comedy and cute girls fighting in deathmatch-esque battle royales.)

Thankfully, unlike some stories, it does have elements which I’d find interesting under better circumstances. So far, I’ve found several cases where a good fanfic author has written something more to my taste. For each one, I’ll list it along with a brief summary of how it fixes the tonal problems and what makes it so noteworthy to me.

(If anyone knows of any other fics which manage to dodge the flaws in how canon handles things, please leave them in the comments. When written by a skilled author, I quite like the characters.)

The Fics

In Flight by gabriel blessing
Solution to Tone Problems: Generalized “heroically overcome” which manages to mute the darker implications of canon as a side-effect.
By the author of The Hill of Swords, this 630,000+ word (and still being extended) fic drops post-canon Emiya Shirou into Sekirei as a replacement for the original protagonist. Like Hill of Swords, it’s well-written and, like Hill of Swords, it mixes things up by dropping someone much more experienced than the canon protagonist into the thick of things.
In fact, saying it’s well-written is a bit of an understatement, given how much work it takes to defy a status quo as deeply entrenched as Sekirei canon while still feeling truly good. Authorial skill aside, the reason this works so well is that post-canon Shirou is very well suited to the role of a serious literary hero in this setting. He takes the inherent issues with the setting seriously (rather than just facilitating a male fantasy like in canon) and the story neither tries to make excuses to justify canon nor tries to wave an authorial magic wand and fix everything. It’s just a believable character with a believable viewpoint and enough skill, experience, and conviction to believably subvert various aspects of the canon plotline without throwing things off the rails.
Combined with a slow, methodical approach to characterization and a narrative style that gives the solid impression that the author shares Shirou’s views on things, this means that I find myself trusting him to bring about something I’ll accept as a happy ending (after a narratively-appropriate amount of struggle) and, thus, I let my guard down. (It’s not foolproof, it’s not a perfect solution, and I’ve been burned on occasion before, but it’s a very good sign and it means that I enjoy the story in spite of my discomfort with some of the core elements.)
The Wizard Ashikabi by plums
Solution to Tone Problems: Retcon to mute the dark undertones and add more hope, outmanoeuvre the antagonists.
Harry Potter crossover. This story really shows how interestingly elements from Harry Potter can be used to reinterpret things in Sekirei and it does an even better job than “In Flight” of considering Sekirei people first and aliens second. (Essentially, it takes lessons learned from Harry Potter Veela-bond fics and treats Sekirei as psychologically human but raised with a warped worldview… which, to me, not only makes them higher-quality characters from the literary theory side of things, but makes them deeper, more sympathetic, and it just plain makes more sense given who runs MBI.)
I also like how it reinterprets a lot of Sekirei elements in the context of Harry Potter magic (For example, Homura is an untrained metamorph with a problem) …especially the Sekirei-Ashikabi bond which helps to neutralize my biggest issue with it.
It does starts with tired old Harry Potter fanon clichés as a way to get Harry out of Britain, but those are over before the end of the first chapter and, aside from a slight hiccup in Chapter 3, it’s much better from then on, doing quite a few things I’ve yet to see in another fic, like taking its sweet time to even start on Sekirei canon and giving Karasuba some focus. Harry also does an even better job of defying MBI here than Naruto and Jiraiya have been in Michief Fragment Sekirei.
No One Left Behind by Syroc
Solution to Tone Problems: Intentionally force Sekirei to take off its rose-colored glasses, even if that means hurting characters in the short term.
This is a really interesting case. While it’s a spin-off of In Flight, it actually makes things even less pleasant. I won’t spoil things, but I will say that, for certain characters, it feels like it’s preparing to explore more depth of character than In Flight.
I like it because, as with In Flight, it doesn’t have the schizophrenic tone that I perceive as a sort of “dystopic comedy” and, at the same time, I get the impression that the author is casting the retained (and perhaps mildly reinterpreted) aspects I’m not fond of as challenges to be overcome rather than, as Sekirei canon does, as static elements of the context in which the story takes place. If so, it’s the first fic to focus some of the elements I hate head-on and directly challenge them, rather than tonally brushing them under the rug (out of sight, out of mind) or bringing in a crossover hero who can re-interpret them.
Broken Birds by Razor Scion
Solution to Tone Problems: Acknowledge that things are darker than canon wants to portray but completely reinterpret the villain’s motivations. (Also, it’s The Doctor. Being The Hero is what he does.)
An interesting story. It’s a Doctor Who crossover which explores Akitsu, Minaka, and Takami in more detail than anything else that I’ve read. However, the part most relevant to this list is that, rather than trying to sugar-coat the elements that grate on me, this fic throws them to the forefront, resolving my unease by acknowledging the tragic inevitabilities built into to the Sekirei concept. It has the odd flaw, but it’s definitely worth a read.
Starry Starry Nights by Fenschway
Solution to Tone Problems: What canon tone problems? The tone makes it obvious that this is a Wolverine story that happens to take place in  Shinto Teito, not a Sekirei story featuring Wolverine.
Logan/Wolverine wakes up heavily concussed (and temporarily amnesiac as a result) in a hole in the ground in a Tokyo, park being watched over by an alien woman named Akitsu. You can probably imagine where things go from there.
Logan ends up endearing himself to various people in his own unique way and, as his faculties slowly come back online, he starts to plan to screw with Minaka for reasons that are better discovered by reading the story. An entertaining, very divergent take on Sekirei with a lot of good character work too. In this case, it fixes the tonal conflict in Sekirei by playing everything serious and character-deep.
This story is like a better alternative to The Game Changer. It elaborates less on the Sekirei setting, but the main character is also a lot less likely to be called “boring” or “annoying”. It’s even got a Sekirei (albeit a more minor character) who uses her wits to keep her options open… which makes it only the second fic I’ve seen to do so. (Though, since she’s a minor character, it still doesn’t satisfy my desire to truly explore the character of a Sekirei who feels like she’s outwitting the status quo itself.)
It’s also one of those stories where the title was carefully chosen and the revelation of its significance has a good build-up.
The Ninth Sekirei Pillar by Arthain
Solution to Tone Problems: Embrace the dark implications. Show how dark things really are… assumably as a prelude to heroically overcoming them.
In defeating Madara, Naruto and Hanabi wind up thrown out of their own place in spacetime and wind up in Sekirei.  This story definitely gives a less than ideal first impression but it also has some very clever twists and, once it gets going, it does a very creative and thorough job of interpreting the nature of the Sekirei crest in terms of fuuinjutsu.
What earns this a place on the list is that it doesn’t screw around and try to whitewash anything. Not only does it kill (not deactivate) a named canon character for the sake of bettering the story, it resolves the tonal conflict in Sekirei by showing you just how much sadistic power lurks behind those innocuous-looking crests.

As for the ones which don’t make the cut, they are still fun and worth a read… they just don’t directly address the aspects of canon I dislike, instead focusing on giving them as little attention as possible while focusing on things I do enjoy:

Runners Up

Ashikabi No Shinobi by pokemaster12
Solution to Tone Problems: Recast the potentially problematic nature of the bond as a way to force open the walls around the immortal hero’s heart. Avoid stepping on any tonal landmines.
Naruto Crossover. Noteworthy because it’s the first time I’ve run across a fic which truly makes the Sekirei-Ashikabi bond something good rather than a neutral set piece or something bad.
It does cover a lot of the same major plot points as In Flight but it also does enough new stuff that I enjoyed it… for example, thanks in part to Naruto’s memories of Jiraiya, I’ve never seen a more amusing portrayal of Matsu.
A Soul of Fire by SatireSwift
Solution to Tone Problems: Mostly, just copying what works in In Flight’s tone mixed with rethinking certain specific botched canon events like Homura’s transformation.
A self-proclaimed spin-off of In Flight, this fic explores what might happen if Sahashi Minato grew up to be Kotomine Shirou.
It doesn’t really put much focus into knocking down the elements of the setting I find distasteful, but it does do a decent job of focusing more on the characters and it’s the first Sekirei fic I’ve found where our hero manages to set up a cold war between Miya and MBI after all but declaring open war on the Sekirei plan. (To actually declare war, the other side has to recognize you as a serious threat rather than just a guy with a temper.)
It also brings Rin and Sakura into the mix, decides to mix up the Sekirei-Ashikabi pairings a bit, and takes Homura’s malleable body in a refreshing new direction. All in all, a very entertaining fic.
The Wagtail’s Cuckoo by Syroc
Solution to Tone Problems: Focus on a plot that never intersects canon and keep the reader distracted from the problematic side of things.
A little timeline adjustment where, when Shirou doesn’t heal quickly enough, Emiya Kiritsugu takes him to a hospital… where he ends up meeting and later getting adopted by Uzume and Chiho. It doesn’t really fight canon directly, per se, since it simply keeps all the elements I don’t like as far off camera as possible, but it’s so rare for me to find something that’s short, sweet, and complete like this that I’ll toss it in the honourable mention bin for now.
Debt of a Sword by gabriel blessing
Solution to Tone Problems: Focus on a plot that never intersects canon and keep the reader distracted from the problematic side of things.
A masterfully-written concept outtake from In Flight (Shirou-Miya pairing) that’s such a joy to read that it’s definitely earned a place on this list. Completed.
Mischief Fragment Sekirei by Kestral on the Anime Addventure
Solution to Tone Problems: Frustrate the antagonists, ignore the bond and let the reader assume Jiraiya the seal-master will eventually get around to figuring out something.
This was the first I’d ever heard of Sekirei and it has some interesting potential. The basic setup is that Jiraiya and Naruto wind up in the Sekirei setting due to some Addventure fatesplit dimension-jumping plot device, the details of which are unimportant.
The potential comes about in how good Naruto and Jiraiya, the extra-dimensional ninja spy master and student, are at outwitting MBI on sheer paranoia and unknown skills, despite not being fully familiar with the abilities of the locals.
Unfortunately, since I wrote this list, it’s been increasingly focused on diluting the Sekirei elements to the point where I’m not sure whether it’ll be listed here much longer.
Wizards, and Aliens, and Faeries Oh My! by Vanathor
Solution to Tone Problems: It’s a Dresden files fic where Sekirei happen to exist in the same universe. What tone problems?
The arrival of the Sekirei ends up having ripples in the context of the Dresden setting and Queen Mab calls in one of her favours to get Harry sent to Japan to investigate why some of the Wyld Fae who usually ally with her have dropped off the map.
This story is barely started, but I feel it really deserves notice because of how much potential is in it if it gets far enough into its story arc and continues in the direction it seems to be going. (Think Soul’s Light but with The Dresden Files rather than Evangelion.)
Sekirei of the Leaf by lord of the land of fire
Solution to Tone Problems: I had trouble feeling any problems but it’s so different from canon that it’s hard to localize the reason… it probably has something to do with the Elemental Nations having so many other evils (even if you ignore the Caged Bird Seal) that it’s easier to reconcile the two when you bring the Sekirei to Naruto rather than vice versa.
I’m honestly surprised that I’ve only ever seen this done twice (and that this is the only good one), given how mobile a crashing spaceship is as a plot device and how much originality and creativity it allows you to add to the plot. (I don’t count the third fic, which just relocates MBI to The Land of the Moon in the Elemental Nations. It’s even less interesting than something stupid like teleporting Naruto to Shin Tokyo because Madara hiccuped while fighting him.)
In this one, Minato is still dead, Miya is the fifth Hokage, and Naruto is half-sekirei… and my main reason for finding it so entertaining is seeing what parallels the author managed to draw with canon in this hugely different setting.
Posted in Fanfiction | 6 Comments