It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency,
since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site;
Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in -
your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency
so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
mostly that. adding buttons next to people names, storing inside a cookie who made it on the lesser noisy trolls list. I mute people. a feature often requested from the website, but never arrived. now done client-side. (no update today, need more testing using this myself) Update works like a charm storing names inside PoloPreferences cookie.
second is VIP list, and looking for where to store data. On the long, a cookie is small space of some 4Kb. Perhaps I should transform names into numbers using a hash function, and use that for comparison. Or at least clipping to first 12 chars.
a convenience modification fitting onto Poloniex trading page
to install, you have to fit these requirements:
install Greasemonkey or something similar suiting your platform
read the code, cut&paste into a desktop file like poloniex.user.js (it is NOT advised to blindly install stuff like that since it can do literally anything to your trading portfolio)
click your browser on that, and enjoy
tip the author
Update: using icons next to usernames to add/remove them on the list
Quote
: Please, do YOUR part to keep the TROLLBOX free of SPAM. Remember, only YOU can prevent Trollbox SPAM. Thank you. A message from your local MOD SQUAD
Hey! I'm on it
Quote
: Is it possible to hide FORVER the Depth Chart
short answer: yes!
Quote
: is there a way like on IRC to ignore people here? thx!
// // I got weary of always clicking the same buttons before doing sales, // so greased up some things. All action happens at the bottom of this // script, but before we begin need to setup some helper procedures. // And some preferences. //
// some people are special // window.mutelist = []; //handled by cookie store now, click the icon next to users to en/delist them here // window.VIPlist = ["your", "buddies", "here"]; //this still has to be done manually // // feeling gratious? send some to // BTC 12RfcMPgJWmV2kxfL3mT22DPbLCoJWdFbB // LTC LeKzdb8DZiwZUvDnT53uDuvSid3fXa4bMc
//~ http://www.w3schools.com/js/js_cookies.asp function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length,c.length); } return ""; }
//http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html function changecss(theClass,element,value){ var cssRules; for (var S = 0; S < document.styleSheets.length; S++){ try{ document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length); } catch(err){ try{ document.styleSheets[S].addRule(theClass,element+': '+value+';'); } catch(err){ try{ if (document.styleSheets[S]['rules']) { cssRules = 'rules'; } else if (document.styleSheets[S]['cssRules']) { cssRules = 'cssRules'; } else { //no rules found... browser unknown } for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) { if (document.styleSheets[S][cssRules][R].selectorText == theClass) { if(document.styleSheets[S][cssRules][R].style[element]){ document.styleSheets[S][cssRules][R].style[element] = value; break; } } } } catch (err){} } } } }
window.muteOnClick = function(someone){ var index = window.mutelist.indexOf(someone.substr(0,16)); if(index >= 0){ window.mutelist.splice(index, 1); alert(someone + " is not muted"); } else{ window.mutelist.push(someone.substr(0,16)); alert(someone + " is now on mute"); }
//~ moved that inside var cname = "PoloPreferences"; var cvalue = encodeURIComponent(window.mutelist.join(',')); var exdays = 356; //~ setCookie("PoloPreferences", escape(window.mutelist.join(';')), 356); //~ function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString();
// for our own chat, disable reply klickability since it always looks bad if we seem to talk // with ourselfes, doesn't it? Always klicking me in an ongoing conversation :-( else if(trollboxRow['username'] == trollboxUsername && trollboxRow['message'].substring(0,3) != "/me") { //trollboxRowContent = ''; trollboxRowContent = ''; trollboxRowContent += trollboxRow['username'] + ": "; trollboxRowContent += ''; trollboxRowContent += trollboxRow['message']; trollboxRowContent += ''; }
else { // all other cases are for the original function // I have a feeling the filtering for "'s or other suspicious stuff // is done server-side in a different language, like C trollboxRowContent = pologetTrollboxRow(trollboxRow); }
//our interface button always goes in front trollboxRowContent = '' + trollboxRowContent; // ⊗
return trollboxRowContent; }
window.runkit_function_rename = function(funcname, newname){ // http://kevin.vanzonneveld.net // + original by: Brett Zamir (http://brett-zamir.me) // % note 1: Function can only be copied to and from the global context // * example 1: function plus (a, b) { return (a + b); } // * example 1: runkit_function_rename('plus', 'add'); // * returns 1: true //~ we had to loosen it's resistance to mess with things a bit //~ if(typeof this.window[newname] !== 'function' || this.window[funcname] !== undefined) //~ return false; //presumably disallow overwriting existing variables this.window[newname] = this.window[funcname]; this.window[funcname] = undefined; return true; }
function check(node, value){ var childNode = document.getElementById(node); if(childNode != null) childNode.checked = value; else log("no checkbox "+node+" found"); }
function setvalue(node, value){ var childNode = document.getElementById(node); if(childNode != null) childNode.value = value; else log("no entry "+node+" found"); }
function replaceText(whichClass, fromString, toString){ var hits = document.querySelectorAll("."+whichClass); for(var i = 0; i < hits.length; i++) { var text = hits[i].innerHTML; if(text.search(fromString) >= 0) hits[i].innerHTML = text.replace(fromString, toString); } }
function exists(id){ if(document.getElementById(id) != null) return true; return false; }
var appendError = function(str){ throw new Error("DEBUG: "+str); }
function log(str){ setTimeout("appendError('"+str+"')", 1); }
setvalue("emaPeriod", 99); check("emaCheckbox", true); // it is too small! any above 100 needs more, but more pixels mess up the table layout // //document.getElementById("emaPeriod").style.width = "40px";
replaceText("hStyle", "Sell Orders", "sell,Sell,SELL"); replaceText("hStyle", "Buy Orders", "buy,Buy,BUY"); } //all parts created by Njall, unless otherwise stated, in 9.2014 //eof