- ♺ @aspacewithin: What I love abt @KinkOnTap is that you all say the things I want to, but articulately, instead of "thats dumb & oppressive" #
- Groggily waking up after bizarre #dreams involving a water-bus, derelict buildings & naked friends. /cc @helio_girl @Kalyana @pledgemistress #
- @pledgemistress "A water-bus" is a bus that rode on flooded streets & leapt over waterfall-like urban "cliffs." Yay for cheering #dreams :) in reply to pledgemistress #
- Hehe! "Ad busters" in notoriously liberal Berlin poke fun at #Apple #039;s Steve Jobs' "freedom from porn" stance: http://ur1.ca/04gco #KinkOnTap #
- When people compliment me saying, "You're a genius," I often want to respond, "You have no idea how fine the line is." #StayAlive #gratitude #
Archive for May, 2010
My tweets on 2010-05-31
My tweets on 2010-05-30
- Can't yet pinpoint why this implementation bothers me. ♺ @raquelita: #iPhone app fights street #harassment http://vb.ly/29qq /by @ihollaback #
- @thattoychick Maybe. I'm unsure if misuse by women is the core issue, but something like the @ihollaback #iPhone app is a slippery slope. :\ in reply to thattoychick #
- Outcry over 14yr hard labor sentencing of "gay men" (rly 1 gay man+1 trans woman) results in legal pardon http://vb.ly/29uc #GLBT #KinkOnTap #
- @jasonriedy I agree street #harassment must end but @ihollaback's #iPhone app may be too similar to "Fac … http://identi.ca/notice/34065331 #
- @thattoychick Yeah. Fighting #harassment (important) w/widespread shaming is approach too easily abused, negatively framed to empower, IMHO. in reply to thattoychick #
- ♺ @KinkForAll: #KFADC2 added to @Eventbrite: http://kinkforalldc2.eventbrite.com Only 13 days left! Remember, sign up at http://tr.im/kfadc2 #
- Well put.♺ @nikolasco: @ihollaback I think sharing stories/experience is awesome. I worry about abuse of unc accusation http://bit.ly/a3Cyne #
- Novartis: 5k+ women are "anecdotal evidence" of sex bias: http://vb.ly/29uf Like EdenFantasys code is anecdotal? http://vb.ly/29ps #bullshit #
- If missed this last week: http://bit.ly/alwv6e 85% Catholic population of Portugal easily approves same-sex #marriage bill. #GLBT #KinkOnTap #
- Feed your need for information by subscribing or adding to the Kink On Tap links feed: http://ur1.ca/04b3n You can even add it to your blog! #
- Did you know whenever you tweet link from Facebook I can't follow it unless I log into Facebook? That's NOT a free #Internet /cc @SexDayUSA #
- @nikolasco @stacycat Vigilantism only part of problem. @ihollaback's intentions are golden, but its approach perfectly mirrors slut-shaming. in reply to nikolasco #
- My fav is SM: Social Media or Sadomasochism? :) ♺ @nikolasco: awkward problem: does MSM mean "main stream media" or "men who have sex w/men" #
- @SarahFrantz CBT can also be Computer-Based Training. ;) That can get #kinky Another is DS: dominance/submission or "Doctor of Science." :D in reply to SarahFrantz #
- New-to-me MUST READ for every #Internet pro. Yes, you: http://vb.ly/groktheweb The #Web is where #content gets linked together. /by @benward #
- @stacycat Yes, @ihollaback does mirror slut-shaming. I'm not saying its intention or violation is same, I'm saying methodology is identical. in reply to stacycat #
- @clanehin You tell me. IS shaming always wrong? Then tell me which things people should be ashamed of, w … http://identi.ca/notice/34079915 #
- @stacycat Again, I'm all for women feeling empowered to fight injustice. Nevertheless, I disagree that fighting fire w/fire is helpful here. in reply to stacycat #
- @stacycat Also, I disagree that activities oppressors use are not identical when oppressed people use them. That's a REALLY scary precedent. in reply to stacycat #
- @stacycat Analyzing activities in no way sacrifices my ability to empathize w/harassed women and I'm insulted by your implication otherwise. in reply to stacycat #
- @jasonriedy That's my point. When everyone agrees 100% on what's "shameful," I'll feel comfortable using … http://identi.ca/notice/34081322 #
- @MollyRen For what it's worth, I'm a "leg-man" but I still find I'm more attracted to "heavier" women. :) Boobs really aren't a key measure. in reply to MollyRen #
- @solidadrocks Thanks so much for your #audio #hardware help! It'll take me some time to absorb it all, b … http://identi.ca/notice/34081803 #
- @clanehin Not pacifist—I'm questioning methods for #gender justice goal. Improving judgement's a goal? I … http://identi.ca/notice/34082198 #
- @stacycat I hear you. If you're right (as I believe you are), I'd suggest solution is creating more safe space for all, not a mob mentality. in reply to stacycat #
- @clanehin That's fair. I don't intend to blockade @ihollaback; it's not in my interests. But bringing up … http://identi.ca/notice/34082942 #
- Stepping away from the #Internet for a while as I'm beginning to notice myself pained by repetitive information #injury http://vb.ly/rirrii #
- Rori's post is strong but misses key point: http://vb.ly/29ul On #Internet impact not diminished by distance. /via @TBK365 cc @ScarletLotus #
- Jury decides $250 million damages against Novartis http://bit.ly/daewPb Amount is ~3% of company's 2009 revenue. /via @viviane212 #KinkOnTap #
- Y'know what might be great #KFADC2 topic? #StreetHarassment how to stop it! http://tr.im/kfadc2 /cc @hkearl @ihollaback @slynberg @stacycat #
- @mivox Maybe. That's certainly why I say that "the costs are different," but aren't the costs & offense for an individual to self-determine? in reply to mivox #
- @xMech Read excerpts of a blog post, then facilitate discussion about it? How about http://ur1.ca/04bv2 re #dental #dam? #SexEdSaves #KFADC2 in reply to xMech #
- Feeling pretty good about http://KinkOnTap.com/briefs but anxious that I've received very little feedback about 'em. Tell me what YOU think. #
My tweets on 2010-05-29
- @WickedFaust @KinkForAll Yeah, I'd LOVE to see a KinkForAll Seattle. It's such a sex-positive city! /cc @zalsoa @kalyana @ladysun333 #KFASEA in reply to WickedFaust #
- @Graydancer @Ropecast Did you post your #LLC XIV presentation slides re GRUE? I took notes in your sessi … http://identi.ca/notice/33936430 #
- Dear #lazyweb #VMware Server 2.0.2 refuses to compile w/Kernel 2.6.32? Found "fix" http://ur1.ca/0455o but doesn't work. Did I do it wrong? #
- Nev'mind, #lazyweb I found http://ur1.ca/0459d which has a neat wrapper script to install #VMware Server 2.0.2 on Kernel 2.6.3x. Worked! :) #
- ♺ @KinkForAll: #KFADC2 ideas: http://tr.im/kfadc2 Fun w/Google Apps (@helio_girl) Switchery (@seraglioletters) Taboo Erotica (@writingdirty) #
- Just confirmed @ReidAboutSex for @KinkOnTap this Sunday. Looking for 2nd guest. Either way, it'll definitely be a #fun show! /cc @helio_girl #
- @aspacewithin Very glad to hear that you enjoy @KinkOnTap. :) What is that you "love" about it? And how'd you find it, if I may ask? Thanks! in reply to aspacewithin #
- So, I was confused about why I don't want to do "work" at midnight. Next, I got confused about why that was confusing. #RecoveringWorkaholic #
- Best reply to #lube scare: http://vb.ly/29tc "Take deep breath & relax…when reading scary news & when having anal #sex quot; /by @charlieglickman #
- I should have added @charlieglickman's reply to #anal #sex #lube scare headlines to the @KinkOnTap crowd's feed http://vb.ly/29tc #KinkOnTap #
- @MagisterNavis I know here: http://kinkontap.com/?p=560 And I know because I wrote the title myself. I wrote it like "Vagina," not "V****a". in reply to MagisterNavis #
My tweets on 2010-05-28
- After #work mtg, colleague gave me nicest #compliment ever: "The vocabulary you use to express ideas is #inspiring especially as a techie." #
- @violetblue If you're truly serious about protesting that, I can put you in touch with some Boston locals who're considering similar things. in reply to violetblue #
- @Kalyana Haha! :) Long distance crushes are, like, the majority of my love life. It's actually kind of completely ridiculous & frustrating. in reply to Kalyana #
- Australian Customs Guys Live The Dream, Search Computers for #Porn http://ur1.ca/03xjf Cuz, THAT'S gonna keep Down Under "clean." #KinkOnTap #
- @ReidAboutSex I think it was Jasen Bartlett. I didn't use that quote but @bigolpoofter referenced it during his #Sex20 @KinkOnTap interview. in reply to ReidAboutSex #
- Best irony moment of the day: acronym for Feminists Against Pornography movement is "FAP." #HilariousOops /via @pledgemistress cc @hiohmegan #
- Xbox Live takes the semen out of amusement, says they'll reject #sex #education game for "sexual content." http://vb.ly/29s3 /via @KinkOnTap #
- ♺ @katebornstein: Neither #DADT nor #marriage are priorities #GLBT need to unite over; neither help forge coalitions w/other oppressed folk. #
- @SarahFrantz Reject the idea that "a little bit better" is or ever should be the national priority for #GLBT folk. A LOT BETTER needs to be. in reply to SarahFrantz #
- #Realization I need employer #poly I can't do this serial employer #monogamy thing any longer. It's not good for any of us. #relationships #
- @urban_gypsy Ha. :) Yeah, it's also the sound my old printer used to make: "FAPFAPFAPFAP!" It got those pages real dirty. Nice and dirty. ;) in reply to urban_gypsy #
My tweets on 2010-05-27
- I woke to sad news of #family member's passing. It reminds me at once how close & how distant I am from family, how small & big "family" is. #
- Twitter Tools @WordPress #plugin failed to capture tweets from #Sex20 Does anyone know why it sometimes annoyingly just stops updating? #wp #
- OH! THAT'S why I'm seeing influx of recruiting offers. Still declining all, but don't let anyone tell you a #sex #blog can't get you a #job #
- Hard #meetings can be easier using mirroring: client tells you what they want, you tell them what you heard. Hint: you'll be wrong 1st time. #
- #HowTo Compose #HTML ID & Class Names like a Rockstar: http://bit.ly/dg0gY2 (I wrote this!) /via @SitePointDotCom #webdev #webdesign #CSS :) #
My tweets on 2010-05-26
- Impressed with generosity of some giving EdenFantasys "benefit of the doubt." Here's why I find it misplaced: http://vb.ly/29ps /cc @aagblog #
- ♺ @WickedFaust Loved #Sex20 Check out @KinkForAll. Similar intention, new format. Jun 12 in DC http://tr.im/kfadc2 cc @zalsoa @scarletlotus #
- Nice! @CastleMegaStore published video of #Sex20 session I lead http://ow.ly/1PRRs #Internet #transparency, #accessibility #accountability #
- "everyone who continues to associate themselves with EdenFantasys rightfully loses a lot of respect & trust" http://vb.ly/29pw #EdenFallacys #
- @aagblog Give it another few tries? That sounds like a network connection which is dying abruptly. Could be the page is getting too long. :) in reply to aagblog #
- Critiquing myself lead #Sex20 session: http://vimeo.com/12033654 Good: Can't see my palpable nervousness. Bad: Rapport was lacking 'til end. #
- I like how I show my passion for #transparency but not how nervousness kept me from looking at backchannel: http://vimeo.com/12033654 #Sex20 #
- Polishing @KinkOnTap segments from #Sex20 w/video of my session by @CastleMegaStore http://ow.ly/1PRRs I paced lots, feel bad for cameraman! #
- LOL! Chill out? You don't know me very well, do you? Thx, tho. :) ♺ @ReidAboutSex: @maymaym Dude, chill the fuck out. You were great. #Sex20 #
- More people than I can fit in a post feature in this show! Thx to all of you! :) ♺ @KinkOnTap: 42 Sex 2.0 http://KinkOnTap.com/?p=725 #Sex20 #
- #iTunes censors "Vagina" podcast, displays "V****a" instead. Screenshot & brief open letter to #Apple http://twitpic.com/1r6gir #censorship #
- @Epiphora I know, right? Then again, OTOH, maybe #Apple #iTunes's just "seeing stars." That sometimes happens to me if I look at vaginas. ;) in reply to Epiphora #
My tweets on 2010-05-25
- So nice to see Twitter avatars of typical-sounding prodommes turn from pics of objectified women to bound men shown on MaleSubmissionArt.com #
- ♺ @KinkForAll: #KFADC2 coming up fast! Sign up http://tr.im/kfadc2 & join pre-event brainstorm by suggesting topics you're passionate about! #
- @Juliettia Your blog showcases your talent for artistry of all kinds nicely. Loved your graphic, etc :) Sorry you got burned by all of that. in reply to Juliettia #
- @Epiphora @Juliettia I'm happy to honor honesty. :) Those words share same etymology after all. Transparency empowers; that's what it shows. in reply to Epiphora #
- Here's part of why I feel that "it's just #business quot; is far too close for comfort to "just following orders" http://vb.ly/29jr #LoveNotShame #
- Why haven't EdenFantasys links been fixed yet? An assessment: http://vb.ly/29jt /cc @aagblog @epiphora @juliettia @britisshameless @HollyOrd #
- @AnneDouglas Aw—that's too bad! :( I hope you'll help publicize #KFADC2 anyway. Doing so might mean a 3rd will happen when you can join in! in reply to AnneDouglas #
Cross-post: Edenfantasys’s unethical technology is a self-referential black hole
This entry was originally published at my other blog. I’m cross-posting it here in order to make sure it gets copied to more servers, as some people have suggested I’ll face a cease and desist order for publishing it in the first place. Please help distribute this important information by freely copying and republishing this post under the conditions of my CC-BY-NC-ND license: provide me with attribution and a (real) back link, and you are free to republish an unaltered version of this post wherever you like. Thanks.
A few nights ago, I received an email from Editor of EdenFantasys’s SexIs Magazine, Judy Cole, asking me to modify this Kink On Tap brief I published that cites Lorna D. Keach’s writing. Judy asked me to “provide attribution and a link back to” SexIs Magazine. An ordinary enough request soon proved extraordinarily unethical when I discovered that EdenFantasys has invested a staggering amount of time and money to develop and implement a technology platform that actively denies others the courtesy of link reciprocity, a courtesy on which the ethical Internet is based.
While what they’re doing may not be illegal, EdenFantasys has proven itself to me to be an unethical and unworthy partner, in business or otherwise. Its actions are blatantly hypocritical, as I intend to show in detail in this post. Taking willful and self-serving advantage of those not technically savvy is a form of inexcusable oppression, and none of us should tolerate it from companies who purport to be well-intentioned resources for a community of sex-positive individuals.
For busy or non-technical readers, see the next section, Executive Summary, to quickly understand what EdenFantasys is doing, why it’s unethical, and how it affects you whether you’re a customer, a contributor, or a syndication partner. For the technical reader, the Technical Details section should provide ample evidence in the form of a walkthrough and sample code describing the unethical Search Engine Optimization (SEO) and Search Engine Marketing (SEM) techniques EdenFantasys, aka. Web Merchants, Inc., is engaged in. For anyone who wants to read further, I provide an Editorial section in which I share some thoughts about what you can do to help combat these practices and bring transparency and trust—not the sabotage of trust EdenFantasys enacts—to the market.
EXECUTIVE SUMMARY
Internet sex toy retailer Web Merchants, Inc., which bills itself as the “sex shop you can trust” and does business under the name EdenFantasys, has implemented technology on their websites that actively interferes with contributors’ content, intercepts outgoing links, and alters republished content so that links in the original work are redirected to themselves. Using techniques widely acknowledged as unethical by Internet professionals and that are arguably in violation of major search engines’ policies, EdenFantasys’s publishing platform has effectively outsourced the task of “link farming” (a questionable Search Engine Marketing [SEM] technique) to sites with which they have “an ongoing relationship,” such as AlterNet.org, other large news hubs, and individual bloggers’ blogs.
Articles published on EdenFantasys websites, such as the “community” website SexIs Magazine, contain HTML crafted to look like links, but aren’t. When visited by a typical human user, a program written in JavaScript and included as part of the web pages is automatically downloaded and intercepts clicks on these “link-like” elements, fetching their intended destination from the server and redirecting users there. Due to the careful and deliberate implementation, the browser’s status bar is made to appear as though the link is legitimate, and that a destination is provided as expected.
For non-human visitors, including automated search engine indexing programs such as Googlebot, the “link” remains non-functional, making the article a search engine’s dead-end or “orphan” page whose only functional links are those whose destination is EdenFantasys’s own web presence. This makes EdenFantasys’ website(s) a self-referential black hole that provides no reciprocity for contributors who author content, nor for any website ostensibly “linked” to from article content. At the same time, EdenFantasys editors actively solicit inbound links from individuals and organizations through “link exchanges” and incentive programs such as “awards” and “free” sex toys, as well as syndicating SexIs Magazine content such that the content is programmatically altered in order to create multiple (real) inbound links to EdenFantasys’s websites after republication on their partner’s media channels.
How EdenFantasys’s unethical practices have an impact on you
Regardless of who you are, EdenFantasys’s unethical practices have a negative impact on you and, indeed, on the Internet as a whole.
Here’s another verifiable example from the EdenFantasys site showing that many other parts of Web Merchants, Inc. pages, not merely SexIs Magazine, are affected as well: With JavaScript disabled, visit the EdenFantasys company page on Aslan Leather (note, for the sake of comparison, the link in this sentence will work, even with JavaScript off). Try clicking on the link in the “Contact Information” section in the lower-right hand column of the page (shown in the screenshot, below). This “link” should take you to the Aslan Leather homepage but in fact it does not. So much for that “link exchange.”

(Click to enlarge.)
- If you’re an EdenFantasys employee, people will demand answers from you regarding the unethical practices of your (hopefully former) employer. While you are working for EdenFantasys, you’re seriously soiling your reputation in the eyes of ethical Internet professionals. Ignorance is no excuse for the lack of ethics on the programmers’ part, and it’s a shoddy one for everyone else; you should be aware of your company’s business practices because you represent them and they, in turn, represent you.
- If you’re a partner or contributor (reviewer, affiliate, blogger), while you’re providing EdenFantasys with inbound links or writing articles for them and thereby propping them up higher in search results, EdenFantasys is not returning the favor to you (when they are supposed to be doing so). Moreover, they’re attaching your handle, pseudonym, or real name directly to all of their link farming (i.e., spamming) efforts. They look like they’re linking to you and they look like their content is syndicated fairly, but they’re actually playing dirty. They’re going the extra mile to ensure search engines like Google do not recognize the links in articles you write. They’re trying remarkably hard to make certain that all roads lead to EdenFantasys, but none lead outside of it; no matter what the “link,” search engines see it as stemming from and leading to EdenFantasys. The technically savvy executives of Web Merchants, Inc. are using you without giving you a fair return on your efforts. Moreover, EdenFantasys is doing this in a way that preys upon people’s lack of technical knowledge—potentially your own as well as your readership’s. Do you want to keep doing business with people like that?
- If you’re a customer, you’re monetarily supporting a company that essentially amounts to a glorified yet subtle spammer. If you hate spam, you should hate the unethical practices that lead to spam’s perpetual reappearance, including the practices of companies like Web Merchants, Inc. EdenFantasys’s unethical practices may not be illegal, but they are unabashedly a hair’s width away from it, just like many spammers’. If you want to keep companies honest and transparent, if you really want a “sex shop you can trust,” this is relevant to you because EdenFantasys is not it. If you want to purchase from a retailer that truly strives to offer a welcoming, trustworthy community for those interested in sex positivity and sexuality, pay close attention and take action. For ideas about what you can do, please see the “What you can do” section, below.
- If you’ve never heard about EdenFantasys before, but you care about a fair and equal-opportunity Internet, this is relevant to you because what EdenFantasys is doing takes advantage of non-tech-savvy people in order to slant the odds of winning the search engine game in their favor. They could have done this fairly, and I personally believe that they would have succeeded. Their sites are user-friendly, well-designed, and solidly implemented. However, they chose to behave maliciously by not providing credit where credit is due, failing to follow through on agreements with their own community members and contributors, and sneakily utilizing other publishers’ web presences to play a very sad zero-sum game that they need not have entered in the first place. In the Internet I want, nobody takes malicious advantage of those less skilled than they are because their own skill should speak for itself. Isn’t that the Internet and, indeed, the future you want, too?
TECHNICAL DETAILS
What follows is a technical exploration of the way the EdenFantasys technology works. It is my best-effort evaluation of the process in as much detail as I can manage within strict self-imposed time constraints. If any of this information is incorrect, I’d welcome any and all clarifications provided by the EdenFantasys CTO and technical team in an appropriately transparent, public, and ethical manner. (You’re welcome—nay, encouraged—to leave a comment.)
Although I’m unconvinced that EdenFantasys understands this, it is the case that honesty is the best policy—especially on the Internet, where everyone has the power of “View source.”
The “EF Framework” for obfuscating links
Article content written by contributors on SexIs Magazine pages is published after all links are replaced with a <span> element bearing the class of linklike and a unique id attribute value. This apparently happens across any and all content published by Web Merchants, Inc.’s content management system, but I’ll be focusing on Lorna D. Keach’s post entitled SexFeed:Anti-Porn Activists Now Targeting Female Porn Addicts for the sake of example.
These fake links look like this in HTML:
And according to Theresa Flynt, vice president of marketing for Hustler video, <span class="linklike" ID="EFLink_68034_fe64d2">female consumers make up 56% of video sales.</span>
This originally published HTML is what visitors without JavaScript enabled (and what search engine indexers) see when they access the page. Note that the <span> is not a real link, even though it is made to look like one. (See Figure 1; click it to enlarge.)
Figure 1:
In a typical user’s browser, when this page is loaded, a JavaScript program is executed that mutates these “linklike” elements into <a> elements, retaining the “linklike” class and the unique id attribute values. However, no value is provided in the href (link destination) attribute of the <a> element. See Figure 2.
Figure 2:
The JavaScript program is downloaded in two parts from the endpoint at http://cdn3.edenfantasys.com/Scripts/Handler/jsget.ashx. The first part, retrieved in this example by accessing the URI at http://cdn3.edenfantasys.com/Scripts/Handler/jsget.ashx?i=jq132_cnf_jdm12_cks_cm_ujsn_udm_stt_err_jsdm_stul_ael_lls_ganl_jqac_jtv_smg_assf_agrsh&v_14927484.12.0, loads the popular jQuery JavaScript framework as well as custom code called the “EF Framework”.
The EF Framework contains code called the DBLinkHandler, an object that parses the <span> “linklike” elements (called “pseudolinks” in the EF Framework code) and retrieves the real destination. The entirety of the DBLinkHandler object is shown in code listing 1, below. Note the code contains a function called handle that performs the mutation of the <span> “linklike” elements (seen primarily on lines 8 through 16) and, based on the prefix of each elements’ id attribute value, two key functions (BuildUrlForElement and GetUrlByUrlID, whose signatures are on lines 48 and 68, respectively) interact to set up the browser navigation after responding to clicks on the fake links.
var DBLinkHandler = {
pseudoLinkPrefix: "EFLink_",
generatedAHrefPrefix: "ArtLink_",
targetBlankClass: "target_blank",
jsLinksCssLinkLikeClass: "linklike",
handle: function () {
var pseudolinksSpans = $("span[id^='" + DBLinkHandler.pseudoLinkPrefix + "']");
pseudolinksSpans.each(function () {
var psLink = $(this);
var cssClass = $.trim(psLink.attr("class"));
var target = "";
var id = psLink.attr("id").replace(DBLinkHandler.pseudoLinkPrefix, DBLinkHandler.generatedAHrefPrefix);
var href = $("<a></a>").attr({
id: id,
href: ""
}).html(psLink.html());
if (psLink.hasClass(DBLinkHandler.targetBlankClass)) {
href.attr({
target: "_blank"
});
cssClass = $.trim(cssClass.replace(DBLinkHandler.targetBlankClass, ""))
}
if (cssClass != "") {
href.attr({
"class": cssClass
})
}
psLink.before(href).remove()
});
var pseudolinksAHrefs = $("a[id^='" + DBLinkHandler.generatedAHrefPrefix + "']");
pseudolinksAHrefs.live("mouseup", function (event) {
DBLinkHandler.ArtLinkClick(this)
});
pseudolinksSpans = $("span[id^='" + DBLinkHandler.pseudoLinkPrefix + "']");
pseudolinksSpans.live("click", function (event) {
if (event.button != 0) {
return
}
var psLink = $(this);
var url = DBLinkHandler.BuildUrlForElement(psLink, DBLinkHandler.pseudoLinkPrefix);
if (!psLink.hasClass(DBLinkHandler.targetBlankClass)) {
RedirectTo(url)
} else {
OpenNewWindow(url)
}
})
},
BuildUrlForElement: function (psLink, prefix) {
var psLink = $(psLink);
var sufix = psLink.attr("id").toString().substring(prefix.length);
var id = (sufix.indexOf("_") != -1) ? sufix.substring(0, sufix.indexOf("_")) : sufix;
var url = DBLinkHandler.GetUrlByUrlID(id);
if (url == "") {
url = EF.Constants.Links.Url
}
var end = sufix.substring(sufix.indexOf("_") + 1);
var anchor = "";
if (end.indexOf("_") != -1) {
anchor = "#" + end.substring(0, end.lastIndexOf("_"))
}
url += anchor;
return url
},
ArtLinkClick: function (psLink) {
var url = DBLinkHandler.BuildUrlForElement(psLink, DBLinkHandler.generatedAHrefPrefix);
$(psLink).attr("href", url)
},
GetUrlByUrlID: function (UrlID) {
var url = "";
UrlRequest = $.ajax({
type: "POST",
url: "/LinkLanguage/AjaxLinkHandling.aspx",
dataType: "json",
async: false,
data: {
urlid: UrlID
},
cache: false,
success: function (data) {
if (data.status == "Success") {
url = data.url;
return url
}
},
error: function (xhtmlObj, status, error) {}
});
return url
}
};
Once the mutation is performed and all the content “links” are in the state shown in Figure 2, above, an event listener has been bound to the anchors that captures a click event. This is done using prototypal extension, aka. classic prototypal inheritance, in another part of the code, the live function on line 2,280 of the (de-minimized) jsget.ashx program, as shown in code listing 2, here:
live: function (G, F) {
var E = o.event.proxy(F);
E.guid += this.selector + G;
o(document).bind(i(G, this.selector), this.selector, E);
return this
},
At this point, clicking on one of the “pseudolinks” triggers the EF Framework to call code set up by the GetUrlByUrlID function from within the DBLinkHandler object, initiating an XMLHttpRequest (XHR) connection to the AjaxLinkHandling.aspx server-side application. The request is an HTTP POST containing only one parameter, called urlid, and its value matches a substring from within the id value of the “pseudolinks.” In this example, the id attribute contains a value of EFLink_68034_fe64d2, which means that the unique ID POST’ed to the server is 68034. This is shown in Figure 3, below.
Figure 3:
The response from the server, shown in Figure 4, is also simple. If successful, the intended destination is retrieved by the GetUrlByUrlID object’s success function (on line 79 of Code Listing 1, above) and the user is redirected to that web address, as if the link was a real one all along. The real destination, in this case to CNN.com, is thereby only revealed after the XHR request returns a successful reply.
Figure 4:
All of this obfuscation effectively blinds machines such as the Googlebot who are not JavaScript-capable from seeing and following these links. It deliberately provides no increased Pagerank for the link destination (as a real link would normally do) despite being “linked to” from EdenFantasys’s SexIs Magazine article. While the intended destination in this example link was at CNN.com, it could just as easily have been—and is, in other examples—links to the blogs of EdenFantasys community members and, indeed, everyone else linked to from a SexIs Magazine article or potentially any website operated by Web Merchants, Inc. that makes use of this technology.
The EdenFantasys Outsourced Link-Farm
In addition to creating a self-referential black hole with no gracefully degrading outgoing links, EdenFantasys also actively performs link-stuffing through its syndicated content “relationships,” underhandedly creating an outsourced and distributed link-farm, just like a spammer. The difference is that this spammer (Web Merchants, Inc. aka EdenFantasys) is cleverly crowd-sourcing high-value, high-quality content from its own “community.”
Articles published at SexIs Magazine are syndicated in full to other large hub sites, such as AlterNet.org. Continuing with the above example post by Lorna D. Keach, Anti-Porn Activists Now Targeting Female Porn Addicts, we can see that this content was republished on AlterNet.org shortly after original publication through EdenFantasys’ website on May 3rd at http://www.alternet.org/story/146774/christian_anti-porn_activists_now_targeting_female_. However, a closer look at the HTML code of the republication shows that each and every link contained within the article points to the same destination: the same article published on SexIs Magazine, as shown in Figure 5.
Figure 5:
Naturally, these syndicated links provided to third-party sites by EdenFantasys are real and function as expected to both human visitors and to search engines indexing the content. The result is “natural,” high-value links to the EdenFantasys website from these third-party sites; EdenFantasys doesn’t merely scrounge pagerank from harvesting the sheer number of incoming links, but as each link’s anchor text is different, they are setting themselves up to match more keywords in search engine results, keywords that the original author likely did not intend to direct to them. Offering search engines the implication that EdenFantasys.com contains the content described in the anchor text, when in fact EdenFantasys merely acts as an intermediary to the information, is very shady, to say the least.
In addition to syndication, EdenFantasys employs human editors to do community outreach. These editors follow up with publishers, including individual bloggers (such as myself), and request that any references to published material provide attribution and a link back to us
, to use the words of Judy Cole, Editor of SexIs Magazine in an email she sent to me (see below), and presumably many others. EdenFantasys has also been known to request “link exchanges,” and offer incentive programs that encouraged bloggers to add the EdenFantasys website to their blogroll or sidebar in order to help raise both parties search engine ranking, when in fact EdenFantasys is not actually providing reciprocity.
More information about EdenFantasys’s unethical practices, which are not limited to technical subterfuge, can be obtained via AAGBlog.com.
EDITORIAL
It is unsurprising that the distributed, subtle, and carefully crafted way EdenFantasys has managed to crowd-source links has (presumably) remained unpenalized by search engines like Google. It is similarly unsurprising that nontechnical users such as the contributors to SexIs Magazine would be unaware of these deceptive practices, or that they are complicit in promoting them.
This is no mistake on the part of EdenFantasys, nor is it a one-off occurrence. The amount of work necessary to implement the elaborate system I’ve described is also not even remotely feasible for a rogue programmer to accomplish, far less accomplish covertly. No, this is the result of a calculated and decidedly underhanded strategy that originated from the direction of top executives at Web Merchants, Inc. aka EdenFantasys.
It is unfortunate that technically privileged people would be so willing to take advantage of the technically uneducated, particularly under the guise of providing a trusted place for the community which they claim to serve. These practices are exactly the ones that “the sex shop you can trust” should in no way support, far less be actively engaged in. And yet, here is unmistakable evidence that EdenFantasys is doing literally everything it can not only to bolster its own web presence at the cost of others’, but to hide this fact from its understandably non-tech-savvy contributors.
On a personal note, I am angered that I would be contacted by the Editor of SexIs Magazine, and asked to properly “attribute” and provide a link to them when it is precisely that reciprocity which SexIs Magazine would clearly deny me (and everyone else) in return. It was this request originally received over email from Judy Cole, that sparked my investigation outlined above and enabled me to uncover this hypocrisy. The email I received from Judy Cole is republished, in full, here:
From: Judy Cole <luxuryholmes@gmail.com>
Subject: Repost mis-attributed
Date: May 17, 2010 2:42:00 PM PDT
To: kinkontap+viewermail@gmail.com
Cc: Laurel <laurelb@edenfantasys.com>Hello Emma and maymay,
I am the Editor of the online adult magazine SexIs (http://www.edenfantasys.com/sexis/). You recently picked up and re-posted a story of ours by Lorna Keach that Alternet had already picked up:
http://kinkontap.com/?s=alternet
We were hoping that you might provide attribution and a link back to us, citing us as the original source (as is done on Alternet, with whom we have an ongoing relationship), should you pick up something of ours to re-post in the future.
If you would be interested in having us send you updates on stories that might be of interest, I would be happy to arrange for a member of our editorial staff to do so. (Like your site, by the way. TBK is one of our regular contributors.)
Thanks and Best Regards,
Judy Cole
Editor, SexIs
Judy’s email probably intended to reference the new Kink On Tap briefs that my co-host Emma and I publish, not a search result page on the Kink On Tap website. Specifically, she was talking about this brief: http://KinkOnTap.com/?p=676. I said as much in my reply to Judy:
Hi Judy,
The URL in your email doesn’t actually link to a post. We pick up many stories from AlterNet, as well as a number from SexIs, because we follow both those sources, among others. So, did you mean this following entry?
If so, you should know that we write briefs as we find them and provide links to where we found them. We purposefully do not republish or re-post significant portions of stories and we limit our briefs to short summaries in deference to the source. In regards to the brief in question, we do provide attribution to Lorna Keach, and our publication process provides links automatically to, again, the source where we found the article. :) As I’m sure you understand, this is the nature of the Internet. Its distribution capability is remarkable, isn’t it?
Also, while we’d absolutely be thrilled to have you send us updates on stories that might be of interest, we would prefer that you do so in the same way the rest of our community does: by contributing to the community links feed. You can find detailed instructions for the many ways you can do that on our wiki:
http://wiki.kinkontap.com/wiki/Community_links_feed
Congratulations on the continued success of SexIs.
Cheers,
-maymay
At the time when I wrote the email replying to Judy, I was perturbed but could not put my finger on why. Her email upset me because she seemed to be suggesting that our briefs are wholesale “re-posts,” when in fact Emma and I have thoroughly discussed attribution policies and, as mentioned in my reply, settled on a number of practices including a length limit, automated back linking (yes, with real links, go see some Kink On Tap briefs for yourself), and clearly demarcating quotes from the source article in our editorializing to ensure we play fair. Clearly, my somewhat snarky reply betrays my annoyance.
In any event, this exchange prompted me to take a closer look at the Kink On Tap brief I wrote, at the original article, and at the cross-post on AlterNet.org. I never would have imagined that EdenFantasys’s technical subterfuge would be as pervasive as it has proven to be. It’s so deeply embedded in the EdenFantasys publishing platform that I’m willing to give Judy the benefit of the doubt regarding this hypocrisy because she doesn’t seem to understand the difference between a search query and a permalink (something any laymen blogger would grok). This is apparent from her reply to my response:
From: Judy Cole <luxuryholmes@gmail.com>
Subject: Re: Repost mis-attributed
Date: May 18, 2010 4:57:59 AM PDT
[…redundant email headers clipped…]Funny, the URL in my email opens the same link as the one you sent me when I click on it.
Maybe if you pick up one of our stories in future, you could just say something like “so and so wrote for SexIs.” ?
As it stands, it looks as if Lorna wrote the piece for Alternet. Thanks.
Judy
That is the end of our email exchange, and will be for good, unless and until EdenFantasys changes its ways. I will from this point forward endeavor never to publish links to any web property that I know to be owned by Web Merchants, Inc., including EdenFantasys.com. I will also do my best to avoid citing any and all SexIs Magazine articles from here on out, and I encourage everyone who has an interest in seeing honesty on the Internet to follow my lead here.
As some of my friends are currently contributors to SexIs Magazine, I would like all of you to know that I sincerely hope you immediately sever all ties with any and all Web Merchants, Inc. properties, suppliers, and business partners, especially because you are friends and I think your work is too important to be sullied by such a disreputable company. Similarly, I hope you encourage your friends to do the same. I understand that the economy is rough and that some of you may have business contracts bearing legal penalties for breaking them, but I urge you to nevertheless consider looking at this as a cost-benefit analysis: the sooner you break up with EdenFantasys, the happier everyone on the Internet, including you, will be (and besides, you can loose just as much of your reputation, money, and pagerank while being happy as you can being sad).
What you can do
- If you are an EdenFantasys reviewer, a SexIs Magazine contributor, or have any other arrangement with Web Merchants, Inc., write to Judy Cole and demand that content you produce for SexIs Magazine adheres to ethical Internet publication standards. Sever business ties with this company immediately upon receipt of any non-response, or any response that does not adequately address every concern raised in this blog post. (Feel free to leave comments on this post with technical questions, and I’ll do my best to help you sort out any l33t answers.)
- EdenFantasys wants to stack the deck in Google. They do this by misusing your content and harvesting your links. To combat this effort, immediately remove any and all links to EdenFantasys websites and web presences from your websites. Furthermore, do not—I repeat—do not publish new links to EdenFantasys websites, not even in direct reference to this post. Instead, provide enough information, as I have done, so visitors to your blog posts can find their website themselves. In lieu of links to EdenFantasys, link to other bloggers’ posts about this issue. (Such posts will probably be mentioned in the comments section of this post.)
- Boycott EdenFantasys: the technical prowess their website displays does provide a useful shopping experience for some people. However, that in no way obligates you to purchase from their website. If you enjoy using their interface, use it to get information about products you’re interested in, but then go buy those products elsewhere, perhaps from the manufacturers directly.
- On the recommendation of my friend Dr. Charlie Glickman, I suggest Good Vibrations.
- On the recommendation of my friend Shanna Katz, I also recommend Fascinations.
- Watch for “improved” technical subterfuge from Web Merchants, Inc. As a professional web developer, I can identify several things EdenFantasys could do to make their unethical practices even harder to spot, and harder to stop. If you have any technical knowledge at all, even if you’re “just” a savvy blogger, you can keep a close watch on EdenFantasys and, if you notice anything that doesn’t sit well with you, speak up about it like I did. Get a professional programmer to look into things for you if you need help; yes, you can make a difference just by remaining vigilant as long as you share what you know and act honestly, and transparently.
If you have additional ideas or recommendations regarding how more people can help keep sex toy retailers honest, please suggest them in the comments.
Update: To report website spamming or any kind of fraud to Google, use the authenticated Spam Report tool.
Update: Google provides much more information about why the kinds of practices EdenFantasys is engaged in degrade the overall web experience for you and me. Read Cloaking, sneaky Javascript redirects, and doorway pages at the Google Webmaster Tools help site for additional SEO information. Using Google’s terminology, EdenFantasys’s unethical technology is a very skilled mix of social engineering and “sneaky JavaScript redirects.”




