Hacker News new | past | comments | ask | show | jobs | submit login
“A spambot barfed its post recipe on my blog” (twitter.com/renaudbedard)
353 points by mmastrac on Feb 18, 2015 | hide | past | favorite | 95 comments



You can search for the longer phrases in the spintax and find all of the places this spam was dropped before it apparently "barfed its recipe." It's pretty fascinating - Google returns over 600,000 results:

https://www.google.com/?gws_rd=ssl#q=%22time+to+make+some+pl...

Looking at this link (http://prophesyagain.org/radio/#comment-98), it looks like this spam was left for a URL that redirects to http://www.itunescoms.com/, a fake looking iTunes knockoff that probably drops all kinds of nasty adware/malware on your PC.

For those unindoctrinated in SEO spam, the trick is to get past the spam filter, then leave a link in the name/username. You generate hundreds of thousands of backlinks to one page, which Google considers "votes" for your website. You can either send links directly to your "money site" or you can send them somewhere else and do a 301 redirect, passing the link juice.

Usually a spammer starts using something like Scraperbox and a lot of proxies to find thousands of blogs or forums with open comment fields, then use a script like the OP plugged into something like XRumer (http://en.wikipedia.org/wiki/XRumer). The syntax of the OP is called spintax, and it basically chooses a random word inside of the {}s, creating an infinite number of comments. You find a few hundred thousand open comment fields to post in, ride a little wave of SEO boost until Google finds you and kills your site, rinse and repeat.

Nowadays most spam syntax as simple as the OP will be caught in filters or penalized by Google, but most spammers are actually really bad at what they do (as you can see by them forgetting a bracket and dumping the entire spintax).


> Google returns over 600,000 results

Tip: The result count estimate on the first result page is often off by several orders of magnitude. Often it's possible to navigate to the end of the results pretty quickly, and the number drops to something like 469:

https://www.google.com/search?q="time+to+make+some+plans+for...


It's so annoying when people use that useless number to make a point. Journalists do it all the time.


I agree that is's annoying when journalists do it to demonstrate that a topic is important/controversial/etc. But I'm not sure there's anything wrong with it when the point being made it literally (and only) about the number of times a specific piece of text appears on the Internet.


The number is wrong so using it to make a point about the number of times a phrase appears on the Internet is sub-optimal.


>In order to show you the most relevant results, we have omitted some entries very similar to the 471 already displayed.

>If you like, you can repeat the search with the omitted results included.

https://www.google.com/search?q=%22time+to+make+some+plans+f...


Yeah, I'm curious about that. My guess is it has 600,000 results for things it thinks matches your query, based on how it interpreted it. But if it's not in the top 10 or 20, your query must be interpreted more strictly, and synonyms or slight misspellings or related pages fall off the radar.


I don't get that. I clicked your link, then the first results page, and now I'm browsing result pages 10, 15, 25, 30 for some reason and it doesn't stop.



Google has customized results, every person gets a different amount of pages in differing ranking.


Personalization should affect ranking, but not so much the total set of results. Domain, language & safe search prefs could. I wonder if the dedup filter can vary a lot (did the results end in "similar results omitted"?).


515,000 of the results are youtube comments.


why is that?


Google knows people rarely browse beyond the first few pages of results. Everything else is derived from the days when it was important to show off how big your archive is. They're basically still performing that vanity game. 600,000 results, nearly all of which are of such low quality it'd be embarrassing for Google to show off what they pretend is a valid result so they can fake a large result count (but they know users don't go there, so it doesn't matter).


I'm rather inclined to believe this is an artefact of the algorithm, something like:

1) grab index for each word in the query 2) grab first x results from each index 3) cross these to filter down to actual matches

I believe step 3 is as expensive as rendering the results AND nobody would like to wait for rendering 600k results before getting some of it. This they stick with some simple estimate, like max(size of found indices), or average or whatnot.


Seems like a reasonable hypothesis, but you can easily prove that it's wrong by doing a search for a single word, so there is no step (3).

I did a search for "hackerspace" (no quotes) and it claims "About 588,000 results." Paging through the results, I eventually got "In order to show you the most relevant results, we have omitted some entries very similar to the 390 already displayed." Even with omitted entries included, there only seems to be 832 results.


Yes, cause you are getting customized results.

Try http://www.google.com/custom?q=hackerspace&num=100&safe=off&... it will show you that they actually found those thousands of results, but only if you search with an older algorithm.


Hmmm, they may exist, but:

> Sorry, Google does not serve more than 1000 results for any query. (You asked for results starting from 9000.)


I agree. When I follow kuschku's link (starting at the 900th result), there is no next page link at the bottom, and if I try hacking the "start" value in the URL to go even one document farther I get no results and a "Sorry, Google does not serve more than 1000 results for any query. (You asked for results starting from 901.)" below the search box.


Google quickly gets a set of results from some servers, and then estimates the total.

Say, for example, that their Search cluster has 10000 nodes. And suppose that the query returns 60 results from the first node itself; so it could multiply 60*10,000 and claim there may be 600,000 results. But when it is asked to actually go and fetch the results, for various reasons, it may not get to that figure; most of the nodes may just shrug and say "we got nothin'".


Fascinating, thanks for the explanation. I'm curious: I thought blogs/forums/etc output user-supplied links with rel="nofollow" so google ignores them... so how is the link actually beneficial (even for a short period of time)?


varied link pattern, you don't want all dofollow.

indexing / spidering pages that do contain a dofollow

google doesn't completely ignore nofollow


Thanks for responding, but I don't understand what you're saying. The 3rd sentence is clear (although it seems absolutely crazy to me that google wouldn't ignore it since it was their idea in the first place to combat this exact kind of spam). But I am unclear what sentences 1 and 2 mean -- care to clarify?


I really wonder how effective comment spam like that really is; most platforms with user comments mark outbound links as nofollow, meaning Google and other search engines won't consider them and making them useless for dark SEO practices. They'd still work - for maybe 1% of viewers - for clickthrough though, of which another 1% might get infected with the malware on the target page - which, I guess, can be a good enough return on investment. It's all a matter of scale I guess.


I had an employer that did this on purpose, insisting because it worked so well for a time that it was the best way to do things for SEO. We owned almost 400 domains related to the business, and just had tons of comments and backlinking pushing juice the the handful of real websites.

I complained and explained it was only a matter of time before the whole thing fell through and got hit by an update or blacklist, but he didn't listen. I did at least redesign the main websites to be html5 with good metadata to mitigate it.

This is what happens when C-levels think it's still the dot-com era.


A new technique that I've seen is they do not link directly to their "money" site, they link to a page, that link to another page, that link to their money site.

So if they manage to put a link on your blog, the next step is to make spam links to Your site.

Google needs to scrap the pagerank and come up with another metric. Lately I've seen a drastic decrease in quality where 9 out of 10 pages in the top-10 is just garbage.

Even if I copy a whole sentence from a site with low pagerank, it will be hidden deep in like page 4 o 5 in the google search result.


We don't know: 1) how much of a factor pagerank still is and 2) how pagerank is calculated. Google may very well be beating down pagerank as a factor, while simultaneously adjusting how pagerank gets calculated so these spam links matter much less.

My bigger gripe is how awful it is to get rid of bad links, either as a result of your own past discretions (or past discretions you've inherited) or from negative SEO.


Actually this pyramid technique has been around at least a few years and probably goes back to beginnings of google.


If by "new" you mean 7 years old, then yeah. Tiered link-building is new.


If Google penalizes it, does it mean some people can frame competitors by doing false-flag spammy SEO?


Yes, but you can use the Disavow tool to try to fix it.

https://support.google.com/webmasters/answer/2648487?hl=en


They also look for forums where you can post links I had a major UK Publication get a UGC penalty from google a couple of years ago.

The editors had started clamping down and banning users for spamming the forum so I suspect some agrived spammer reported us to google out of spite.


That's called "spintax" and the overall approach is known as article spinning[1]. There's a small industry of software tools that facilitate that sort of thing (e.g. The Best Spinner[2]). Seems to be dying out as that kind of posting is more likely to get you penalized quickly nowadays rather than produce any real results.

[1]http://en.wikipedia.org/wiki/Article_spinning [2]http://thebestspinner.com/


Is this at all related to the way this random name generator does 'advanced interface'? http://www.rinkworks.com/namegen/instr.shtml

I don't know how either one works well, but I saw some similarities, and with my limited knowledge of how that name generator format works I would know either more or less about how article spinning works.


Aren't article spinning bots similar to stock trading bots in that somebody would only sell the bot if it wasn't working anymore?


not necessarily. a big strategy for gray/black hat tools is to sell the tools rather than using them to leverage risk.

Imagine a 100$ tool that might return 0 to 200$, the tool author sells the dream, and collects a more reliable income.


Yep, this is how forums work. Tools are very rare compared to other sold services because making tools are hard, and making a tool that people want to buy even harder.

You may see software like TheBestSpinner, XRumer and another one I can't remember the name of, basically a Wordpress comment spammer cannon that sell thousands of copies, more than that person would make using these tools themselves.


There is also Scrapebox for blogs and Senuke for other. They have been around since few years...


I'm surprised no one with an eye towards reducing the number/variety of such tools has inflicted an intentional App Store-style price race to the bottom by creating such a tool, preferably a superior one, and selling it well under cost (e.g. $1.00) to make it unprofitable to develop them. Might take multiple "competing" tools to cause this to occur, of course, and at some point they'd want to stop supplying their tools.

Of course, your $100 price might be a figure pulled out of thin air, not an accurate one.


Superior tools are only superior if they beat spam filters.

So, either your cheap tool works and spam gets worse or it fails and people just use more expensive options.

PS: Spam is a billion dollar industry and plenty of people with fairly deep pockets.


It isn't that simple. There are other issues that the developers may not want to deal with in using their own tech. Access to proxies is a big one. Obtaining lists of sites with enough traffic/page rank for this to matter is another.

That said, these blackhat forums tend to be full of people with little money. Many users are from places like India and Pakistan, trying whatever they can to eke out an existence. Since almost none of the users on those forums have money to buy the tools (even $100 is a very high price point for products on these forums), writing tools for them is a fool's errand.


You can net 7 figures selling on some of the forums, easily.


Criminals often sell stolen credit card numbers to other people willing to risk buying things with them.


It's not even about the risk, it's really difficult to monetize massive amounts of cards.


People creating this stuff need something to sell so might as well sell something they know something about already. Sort of how marketing experts will market their own marketing teleseminars, etc.


Those are not marketing experts. You don't see Trevor Edwards or Beth Comstock running seminars, do you?


The ones who got rich during the gold rush were the people selling shovels and wheelbarrows.


What's the definitive spintax code? Is it this one? https://www.npmjs.com/package/spintax


Probably not; people have been doing this for longer than Node has existed


Man: Well, what've you got?

Waitress: Well, there's {egg|bacon|sausage}, {egg and bacon|egg and spam}, egg {bacon|sausage} and spam, {spam|bacon} {spam| spam spam} sausage and spam, {spam|egg} spam spam {bacon and spam|sausage and spam}; spam {bacon|sausage|spam} {spam|spam bacon|spam tomato bacon} and spam


Reminds me of my favorite email spam ever, from many years ago:

Subject was: "Dear java.lang.NullPointerException, you have been selected to receive..."


Obligatory XKCD link: http://xkcd.com/327/

The company I'm working for has alarms which monitor log files for "FATAL" and the like, some of them also contain user input, so naming your kid something like this is another good way to annoy some ops people :D


The guy who published a book about XSS, which ended up causing an XSS exploit on Amazon via the "book preview" function[1] is my favorite version of that.

There was also an attempted attack on the Swedish voting system via a handwritten SQL injection attack, but that was unsuccessful[2].

[1] https://drwetter.eu/amazon/storedXSS-vuln.at.amazon.html

[2] http://alicebobandmallory.com/articles/2010/09/23/did-little...


Silly spammer: That makes absolutely no sense at all! Java has references, not pointers. Everybody knows that. Pfff!


"language of the year award."


The { grammar | word choice | punctuation | sentence structure } could really benefit from some { improvement | modification | proofreading }.


With that said, the English is actually quite good compared to most of the spam I see (although some of the synonyms don't make sense, so were probably automatically generated).


It is the best time to make a few plans for the future and it is time to be happy. I have learn this put up and if I may just I desire to counsel you few attention-grabbing things or tips. Maybe you could write subsequent articles regarding this article. I desire to learn even more things approximately it!

I'll right away clutch your rss feed as I can not to find your email subscription hyperlink or e-newsletter service. Do you've any? Kindly permit me recognize in order that I may subscribe. Thanks.

  re.compile(r'\{([^}]+)\}').sub(lambda x: random.choice(x.group(1).split('|')), tmpl)


For anyone that doesn't like to deal with all of pastebin.com's horrible, here's the raw link: http://pastebin.com/raw.php?i=U7jv9jxS

All the best,


pastebin's horrible {design|font choice|wrapping|what}?


It's a rather general problem. It has ads, requires scripting (to view text!), breaks formatting, doesn't have sensible syntax highlighting available, etc. Imho, it's probably the worst paste client anyone could use for anything. http://ix.io and http://sprunge.us are significantly better alternatives.

But, if one is dead-set on using pastebin.com, the least they could do is post the raw link so users can escape some of the horrible.


This is pretty outdated tool to cheaply generate "unique" versions of the articles in order to fool search engines in terms on "link juice". What you normally do is hire someone for $5-100[0] to write an article and manually or using a tool generate spintax version. During posting bot would simply select a random alternative from the spin list.

When Google started to use machine learning to filter out machine generated content this out this method quickly lost effectiveness. However, it is more effective on less sophisticated search engines so using this will show some benefit.

One of the more current methods is markov chain based article generation with provided keywords. And perhaps more importantly paying people to write content.

[0] With internet proliferation this has dropped substantially.


It's not always about the potential link juice, it can simply be a way to display a link in hope that people will click it.


Scott Hanselman blogged about a similar experience [1].

[1] http://www.hanselman.com/blog/ExposedABlogCommentSpammersSou...


Surprisingly similar, actually. Many of the sentences look exactly the same.


I don't understand, what's the point of such spamming? It's not advertising a brand or a product at first sight (I read it casually).


Often you'll see wordpress comments where the comment is some generic praise to make it seem legitimate and avoid deletion, and the "website" field is filled out so their username is a link to wherever they want.


One of my sites gets these every now and then and, given that the website field is omitted on my forum, users are usually quite bemused at the mysterious intent of the authors.


you can see people trying this on Matt Cutts Blog you know I dont think anyones real name is "Indian SEO" :-)


I'm guessing the username / URL link back with a keyword to some kind of page that is needing ranked.

Example: Name: "Red T-Shirts" URL (optional): "http://red-tshirt-site.com/"

Then they'll perform better for that keyword (maybe--google eventually penalizes this).


Other responses covered the basics, but there are a few other interesting uses.

- Text that does not clearly market anything or provide a meaningful backlink may be part of a larger link network, or just simply testing to generate a list of vulnerable blogs. Those lists can be sold to others or used for your own purposes.

- Similar to some recent spam bots hitting Google Analytics referrer results, these people may not care about organic rankings. They might be marketing to the blog owner who sees the comment and investigates the username/link. If I'm spamming for SEO services, and you are a blog owner looking to increase traffic for example, the attempt may not be about ranking for SEO terms (a losing battle), but simply getting you to look at my site.


It's pretty much useless now that Google actually penalises people for this - pretty funny that brands who use to do this now have to beg for their spam to be removed.

Basically they would spam these out to not look overly spammy, and have their website and name listed as their website they are trying to promote as people use to believe that having millions of shitty backlinks is good SEO.


It seems pretty counterproductive for Google to penalize the linked-to website for this, because they don't necessarily have any control over the links. This means that now a good strategy would be to make a bunch of spam links to your competitors' websites and have their rankings go down through no fault of their own. While that would be less effective than having your own go up, it's still useful.

What Google should do is make the links have no effect at all, thus preventing this abuse.


This is tricky. Generally the spammers are doing it because they're paid to do it by someone. Penalizing is the right thing to do. But you raise an interesting point - perhaps an unscrupulous firm would unleash a spambot pointing to their competition, to damage them. I'm not sure of a good way for Google to differentiate, other than your suggestion of ignoring.

Thank you for allowing me to talk myself into a circle. :-)


See: Negative SEO

(Although Google denies it's a problem.)


A lot of these guys are all about A/B split testing. If they find something that hurts rather than helps, they'll use that tactic as an offensive on their competition.


I would guess it's automated to establish a 'legitimate' posting history so that any future actual spam is not so easily detected.


I'm curious to see when spam bots will eventually use sophisticated language models in order to generate text, aimed to combat a search engine's own machine learning algorithms which detect spam. Barring the actual scenario where Google's resources are larger and Google's employees more intelligent than spammers, it would be interesting to see spam bots generate more and more intelligent content in a war of the AI.


it would be interesting to see spam bots generate more and more intelligent content in a war of the AI.

http://xkcd.com/810/


We need some system to assign XKCD score to discussions - how may relevant XKCDs were linked in them :) .


Makes me think of Doctorow's When Sysadmins Ruled the Earth.

http://craphound.com/overclocked/2014/01/14/when-sysadmins-r...


That's what happens when you don't match your brackets.


Searching for a common string ("and bloggers made good content as you did") shows about 400k results. What's the payload here?

So what's the payoff here? Based on the text it looks like IE malware, but it could be site visits or back-links or something else.


I imagine payoff is about building an astroturf to spawn adoption or increase SERPs - essentially gaming search engine algorithms.


This sort of thing happens quite regularly: https://twitter.com/jackgavigan/status/485833011184041984


Back in a days I built something like that, albeit as a exercise (never used for spamming):

http://www.25pix.com/organic-text-generator/


WOW. Loved this comment template. It could have a legitimate use in software development to generate some meaningful random text for mockups.


You can use a context-free grammar to produce amusing and sometimes convincing writing if the writing style it's intended to imitate is sufficiently obtuse, e.g.:

http://davidsd.org/2009/01/the-real-theorem-generator-a-cont...

http://pdos.csail.mit.edu/scigen/


In other words, a bullshit generator?


How are these templates parsed? I mean what code goes through these and decides which word to use?


You can see a much fancier text-generator of this sort at http://eblong.com/zarf/mutagen/about.html

(I once ported it to Python and wrote a parser for a more-convenient syntax like the OP's, then never released it partly because I'd hate to see spammers using it.)


It probably just chooses a word at random from each {} clause.


I should write my job search emails like this.


lol I've totally seen that in the wild


role {nonspeaking 2,0.919,7 play 1,0.819,67:1,0.670,77:1,0.549,56:6,4.098,229:1,0.670,49:1,0.670,31:3,1.857,77:5,1.880,167:1,0.670,109:3,2.159,137:2,1.341,122:1,0.819,25 directional 1,0.819,13 science 1,0.819,39 industrial 1,0.670,40 line 1,0.670,74 arm 1,0.670,95 directing 2,0.649,13 spoken 1,0.549,15 progress 1,0.549,45 speech 1,0.449,121 mother 1,0.449,32:1,0.670,25:1,0.165,48 felt 1,0.368,70 involving 1,0.368,84:1,0.002,78 capable 1,0.301,295 direction 1,0.301,72 imposing 1,0.247,20 leading 1,0.202,56:1,0.819,31:6,1.345,20 conducting 1,0.165,13 showing 1,0.135,373 aware 1,0.247,15 individual 1,0.301,109:1,0.670,18 value 1,0.549,34 awareness 1,0.670,35 action 1,0.368,129:1,0.091,161 potter 1,0.449,10 self-consciou 3,1.468,39 thought 1,0.449,175 social 1,0.670,94:1,0.819,136 guardian 1,0.819,10:1,0.819,12 limited 1,0.100,104:1,0.819,13 marriage 1,0.301,35 constituent 2,1.637,21:1,0.549,56 special 1,0.670,79 exercising 1,0.301,31 control 1,0.449,64:1,0.033,74:1,0.165,184 scope 1,0.549,115 television 1,0.549,11 grammatical 2,1.637,12:1,0.819,29:1,0.819,93 dominant 3,1.368,17 molding 1,0.819,11 exocentric 1,0.100,8 opinion 1,0.549,109 fulfilling 2,1.341,12 plummy 2,0.770,3 specific 2,1.187,154:2,1.489,51 endocentric 1,0.100,9 grammar 2,1.098,57:1,0.301,36 public 1,0.670,42:1,0.368,77 noun 1,0.368,32:1,0.368,71 informal 1,0.549,137:1,0.549,25:1,0.368,131:1,0.368,75 influence 1,0.368,92:1,0.202,64 blind 1,0.670,9 mission 1,0.819,19 partner 1,0.368,11 adverb 1,0.449,19 easter 1,0.670,14 serve 2,0.998,28:7,1.897,76 function 1,0.449,74:1,0.165,61:2,0.468,56:3,1.671,62 mice 1,0.549,9 iago 2,1.219,6:1,0.670,3 prima 6,1.757,14 performer 3,0.970,14:1,0.819,4 providing 1,0.091,26 mannered 1,0.301,17 book 1,0.549,62 resolution 1,0.819,22 pair 1,0.005,64 silliness 1,0.819,17 artist 1,0.670,14:1,0.202,68 meaning 1,0.074,87 time 1,0.091,244:1,0.670,132:1,0.670,125:1,0.135,102 virtue 1,0.165,31 secondary 2,0.919,11 donna 3,0.916,14 star 3,0.997,26:1,0.015,124:1,0.100,44 nobility 1,0.202,14 derived 1,0.368,85 theme 1,0.670,13 weak-kneed 2,0.770,5 multiple 1,0.135,78 playing 3,1.938,29:2,0.313,66:1,0.670,20:1,0.819,24 interchanged 1,0.819,14 sentimental 1,0.449,20 sentence 2,0.909,14 vulgarly 1,0.247,17 decidedly 1,0.301,39 played 1,0.670,23:2,1.341,67:4,0.921,50 beache 2,0.468,8 bearing 2,0.442,52 episode 1,0.135,49 ballerina 3,0.861,14 event 1,0.670,52 direct 1,0.135,22 interchangeable 2,0.401,14 man 3,0.946,132:5,0.524,303:1,0.368,195 heavy 4,1.468,86:1,0.100,11:1,0.100,9:1,0.061,124 musical 1,0.368,17:1,0.549,205 treble 1,0.091,57 twofold 1,0.449,45 part 1,0.003,224:2,1.489,205:3,0.867,612:1,0.549,207:2,0.984,95 stature 1,0.368,18 preaching 1,0.301,39 title 4,1.660,23 figure 3,1.119,52 performance 3,1.169,59:1,0.670,96:1,0.449,90 phrase 3,1.421,36 consist 1,0.111,69 rank 1,0.449,76:1,0.135,14 dual 2,0.846,59 negotiation 1,0.819,45 camp 2,0.919,17 bought 1,0.074,14 statu 1,0.135,49 sister 1,0.368,8 fish 3,0.417,36 campy 1,0.549,17 skater 3,1.285,14 dignitary 1,0.247,11 word 2,0.917,174:1,0.449,397 beat 1,0.165,98 artificially 1,0.202,26 binary 1,0.012,54 relation 1,0.449,50 harrison 1,0.050,39 amusement 1,0.135,17 object 1,0.111,76 frederick 1,0.061,39 yolk 1,0.008,45 emerson 1,0.165,39 major 5,2.736,77 lacking 1,0.549,382 dissenter 1,0.819,5 head 2,0.549,86:1,0.100,34 starring 3,1.503,14 importance 2,0.850,80 indicating 3,0.650,84 greater 1,0.247,61 influential 1,0.549,13 argument 2,1.489,102 private 1,0.247,39 sophisticated 1,0.111,40 mathematic 1,0.549,24 effect 2,1.120,127:1,0.670,13 titular 7,2.156,17 power 1,0.670,142:1,0.301,85 logic 1,0.670,32 important 3,0.794,25:1,0.368,30:1,0.819,134:1,0.819,53 villain 2,1.219,6 fairly 1,0.247,13 stellar 6,3.157,14 fresh 2,0.307,37 aspect 1,0.449,74 world 1,0.819,90 dissimilar 1,0.368,39 quality 2,1.098,246 highway 1,0.670,20 clergyman 1,0.549,39 measure 1,0.202,62 duple 1,0.061,45 copilot 1,0.050,45 double 8,1.091,59 performed 1,0.549,49 symmetric 1,0.549,14 signifying 2,0.357,17 pilot 1,0.041,45 hollywood 1,0.449,17 actor 3,1.939,60:1,0.670,32:1,0.670,34:1,0.449,15:1,0.549,7:1,0.549,60:1,0.549,21 large 3,1.220,73:1,0.368,59 egg 1,0.006,60 component 1,0.004,109 office 1,0.670,45:1,0.301,85 door 1,0.022,76 banal 1,0.368,17 othello 2,1.120,6 manner 1,0.670,49:1,0.670,28 children 6,3.498,100 put 1,0.549,135 war 1,0.819,394 sexual 1,0.819,90:1,0.819,57 pretend 3,1.569,21 hat 2,0.770,7 position 2,0.549,324:2,1.187,148 government 1,0.549,23 adopting 1,0.449,8 perforation 1,0.100,6 other 1,0.165,73 interact 1,0.368,9 adult 1,0.301,9:2,0.196,33 doctor 4,1.361,62 person 2,1.065,195:1,0.549,256:4,0.764,1610:1,0.549,927 movie 1,0.670,5:1,0.819,64:2,1.065,15 father 1,0.819,15:1,0.135,97 opposite 1,0.819,18:1,0.819,63 group 1,0.301,140:1,0.135,127 separation 1,0.549,19 duty 1,0.819,86:2,1.268,52 fire 1,0.449,44 sport 1,0.819,145 keeping 1,0.301,53 sometime 1,0.247,36 punching 1,0.819,6 politician 1,0.819,11 player 1,0.549,337 nurse 1,0.549,27 monitoring 2,0.549,11 acting 2,0.919,16 assigned 2,0.954,38 firemen 1,0.819,7 clothe 1,0.549,14:2,1.219,61 team 3,1.589,139 act 2,0.836,1839:10,3.057,70 casting 1,0.100,25 normal 2,0.649,33 observing 1,0.202,24 customary 2,0.770,19 frankly 1,0.449,7 sex 1,0.670,41:2,0.770,25:1,0.670,45 required 1,0.165,76 psychotherapy 1,0.819,9 explored 1,0.202,11 drama 1,0.819,4 talked 1,0.549,7 roleplaying 1,0.100,3 body 1,0.135,318 doe 1,0.368,39 transvestism 1,0.100,8 choice 1,0.549,19 teacher 1,0.449,15 house 2,0.265,45 activity 3,1.030,196 patient 1,0.670,20 communication 1,0.549,14 record 1,0.368,21 hole 1,0.819,12 term 1,0.670,38 game 1,0.091,516 fireman 1,0.100,7 expected 1,0.202,20 practice 1,0.368,102 ease 1,0.670,14 emotional 1,0.670,54 horse 1,0.041,31 noisy 1,0.100,15 care 1,0.247,81 form 1,0.247,459 called 2,0.954,46 ventricle 1,0.165,47 gyru 1,0.301,27 intimately 2,0.313,38 wife 1,0.819,110 playwright 1,0.549,6 give 1,0.247,107 located 1,0.091,84 order 2,0.751,91:2,1.368,13 room 1,0.449,20 assume 1,0.670,32 stooge 3,1.737,8 big 1,0.301,20 cast 3,1.735,29:2,0.549,31 assign 1,0.819,71 transport 1,0.819,18 variou 1,0.819,39 consisting 1,0.819,179:1,0.050,99 female 1,0.819,15:1,0.301,25:1,0.449,61 profit 1,0.549,10 need 1,0.819,25 wringer 1,0.100,6 rust 1,0.368,37 art 1,0.111,45:1,0.135,88 complex 1,0.015,42 juliu 2,0.188,19 floor 1,0.111,40 tragic 1,0.819,4:2,1.637,8 ingenue 1,0.100,6:2,0.200,10 maid 1,0.449,8 write 1,0.449,29 rendition 1,0.100,5 system 2,1.219,149 lateral 1,0.135,41 dramatic 1,0.819,54 take 1,0.301,108 kind 1,0.819,21 desk 1,0.027,20 birth 1,0.301,49 development 1,0.549,12 property 1,0.368,807 parallel 2,0.919,16 basi 1,0.670,8 neural 2,0.046,51 caesar 2,0.154,19 famou 1,0.549,46 broadway 2,1.368,5 lady 1,0.549,8:2,0.795,23 photo 1,0.301,16 shakespearean 1,0.819,13 great 1,0.819,80 hamlet 2,0.751,19 nurture 1,0.368,12 prepare 2,0.770,6 fictitiou 1,0.449,5 gnosticism 1,0.202,11 model 4,1.184,23 woman 1,0.449,16:2,0.503,315:2,0.347,221 readily 1,0.301,60 gray 1,0.061,47 sunday 1,0.074,40 competent 1,0.033,23 male 3,0.634,134 adopt 1,0.449,7 central 1,0.819,60 eon 1,0.100,11 design 2,0.770,25 opposed 1,0.111,23 temporal 1,0.061,50 interpreter 4,1.238,16 typecast 1,0.100,4 theater 2,0.510,42 sea 1,0.033,32 principal 1,0.819,15 mistress 1,0.670,19 appoint 1,0.301,31 cerebrum 1,0.091,51 hippocampu 2,0.302,51 general 1,0.111,41 tree 1,0.670,57 lover 1,0.670,25 operation 1,0.819,11 served 3,0.498,44 mediate 1,0.050,21 jury 1,0.549,37 pert 1,0.819,8 popular 1,0.670,4 commerce 1,0.165,31 designed 1,0.368,11 stage 3,1.293,50:1,0.368,30 miscast 1,0.100,6 pure 1,0.202,42 relative 1,0.670,28 interest 1,0.202,68 nature 1,0.368,97:1,0.449,34 command 1,0.202,78 significant 1,0.819,30:1,0.819,12 table 3,0.499,57 union 1,0.165,13 freedom 1,0.061,47 ductile 1,0.074,107 christma 2,0.103,28 maximize 3,0.649,5 lake 1,0.301,30 president 1,0.091,29 women 1,0.165,20 iron 1,0.100,166 magnetic 1,0.091,52 work 1,0.301,144 macbeth 2,0.872,19 reproductive 1,0.819,43 script 1,0.670,51 gielgud 2,0.872,19 painter 1,0.061,44 use 1,0.111,82 support 1,0.100,13 student 1,0.247,228 men 1,0.202,61 memory 1,0.670,24 young 1,0.549,6:2,0.984,107:2,0.751,86 photographer 1,0.050,19 unsuitable 1,0.819,6 character 1,0.061,54 husband 1,0.819,45 promote 1,0.091,59 imitation 1,0.549,16 pose 1,0.041,16 comedy 1,0.368,8 universe 1,0.670,71 boyfriend 1,0.549,24 emote 1,0.100,5 lobe 1,0.074,49 artless 1,0.670,6:2,0.954,10 formation 1,0.819,24 sensitive 1,0.301,13 understudy 2,0.770,2 divine 1,0.247,34 expression 1,0.449,21 acted 2,0.229,19 painting 1,0.202,13 bus 1,0.247,26 element 1,0.135,512 raise 1,0.449,12 pseudonym 1,0.100,5 dancer 1,0.670,9 reveal 1,0.247,18 blood 1,0.549,383 comedian 1,0.549,23 army 1,0.027,46 }

whoops




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: