text:
User:Bennyboyz3000/recent2.js

/*

This tool hits the RSS feed for recent changes every 30 seconds or so and checks for common vandalism. It does not make a separate server request for every edit.

Currently, the RSS feed is full of holes and so this may miss many edits. http://bugzilla.wikimedia.org/show_bug.cgi?id=3942

//

recent2={ // Edit these to your liking. // Make sure there's a comma at the end of each line. badwordsUrl:         'User:Bennyboyz3000/badwords', filterPage:          'User:Bennyboyz3000/Filter_recent_changes', allRecentPage:       'User:Bennyboyz3000/All_recent_changes', recentIPPage:        'User:Bennyboyz3000/Recent_IP_edits', monitorWatchlistPage: 'User:Bennyboyz3000/Monitor_my_watchlist', spelldictUrl:        'Wikiversity:Lists_of_common_misspellings/For_machines', spelldictPage:       'User:Bennyboyz3000/Live_spellcheck', safePages:           '[Ww]ikiversity:([Ii]ntroduction|[Ss]andbox|[Tt]utorial[^/]*/sandbox)', linkify:             true, // leave this alone dummy: null };

recent2.download=function(bundle) { // mandatory: bundle.url // optional: bundle.onSuccess (xmlhttprequest, bundle) // optional: bundle.onFailure (xmlhttprequest, bundle) // optional: bundle.otherStuff OK too, passed to onSuccess and onFailure

var x = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false;

if (x) { x.onreadystatechange=function { x.readyState==4 && recent2.downloadComplete(x,bundle); };   x.open("GET",bundle.url,true); x.send(null); } return x; }

recent2.downloadComplete=function(x,bundle) { x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true ) || ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText)); };

if (! recent2.outputPosition) { recent2.outputPosition=''; } window.gettingBadWords=false; window.badWords=null;

// paths if ( typeof(wgServer)!='string' ||    typeof(wgArticlePath)!='string' ||     typeof(wgScriptPath)!='string') { recent2.articlePath= 'http://' + document.location.hostname + '/wiki/'; recent2.scriptPath= 'http://' + document.location.hostname + '/w/'; } else { recent2.articlePath=mw.config.get('wgServer')+mw.config.get('wgArticlePath').replace(/\$1/, ''); recent2.scriptPath=mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/'; }

recent2.getBadWords=function { window.gettingBadWords=true; recent2.download({ url: recent2.scriptPath + 'index.php?title=' +	recent2.badwordsUrl + '&action=raw&ctype=text/css&max-age=7200', // reload every 2 h	onSuccess: recent2.processBadWords,	onFailure: function { setTimeout(recent2.getBadWords, 15000); return true;}}); }

window.diffCellRe=RegExp("\\+\\s*" +			 "]*>\\s* \\s*(.*?)\\s*\\s*", 'gi');

// processBadWords: generate the badWords RegExp from // the downloaded data. // d is the xmlhttprequest object from the download recent2.processBadWords=function(d) { var data=d.responseText.split('\n'); var phrase=[]; var string=[]; for (var i=0; i (?: s=s.replace(/\(?!\?/g, '(?:'); // check that s represents a valid regexp try { var r=new RegExp(s); } catch (err) { var errDiv=newOutputDiv('recent2_error', recent2.outputPosition); errDiv.innerHTML='Warning: ignoring odd-looking regexp on line '+i +' of badwords: ' + s + ' '; continue; }     if (isPhrase) phrase.push(s); else string.push(s); } else { // treat this line as a non-regexp and escape it. phrase.push(s.replace(RegExp('([-|.\\+:!,?*^${}\\[\\]])', 'g'), '\\$1')); } }  //                      123                                3       2|4                        4|5         56                        67        71  //                      (((    repeated char               )       )|(   ... | strings | ...  )|( border  )(   ... | phrases | ... )( border )) window.badWords=RegExp("((([^\\-\\|\\{\\}\\].\\s'=wI:*#0-9a-f])\\3{2,})|(" + string.join('|') + ")|(^|[^/\\w])(" + phrase.join('|') + ")(?![/\\w]))", 'gi'); };

window.gettingWatchlist=false; recent2.watchlist=null;

recent2.getWatchlist=function { window.gettingWatchlist=true; recent2.download({url: recent2.articlePath + 'Special:Watchlist/raw',	onSuccess: recent2.processWatchlist,	onFailure: function { setTimeout(getWatchlist, 15000); return true; }}); };

recent2.processWatchlist=function(req, bundle) { var watchlist={}; var lines=req.responseText.split('\n'); var inList=false; var article = ''; for (var i=0; i < lines.length; ++i) { if (inList || lines[i].indexOf('/, ''); } else { article=lines[i]; }     watchlist[article] = true; } } };

window.gettingSpelldict=false; window.spelldict=null;

recent2.getSpelldict=function { window.gettingSpelldict=true; recent2.download({url: recent2.scriptPath + 'index.php?title=' + recent2.spelldictUrl + '&action=raw&ctype=text/css',	onSuccess: recent2.processSpelldict,	onFailure: function { setTimeout(getSpelldict, 15000); return true; }}); };

recent2.processSpelldict=function(req, bundle) { var spelldict={}; var lines=req.responseText.split('\n'); var a=[]; for (var i=0; i'); if (split.length<2) { continue; } split[1]=split.slice(1).join('->').split(/, */); split[0]=split[0].toLowerCase.replace(/^\s*/, ''); spelldict[split[0]]=split[1]; a.push(split[0]); } window.spelldict=spelldict; window.spellRe=RegExp('\\b(' + a.join('|') + ')\\b', 'i'); };

recent2.feed=recent2.scriptPath + 'index.php?title=Special:Recentchanges&feed=rss';

window.newOutputDiv=function(klass, position, immortal) { var h1=document.getElementsByTagName('h1')[0]; var ret=document.createElement('div'); if (klass) { ret.className=klass; } if (!position) { position='bottom'; } switch(position) { case 'top': h1.parentNode.insertBefore(ret, h1.nextSibling); break; case 'bottom': h1.parentNode.appendChild(ret); break; default: if (!newOutputDiv.alerted) { alert('Unknown position '+position+' in recent2.js, newOutputDiv'); window.newOutputDiv.alerted=true; }   return newOutputDiv(klass, 'bottom'); } if (!immortal) { ret.id=newOutputDiv.uid++; } window.outputDivs.push(ret); return ret; }; window.newOutputDiv.alerted=false; window.newOutputDiv.uid=0; window.outputDivs=[];

window.grabRecentChanges=function(feed) { if (! window.badWords && recent2.filter_badwords ) { if ( ! window.gettingBadWords ) { recent2.getBadWords; } return setTimeout(function{grabRecentChanges(feed);}, 500); } if (! window.watchlist && recent2.filter_watchlist) { if (! window.gettingWatchlist ) recent2.getWatchlist; return setTimeout(function{grabRecentChanges(feed);}, 500); } if (! window.spelldict && recent2.filter_spelling) { if (! window.gettingSpelldict) recent2.getSpelldict; return setTimeout(function{grabRecentChanges(feed);}, 500); } var pos=recent2.outputPosition; if (pos=='top') { var output=newOutputDiv('recent2.lines', pos); var status=newOutputDiv('recent2.status', pos); } else { var status=newOutputDiv('recent2.status', pos); var output=newOutputDiv('recent2.lines', pos); } status.style.borderStyle='solid'; status.style.borderColor='orange'; status.innerHTML=greyFont+'(' + recent2.count + ') updating... ';

// this abort stuff doesn't work properly for some reason... //recent2.lastFeedDownload && recent2.lastFeedDownload.abort; // } catch (summatNasty) { /* do nothing */ } recent2.lastFeedDownload=recent2.download({url: feed,	onSuccess: processRecentChanges,	output: output, status: status, onFailure: feedFailed}); };

var greyFont='';

window.feedFailed=function(x,bundle) { try { bundle.status.innerHTML+=greyFont+'failed: '+x.statusText + ' '; } catch (err) { bundle.status.innerHTML+=greyFont+'failed badly: '+err+' '; } return true; };

recent2.newWindows=true;

window.linkmaker=function(url, text) { var s='' + text + ''; return s; };

recent2.ipUserRegex=RegExp('(User:)?((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}' +			  '(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])'); recent2.outputSeparator=' ';

recent2.delayedLines={}; recent2.delay=0; recent2.templateNamespace = 'Template'; recent2.namespaces={'Media':1, "Special":1, "User":1, "User talk":1, "Wikiversity":1, "Wikiversity talk":1, "Image":1, "Image talk":1, "MediaWiki":1, "MediaWiki talk":1, "Template":1, "Template talk":1, "Help":1, "Help talk":1, "Category":1, "Category talk":1, "Portal":1, "Portal talk":1};

window.processRecentChanges=function(req, bundle){ recent2.initialId=processRecentChanges.id; recent2.latest=processRecentChanges.lastDate; var doc; if (doc=req.responseXML.documentElement) { if (recent2.items=doc.getElementsByTagName('item')) { if ((recent2.itemsCurrent=recent2.items.length) > 0) { recent2.bundleRef = bundle; processRecentChangesSingle; // start processing one diff every 50 ms	return; }   }  }   processRecentChangesDisplay(bundle); return; }

recent2.safePagesRe=new RegExp('^' + recent2.safePages + '$'); recent2.changeDelay=50; // delay between processing each diff, in ms

window.nextChangeSoon=function(rightNow) { setTimeout(processRecentChangesSingle, rightNow ? 0 : recent2.changeDelay); };

// process single diff items delayed by a short timespan window.processRecentChangesSingle=function{ recent2.itemsCurrent--; var i = recent2.itemsCurrent; var items = recent2.items; if (i < 0) { processRecentChangesDisplay(recent2.bundleRef); return; }

var timestamp = Date.parse(getFirstTagContent(items[i],'pubDate')); if (timestamp <= processRecentChanges.lastDate) { nextChangeSoon(true); return; } recent2.latest = (timestamp > recent2.latest) ? timestamp : recent2.latest;

var diffText=getFirstTagContent(items[i],'description').split(' ').join(' \n'); var editSummary=diffText.replace(RegExp('^ (.*?) [\\s\\S]*'), '$1'); var editor=getFirstTagContent(items[i], 'creator') || getFirstTagContent(items[i], 'dc:creator');

if (recent2.ignore_my_edits && wgUserName==editor) { return; }

// NB article is the link attribute - a fully qualified URL var article=getFirstTagContent(items[i], 'link'); if (recent2.delayedLines[article] && recent2.delayedLines[article].editor != editor) { delete recent2.delayedLines[article]; }

if (recent2.filter_anonsOnly && !recent2.ipUserRegex.test(editor)) { nextChangeSoon(true); return; }

// articleTitle is the wgTitle thingy with spaces and all that var articleTitle=getFirstTagContent(items[i], 'title'); //console.info('articleTitle=%s', articleTitle);

if (recent2.ignore_safe_pages && recent2.safePagesRe.test(articleTitle)) { //console.warn('Ignoring safe page %s', article); nextChangeSoon(true); return; }

if (recent2.hideNonArticles) { var namespace=articleTitle.replace(/:.*/, ''); if (recent2.namespaces[namespace] &&	( ( recent2.showTemplates && namespace != recent2.templateNamespace ) || ! recent2.showTemplates )) { nextChangeSoon(true); return; } }

// perhaps ignore talk pages if (! recent2.show_talkpages && articleTitle     && /^Talk:|^[^:]*?[_ ]talk:/.test(articleTitle)) { nextChangeSoon(true); return; }

// perhaps restrict to watchlist articles if (recent2.filter_watchlist && articleTitle &&     ! window.watchlist[articleTitle.replace(/^Talk:/, '').replace(/[ _]talk:/, ':')]) { nextChangeSoon(true); return; }

// filter against badwords regexp if (recent2.filter_badwords) { var badMatch=null; var diffCell=null; var previousVandal= window.vandals[editor]; var matchesRe=''; var matchesPlain=''; diffCellRe.lastIndex=0; while (diffCell=diffCellRe.exec(diffText)) { // get content of addition table cells, faster than direct fulltext search badWords.lastIndex=0; // .test is meant to be faster than a full match if (badMatch=badWords.test(diffCell[1])) { break; } }   if (badMatch===true || previousVandal) { badWords.lastIndex=0; var reMatch; while (diffCell && (reMatch=badWords.exec(diffCell[1]))) { var badWord=reMatch[2] || reMatch[4] || reMatch[6] || ''; if (articleTitle.toLowerCase.indexOf(badWord.toLowerCase)<0) { // avoid legit article title occurrences badWord=badWord.replace(/^\s+|\s+$/g, ''); if (badWord!='') { matchesPlain+=badWord+', '; badWord=badWord.replace(/([^\w ])/g, '\\$1'); matchesRe+=badWord+'|'; }	}     }      matchesRe=matchesRe.replace(/\|$/, ''); matchesPlain=matchesPlain.replace(/, $/, ''); if (!previousVandal && matchesRe=='') { nextChangeSoon; return; } // highlighting var highlighted=diffCell && diffCell[1]; if (matchesRe) { highlighted=highlighted.replace(RegExp('('+matchesRe+')', 'g'),					' $1 '); }     articleTitle=getFirstTagContent(items[i], 'title'); // linkify highlighted=recent2.doLinkify(highlighted); diffText=recent2.doLinkify(diffText);

if (previousVandal) { matchesPlain = '[Previously rolled back this editor] ' + matchesPlain; }

recent2.delayedLines[article]={ timestamp: timestamp, article:article, count:recent2.count, articleTitle:articleTitle, editor:editor, badWord:matchesPlain, badDiffFragment:highlighted, diff:diffText, summary:editSummary };   }  } else if (recent2.filter_spelling) { var splMatch=null; while (diffCell=diffCellRe.exec(diffText)) { if (splMatch=spellRe.test(diffCell[1])) { break; } }   if (splMatch) { splMatch = diffCell[1].match(spellRe); var misspelling = splMatch[1]; //.replace(/^\s*/, ''); var badWord = ''+ misspelling + ''; diffText = diffText.replace(RegExp('('+misspelling+')', 'gi'),				 ' $1 '); // linkify diffText=recent2.doLinkify(diffText); recent2.delayedLines[article] = { timestamp: timestamp, article:article, count:recent2.count, articleTitle:articleTitle, editor:editor, badWord:badWord, badDiffFragment:'', diff:diffText, summary: editSummary };   }  } else { var article=getFirstTagContent(items[i], 'link'); var articleTitle=getFirstTagContent(items[i], 'title'); if (recent2.CustomFilter &&     ! recent2.CustomFilter({timestamp:timestamp, article:article, articleTitle:articleTitle, editor:editor, diff:diffText, summary:editSummary})) { nextChangeSoon; return; } // linkify diffText=recent2.doLinkify(diffText); recent2.delayedLines[article]={ timestamp: timestamp, article:article, count:recent2.count, articleTitle:articleTitle, editor:editor, diff:diffText, summary:editSummary }; }  // schedule next iteration nextChangeSoon; return; }

window.processRecentChangesDisplay=function(bundle){ var output=recent2.getDelayedLineOutput; //console.log(output); var outputString=''; if (recent2.outputPosition=='top') { outputString=output.join(recent2.outputSeparator); } else { for (var i=output.length-1; i>=0; --i) { outputString+=output[i] + (i>0 ? recent2.outputSeparator : '') ; } }  bundle.output.innerHTML+=outputString; if (recent2.wait_for_output) { recent2.pauseOutput; } setTimeout(function {recent2.doPopups(bundle.output)}, 300); // overlap better than missing some out, i think; FIXME do this properly processRecentChanges.lastDate=recent2.latest; // - 1; var statusTail=greyFont+'done up to ' + formatTime(recent2.latest) + ' '; if (processRecentChanges.id > recent2.initialId) { statusTail+=' toggle these details |'; if (recent2.autoexpand) { setTimeout( function {	 /* document.title=initialId+' '+processRecentChanges.id; */	  showHideDetailRange(recent2.initialId, processRecentChanges.id); }, 250 ); } }  statusTail += ' remove earlier output'; if (recent2.wait_for_output) { statusTail += ' | show new output'; } statusTail+=' '; bundle.status.innerHTML+=statusTail; return; }

// linkify and popupsify wikilinks recent2.doLinkify=function(txt) { if (!txt || !recent2.linkify) { return txt; }

var inheritColor='color:inherit;color:expression(parentElement.currentStyle.color)'; var externalLinkStyle='text-decoration:none;' var internalLinkStyle='text-decoration:none;'

externalLinkStyle=internalLinkStyle='text-decoration:none;border-bottom: 1px dotted;';

txt=txt.replace(/((https?|ftp):(\/\/[^\[\]\{\}\(\)<>\s&=\?#%]+|<[^>]*>)+)/g, function (p,p1) {   p1=p1.replace(/<[^>]*>/g, '');    var url=encodeURI(p1);    url=url.replace(/\"/g, '%22');    url=url.replace(/\'/g, '%27');    url=url.replace(/#/g, '%23');    var ti=p1.replace(/\"/g, '"');    return(''+p+'');  });

// BUG: doLinkify('123 badword blah blah') // gives '123  badword blah blah' // and the browser closes the inside the , so the badword is not red!

txt=txt.replace(/((\[\[)([^\|\[\]\{\}\n]*)([^\]\n]*)(]\]))/g, function (p,p1,p2,p3) {   p3=p3.replace(/<[^>]*>/g, '');    var url=encodeURI(p3);    url=url.replace(/\"/g, '%22');    url=url.replace(/\'/g, '%27');    url=url.replace(/#/g, '%23');    url=recent2.articlePath+url;    var ti=p3.replace(/\"/g, '"');    return(''+p+'');  }); return(txt); }

processRecentChanges.lastDate=0; processRecentChanges.id=0;

recent2.getDelayedLineOutput=function { var ret=[]; var id=processRecentChanges.id; for (var a in recent2.delayedLines) { if (recent2.delayedLines[a] && typeof recent2.delayedLines[a].count == typeof 1 &&	recent2.count - recent2.delayedLines[a].count >= recent2.delay) { recent2.delayedLines[a].id=id++; var line=(recent2.doLine(recent2.delayedLines[a])); if (line) { ret.push(line); } delete recent2.delayedLines[a]; } }  processRecentChanges.id=id; return ret; }

window.deleteEarlierOutputDivs=function(cur) { for(var i=0; i<outputDivs.length; ++i) { if (!outputDivs[i] || !outputDivs[i].id) continue; if (outputDivs[i].id >= 0 && outputDivs[i].id < cur) { // FIXME BUG: if we go from the bottom up, then we'll delete one too many or too few, or something :-)     outputDivs[i].parentNode.removeChild(outputDivs[i]);      outputDivs[i]=null;    }  }  // scroll to the top if we're appending output to the bottom, to keep the div we've clicked visible after the deletions  if (recent2.outputPosition!='top') document.location='#'; }

window.showHideDetailRange=function(start,end) { // use the first div to see if we should show or hide var div=document.getElementById('diff_div_' + start); if (!div) {alert('no such div: diff_div_' + start); return; } var state=false; // hide if (div.style.display=='none') state=true; // show for (var i=start; i<end; ++i) { showHideDetail(i, true, state); } }

window.toggleSysopEdits=function { var divs=document.getElementsByTagName('div'); for (var i=0; i<divs.length; ++i) { if (divs[i].className=='sysop_edit_line') divs[i].style.display= ( toggleSysopEdits.hidden ? 'none' : 'inline' ); } toggleSysopEdits.hidden = ! toggleSysopEdits.hidden; }

window.bundles={};

window.vandalColour = function(vandal) { var num=window.vandals[vandal]; if (!num) return ''; switch (num) { case 1: return '#DDFFDD'; case 2: return '#BBFFBB'; } var i= 9-(num - 3) *2; if (i < 0) i=0; return '#' + i + i + 'FF' + i + i; }

window.clickDetails=function(action, max) { if(!action) action='show'; if (!max) max = document.links.length; var count=0; for (var i=0; i<document.links.length && count < max; ++i) { if(document.links[i].innerHTML==action + ' details' && document.links[i].href.indexOf('javascript:') == 0) { ++count; eval(document.links[i].href.replace('javascript:', '')); } } }

recent2.pendingLines=[];

recent2.unpauseOutputOnce=function { //console.log('unpausing once'); if (recent2.pausedOutput) { recent2.togglePausedOutput; recent2.togglePausedOutput; } };

recent2.pauseOutput=function { //console.log('pausing'); if (!recent2.pausedOutput) { recent2.togglePausedOutput; } //console.log(recent2.pausedOutput); } recent2.unpauseOutput=function { //console.log('unpausing'); if (recent2.pausedOutput) { recent2.togglePausedOutput; } //console.log(recent2.pausedOutput); }

recent2.togglePausedOutput=function { if (!recent2.pausedOutput) { recent2.pausedOutput = true; return true; } else recent2.pausedOutput=false; var outputBuffer=''; while (recent2.pendingLines.length) { outputBuffer+=recent2.doLine(recent2.pendingLines.pop); if (recent2.pendingLines.length) { outputBuffer+=recent2.outputSeparator; } } var pos=recent2.outputPosition; var output=newOutputDiv('recent2.lines', pos); output.innerHTML=outputBuffer; setTimeout(function {recent2.doPopups(output)}, 300); return false; }

recent2.togglePaused=function { if(!recent2.paused) { recent2.paused=true; return true; } recent2.paused=false; loopRecentChanges(loopRecentChanges.url, loopRecentChanges.iterations); return false; }

recent2.doLine=function(bundle) { if (recent2.pausedOutput) { recent2.pendingLines.push(bundle); return ''; } //if (recent2.filter_spelling) { return recent2.doSpellLine(bundle); } var sysop = null; if (typeof sysops != 'undefined') sysop=sysops.test(bundle.editor); var lastDiffPage=bundle.article + '?diff=cur&oldid=prev'; bundle.url=lastDiffPage; saveBundle(bundle); var div=''; if (window.vandals[bundle.editor]) { if (window.vandals[bundle.editor] > 0) { div='
'} } else if (sysop) {div='
'}; return div + '
' + formatTime(bundle.timestamp) + ' ' + //latest + ' ' + processRecentChanges.lastDate + ' ' + '(' + linkmaker(lastDiffPage, 'last') + ')' + ' (' + linkmaker(bundle.article+'?action=history', 'hist') + ')' + ' ' + linkmaker(bundle.article, bundle.articleTitle) + ( bundle.badWord ? ' matched ' + bundle.badWord + ' . . ' : ' . . ') + linkmaker(recent2.articlePath + 'User:' + bundle.editor,          bundle.editor)     + ' ('  +  linkmaker(recent2.articlePath + 'User_talk:' + bundle.editor,             'talk')     + ' | ' +  linkmaker(recent2.articlePath + 'User_talk:' + bundle.editor + '?action=edit' + '&autoedit=s#$#\\n{'+'{subst:uw-test1|' + bundle.articleTitle + '}}%20' + '#&autosummary=Your%20recent%20edits', 'uw-test')    + ' | ' +  linkmaker(recent2.articlePath + 'User_talk:' + bundle.editor + '?action=edit' + '&autoedit=s#$#\\n{'+'{subst:uw-vandalism1|' + bundle.articleTitle + '}}%20' + '#&autosummary=Your%20recent%20edits', 'uw-vand')    + ' | ' +  linkmaker(recent2.articlePath + 'Special:Contributions/' + bundle.editor, 'contribs') + ' | ' +  linkmaker(recent2.articlePath + 'Special:Blockip/' + bundle.editor,       'block')    +  '). . ' + ( bundle.summary ? '('+bundle.summary+') . . ' : '') + 'show details' + ' . . [rollback]' + '
' + '
' + ( div ? ' ' : '') ; };

recent2.correctSpelling=function (article, badword) { var url=recent2.articlePath + article + '?action=edit&autoclick=wpDiff&autominor=true'; var wl=badword.toLowerCase; var cor=spelldict[wl]; if (!cor|| !cor.length) { alert('Could not find an entry for ' + wl); return; } if (cor.length > 1) { var q='Which correction should I use?\nPlease either type a number or another correction.\n'; for (var i=0; i<cor.length; ++i) { q += '\n' + i + ': ' + cor[i]; } var ans=prompt(q); if (!ans) {return;} var num=parseInt(ans, 10); if (num > -1 && num < cor.length) { cor = cor[num]; } else { cor = ans; } } else { cor = cor[0]; } cor=cor.replace(/^ *| *$/g, ''); url += '&autosummary=Correcting%20spelling:%20' + wl + '->' + cor; url += '&autoedit='; c0=cor.charAt(0); wl0 = wl.charAt(0); b='\\b'; url += ['s', b + wl + b, cor, 'g;'].join('#'); wl=wl0.toUpperCase + wl.substring(1); cor=c0.toUpperCase + cor.substring(1); url += ['s', b + wl + b, cor, 'g;'].join('#'); wl=wl.toUpperCase; cor=cor.toUpperCase; url += ['s', b + wl + b, cor, 'g;'].join('#'); window.open(url); };

window.saveBundle= function(bundle) { var z={}; for (var prop in bundle) { z[prop]=bundle[prop]; } window.bundles[bundle.id]=z; }

window.vandals={};

window.tryRollback=function(id) { if (recent2.non_admin_rollback) { recent2.tryNonAdminRollback(id); } else { recent2.tryAdminRollback(id); } };

recent2.getBundleVandal=function(id) { var b=window.bundles[id]; if (!b) { alert('No bundle! Please tell Bennyboyz3000 how to reproduce this error - it should not really happen.'); return null; } var vandal=b.editor; if (window.vandals[vandal]==null) { window.vandals[vandal]=1; } else { window.vandals[vandal]++; } return b; }

recent2.tryAdminRollback=function(id){ var b=recent2.getBundleVandal(id); if (!b) { return; } var vandal=b.editor; var onSuccess=function (x, bundle) { var rollRe=RegExp('<a href="(/w/index.php[^"]*?action=rollback[^"]*?from=([^&]*)[^"]*?)".*? (]*>)?(.*?)? [^<>]*? ');   // match[0]: useless    // match[1]: url (escaped)    // match[2]: last editor (escaped)    // match[4]: last edit summary (wikiText - FIXME strip this to plain text)    var match=rollRe.exec(x.responseText);    if (!match) {      alert('No rollback link found.' +	    '\nMaybe you should try the non-admin rollback by checking the checkbox above?\n' +	    'Alternatively, this may be a bug.');      return;    }    var lastEditor=match[2].split('+').join(' ');    var lastSummary=match[4];    // var vandal=b.editor; // from the closure    if (lastEditor != vandal) {      var summary=lastSummary.replace(RegExp('<[^>]*?>','g'),'');      if (!summary) summary=lastSummary;      alert( 'Could not rollback - someone else has edited since the vandal.\n\nPage: '+ b.articleTitle + '\nVandal: '+vandal+'\nLast editor: '+lastEditor+'\nEdit summary: '+summary);     return;    }    var rollbackUrl=match[1].split('&').join('&');    // confirm('Rollback edits by '+vandal + ' to '+b.articleTitle+'?') &&    window.open(rollbackUrl, '_blank');  }  var onFailure = function(x,bundle) {    alert('HTTP failed when trying to get rollback link in url\n' + bundle.url + '\n\nHTTP status text: ' + x.statusText);   return true;  }  recent2.download({ url:b.url, onSuccess: onSuccess, id: b.id, onFailure:onFailure}); };

recent2.tryNonAdminRollback=function(id) { if (typeof(autoEdit)=='undefined') { alert('You need to have autoedit functionality for non-admin rollback.\n\n' +	 'This is included in Navigation popups - see WP:POP.\n\n'+	  'Alternatively, you can try adding '+	  '{'+'{subst:js|User:Bennyboyz3000/autoedit.js}} ' +	  'to your user javascript file.'); return; } var b=recent2.getBundleVandal(id); if (!b) { return; } var vandal=b.editor; var url=recent2.scriptPath + 'query.php?format=json&titles=' + b.articleTitle + '&what=revisions&rvlimit=100&rvcomments'; var onSuccess=function(x,y){ recent2.processHistoryQuery(x,y,b); } recent2.download({ url: url, onSuccess: onSuccess, id: b.id}); // fixme: onFailure };

recent2.processHistoryQuery=function(x,downloadBundle, bundle) { var json=x.responseText; try { eval('var o='+json); var p=o['pages']; var edits=recent2.anyChild(p)['revisions']; } catch ( someError ) { alert('JSON business failed.\n\n' + json.substring(0,100)			      + '\n\nCannot rollback.'); return; } var i; for (i=0; i<edits.length; ++i) { if (edits[i]['user']!=bundle.editor) { break; } } if (i===0) { alert( 'Could not rollback - someone else has edited since the vandal.\n\nPage: ' +	  bundle.articleTitle +	   '\nVandal: '+bundle.editor+'\nLast editor: '+edits[0]['user']+	   '\nEdit summary: '+edits[0]['comment']); return; } if (i==edits.length) { alert(bundle.editor + ' seems to be the only editor to ' + bundle.articleTitle +	 '.\n\nRollback aborted.'); return; } var prevEditor=edits[i]['user']; var prevRev=edits[i]['revid']; var summary='Reverted edits by ' + escape(bundle.editor) + ' to last version by ' + escape(prevEditor); summary=summary.split(' ').join('%20'); var url=bundle.article + '?action=edit&autosummary=' + summary + '&oldid=' + prevRev + '&autoclick=wpSave&autominor=true'; window.open(url, '_blank'); }; //recent2.non_admin_rollback=true;

recent2.anyChild=function(obj) { for (var p in obj) { return obj[p]; } return null; };

recent2.doPopups=function(div) { if (typeof(window.setupTooltips)!='undefined') { setupTooltips(div); } }

window.formatTime=function(timestamp) { var date=new Date(timestamp); var nums=[date.getHours, date.getMinutes, date.getSeconds]; for (var i=0; i<nums.length; ++i) if (nums[i]<10) nums[i]='0'+nums[i]; return nums.join(':'); }

window.showHideDetail = function(id, force, state) { var div=document.getElementById('diff_div_' + id); var lk=document.getElementById('showdiff_link_' + id); if (!div) return; var bundle=window.bundles[id]; if (!div.innerHTML) div.innerHTML= ( bundle.badDiffFragment ? bundle.badDiffFragment:'') + bundle.diff; if ((force && state==true) || (!force && div.style.display=='none')) { div.style.display='inline'; lk.innerHTML='hide details'; } else { div.style.display='none';  lk.innerHTML='show details'; }

}

window.getFirstTagContent=function(parent, tag) { var e=parent.getElementsByTagName(tag); if (e && (e=e[0]) ) { var ret = e.firstChild.nodeValue || e.nodeValue; if (typeof ret != typeof ) return ; return ret; } };

recent2.newCell=function { var numCols=3;

var c=recent2.controls; if (!c) { return; } if (!c.cellCount) { // start a table c.cellCount = 0; c.table=document.createElement('table'); c.appendChild(c.table); c.tbody=document.createElement('tbody'); c.table.appendChild(c.tbody); } if (!(c.cellCount % numCols)) { // start a row c.curRow=document.createElement('tr'); c.tbody.appendChild(c.curRow); } // start a cell c.curCell=document.createElement('td'); c.curRow.appendChild(c.curCell); ++c.cellCount; };

recent2.newCheckbox=function(label, state, action, internalName, append) { // checkbox recent2.newCell; var ret=document.createElement('input'); ret.type='checkbox'; ret.checked = state; ret.onclick = function { recent2.setBoxCookies; this.setVariables; }; ret.setVariables = action; recent2.controls.curCell.appendChild(ret); if (internalName) { recent2.controls[internalName]=ret; } // label var l=document.createElement('label'); l.innerHTML=label; l.onclick=function{ ret.click; } // recent2.controls.appendChild(l); recent2.controls.curCell.appendChild(l); recent2.checkboxes.push(ret); return ret; };

recent2.checkboxes=[];

recent2.setBoxCookies=function { var n=1; var val=0; for (var i=0; i<recent2.checkboxes.length; ++i) { val += n * (recent2.checkboxes[i].checked ? 1 : 0); n = n << 1; } document.cookie = 'recent2_checkboxes='+val+"; expires=Tue, 31-Dec-2030 23:59:59 GMT; path=/"; };

recent2.setCheckboxValuesFromCookie=function { var val=recent2.readCookie('recent2_checkboxes'); if (!val) { return; } val=parseInt(val, 10); for (var i=0; i<recent2.checkboxes.length; ++i) { if ( recent2.checkboxes[i].checked != (val & 1) ) { recent2.checkboxes[i].checked= (val & 1); recent2.checkboxes[i].setVariables; }   val = val >> 1; } };

recent2.readCookie=function(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') { c = c.substring(1,c.length); } if (c.indexOf(nameEQ) === 0) { return c.substring(nameEQ.length,c.length); } } return null; };

recent2.controlUI=function { recent2.controls=newOutputDiv('recent2.controls', 'top', true);

recent2.newCheckbox('Ignore talk pages', !recent2.show_talkpages,      function { recent2.show_talkpages=!this.checked; }, 'talk'); recent2.newCheckbox('Ignore pages outside the article namespace', false,      function { recent2.hideNonArticles = this.checked; }, 'hidenonarticles'); recent2.newCheckbox('... except for the Template namespace', false,      function { recent2.showTemplates = this.checked; }, 'showtemplates'); recent2.newCheckbox('Automatically expand new content', recent2.autoexpand,      function { recent2.autoexpand = this.checked; }, 'autoexpand'); recent2.newCheckbox('Only show edits unchanged after four updates', false,      function { recent2.delay = (this.checked) ? 4 : 0; }, 'delayby4'); recent2.newCheckbox('Use non-admin rollback', false,      function { recent2.non_admin_rollback = this.checked; }, 'nonadminrollback'); recent2.newCheckbox('Ignore my edits', false,      function { recent2.ignore_my_edits = this.checked; }, 'ignoremyedits'); recent2.newCheckbox('Ignore safe pages', false,      function { recent2.ignore_safe_pages = this.checked; }, 'ignoresafepages'); var b=document.createElement('input'); b.type='button'; b.value='pause updates'; b.onclick=function{ b.value=(recent2.paused)?'pause updates':'resume updates'; recent2.togglePaused; } recent2.newCell; recent2.controls.curCell.appendChild(b); recent2.setCheckboxValuesFromCookie; }

recent2.count=0; window.loopRecentChanges=function(url, iterations) { if (!iterations) iterations=20; loopRecentChanges.iterations=iterations; loopRecentChanges.url=url; grabRecentChanges(url); setTimeout(function {    if (recent2.paused) {++recent2.count; return; }    if (++recent2.count >= iterations && ! confirm('Continue monitoring recent changes?') ) return;   recent2.count %= iterations; loopRecentChanges(url, iterations);  }, 30000); } window.marvin=function { // this isn't really used (not accessible from the UI), so don't worry about it window.sysops=RegExp("^(\\-\\- April|23skidoo|Bennyboyz3000)$"); recent2.show_talkpages=true; recent2.controlUI; loopRecentChanges(recent2.feed, 200); }

// ************************************************** // Installation // **************************************************

recent2.addlilink=function(tabs, url, name, id, title, key){ var na = document.createElement('a'); na.href = url; na.appendChild(document.createTextNode(name)); var li = document.createElement('li'); if(id) li.id = id; li.appendChild(na); tabs.appendChild(li); if(id) { if(key && title) ta[id] = [key, title]; else if(key)    ta[id] = [key, '']; else if(title)  ta[id] = ['', title]; }   // re-render the title and accesskeys from existing code in wikibits.js    akeytt; return li; }

recent2.addToolboxLink=function(url, name, id){ var tb = document.getElementById('p-tb').getElementsByTagName('ul')[0]; recent2.addlilink(tb, url, name, id); }

window.addMarvin=function { recent2.addToolboxLink(recent2.articlePath + recent2.filterPage,			 'Filter recent changes', 'toolbox_filter_changes'); recent2.addToolboxLink(recent2.articlePath + recent2.allRecentPage,			 'All recent changes', 'toolbox_all_changes'); recent2.addToolboxLink(recent2.articlePath + recent2.recentIPPage,			 'Recent IP edits', 'toolbox_IP_edits'); recent2.addToolboxLink(recent2.articlePath + recent2.monitorWatchlistPage,			 'Monitor my watchlist', 'toolbox_watchlist_edits'); recent2.addToolboxLink(recent2.articlePath + recent2.spelldictPage,			 'Live spellcheck', 'toolbox_spelling'); };

recent2.testPage = function (str) { return RegExp(str.split(/[_ ]/).join('[_ ]'), 'i').test(document.location.href); };

window.maybeStart=function { var loc=document.location.href; if (recent2.testPage(recent2.filterPage)) { recent2.filter_badwords=true; } else if (recent2.testPage(recent2.allRecentPage)) { recent2.filter_badwords=false; } else if (recent2.testPage(recent2.recentIPPage)) { recent2.filter_anonsOnly=true; } else if (recent2.testPage(recent2.monitorWatchlistPage)) { recent2.filter_watchlist=true; } else if (recent2.testPage(recent2.spelldictPage)) { recent2.filter_spelling=true; } else { return; } setTimeout(marvin, 1000); }

// onload $(maybeStart); $(addMarvin);

//// testing code //recent2.filter_badwords=true; //recent2.filter_spelling=true; //setTimeout(marvin,1000);

//

title: User:Bennyboyz3000/recent2.js


text:
User:Bennyboyz3000/autoedit.js

function getParamValue(paramName) { var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)'); var h=document.location; var m; if (m=cmdRe.exec(h)) { try { return decodeURI(m[1]); } catch (someError) {} } return null; };

function substitute(data,cmdBody) { // alert('sub\nfrom: '+cmdBody.from+'\nto: '+cmdBody.to+'\nflags: '+cmdBody.flags); var fromRe=RegExp(cmdBody.from, cmdBody.flags); return data.replace(fromRe, cmdBody.to); };

function execCmds(data, cmdList) { for (var i=0; i<cmdList.length; ++i) { data=cmdList[i].action(data, cmdList[i]); } return data; }

function parseCmd(str) { // returns a list of commands if (!str.length) return []; var p=false; switch (str.charAt(0)) { case 's': p=parseSubstitute(str); break; case 'j': p=parseJavascript(str); break; default: return false; } if (p) return [p].concat(parseCmd(p.remainder)); return false; };

function unEscape(str, sep) { return str.split('\\\\').join('\\') .split('\\'+sep).join(sep) .split('\\n').join('\n'); };

function runJavascript(data, argWrapper) { // flags aren't used (yet)

// from the user's viewpoint, // data is a special variable may appear inside code // and gets assigned the text in the edit box

// alert('eval-ing '+argWrapper.code);

return eval(argWrapper.code); };

function parseJavascript(str) { // takes a string like j/code/;othercmds and parses it

var tmp,code,flags;

if (str.length<3) return false; var sep=str.charAt(1); str=str.substring(2); tmp=skipOver(str,sep); if (tmp) { code=tmp.segment.split('\n').join('\\n'); str=tmp.remainder; } else return false;

flags=''; if (str.length) { tmp=skipOver(str,';') || skipToEnd(str, ';'); if (tmp) {flags=tmp.segment; str=tmp.remainder; } }

return { action: runJavascript, code: code, flags: flags, remainder: str }; };

function parseSubstitute(str) { // takes a string like s/a/b/flags;othercmds and parses it

var from,to,flags,tmp;

if (str.length<4) return false; var sep=str.charAt(1); str=str.substring(2);

tmp=skipOver(str,sep); if (tmp) { from=tmp.segment; str=tmp.remainder; } else return false;

tmp=skipOver(str,sep); if (tmp) { to=tmp.segment; str=tmp.remainder; } else return false;

flags=''; if (str.length) { tmp=skipOver(str,';') || skipToEnd(str, ';'); if (tmp) {flags=tmp.segment; str=tmp.remainder; } } return {action: substitute, from: from, to: to, flags: flags, remainder: str};

};

function skipOver(str,sep) { var endSegment=findNext(str,sep); if (endSegment<0) return false; var segment=unEscape(str.substring(0,endSegment), sep); return {segment: segment, remainder: str.substring(endSegment+1)}; }

function skipToEnd(str,sep) { return {segment: str, remainder: ''}; }

function findNext(str, ch) { for (var i=0; i<str.length; ++i) { if (str.charAt(i)=='\\') i+=2; if (str.charAt(i)==ch) return i; } return -1; };

function runOnLoad(f) { if (window.addEventListener) { window.addEventListener("load",f,false); } else if (window.attachEvent) { window.attachEvent("onload",f); } else { window._old_popup_autoedit_onload = window.onload; window.onload = function { window._old_popup_autoedit_onload; f; } } };

window.autoEdit=function { if (window.autoEdit.alreadyRan) return false; window.autoEdit.alreadyRan=true; var cmdString=getParamValue('autoedit'); if (cmdString) { try { var editbox=document.editform.wpTextbox1; } catch (dang) { return; } var cmdList=parseCmd(cmdString); var input=editbox.value; var output=execCmds(input, cmdList); editbox.value=output; }

var summary=getParamValue('autosummary'); if (summary) document.editform.wpSummary.value=summary;

var minor=getParamValue('autominor'); if (minor) { switch (minor) { case '1': case 'yes': case 'true': document.editform.wpMinoredit.checked=true; break; case '0': case 'no': case 'false': document.editform.wpMinoredit.checked=false; } }

var btn=getParamValue('autoclick'); if (btn) { if (document.editform && document.editform[btn]) { var headings=document.getElementsByTagName('h1'); if (headings) { var div=document.createElement('div'); var button=document.editform[btn]; div.innerHTML='The "' + button.value +          '" button has been automatically clicked.' + ' Please wait for the next page to load. '; document.title='('+document.title+')'; headings[0].parentNode.insertBefore(div, headings[0]); button.click; }   } else { alert('autoedit.js\n\nautoclick: could not find button "'+ btn +'".'); }   } };

runOnLoad(autoEdit);

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: User:Bennyboyz3000/autoedit.js


text:
User:Bennyboyz3000/Filter recent changes

If you have installed Lupin's anti-vandal tool and if you have logged in, then you should see activity below this line soon. If you think the list of flagged words, letter combinations, and phrases is faulty, please view or prudently edit it at badwords.


text: User:Bennyboyz3000/All recent changes

title: User:Bennyboyz3000/All recent changes


text: User:Bennyboyz3000/Recent IP edits

title: User:Bennyboyz3000/Recent IP edits


text:
User talk:Ladyess10

Hello Ladyess10, and welcome to Wikiversity! If you need help, feel free to visit my talk page, or contact us and ask questions. When leaving comments for others to read, remember to sign and date; it helps everyone keep track of who is writing messages. The signature icon in the edit window makes it simple. To help you get started:
 * Take a guided tour and learn how to edit;
 * Explore our learning projects;
 * Browse our portals, schools, and research pages; and
 * Read and help develop our community policies.

If you're already excited about editing, our sandbox is the perfect place for all test edits. Also, don't forget to experiment with the links to your left. Be bold, and see you around Wikiversity! Erkan Yilmaz (evaluate me!, discussion ) 17:50, 25 August 2007 (UTC)

BTW: I saw your edit here. If you have questions, please ask me. Erkan Yilmaz (evaluate me!, discussion ) 17:50, 25 August 2007 (UTC)

title: User talk:Ladyess10


text: User:Bennyboyz3000/Monitor my watchlist

title: User:Bennyboyz3000/Monitor my watchlist


text:
User:Bennyboyz3000/Live spellcheck

If you've installed the anti-vandal tool and if you've logged in, then you should see activity below this line soon. If you think the list of common misspellings is faulty, please view and/or prudently edit it at Lists of common misspellings/For machines.

title: User:Bennyboyz3000/Live spellcheck


text:
User talk:Ganapathi Balaji.S

- this was about:

title: User talk:Ganapathi Balaji.S


text:
User:Bennyboyz3000/badwords

This page contains words which are flagged by User:Bennyboyz3000/Filter recent changes. This page is semi-protected to prevent vandals from adding common words and flooding the tool, but please feel free to edit it responsibly.  Words are listed one per line. Lines beginning with "<" are ignored Lines which begin and end with "/" or "\" are treated as regular expressions.  Phrases that start and end at word borders are enclosed in slashes ("/.../") Strings anywhere in the text are enclosed in backslashes ("\...\")  '''All other lines are not treated as regular expressions and are matched literally. This includes lines which contain just one slash such as /foos? or foo(ing|ed)?/, so such entries will often not have the desired effect. Include two slashes instead, like /foos?/ or /foo(ing|ed)?/ .'''

Case-insensitive matches are used, so capitalization is irrelevant.

In regular expressions, parentheses like this: may be used for grouping, but it is not possible to reference a previous parenthesis, either by backslash-escaping it or putting it inside a character class.

 To see the effects of changes in the Filter recent changes tool, you must bypass your browser cache: open this link and press Shift-Reload. Then go to Filter recent changes and press Shift-Reload.

\-{10,}\ \~{5,}\ \\|{6,}\ \\{{6,}\ \\}{6,}\ \\]{5,}\ \\.{10,}\ \ {10,}\ \\n{6,}\ \'{6,}\ \={6,}\ \w{4,}\ \I{4,}\ \:{12,}\ \\*{10,}\ \#{8,}\ \1{7,}|2{7,}|3{7,}|4{7,}|5{7,}|7{7,}|7{7,}|8{7,}|8{7,}|9{7,}|a{7,}|b{7,}|c{7,}|d{7,}|e{7,}|f{7,}\ \\!{3,}\ \\?{2,}\ \\${2,}\

/(m[ou]th[ae]r?)?(f|ph)u(kc|c+k*|c*k+|x)(a|in[g']?|e[rd]|y|)?[sz]?(m(e|y)|(yo)?ur?|his|her|it|their|our|each other)?[- ]?(ass|all|ie|y|bitch|erino|head|hole|arse|face|queer|w?it|[o0]r?|off|tard|wad|(yo)?u|me|her|him|them)?(a|e+[rsd]|in[g']?)?(a| hell| and die|him|her|up)?[sz]?/ /(f+|s+)\W*u+\W*[c\(]+\W*k+/ fcuk /s+u(c?k+|x)(a|in[g']?|e[rd]|y|)?[sz]?[- ]?(m(e|y)|(yo)?ur?|his|her|it|their|our|each other)?[- ]?(ass|start|peter|cock|dick)?(a|e[rsd]|in[g']?)?[sz]?/

/ball+[- ]?((([sf]uck|bust|[lk]ic?k+|break|sack)(a|e[rd]|in[g']?)?[sz]?)|[sz])/ /bea[nv]er[- ]?(juice|lick|[sf]uck)?(a|e[rsd]|in[g’]?)?[sz]?/ cawk /clit(orise?)?[sz]?/ /(tiny)?[- ]?[ck][o0](c?k+|x)[- ]?(ass|bag|bite|goggle|smoke|head|face|tease|knock|nose|hole|[fs]uc?k+|tease|thirsty|hungry)?(a|e[dsr]|in[g']?)?[sz]?/ /crank[- ]?(yank)?(a|e[rd]|in[g']?)?[sz]?/ /cun+(y|ie)s?/ /[ck]unt[- ]?(off|ish|rape|lick|juice|eat|face?|l[ai]p+|munch|head|[sf]uc?k+)?(a|e[rsd]|in[g']?)?[sz]?/ /c+\W*u+\W*n+\W*t+/ /(big|little|needle|pencil)?[- ]?di(x|c?k+)[- ]?(bag|bite|chode|head|hold|hole|face|nose|less|lick|[sf]uc?k+|tease|wad)?(a|e[rds]|in[g’]?)?[sz]?/ eroticunt /[gjb]enital(s|ia)?/ /hard[- ]?on[sz]?/ /his peters?/ kawk kok /konts?/ /(num+b?|bust a)?[- ]?nut+[- ]?(bust|sack)?(a|e[dr]|in[g']?)?[zs]?/ /pecker[- ]?(head|wood)?[sz]?/ penii /p[3ei]n[1!iu]s[- ]?(bit|lic?k+|[sf]uck|head|face|hole)?(a|e[rsd]|in[g']?)?[zs]?/ /p+\W*[3ei]+\W*n+\W*[1!iu]+\W*s+/ /peter[- ]?(pu(mp|ff))(a|e[rds]|in[g’]?)?[sz]?/ /phal+(ic|us)/ /pid+er/ /poon[- ]?(tang|tsee)/ /prick[- ]?(head|face|wad|tease)?(a|e[rds]|in[g’]?)?[sz]?/ /pus+(y|ie?)[- ]?(eat|juice|face|lick|lap+|[fs]uck|munch|wh?ip+)?(a|e[rsd]|in[g']?)?[sz]?/ /s(c?h)?longs?/ /scrotums?/ /snatch(es)?/ /stiff(y|ie)s?/ /testicles?/ /twat[- ]?(eat|lap+|juice|munch|head|[sf]uc?k+|lick)?(a|e[rsd]|in[g']?)?[sz]?/ /vagina(l|s)?/ /(a |his |the )?wangs?/

/an(us|al)[- ]?(sex|hole|tova|w?hor?e?)?[sz]?/ /(bang|snog+)(a|e[rd]|in[g']?)?[sz]?/ bdsm /bea?stiali(ty|[sz]t?e?[ds]?)/ /bi[- ]?(sexual|curious)/ /(blow|hand|tug)[- ]?job+(a|e[rsd]|in[g']?)?[sz]?/ /(blow|bite|eat) me/ /(little )?blue[- ]?(ba|pi)l+[sz]?/ /bordel+oe?s?/ /broke[- ]?back/ /bug+er+(e[dr]|y|ing)?s?/ /buk+ak+e/ /butche?[sz]?/ /(carpet|rug|minge)[- ]?(bag+|munch)(e[rsd]|a|in[g']?)?[sz]?/ /(in |out of )the closet/ /corn[- ]?(hole)(a|e[dsr]|in[g']?)?[sz]?/ /cross[- ]?dres+(a|e[rsd]|in[g']?)?[sz]?/ /cun+[iy]lingus/ /did+le?(a|e[dr]|in[g']?)?[sz]?/ /dildoe?[sz]?/ /dogg(ie|y)[- ]?style/ /dong[- ]?(lover)?[sz]?/ /donkey[- ]?(punch|fuck|dic?k+|penis|show|rape?)(a|e[rsd]|in[g']?)?s?/ /down[- ]?(her |their )?blouses?/ /(in|the) drag/ /drag[- ]?queens?/ /d[iy]k[eu][sz]?/ /fag+([oi]t+)?[- ]?(love?)(a|e[rsd]|in[g']?)?[sz]?/ F.A.G /fap+(ing)?s?/ /(auto)?[- ]?fel+atio+n?/ /fetish([es|is[mt])?s?/ /(finger|toe|fist|tit+(ie|y)?)[- ]?(bang|[fs]uc?k+|pul+)?(in[g']?|a|e[dr])[sz]?/ /fitty[- ]?tuck(a|e[rd]|in[g']?)?[sz]?/ /flam(er|o)s?/ /fluf+(a|e[rd]|in[g']?)?[zs]?/ /frot(tage)/ /fudge?[- ]?pac?k+(a|e[rd]|in[g']?)?[sz]?/ /((i|wa)s|(we|a)re|am|u ?r)?[- ]?(a|th?eh?)?[- ]?(gh?[ae]y)[- ]?(ass|fre+a?k|[fs]uck|boy|guy|dude|sex|dar|love?|lord|m[ae]n|wad)?(a|e[rsd]|est|in[g']?)?[sz]?/ /g+a+y+/ /gender[- ]?bender[sz]?/ /[gj]igoloe?[sz]?/ /(goat(ses?)?|sheep|dog|horse)[- ]?(bang|[fs]uc?k+|dic?k+|shag+|sex|rape?)(a|e[rsd]|in[g']?)?[sz]?/ /(swings?|go(es)?) both ways/ /gutter[- ]?slut[sz]?/ /hermaphrodites?/ /(is a |are )?homo(sexual)?(phob(e|ic))?[sz]?/ /hum+(a|er)[zs]?/ /(my|her|your|butt|leg|dry|m[ou]th(er|a))?[- ]?hump(a|e[rd]|in[g']?)?[sz]?/ incest /(ja(k+|g+)|jerk+|wh?a[ck]+|wan[ck]+)(a|e[rd]|in[g']?)?[sz]?[- ]?(as+|off|up|wad|shit+)?(a|e[rsd]||in[g']?|ery)?[sz]?/ /jack(a|e[rd]|in[g']?)[sz]?[- ]?(as+|off|up|wad|shit+)?(a|e[rsd]||in[g']?|ery)?[sz]?/ /jail[- ]?bait/ /kajir[ui]a?s?/ /key part(y|ie)s?/ /(is a |are )?lesb(o|ian)([sz]|ism)?/ libido /lick(er)?s?/ /(likes?|loves?|wants?|digs?|(wa|i)s into|gets? off (on|with))[- ]?(the|d?a)[- ]?(coc?k+|dic?k+|cheese|guy|dude|chick|(wo)?m[ae]n|(little )?(boy|girl)|pus+(y|ie))[sz]?/ /lolitas?/ /mast[eu]rbate?(ion|ing)?[sz]?/ /milf(s|y)?/ /(child|kiddie)[- ]?molest(a|[eo][dr]|in[g']?)?s?/ /muff[- ]?(dive?|lic?k+|munch)?(a|e[rd]|in[g']?)?[sz]?/ /munch(er|a)s?/ /necr[ao](f|ph)il(e|ia|a)s?/ nookie oral sex /orgasms?/ /org(y|ie)[sz]?/ /pa?edo(f|ph)il(e|ia)s?/ /pearl necklaces?/ /perv[eo]?(rt(ed)?|[sd])?s?/ /petafiles?/ /pimp(ed|in['g]?|i)?[sz]?/ /plays? with (them|your|him|her)sel(f|ve)s?/ /prost?itut(e|ion)s?/ /queer[- ]?(mo|boy)?s?/ /rap(e[rd]|in[g']?|ist)/ /reach[- ]?around/ /r[ai]m+[- ]?(job+)[sz]?/ /r[ai]m+[- ]?(a|e[dr]|in[g']?)[sz]?( it)?/ /sex(ateer|eteer)?/ /shag+(a|e[rd]|in[g']?)?[sz]?/ /s?he[- ]?boys?/ /s?he[- ]?males?/ /shock(a|er)[sz]?/ /sixty[- ]?nine/ /snow[- ]?ball(a|e[rd]|in[g']?)[sz]?/ /sodom(i[zst](e[rd]|in[g']?)|y)s?/ /strippers?/ /swal+ow(a|e[rd]|in[g']?)?[sz]?/ /swingers?/ /tea[- ]?bag+(a|e[rd]|in[g']?)?[sz]?/ /touch(e[ds])? ?(him|her|them)sel(f|ves)/ /tran+(y|ie|svestite)[sz]?/ /up[- ]?(her |their )?skirts?/ /vibrators?/ /v[ie]r[gj]in[sz]?/ /([tp]it+((y|ie)?)?)?[- ]?wank(er|ing|ier|iest)?s?/ /wife[- ]?swap+(a|e[rd]|in[g']?)?[zs]?/

/boo+ger[sz]?/ /burp(er|ing)s?/ /crap+[- ]?([fs]uc?k+|[lk]ic?k|eat|hole?|ola|p?ack|y|ta(cular|stic))?(a|e[rsd]|in[g']?)?[sz]?/ /cum+[- ]?(eat|drink|bucket|dumpst|felch|gulp|guz+l+|hungry|thirsty)?(a|e[rsd]|in[g']?)?[sz]?/ /defecates?/ /doo[- ]?doo/ /(premature )?eja[ck]ulat(ion|in[g']?|e[dr]?)?[sz]?/ /erect(ion)?[sz]?/ /far[tk][- ]?(bag|breath|face?|ass|arse?|head|smel+)?(a|e[rsd]|in[g']?)?[sz]?/ /fa?eces/ /[fb]elche?(a|e[rd]|in[g']?)?[sz]?/ /ji(s+|z+)u?m?(bucket)?[sz]?/ /pee+(k|p)?(e?d|s|z|in[g']?)?[- ]?(tom|up|down|on|wee+)[sz]?/ /pis+[- ]?(ed( off)?|off|ing|e[rs]|drinker|face|head|christ|y)?/ /p(oo+|ou)[fp]?t?(y|ie)?[- ]?(eat|asse?|head|shoot|chute|pant|face|lick|butt|[sf]uck)?(a|e[rd]|in[g']?)?[sz]?/ /p+\W*o+\W*o+\W*p+/ /poo-?poo/ /puke?[- ]?(in[g']?|e[rsd]|face|breath|head)?[sz]?/ /spunk[- ]?(buc?ket|asse?|(y|i?e(r|st)))?(a|e[rd]|in[g']?)?[sz]?/ /que+f+(s|ing)?/ /s(ch)?megma/ /(c|s)emen/ /sh[!i1]t+e?[- ]?(bag+|can+|eat|face?|fit|[sf]uc?k+|hap+en|head|hole?|house?|list|[kl]ick|[ps]ack|skin+|y|ie(r|st))?(a|e[rsd]|[in[g']?)?[sz]?/ /s+\W*h+\W*i+\W*t/ shiz /shoots? (my|a|his) (load|wad)/ /sperm[- ]?(burp(a|e[rd]|in[g']?)?)?[sz]?/ /spl?ooge[dsz]?/ tinkle /turd[- ]?(face?|eat|tickle?|burgla?r?|munch)?(a|e[rd]|in[g']?)?[sz]?/ /vomit(ing)?s?/

/(my|your|th(e|a)(ir)?|)?[- ]?([a@][s$][s$]+|rse|zz)[- ]?([fs]uc?k+|(h+[0o]+[l1]+[e3]+)|bandit|clown|crac?k|pirate?|mast|head|hat|juice?|[kl]ic?k|kis+|ram+|rap+e?|wh?ip+e?)?(a|e[rd]?|in[g']?)?[sz]?/ /a+ss+/ /a+\W*s+\W*s+/ @$$ /b[ao]l+ocks?/ /bb+w/ /(b[0o][0o]+b)(y|ie)?( sex)?[sz]?/ /b+oo+b+s?/ /(big|black|white|gh?et+o|bub+le)?[- ]?(b[o0][o0]t(y|ie))[sz]?/ /breasts?/ /bu(m+|ng)[- ]?(hole?|lic?k+|rape?|fuc?k+|wipe?|chum+)?(a|e[rsd]|in[g’]?)?[sz]?/ /(bub+le)?[- ]?butt+[- ]?(breath|crack|fuc?k+|head|hole?|lic?k+|pirate?|rape?|sex|ugly|ock|seck|wipe?)(a|e[rsd]|in[g']?)?[sz]?/ /can[ck]les?/ /[ck]leavage/ /coot(ch|er)?(y|i?e)?[sz]?/ /crotch[- ]?(rot|face|e[rd]|in[g']?)?/ /fan+(y|ie)[sz]?/ /((ph|f)at)+[- ]?(head|y|ie|e(r|st)|as+e?)[dsz]?/ phat /fore[- ]?skins?/ /hairy[- ]?(asse?|back|bal+|(wo)?m[ae]n|coc?k+|puss(y|ie))?[sz]?/ /jig+l+(e|y)s?/ /jug+(y|ie)?[zs]?/ /((in the|my|your|his) )?junk(y|ie|( in (th(e(ir)?|d?a)|her|his) trunk))?[sz]?/ kankers /kn[io]ckers?/ /moose[- ]?knuckles?/ /nipples?/ /plonkers?/ /pub(es?|ic)( hair)?/ /(nice|huge|monster|meat)[- ]?rack[sz]?/ /rect(al|ums?)/ /sph?[ie]ncters?/ /taints?/ /te+a?ts?/ /tit+(y|ie)?[- ]?([sf]uc?k+)?(a|e[rd]|in[g']?)?[sz]?/ /tub+[- ]?(girl|y|ie[r|st])/

/afro[- ]?saxons?/ /allahu? akbar/ /(ameri|afri)cunts?/ /Amerik+an?'?s?/ /au?nt jemimas?/ /bay?be+[sz]?/ /bey?ot?che?[sz]?/ /bigot(s|ed)?/ /bimboe?[sz]?/ /bints?/ /b[1i]z?[a@]?o?[t+]i?t?ch[- ]?(y|ass)?(a|e[rd]?|in[g']?)?[sz]?/ /b+\W*i+\W*t+\W*c+\W*h+/ bondage /camel[- ]?(toe|jock(y|ie))[sz]?/ /c?hi(c?k|x)(e?y)?[sz]? ?(with )?( a)?(di(c?k|x))?[sz]?/ /chig+(a|er)[sz]?/ /chi[mn][kp][zsy]?/ /china(m[ae]n|loa)/ /ching[- ]?chong/ /chink?/ /chip+(y|ie)[sz]?/ christacrutchian /chu[- ]?person/ /(afri)?[- ]?[ck]oo+n[sz]?[- ]?(ass)?/ /d[ae]goe?(wop)?[sz]?/ /dark(y|ie)[sz]?/ /eye[- ]?(talian|candy)/ furfag /gook[sz]?/ /goy[sz]?/ /gringoe?[zs]?/ /grr+l?[sz]?/ /honke?(ie|y)[sz]?/ /hot+(y|ie)[sz]?/ /injuns?/ /japs?/ /jesus[- ]?(freak[sz]?|juice)/ /j(ew|oo+)w?[- ]?(ed|boys?|ss+|z)/ /jig(aboo)?[sz]?/ /kaf+irs?/ /k[iy]ke[sz]?/ /kike?/ /krauts?/ /mexijews?/ mouliewop /mud[- ]?(lover|people)s?/ /n[ei]gr(a|o)e?s?/ /[nw][i1]g+([e3]r|ar?|uh)[- ]?(lov(a|er?)|ass)?[sz]?( stole)?/ /niglets?/ pbuh /po('|or)? whites?( trash)?/ /porch[- ]?monkey[zs]?/ /race[- ]?(traitor|mixe?(r|ing))s?/ /rag[- ]?heads?/ /red[- ]?necks?/ /religious ?(fanatic|freak)s?/ /skin[- ]?heads?/ /ske+z+(a|er)[sz]?/ /sl(i|an)t+(e?y|ie)?[- ]?(eye|head)?[sz]?/ /spi(c?k|x)[sz]?/ /spook[sz]?/ /strump(a|et)[sz]?/ /towe?l[- ]?heads?/ /tramp[ys]?/ /uncle toms?/ /wap(anese)?s?/ /wenche?[sz]?/ /wet[- ]?(back|fart|pussy)[sz]?/ /(white|black)[- ]?(asse?|ho|power|trashe?)[ds]?/ /(crack|dirty|nasty)[- ]?w?ho+re?[- ]?(house|master)?s?/ /wiggers?/ /wog[sz]?/ /wombats?/ /wops?/ /yank(e[dr]|ing)?s?/ /zipper[- ]?head(s|ed)?/

/ch?lam[iy]dia/ /(the )?clap/ /crab[sz]/ /gon+or+h?o?[ie]a/ (genital )?herpes/ /(an? )?STD/ vd /venereal diseases?/

/cex(er|i|y)?/ /(child|kiddies?)[- ]?porn/ nsfw /nudies?/ /p(r0|[0]r)no?/ /p(ro|or)n[- ]?(o|star)s?/ se)( /(too|so|a|the)?[- ]?[$s]e(c?k|x)(ual+y?|y|ie(r|st))?[- ]?(act(ive?)(it(y|ie))?|addict(ion)?|babe?|cunt|being|beast|bitch|fetish(ism)?|kitten|machine?|bastard|fre+a?k|har+as+(ment)?|whore?|slave?(ry)?|offend[oe]r|predat[oe]r|(wo)m[ae]n|boy|girl|mania[cx])?(a|e[srd]|in[g']?)?[sz]?/

/baby[- ]?kill(a|er)[sz]?/ /bad[- ]?ass(e[sd])?/ /bar[- ]?girl[sz]?/ /(fat|dirty|a|the)?[- ]?bast[ae]rd?[ao]?[sz]?/ /bell[- ]?ends?/ /bend?(jamin)? d?over?/ /bone[- ]?(head|r)[sz]?/ /b+o+y+[- ]?(z+|lovers?)/ /(brain|mind|dick|clue)les+/ /brown[- ]?no[sz][ea]?(r|[sz]|ing)?/ /candy[- ]?ass(e[ds])?/ /choad[sz]?/ chodelick /creep(y|e[rd]|in[g']?|ie(r|st))?[sz]?[- ]?((me)? out)?/ /dil+iga[ds]/ /ding[- ]?a[- ]?ling[sz]?/ /dinge?le?[- ]?ber+(y|ie)[sz]?/ /dinky?[sz]?/ /dip[- ]?shit[sz]?/ /dirty (old m[ae]n|sanchez)/ /disgust(in[g']?)?s?( me)?/ /dope[sy]?/ /dork[- ]?(wad|face|ier|iest|y)?[sz]?/ /(do+u?[cs]he?)[- ]?(bag)?[sz]?/ /dum+b?[- ]?(ass|arse|o|y|ie)?[sz]?/ /dung[- ]?(heap)?s?/ /(eats? |ate )(your|her|his|my)? ?(shit|pussy|shorts)/ /essex girl[sz]?/ /euro[- ]?(sexual|trash)/ /fall[- ]?out boy sucks/ /fan[- ]?(boy|gi?r+l)[sz]?/ /fre+a?k[- ]?(y|azoid|show|out|ie(r|st))?(a|e[rd]|in[g']?)?[sz]?/ /frui?te?[- ]?cakes?/ /funky[- ]?ass/ /geek(z|s|y)?/ /hal?f+[- ]?(a[rs]sed|wit|breed|rican)[sz]?/ hope you die /(horri(d|ble)|nasty|dirty) old m[ae]n/ /hose?[- ]?(bag|beast|head)?(a|e[rsd]|in[g']?)?[sz]?/ /[1i]d[1i][0o]t([1i]c)?[sz]?/ /y?id+iot[sz]?/ /juice?y girl[sz]?/ /knife[- ]?nose/ /lam[eo]?[- ]?(oid|brain|er|est)?s?/ /lo+[sz]er(dick)?[sz]?/ /mam+a'?s?/ /m+a+m+a+s?/ /man[- ]?(boob|thong|w?hore|juice)[sz]?/ /mean(y|ie)[- ]?(head)?[sz]?/ /metro[- ]?sexuals?/ /(yo)?ur[- ]?m[uo]m+a?[sz]?/ /mongoloids?/ /monkey[- ]?(as+)?(e[rds]?)?[sz]?/ /moron(ic|s)?/ /mo[- ]?fos?/ /(the |da )?nasty/ /nerd[sy]?/ /(old )?hag/ /pant(y|ie)[- ]?(waist)?[sz]?/ /pencil[- ]?(dick|neck)s?/ /poseu?rs?/ /punk[- ]?ass(es)?/ /(re)?tard([sz]|ed(ly)?)?/ /rotten[- ]?(ass|crotch)?e?s?/ /scal+[ya]wags?/ /s(c?h)?mucks?/ /screw[- ]?(you|up?)?(a|e[rd]|in[g']?)?[sz]?[- ]?(them|you|me)/ /scu(m+|z+)[- ]?(bags?|y)?/ /sickos?/ /s[lm]ut+(y|ier|iest)?[sz]?/ /smart[- ]?(y|ie|asse?d?)[sz]?/ /(it|s?he|they|you) smells?/ /smell(y|ier|iest)( piece of shit)?/ /snob(by|bier|biest)?s?/ /snott?(t|ier|iest)?s?/ /sons?[- ]?[uo][fv][- ]?a?[- ]?bitch(es)?/ /s[tkp][iua]nk(e[rd]|ing|y|ie(r|st))?[zs]?/ /stupid[- ]?(ity|ness|e(r|st)|head|ly|asse?)?[sz]?/ /tart[ys]?/ /tool[- ]?bag[sz]?/ /f?ugl(y|ie[rs]|iest)/ /u+g+l+y+/ washed up /we+ne+s?/ /wh?(i|(ie|ei))ners?/ /w(ie|ei)rd(o|e(r|st))?[sz]?/ /witfits?/ /(yo|ur?|your) (m[ou]m|m[ou]th(er|a))[sz]?/

/bh?[ao]ng[sz]?/ /(cra[cn]?k|pot|dope|meth|co(ke|caine)|her(oi|io)n)[- ]?(addict|head|hoe?|whore?|pipe?|smoke?)(a|e[rsd]|in[g']?)?[sz]?/ /drug+(y|ie)[sz]?/ /ganja[- ]?(weed)?/ /on (her(oi|io)n|drugs|pot|crack|weed|heroin|meth|dope|coke|steriods)/ /smok(e[ds]?|in[g']?) (cock|pot|dope|meth|weed|crack|her(oi|io)n)/ /snort(a|e[rd]|in[g']?)?[sz]?/

/awe?[zs][ou]me?(r/st)?/ /[ao]+www+/ /bla+h?/ /bloody( hell)?/ /(da|th[ea]) bomb/ /b+o+r+(e+d|i+n+g)/ /bo+ya+h?/ /bul+[- ]?(shit+(i?er|ed|ing|iest)?|crap|dyke|queer)[sz]?/ /bust ?a (nut|cap|r(h?y|i)me)/ /cool(est)/ /cheats?(e[dr]|in[g']?)? on (me|you|hi[ms]|her|us|them)?/ /(pop+(s|ed)|bust(s|ed)|got)?[- ]?(her |his )?cher+(y|ie)[- ]?(boy|girl|bust(a|er))?[sz]?/ /((2|to+)|way|un|not)?[- ]?(coo+l|kewl)/ /[ck]runk[- ]?(juice)?(a|e[rd]|in[g']?)?[sz]?/ /dai?[sz]e?y[- ]?(duke|chain)[sz]?/ /(g[ou][dl]?)?[- ]?d[a4](mm|mn|rn)[- ]?(it)?/ die! /d(oo+|u+)de?[sz]?/ /eff(ing?)?/ /fii+ne/ for a good time /fri(c?k+|g+)(in['g]?)?[sz]?/ /[fm]ubar/ fyi /gang[- ]?(sta|bang)(a|e[rd]|in[g']?)?[sz]?/ /(can'?t )?get it up/ /gets? a life/ /(had|having) an affair( with)?/ hardy har har has died /ha(ve|s|d) a crush/ /ha(ve|s|d) no li[fv]es?/ /(from|what)? ?(the|go ?to)? ?(heck|hell)/ /hell[- ]?holes?/ hello /hershey[- ]?(hi(gh|-)?way|squirt)[sz]?/ hey! /(hi)+/ hi! /hmmm+/ /hom(ey|ie)[sz]?/ /honie[sz]?/ /honey[sz]/ /hoo[kt]ers?/ /hoo+[tk]((a|e[rd]|in[g']?)[sz]?)?[- ]?(up)[sz]?/ /(me so )?horne?y/ /hot[- ]?pant[sz]/ /hugz(nkissez)?/ /(i|(yo)?u|s?he|they|we)?[- ]?(l[ou]ve?|h(at|8)e?)s? ((yo)?u|ya|him|her|them|it)/ /(in|up|on|all over) (the(ir)?|his|her|my|y?o?ur|da) (butt|bum|rear|house|hood|mouth|a[rs]se?|face|tit|puss(y|ie))[sz]?/ /(is|are|am|ai)[- ]?(n[o']t )?(an?|no)?[- ]?(dumb|fag+([io]t)?|garbage|hoe?(mo)?(sexual)?|stupid|trash|foxy?|moron|idiot|loser|dork|geek|nerd|cunt|dick|dicksucker|virgin|bastard|jerk)(i?e[rsd]|s)?/ /(it|that|this)[- ]?([i']?s) (bull(shit|crap))/ /(sh|p|b|r)iz+le/ /(ki(ss|ck|beat))(e[ds])?[- ]?(y?our|his|her|th(ei|ie)r|my)?[- ]?(butt|asse?)[sz]?/ kill! /killa[sz]?/ /kink(y|ier|iest)?s?/ /k+rist(ian(ity)?)?[sz]?/ /(love|house)[- ]?(slave|nigg(a|er))[sz]?/ /ma(de|ke[ds]?|king)[- ]?out( with)?/ /(me )?love you long ?time/ /m8s?/ /nii+ce/ /nuk(e([dr])?s?|ing)/ /’?nuff( said)?/ /off (the|da) hook/ oh em gee oh ya oh yea oh yeah omg oll /z?om(f)?g(wtf)?(bbq)?/ /ooo+h?/ r&r rocks rox rulez /short[- ]?(shorts|skirts?)/ /shouts?[- ]?outs?/ /sleep(in[g'])? together/ /sooo+/ sowhat /steam(y|ier|iest)/ /stfu.*?/ /stud(ly)?[sz]?/ /from ?(heck|hell)/ tgif /(t([ah][ah]?)t|this)'?s?( is)? bull/ /thanks?( you)? for sharing/ thks /thongs?/ tnx /(to|for) my pee+ps/ txs /(lad(y'|ie)s'?)?underwear/ /wan+abe+/ /w[au](s+)?(z+)?up/ /w[au][sz] here/ w00se /w(00|oo)t/ /wo+ho+/ /wha[sz]+up/ /wh(at|o) (the|up) (hell|fuck|bitch)/ /what'?s (happenin([g'])?|shakin[g']?)/ /Wikipedia is a sham/ wicked /w+o+w+/ /yoo+/

0r 2qt2bstr8 /8=+(>?D)/ /afa?i?k/ a/s/l b4u bbl b/c bfd brb btdtgts btw c-t cul8r cuz cya f*** G(-'.'G) gr8 gtfo (((H))) /h[a4]x([0o]rs?)?/ /h[oa](h[oa])+/ hai2u /hak[sz]?/ /haxors?/ iykwimaityd j/c j/k j/w /[1l]33[t7]/ l3i+ch l3itch lolwut /[lh]8rs?/ leet /lmf?a?o/ /a?LOL/ /n(00|oo)b/ omglolwut /p(aw)n(a)g(e)/ /(wiki)?[0p]wn(e?d|s|ing|er|ia)?/ /rot?fl(mao|ol)?/ /rtf?m/ /suckz0rs?/ /tlk-2-u-l-8-r/ /wt[fg]o?(bbq)?/ wtsds /wycm?/

/(no )?blood for oil/ /bobby ?boulders/ bogdanov /britne?y spe+a?rs/ /buss+h/ /(ste(ph|v)en )?colbert/ /commies?/ corey shefman dubya /fascists?/ /femi[- ]?nazis?/ /fursecut(e|ion)?/ /hal+iburton/ /h(ei|ie)l *hitler/ hitler jeb berkeley /jimbo ?(wales)?/ /j(immy|[.])? ?wales/ /k+arl rove/ matthew martin /na(t)?zis?/ paris hilton J. Robert Boulders /s(ei|ie)g *h(ei|ie)l/ /tansta+fl/ /t\W*e\W*r\W*r\W*o\W*r\W*i\W*s\W*t\W*s?\W*/ /truthers?/ /thruthines+/ chris benoit

/[\w\.\-]+@[\w\.\-]+\.(aero|arpa|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|root|tel|travel|\w\w)/ /(1[\- ]*)?8(00|11|22|33|44|55|66|77|88|99)[\- ,]*\d{3}[\- ,]*\d{4}/ 911 mysteries achieve360points.com agloco.com alladvantage.de amateurspaceflight.com auxilium bizxmagazine blogspot.com churnedfortaste.com cialis cliphunter.com creator.org encyclopediadramatica example.com flikker front14.org freepornstarpix gabenewell.com hentai.com incog.us ignoreallrules@walla.com jeffsfamilypharmacy.com lost.eu michiganinplay myspace.com/bobbyboulders odele.ru/edu/ petitiononline robertzubrin.com spiritualresearchfoundation.org stormfront.org the-frat-pack.com tinymixtapes.com tor.eff.org twenty-three universedaily universetoday.net /viaga?ra/ viartis video.google.com /wcotc[.](com|org)/ youtube.com

\[0o]9\W+f9\ 0r all the pies /are belong to (us)?/ \asdf\w+\ \qwer\w+\ \zxcv\w+\ /awgthtgtts?a/ /biased moderators?/ bold text chocolate rain crat /elephants.*?tripled?/ {{empty exclamation_mark /(h[aei]){2,}/ Headline text hho1/2k I like cheese /I like/ /imwithbobby(@yahoo.com)?/ /insert (formula|non-formatted text) here/ /(international )?society of vandals/ italic text kfc learn english link title Media:Example.ogg /librarians?.*?(hide|hiding)/ /(hide|hiding).*?librarians?/ /oxygen.*?(poison|toxic)/ /(poison|toxic).*?oxygen/ /moo+/ /Mr[.]? (Belvedere|Treason)/ /muha(ha)*/ {{nn-bio {{nonsense /on whe[ae]ls/ ruup4it caturday small text strike-through text {{test {{test1 {{test2 {{test3 {{test4 {{test5 this page has been liberated u-r w-s /vandali[sz]ing the hard work of others/ We are all looking fsorward to a great sseason /wiki(defcon|truth)/ /wikipedia is communis[tm]/ /willy on wheels/ /will?[iy]pedia/ /ya ?ya( ?ya)?/ /y+a+y+/ /(yo)+/ /like (to )?vandali[sz](e|ing|m)/ Chuck Norris /ha(s|ve)\W+aids/ Snape kill\w+ Dumbledore

abadesa abithiwtidb afahmasp afiniafi agarraderas /aguacates?/ ahic albondigas alimentos ammucchiata amorrow andskota anfawfows aparato apedrear aracata arrecho /arsch(ficken|lecker|loch)/ avergallon /bag(ascia|narsi)/ aldracca berreadero beschissen besorgen /bichos?/ /bocchin(o|ara)/ /bon ?jour/ branlette bucaiolo /budiùlo/ /b(ü|u)rschte/ busengrapscher /caballos?/ cabrona cachapera calabazo casquete cazzo chapero /chiava(ta|re)/ chilito /chinga([ld]o|r|te)s?/ chuq cojonear cojones colgados comemierda connasse cornuto couilles cramouille culattone dajmkryss ditalino doudounes dystsott enculer /enfoiré/ fanculo ficken fittafis fittansikte fittslickare fladdermus /flänsost/ fottersi froscio pi(zda pi(čka futkretzn gertrud giftbrun gilipollas godemichet grifear gumersinda handtralla harbl helvete hurensohn iliciscomk /jucka[sz]?/ kitzler klootzak knallen /knöllare/ /konkelbär/ koskesh kronjon kukhuvud kuksuger leccaculo /madr(e|ina|ota)s?/ /mair(e|ran|u)s?/ maleton mamhoon manchas maquereau maricon marimacha mariscala mastuerzo merdata merdeux merdoso mibun mignotta minchia minchione monkleigh montare morisqueta morrongo motivosa motocicleta motorizar /mutt(a|i)/ naiz nalopkt nedm nepesaurio nerchia panchira patacca patonza pecorina /peenors?/ pelotudo pendejo pflaume pierdol pizda pmigbom pouffiasse /pousse-crotte/ puderdose /putang( ina nyo)?/ /put[ao]/ puttana quaglia /quebrachon?/ querfotze quilombo radicchio rautenberg resbalon retozona rulacho ruletera /sborr(one|ata|olata)/ /scandis+imo/ schaffer /schällä/ /sch(ei|ie)s+e?/ schlampe /schnägg/ schwoogie /schyss(e|drägg)/ scopata /sharmut[ea]/ shtup skitpackare skurwysyn slatcha slirk /snoppfälla/ /soix[- ]?ante[- ]?neuf/ sollog spagnola /spännbög/ spierdalaj spompinare sprutluder sticchio /stjärthål/ /stötarröv/ stronzata stronzo /sur-fjas/ swag swot tackern taconera tajarse tanates tayoli teotwawki thayoli tmtowtdi tokjucka torrjucka tortillera /tringler?s?/ turlute /untermensch(en)?/ USEBACA vaffanculo vangare VERDOMME /vergall(it)?o/ wenis wichsen yafiygi zabourah zurramato

Image:0362ManteNude.jpg Image:1921MermaidLegs.jpg /Image:Achilles[ _]by[ _]Lycomedes[ _]Borghese.jpg/ Image:ACJCameraWoman.jpg Image:Ac.kleobisandbiton.jpg Image:Ac.marbles.jpg /Image:Ac[.]tuke[0-9][.]jpg/ /Image:AdamAndEve[ _]fx.png/ /image:adolf.?hitler.*?/ /Image:Agrigente[ _]museum[ _]ephebe.*?/ image:AHWatercolor1.jpg /Image:Aktfoto-[0-9][.]jpg/ /Image:Alexandre[ _]falguiere's[ _]statue[ _]winner[ _]of[ _]the[ _]cockfight[ _]version[ _]with[ _]long[ _]drape[ _]vbig.jpg/ /Image:Allers[ _]Ganymed.jpg/ /Image:Amadeo-modigliani[ _]le-grand-nu[ _]1.jpg/ /Image:Amazon-variant-sex-position[.](jpg|png)/ /Image:Ambrogio[ _]Lorenzetti[ _]023.jpg/ /Image:Amor[ _]Victorious.jpg/ /Image:Anatomy[ _]of[ _]a[ _]Male[ _]Nude.jpg/ /Image:Ana[ _]Voog[ _]Bodyart.jpg/ /Image:Andrea[ _]Solario[ _]002.jpg/ /Image:Antoine[ _]Watteau[ _]059.jpg/ /Image:Antonescu[ _]and[ _]hitler.jpg/ /Image:Apollo[ _]sauroctonus.jpg/ /Image:Artful[ _]nude.jpg/ /Image:Atlas[ _]shrugged[ _]cover.jpg/ /Image:AudreyMunson(Inspiration|Purity2|[ _]1916)[.]jpg/ Image:Autocunnilingus.jpg /Image:Autofellatio.*?[.]jpg/ Image:AutumnFP.jpg Image:baby-hitler.jpg /Image:Badande[ _]kullor[ _]av[ _]Anders[ _]Zorn[ _]1906.jpg/ Image:Balboamurder.jpg Image:BandinelliHercules.jpg Image:Barras1797.jpg Image:BathshebaDrost.jpg Image:Beijing.jpg Image:Bellocq10.jpg /Image:Benjamin[ _]west[ _]omnia[ _]vincit[ _]amor[ _]1809.jpg/ /Image:Birth[ _]of[ _]Venus[ _](Cabanel)[ _]large.jpg/ /Image:Birth[ _]of[ _]Venus[ _]detail.jpg/ /Image:Birth[ _]of[ _]Venus.jpg/ /Image:Blake[ _]Adam[ _]and[ _]Eve.jpg/ /Image:Bodypainting[ _]at[ _]Purim[ _]Carnival[ _]01.jpg/ /Image:Botticelli[ _]72.jpg/ Image:Breast4abeschr.jpg /Image:Breastfeeding[ _]infant.jpg/ Image:Breastfeeding.jpg Image:BreastImplantSilicon(picture2).jpg /Image:Breasts[0-9]?[a-z]?.jpg/ /Image:Burning[ _]of[ _]Sodomites.jpg/ /Image:Cambridge[ _]tondo.jpg/ /Image:Carlo[ _]Crivelli[ _]082.jpg/ /Image:Carracci[ _]Achille[ _]et[ _]Briseis.jpg/ /Image:Carracci[ _]Angelique[ _]et[ _]Medor.jpg/ /Image:Carracci[ _]Antoine[ _]et[ _]Cleopatre.jpg/ /Image:Carracci[ _]Jupiter[ _]et[ _]Junon.jpg/ /Image:Cassatt[ _]Mary[ _]Baby[ _]John[ _]Being[ _]Nursed[ _]1910.jpg/ /Image:Cassatt[ _]Mary[ _]Maternite[ _]1890.jpg/ /Image:Ceiling[ _]cat[ _]00.jpg/ Image:C-et-S.jpg Image:ChinaScrollPN3.jpg /Image:Chinese[ _]homoerotic[ _]print[ _]Hua[ _]Ying[ _]Chin[ _]Chen.jpg/ Image:Christina-piercing.jpg /Image:Christoffer[ _]Wilhelm[ _]Eckersberg[ _]002.jpg/ Image:Circpn.jpg /Image:Circumsized[ _]penis.gif/ Image:Circumsised penis - Flacid and Erect - High Res.jpg Image:Clitoris.jpeg Image:Clitoris.jpg Image:Clitoris-Vivero-Becker.jpg Image:Clitoris-Vivero-Becker-purp-temp.jpg Image:ClockworkOrgy.jpg /Image:Coition[ _]of[ _]a[ _]Hemisected[ _]Man[ _]and[ _]Woman.jpg/ Image:Colliersnake.jpg Image:Cord.prolaps.jpg /Image:Corset[ _]1550[ _]Goa.jpg/ /Image:Courbet[ _]Sleep.jpg/ /Image:Cowgirl[ _]Sex[ _]Position.png/ Image:CranFall.jpg /Image:Creation[ _]of[ _]Adam.jpg/ /Image:Cunnilingus[ _]1.jpg/ Image:Cupidon.jpg /Image:C[ _]W[ _]Eckersberg[ _]1841[ _]-[ _]Kvinde[ _]foran[ _]et[ _]spejl.jpg/ Image:Danse.jpg /Image:David[ _]by[ _]Michelangelo[ _]in[ _]Florenz.jpg/ Image:David.Statue.Perspective.jpg Image:David.Statue.Perspective.png /Image:David[ _]von[ _]Michelangelo.jpg/ Image:DCNG-a-genoux.jpg Image:DCNG-amazone.jpg Image:DCNG-assis.jpg Image:DCNG-cunnilingus.jpg Image:DCNG-levrette.jpg Image:DCNG-sur-la-table.jpg Image:DCNG-trio-FFF.jpg Image:DCNG-trio-FMM.jpg /Image:Deckchair[ _]sex[ _]position.jpg/ Image:DescendingNightAAW.jpg /Image:Devil's[ _]marble.jpg/ Image:DogDefecating.jpg /Image:Doggy[ _]Sex[ _]Position.png/ /Image:Domenichinoadam[ _]eve.jpg/ /Image:Donatello[ _]david[ _]plaster[ _]replica[ _]back[ _].*?/ Image:Donatelloreplica.jpg /Image:Dream[ _]Caused[ _]by[ _]the[ _]Flight[ _]of[ _]a[ _]Bumblebee[ _]around[ _]a[ _]Pomegranate[ _]a[ _]Second[ _]Before[ _]Awakening.jpg/ /Image:Dream[ _]of[ _]the[ _]fishermans[ _]wife[ _]hokusai.jpg/ /Image:Durer[ _]Adam[ _]and[ _]Eve.jpg/ /Image:Dusk[ _](Bouguereau).jpg/ Image:Earlybodybuildingportraitofarny.jpg /Image:Edgar[ _]Germain[ _]Hilaire[ _]Degas[ _]029.jpg/ /Image:Edgar[ _]Germain[ _]Hilaire[ _]Degas[ _]042.jpg/ /Image:Edouard[ _]Manet[ _]Olympia[ _]1863.jpg/ /Image:Edvard[ _]Munch[ _]-[ _]Madonna[ _](1894-1895).jpg/ /Image:Egypte[ _]louvre[ _]029.jpg/ Image:Egypt.IsisHorus.01.png Image:Ejaculation sample.jpg Image:ErectHumanPenis.jpg Image:Erectpeniswhilemasturbating.jpg Image:Erleuchtung.jpg /Image:Erogenous[ _]zone[ _]german[ _]inscription2.jpg/ Image:Eroticmuseumparis1.jpg Image:Eroticmuseumparis2.jpg Image:Example.jpg Image:Externalanatomyofhumanpenis.jpg Image:Fellatio.jpg /Image:Female[ _]masturbation.*?/ /Image:Female[ _]nipple[ _]profile.jpg/ /Image:Fem[ _]isa[ _]2.gif/ /Image:Flaccid[ _]and[ _]erect[ _]human[ _]penis[ _]B&W.jpg/ /Image:Flaccid[ _]and[ _]erect[ _]human[ _]penis.jpg/ Image:FloArch0.jpg /Image:Flogging[ _]demo[ _]folsom[ _]2004.jpg/ Image:Flushvul.gif /Image:Flushvul[ _]zh-tw[ _]label.gif/ Image:FolliesBergereTableau.jpg Image:Forceps.Smellie.jpg /Image:Francisco[ _]de[ _]Goya[ _]y[ _]Lucientes[ _]011.jpg/ /Image:François[ _]Boucher[ _]025.jpg/ /Image:François[ _]Boucher[ _]026.jpg/ /Image:François[ _]Clouet[ _]002.jpg/ /Image:Franz[ _]von[ _]Bayros01.jpg/ Image:Frenulum.jpg Image:Furniture-sex-position.jpg /Image:Ganymede[ _]with[ _]cockerel[ _]and[ _]hoop[ _]-[ _]Louvre.jpg/ Image:Geiger-masturbation-mutuelle.jpg /Image:Gen[ _]21.jpg/ Image:George-barr-forest-of-forever-wraparound.jpg Image:George-rennie-statue-cupid-rekindling-the-torch-of-hymen.jpg Image:GersonWojciech.1895.Odpoczynek.jpg /Image:Giorgione[ _]021.jpg/ /Image:Giorgione[ _]Tempest.jpg/ Image:Glans.jpg /Image:Gliding[ _]action1.png/ /Image:God2-Sistine[ _]Chapel.png/ Image:GoddardPlayboyEspana0195.jpg Image:GoltziusFarneseHerc.jpg /Image:Goya[ _]Maja[ _]naga2.jpg/ /Image:GQ[ _]UK[ _]March[ _]1999.jpg/ /Image:Greek[ _]warrior[ _]and[ _]young[ _]charioteer[ _]-[ _]Athens[ _]pediment.jpg/ /Image:Guidebook[ _]to[ _]Hakone[ _]1811b.jpg/ /Image:Gustave[ _]Courbet[ _]009.jpg/ Image:Haarlem-Bathseba.png /Image:Hammer[ _]sickle[ _]clean.png/ Image:HaremPool.jpg /Image:Helene[ _]Paris[ _]David.jpg/ Image:HelleNiceModel.jpg /Image:Henri[ _]de[ _]Toulouse-Lautrec[ _]015.jpg/ /Image:Henri[ _]de[ _]Toulouse-Lautrec[ _]061.jpg/ /Image:Hercules[ _]with[ _]Hylas[ _]in[ _]Mysia[ _]-[ _]retouched[ _]and[ _]colored.jpg/ /Image:Hermes[ _]by[ _]Praxiteles.jpg/ /Image:Himmler[ _]Hitler.jpg/ /Image:Hitler.*?/ Image:Hitlerspeakingwickedly.jpg /Image:Human[ _]body[ _]features.png/ Image:Human_Feces.jpg /Image:Human[ _]female[ _]lying[ _]lateral.jpg/ Image:Human-man.png /Image:Human[ _]penis[ _]erect.jpg/ /Image:Human[ _]penis[ _]flaccid.jpg/ Image:Human.png Image:Human-woman.png Image:Hyakinthos.jpg Image:Hysteroscopy1898.jpg /Image:Igor[ _]Klein[ _]-[ _]Naked[ _]Woman[ _]on[ _]the[ _]Beach.jpg/ Image:Ivoryso2.jpg Image:Ivorysoa.jpg /Image:Jacopo[ _]Tintoretto[ _]011.jpg/ /Image:Jan[ _]van[ _]Eyck[ _]076.jpg/ Image:Jcollier.jpg /Image:Jean[ _]Auguste[ _]Dominique[ _]Ingres[ _]004.jpg/ /Image:Jean[ _]Auguste[ _]Dominique[ _]Ingres[ _]006.jpg/ /Image:Jean-Baptiste-Camille[ _]Corot[ _]033.jpg/ /Image:Johann[ _]Heinrich[ _]Füssli[ _]042.jpg/ /Image:John[ _]Vanderlyn[ _]001.jpg/ /Image:June[ _]Palmer.jpg/ Image:Jupiterkissganymede.jpg /Image:Jupiter[ _]Tonans.jpg/ /Image:Kajuraho[ _]homoerotic[ _]sculpture[ _]-[ _]India[ _]-[ _]Danielou[ _]-[ _]auparashtika.jpg/ Image:Kamasutra1.jpg Image:Kamasutra5.jpg /Image:Katsushika[ _]Hokusai[ _]-[ _]Fukujuso.jpg/ Image:Khajurahosculpture.jpg Image:Kiss.jpg /Image:Kitagawa[ _]Utamaro.jpg/ Image:Klimt-missionaires-02.jpg /Image:Klimt[ _]Mulher[ _]sentada.jpg/ Image:Kneeling-sex-position.jpg /Image:Koceks[ _]-[ _]Surname-i[ _]Vehbi.jpg/ Image:Lady-of-auxerre.jpg /Image:La[ _]naissance[ _]de[ _]Vénus.jpg/ /Image:Lautrec[ _]rue[ _]des[ _]moulins,[ _]the[ _]medical[ _]inspection[ _]1894.jpg/ /Image:Lautrec[ _]the[ _]two[ _]girlfriends[ _]c1894-5.jpg/ /Image:Leda[ _]mit[ _]dem[ _]Schwan.jpg/ Image:Leonidas.jpg Image:Lgodiva.jpg /Image:Liberty[ _]Leading[ _]the[ _]People.jpg/ /Image:L'Origine[ _]du[ _]monde.jpeg/ /Image:Lot[ _]and[ _]his[ _]Daughters.jpg/ Image:Lotus-sex-position.jpg /Image:Lucas[ _]Cranach[ _]d.[ _]Ä.[ _]062.jpg/ /Image:Lucía[ _]y[ _]el[ _]sexo[ _]poster.jpg/ Image:LupaCapitolina.png /Image:Lycian[ _]Apollo[ _]Louvre.jpg/ /Image:Lycian[ _]Apollo[ _]Louvre[ _]left.jpg/ Image:Lyre1913.jpg /Image:Madonna[ _]Litta.jpg/ /Image:Makart[ _]Fuenf[ _]Sinne.jpg/ /Image:Male[ _]masturbation[ _]1.jpg/ Image:Maleshower.jpg Image:Mamintb.PNG /Image:Manet,[ _]Edouard[ _]-[ _]Blonde[ _]Woman[ _]with[ _]Bare[ _]Breasts.jpg/ /Image:Manet,[ _]Edouard[ _]-[ _]Olympia,[ _]1863.jpg/ /Image:Man[ _]masturbating.jpg/ /Image:Manneken[ _]Pis[ _](nude)[ _]08638.JPG/ /Image:Marie-Louise[ _]O'Murphy[ _](1737-1818)[ _]painted[ _]by[ _]Francois[ _]Boucher[ _](1703–1770).jpg/ Image:Masaccio-TheExpulsionOfAdamAndEveFromEden-Restoration.jpg /Image:Masturbation[ _]feminine[ _]2.jpg/ /Image:Masturbation[ _]feminine[ _]3.jpg/ /Image:Masturbation[ _]feminine[ _]4.jpg/ /Image:Meister[ _]der[ _]Heiligen[ _]Magdalena[ _]001.jpg/ /Image:Mercury[ _]god.jpg/ /Image:Michelangelos[ _]David.jpg/ /Image:Michelangelo-The[ _]Fall[ _]from[ _]Grace.JPEG/ /Image:Middle[ _]finger.JPG/ /Image:Missionary[ _]Sex[ _]Position.png/ Image:MoanaPozzi-TheSinsOfMoana.jpg /Image:Mohave[ _]-[ _]Judith.jpg/ Image:Mooning.jpg Image:MORONOBU.jpg Image:Mowgli-1895-illustration.png /Image:Munich[ _]vase[ _]72[ _]wiki.jpg/ /Image:Mussolini[ _]hitler.jpg/ Image:Naked yoga.jpg Image:Newton-WilliamBlake.jpg Image:Niankh.jpg Image:NirvanaNevermindalbumcover.jpg /Image:Norman[ _]lindsay[ _]statue.jpg/ /Image:Nude[ _]319840[ _]4113.jpg/ /Image:Nude[ _]detail.JPG/ /Image:Nu[ _]de[ _]femme[ _]1-vers[ _]1900.JPG/ /Image:Nude[ _]torso.jpg/ /Image:Nu-Femme[ _]assise[ _]jambes[ _]croisées-années[ _]20.JPG/ /Image:Nu-Femme[ _]assise[ _]posant[ _]au[ _]pied[ _]d'un[ _]buste-années[ _]20.JPG/ /Image:Nu-Femme[ _]en[ _]buste-1918.JPG/ /Image:Nu-Femme[ _]en[ _]buste[ _]appuyée[ _]sur[ _]un[ _]coussin-années[ _]20.JPG/ /Image:Nu-Femme[ _]marocaine[ _]posant[ _]nue[ _]avec[ _]châle-années[ _]30.JPG/ /Image:Olympic[ _]1912.jpg/ Image:Onslow-ford-snowdrift-statue.jpg /Image:Oryx[ _]and[ _]crake.jpg/ Image:Ottoman-kocek.jpg /Image:Ovide[ _]et[ _]Corine.jpg/ Image:PacificASC.jpg Image:Paganeu1.gif /Image:Palestra,[ _]Pompeii.jpg/ /Image:Pan[ _]and[ _]Daphnis.jpg/ Image:Pania.arp.500pix.jpg Image:Panmosaic.jpg /Image:Paris[ _]et[ _]Oenone.jpg/ /Image:Paul[ _]Gauguin[ _]001.jpg/ /Image:Paul[ _]Gauguin[ _]004.jpg/ /Image:Paul[ _]Gauguin[ _]091.jpg/ /Image:Paul[ _]Gauguin[ _]096.jpg/ /Image:Paul[ _]Gauguin[ _]128.jpg/ /Image:Paul[ _]Gauguin[ _]133.jpg/ /Image:Paul[ _]Gauguin[ _]135.jpg/ /Image:Paul[ _]Gauguin[ _]136.jpg/ /Image:Paul[ _]Gauguin[ _]141.jpg/ /Image:Paul[ _]Gauguin[ _]143.jpg/ /Image:Paul[ _]Gauguin[ _]145.jpg/ /Image:Penis[ _]erection[ _]masturbation[ _]orgasm.jpg/ /Image:Penis[ _]corrected.jpg/ /Image:Penis[ _].jpg/ /Image:Penis[ _]parts.png/ /Image:Penis[ _]reduced.jpg/ Image:Penisfrenulum.jpg Image:Perseus-slays-medusa.jpg /Image:Peter[ _]Fendi[ _]scene[ _]erotique.jpg/ Image:PicassoGuernica.jpg /Image:Pierre-Auguste[ _]Renoir[ _]010.jpg/ /Image:Pierre-Auguste[ _]Renoir[ _]016.jpg/ /Image:Pierre-Auguste[ _]Renoir[ _]088.jpg/ /Image:Pierre-Auguste[ _]Renoir[ _]126.jpg/ /Image:Pierre-Auguste[ _]Renoir[ _]127.jpg/ /Image:Pieter[ _]de[ _]Hooch[ _]020.jpg/ /Image:Pieter[ _]de[ _]Hooch[ _]021.jpg/ /Image:Playboy[ _]October[ _]2005a.jpg/ /Image:Playboy[ _]October[ _]2005b.jpg/ /Image:Pony[ _]play[ _]1.jpg/ Image:PPlaqueB.png Image:PPlaqueC.png Image:PPlaqueD.png Image:PPlaqueLarge.png /Image:Prince[ _]Albert[ _]Piercing.jpg/ Image:Printemps.jpg Image:Prius2004.JPG Image:PS-missionaire-1.jpg Image:PS-missionaire-2.jpg Image:PS-sur-le-lit.jpg Image:Psycheabduct.jpg Image:Pussyhook-drawing-bw.png Image:Relief1.jpg /Image:Rembrandt[ _]Harmensz.[ _]van[ _]Rijn[ _]016.jpg/ /Image:Rembrandt[ _]Harmensz.[ _]van[ _]Rijn[ _]026.jpg/ Image:Reverse-amazon.jpg /Image:Rodin[ _]Thinker[ _]Kyoto.jpg/ /Image:Rogier[ _]van[ _]der[ _]Weyden[ _]021.jpg/ Image:RokebyVenus.jpg /Image:Romanian[ _]pickup1.jpg/ /Image:Rowlandson[ _]Modern[ _]Pygmalion.jpg/ Image:RubensJudgparisLondon.jpg /Image:Sacrificio[ _]azteca.jpg/ /Image:Sarahvulva[ _]crop.jpg/ /Image:Scaffold[ _]01.jpg/ /Image:Scaffold[ _]02.jpg/ /Image:Seductive[ _]Art[ _]of[ _]Japanese[ _]Bondage[ _]Book.jpg/ Image:Semen.jpg /Image:September[ _]morn.JPG/ Image:Sergebac7thcentury.jpg /Image:Sexe[ _]male[ _]penis.jpg/ Image:Sarahvulva.jpg /Image:Shah[ _]Abbas[ _]and[ _]Wine[ _]Boy.jpg/ /Image:Shah[ _]Abbas[ _]I[ _]Chehel[ _]Sotoun.jpg/ Image:Shamefull.jpg /Image:She[ _]sit[ _]nursing[ _]her[ _]baby.gif/ /Image:She-wolf[ _]suckles[ _]Romulus[ _]and[ _]Remus.jpg/ /Image:Shigenobu[ _]-[ _]Man[ _]and[ _]woman[ _]making[ _]love[ _]-[ _]2.jpg/ /Image:Shigenobu[ _]print[ _]-[ _]Family[ _]values.jpg/ /Image:Shunga[ _]trio.jpg/ Image:Sistine.left.600pix.jpg Image:Sistine.leftcentre.600pix.jpg Image:Sistine.rightcentre.600pix.jpg /Image:Sisyphus[ _]by[ _]von[ _]Stuck.jpg/ Image:Sitting-sex-position.jpg Image:Sixtynine.png /Image:Skogskyrkogarden[ _]ResurrectionStatue.jpg/ Image:Smotherbox-inuse-drawing-color.png Image:Spoon-sex-position.jpg /Image:Spreizstange[ _](Bondage)[ _]Model[ _]Dani.jpg/ Image:Stand-and-carry-sex-position-small.jpeg /Image:Stray[ _]kitten[ _]Rambo002.jpg/ /Image:Striptease[ _]-[ _]Tuning[ _]World.jpg/ /Image:Study[ _]for[ _]the[ _]Kneeling[ _]Leda.jpg/ /Image:Suzuki[ _]Harunobu[ _]Shunga.jpg/ Image:Syrenka.png Image:Tailhook-drawing-bw.png Image:Tako.jpg /Image:Tellak[ _]-[ _]Huban[ _]name.jpg/ Image:Templar.jpg /Image:Templars[ _]on[ _]the[ _]stake.jpg/ /Image:Tepidarium[ _]Lawrence[ _]Alma-Tadema[ _](1836-1912).jpg/ /Image:Testudo[ _]Marginata.jpg/ /Image:The[ _]Cock-fight[ _](Gérôme).jpg/ /Image:The[ _]Death[ _]of[ _]Hyacinthos.gif/ /Image:The[ _]Koala[ _]Bares.jpeg/ /Image:The[ _]Wayward[ _]Cloud[ _]film.jpg/ Image:Threesome1.jpg Image:Threesome2.jpg Image:Titian-pastoral.jpg Image:Titty.jpg Image:Toft-spirit-of-contemplation-statue-vbig.jpg /Image:Topless[ _]on[ _]south[ _]african[ _]beach.jpg/ /Image:Toulouse-Lautrec[ _]de[ _]Henri[ _]The[ _]sofa[ _]Sun.jpg/ /Image:Toulouse-lautrec[ _]two[ _]girlfriends.jpg/ /Image:Toulouse-lautrec[ _]two[ _]half-naked[ _]women.jpg/ Image:TrangBang.jpg /Image:Translucent[ _]glass.jpg/ Image:Tribadism-1.jpg Image:Tribadism-2.jpg Image:Triumph of the Will - Hitler.jpg Image:Twolovers.jpg Image:Uncircpn.jpg /Image:Uncircumsized[ _]penis.gif/ /Image:Une[ _]premiere[ _]av[ _]Anders[ _]Zorn[ _]1888.jpg/ /Image:Vanloo,[ _]Triumph[ _]of[ _]Galatea.jpg/ Image:VelazquezVenues.jpg /Image:Venus,cupid,folly&time[ _]foot.jpg/ Image:Venus.jpg /Image:Venus[ _]milo.jpg/ /Image:Venus[ _]of[ _]Urbino.jpg/ Image:VenusWillendorf.jpg /Image:Vie[ _]sexuelle[ _]de[ _]catherine[ _]m.jpg/ /Image:Vigeland[ _]angry[ _]boy.jpg/ /Image:Vigeland[ _]bridge[ _]statues.jpg/ /Image:Vigeland[ _]monolith[ _]base.jpg/ /Image:Vigeland[ _]monolith.jpg/ /Image:Vigeland[ _]monolith[ _]terrace[ _]couples.jpg/ /Image:Vigeland[ _]monolith[ _]top.jpg/ /Image:Vigeland[ _]reliefs[ _]death.jpg/ /Image:Vigelandspark[ _]Oslo[ _]monolith.jpg/ /Image:Vigeland[ _]stampvoetend[ _]jochie.jpg/ /Image:Vigeland[ _]statue[ _]grandfather[ _]child.jpg/ /Image:Vigeland[ _]statue[ _]gripped[ _]man.jpg/ /Image:Vigeland[ _]statue[ _]woman[ _]man.jpg/ /Image:Vigeland[ _]statue[ _]woman[ _]wild[ _]hair.jpg/ Image:Vint13.jpg Image:Vint3.jpg /Image:Virgin[ _]Killer.jpg/ Image:Vitruvian.jpg /Image:Vulva.*?/ /Image:Warsaw[ _]emblem.png/ /Image:Wax[ _]play[ _]on[ _]back.jpg/ Image:Weightingold.jpg Image:Wenuszmf.jpg Image:Wenuszmt.jpg /Image:Wet[ _]T-Shirt.jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]After[ _]the[ _]Bath[ _](1875).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]After[ _]the[ _]Bath[ _](1894).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]A[ _]Young[ _]Girl[ _]Defending[ _]Herself[ _]Against[ _]Eros[ _](1880).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Bather[ _](1870).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Biblis[ _](1884).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Dawn[ _](1881).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Day[ _](1881).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Elegy[ _](1899).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Evening[ _]Mood[ _](1882).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Flora[ _]And[ _]Zephyr[ _](1875).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Fraternal[ _]Love[ _](1851).png/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]La[ _]Nuit[ _](1883).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Love[ _]on[ _]the[ _]Look[ _]Out[ _](1890).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Love's[ _]Resistance[ _](1885).png/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Nymphs[ _]and[ _]Satyr[ _](1873).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Return[ _]from[ _]the[ _]Harvest[ _](1878).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Return[ _]of[ _]Spring[ _](1886).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Roman[ _]Charity[ _](Unknown).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]Seated[ _]Nude[ _](1884).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]The[ _]Birth[ _]of[ _]Venus[ _](1879).jpg/ /Image:William-Adolphe[ _]Bouguereau[ _](1825-1905)[ _]-[ _]The[ _]Remorse[ _]of[ _]Orestes[ _](1862).jpg/ /Image:Woman[ _]CGI[ _]02.jpg/ /Image:Woman[ _]spying[ _]on[ _]male[ _]lovers.jpg/ /Image:Youth[ _]and[ _]his[ _]father.jpg/ /Image:Youth[ _]and[ _]suitors.jpg/

title: User:Bennyboyz3000/badwords


text:
Portal:Intellectual property

Welcome to the School of Intellectual Property Rights!

A school is a large organizational structure which can contain various departments and divisions. The departments and divisions should be listed in the departments and divisions section. The school should not contain any learning resources. The school can contain projects for developing learning resources.

= Topics = The following topics and learning resources are incorporated within the departments below as core curriculum and are common to all types of degrees. A topic page is a starting point for choosing between many different existing learning resources in the Wikiversity on that topic. When only one learning resource, for example, a specific course, lecture or lesson, is available on a topic, that specific resource is listed here. Additional topics, relevant to particular degree types, are specified in individual departments named below.

The topics may be grouped by level of difficulty, and each one roughly corresponds to an academic year at degree level. Normally you should not study a subject at a higher level until you have completed, or are at least familiar, with the previous level.

Intellectual property

 * Intellectual art
 * Intellectual property
 * Intellectual Property - proposed policy and procedures for Australian research and education
 * UC-IP

Rights

 * Rights

Copyrights

 * Attribution and copyright
 * Copyright

Patents

 * Case studies in patent litigation
 * Introduction to the United States Patent System
 * Owning the Intangible/Patenting the Human Genome
 * Owning the Intangible/Sports Patents

Domain

 * Biomarkers for PD
 * Domain Names
 * Public domain

Convention
Paris Convention Berne Convention
 * Conventions

Systems

 * Systems

Professions
Patent Attorney Inventor Patent Office Civil Servant
 * Professions

Organizations
EPO WIPO USPTO JPO OCN
 * Organisations

=Courses=

 * English intellectual property law

=Open content=

 * The role of universities in the "open content" world

=History=

This School is founded on 25 August 2007 (by a Student preparing for the EQE)
 * History

=External links=

title: Portal:Intellectual property


text:
Portal talk:Intellectual property

Hello, do you think naming it - instead of School:IP - to School:IPR or School:Intellectual Property Rights would be better ? E.g. I associate with the term IP the IP address - see here for more interpretation possibilities. Erkan Yilmaz (evaluate me!, discussion ) 19:17, 25 August 2007 (UTC)

Please, watch FORMATTING and SPELLING, it is bad when a PRIMARY SCHOOLER has to fix spelling and formatting errors. Spell, Spell, Spell check! -Networked.Frog

Avoid the term "IP" altogether:

 * Did You Say “Intellectual Property”? It's a Seductive Mirage
 * School of Intellectual Wealth? Ktucker 10:25, 31 January 2008 (UTC)

Merge
Hi.I think this should be merged with School:Law. Regards, Jhfireboy (talk) 21:38, 25 January 2013 (UTC)

title: Portal talk:Intellectual property


text:
BCP/Cicuta virosa/Logs

This page contains recent bloom logs for the plant Cicuta virosa (Water Hemlock).

2008 Logs

 * (no archived logs yet)

Recent Logs

 * (no logs yet)

title: BCP/Cicuta virosa/Logs


text:
Digital Electronics

Back to: Topic:Electronic Engineering Welcome to the course EE 111.
 * Digital Electronics in Electrical/Electronics Engineering

Lecture plan

 * EE 111 Digital Electronics
 * Lecture 1, Introduction to Binary, Octal and Hexadecimal Mathematics
 * Lecture 2, Digital Logic
 * Analysis of the inside of the basic logic types TTL MOS CMOS
 * Lecture 3, Combinatorial Functions
 * Basic logic gates
 * Lecture 4, Karnaugh Map Reductions
 * Lecture 5, Arithmetic
 * Half Adder, Full Adder
 * Lecture 6, Flip-flops
 * JK SR D T flipflops/latches
 * Mid-term Exam
 * Lecture 7, Sequential Logic
 * Lecture 8, Memory Elements
 * Lecture 9, Registers and Counters
 * Lecture 10, Advanced Sequential Circuits
 * Lecture 11, Logic Simulation
 * Lecture 12, High Level Language Logic Modelling and Synthesis
 * Final Exam
 * Lecture 11, Logic Simulation
 * Lecture 12, High Level Language Logic Modelling and Synthesis
 * Final Exam
 * Lecture 12, High Level Language Logic Modelling and Synthesis
 * Final Exam

Datasheets Relevant
74=Lower Voltage 40=Higher Voltage

Reference books
Digital Principles And Design - Donald D Givone Sanador 11:38, 13 March 2009 (UTC)Santosh A G

Research projects
Debugging for RedHawk Duels: When trying to compile ship_proto.v first open ship_proto_assignment_defaults.qdf. Then change INCREMENTAL_COMPILATION to off (line 595). The code should then compile.

If this does not work, you may have to add the statement >>set_global_assignment -name INCREMENTAL_COMPILATION OFF<< in the .qdf file

Active participants

 * Kaushani123 18:50, 5 April 2009 (UTC)

title: Digital Electronics


text:
BCP/Hypericum perforatum

Hypericum perforatum

title: BCP/Hypericum perforatum


text:
BCP/Hypericum perforatum/Logs

2007 Logs

 * --Jomegat 04:57, 23 August 2007 (UTC)
 * --Jomegat 22:20, 25 August 2007 (UTC)
 * --Jomegat 12:41, 28 August 2007 (UTC)
 * --Jomegat 17:43, 20 September 2007 (UTC)
 * --Jomegat 17:04, 3 October 2007 (UTC)
 * --Jomegat 12:32, 24 October 2007 (UTC)
 * Cormaggio talk 18:16, 17 November 2007 (UTC)

2008 Logs

 * Jomegat 17:43, 17 June 2008 (UTC)
 * --SB_Johnny | talk 07:55, 29 June 2008 (UTC)
 * Jomegat 23:19, 1 July 2008 (UTC)
 * --SB_Johnny | talk 08:46, 2 July 2008 (UTC)
 * Jomegat 03:00, 8 July 2008 (UTC)
 * Jomegat 18:47, 12 July 2008 (UTC)
 * --SB_Johnny | talk 09:57, 14 July 2008 (UTC)
 * Jomegat 01:03, 20 July 2008 (UTC)
 * Jomegat 01:17, 26 July 2008 (UTC)
 * Jomegat 00:58, 2 August 2008 (UTC)
 * --SB_Johnny talk 12:24, 9 August 2008 (UTC)
 * Jomegat 20:35, 9 August 2008 (UTC)
 * Jomegat 01:14, 17 August 2008 (UTC)
 * Jomegat 03:12, 21 August 2008 (UTC)
 * Jomegat 15:04, 31 August 2008 (UTC)
 * Jomegat 21:50, 1 September 2008 (UTC)
 * --SB_Johnny talk 09:15, 5 September 2008 (UTC)
 * Jomegat 14:33, 2 October 2008 (UTC)
 * Jomegat 17:56, 7 October 2008 (UTC)

2009 Logs

 * Jomegat 00:42, 26 June 2009 (UTC)
 * Jomegat 00:44, 15 July 2009 (UTC)
 * Jomegat 00:51, 22 July 2009 (UTC)
 * Jomegat 15:49, 26 July 2009 (UTC)
 * Jomegat 03:49, 2 August 2009 (UTC)

Recent Logs

 * Jomegat 21:38, 22 June 2010 (UTC)

title: BCP/Hypericum perforatum/Logs


text:
Applied linear operators and spectral methods/Lecture 3

Review
In the last lecture we talked about norms in inner product spaces. The induced norm was defined as

\lVert\mathbf{x}\rVert = \sqrt{\langle \mathbf{x}, \mathbf{x} \rangle} = \lVert\mathbf{x}\rVert_2 ~. $$ We also talked about orthonomal bases and biorthonormal bases. The biorthonormal bases may be thought of as  dual bases in the sense that covariant and contravariant vector bases are dual.

The last thing we talked about was the idea of a linear operator. Recall that

\boldsymbol{A}~\boldsymbol{\varphi}_j = \sum_i A_{ij}~\varphi_i \equiv A_{ij}~\varphi_i $$ where  the summation is on the first index.

In this lecture we will learn about adjoint operators, Jacobi tridiagonalization, and a bit about the spectral theory of matrices.

Adjoint operator
Assume that we have a vector space with an orthonormal basis. Then

\langle \boldsymbol{A}~\boldsymbol{\varphi}_j, \boldsymbol{\varphi}_i \rangle = A_{kj}~\langle \boldsymbol{\varphi}_k, \boldsymbol{\varphi}_i \rangle = A_{kj}~\delta_{ki} = A_{ij} $$ One specific matrix connected with $$\boldsymbol{A}$$ is the  Hermitian conjugate matrix. This matrix is defined as

A_{ij}^{*} = \overline{A}_{ji} $$ The linear operator $$\boldsymbol{A}^{*}$$ connected with the Hermitian matrix is called the  adjoint operator and is defined as

\boldsymbol{A}^* = \overline{\boldsymbol{A}}^T $$ Therefore,

\langle \boldsymbol{A}^{*}~\boldsymbol{\varphi}_j, \boldsymbol{\varphi}_i \rangle = \overline{A}_{ji} $$ and

\langle \boldsymbol{\varphi}_i, \boldsymbol{A}^{*}~\boldsymbol{\varphi}_j \rangle = A_{ji} = \langle \boldsymbol{A}~\boldsymbol{\varphi}_i, \boldsymbol{\varphi}_j \rangle $$ More generally, if

\mathbf{f} = \sum_i \alpha_i~\boldsymbol{\varphi}_i \qquad \text{and} \qquad \mathbf{g} = \sum_j \beta_j~\boldsymbol{\varphi}_j $$ then

\langle \mathbf{f}, \boldsymbol{A}^{*} ~\mathbf{g}\rangle = \sum_{i,j} \alpha_i~\overline{\beta}_j \langle \boldsymbol{\varphi}_i, \boldsymbol{A}^{*} ~\boldsymbol{\varphi}_j\rangle = \sum_{i,j} \alpha_i~\overline{\beta}_j \langle \boldsymbol{A}~\boldsymbol{\varphi}_i, \boldsymbol{\varphi}_j \rangle = \langle \boldsymbol{A}~\mathbf{f}, \mathbf{g} \rangle $$ Since the above relation does not involve the basis we see that the adjoint operator is also basis independent.

Self-adjoint/Hermitian matrices
If $$\boldsymbol{A}^{*} = \boldsymbol{A}$$ we say that $$\boldsymbol{A}$$ is  self-adjoint, i.e., $$A_{ij} = \overline{A}_{ji}$$ in any orthonomal basis, and the matrix $$A_{ij}$$ is said to be Hermitian.

Anti-Hermitian matrices
A matrix $$\mathbf{B}$$ is anti-Hermitian if

B_{ij} = - \overline{B}_{ji} $$ There is a close connection between Hermitian and anti-Hermitian matrices. Consider a matrix $$\mathbf{A} = i~\mathbf{B}$$. Then

A_{ij} = i~B_{ij} = -i~\overline{B}_{ji} = \overline{A}_{ji} ~. $$

Jacobi Tridiagonalization
Let $$\boldsymbol{A}$$ be self-adjoint and suppose that we want to solve

(\boldsymbol{I} - \lambda~\boldsymbol{A})~\mathbf{y} =\mathbf{b} $$ where $$\lambda$$ is constant. We expect that

\mathbf{y} = (\boldsymbol{I} - \lambda~\boldsymbol{A})^{-1}~\mathbf{b} $$ If $$\lambda~\mathbf{a}$$ is "sufficiently" small, then

\mathbf{y} = (\boldsymbol{I} + \lambda~\boldsymbol{A} + \lambda^2~\boldsymbol{A}^2 + \lambda^3~\boldsymbol{A}^3 + \dots)~\mathbf{b} $$ This suggest that the solution should be in the subspace spanned by $$\mathbf{b}, \boldsymbol{A}~\mathbf{b}, \boldsymbol{A}^2~\mathbf{b}, \dots $$.

Let us apply the Gram-Schmidt orthogonalization procedure where

\mathbf{x}_1 = \mathbf{b},~ \mathbf{x}_2 = \boldsymbol{A}~\mathbf{b}, ~ \mathbf{x}_3 = \boldsymbol{A}^2~\mathbf{b}, ~\dots $$ Then we have

\boldsymbol{\varphi}_n = \boldsymbol{A}^n~\mathbf{b} - \sum_{j=1}^{n-1} \cfrac{\langle \boldsymbol{A}^n~\mathbf{b}, \boldsymbol{\varphi}_j \rangle} {\lVert\boldsymbol{\varphi}_j\rVert^2}~\boldsymbol{\varphi}_j $$ This is clearly a linear combination of $$(\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_n)$$. Therefore, $$\boldsymbol{A}~\boldsymbol{\varphi}_n$$ is a linear combination of $$\boldsymbol{A}~(\mathbf{x}_1, \mathbf{x}_2, \dots, \mathbf{x}_n) = (\mathbf{x}_2, \mathbf{x}_3, \dots, \mathbf{x}_{n+1})$$. This is the same as saying that $$\boldsymbol{A}~\boldsymbol{\varphi}_n$$ is a linear combination of $$\boldsymbol{\varphi}_1, \boldsymbol{\varphi}_2, \dots, \boldsymbol{\varphi}_{n+1}$$.

Therefore,

\langle \boldsymbol{A}~\boldsymbol{\varphi}_n, \boldsymbol{\varphi}_k \rangle = 0\text{if}~k > n+1 $$ Now,

A_{kn} = \langle \boldsymbol{A}~\boldsymbol{\varphi}_n, \boldsymbol{\varphi}_k \rangle $$ But the self-adjointeness of $$\boldsymbol{A}$$ implies that

A_{nk} = \overline{A_{kn}} $$ So $$A_{kn} = 0$$ is $$k > n+1$$ or $$n > k+1$$. This is equivalent to expressing the operator $$\boldsymbol{A}$$ as a tridiagonal matrix $$\mathbf{A}$$ which has the form

\mathbf{A} = \begin{bmatrix} x &  x    &   0    & \dots  & \dots  & \dots  &  0 \\ x &  x    &   x    & \ddots &        &        & \vdots \\ 0 &  x    &   x    & \ddots & \ddots &        & \vdots \\ \vdots & \ddots & \ddots & \ddots & \ddots & \ddots & \vdots \\ \vdots &       & \ddots & \ddots &   x    &   x    &  0 \\ \vdots &       &        & \ddots &   x    &   x    &  x \\ 0 & \dots & \dots  & \dots  &   0    &   x    &  x        \end{bmatrix} $$ In general, the matrix can be represented in block tridiagonal form.

Another consequence of the Gram-Schmidt orthogonalization is that

 Lemma:

Every finite dimensional inner-product space has an orthonormal basis.

 Proof:

The proof is trivial. Just use Gram-Schmidt on any basis for that space and normalize. $$ \qquad \qquad \square$$

A corollary of this is the following theorem.

 Theorem:

Every finite dimensional inner product space is  complete.

Recall that a space is complete is the limit of any Cauchy sequence from a subspace of that space must lie within that subspace.

 Proof:

Let $$\{\mathbf{u}_k\}$$ be a Cauchy sequence of elements in the subspace $$\mathcal{S}_n$$ with $$k = 1, \dots, \infty$$. Also let $$\{\mathbf{e}_1, \mathbf{e}_2, \dots, \mathbf{e}_n\}$$ be an orthonormal basis for the subspace $$\mathcal{S}_n$$.

Then

\mathbf{u}_k = \sum_{j=1}^n \alpha_{kj}~\mathbf{e}_j $$ where

\alpha_{ki} = \langle \mathbf{u}_k, \mathbf{e}_i \rangle $$ By the Schwarz inequality

|\alpha_{ki} - \alpha_{pi}| = | \langle \mathbf{u}_k, \mathbf{e}_i \rangle - \langle \mathbf{u}_p, \mathbf{e}_i \rangle| \le \lVert\mathbf{u}_k - \mathbf{u}_p\rVert \rightarrow 0 $$ Therefore,

\alpha_{ki} - \alpha_{pi} \rightarrow 0 $$ But the $$\alpha$$~s are just numbers. So, for fixed $$i$$, $$\{\alpha_{ki}\}$$ is a Cauchy sequence in $$\mathbb{R}$$ (or $$\mathbb{C}$$) and so converges to a number $$\alpha_i$$ as $$k \rightarrow \infty$$, i.e.,

\lim_{k\rightarrow \infty} \mathbf{u}_k = \sum_{i=1}^n \alpha_i~\mathbf{e}_i $$ which is is the subspace $$\mathcal{S}_n$$. $$\qquad \qquad \square$$

Spectral theory for matrices
Suppose $$\boldsymbol{A}~\mathbf{x} = \mathbf{b}$$ is expressed in coordinates relative to some basis $$\boldsymbol{\varphi}_1, \boldsymbol{\varphi}_2, \dots, \boldsymbol{\varphi}_n$$, i.e.,

\boldsymbol{A}~\boldsymbol{\varphi}_j = \sum_i A_{ij}~\boldsymbol{\varphi}_i ~; \mathbf{x} = \sum_i x_i~\boldsymbol{\varphi}_i ~; \mathbf{b} = \sum_i b_i~\boldsymbol{\varphi}_i $$ Then

\boldsymbol{A}~\mathbf{x} = \boldsymbol{A}~\sum_j x_j~\boldsymbol{\varphi}_j = \sum_j x_j~(A~\boldsymbol{\varphi}_j) = \sum_{i,j} x_j~A_{ij}~\boldsymbol{\varphi}_i $$ So $$\boldsymbol{A}~\mathbf{x} = \mathbf{b}$$ implies that

\sum_{i,j} A_{ij}~x_j = b_i $$ Now let us try to see the effect of a change to basis to a new basis $$\boldsymbol{\varphi}_1^{'}, \boldsymbol{\varphi}_2^{'}, \dots, \boldsymbol{\varphi}_n^{'}$$ with

\boldsymbol{\varphi}_i^{'} = \sum_{j=1}^n C_{ji}~\boldsymbol{\varphi}_j $$ For the new basis to be linearly independent, $$\mathbf{C}$$ should be invertible so that

\boldsymbol{\varphi}_i = \sum_{j=1}^n C_{mj}^{-1}~\boldsymbol{\varphi}_m^{'} $$ Now,

\mathbf{x} = \sum_j x_j~\boldsymbol{\varphi}_j = \sum_{i,j} x_j~C_{ij}^{-1}~\boldsymbol{\varphi}_i^{'} = \sum_i x_i^{'}~\boldsymbol{\varphi}_i^{'} $$ Hence

x_i^{'} = C_{ij}^{-1}~x_j $$ Similarly,

b_i^{'} = C_{ij}^{-1}~b_j $$ Therefore

\boldsymbol{A}~\boldsymbol{\varphi}^{'} = \sum_{j=1}^n C_{ji}~\boldsymbol{A}~\boldsymbol{\varphi}_j = \sum_{j,k} C_{ji}~A_{kj}~\boldsymbol{\varphi}_k = \sum_{j, k, m} C_{ji}~A_{kj}~C_{mk}^{-1}~\boldsymbol{\varphi}_m^{'} = \sum_m A_{mi}^{'}~\boldsymbol{\varphi}_m^{'} $$ So we have

A_{mi}^{'} = \sum_{j, k} C_{mk}^{-1}~A_{kj}~C_{ji} $$ In matrix form,

\mathbf{x}^{'} = \mathbf{C}^{-1}~\mathbf{x} ~; \mathbf{b}^{'} = \mathbf{C}^{-1}~\mathbf{b} ~; \mathbf{A}^{'} = \mathbf{C}^{-1}~\mathbf{A}~\mathbf{C} $$ where the objects here are not operators or vectors but rather the matrices and vectors representing them. They are therefore basis dependent.

In other words, the matrix equation $$\mathbf{A}~\mathbf{x} = \mathbf{b}$$

Similarity transformation
The transformation

\mathbf{A}^{'} = \mathbf{C}^{-1}~\mathbf{A}~\mathbf{C} $$ is called a  similarity transformation. Two matrices are  equivalent or  similar is there is a similarity transformation between them.

Diagonalizing a matrix
Suppose we want to find a similarity transformation which makes $$\boldsymbol{A}$$ diagonal, i.e.,

\mathbf{A}^{'} = \begin{bmatrix} \lambda_1 & 0        & \dots  & \dots & 0 \\ 0        & \lambda_2 & 0      & \dots & 0 \\ \vdots   & \vdots    & \ddots & \vdots & \vdots \\ 0        & \dots     & \dots  & \dots  & \lambda_n \end{bmatrix} = \boldsymbol{\Lambda} $$ Then,

\mathbf{A}~\mathbf{C} = \mathbf{C}~\mathbf{A}^{'} = \mathbf{C}~\boldsymbol{\Lambda} $$ Let us write $$\mathbf{C}$$ (which is a $$n \times n$$ matrix) in terms of its columns

\mathbf{C} = \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \dots & \mathbf{x}_n \end{bmatrix} $$ Then,

\mathbf{A}~ \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \dots & \mathbf{x}_n \end{bmatrix} = \begin{bmatrix} \mathbf{x}_1 & \mathbf{x}_2 & \dots & \mathbf{x}_n \end{bmatrix}~\boldsymbol{\Lambda} = \begin{bmatrix} \lambda_1~\mathbf{x}_1 & \lambda_2~\mathbf{x}_2 & \dots & \lambda_n~\mathbf{x}_n \end{bmatrix} $$ i.e.,

\mathbf{A}~\mathbf{x}_i = \lambda_i~\mathbf{x}_i $$ The pair $$(\lambda, \mathbf{x})$$ is said to be an  eigenvalue pair if $$\mathbf{A}~\mathbf{x} = \lambda~\mathbf{x}$$ where $$\mathbf{x}$$ is an eigenvector and $$\lambda$$ is an eigenvalue.

Since $$(\mathbf{A} - \lambda~\mathbf{I}) = \mathbf{0}$$ this means that $$\lambda$$ is an eigenvalue if and only if

\det(\mathbf{A} - \lambda~\mathbf{I}) = \mathbf{0} $$ The quantity on the left hand side is called the  characteristic polynomial and has $$n$$ roots (counting multiplicities).

In $$\mathbb{C}$$ there is always one root. For that root $$\mathbf{A} - \lambda~\mathbf{I}$$ is singular, i.e., there always exists at least one eigenvector.

We will delve a bit more into the spectral theory of matrices in the next lecture.


text:
Talk:Home economics/How to clean a toilet

wtf is this? clean your toilet guide? jeeeesus chr.....

I find it useful. Some of its advices are sound. Wikibooks may be more suitable for such a project, but wikiversity hosts learning projects and resources. Can it be developed into a learning project? Hillgentleman|Talk 07:17, 21 July 2008 (UTC)
 * I also think it's a good project, but it looks like it's been pasted from somewhere else. Possible copyvio?  The Jade Knight 05:32, 3 September 2008 (UTC)
 * I agree and had similar thoughts and did a search a while back, but couldn't turn anything up. -- Jtneill - Talk - c 10:22, 3 September 2008 (UTC)


text: Help talk:Moving a page

title: Help talk:Moving a page