Ask.fm laid bare, or what's half a million uniques to you ?

Thursday, 13 November, Year 6 d.Tr. | Author: Mircea Popescu

Ask.fm is a twitter knock-off constructed around the gimmick of "asking questions" instead of the gimmick of "only 140 characters", but otherwise the same stale old "social media" dysfunction.

It was made originally by some reasonably cool people from outside the bezzleworld, and it was reasonably well run for as long as that lasted. Sadly, it got "new ownership" recentlyi, and as it triumphantly informs the casual visitor at every turn, "new Terms of Service" and whatnot to come into effect next month.

Well, that's all fine and dandy. Allow me to share a few items then :

Part 1 : Question posting bot.

    <?
    $user = array("name1", "name2");

    define('SETUSERAGENT', 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)');

    function echow($text) {
    if (isset($_SERVER{'TERM'})) echo $text . "\t\n"; else echo $text . "<br />";
    }

    function getToken() {
    $a = curl_init("http://ask.fm/youruser");
    curl_setopt($a, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($a, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($a, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($a, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($a, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($a, CURLOPT_MAXREDIRS, 10);
    curl_setopt($a, CURLOPT_REFERER, 'http://ask.fm/');
    curl_setopt($a, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($a, CURLOPT_HEADER, FALSE);
    curl_setopt($a, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($a, CURLOPT_SSL_VERIFYHOST, 2);
    $wynik = curl_exec($a);
    curl_close($a);
    $patt='#<input name="authenticity_token" type="hidden" value="(.*)" />#';
    preg_match_all($patt, $wynik, $token);
    return $token[1][0];
    }
    function login($login, $password) {
    $token = getToken();
    $curlchanel = curl_init("http://ask.fm/session");
    curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_HEADER, 0);
    curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
    curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&login=$login&password=$password&follow=&like=&back=&authenticity_token=$token"));
    $wynik = curl_exec($curlchanel);
    if ($wynik != 1) {
    echow("Unable to login");
    die;
    }
    curl_close($curlchanel);
    }
    function ask($question, $user) {
    $token = getToken();
    $curlchanel = curl_init("http://ask.fm/$user/questions/create");
    curl_setopt($curlchanel, CURLOPT_USERAGENT, SETUSERAGENT);
    curl_setopt($curlchanel, CURLOPT_COOKIEJAR, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_COOKIEFILE, 'cookie.txt');
    curl_setopt($curlchanel, CURLOPT_HEADER, 0);
    curl_setopt($curlchanel, CURLOPT_TIMEOUT, 6);
    curl_setopt($curlchanel, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($curlchanel, CURLOPT_POSTFIELDS, trim("authenticity_token=$token&question%5Bquestion_text%5D=$question%3F&question%5Bforce_anonymous%5D=&authenticity_token=$token"));
    $wynik = curl_exec($curlchanel);
    if ($wynik != 1) {
    echow("Unable to login");
    die;
    }
    curl_close($curlchanel);
    }
    login("youraccount", "yourpassword");

    foreach ($user as $u) {
    ask('Ever heard of Bitcoin ( http://trilema.com/BitcoinNew ) ?', $u);
    echo "asked :",$u,"<br />";
    if ( ($cnt % 100) == 1) mail('your@email',"Script ask.fm", $u." ".$cnt);
    sleep(3);
    $cnt++;
    }
    ?>

Part 2 : Account name harvester.

    wget -q -m --no-check-certificate -U "Mozilla/5.0 (X11; U; Linux; en-US; rv:1.9.1.16) Gecko/20110929 Firefox/3.5.16" http://ask.fm/ -O askfm1.txt
    (This one lets you download the front page.)

    grep "a href" askfm1.txt | sed 's/a href="\//xXxXx/' | sed 's/\//\n/g' | grep "xXxXx" | sed 's/xXxXx//' | sort -u > askfm1-b.txt
    (This one processes the downloaded front page into usernames, one per line)

    wget -q -R "jpg,gif,jpeg,png,css,scss" --ca-directory=/noexist --no-check-certificate --follow-tags=a -U "Mozilla/5.0 (X11; U; Linux; en-US; rv:1.9.1.16) Gecko/20110929 Firefox/3.5.16" -i askfm1-b.txt -O askfm2.txt
    (This one uses the names to download their pages, into a bundle. Repeat the step above and this one until you're sick of it. Generally after about 250k or so accounts harvested you see diminished returnsii.)

To use, you take the names produced by 2 and dump them in the $user array in 1. You can run 1 on any php-enabled host, if you're poor, or else you could just buy a proxy list (in which case, might as well translate the whole thing to python or whatever). Enjoy!

And yes this does mean I've been exposing however many million mostly underage, mostly Spanish speaking chicks to the brave new world awaiting them. The results were mixed, but next time you consider paying for "online exposure", buying "traffic", hiring "experts", "advertising online" and so on and so forth, think about this : the only reason I'm not getting another million uniques this month is that I can't be bothered to. How much are you paying per million ? Because you're paying too much by that much, if you catch my drift. O, wait, you're buying per thousand aren't you. Fraction of a thousand ? Well... on the positive side they say you're among the named inheritors for the Kingdom of Heaven.

It doesn't cost me anything, that extra million, and I'm not even an expert in the field, I'm just dicking around for ideological reasons. Unless you're absolutely fucking retarded you can simply write your own traffic figures. You know the old days of "Information Superhighway" and all that blabla ? Back when people threw a few html pages up on a free host somewhere and added a "counter" ? Which they could set to anyting they felt like ? Well, guess what ? Yeah, nothing's changed. Nothing will change. It can't, for fundamental reasons, okay ?

The supposed "media" outlets actually do exactly this. Perhaps not quite as efficiently, perhaps taking all sorts of careful precautions and sprouting forth thick clouds of hypocritical pretense - as thick in fact as they can possible make 'em. Sure. But at the end of the day, this is exactly all they do. Which is why Gawker / NYT / whoever else claims however million unique visitors, and whatever reach / importance / whatever the fuck "metrics" they claim, yet Trilema makes more money being online than they do.iii

So :

  1. Go make up your own traffic figures, it's a worthless pursuit that will teach you a lot about both computers and the human nature ;
  2. Stop thinking that whatever you don't understand works in the way people who use it tell you it works. Do you think the Spanish conquistadors were actually so fucking stupid as to tell the idiotic indians they were fleecing how shit actually worked ? The business end of the chumpatron is not a good descriptor of the machine in question, get it already.

That'd be all from me for now. Take care.

———
  1. In the shape of a septuagenarian "investor" of the bezzle empire. Seriously, the USG mostly consists of fucking liches, don't you think this arrangement just a little odd ? A bunch of perambulating skeletons on life support, what are they supposed to represent again ?

    pelosi-lich

    []

  2. They claim 200 million membership, of course, but what's in a claim. []
  3. Actual money. Not faint whiffs of promises predictated on a chance to maybe earn a prize in the future. We're not talking Reader's Digest Mail-in Dollars here, okay ? []
Category: Meta psihoza
Comments feed : RSS 2.0. Leave your own comment below, or send a trackback.

12 Responses

  1. >yet Trilema makes more money being online than they do

    I did a brief analysis on Trilema after writing a bit for Qntra. Here is file dump:

    "While writing for qntra.net, I began thinking of Trilema's monetization in more detail.

    Right now you can get 10,000 Trilema credits for 0.01 BTC. This values a Trilema Credit at 100 Satoshi.
    By loading any article (of course excluding articles not behind the paywall), a single Trilema Credit is consumed, much like a token in an arcade.
    This means, obviously, 1 Trilema Credit == 1 Trilema.com page load. So if we take a look at some of the historical page statistics (http://trilema.com/2014/awstats-and-stuff/ and http://trilema.com/2010/polimediaus-awstats-pe-decembrie/),
    and infer Trilema Credits consumed from the amount of average page loads, we can get a base number of Trilema credits used on a recurring basis.

    We'll use 2.6mn for our calculations. Now we have to factor in that each unique visitor gets 5 free credits per week. Thus a user is usually allotted 5 articles per weekly visit, these must be consumed first before "paid credits" are used.

    The simple lazy calculation is using pages loaded per unique visitor and subtract 5. We divide 2.6mn by 240k visitors and get about 11. So we do (11 - 5 = 6), thus about 6 paid credits are consumed per visitor. We now multiply by
    total number of unique visitors, we'll use 237,522 which when multiplied by 6, so we get 1,425,132 page loads used w/o free credits, which is of course 1,425,132 Trilema Credits consumed that were purchased.

    So 1,425,132 * 100 satoshi = 142,413,200 satoshi => 1.424132 BTC a month."

    I think I did my math right.

  2. Mircea Popescu`s avatar
    2
    Mircea Popescu 
    Thursday, 13 November 2014

    of course excluding articles not behind the paywall

    There's not actually any articles not behind the paywall. Some summary pages are (like http://trilema.com/category/meta-psihoza/ or http://trilema.com/2014/01 ) but that'd be about it.

    I think I did my math right.

    I think so. Of course, this estimation is consumption based. People seem to purchase more than they consume (significantly so, even) for now, which makes your math understate income. Then again, maybe in time this trend may reverse, making same process overstate income.

  1. [...] thought this one up, but they might want some vacation time. [↩]NASDAQ: IACI [↩]Yes, ask.fm included. [↩]Yes, yes, the people with the ridiculous cable infomercials. All of [...]

  2. [...] Have fun. It will also work on any other anything, with slightly more changes. HAVE FUN! Because traffic matters, right ? It's worth money and all that, it's a thing. Dun dun dun. ———Hey, it's [...]

  3. [...] Informed by the utter failure of "traditional" channels in practicexv, we will be pursuing "hacking" and direct marketing to the exclusion of any media buys, or generally interacting with the "online [...]

  4. [...] to this misadventure. They're exactly of the substance of Facebook trafficxv, and apodictically not worth money. ———There's a reason V is all about authorship - the swamp in which these live is [...]

  5. [...] company of the quaint imperial herbivore. ———For the historical discussion see that 2014 article [↩]Hey, N > 60 so it's a scientific study worthy of Nature, Science and Social Psychology [...]

  6. [...] is the meaning of "adoption metrics" for something that's given away ? Leaving aside the general meaninglessness of "metrics", what exactly has been adopted ? What does this mean, "adopted" ? Do you suppose you could have [...]

  7. [...] "Analytics" in the web sense of that term is roughly speaking fast-food, and that a generation of derps spend their time between "metrics" and "pizza" seems to me particularly amusing. [↩]Here's an idea of what I mean by "campaign" : Ask.fm laid bare, or what's half a million uniques to you ? [...]

  8. [...] "email campaign" is well over 3% ? Or that the cost of "getting traffic" is universally the same across the web [...]

  9. [...] do, wat do! ———A meaningless notion, in theory as well as any practical implementation (I have more examples than words). See also this footnote for a historical overview (which is [...]

  10. [...] water mark of Q1 2016. News business is obviously a seasonal affair, and Internet measurements are notoriously unreliable, so it may well be the case none of this actually means anything. On the off chance that it does [...]

Add your cents! »
    If this is your first comment, it will wait to be approved. This usually takes a few hours. Subsequent comments are not delayed.