alias crdi { var %a 172 var %b 1912 var %c $calc(%a / %b) echo -a $calc((%c * %a) / %c) } alias last.compare.kill { sockclose comp* unset %comp.* unset %us1.* unset %us2.* echo -a all was killed } alias sp { return  $+ %comp.co1 $+ ( $+ %comp.co2 $+ $1 $+  $+ %comp.co2 $+  $+ %comp.co1 $+ ) $+ %comp.co2 } alias last.compare { set %comp.co1 13 set %comp.co2 12 set %begin $ctime ; echo -a $ctime set %comp.time1 set %comp.time2 set %comp.time3 inc -c %comp.time1 inc -c %comp.time3 set %comp.file1 C:\Users\Hans\Desktop\artistsOne.txt set %comp.file2 C:\Users\Hans\Desktop\artistsTwo.txt set %comp.file3 C:\Users\Hans\Desktop\artistsCommon.txt set %c.x 1 set %c.l 0 ; default = 0 write -c %comp.file1 write -c %comp.file2 write -c %comp.file3 if (!$1) || ($numtok($1,43) != 2) { echo -a nope! halt } else { var %i $1 set %comp.user1 $upper($gettok(%i,1,43)) set %comp.user2 $upper($gettok(%i,2,43)) } if ($2) { set %comp.period $2 } else { set %comp.period 7day } set %us1.base /2.0/?method=user.gettopartists&user= $+ %comp.user1 $+ &api_key=0ae757a499402016af9afe8cdbc5d465 set %us1.full %us1.base $+ &period= $+ %comp.period $+ &limit= $+ %c.l set %us2.base /2.0/?method=user.gettopartists&user= $+ %comp.user2 $+ &api_key=0ae757a499402016af9afe8cdbc5d465 set %us2.full %us2.base $+ &period= $+ %comp.period $+ &limit= $+ %c.l sockopen compOne ws.audioscrobbler.com 80 } on *:sockopen:compOne: { sockwrite -n $sockname GET %us1.full HTTP/1.0 sockwrite -n $sockname User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) sockwrite -n $sockname Host: ws.audioscrobbler.com sockwrite -n $sockname Accept-Language: en-us sockwrite -n $sockname Accept: */* sockwrite -n $sockname set %comp.pr 0 inc %comp.pr $rand(1,5) msg $active $sp(%comp.pr $+ $chr(37)) Comparing $+ %comp.co1 %comp.user1  $+ %comp.co2 $+ with $+ %comp.co1 %comp.user2 ( $+ %comp.period $+ ) inc %comp.pr $rand(3,10) msg $active $sp(%comp.pr $+ $chr(37)) fetching data for %comp.user1 } on *:sockread:compOne: { if ($sockerr) { echo -a Error. halt } else { var %temp sockread -f %temp ; echo -a %temp if ( isin %temp) && (unknown !isin %temp) { inc %c.x var %l $len(%temp) var %l1 $calc($len() + 5) var %l2 $calc(%l - $len() - %l1 + 1) var %in $mid(%temp,%l1,%l2) write %comp.file1 %in } } } on 1:sockclose:compOne: { ; echo -a Wrote $lines(%comp.file1) lines in %comp.time1 seconds. unset %comp.time1 inc -c %comp.time2 sockopen compTwo ws.audioscrobbler.com 80 } on *:sockopen:compTwo: { sockwrite -n $sockname GET %us2.full HTTP/1.0 sockwrite -n $sockname User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) sockwrite -n $sockname Host: ws.audioscrobbler.com sockwrite -n $sockname Accept-Language: en-us sockwrite -n $sockname Accept: */* sockwrite -n $sockname inc %comp.pr $rand(20,30) msg $active $sp(%comp.pr $+ $chr(37)) fetching data for %comp.user2  .. $+ $duration($calc($ctime - %begin)) } on *:sockread:compTwo: { if ($sockerr) { echo -a Error. halt } else { var %temp sockread -f %temp ; echo -a %temp if ( isin %temp) && (unknown !isin %temp) { inc %c.x var %l $len(%temp) var %l1 $calc($len() + 5) var %l2 $calc(%l - $len() - %l1 + 1) var %in $mid(%temp,%l1,%l2) write %comp.file2 %in } } } on 1:sockclose:compTwo: { var %c1 $lines(%comp.file1) var %c2 $lines(%comp.file2) var %c3 $lines(%comp.file3) ; echo -a Wrote $lines(%comp.file2) lines in %comp.time2 seconds. Total %comp.time3 $+ s unset %comp.time* ; echo -a now magic should happen :D comp.are } alias comp.are { var %pp %comp.pr var %c1 $calc($lines(%comp.file1)) var %c2 $calc($lines(%comp.file2)) inc %pp $rand(20,30) msg $active $sp(%pp $+ $chr(37)) %comp.user1 $+  $+ %comp.co1 %c1 $+  $+ %comp.co2 $+  %comp.user2 $+   $+ %comp.co1 $+ %c2 var %total $calc(%c1 + %c2) inc %pp $rand(2,5) msg $active $sp(%pp $+ $chr(37)) Crushing digits... (testing  $+ %total $+  artists total)  $+ %comp.co2 .. $+ $duration($calc($ctime - %begin)) var %left $calc(100 - %pp) ; echo -a %left $calc(%left / (%c3 / 10)) ; halt write -c %comp.file3 var %max %c1 ; echo -a %max var %x 1 while (%x <= %max) { var %r $read(%comp.file1, t, %x) var %f $read(%comp.file2, wtr, * $+ %r $+ *) var %fn $readn var %rl $len(%r) var %fl $len(%f) if (%f) && (%rl == %fl) { var %i $read(%comp.file2,%fn) var %pct $round($calc(100-(%x / %max)*100), 0) ; echo -a %x %i  %pct $+ % write %comp.file3 %i $+ $chr(43) $+ %pct } inc %x } var %c3 $lines(%comp.file3) if (%c3 > 0) { var %x2 1 var %max3 $lines(%comp.file3) var %max2 $lines(%comp.file2) var %tl 0 var %tl2 0 var %spam 1 set %spli while (%x2 <= %max3) { var %r $read(%comp.file3, t, %x2) var %f $read(%comp.file2, wtr, * $+ $gettok(%r,1,43) $+ *) var %fn $readn var %i $read(%comp.file2,%fn) var %p $gettok($read(%comp.file3,%x2),2,43) var %pct $round($calc(100-(%fn / %max2)*100), 0) ; echo -a %x2 $sqrt($calc((%p * %pct))) %p %pct $calc(%p * %pct) var %var $abs($calc(%p - %pct)) var %magic $sqrt($calc((%p * %pct))) var %love2 $round($calc(100 - (%var * 1))),0) var %love %magic inc %tl %love inc %tl2 %love2 ; echo -a  $+ %x2 $+  %i %pct  $+ %comp.co1 $+ <3  %love $+ % set %spli %spli  $+ %comp.co2 $+ $replace($gettok($read(%comp.file3,%x2),1,43),&,&) $+  $+ %comp.co1 $+ ~ $+ $round(%love2,0) $+ % $+  inc %spam var %top 10 if (%max3 < %top) { set %top %max3 } if (%spam == $calc(%top + 1)) { ;echo -a $calc(%pp + ((%x2 / %max3) * %left)) %x2 %max3 %pp %left $round($calc((%x2 / %max3)/2),0) var %rpr $round($calc(%pp + (((%x2 / %max3) * 0.9) * %left)),0) msg $active $sp(%rpr $+ $chr(37)) %spli set %spli set %spam 1 } inc %x2 } var %mult 1 var %mpct $calc(%c3 / ((%c1 + %c2 - %c3)/2)) ; var %mpct 1 ; var %mpct $calc(%mult * %mpct) if (%mpct < 0.001) { set %mpct $calc(0.001 * %mult) } else if (%mpct > 1) { set %mpct 1 } var %totalLove $round($calc(%tl / %max3), 1) var %totalLove2 $round($calc((%tl2 / %max3)), 1) msg $active $sp(DONE)  $+ %comp.co1 $+ ~<3~ %totalLove2 $+ %  $+ %comp.co2 $+ based on  $+ %comp.co1 $+ %c3 $+  ( $+ $round($calc((%c3 / ((%c2 + %c1)/2))*100),1) $+ % $+ )  $+ %comp.co2 $+ common artists.  $+ %comp.co1 $+ ( $+ %comp.period $+ ) $+ %comp.co2 .. $+ $duration($calc($ctime - %begin)) ; msg $active $sp(DONE)  $+ %comp.co2 $+ ~<3~ %totalLove2 $+ % 14based on a different algorithm,13 $round($calc((%tl2 / %max3) * %mpct), 2) $+ % total love. } else { msg $active $sp(DONE)  $+ %comp.co1 $+ ~< $+ %comp.co2 $+ / $+ %comp.co1 $+ 3~ 0%  $+ %comp.co2 $+ You've got nothing in common.  $+ %comp.co1 $+ ( $+ %comp.period $+ ) $+ %comp.co2 $+ .. $+ $duration($calc($ctime - %begin)) } ; echo -a $duration($calc($ctime - %begin)) }