text:
User:TheJC/monobook.js

function addlilink(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; }

// STATUS CHANGER $(function { var user = document.getElementById( 'pt-userpage' ).firstChild.firstChild.data;  var subpage = "/Status";  var scheme = "/StatusTemplate";  var linkprefix = "http://en.wikibooks.org/w/index.php?title=User:";  var contribs = document.getElementById( 'pt-mycontris' );  //Add the links  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=in", "In", "pt-status-in", "I'm in!", "");  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=busy", "Busy", "pt-status-busy", "I'm busy!", "");  addlilink(contribs, linkprefix+user+subpage+"&action=edit&newstatus=out", "Out", "pt-status-out", "I'm out!", "");  if (location.href.indexOf("User:"+user+subpage+"&action=edit&newstatus=") == -1) return; //Are we here to auto-edit the status?  //Get new status  status = location.href.split("=");  status = status[status.length-1];  //Modify the form  document.getElementById('wpTextbox1').value = ""; document.getElementById('wpSummary').value = "Status: "+status; document.getElementById('wpMinoredit').checked = 'checked'; //Submit it! // document.getElementById('editform').submit; });

// see http://paperlined.org/apps/wikipedia/Tool2/ for instructions on adding this to your monobook.js

// To run this tool on other servers: //	1. copy this script to the target server (this is required because of javascript cross-site security restrictions)

//	2. update the following URL //		for example: "User:Interiot/Tool2/code.js" var tool2_url = "User:Interiot/Tool2/code.js";

//	3. update this namespace list, extracted from something like http://en.wikiquote.org/wiki/Special:Export// //			These *should not* have colons after them. var namespaces = [ "Talk", "User", "User talk", "Wikiquote", "Wikiquote talk", "Image", "Image talk", "MediaWiki", "MediaWiki talk", "Template", "Template talk", "Help", "Help talk", "Category", "Category talk", // 3b. these two project project entries are not added by Special:Export, and might or might not need to be updated "Wikipedia", "Wikipedia talk" ];

namespaces[100] = "Portal"; namespaces[101] = "Portal talk";

//	4. update this date-parser to match the format and language of your specific wiki. Feel free to contact Interiot regarding this, if you can't find another //		copy of this script that uses the same language. // input: a text string from Special:Contributions. output: a javascript Date object // documentation: http://www.quirksmode.org/js/introdate.html#parse, http://www.elated.com/tutorials/programming/javascript/dates/ function date_parse(text) { var matches = text.match(/^([0-9:]+), +([0-9]+) +([a-z]+) +([0-9]+)$/i); if (!matches) { //dump_text("XXX");			// for debugging return matches; }

parseme = matches[3] + ", " + matches[2] + " " + matches[4] + " " + matches[1] + ":00";

//dump_text(parseme);				// for debugging

var dt = new Date; dt.setTime( Date.parse(parseme));

//dump_text(dt.toLocaleString);		// for debugging

return dt; }

// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ end of server-specific configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

// TODO: //	- the current document.location method doesn't work when the page is accessed sans-mod_rewrite //	- test with non-ASCII characters //		- non-ascii usernames //		- ??

var prefix = ""; var params = parse_params;

addOnloadFunction(function { var path_len = document.location.pathname.length;  // trigger once we view the right page  if (document.location.pathname.substring(path_len - tool2_url.length, path_len) == tool2_url) {    // get the prefix (needs to be fixed to work sans-mod_rewrite prefix = document.location.protocol + "//" + document.location.host + "/" + document.location.pathname.substring(1, path_len - tool2_url.length);

// blank the inner contents of the page var bodyContent = document.getElementById("bodyContent"); while (bodyContent.childNodes.length > 0) bodyContent.removeChild(bodyContent.lastChild);

if (document.location.search.length == 0) { generate_input_form(bodyContent); } else { generate_main_report(bodyContent); } } });

function generate_input_form(bodyContent) { if (navigator.userAgent.toLowerCase.indexOf('msie')+1) { bodyContent.innerHTML = "This counter does not currently work in Internet Explorer.  Please get Firefox or use Flcelloguy's Tool instead."; } else { bodyContent.innerHTML = " ";

var form = bodyContent.getElementsByTagName("form")[0]; form.method = "get"; form.action = document.location;

document.getElementById("username").focus; } }

function generate_main_report { fetch_data(params["username"].replace(/\+/g, " "),		"", output_main_report, 0, []); }

function add_stats_row(left_col, right_col) { var row = document.createElement("tr"); var left = document.createElement("td"); var right = document.createElement("td"); document.getElementById("basic_stats").appendChild(row); row.appendChild(left); row.appendChild(right); //left.innerHTML = left_col; left.appendChild( document.createTextNode(left_col) ); right.appendChild( document.createTextNode(right_col) ); return row; }

function output_main_report(history) { // -- generate summary statistics var unique_articles = new Array; var namespace_numedits = new Array; for (var i=0; i<namespaces.length; i++) { namespace_numedits[ namespaces[i] ] = 0; }	namespace_numedits[""] = 0; for (var i=0; i<history.length; i++) { var h = history[i]; unique_articles[ h["title"] ]++; namespace_numedits[ h["namespace"] ]++; }	var unique_articles_keys = keys(unique_articles);

// -- output report var table = document.createElement("table"); table.id = "basic_stats"; document.getElementById("bodyContent").appendChild(table);

add_stats_row("Username", params["username"].replace(/\+/g, " ")); add_stats_row("Total edits", history.length); add_stats_row("Distinct pages edited", unique_articles_keys.length); add_stats_row("Average edits/page", new Number(history.length / unique_articles_keys.length).toFixed(3)); add_stats_row("First edit", history[ history.length-1 ]["date_text"] );

// add a blank row add_stats_row("", "").childNodes[0].style.height = "1em";

add_stats_row("(main)", namespace_numedits[""]); for (var i=0; i<namespaces.length; i++) { var nmspc = namespaces[i]; if (namespace_numedits[nmspc]) { add_stats_row(nmspc, namespace_numedits[nmspc]); }	} }

// ===================================== HTML-scraping backend =========================================

function add_loading_notice { if (document.getElementById("loading_notice")) return; var loading = document.createElement("div"); loading.id = "loading_notice"; loading.innerHTML = " Retrieving data ... "; document.getElementById("bodyContent").appendChild(loading); } function remove_loading_notice { var loading = document.getElementById("loading_notice"); if (!loading) return; loading.parentNode.removeChild(loading); }

var offset_regexp = /href="[^"]+:Contributions[^"]+offset=(\d+)/gi; function fetch_data(username, end_date, handler, offset, page_list) {	add_loading_notice;	var url = prefix + "Special:Contributions/" + username + "?offset=" + offset + "&limit=5000";	loadXMLDoc(url, 		function (request) {			var next_offset = 0;			if (request.readyState != 4)  return;			if (request.status == 200) {				page_list.push(request.responseText);				//dump_text(request.responseText);

// see if there's another pageful to get var matches = map( function(p){						return p.match( /(\d+)$/ )[0];					}, request.responseText.match( offset_regexp ) ); for (var i=0; i<matches.length; i++) { var v = matches[i] * 1; if (v != 0 && (offset == 0 || v < offset)) { next_offset = v;						break; }				}			}

//next_offset = 0;			// for testing only, retrieve just the first page of results

if (next_offset == 0) { parse_data(page_list, handler); } else { // tail recurse fetch_data(username, end_date, handler, next_offset, page_list); }		}); }

// input: a list of strings, each string containing the HTML from a single page // output: a list, where each individual entry is a specific edit from history function parse_data(page_list, handler) { //var total_len = 0; //for (var i=0; i[^(]+\(([^(<]+)/i )[1]					.replace( / +$/, "");			history_entry["date"] = date_parse( history_entry["date_text"] );			history_entry["title"] = history_text.match( /title="([^"]+)"/i )[1]					.replace( /"/g, "\"")					.replace( /&/g, "&");			var find_comment = history_text.replace(/ .*?<\/span> ?/, "");			history_entry["comment"] = ifmatch(find_comment.match( / (.*?)<\/span>/ ))					.replace(/^\((.*)\)$/, "$1");			history_entry["minor"] = /<span class="minor"/.test(history_text);			history_entry["oldid"] = ifmatch(history_text.match(/oldid=([0-9]+)/i));

history_entry["namespace"] = ""; for (var nmspc_ctr=0; nmspc_ctr<namespaces.length; nmspc_ctr++) { var nmspc = namespaces[nmspc_ctr] + ":"; if (history_entry["title"].substring(0, nmspc.length) == nmspc) { history_entry["namespace"] = namespaces[nmspc_ctr]; break; }			}

//dump_object(history_entry);

if (history_entry["title"] != last_history_ent["title"] || history_entry["oldid"] != last_history_ent["oldid"]) edit_history.push(history_entry); last_history_ent = history_entry; }	}

remove_loading_notice;

handler(edit_history); }

// ===================================== test/debug functions =========================================

function dump_text(text) { //alert("dump_text, with text of size " + text.length);

var pre = document.createElement("pre");

var div = document.createElement("div"); div.style.width = "60em"; div.style.maxHeight = "40em"; div.style.overflow = "auto";

pre.appendChild(document.createTextNode(text)); div.appendChild(pre); document.getElementById("bodyContent").appendChild(div); }

function dump_lines(ary) { dump_text("--> " + ary.join("\n--> ")); }

function dump_object(obj) { var toString = ""; for (var prop in obj) { toString += prop + ": " + obj[prop] + "\n"; }	dump_text(toString); }

// ===================================== utility functions =========================================

function addOnloadFunction(f) { if (window.addEventListener) window.addEventListener("load",f,false); else if (window.attachEvent) window.attachEvent("onload",f); else { var oldOnload='_old_onload_'+addOnloadFunction.uid; addOnloadFunction[oldOnload] = window.onload ? window.onload : function {}; window.onload = function { addOnloadFunction[oldOnload]; f; } ++addOnloadFunction.uid; } }

function parse_params { var pairs = document.location.search.substring(1).split("&"); var ret = []; for (var i=0; i < pairs.length; i++) { var values = pairs[i].split("="); ret[values[0]] = unescape(values[1]); } return ret; }

function loadXMLDoc(url, handler) {   // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { req = new XMLHttpRequest; req.onreadystatechange = function {handler(req)}; req.open("GET", url, true); req.send(null); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = function {handler(req)}; req.open("GET", url, true); req.send; }   } }

// see http://search.cpan.org/dist/perl/pod/perlfunc.pod#map function map (handler, list) { var ret = new Array; for (var i=0; i= 2) { return ary[1]; } else { return ""; } }

//

// Below (unsigned2.js version 1.2,) by Invitatious. Dual-licensed under the terms of the GFDL v1.2 or the GPL v2. // New features in this version: you can now choose an edit from the last 16. function addSigWikiCode { // From revision 28011729 of en:Wikipedia:WikiProject_User_scripts/Scripts/Get_tidy_title function aswcGet_tidy_title { var editlk = document.getElementById('ca-edit').getElementsByTagName('a')[0].href; // cut everything up to "title=" from the start and everything past "&action=edit" from the end editlk = editlk.substring(editlk.indexOf('title=') + 6, editlk.lastIndexOf('&action=edit')); return editlk; } // LOCALIZABLE STRINGS START. var lsMonth_names = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var lsConflict = "Edit conflict." var lsDialog1 = "Please select an edit below:\n\n"; var lsDialog2 = "Unsigned edit number:"; var lsInvalid1 = "Please enter a valid number or cancel this operation."; var lsInvalid2 = "This is not a valid choice. Please choose another option."; var lsNoRev = "No revisions found. Does the page exist?" var lsNoXMLHTTP = "Couldn't get XMLHTTP!"; // LOCALIZABLE STRINGS END var x = window.XMLHttpRequest ? new XMLHttpRequest : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false; // Get XMLHTTP if (x) { x.open("GET", "/w/query.php?format=xml&what=revisions&rvlimit=16&rvcomments&titles=" + aswcGet_tidy_title, false); // Get timestamp, user, summary of last 16 edits x.send(null); var revisions = x.responseXML.documentElement.getElementsByTagName("rv"); // Get the revisions if (revisions.length > 0) { var t = revisions[0].getAttribute("timestamp").replace(/[^0-9]/g, ""); // Get rid of non-numeric characters in timestamp if(t != document.editform.wpEdittime.value) { // Detect an edit conflict alert(lsConflict); return; }     var dialog_text = lsDialog1; var edit_data = []; for (var n = 0; n < revisions.length; n++) { // Extract edit data and build dialog text edit_data[n] = { timestamp: revisions[n].getAttribute("timestamp").replace(/[^0-9]/g, ""), user: revisions[n].getAttribute("user"), comment: revisions[n].getAttribute("comment") }; dialog_text += ("[" + n.toString(16).toUpperCase + "] " + edit_data[n].timestamp + " " +        edit_data[n].user + ": " + edit_data[n].comment).substring(0, 80) + "\n"; }     while (true) { alert(dialog_text); // for IE or other var unsigned_edit = prompt(lsDialog2, "0"); // for IE or other // var unsigned_edit = prompt(dialog_text + "\n" + lsDialog2, "0"); // for Mozilla if (unsigned_edit == null) { // Cancel button return; } else if (isNaN(unsigned_edit = parseInt(unsigned_edit, 16))) { // Non-numeric input alert(lsInvalid1); }       else if (!(unsigned_edit = edit_data[unsigned_edit])) { // Non-existent edit alert(lsInvalid2); } else { t = unsigned_edit.timestamp; // So the full name doesn't have to be used // LOCALIZABLE STRINGS START insertTags("" + t.substring(8, 10) + ":" + t.substring(10, 12) + ", " + (t.substring(6, 8) - 0) + " " + lsMonth_names[t.substring(4, 6) - 1] + " " + t.substring(0, 4) + "", "", ""); // Format and insert the tag. The data returned by query.php is UTC already. FetchTimezone is not needed. document.getElementById('wpSummary').value = "Signed unsigned comment by: "+ unsigned_edit.user; document.getElementById('wpMinoredit').checked = 'checked'; // LOCALIZABLE STRINGS END return; }     }    } else { // No revisions alert(lsNoRev); } } else { alert(lsNoXMLHTTP); // No XMLHTTP return; } } $(function{ // From revision 28011435 of en:Wikipedia:WikiProject_User_scripts/Scripts/Add_LI_link  function aswcAddlilink(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; } //  if (/[&?]action=edit/.test(location.search)) {    aswcAddlilink(document.getElementById('p-cactions').getElementsByTagName('ul')[0], "javascript:addSigWikiCode;", /* LOCALIZABLE STRINGS START */ "unsigned2", "ca-unsigned2", "Mark unsigned comment", "" /* LOCALIZABLE STRINGS END */); } }); // Above by Invitatious. Dual-licensed under the terms of the GFDL v1.2 or the GPL v2. //

title: User:TheJC/monobook.js


text: User:TheJC/StatusTemplate

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

title: User:TheJC/StatusTemplate


text: User:TheJC/Status

title: User:TheJC/Status


text: User:TheJC/Userbox

title: User:TheJC/Userbox


text:
User:TheJC

Soft redirect This user page can be found at User:TheJC on WikiPedia.

title: User:TheJC


text:
WebObjects/Project WONDER/Frameworks/ERIMAdaptor

Overview
ERIMAdaptor provides an Instant Messenger interface to your application using standard WOComponents. The architecture of this adaptor is somewhat different than the normal HTTP adaptor, because of inherent limitations in the IM interfaces like AOL IM:

 * WOSessions are tracked by buddy name. When a buddy contacts the server's IM account, a Conversation is initiated.  A Conversation associates a buddy name with the WOSession ID.  Conversations have a configurable expiration, but the default is to expire after 5 minutes of inactivity.  The WOSession will have the same expiration as they normally would, but the connection between the buddy name and that session will go away, effectively expiring the session's usefulness.
 * Different IM networks may impose additional restrictions on your components. For instance, most networks limit the number of bytes that can be transferred in a message.  Currently the framework doesn't auto-split, but that's an  obvious enhancement that will probably be added in.
 * Some features of WORequest and WOResponse may not behave exactly like the HTTP counterpart. For instance, there are no normal HTTP headers in the WORequest.
 * The buddy name and message appear as form values and in the request userInfo dictionary -- use whichever is more convenient.
 * The Conversation object is accessible via the request userInfo dictionary if you need direct access (to force expiration, etc).
 * The implementation is TEMPORARILY single threaded for all conversations. This will change soon, I just haven't had time to test it.

Currently there are implementions of the IInstantMessengerFactory for AIM using the jaimbot and daim libraries. Jaimbot is available from http://jaimbot.sourceforge.net and daim is available from http://daim.dev.java.net if you're interested in getting more information on either library.

How to use it
ERIMAdaptor is a custom adaptor, so it can be added using the WOAdditionalAdaptors option on your WO:

-WOAdditionalAdaptors ({WOAdaptor="er.imadaptor.InstantMessengerAdaptor";})

Properties
There are several new settings that can (or must) appear in your Properties file as well:

 * IMFactory (optional, default er.imadaptor.AimBotInstantMessenger$Factory) - the factory class for creating IM connections. If you want to provide a new type of IM network, you should implement the IInstantMessengerFactory interface for whatever class you provide here.
 * IMScreenName (required) - the screen name of the IM account that the server should login with
 * IMPassword (required) - the password of the IM account that the server should login with
 * IMTimeout (optional, default 5 minutes) - the conversation timeout time in milliseconds
 * IMAutoLogin (optional, default "true") - whether or not the adaptor should autologin to AIM. If false, you must call adaptor.connect
 * IMConversationActionName (optional, default "imConversation") - the name of the DirectAction to call when a Conversation is initiated, the default is that you must create a public WOActionResults imConversationAction { .. } method in your DirectAction class
 * IMWatcherEnabled (optional, default "false") - whether or not you want to have a second AIM account login and watchdog the first. Most of the AIM libraries can have issues with getting kicked off after a period of time.  If you have two AIM accounts, they can keep each other alive.
 * IMWatcherFactory (optional, default same as IMFactory) - if IMWatcherEnabled, the factory class to use
 * IMWatcherScreenName (optional, required if IMWatcherEnabled) - the screen name of the watcher IM account
 * IMWatcherPassword (optional, required if IMWatcherEnabled) - the password of the watcher IM account

Request
In your code, the following request headers are available:

 * IsIM - Boolean.TRUE if the current request is an IM request (you can call InstantMessengerAdaptor.isIMRequest(WORequest) also)
 * IMConversation - the Conversation associated with this request
 * BuddyName - the name of the buddy that initiated the request
 * Message - the message sent by the user

The following form values are available in the request:

 * BuddyName - the name of the buddy that initiated the request
 * Message - the message sent by the user

DirectAction
To kick things off, you must have a direct action method that matches the value of IMConversationActionName (which defaults to "imConversation"). This method should return the first "page" of the IM conversation.

For example: public WOActionResults imConversationAction { return pageWithName(SayHelloPage.class.getName); }

IMAction
For each request, the IM Adaptor needs to know what action to call when the subsequent request comes in. In a normal WOComponent, think of this as each page having a "Next" button on it that is clicked each time a request comes in. Instead of using a WOSubmitButton or a WOHyperlink, you instead use the IMAction element. This element has one attribute -- "action" that points to the action method to call on your component. Because of inherent limitations in an instant messenging interface as an interaction method, only one IMAction can be triggered per-page (the last one that is evaluated on the page, specifically). This makes sense when you think of the user's response as the action being performed. There is no semantic equivalent of "multipleSubmit" on WOForm.

IMAction is the simplest action you can use, though there are several common response actions, and ERIMAdaptor provides default action implementations for them. Here is an example of a very simple conversation that uses IMAction (that will just continue to say the same thing over and over again):

Your Java component would look something like this: public class IMComponent extends WOComponent { public boolean userResponded; ...

public String buddyName { return InstantMessengerAdaptor.buddyName(context.request); }   public WOActionResults processResponse { userResponded = true; return null; } }

The HTML would be:  Hi  !  Welcome back  !

And lastly the WOD file would contain: FirstContactConditional : WOConditional { condition = userResponded; negate = true; } UserRespondedConditional : WOConditional { condition = userResponded; } BuddyName : WOString { value = buddyName; } IMAction : IMAction { action = processResponse; }

Here's what an example conversation transcript might look like: Mike> Hey server! Server> Hi Mike! Mike> How's it going? Server> Welcome back Mike! Mike> Uh. OK. Server> Welcome back Mike! ...

IMConfirmationAction
IMConfirmation has a single binding "confirmed". If the response from the IM buddy matches any of a set of common "yes", "no", etc words, confirmed is set to the appropriate value. If neither a yes nor a no word is found, confirmed is set to null. You should bind this to a Boolean rather than a boolean so that you can detect the third state properly and re-ask the question. Note that this is not internationalized, so it currently has "yes", "y", "yep", "true", "no", "n", "nope", "nah" as known values.

Bindings

 * confirmed = three-state Boolean, when Boolean.TRUE the response was affirmative, when Boolean.FALSE, the response was negative, and when null, the response did not match one of the known true/false values
 * action = the action method to execute when the response is received

Example
AreYouSureAction : IMConfirmationAction { confirmed = yesOrNo; action = nextStep; }

In the above example, the binding "yesOrNo" is a Boolean that will contain whether or not the user's response was a confirmation. After processing the response, the "nextStep" action will be called so that you can evaluate the "yesOrNo" value and respond accordingly.

IMSearchMessageAction
IMSearchMessageAction allows you to map substrings that appear in AIM message responses to other objects. For instance, you can pass in an options dictionary that maps the word "hi" to the object Greeting, or the word "bug" to the object BugReport. If the word "hi" appears in the aim response, it will return the matching object as its value.

Bindings:

 * value = the binding to write the first matching value into
 * values = (at least one of "value" or "values" must be specified, but you can use both as well) the binding to write the array of all matching values into
 * optionsDictionary = a mapping of substrings to look for in the response to arbitrary objects those substrings are associated with
 * optionsArray = a list of known substrings to look for
 * optionKeyPath = (only applicable for optionsArray) instead of looking for the values in optionsArray, look for the value of this key path on each value in the optionsArray; for instance, optionsArray might contains Person objects, and optionKeyPath might be "firstName", so this would match the first names of the list of the people.
 * quicksilver = match like Quicksilver matches ("NPE" matches "NullPointerException")
 * action = the action method to execute when the response is received

Example
PickRequestTypeAction : IMSearchMessageAction { value = selectedOption; optionsDictionary = options; action = nextStep; }

In the above example, "optionsDictionary" contains a mapping where the keys are the substrings to look for in the response and the values are objects to associate them with. For instance, the dictionary from our bug tracking system looks like { "bug"=>BugReportType object, "request"=>ServiceRequestType object }. "action" is the method to fire when the user's response comes back, and "value" will contain the value that matched the user's response.

When the user responds, the response will be interpreted by the provided action, the "selectedOption" field will contain whatever object matched their response, or null if there was no match, and the "nextStep" action method will be called. "nextStep" is a normal action method like any other, except it has access to the additional AIM-only request parameters as described in the Request section.

IMSearchOptionsAction
IMSearchOptionsAction, IMSearchMessageAction's evil twin, allows you to search your options for the AIM response that is received (as opposed to SearchMessage that searches the AIM response for your options -- the other way around). For instance, you can pass in an options dictionary that maps the word "Company XYZ" to the object CompanyXYZ, or the word "Company ABC" to the object CompanyABC. If the word "XYZ" is aimed, it will return the matching CompanyXYZ object as its value.

Bindings

 * value = the binding to write the first matching value into
 * values = (at least one of "value" or "values" must be specified, but you can use both as well) the binding to write the array of all matching values into
 * optionsDictionary = a mapping of substrings to look for in the response to arbitrary objects those substrings are associated with
 * optionsArray = a list of known substrings to look for
 * optionKeyPath = (only applicable for optionsArray) instead of looking for the values in optionsArray, look for the value of this key path on each value in the optionsArray; for instance, optionsArray might contains Person objects, and optionKeyPath might be "firstName", so this would match the first names of the list of the people.
 * quicksilver = match like Quicksilver matches ("NPE" matches "NullPointerException")
 * action = the action method to execute when the response is received

Example
PickCompanyAction : IMSearchOptionsAction { optionsArray = companies; optionKeyPath = "name"; value = company; values = companies; quicksilver = true; action = nextStep; }

The above example from our bug reporting system allows a user to select a company to associate with a bug. "optionsArray" contains an array of Company objects. "optionKeyPath" specifies that the response should be compared against the value of the "name" keypath on the Companies. The resultant first Company object that matched will put stored in the "company" binding (as defined by "value"), and if there were multiple matches, they would all appear in the "companies" list. Quicksilver matching is enabled above, and after the response is processed, and the bindings set, the "nextStep" action will be called.

IMPickListAction
A very common case is that you want to present the user with a list of options and have the user pick from that list. IMPickList provides a handy implementation of this behavior. Whereas the previous actions were "headless," IMPickList actuals renders the list on its own entirely. A typical use case is to continue rendering the IMPickList until the selection is whittled down to one by the user.

An example conversation might look like: Server> Pick a company: Server> 1) Company XYZ Server> 2) Company VWX Server> 3) Company ABC User> X  // note this matches #1 and #2  Server> Pick a company:  Server> 1) Company XYZ Server> 2) Company VWX User> V  // Company VWX is now selected  Server> ... or  Server> Pick a company:  Server> 1) Company XYZ Server> 2) Company VWX Server> 3) Company ABC User> 1 // picking by number uniquely identifies Company XYZ or Server> Pick a company: Server> 1) Company XYZ Server> 2) Company VWX Server> 3) Company ABC User> XYZ  // XYZ uniquely matches Company XYZ

Bindings

 * displayStringKeyPath = The key path of the string to use to display each object in the list. The value should be in "quotes".
 * list = an NSArray of the list of options to pick from
 * quicksilver = whether or not to use Quicksilver-style matching on the user's response ("NPE" matches "NullPointerException")
 * selections = the list of selections that matched
 * selection = the single matching selection (if there was only one)
 * action = the action method to execute when the response is received

Example
PickProductAction : IMPickListAction { list = products.@sort.name; selection = product; selections = products; displayStringKeyPath = "name"; quicksilver = true; action = nextStep; }

The above example has the user selecting from a list of Products (from the "list" binding). The "displayStringKeyPath" binding specifies that the "name" keypath of the Product should be displayed in the list. When the user uniquely identifies a single Product, the Product object will be bound to the "product" variable. If there are multiple matches, the NSArray of the matches will be bound to the "products" variable. Quicksilver matching is enabled. After the response is processed, the "nextStep" method will be called. Notice in this example, the "products" array is both the "list" binding AND the "selections" binding. When the page is first loaded, the "products" NSArray is initialized with all the products. The nextStep method keeps returning the same page until there is only one product selected. Until that point, the list is reset with the products that matched the user's partial response (like in the example transcript of IMPickList above).

IMTextAction
IMTextAction is one of the simplest IMAction implementations. It stores the user's response in a String binding and calls an action method.

Bindings

 * value = the variable to store the user's response into
 * allowBlanks = if false, empty strings (response.trim.length == 0) are turned into nulls
 * action = the action method to execute when the response is received

Example
AskNameAction : IMPickListAction { value = userName; allowBlanks = false; action = nextStep; }

The above example stores the user's response in the "userName" variable and does not allow blank values (i.e. they turn into nulls). The "nextStep" action method is called when the response is processed.


text:
Template:Myers1906

This article incorporates text from the public domain 1906 edition of General History for Colleges and High Schools by Philip van Ness Myers. /Templates

title: Template:Myers1906


text:
Talk:Ancient History/Ancient Near East/Mesopotamia

I am adding text to this module from an old history text: Myers, Philip van Ness. General History for Colleges and High Schools. Ginn & Co. New York. Copyright 1890 & 1906.

This work is public domain, and I have a text. There are no scans of it, so I can't just e-mail the original or copy and paste. I'm using Template:Myers1906 to mark this fact.

The text itself is full of dubious stuff. Racist, sexist, Eurocentric - it was a late edition Dead White Men version of history. I am modifying the text as I enter it to reflect modern tastes and writing styles. To wit "race" is replaced by "people" in most cases, or "nation". It's not a carbon-copy of the original. I'm typing it in by hand, so there will probably be faults.

The intent is to provide an initial text to stimulate more work, not to provide a perfect copy of this elderly text. It has not been fact checked and its contents probably do not fully reflect the modern view.

--Diderot 16:50, 18 June 2006 (UTC)

scope of topic
This page goes beyond Mesopotamia, so I'm creating an "Ancient Near East" module, with sub-modules including Mesopotamia.


text:
Modern Photography/History

Louis Daguerre worked with Joseph Niepce, developing the heliograph.

After Niepce's death, Daguerre invented the daguerreotype. It used mercury gas. The pictures it produced had to be viewed at an angle. The wet-plate process was developed from calotype. It created crisp images on glass plates with collodion. It was used to make the first photos of Egypt. Wet-plate was very difficult to travel with, however. The materials would freeze in cold climates, and boil in hot ones.

William Henry Jackson used wet-plate to photograph Yosemite and other national parks. Edward S. Curtis used it to document Native American culture.

Alfred Stieglitz, after studying engineering, studied photography in Berlin. One of his favorite subjects was New York cityscapes.

He was part of the "photo-secession", with Edward Steichen. He published Camera Work magazine. His salon, 291 Galleries, showed work by Rodan, Cézanne, and Picasso. He popularized the work of Georgia O'Keefe through his gallery.

Steichen joined the US Air Corps to protect France during World War II. Stieglitz went bankrupt and considered quitting photography. However, his correspondence with O'Keefe kept him going. Stieglitz and O'Keefe married later. After coming back from the war, Steichen was made curator for the Museum of Modern Art's "Family of Man" exhibit, which toured the world and was the basis for an art book.

Photo Journalism
The press is known as the "fourth estate." In the US, print isn't restricted, but TV and radio are.

Emmett Till was a black boy who was lynched for whistling at a white woman. Photos of the body were published in the black press.

The Students Non-violent Coordinating Committee is an anti-segregation group. They were victims of police brutality. This was not covered by the media, until the Birmingham riot. Photos of the riot caused difficulties for the US in foreign affairs.

Famous photos taken during this era include the burning monk Quang Duc, a Vietnamese policeman executing a suspect, napalm victims fleeing a village, and a girl crying over a student shot at Kent State.

Modernist Photography
Styles of modernist photography championed a sharp, crisp focus in the images and generally leaned toward realism in the images.

title: Modern Photography/History


text:
Cookbook:Churros I

| Desserts | Mexican cuisine | Tex-Mex cuisine

This is a very simple recipe for plain churros. Makes one plateful, suitable for about 4 people. It can easily be doubled or halved, but be warned that attempting to mix more than double this recipe at once is very hard work.

Ingredients

 * 400 g (~3¼ cups) plain flour
 * 400 ml (~1⅔ cups) boiling water
 * 1 teaspoon bicarbonate of soda (baking soda)
 * ½ teaspoon salt
 * ¼ teaspoon cinnamon (optional)
 * Vegetable oil

Procedure

 * 1) Sift the flour, baking soda, and salt into a large mixing bowl.
 * 2) Add the boiling water gradually to the flour, mixing constantly until you get a very thick, smooth paste.
 * 3) Allow to stand for about an hour.
 * 4) Heat up a deep frying pan of oil until it shimmers.
 * 5) Using an icing bag, or a freezer bag with the corner cut out to give a hole about the size of your little finger, squeeze the paste into the pan. Use a pair of scissors to cut the sausage-shaped pieces off after about 10 cm.
 * 6) Fry the churros until golden brown and crunchy. If the pieces are too thick and are still raw in the middle, cut them in half lengthwise and fry again.
 * 7) Remove churros from oil, and drain on a rack or paper towels.
 * 8) Serve dusted liberally with sugar or hot chocolate sauce (or both).

title: Cookbook:Churros I


text:
User:Jumping cheese

See Main User Page: Jumping cheese at Wikipedia

title: User:Jumping cheese


text:
Template:Orthopaedic Surgery/Nav

 * This template can be placed at the top of every page in the module, except the first and the last page
 * Please replace the Book Name, Current Page Name, Previous Page Name and Next Page Name with the appropriate names.

title: Template:Orthopaedic Surgery/Nav


text: Category:Book:Taxation in the United Kingdom


text:
Ancient History/Mesopotamia/Babylonia/Old Babylonian period

=The Rise of Babylon=

From the remotest times, the city-states of southern Mesopotamia were enemies of the kings of Elam, a country to its east. For centuries at a time, the Elamite kings held the cities of the plain in a state of more or less complete vassalage. Their dominion was finally broken by a king of Babylon, a city which had been rising in prominence and eventually gave its name to the entire area. This king was named Hammurabi (reigned circa 1780 BC – 1750 BC). He united under his rule all the cities of Babylonia and became the founder of what is known as the Old Babylonian Empire.

Hammurabi has been called the Babylonian Moses because he promulgated a code of laws which in many respects resembles the Mosaic code attributed to Moses.

=The Old Babylonian Empire eclipsed by the Rising Assyrian Empire= For more than a millennium after Hammurabi. Babylon continued to be the political and commercial centre of changing dynasties and shifting frontiers. Meanwhile, a Semitic power had been slowly developing in the north. This was the Assyrian Empire, eventually to be centered on its capital Nineveh. For a long time Assyria was practically a province of the lower kingdom; but in 726 BC, Babylon was conquered by an Assyrian king and passed under Assyrian control.


text:
User:Afir

= !! =

I'm new to wikibooks and wiki's in general, so I aim to get accustomed to the format before contributing. More will come here later or not.

title: User:Afir


text: Template:Mac Trick Box

title: Template:Mac Trick Box


text: Template:Mac Note Box

title: Template:Mac Note Box


text: Template:Mac Warning Box

title: Template:Mac Warning Box


text:
Template:Mac Background Box

it:Template:Book Box

title: Template:Mac Background Box


text:
Minix 3/Minix 3 on Bochs

Run MINIX 3 on Windows XP Bochs
The recipe below was successfully tried with Minix versions 3.1.1, 3.1.2, 3.1.2a. The Bochs ver. 2.2.6 was running under (or over?) Windows XP.It also may work on other operating system that support Bochs Environment.

 * Download a Minix 3 bootable CD ISO image . You'll download an archive, unpack it - you'll get the file with name like IDE-3.1.1.iso.

 * Download Bochs - in my case,I have used Bochs 2.2.6 released for Windows XP but should work higher verion.

 * Install WinPCap, downloadable from.

 * Install Bochs - when asked for options, add DLX Linux.

 * In the directory where the default installed Bochs will be in (C:\Program Files\Bochs-2.2.6), you'll find dlxlinux directory.

 * You need to make a copy of dlxlinux in the same parent directory with different name minix3. This new directory will be your Minix OS versions.

megs: 256 romimage: file=../BIOS-bochs-latest, address=0xe0000 vgaromimage: file=../VGABIOS-lgpl-latest floppya: 1_44=floppya.img, status=inserted floppyb: 1_44=floppyb.img, status=inserted ata0-slave: type=cdrom, path=IDE-3.1.1.iso, status=inserted boot: cdrom log: bochsout.txt mouse: enabled=0 # ne2k: NE2000 compatible ethernet adapter ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD #
 * Go to the new minix3 directory and edit bochsrc.bxrc file.
 * 1) bochsrc.txt file for Minix3 disk image.
 * 1) bochsrc.txt file for Minix3 disk image.
 * 1) how much memory the emulated machine will have
 * 1) filename of ROM images
 * 1) what disk images will be used
 * 1) hard disk
 * 1) choose the boot disk.
 * 1) default config interface is textconfig.
 * 2) config_interface: textconfig
 * 3) config_interface: wx
 * 1) display_library: x
 * 2) other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga
 * 1) where do we send log messages?
 * 1) disable the mouse, since DLX is text only
 * 1) enable key mapping, using US layout as default.
 * 1) NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.
 * 2) However, the key mapping tables are used in the paste function, so
 * 3) in the Minix3 example I'm enabling keyboard_mapping so that paste
 * 4) will work.  Cut&Paste is currently implemented on win32 and X windows only.
 * 1) keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
 * 2) keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map
 * 3) keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map
 * 4) keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map
 * Run Boch's NIC Lister. For a few ordinary Windows XP machines with one network card NIC Lister mentions three interfaces, and some of them usually works.

 * Put the IDE-3.1.1.iso file with Minix 3 bootable CD image into minix3 directory.

cd "C:\Program Files\Bochs-2.3\minix3" ..\bochs -q -f bochsrc.bxrc
 * Edit the run.bat file in the minix3 directory - replace dlxlinux with minix3 on the first line in the path.
 * 1) Run.bat

 * Run run.bat - you'll get Minix 3 booting in the virtual Bochs PC.

Install Minix onto a Virtual Hard Drive
The step below work on any Bochs Environment and doesn't depend on the operating system
 * Create the file for that drive first. Launch the Disk Image Creation Tool, which is included into Bochs distribution. The interface is very simple - the program just asks a few questions and does the job, but just in case, you'll wand a hard drive (hd) disk image, of flat (flat) type, sized, for example, 2048 megabytes (2048) - it will actually be 8192 bytes less than that - named hd2gig.img.

"ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17" should contain the line, which Disk Image Creation Tool put into clipboard, namely, "ata0-master: type=disk, path="hd2gig.img", mode=flat, cylinders=4161, heads=16, spt=63"
 * You'll need to edit bochsrc.bxrc again. The line in hard disk section, related to disk - if you took the bochsrc.bxrc from dlxlinux, it will contain
 * 1) hard disk
 * 1) hard disk

 * Relaunch Minix booting from cdrom, login as root, run "setup", which will install Minix on the virtual hard drive. The network will get installed as well.

 * After installation is complete, run "shutdown", in boot monitor run "off" so Bochs will turn down, and change "boot: cdrom" to "boot: disk", so you'll boot next time from virtual disk instead of cdrom.

title: Minix 3/Minix 3 on Bochs


text:
User talk:Charley~enwikibooks

[Decision Vectors]

Proposed revision to first paragraph
Attempts to clarify
 * Protection is offered, not automatically given
 * Tax is automatic, not optional
 * Mandatory support is for those in need,
 * Social Security is not an annuity

Your account will be renamed
Hello,

The developer team at Wikimedia is making some changes to how accounts work, as part of our on-going efforts to provide new and better tools for our users like cross-wiki notifications. These changes will mean you have the same account name everywhere. This will let us give you new features that will help you edit and discuss better, and allow more flexible user permissions for tools. One of the side-effects of this is that user accounts will now have to be unique across all 900 Wikimedia wikis. See the announcement for more information.

Unfortunately, your account clashes with another account also called Charley. To make sure that both of you can use all Wikimedia projects in future, we have reserved the name Charley~enwikibooks that only you will have. If you like it, you don't have to do anything. If you do not like it, you can pick out a different name.

Your account will still work as before, and you will be credited for all your edits made so far, but you will have to use the new account name when you log in.

Sorry for the inconvenience.

Yours, Keegan Peterzell Community Liaison, Wikimedia Foundation 23:05, 17 March 2015 (UTC)

Renamed
 This account has been renamed as part of single-user login finalisation. If you own this account you can |log in using your previous username and password for more information. If you do not like this account's new name, you can choose your own using this form after logging in: . -- Keegan (WMF) (talk) 04:47, 19 April 2015 (UTC)

title: User talk:Charley~enwikibooks


text:
User:Langec

See w:User:Langec

title: User:Langec


text:
Bartending/Cocktails/Flat Liner

Flat liner is a layered cocktail which is drunk from a shooter glass. Tabasco sauce lies between two layers of spirits forming a line between them. In Estonia, this drink is also known under the name "Millimalikas" which is Estonian for "Jellyfish".

Ingredients

 * 1 oz. Sambuca
 * 1 oz. Tequila
 * 1 dash Tabasco sauce

Glass
shooter glass

Procedure

 * 1) Add one ounce of Sambuca to a shot glass.
 * 2) Shake several drops of Tobasco sauce onto the surface of the Sambuca.
 * 3) Hold an inverted teaspoon in the glass and carefully layer the tequila over the Sambuca.
 * 4) Serve.

title: Bartending/Cocktails/Flat Liner


text:
Template:WP Mac Userbox

ja:Template:User OS:Mac OS X

title: Template:WP Mac Userbox


text:
Cookbook:Xató (Catalan Endives and Fish)

| Seafood

Xató is a typical Catalan dish.

Sauce

 * 100 g toasted almonds
 * 60 g toasted hazelnuts
 * 2 cured anchovies, salt removed
 * 2 cloves garlic
 * 4 pieces scalded nyores
 * ½ piece chile pepper (optional)
 * 2–3 slices fried or toasted bread
 * Vinegar
 * Olive Oil
 * Salt

Dish

 * 2 pieces curly endives
 * 12 pieces anchovies, salt removed
 * 100 g salty tuna, salt removed
 * 100 g salty ripped cod, salt removed
 * 100 g arbequine olives

Procedure

 * 1) In a mortar, crush the almonds, hazelnuts, anchovies, garlic cloves, nyores pulp, chili, salt, bread (you can soak them in vinegar or add the vinegar separately), vinegar, and salt.
 * 2) Mix in the olive oil.
 * 3) Wash and soak the curly endives in water.
 * 4) Take the salt off the anchovies, the salty tuna, and the cod—rip the last two out—and mix them with the curly endive in a bowl.
 * 5) Add the olives.
 * 6) Add the sauce.
 * 7) Mix it up well, so all the ingredients are coated with sauce. Serve, trying to build up some sort of curly endive castle shape.


text:
Ancient History/Ancient Near East/Anatolia/Introduction

Because of its strategic location at the intersection of Asia and Europe, Anatolia has been a cradle for several civilizations since prehistoric ages, with Neolithic settlements such as Çatalhöyük (Pottery Neolithic), Çayönü (Pre-Pottery Neolithic A to pottery Neolithic), Nevali Cori (Pre-Pottery Neolithic B), Hacilar (Pottery Neolithic), Göbekli Tepe (Pre-Pottery Neolithic A) and Mersin. The settlement of Troy starts in the Neolithic and continues forward into the Iron Age. Major civilizations and peoples that have settled in or conquered Anatolia include the Colchians, Hattians, Luwians, Hittites, Phrygians, Cimmerians, Lydians, Persians, Celts, Tabals, Meshechs, Greeks, Pelasgians, Armenians, Romans, Goths, Kurds, Byzantines, Seljuk Turks, and Ottomans. These peoples belonged to many varied ethnic and linguistic traditions. Through recorded history, Anatolians have spoken both Indo-European and Semitic languages, as well as many languages of uncertain affiliation. In fact, given the antiquity of the Indo-European Hittite and Luwian languages, some scholars have proposed Anatolia as the hypothetical center from which the Indo-European languages have radiated. Other authors have proposed an Anatolian origin for the Etruscans of ancient Italy. Today the inhabitants of Anatolia are mostly native speakers of the Turkish language, which was introduced with the conquest of Anatolia by Turkic peoples and the rise of the Seljuk Empire in the 11th century. However, Anatolia remained multi-ethnic until the early 20th century (see Rise of Nationalism under the Ottoman Empire). The last population exchange "Exchange of populations between Greece and Turkey", as result of the Treaty of Lausanne, between Turkey and Greece eliminated the majority of Turks in Greece and Greeks in Turkey. A significant Kurdish ethnic and linguistic minority exists in the south eastern regions, while Armenians and Georgians used to have a presence in the northeast.


text:
Basic Computer Security/Malware/Spyware

=Combating Spyware=

In this chapter you will get a good understanding of what computer spyware and adware are, what do they do, and how to fight back.

What is Spyware?
In simplest terms, spyware is a type of malware (malicious software) that watches what users do with their computer and sends this information to the creator (or occasionally a hacker) over the internet. Generally, different types of spyware collect different information about a user. Less harmful programs attempt to track what websites a user visits, sending this information to an advertisement agency. More malicious programs may try recording what a user types to intercept passwords or credit card numbers,sometimes referred to as keyloggers. Other spyware programs simply launch popups with advertisements. This type of malware may also be referred to as adware.

Originally, spyware just referred to malicious software (malware) that spied on (or monitored) the user, sending information back to its creator. More recently users have come to use the term spyware regarding any software that does any sort of spying to benefit a third party. This includes adware and keyloggers, amongst other types of malware that monitors the user or allows full or partial control of a computer system's operation to a remote user without the consent of the machine user (such as trojan horses and rootkits)

Unlike viruses and worms, spyware does not usually self-replicate. Spyware may exploit known weaknesses in computer security or be installed by free software (freeware), infecting computers for commercial gain. Spyware typically does this by displaying unsolicited pop-up advertisements (sometimes to goad the user into buying an anti-spyware product created by the same person(s) that made the spyware), theft of personal details (such as stealing usernames, passwords, and credit card numbers), monitoring of Web-browsing activity (for marketing purposes), or simply routing HTTP requests (requests to web-server(s) to GET a webpage so it can be viewed) to advertising sites.

Spyware is currently one of the major security threats to computers running Microsoft Windows OSs (Operating Systems). As Microsoft's internet browser, Internet Explorer, is closely tied in with the OS, when a security vulnerability is exploited through Internet Explorer, the operating system itself may be exploited. Microsoft often patch vulnerabilities in Windows (usually caused by a bug in Internet Explorer) because if unpatched it may "allow remote code execution". Due to the Microsoft Windows series of OSs being widely used, the vulnerabilities found in windows systems are often exploited as there is usually more chance of finding an unpatched system running Windows at random than finding, for example, an unpatched OS/2 system.

What is an anti-spyware program?
There are many different types of anti-spyware programs, each with their own strong points. The main purpose of an anti-spyware program is to detect and remove spyware as well as adware. Some programs that are not free, such as Ewido, have higher detection rates than their free counterparts, although a combination of free anti-spyware programs will do just as good a job. The main thing to be careful of when choosing anti-spyware programs are a class of programs known as rogue anti-spyware.

What is a rogue anti-spyware program?
Typically, a rogue spyware program is one that claims to be able to detect and delete spyware although is inadequate at doing so. This may simply be because it's definition files (usually shortened to defs) are not updated often enough. More suspicious ones may actually contain spyware themselves, sometimes attempting to persuade the user that buying the rogue product will completely eradicate all spyware threats. Probably the most-updated and accurate site listing rogue anti-spyware programs is Spyware Warrior's rogue list (http://www.spywarewarrior.com/rogue_anti-spyware.htm).

Do I need an anti-spyware program?
If you are running Microsoft Windows, the answer is most likely to be yes if you have internet access. This is because some internet browsers may allow bad code to execute on your machine infecting it with spyware, and some freeware programs - especially some p2p (peer-to-peer) programs. Unlike viruses, spyware is dangerous because it may send personal information over the internet to a remote user, rather than replicating and having a high payload.

Where can I get an anti-spyware program, and how much will it cost me?
As has already been mentioned, there are many anti-spyware programs on the market - including some rogue ones. If you are running Microsoft's Windows 2000, XP, Server 2003, or Vista operating systems you can download Microsoft's Windows Defender Beta 2 (currently free) from Microsoft's download page (http://www.microsoft.com/downloads/details.aspx?FamilyId=435BFCE7-DA2B-4A6A-AFA4-F7F14E605A0D&displaylang=en).

If an anti-spyware program doesn't work, is there an alternative?
The usual recommendation in removing spyware on Microsoft Windows is to update all the anti-spyware and anti-virus programs first, then disable system restore and reboot into safe mode.
 * To disable system restore, right-click My Computer and click on Properties. This should open up the System Properties window. Click on the System Restore tab, and check the Turn off system restore on all drives checkbox. Click on OK and you may be presented with a message box asking if you wish to restart your computer to apply the changes. Save any changes you have made in other programs, then click Yes or Restart Now.
 * Once your computer starts to reboot, start hitting the f8 button (about twice per second) until the Boot Options screen is displayed. Use the arrow keys on the keyboard to highlight Boot to safe mode and hit the Enter/Return key.

Once in safe mode run the programs one at a time, and delete / quarantine any detections. The majority of anti-spyware programs backup the objects deleted (usually by encrypting them) in case they are a False Positive (the program detected something which in fact did not need to be deleted).

After running all the programs, restart the computer normally (from the shutdown menu). It should automatically boot back into normal mode. Login and check that the existing problems are no longer present. Occasionally the anti-spyware programs are unable to detect or delete some spyware. In this case there are some anti-spyware forums with people that specialise in spyware removal. Experts in spyware removal forums normally ask for a HiJackThis Log. HiJackThis is a program that displays all the settings that spyware and hijackers (software that "hijacks" the internet browser, usually changing it's homepage and preventing it from being changed back) and is also able to save these settings in to a log file that can be uploaded or pasted to a website or forum.

title: Basic Computer Security/Malware/Spyware


text:
Talk:Basic Computer Security/Malware/Spyware

Todo - list of spyware programs
TODO: Add descriptions of other decent anti-spyware programs that are free (such as adaware, spyware guard, spybot search and destroy, etc) as well as non-free options. TheJC TalkContributions 01:34, 19 June 2006 (UTC)


text:
General Astronomy/The H-R Diagram

The Hertzsprung-Russell diagram - usually referred to by the abbreviation H-R diagram - is a diagram that illustrates the properties of stars. As stars progress through their lives, they move around on this diagram since their properties change over time.

The original form of the H-R diagram consists of the absolute magnitude of the star graphed against the color of the star. It was this form that was first created around 1910 by Danish astrophysicist Ejnar Hertzsprung and American astrophysicist Henry Norris Russell, and represented a huge leap forward in understanding stars because once one graphs stars against these axes, it becomes obvious that stars fall into different categories. The diagram plots luminosity and spectral type (which also plots temperature). On the vertical plane, stars are brighter if they are higher up on the diagram. In the horizontal plane, the leftmost stars are the hottest.

When all the known stars are placed in this diagram according to luminosity and temperature, many of the stars - even our Sun - appear along a diagonal line that stretches from the top left of the diagram to the bottom right. This diagonal line is what is known as the main sequence. Stars spend the majority of their lifetimes here. It is the phase in which stars burn hydrogen into helium. At this point in a star's life, its size and luminosity remain about constant because the forces within the star have reached a near-equilibrium. The gravity of the star pointing inwards balances the internal thermal (gas) pressure which pushes outwards. The time that a star spends in the main sequence is determined by its mass. Smaller, cooler stars have slower fusion reactions rates and therefore will remain in the main sequence longer.

Stars which lie along the top right of the diagram are luminous and cool and are known as supergiants. Fainter, hotter stars - which appear at the bottom left of the diagram - are known as white dwarfs. Hot and bright stars are located at the top left of the diagram, and cool, dim stars at the bottom right.

The HR diagram is a powerful tool in astronomy that allows us to probe stellar evolution and even cosmology. Knowing a star's location on the HR diagram allows us to find its mass, its evolutionary state (and age), and its physical size. We can date individual star clusters by using the main sequence turn off, the point where main sequence stars start evolving (i.e., cease to be hydrogen burning, the initial stellar condition).

The first version of the diagram is often known as the observer's version of the H-R diagram as it can be drawn from data taken directly from a telescope. The second version of the diagram is often known as the theorist's version as it is the version against which the output from computer models can be plotted.

title: General Astronomy/The H-R Diagram


text: Template:Associated Wikimedia

title: Template:Associated Wikimedia


text:
The World of Peer-to-Peer (P2P)

About the book [ edit ]
=== Peer-to-Peer (P2P)  [ edit ] [ edit summary ] [ print chapter ] ===

=== P2P Implementations  [ edit ] [ edit summary ] [ print chapter ] ===

 * Building a P2P System
 * "New" models
 * Other resources

Sieci P2P

title: The World of Peer-to-Peer (P2P)


text:
Talk:The World of Peer-to-Peer (P2P)

Conventions adopted on this book

 * Debates over Conventions & Proposals to be used on this book.

Book Content

 * Discussion and planning for the book content. (Please add references to Orphans pages there also...)

Other talk/discussion pages locations

 * See Archives for Older talk posts.
 * Discussion about the cover image at Book Cover
 * The World of Peer-to-Peer (P2P) questions and answers page.

{| align=center cellspacing=10 class=PrettyTextBox style="background-color: rgb(249, 249, 249); -moz-border-radius: 1em; margin-bottom: 1em;"
 * style="font: 1.0em/1.3em Georgia, Palatino, Times New Roman;" |
 * style="font: 1.0em/1.3em Georgia, Palatino, Times New Roman;" |

Other works that can be merged/used to add content to the book...
Please check if the works do indeed adhere to the GNU Free Documentation (or compatible) licenses, before adding from them, if anyone can find a location that has a resumed up table or global information that would be nice...

If you add any titles please use the right Copyright templates or if possible do a verbatin copy to Wikibooks, txs.

[Avoid_Copyright_Paranoia]

"An entry which contains a few copied phrases from individual websites or other sources. Quotation, even without attribution, is specifically allowed in international copyright law, and single sentences are generally not protectable."

and from Copyrights

"If you are the owner of content that is being used on Wikibooks without your permission, then please contact our Designated agent to have it permanently removed (you may blank the page but the text will still be in the page history). You may also place the module title of the offending page on Wikibooks:Votes for deletion. We will, of course, need some evidence to support your claim of ownership."

"If you suspect that content on a particular module contains a copyright infringement, then you may replace the text with the boilerplate copyright infringement notice text at Wikibooks:Boilerplate text."

Should check also: Guidelines for admins at Deletion_policy
 * }
 * }

title: Talk:The World of Peer-to-Peer (P2P)


text:
Tagalog/Lesson 6

Aralin 6 — Ang Pamilya

Ang Pamilya (The Family)
Relative - Kamag-anak

Parent - Magulang Mother - Ina/Nanay Father - Ama/Tatay Sibling - Kapatid Elder sister - Ate Elder brother - Kuya Eldest sibling - Panganay Youngest sibling - Bunso Uncle - Tiyuhin (older Tagalog), Tito Aunt - Tiyahin (older Tagalog), Tita Grandfather - Lolo Grandmother - Lola Nephew/Niece - Pamangkin Grandchild - Apo Cousin - Pinsan Father/Mother-in-law - Biyenan Brother-in-law - Bayaw Sister-in-law - Hipag Son or Daughter-in-law - Manugang Son or Daughter-in-law's parents - Balae

title: Tagalog/Lesson 6


text:
Tagalog/Lesson 5

Aralin 5 — Nouns

Nouns
Before we proceed to the discussion of simple sentences, we first discuss a bit about nouns.

Unlike in English, a noun is not preceded by an article (i.e., "the", "a", "an" in English). There are no articles in Tagalog. For example, the word pusà means "cat", "a cat", or "the cat", depending on the context.

To form the plural, precede the noun by mgá (pronounced mangá). For example, "cats" in Tagalog is mgá pusà.

Focus
Every sentence has something or someone to talk about. We call it the focus of the sentence. Basically, a focus can be a noun, a noun phrase or a pronoun.

 * In general, a focus is preceded by the particle ang . So if you want to talk about a cat, you say "ang pusà". If you want to talk about houses, you say "ang mgá bahay". If you want to talk about the United States, you say "ang Estados Unidos".

 * If the focus is someone in particular, you use si instead of ang. So if you want to talk about Judy, you say "si Judy". On the other hand, if the focus is a list of people's names, use siná instead of si, and join the last two names with the word at ("and"). For example, if you want to talk about Judy and Mitch, you say " siná Judy at Mitch". If you want to talk about Judy, Mitch and Ralph, you say " siná Judy, Mitch at Ralph".

 * If the focus is one of the pronouns listed below, then it is never preceded by a particle. The pronouns are:
 * akó (I)
 * ka  (you, singular)
 * siyá (he, she)
 * kamí (we, excluding the listener)
 * kitá (we, including the listener, referring to only two people)
 * tayo (we, including the listener, referring to three or more people)
 * kayó (you, plural)
 * silá (they)
 * itó (this)
 * iyán (that)
 * iyón (that)

The pronoun ka is actually a special form of the pronoun ikáw. Use ikáw instead when it begins a sentence or when it is preceded by the particle ay in an "equation sentence" (a sentence of the general form A is B, where A and B are nouns, noun phrases or pronouns) expressed in the ay-form.

For the difference between iyán and iyón, see the topic Itó, Iyán at Iyón (This and That).

Adjectives: Describing The Focus
If you want to describe the focus, you can use adjectives. The format of the Tagalog sentence is shown below:

Where   is the appropriate particle for the focus, if applicable (see the topic Focus above).

For example, if you want to say that a certain house (bahay) is big (malakí), you can say

Malakí ang bahay.

If you want to say that Albert is kind (mabaít), then you can say

Mabaít si Albert.

In addition, if he (siyá) is tall (matangkád), then you can say

Matangkád siyá.

Finally, if you want to say that roses (rosas) are beautiful (magagandá, plural), then you can say

Magagandá ang mgá rosas.

To negate an adjective in the sentence, place the word hindî before the adjective. For example, if you want to say that Albert is not tall (matangkád), then you can say

Hindí matangkád si Albert.

However, if the sentence has a pronoun focus, then you cannot just negate the adjective by placing hindî before the adjective. There is an additional rule to follow in this case: Place also the pronoun after the word hindî.

For example, to say that you (ka) are beautiful (magandá), you can say

Magandá ka.

However, to say that you are not beautiful, it's not yet correct to say

Hindí maganda ka.

The focus is ka, which is a pronoun. Therefore, you perform the additional rule, that is, place ka after hindî. The Tagalog sentence now becomes

Hindí ka maganda.

The above sentence is now correct.

To say that she is not quiet (tahimik), you must say

Hindí siyá tahimik.

For more details about adjectives, see the topic Mgá Pang-urì (Adjectives).

Equation Sentences: A Focus Is Something
Equation sentences in English are usually of the form A is B, where A and B are nouns, noun phrases or pronouns.

In Tagalog, to say that "Focus is Something", you use the following format:

Where   is the appropriate particle for the focus, if applicable (see the topic Focus above). This type of sentence is also called a nominal sentence.

For example, the sentence "A dog (aso) is an animal (hayop)" in Tagalog is

Hayop ang aso.

If you want to say that Albert is a carpenter (karpintero), then you can say

Karpintero si Albert.

If you want to say that you (ka) are a visitor (bisita), then you can say

Bisita ka.

If you want to say or emphasize that the focus is something or someone in particular, you must put an appropriate focus particle in front of  . In other words, the sentence format becomes

For example, if the thief (magnanakaw) is that man (lalaki) (e.g., the man sitting beside you, and not any other man), then you can say

Ang lalaki ang magnanakaw.

Or if the driver (drayber) is Andy (and not your friend John, for example), then you can say

Si Andy ang drayber.

Or if the cleaner (tagá-linis) is you (ka) (because you're the one in charge of cleaning today), then you can say

Ikáw ang tagá-linis.

Ikáw is used instead of ka. See the topic Focus for the explanation.

To negate an equation sentence, follow the rules stated in the topic Adjectives: Describing The Focus, only this time the word hindî is placed in front of a noun, not an adjective. So if you want to say that a human (tao) is not an animal, then you can say

Hindí hayop ang tao.

To say that birds (ibon) are not humans (tao), you can say

Hindí mgá tao ang mgá ibon.

However, if you want to say that you (ka) are not a visitor (i.e., the focus is a pronoun), then you must say

Hindí ka bisita.

Relationship Between Two Nouns: The Particle Ng
Before we proceed to the rest of the lesson, let's discuss first how to express the relationship between two nouns in Tagalog.

In Tagalog, two related nouns are connected by the particle ng (pronounced nang). The syntax is as follows:

 ng

Where  is the more specific of the two nouns, and  is the more general of the two.

Some relationships that use this syntax are:

 * Part <==> Whole
 * Examples:
 * gulóng ng kotse (the wheel of a car)
 * gulóng - wheel, kotse - car
 * bubóng ng bahay (the roof of a house)
 * bubóng - roof, bahay - house

 * Member <==> Group
 * Examples:
 * kawaní ng kompanyá (employee of a company)
 * kawanî - employee, kompanyá - company
 * lider ng grupo (leader of the group)
 * lider - leader, grupo - group

 * Thing owned <==> Owner
 * Examples:
 * kuwaderno ng estudyante (a student's notebook)
 * kuwaderno - notebook, estudyante - student
 * kotse ng pangulo (the president's car)
 * kotse - car, pangulo - president

 * Specific location <==> Place or Object
 * Examples:
 * tuktók ng bundók (the top of a mountain)
 * tuktók - top, bundók - mountain
 * ibabaw ng mesa (on the table)
 * ibabaw - on, mesa - table

 * Agent <==> Patient or Field
 * Examples:
 * manggagawa ng sapatos (maker of shoes)
 * manggagawa - maker, sapatos - shoes
 * diyosa ng pag-ibig (goddess of love)
 * diyosa - goddess, pag-ibig - love

If  is a person, then use ni instead of ng. On the other hand, if  is a list of persons, then use niná and separate the last two names with at ("and").

Examples:
 * kotse ni Anthony (Anthony's car)
 * bahay niná Angel, Lucy at David (the house of Angel, Lucy and David)

Location Sentences: Where The Focus Is
To state the location of the focus, you use the following pattern:

Nasa

Where   is a noun or a noun phrase indicating a location, and   is the appropriate particle for the focus, if applicable (see also the topic Focus). The particle nasa signals the relationship of the focus to  : that the focus is located at  .

For example, if you want to say that Anthony is in the office (opisina), you can say

Nasa opisina si Anthony.

If you want to say that the car (kotse) is in the garage (garahe), you can say

Nasa garahe ang kotse.

Or if she (siyá) is in the market (palengke), then you can say

Nasa palengke siyá.

If you want to be more specific about the location, you can use a noun phrase consisting of a location word and a more general location, joined by the particle ng (see also Relationship Between Two Nouns: The Particle Ng). Here are some location words:

 * tuktók (top, summit)
 * itaás (above, top)
 * ibabá (below, bottom)
 * ibabaw (on)
 * ilalim (under,beneath)
 * loób (in, inside)
 * labás (outside)
 * haráp (front)
 * likód (back, behind)
 * gilid (side)
 * tagiliran (side)
 * tabí (beside)
 * paligid (around)
 * palibot (around)
 * kaliwâ (left)
 * kanan (right)
 * gitnâ (middle, center)

In English, most of the location words are prepositions, but in Tagalog, all of them are nouns.

Some examples:

 *  ibabaw ng mesa (on the table)
 *  ilalim ng mesa (under the table)
 *  loób ng opisina (inside the office)
 *  haráp ng aklatan (in front of the library)
 *  tabí ng silya (beside the chair)

Here are some example sentences:

 * Nasa ibabaw ng mesa ang kutsara. (The spoon is on the table.)
 * Nasa ilalim ng mesa ang bola. (The ball is under the table.)
 * Nasa loób ng opisina si Wilma. (Wilma is inside the office.)
 * Nasa haráp ng aklatan ang opisina ng prínsipal. (The principal's office is in front of the library.)
 * Nasa tabí ng silya ang laruán ni Tommy. (Tommy's toy is beside the chair.)

However, if   is a noun phrase and the focus is a pronoun, then there is an additional rule to follow: Place the pronoun beside the location word.

If you want to say that she (siyá) is in the office (opisina), you can simply say

Nasa opisina siyá.

However, if you want to say that she is outside the office (labas ng opisina), then you cannot simply say

Nasa labás ng opisina siyá.

You must perform the additional rule: Place the pronoun siyá beside the location word labás. Then the Tagalog sentence now becomes

Nasa labás siyá ng opisina.

The above sentence is now correct.

If you want to say that that (iyón) is behind the house (likód ng bahay), then you must say

Nasa likód iyón ng bahay.

title: Tagalog/Lesson 5


text: The World of Peer-to-Peer (P2P)/Authors

title: The World of Peer-to-Peer (P2P)/Authors


text:
The World of Peer-to-Peer (P2P)/What is Peer-to-Peer (P2P)

= What is P2P ? =

Generally, a peer-to-peer (or P2P) computer network refers to any network that does not have fixed clients and servers, but a number of autonomous peer nodes that function as both clients and servers to the other nodes on the network. This model of network arrangement is contrasted with the client-server model (that was unable to scale up to todays necessities). In the P2P model any node should be able to initiate or complete any supported transaction. Peer nodes may differ in local configuration, processing speed, network bandwidth, and storage quantity. This is the basic definition any p2p system.

The term P2P may mean different things to different people in different contexts. For instance, although the term has been applied to Usenet and IRC in all their incarnations and is even applicable to the network of IP hosts known as the Internet, it is most often used restricted to the networks of peers developed starting in the late 1990s characterized by transmission of data upon the receiver's request instead of the sender's. Such early networks included Gnutella, FastTrack, and the now-defunct Napster which all provide facilities for free (and somewhat anonymous) file transfer between personal computers connected in a dynamic and unreliable way to a network in order to work collectively towards a shared objective.

Even those early Networks did work around the same concept or implementation. In some Networks, such as Napster, OpenNap or IRC, the client-server structure is used for some tasks (e.g. searching) and a peer-to-peer structure for others, and even that is not consistent in each. Networks such as Gnutella or Freenet, use a peer-to-peer structure for all purposes and are sometimes referred to as true peer-to-peer networks, even though some of the last evolution are now making them into a hybrid approach were each peer is not equal in its functions.

When the term peer-to-peer was used to describe the Napster network, it implied that the peer protocol nature was important, but in reality the great achievement of Napster was the empowerment of the peers (ie, the fringes of the network). The peer protocol was just a common way to achieve this.

So the best approach will be to define peer-to-peer, not as a set of strict definitions but to extend it to a definition of a technical/social/cultural movement, that attempts to provide a decentralized, dynamic and self regulated structure (in direct opposition to the old model o central control or server-client model, that failed to scale up to today's expectations), with the objective of providing content and services. In this way a computer programs/protocol that attempts to escape the need to use a central servers/repository and aims to empower or provide a similar level of service/access to a collection of similar computers can be referred to as being a P2P implementation, and it will be in fact enabling everyone to be a creator/provider, not only a consumer. Every P2P system is by definition self feeding, the more participants it has the better it will satisfy it's objectives.


text:
The World of Peer-to-Peer (P2P)/Networks and Protocols

= P2P Networks and Protocols = This chapter will try to provide an overview of what is Peer-to-Peer, it's historical evolution, technologies and uses.

P2P and the Internet: A "bit" of History
P2P is not a new technology, P2P is almost as old as the Internet, it started with the email protocols and the next generation were called "metacomputing" or classed as "middleware". The concept of it took the Internet by storm only because of a general decentralization of the P2P protocols, that not only gave power to the simple user but also made possible savings on information distribution resources, a very different approach from the old centralization concept.

This can be a problem for security or control of that shared information, or in other words a "democratization" of the information (the well known use of P2P for downloading copies of MP3s, programs, and even movies from file sharing networks), and due to it's decentralizing nature the traffic patterns, are hard to predict, so, providing infrastructures to support it is a major problem most ISPs are now aware.

P2P has also been heralded as the solution to index the deep Web since most implantations of P2P technologies are based and oriented to wired networks running TCP/IP. Some are even being transfered to wireless uses (sensors, phones and robotic applications), you probably have already heard of some military implementation of intelligent mines or robotic insect hordes.

Ultimately what made P2P popular was that it created a leveled play field, due to the easy access to computers and networking infrastructures we have today in most parts of the world. We are free to easily become producers, replacing the old centralized models where most of the population remained as consumers dependent on a single entity (monopoly, brand, visibility) for the distribution or creation of services or digital goods. This shift will undoubtedly reduce the costs of production and distribution in general as the price of services and products that can be digital transfered, the cost is now also becoming evident the quality will also be downgraded until a new system for classification emerges, this can be seen today in relation to the written media after the Internet impact.

FidoNet
FIdoNet is still today a worldwide computer network that is used for communication between bulletin board systems (BBSes). It uses a store-and-forward system to exchange private (email) and public (forum) messages between the BBSes in the network, as well as other files and protocols in some cases.

The FidoNet system was started based in a number of small collaboratively interacting programs. These "peers" run alongside the BBS systems and interacted with them via scripts or some form of lower level inter-precess communications. Their function was to automatically pack/unpack and import/export content from one system's location to another. Being independent greatly eased porting, and FidoNet was one of the few networks that was widely supported by almost all BBS software, as well as a number of non-BBS online services. This modular construction also allowed FidoNet to easily upgrade to new data compression systems, which was important in an era using modem-based communications over telephone links with high long-distance calling charges.

The rapid improvement in modem speeds during the early 1990s, combined with the rapid decrease in price of computer systems and storage, made BBSes increasingly popular. By the mid-1990s there were almost 40,000 FidoNet systems in operation, and it was possible to communicate with millions of users around the world. Only UUCP came close in terms of breadth or numbers; FidoNet's user base far surpassed other networks like BITNET.

The broad availability of low-cost Internet connections starting in the mid-1990s lessened the need for FidoNet's store-and-forward system, as any system in the world could be reached for equal cost. Direct dialing into local BBS systems rapidly declined. The availability of internet connectivity is by no means universal, and although FidoNet has shrunk considerably since the early 1990s, it remains in use around the world.

eMail
Electronic mail (often abbreviated as e-mail or email), started as a centralized service for creating, transmitting, or storing primarily text-based human communications with digital communications systems with the first standardization efforts resulting in the adoption of the Simple Mail Transfer Protocol (SMTP), first published as Internet Standard 10 (RFC 821) in 1982.

Modern e-mail systems are based on a store-and-forward model in which e-mail computer server systems, accept, forward, or store messages on behalf of users, who only connect to the e-mail infrastructure with their personal computer or other network-enabled device for the duration of message transmission or retrieval to or from their designated server.

Originally, e-mail consisted only of text messages composed in the ASCII character set, today, virtually any media format can be sent today, including attachments of audio and video clips.

Peer2Mail
Peer to Mail ( http://www.peer2mail.com/ ) is a FreeWare application for Windows that lets you store and share files on any web-mail account, you can use Web-mail providers such as Gmail (Google Mail), Walla!, Yahoo and others, it will split the shared files into segments that will be compressed and encrypted and then sends the file segments one by one to an account you have administration access. To Download the files the process is reversed.

Security
The encryption was broken in Peer2Mail v1.4 (prior versions are also affected) - Peer2Mail Encrypt PassDumper Exploit.

Usenet
Usenet is the original peer to peer file-sharing application. It was originally developed to make use of UUCP (Unix to Unix Copy) to synchronize two computers' message queues. Usenet stores each article in an individual file and each newsgroup in its own directory. Synchronizing two peers is as simple as synchronizing selected directories in two disparate filesystems.

Usenet was created with the assumption that everyone would receive, store and forward the same news. This assumption greatly simplified development to the point where a peer was able to connect to any other peer in order to get news. The fragmentation of Usenet into myriad newsgroups allowed it to scale while preserving its basic architecture. 'Every node stores all news' became 'every node stores all news in newsgroups it subscribes to'.

Of all other peer-to-peer protocols, Usenet is closest to Freenet since all nodes are absolutely equal and global maps of the network are not kept by any subset of nodes. Unlike Freenet, which works by recursive pulling of a requested object along a linear chain of peers, Usenet works by recursive pushing of all news to their immediate neighbors into a tree.

FTP
The File Transfer Protocol (FTP), can be seen as a primordial P2P protocol. Even if it depends on a client/server structure the limitation is only on the type of application (client/server) one run since the roles are flexible.

Zero configuration networking
Zero configuration networking (zeroconf), is a set of techniques that automatically creates a usable Internet Protocol (IP) network P2P fashion, without manual operator intervention or special configuration servers.

Bonjour
Bonjour, formerly Rendezvous. A service discovery protocol by Apple Inc.'s. Bonjour locates in a P2P fashion, devices such as printers, as well as other computers and the services that those devices offer on a local network using multicast to maintain a Domain Name System record. The software is built into Apple's Mac OS X operating system from version 10.2 onward, and can be installed onto computers using Microsoft Windows operating systems. Bonjour also supports components that included other software, such as iTunes.

Bonjour for Windows ( http://support.apple.com/downloads/Bonjour_for_Windows ) Bonjour for Windows includes a plugin to discover advertised HTTP servers using Internet Explorer. If you have Bonjour devices on your local network with embedded HTTP (Web) servers, they will appear in the list.


text:
User:Habes

[url=http://en.wikipedia.org/w/index.php?title=User:MeridiaInfo&oldid=59274662]buy meridia[/url] or buy meridia http://en.wikipedia.org/w/index.php?title=User:MeridiaInfo&oldid=59274662

title: User:Habes


text: Category:Book:Movie Making Manual/Training


text:
Horticulture/Summer Squash

The Summer Squashes are a group of plants in the species Cucurbita pepo, which are grown for their fruits. They come in many varieties among several major groups including: Yellow Summer, Zucchini, Crookneck, and Cousa. While there are some differences in flavor between these groups, their cultivation is essentially the same.

Summer squashes grow on short vines, appearing bushy in the field. The leaves are large, palmately lobed, and usually variegated with white or pale green.

These plants are highly productive, particularly when the fruits are harvested while young: gardeners growing these plants often have plenty of produce to share with friends. The flowers are also edible and both male and female flowers are harvested for this purpose.

Growing Conditions
Summer Squashes grow in full sun or light shade. They require a rich soil for good fruit production.

Direct Seed
Summer Squashes grow easily from seeds sown in situ. Plants should be thinned to 18 to 36 inch (45-90 cm) centers. Seeds can be sown as soon as the soil warms up.

Seedlings in Containers
For growing transplants, sow 2 seeds per 3 or 4 inch pot. Seedlings grow quickly in warm weather, so should not be started before the planting area is prepared.

Transplanting
Transplants should not be broken up or have their roots cut unless severely rootbound. Soil may be mounded up to the lowest set of leaves.

Early Spring
Enrich planting area with composts, but not with manures, as too much nitrogen may reduce the fruiting.

Summer
Pick regularly to avoid over-ripening and encourage further fruit set. If small fruits appear wrinkled or discolored, remove them (they may not have been pollenated). Monitor for Squash vine borer. Hill up composts to the lowest leaf set, adding more as the lower leaves yellow off (the small early leaves will die off naturally as the upper leaves shade them out). This provides both nutrients and some protection for SVB. Keep the growing area free of weeds, but maintain nectar sources nearby to ensure an ample supply of pollenating insects.

Fall Cleanup
Burn borer-infected vines, and till area to disturb any coccoons. If rotation is not possible, use a winter cover crop such as rye, vetch, or pea to enrich the soil.

Harvesting
Cut the stems with a sharp knife. Summer squashes are best harvested well before the fruit matures, as the seeds become hardened in large fruit. Fruits can be harvested even before the flowers fully open if desired.

Propagation
By seed, from the mature fruits. If collecting seed, allow the most productive plants to produce a single mature fruit towards the end of the season, picking it after the plant is frost-killed.

Fungal Diseases
Powdery Mildew

Arthropod Pests

 * ../Squash Vine Borer/
 * ../Cucumber Beetles/
 * ../Squash Bug/

Yellow Summer Squashes

 * Multipik
 * Sunray

Cousa Squashes

 * Magda

Zucchinis

 * Cashflow

title: Horticulture/Summer Squash


text:
Haskell/Libraries/Maybe

The  data is used with functions that might be unsuccessful. The full description is in Maybe monad chapter.

Definition
The Standard Prelude defines the  type as follows:

Recall that the type a is polymorphic and can contain complex types or even other monads (such as IO types).

Library functions
The module, in the standard hierarchical libraries, contains a wealth of functions for working with Maybe values.

Querying
Two obvious functions give you information about a Maybe value:

returns True if when given an argument in the form.

returns True if its argument is.

Getting out
There are a handful of functions for converting Maybe values to non-Maybe values.

applies a given function to the internal value passed by a  but otherwise returns a default value when given.

We might want to use  without applying any function to the. We can do that by calling  with the function. already has this as :

Note the use of point-free style. evaluates to a function that is ready to take a  value.

Lists and Maybe
The many similarities between lists and  are discussed in the List monad chapter. Given the connections, there are a couple of functions for converting between one and the other:

Failed computations return  for lists and   for Maybe. converts from the list to the Maybe monad. As  can only hold one value,   only takes the first solution from a list.

The reverse  is, of course,  :

Lists manipulation
There are a couple of functions which are analogues of the normal Prelude list manipulation functions but are specialized to Maybe values.

Continue on some failures
We might want an OR function that won't make a whole computation fail just because one part failed.

Given a list of Maybe values,  extracts all the values in the form , and strips off the   constructors. List comprehension does the job here (as we showed in the pattern matching chapter):

applies a function to a list and collects the successes. It can be understood as a composition of functions you already know:

However, the actual definition in  traverses the list is potentially more efficient:

Stop on failure
Rather than OR, we might want to collect values if and only if all succeed.

title: Haskell/Libraries/Maybe


text:
User talk:194.73.213.72

Baisakhi in Hindi
I have deleted this page because it does not appear to be a textbook. If you do wish to write a textbook on the subject, then please recreate the page after reading WB:NEW. Thanks, hagindaz 15:16, 19 June 2006 (UTC)

title: User talk:194.73.213.72


text:
Judaism/What Is Judaism?

Judaism is a monotheistic religion just like Islam, or a religion believing that one God exists, the Source of all. It has three essential elements, found in all historical forms of Judaism, namely, Torah revelation,

The Torah ("Teaching," in Hebrew) is not only the revelation of God to the Jews that was revelated from Moses. Explicitly described as the eternal covenant that links both to each other, it also presents the fundamental paradigms for all later historical interaction of God. The Torah consists first of all of the Five Books of Moses (Genesis, Exodus, Leviticus, Numbers and Deuteronomy), and secondly the entire Hebrew Scriptures (the Mosaic books of "Teaching" to which are added the "Prophets" and associated historical books, and the "Writings" of wisdom: Torah, Nevi'im, and Ketuvim). These works are together traditionally termed the "Written Torah." There is also thirdly the "Oral Torah" or interpretative tradition, said to extend from the time of Moses with further elaborations down through the ages (even up to the present time) by sagely and inspired exegetes. These oral teachings were eventually consolidated, according to mainstream Judaism, in the Talmud and later Rabbinic writings and commentaries including the mystical writings of the Kabbalah. However, Ethiopian Jewry never knew of the Talmud and followed its own exegetical traditions, and Karaite Judaism quite intentionally developed its own separate oral traditions.

God is understood as the one source of the entire universe, transcendent of both space and time, but, although undifferentiated unity in itself, ever present and sustaining every moment and place in the universe, past, present and future, as Creator, Loving Ruler and ultimate Savior. Creation, i.e., the entire universe, arises out of divine wisdom and mirrors its Creator, God; humanity is also in the divine image, insofar as human beings can actualize the divine attributes of wisdom, love and mercy, justice, etc., in their own lives. In particular the nuclear family is stated in the first chapter of the Bible to reflect the divine image as a whole, since it unites male and female to each other with sustaining love, and creates out of this and nurtures together new life in their children.

title: Judaism/What Is Judaism?


text:
User talk:Blepharitisforumadmin

Welcome
Hello and welcome to Wikibooks!

Here are some tips to help you get started:
 * You can sign your name on Talk and vote pages using four tildes, like this: ~~~~.
 * Remember to conduct any editing experiments in the sandbox.
 * Check out our help page if you need additional help.
 * Eventually, you might want to read the Manual of Style and Policies and Guidelines.
 * Take a look at Naming policy
 * See list of templates which can save your time
 * Remember to maintain a Neutral point of view.
 * Explore, be bold in editing pages, and have fun!

You will find more resources in Community Portal. If you want to ask a question, visit the Study help desk, the Staff lounge, IRC channel or ask me personally on my talk page.

Good luck! --hagindaz 15:20, 19 June 2006 (UTC)

title: User talk:Blepharitisforumadmin


text:
A-level Computing 2009/AQA/Advanced Systems Development

 * /Applications and Effects/
 * /Databases/
 * /Systems Development/
 * /Hardware Devices/
 * /Networking/


text:
User:Diploid~enwikibooks

GM is a very unpopular. GM can make amazing games... But alot of much better programs are out there.

3/10

title: User:Diploid~enwikibooks