New Media Tool Blog Signature Comment ID Grease Monkey Userscript

New Media Tools: Blog Signature Comment ID for Grease Monkey at Userscripts.org

Blog_Signature_ID_PanelAs a researcher and new media social user I comment on blogs news sites and various other places on a daily basis. Being I am use the same gravatar linked email and ‘signature’ almost every time, I wanted to save myself a bit of typing. Yes this is a common reason for most things I code. I wanted to save a few keystrokes and horde as many seconds as possible for myself. The bright side being, I am more than glad to share.   This script will enter your name, email, signature and website. It will ‘autofocus’ to the pages comment form on activation. You may also set your own hotkey up for use. Setting can be reached from the greasemonkey settings tab. The official version is hosted at UserScripts.org [install link]   Please do join the discussion there or here in the comments to let me know what you find. I have include the codebase used as well, if you make a better version let me know 🙂 Blog Signature ID for Greasemonkey Blog Signature Commenter ID Code:

 
// ==UserScript==
// @name		Blog Signature ID
// @author Mich De L'Orme http://blog.michde.com
// @description Searchs for and prefills comment fields (url, name, email) for many mainstream comment systems.
// @include		*
// ==/UserScript==

function shortcut(shortcut,callback,opt) {
	var default_options = {'type':'keydown','propagate':false,'target':document}
	if(!opt) opt = default_options;
	else {for(var dfo in default_options) {if(typeof opt[dfo] == 'undefined') opt[dfo] = default_options[dfo];}}
	var ele = opt.target;
	if(typeof opt.target == 'string') ele = document.getElementById(opt.target);
	var ths = this;
	var func = function(e) {
		e = e || window.event;
		if (e.keyCode) code = e.keyCode;
		else if (e.which) code = e.which;
		var character = String.fromCharCode(code).toLowerCase();
		var keys = shortcut.toLowerCase().split("+");
		var kp = 0;
		var shift_nums = {"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":":","'":""",",":"<",".":">","/":"?","":"|"}
		var special_keys = {'esc':27,'escape':27,'tab':9,'space':32,'return':13,'enter':13,'backspace':8,'scrolllock':145,'scroll_lock':145,'scroll':145,'capslock':20,'caps_lock':20,'caps':20,'numlock':144,'num_lock':144,'num':144,'pause':19,'break':19,'insert':45,'home':36,'delete':46,'end':35,'pageup':33,'page_up':33,'pu':33,'pagedown':34,'page_down':34,'pd':34,'left':37,'up':38,'right':39,'down':40,'f1':112,'f2':113,'f3':114,'f4':115,'f5':116,'f6':117,'f7':118,'f8':119,'f9':120,'f10':121,'f11':122,'f12':123}
		for(var i=0; k=keys[i],i<keys.length; i++) {
			if(k == 'ctrl' || k == 'control') {if(e.ctrlKey) kp++;
			} else if(k ==  'shift') {if(e.shiftKey) kp++;
			} else if(k == 'alt') {if(e.altKey) kp++;
			} else if(k.length > 1) { if(special_keys[k] == code) kp++;
			} else { if(character == k) kp++;
				else {if(shift_nums[character] && e.shiftKey) { 
						character = shift_nums[character]; 
						if(character == k) kp++;
					}
				}
			}
		}
		if(kp == keys.length) {
			callback(e);
			if(!opt['propagate']) {
				e.cancelBubble = true;
				e.returnValue = false;
				if (e.stopPropagation) {
					e.stopPropagation();
					e.preventDefault();
				}
				return false;
			}
		}
	}
	if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
	else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
	else ele['on'+opt['type']] = func;
}

(function(){
	function preFillComment() {
		var author = GM_getValue('author');
		var comment    = GM_getValue('comment');
		var email  = GM_getValue('email');
		var url    = GM_getValue('url');
		if(author == undefined) {
			author = prompt("What name should be used for comments?");
			author = author || '';
			GM_setValue("author", author);
		}
		if(comment == undefined) {
			comment = prompt("What signature should be used for comments?");
			ecomment = comment || '';
			GM_setValue("comment", comment);
		}
		if(email == undefined) {
			email = prompt("What email should be used for comments?");
			email = email || '';
			GM_setValue("email", email);
		}
		if(url == undefined) {
			url = prompt("What url should be used for comments?");
			url = url || '';
			GM_setValue("url", url);
		}
		if(document.getElementById('author') && author != undefined) document.getElementById('author').value = author;
		if(document.getElementById('comment') && comment != undefined) document.getElementById('comment').value = comment;
		if(document.getElementById('email') && email != undefined) document.getElementById('email').value = email;
		if(document.getElementById('url') && url != undefined) document.getElementById('url').value = url;
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i < textareas.length; i++) {
			if(textareas[i].id == 'comment') {
				textareas[i].focus();
				break;
			}
		}
	}
	function resetPreFillComment() {
		var author = prompt("What name should be used for comments?");
		author = author || '';
		GM_setValue("author", author);
		var comment = prompt("What signature should be used for comments?");
		comment = comment || '';
		GM_setValue("comment", comment);
		var email = prompt("What email should be used for comments?");
		email = email || '';
		GM_setValue("email", email);
		var url = prompt("What url should be used for comments?");
		url = url || '';
		GM_setValue("url", url);
		alert("Thank you all values set :)");
	}
	function setKeyboardShortcuts() {
		var mainShortcut  = prompt("Please enter signature shortcut. Examples:nALT+CnALT+SHIFT+C");
		var resetShortcut = prompt("Please enter signature-reset shortcut. Examples:nALT+CnALT+SHIFT+C");
		if(mainShortcut) GM_setValue("mainShortcut", mainShortcut);
		if(resetShortcut) GM_setValue("resetShortcut", resetShortcut);
	}

	GM_registerMenuCommand("Sign Comment", preFillComment);
	GM_registerMenuCommand("Reset Comment Signature", resetPreFillComment);
	GM_registerMenuCommand("Set Comment Signature Shortcuts (Adv)", setKeyboardShortcuts);

	var mainShortcut = (GM_getValue('mainShortcut') != undefined && GM_getValue('mainShortcut') != '') ? GM_getValue('mainShortcut') : "ALT+C";
	var resetShortcut = (GM_getValue('resetShortcut') != undefined && GM_getValue('resetShortcut') != '') ? GM_getValue('resetShortcut') : "ALT+SHIFT+C";
	shortcut(mainShortcut,preFillComment);
	shortcut(resetShortcut,resetPreFillComment);

})();

New Media Tagged: autofill blog comment id signature

    

Technorati Tags: ,,,,

    

IceRocket Tags: ,,,,

    

del.icio.us Tags: ,,,,

    

    

43 Things Tags: ,,,,

Related articles by Zemanta

Reblog this post [with Zemanta]

Digg Instant Image Instant Video 1 Click Submit Bookmarklets

Digg Instant Image and Instant Video One Click Submission Bookmarklets

Once upon a time I was a digger and I can remember the biggest pointless headache for those hard to get submissions. Digg has an extension, Digg has a bookmarklet but there is one problem with both. Neither has an option to submit images to digg or submit videos to digg. After my last StumbleUpon Greasemonkey UserScript post I happened upon another good friend and was reminded of it. So of course I whipped out my trusty code snippets and solved the problem.

Now you can submit to Digg faster without breaking the rules and save clicking time while you’re at it. Here are the digg submission tools for one and all.

1 Click Digg Image Submit

The codebase used:

javascript:(function(){window.open('http://digg.com/submit?&amp;media=image&amp;url='+encodeURIComponent(location.href));})();

bookmarklet for digg 1click image submits

To use simply drag the “bookmarklet” link above to your bookmarks bar and click to submit images from any page.

1 Click Digg Video Submit

The codebase used: 

javascript:(function(){window.open('http://digg.com/submit?&amp;amp;video=image&amp;amp;url='+encodeURIComponent(location.href));})();

bookmarklet for digg 1click video submits

To use simply drag the “bookmarklet” link above to your bookmarks bar and click to submit videos from any page.

Hope these are helpful. Let me know if you have any bugs in the comments, have fun.

New Media Concepts Tags: bookmarklet code digg images javascript submission tools video

Reblog this post [with Zemanta]

New Media Tools: Greasemonkey Stumbleupon Extended Friend Groups Script and Stumbleupon Extended Friend Groups Firefox Extension

New Media Tools: Greasemonkey Stumbleupon Extended Friends Groups Userscript Beta and Stumbleupon Extended Friend Groups Firefox Extension Alpha

There is no doubt Stumbleupon is my favorite site to pass my time and explore. It goes without saying Firefox is my go-to browser. Unquestionably do I say Greasemonkey is the simplest way to tweak you code in browser. This is the method to the madness next to follow.
A good friend brought to my attention a cool greasemonkey userscript ‘SU V4 Friend Groups‘ at userscripts.org by Foresthippy for stumbleupon to enhance the experience. Groups, plain and simple, an extra ability to make groups of friends and contact for stumbleupon. Yet we both found the same problem with its limits, so I fixed it. Don’t worry I used real code paste, not ductape. When it is a non beta release I will add to to my userscript profile as well, and now here it is… taaa daaaa????
Greasemonkey Script the.user.js [beta version]
Adds the ability to make up to 48 groups of SU friends with up to 99 in each group.
Firefox Extension the.extension.xpi [alpha version]
Same function as GM script [alpha is unstable, do not install, link is for testing, you have been warned]
Code:

 // ==UserScript==  
 // @name      Stumbleupon Extended Friend Groups  
 // @version            0.9.0  
 // @namespace    http://blog.michde.com  
 // @description   Groups for stumbleupon  
 // @include     http://*.stumbleupon.com/stumblers/*  
 // @include     http://*.stumbleupon.com/stumbler/*  
 // @include     http://*.stumbleupon.com/share/*  
 // @license     Nunyaz  
 // ==/UserScript==  
 var groupList = GM_listValues ();  
 var MAXGROUPS = 48; MAXFRIENDS = 99;  
 var imgBin = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAD9SURBVBgZBcFLLkNRAADQc1/fU6qkhFRMMNIQn8TUQCJWYBE2YBkWYQWMJIZmNuAXCSoGFUGIInJf33VOSAAAAIAcgLOFt3079flaEdTS50M6nT7YeggJwPFle6nhAoVhc370rnaXcwBSp62GTdxoGdPrkAPQD5OSbRFr6oLvjByA53CqY9YUvjy68YQcgELTuTd/khENbQk5ANGqFUSFnq6WW2QA5Op4VuhreJVEZACUAKiJkogMgIEKANFARAZAKQKolColMgA+f7vVkBkRSeYjvf6QAfB1cnnXNWTUhHHrXuLoESEBYO/aYjNUSqX3snk/2DjshwQAAAD4B9GUWR0G4scKAAAAAElFTkSuQmCC';  
 var imgPM = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAITSURBVBgZpcHLThNhGIDh9/vn7/RApwc5VCmFWBPi1mvwAlx7BW69Afeu3bozcSE7E02ILjCRhRrds8AEbKVS2gIdSjvTmf+TYqLu+zyiqszDMCf75PnnnVwhuNcLpwsXk8Q4BYeSOsWpkqrinJI6JXVK6lSRdDq9PO+19vb37XK13Hj0YLMUTVVyWY//Cf8IVwQEGEeJN47S1YdPo4npDpNmnDh5udOh1YsZRcph39EaONpnjs65oxsqvZEyTaHdj3n2psPpKDLBcuOOGUWpZDOG+q0S7751ObuYUisJGQ98T/Ct4Fuo5IX+MGZr95jKjRKLlSxXxFxOEmaaN4us1Upsf+1yGk5ZKhp8C74H5ZwwCGO2drssLZZo1ouIcs2MJikz1oPmapHlaoFXH1oMwphyTghyQj+MefG+RblcoLlaJG/5y4zGCTMikEwTctaxXq/w9kuXdm9Cuzfh9acujXqFwE8xmuBb/hCwl1GKAnGccDwIadQCfD9DZ5Dj494QA2w2qtQW84wmMZ1eyFI1QBVQwV5GiaZOpdsPaSwH5HMZULi9UmB9pYAAouBQbMHHrgQcnQwZV/KgTu1o8PMgipONu2t5KeaNiEkxgAiICDMCCFeEK5aNauAOfoXx8KR9ZOOLk8P7j7er2WBhwWY9sdbDeIJnwBjBWBBAhGsCmiZxPD4/7Z98b/0QVWUehjkZ5vQb/Un5e/DIsVsAAAAASUVORK5CYII=';  
 var imgTick = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGrSURBVDjLvZPZLkNhFIV75zjvYm7VGFNCqoZUJ+roKUUpjRuqp61Wq0NKDMelGGqOxBSUIBKXWtWGZxAvobr8lWjChRgSF//dv9be+9trCwAI/vIE/26gXmviW5bqnb8yUK028qZjPfoPWEj4Ku5HBspgAz941IXZeze8N1bottSo8BTZviVWrEh546EO03EXpuJOdG63otJbjBKHkEp/Ml6yNYYzpuezWL4s5VMtT8acCMQcb5XL3eJE8VgBlR7BeMGW9Z4yT9y1CeyucuhdTGDxfftaBO7G4L+zg91UocxVmCiy51NpiP3n2treUPujL8xhOjYOzZYsQWANyRYlU4Y9Br6oHd5bDh0bCpSOixJiWx71YY09J5pM/WEbzFcDmHvwwBu2wnikg+lEj4mwBe5bC5h1OUqcwpdC60dxegRmR06TyjCF9G9z+qM2uCJmuMJmaNZaUrCSIi6X+jJIBBYtW5Cge7cd7sgoHDfDaAvKQGAlRZYc6ltJlMxX03UzlaRlBdQrzSCwksLRbOpHUSb7pcsnxCCwngvM2Rm/ugUCi84fycr4l2t8Bb6iqTxSCgNIAAAAAElFTkSuQmCC';  
 var currURL = window.location.toString();  
 if (currURL.search ('/stumbler/') != -1) {  
      addStumblerControl ();  
 } else if (currURL.search ('/stumblers/') != -1) {  
      addGroupLists ();  
 } else if (currURL.search ('/share/') != -1){  
      addShareControl ();  
 }  
 function addShareControl () {  
      var contactlist = document.getElementById ('contactList');  
      var i;  
      for (i=0; i<groupList.length; i++) {  
           var cmd = document.createElement ('a');  
           var cmdli = document.createElement ('li');  
           cmd.title = groupList[i];  
           cmd.href = 'javascript:void(0);';  
           cmd.textContent = groupList[i];  
           cmd.addEventListener ('click', function () {  
                var gr = this.title;  
                var members = new Array ();  
                var groupgm = GM_getValue (gr).split(',');  
                var contactli = contactlist.getElementsByTagName ('li');  
                var j, k;  
                var count = 0;  
                while (groupgm.length > 1) { // first item is empty due to trailing comma in gm var  
                     members.push(groupgm.shift()); // pairs of usernames and userids  
                     groupgm.shift();  
                }  
                for (j=0; j<contactli.length; j++) {  
                     if (contactli[j].className != 'jdmcmd') {  
                          var un = contactli[j].textContent.replace (/s/g, '');  
                          for (k=0; k<members.length; k++) {  
                               if (un == maxStr (members[k], 10)) {  
                                    contactli[j].className = 'checked';  
                                    contactli[j].childNodes[3].childNodes[1].checked = true;  
                                    count++;  
                               }  
                          }  
                     }  
                }  
                alert (count+' friends added to selection.');  
           }, false);  
           cmdli.className = 'jdmcmd';  
           cmdli.appendChild (cmd);  
           if (i==0) {  
                contactlist.insertBefore (cmdli, contactlist.firstChild);  
           } else {  
                contactlist.insertBefore (cmdli, contactlist.firstChild.nextSibling);  
           }  
      }  
 }  
 function addStumblerControl () {  
      var sidebar = document.getElementsByClassName ('colRight')[0];  
      var uname = document.getElementsByClassName ('headerControls')[0].childNodes[3].childNodes[1].textContent.replace (/s/g, '');  
      var id = unsafeWindow.profile_user;  
      var groupdiv = document.createElement ('div');  
      sidebar.insertBefore (groupdiv, sidebar.firstChild);  
      var menuul = document.createElement ('ul');  
      var listul = document.createElement ('ul');  
      var menuli = document.createElement ('li');  
      var menucmd = document.createElement ('a');  
      menuli.className = 'hasChild';  
      menucmd.href = 'javascript:void(0);';  
      menucmd.textContent = 'Friend groups';  
      menuli.addEventListener ('mouseover', function () {  
           this.className = 'hasChild hover';  
      }, false);  
      menuli.addEventListener ('mouseout', function () {  
           this.className = 'hasChild';  
      }, false);  
      menuli.appendChild (menucmd);  
      menuli.appendChild (listul);  
      menuul.appendChild (menuli);  
      groupdiv.className = 'filter'; // nasty multiple id botch - guilty as charged  
      groupdiv.style.marginBottom = '10px';  
      groupdiv.appendChild (menuul);  
      for (i=0; i<groupList.length; i++) {  
           var itemli = document.createElement ('li');  
           var cmd = document.createElement ('a');  
           var rspan = document.createElement ('span');  
           var rimg = document.createElement ('img');  
           cmd.href = 'javascript:void(0);';  
           cmd.textContent = groupList[i];  
           rspan.className = 'right';  
           rimg.src = imgTick;  
           rspan.appendChild (rimg);  
           cmd.appendChild (rspan);  
           if (!isStumblerInGroup (uname, groupList[i])) {  
                rimg.style.display = 'none';  
           }  
           cmd.addEventListener ('click', function () {  
                ri = this.childNodes[1].childNodes[0];  
                gr = this.textContent;  
                if (ri.style.display == 'none') {  
                     if (numInGroup (gr) < MAXFRIENDS) {  
                          addStumblerToGroup (uname, id, gr);  
                          ri.style.display = '';  
                     } else {  
                          alert ('Maximum friends per group limit ('+MAXFRIENDS+') reached.');  
                     }  
                } else {  
                     delStumblerFromGroup (uname, gr);  
                     ri.style.display = 'none';  
                }  
           }, false);  
           itemli.appendChild (cmd);  
           listul.appendChild (itemli);  
      }  
 }  
 function maxStr (str, max) {  
      if (str.length > max) {  
           return str.substr (0,max-3) + '...';  
      } else return str;  
 }       
 function addGroupLists () {  
      var i;  
      var sidebar = document.getElementsByClassName ('colRight')[0];  
      var groupsdiv = document.createElement ('div');  
      var groupsh3 = document.createElement ('h3');  
      groupsdiv.className = 'box borderBottom';  
      groupsh3.textContent = 'Friend groups';  
      groupsdiv.appendChild (groupsh3);  
      sidebar.insertBefore (groupsdiv, sidebar.firstChild);  
      for (i=0; i<groupList.length; i++) {  
           var groupgm = GM_getValue (groupList[i]).split(',');  
           var groupdiv = document.createElement ('div');  
           var menuul = document.createElement ('ul');  
           var listul = document.createElement ('ul');  
           var menuli = document.createElement ('li');  
           var menucmd = document.createElement ('a');  
           var delul = document.createElement ('ul');  
           var delli = document.createElement ('li');  
           var delcmd = document.createElement ('a');  
           var delcmdimg = document.createElement ('img');  
           menuli.className = 'hasChild';  
           menucmd.href = 'javascript:void(0);';  
           menucmd.textContent = groupList[i];  
           delcmd.href = 'javascript:void(0);';  
           delcmd.title = 'Delete';  
           delcmd.addEventListener ('click', function () {  
                var gl = 0;  
                var pardiv = this.parentNode.parentNode.parentNode;  
                if (confirm ('Are you sure you want to delete the '+pardiv.title+' group?')) {  
                     GM_deleteValue(pardiv.title);  
                     groupList = GM_listValues (); // refresh list  
                     pardiv.parentNode.removeChild (pardiv);  
                     if (groupList.length == MAXGROUPS-1) {  
                          document.getElementById ('jdmaddgroupdiv').style.display = '';  
                     }  
                }  
           }, false);  
           delcmdimg.src = imgBin;  
           delcmd.appendChild (delcmdimg);  
           delli.appendChild (delcmd);  
           delul.className = 'right';  
           delul.appendChild (delli);  
           menuli.addEventListener ('mouseover', function () {  
                this.className = 'hasChild hover';  
           }, false);  
           menuli.addEventListener ('mouseout', function () {  
                this.className = 'hasChild';  
           }, false);  
           menuli.appendChild (menucmd);  
           menuli.appendChild (listul);  
           menuul.className = 'left';  
           menuul.appendChild (menuli);  
           groupdiv.className = 'filter'; // nasty multiple id botch - guilty as charged  
           groupdiv.style.marginBottom = '10px';  
           groupdiv.appendChild (menuul);  
           groupdiv.appendChild (delul);  
           groupdiv.title = groupList[i];  
           groupsdiv.appendChild (groupdiv);  
           while (groupgm.length > 1) { // first item is empty due to trailing comma in gm var  
                var uname = groupgm.shift(); // pairs of usernames and userids  
                var id = groupgm.shift();  
                var itemli = document.createElement ('li');  
                var cmdleft = document.createElement ('a');  
                var text = document.createTextNode (' '+maxStr (uname,10));  
                var cmdright = document.createElement ('a');  
                var cmdpm = document.createElement ('a');  
                var imgcmdpm = document.createElement ('img');  
                var imgcmddel = document.createElement ('img');  
                var avatar = document.createElement ('img');  
                var br = document.createElement ('br');  
                cmdleft.href = '/stumbler/'+uname+'/';  
                cmdleft.className = 'left';  
                cmdleft.style.width = '96px';  
                cmdleft.style.padding = '3px 2px 4px';  
                cmdleft.title = uname;  
                cmdright.href = 'javascript:void(0);';  
                cmdright.className = 'right';  
                cmdright.style.clear = 'right';  
                cmdright.style.padding = '1px 2px';  
                imgcmddel.src = imgBin;  
                imgcmddel.title = 'Delete';  
                cmdright.appendChild (imgcmddel);  
                cmdright.name = uname;  
                cmdright.addEventListener ('click', function () {  
                     var gn = this.parentNode.parentNode.parentNode.parentNode.parentNode.title;  
                     if (confirm ('Delete '+this.name+' from the '+gn+' group?')) {  
                          delStumblerFromGroup (this.name, gn);  
                          this.parentNode.parentNode.removeChild (this.parentNode);  
                     }  
                }, false);  
                cmdpm.href = '/stumbler/'+uname+'/contact/';  
                cmdpm.className = 'right';  
                cmdpm.style.clear = 'right';  
                cmdpm.style.padding = '1px 2px';  
                imgcmdpm.src = imgPM;  
                imgcmdpm.title = 'Contact';  
                cmdpm.appendChild (imgcmdpm);                 
                avatar.src = 'http://cdn.stumble-upon.com/superminipics/'+id+'.jpg';  
                avatar.width = '32';  
                br.className = 'clear';  
                cmdleft.appendChild (avatar);  
                cmdleft.appendChild (text);  
                itemli.appendChild (cmdleft);  
                itemli.appendChild (cmdpm);  
                itemli.appendChild (cmdright);  
                itemli.appendChild (br);  
                listul.appendChild (itemli);  
           }  
      }  
      var addgroupdiv = document.createElement ('div');  
      var addgroupname = document.createElement ('input');  
      var addgrouph3 = document.createElement ('h3');  
      var addgroupcmd = document.createElement ('a');  
      addgroupdiv.id = 'jdmaddgroupdiv';  
      addgrouph3.textContent = 'Add group';  
      addgroupname.id = 'jdmaddgroup';  
      addgroupcmd.className = 'btnGreen';  
      addgroupcmd.style.padding = '3px 12px;';  
      addgroupcmd.style.marginLeft = '5px';  
      addgroupcmd.style.display = 'inline-block';  
      addgroupcmd.textContent = 'Add';  
      addgroupcmd.addEventListener ('click', function () {  
           var agn = document.getElementById ('jdmaddgroup');  
           if (agn.value !== '') {  
                GM_setValue (agn.value, '');  
                window.location.reload (false);  
           }  
      }, false);  
      addgroupdiv.appendChild (addgrouph3);  
      addgroupdiv.appendChild (addgroupname);  
      addgroupdiv.appendChild (addgroupcmd);  
      if (groupList.length < MAXGROUPS) {  
           addgroupdiv.style.display = '';  
      } else {  
           addgroupdiv.style.display = 'none';  
      }  
      groupsdiv.appendChild (addgroupdiv);  
 }       
 function addStumblerToGroup (uname, id, group) {  
      var gmtemp = GM_getValue (group);  
      GM_setValue (group, gmtemp+uname+','+id+',');  
 }  
 function numInGroup (group) {  
      return (GM_getValue (group).split (',').length / 2);  
 }  
 function delStumblerFromGroup (uname, group) {  
      var gmtemp = GM_getValue (group);  
      var delexp = new RegExp (uname+',[0-9]*,');  
      GM_setValue (group, gmtemp.replace (delexp, ''));  
 }  
 function isStumblerInGroup (uname, group) {  
      return (GM_getValue (group).search (uname) != -1);  
 }  

You can find me on Stumble Upon all the time to. Come say hi and show me what you found to 🙂
New Media Tagged: extension firefox greasemonkey stumbleupon userscript

Journalism Optimized Power Blogging In Firefox Faster » Write It Ur Self @WriteItUrSelf.Com

“Journalism Optimized: Power Blogging In Firefox Faster, Writing Reasearch and Media Included.”Write It Ur Self @WriteItUrSelf.Com:

Journalism Optimized: Power Blogging In Firefox Faster, Writing Reasearch and Media Included.

xFireFox Writing takes time, no matter how fast you type, there is no rushing inspiration. Even the most well thought out post will have innumerable seconds lost to pauses as you make minute decisions in your words. A journalist approach, something all bloggers writers and media makers should be, takes immense research. From fact finding, to content and reference procurement, there is always more to it than just typing some text to make enough words.
Great content takes careful crafting rich with research, be it newsprint magazines books or blogs, all require that extra effort to become so. The only true way to be faster without losing as much quality as time, only efficiency will work. An optimized strategy planned to your target market and audience will take you far. As a researcher and author to hundreds of independent writers, website owners, news media organizations, journalists and blogs, I have found one simple thing above all else can make the greatest impact, Firefox.
Firefox with the right set of extensions can take hours off your combined research and writing time. If you post to a web based blog or posing system, you can do everything from any computer connected to the internet with a usb port. By use of a thumb drive you can carry your office in your pocket. With the right extensions you can mirror your laptop your work station and your thumb drive without even thinking about it as soon as your set up. In fact, you don’t even need a thumb drive if you do not need the portability and all systems can still be synced as long as they have Firefox and a live connection.
Read the full Edition here: writeiturself.com

New Media Tools Text Word Counter

Simple Text Word Counter

function countit(){

/*Word count script
By JavaScript Kit (http://javascriptkit.com)
Over 400+ free scripts here!
*/

var formcontent=document.wordcount.wordcount2.value
formcontent=formcontent.split(” “)
document.wordcount.wordcount3.value=formcontent.length
}

This free script provided by
JavaScript
Kit

Many time I have needed a word count, now we have a quick tool for it. Hope its as helpful for you as it was to me.

Hat Tip to http://JavaScriptKit.com for the source code.

Amazing tech and social buzz in less time, 7 slick tricks

 Amazing tech and social buzz in less time, 7 slick tricks

What can I say, the new tech geek by nature is a technology junkie. I want more web more social sharing more information faster broader updates and all that with a bowl O’ grits. The problem is how do you get your technology fix fast enough to satisfy but solid enough to actually view it. How in the world can you use dozens of social and web news sites microblog and still get anything done? How do you digg up and stumble thru hundreds if not thousands of pages a day. Music streaming video life streams and grid casting can really slow your systems let alone absorb way to much life.
Recently a SEM Friend brought me ‘out of the closet’ no not the rainbow one, the social web O holic closet. During a search engine marketing optimization research investigation, leaked to me, it became apparent I am a bit of a super internet social site share junky. To top that all off we found out I outpaced not only the worlds top A listers but the internet marketers, social promoters, search engine marketers and seo’s when it came to being on internet based social sharing and communications sites.
OK I admit it, I am a total web O holic. Also since this is a long post here is a short version of the list:

  • Pidgin Open source IM and email client using very low resources

  • Mahalo Combination wiki search and social site with useful tools

  • HelloTxt Multiple microblog and social update service with stats

  • Diigo not just another bookmaking site with great integration

  • Digsby The slickest social instant messenger and email client yet.

Amazingly enough as it sounds, I do have not computer time, and still keep up a pace even the professionals in each respective field cant match across the board. There are two main factors and for most of us they really make all the difference.
You probably just like me have no constant overseer of how we are online, not saying when or what overall we do, just how. Most of the people who are professionals in marketing SEM SEO recruiting or training all have an issue we wont. Everyone is staring at them so they have to think about every sill thing they link blog or even in the social micro blogging sphere who and what they reply to. That sucks and is no fun but gives your average human an edge in a really odd way, your freedom of form means you can share what you want when you want how you want and it does not really make a difference to your life or income.
The second is the options, I try almost every new site any interesting new software gadget or app. I run what works and dump what sucks or slows me down. This might sound odd but if your part of a bigger company or have everything you do looked at, what you use is often as important as who you talk to. Telling the boss or client this new thingy you installed broke something can suck.
Some really popular sites and software are a pain in the butt and you can use something much better to do it much faster. Just to help you out and show you the difference I will even give you a short list ;)
SocialAddict many folks have under rated this great adobe air app not only does it interface with 11 websites social networks microblogs aggregators and status update service but it use low ram. You can run it all out and still not slow down your other system software. That makes the time you invest in the web more efficient and effective.
Pidgin again an under rated software, pidgin is an open source instant messenger client and handles some social site with great email updates. While it does not have microblogs or face book wired in it does not each much ram either. The combination of pidgin and the aforementioned Social Addict will work on almost any system together at the same time easy.
Digsby not so badly spoken of is the rockin out the box newcomer Digsby. Digsby lock up twitter myspace facebook instant messaging email and a bit more. If you have the resources Digsby is the bomb, but it does all by itself eat as much ram in one bits as the two prior softs and apps together.
Hellotxt back to the underdogs here I think but Hellotxt.com rocks for the normal folks. When you don’t need to hit a handful of blogs and just want to update the web with what up share something good show a picture or video with friends. Hello text is the spot to get it done. You can shout to all you microblogs and main communication type site like facebook or myspace all in one shot. They even have video pic friend and link stats so you can see what liked by your friends.
Diigo not just another bookmarking site … really. While digg worried about fairness and del.icio.us was getting some new style, diigo made more options and better technology. Diigo will let you bookmark to other sites interface with your blog and share socially with friends. Did I mention the tech, you get notes bookmarks collaboration and a photo mash screen view slideshow maker to knock any nerds socks off.
Mahalo no its not stumbleupon its Mahalo and its cool. Mahalo is another newer social site that helps you share to more than one place. Mahalo is also a great social search engine and wiki site. You can browse and even use other social profiles and site right in you homepage its pretty sweet.
Scour search not the most popular search engine but an awesome way to get the mixed results from google msn and yahoo all at once. the extra kicker is a cool point system and social rating with comments. Its great fun to do thumbs and notes on search results don’t you think.
Now to cut this long post short. I hope this helps some others out a bit, I know it smooth’s my days and night online. If you know anything good and new feel free to share it I am sure I’ll check it out to.

Originalliy ‘New Tech Geek’ Tags: apps, help, social, tools, social apps

IceRocket Tags: ,,,,
43 Things Tags: ,,,,