- Joined
- Mar 8, 2016
- Messages
- 3,274
- Reaction score
- 7,680
- Points
- 838
Morning. May the Mturk gods bless us with a good week. I need it.
Good luck to you!I'm gonna be around 4 kids for a week I am not 100% sure I will survive guys. It's very loud.
Title: Your preferential treatment experience - please share your opinion! | Accept Requester: Alexandra [A13QRH17BZ096M] Contact TV: No Reviews TO: [Pay=3.63] [Fast=5.00] [Comm=5.00] [Fair=5.00] [Reviews=9] [ToS=0] Reward: 0.60 Duration: 3600 Available: 1 Description: In this study we are interested in your experience of receiving preferential treatment from a company. You will be asked to provide a detailed description of that experience. THOSE WITHOUT PREFERENTIAL TREATMENT EXPERIENCE ARE NOT ELIGIBLE FOR THIS STUDY Qualifications: HIT approval rate (%) GreaterThan 95; Location EqualTo US [tr][td] HIT exported from Mturk Suite v2.3.11 |
ohh i thought he meant the uer.Challenge accepted.
"There was a writing section AFTER THE DEMOGRAPHICS PAGE of this $2 five minute survey."
This isn't my script. Kad said it was safe.Code:// ==UserScript== // @name mTurk Slow or Just Me? // @namespace salembeats // @version 1.55 // @description UPDATE: More timezone-fixing stuff. NOTE: Requires Kadauchi's "MTurk Dashboard Enhancer" script to function properly. // @author Cuyler Stuwe (salembeats) // @include https://worker.mturk.com/dashboard* // ==/UserScript== const globals = { CLIENT_VERSION: "synchronicity", API_BASE: "https://ne26dv9hq6.execute-api.us-west-2.amazonaws.com/dev" }; // Minified, synchronous SHA-256 transform function copied from: http://geraintluff.github.io/sha256/ var sha256=function a(b){function c(a,b){return a>>>b|a<<32-b}for(var d,e,f=Math.pow,g=f(2,32),h="length",i="",j=[],k=8*b[h],l=a.h=a.h||[],m=a.k=a.k||[],n=m[h],o={},p=2;64>n;p++)if(!o[p]){for(d=0;313>d;d+=p)o[d]=p;l[n]=f(p,.5)*g|0,m[n++]=f(p,1/3)*g|0}for(b+="\x80";b[h]%64-56;)b+="\x00";for(d=0;d<b[h];d++){if(e=b.charCodeAt(d),e>>8)return;j[d>>2]|=e<<(3-d)%4*8}for(j[j[h]]=k/g|0,j[j[h]]=k,e=0;e<j[h];){var q=j.slice(e,e+=16),r=l;for(l=l.slice(0,8),d=0;64>d;d++){var s=q[d-15],t=q[d-2],u=l[0],v=l[4],w=l[7]+(c(v,6)^c(v,11)^c(v,25))+(v&l[5]^~v&l[6])+m[d]+(q[d]=16>d?q[d]:q[d-16]+(c(s,7)^c(s,18)^s>>>3)+q[d-7]+(c(t,17)^c(t,19)^t>>>10)|0),x=(c(u,2)^c(u,13)^c(u,22))+(u&l[1]^u&l[2]^l[1]&l[2]);l=[w+x|0].concat(l),l[4]=l[4]+w|0}for(d=0;8>d;d++)l[d]=l[d]+r[d]|0}for(d=0;8>d;d++)for(e=3;e+1;e--){var y=l[d]>>8*e&255;i+=(16>y?0:"")+y.toString(16)}return i}; function exists(thing) { return thing !== undefined && thing !== null; } function amazonDate() { return new Date(Date.now() + (new Date().getTimezoneOffset()*60*1000) - (420*60*1000)); } function medianOfSortedValues(sortedValuesArray) { const middlePosition = Math.floor(sortedValuesArray.length/2); if(sortedValuesArray.length % 2) { return sortedValuesArray[middlePosition]; } else { return (sortedValuesArray[middlePosition-1] + sortedValuesArray[middlePosition]) / 2.0; } } function sidesOfMedian(sortedValuesArray) { const hasEvenNumberOfItems = ( sortedValuesArray.length % 2 === 0 ); if(hasEvenNumberOfItems) { return [ sortedValuesArray.slice(0, (sortedValuesArray.length / 2)), sortedValuesArray.slice((sortedValuesArray.length / 2), sortedValuesArray.length) ]; } else { const indexToSplitOn = ((sortedValuesArray.length + 1) / 2) - 1; return [ sortedValuesArray.slice(0, indexToSplitOn), sortedValuesArray.slice(indexToSplitOn + 1, sortedValuesArray.length) ]; } } function hitLogTotalUsd() { const hitLog = JSON.parse(localStorage.getItem("WMTD_hitLog")); return Object.keys(hitLog).reduce((acc, currentHitLogKey) => { return (acc + hitLog[currentHitLogKey].reward.amount_in_dollars); }, 0); } function dateYYYYMMDD(date) { const now = date; const [year, month, day] = [now.getFullYear(), now.getMonth() + 1, now.getDate()].map(num => num.toLocaleString("en-US", {minimumIntegerDigits: 2, useGrouping: false})); const todaysDateStr = `${year}-${month}-${day}`; return todaysDateStr; } function todaysDateYYYYMMDD() { return dateYYYYMMDD(new Date()); } function amazonDateYYYYMMDD() { return dateYYYYMMDD(amazonDate()); } function lastWorkLoggedDateYYYYMMDD() { return localStorage.getItem("WMTD_date"); } function todaysTotal() { const lastRecordedDate = lastWorkLoggedDateYYYYMMDD(); if(lastRecordedDate === amazonDateYYYYMMDD()) { return hitLogTotalUsd(); } else { return null; } } function todaysTotalMTS() { const mtsProjectedEarnings = document.getElementById('mts-ht-earnings').textContent; return Number(mtsProjectedEarnings.replace(/[^0-9.]/g, '')); } function workerId() { const workerIdCopyElement = document.querySelector(`[data-react-class="require('reactComponents/common/CopyText')['default']"]`); return JSON.parse(workerIdCopyElement.dataset.reactProps).textToCopy; } function workerIdHash() { return sha256(workerId()); } function userEarningsPayload() { const payload = JSON.stringify({ idHash: workerIdHash(), date: lastWorkLoggedDateYYYYMMDD(), total: todaysTotal() || todaysTotalMTS(), clientVersion: globals.CLIENT_VERSION }); return payload; } async function submitUserEarnings() { const apiEndpoint = `${globals.API_BASE}/store`; const responseStream = await fetch(apiEndpoint, { method: "POST", body: userEarningsPayload(), headers: { "Content-Type": "application/json" } }); const response = await responseStream.json(); return response; } function injectAveragePERow() { const el = document.getElementById("TodaysActivityAdditionalInfo") || document.getElementById('dashboard-available-earnings').querySelector('.border-gray-lightest').children[0]; el.insertAdjacentHTML("beforebegin", ` <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>Today's Community Average</strong> </div> <div class="col-xs-5 col-sm-6 col-lg-5 text-xs-right"> <a id="retrieveCommunityAverage" href="javascript:void(0);">Retrieve Community Average</a> </div> </div> <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>TC Low, Med, High</strong> </div> <div class="col-xs-5 col-sm-6 col-lg-5 text-xs-right"> <div id="tcLowMedHigh"> </div> </div> </div> <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>Box+Whisker Plot</strong> </div> <div style="text-align: center;"> <img id="boxplotImage" style="max-width: 270px;" src=""> </div> </div> <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>TC Rank</strong> </div> <div class="col-xs-5 col-sm-6 col-lg-5 text-xs-right"> <div id="rank"></div> </div> </div> <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>Nearest Competitor</strong> </div> <div class="col-xs-5 col-sm-6 col-lg-5 text-xs-right"> <div id="nearestCompetitor"></div> </div> </div> <div class="row m-b-sm"> <div class="col-xs-7 col-sm-6 col-lg-7"> <strong>Leaderboard</strong> </div> <div class="col-xs-5 col-sm-6 col-lg-5 text-xs-right"> <select id="leaderboard"></div> </div> </div> `); } function boxplotRenderUrl(params = { low: undefined, high: undefined, median: undefined, firstQuartile: undefined, thirdQuartile: undefined }) { return (`http://www.imathas.com/stattools/boxplot.php?n=1&showlabels=0&title0=&ds0q0=${params.low.replace("$", "")}&ds0q1=${params.firstQuartile.replace("$", "")}&ds0q2=${params.median.replace("$", "")}&ds0q3=${params.thirdQuartile.replace("$", "")}&ds0q4=${params.high.replace("$", "")}&title1=&ds1q0=&ds1q1=&ds1q2=&ds1q3=&ds1q4=&title2=&ds2q0=&ds2q1=&ds2q2=&ds2q3=&ds2q4=&xmin=0&xmax=${Math.floor((+params.high.replace("$", "")) + 5)}&ticks=5&axistitle=&imgwidth=300&imgheight=120`); } function embedBoxAndWhiskerData(params = { low: undefined, high: undefined, median: undefined, firstQuartile: undefined, thirdQuartile: undefined}) { document.getElementById("tcLowMedHigh").dataset.boxAndWhiskerPoints = JSON.stringify(params); document.getElementById("boxplotImage").setAttribute("src", boxplotRenderUrl(params)); } function rank(userEarnings, allUsersAscendingSortedEarnings) { return ( [...allUsersAscendingSortedEarnings].reverse().indexOf(userEarnings) + 1 ); } function nearestCompetitorTotalAndGapTuple(userEarnings, allUsersAscendingSortedEarnings) { const hasCompetitors = ( allUsersAscendingSortedEarnings.length > 1 ); if(!hasCompetitors) { return [userEarnings, 0]; } const userEarningsIndex = allUsersAscendingSortedEarnings.indexOf(userEarnings); const isLeader = ( userEarningsIndex === allUsersAscendingSortedEarnings.length - 1 ); const tiedEarningsErrorFactor = 0.01; let nearestCompetitorEarnings; if(isLeader) { nearestCompetitorEarnings = [...allUsersAscendingSortedEarnings].reverse().find(earnings => { return earnings < ( userEarnings - tiedEarningsErrorFactor ); }); } else { nearestCompetitorEarnings = allUsersAscendingSortedEarnings.find(earnings => { return earnings > ( userEarnings + tiedEarningsErrorFactor ); }); } const nearestCompetitorGap = nearestCompetitorEarnings - userEarnings; return [nearestCompetitorEarnings, nearestCompetitorGap]; } function displayRank(rank, numberOfPositions) { const relativeThresholdAtWhichToDisplayTopPercentile = 0.5; const topPercentileZeroToOne = ( 1 - ( (numberOfPositions - rank) / numberOfPositions ) ); const formattedTopPercentile = topPercentileZeroToOne.toLocaleString("en-US", {style: "percent"}); document.getElementById("rank").innerHTML = `# <strong>${rank}</strong> / ${numberOfPositions} ${topPercentileZeroToOne <= relativeThresholdAtWhichToDisplayTopPercentile ? `( Top <strong>${formattedTopPercentile}</strong> )` : ""}`; } function displayNearestCompetitorInfo(nearestCompetitorTotalAndGapTuple) { const [nearestCompetitorTotal, nearestCompetitorGap] = nearestCompetitorTotalAndGapTuple; const sign = ( nearestCompetitorGap >= 0 ? "+" : "-" ); const color = ( sign === "+" ? "green" : "red" ); const absoluteGap = Math.abs(nearestCompetitorGap); const [nearestCompetitorTotalFormatted, absoluteGapFormatted] = [nearestCompetitorTotal, absoluteGap].map(val => val.toLocaleString("en-US", {style: "currency", currency: "USD"})); document.getElementById("nearestCompetitor").innerHTML = `${nearestCompetitorTotalFormatted} ( <span style="color: ${color};">${sign} ${absoluteGapFormatted}</span> )`; } function leaderboardOptionElementsFrom(allUsersAscendingSortedEarnings) { const descendingEarnings = [...allUsersAscendingSortedEarnings].reverse(); return descendingEarnings.map((earnings, index) => { return (` <option>[#${index+1}]: ${earnings.toLocaleString("en-US", {style: "currency", currency: "USD"})}</option> `); }).join(""); } function displayLeaderboard(allUsersAscendingSortedEarnings) { document.getElementById("leaderboard").innerHTML = leaderboardOptionElementsFrom(allUsersAscendingSortedEarnings); } async function main() { injectAveragePERow(); document.getElementById("retrieveCommunityAverage").addEventListener("click", async e => { const earningsApiResponse = await submitUserEarnings(); if(exists(earningsApiResponse.averageEarningsForToday)) { const sortedIndividualEarnings = [...earningsApiResponse.individualEarningsForToday].sort((a,b) => a-b); const lowestIndividualEarnings = sortedIndividualEarnings[0].toLocaleString("en-US", {style: "currency", currency: "USD"}); const medianIndividualEarnings = medianOfSortedValues(sortedIndividualEarnings).toLocaleString("en-US", {style: "currency", currency: "USD"}); const highestIndividualEarnings = sortedIndividualEarnings[sortedIndividualEarnings.length-1].toLocaleString("en-US", {style: "currency", currency: "USD"}); const [firstQuartile, thirdQuartile] = sidesOfMedian(sortedIndividualEarnings).map(side => medianOfSortedValues(side).toLocaleString("en-US", {style: "currency", currency: "USD"})); embedBoxAndWhiskerData({low: lowestIndividualEarnings, high: highestIndividualEarnings, median: medianIndividualEarnings, firstQuartile, thirdQuartile}); document.getElementById("tcLowMedHigh").innerHTML = ` <span style='color: red;'>${lowestIndividualEarnings}</span>, <span style='color: orange;'>${medianIndividualEarnings}</span>, <span style='color: green;'>${highestIndividualEarnings}</span>`; e.target.innerText = earningsApiResponse.averageEarningsForToday.toLocaleString("en-US", {style: "currency", currency: "USD"}); const total = ( todaysTotal() || todaysTotalMTS() ); displayRank( rank(total, sortedIndividualEarnings), sortedIndividualEarnings.length ); displayNearestCompetitorInfo( nearestCompetitorTotalAndGapTuple(total, sortedIndividualEarnings) ); displayLeaderboard( sortedIndividualEarnings ); } else if(["Your request is missing fields: total", "Your report is outdated"].includes(earningsApiResponse.errorMessage)) { e.target.innerText = "Work before comparing!"; } else { e.target.innerText = earningsApiResponse.errorMessage; } }); } main();
Theo ther orange one was gonna be Meatball.My dreams of an orange kitten named Ravioli were crushed. MIL said no.
Log in or register now. to view Spoiler content!
Bring back the HITs that everyone thought were broken while I kicked out $200.What the hell are these Nick Dale??
Title: Twitter analysis post survey | Accept Requester: BUAIEM [A25UCIDQW5JSAM] Contact TV: No Reviews TO: [Pay=5.00] [Fast=5.00] [Comm=3.00] [Fair=5.00] [Reviews=2] [ToS=0] TO2: [Hrly=26.40] [Pen=null] [Res=null] [Rec=0%] [Rej=0] [ToS=0] [Brk=0] Reward: 1.00 Duration: 3600 Available: 1 Description: A 5-minute post survey to understand your Twitter annotation results Qualifications: Survey EqualTo 1 [tr][td] HIT exported from Mturk Suite v2.3.12 |
everyone?Bring back the HITs that everyone thought were broken while I kicked out $200.
Title: 500 words original article about Kamagra oral jelly in Australia | Accept Requester: Alexey Kuznetsov [A2IO2MM262K6ZZ] Contact TV: No Reviews TO: [Pay=2.60] [Fast=3.77] [Comm=2.83] [Fair=4.00] [Reviews=23] [ToS=1] TO2: [Hrly=null] [Pen=null] [Res=null] [Rec=0%] [Rej=0] [ToS=0] [Brk=0] Reward: 3.00 Duration: 172800 Available: 1 Description: I need you to write unique article about Kamagra oral jelly in Australia. Only unique text will be accepted Qualifications: Location NotIn AF, AL, BD, BF, CD, CF, CG, CM, DZ, ER, ET, GA, GH, GM, IN, LR, NA, NE, NG, PK, TD, UG, ZM, ZW; HIT approval rate (%) GreaterThan 82 [tr][td] HIT exported from Mturk Suite v2.3.12 |