Fantasy Magazine

June 6, 2010

The launch of Lightspeed this month also got me thinking about its fantasy sister zine, Fantasy Magazine. Also, the World SF blog pointed me at a recent Lavie Tidhar story. Fantasy Magainze has now joined Strange Horizons, Escape Pod and Futurismic as the online sources of fiction that are 100% represented in Tag Shadow. If you’ve enjoyed the stories at Fantasy Magazine stop by and tag them. I’ve gotten the ball rolling by labeling the author, publication year and story length (one novelette, a handful of flash fiction, but mostly solid short story length). Help me out by adding the sub genres, magical creatures, interesting story formats, point of view or any other way you can think of to group the stories.

You can find the Fantasy Magazine TagShadow here.


I started the weekend watching through these Hadoop videos over at Cloudera. That led me to research manipulating large matrices with Hadoop. I found a spectacular paper about multiplying matrices with Hadoop. A random statement in that paper about sparse matrices sent me back to the documentation for JAMA (the java matrix library I used for TagShadow processing) and the competing library, Jampack. Turns out neither of them have algorithms optimized for sparse matrices. I did find some notes about how to optimize matrix multiplication for a sparse matrix

I’ve been considering pushing TagShadow to it’s very limits. Even if I just included the titles that have been added to ISFDB it looks like that’s pushing 500k entries. Of course I’d like to handle the online magazines that ISFDB doesn’t cover as well… Handling that much data will involve some real-time abstractions to remain functional. It’s these thoughts that have me investigating parallel computing solutions like Hadoop. This is rather stream of conscious at the moment, but I’m excited.

I’ve been feeling that newcomers to TagShadow need a quick introduction of what the website actually does. There is now a short slide show which does this. Let me know what you think.

I played around with Google’s new font API. I think Inconsolata gives the site a slicker feel.

I started pulling together a plan for general navigation on the site and updated the look of the search page to conform more with the new homepage.

[update] I also decided to add a “Most Recently Updated TagShadows” section on the homepage. This will update in real-time as I process TagShadows. This section was inspired by another small feature I added this morning. Works that have been tagged but not yet processed will now show up in the list of works on a TagShadow, even though they don’t yet show on the TagShadow plot. Check out the Space Opera TagShadow that I’m working on right now, as I read through The New Space Opera 2.

Escape Pod

May 17, 2010

I’ve officially listed all Escape Pod episodes on TagShadow. The Escape Pod TagShadow was an interesting one, as it’s mostly a “reprint” venue. I entered all the prior appearances of each story (via ISFDB) and thus added to a ton of other TagShadows in the process.

The image at the top of this post is what the Escape Pod TagShadow looked like before the latest update. The image at the bottom of the page is what the Escape Pod TagShadow looks like now. Since I launched user tags recently, I’m hoping to get some input from the large Escape Pod user base. With any luck, the Escape Pod TagShadow will look even more interesting next week.


May 16, 2010

I just added an admin tool that makes it pretty quick to step through google’s blog search for the reviews of what I’ve added to TagShadow. I’ll be using that to flesh out the review links. I made use of Magpie RSS and I hope to build a suite of similar tools for staying on top of podcasts and publisher new releases.

I’ll also follow up with a user facing bit of functionality so that you can link to your own review.

Well, you’ll be able to in 24 hours or so, but I wanted to document what I got done this weekend.

This is what I accomplished over the weekend. A dialog (pictured for Finch on the Novel TagShadow) where you can add tags, driven by data that was already on the page, so it’s fast. I also cleaned up the data and stored it elsewhere on the page so that successive calls to the dialog would be even faster. I settled on a method for uniquely identifying visitors without forcing a login. I wrote and tested the AJAX connectivity that I’ll use to save the tags when the dialog is closed. While I was working on the page I also fixed a CSS issue that had been bugging me.

All I have left to do is the database work on the server side of the AJAX call. I should be able to knock that out tonight! Then I’ll probably finish off some data importing that I’m almost done with. After that … well … I’ve been brainstorming some VERY ambitious (yet subtle) functionality that I’m excited to start working on.

I already use Google a TON as I develop TagShadow:

I read [an article I can’t seem to find] about Google Ventures which pointed me at VigLink which they’re funding. In the second to last point above I griped about how frustrating and/or time consuming generating affiliate links can be… and that’s after you figure out how to sign up for a given book seller’s affiliate program. VigLink does all of this for you. After adding one chunk of JavaScript to your website, you can start just linking to the stuff you want to link to. If that link could have been an affiliate link VigLink makes sure it’ll get treated like one, without making any permanent changes to your website.

This is awesome in more ways than most people will find interesting, but mainly it takes a large weight off of my shoulders and lets me concentrate on more interesting things when I get development time for TagShadow. YAY VigLink!