Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
major: 1, minor: 1, revision: 0,
date: new Date("mar 17, 2007"),
source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){
url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
}
return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
[[home]]
[[skepticism]]
[[science]]
[[secularism]]
[[atheism]]
[[humanism]]
[[glossary]]
[[editing help]]
[[links]]
[[contact]]
[[what does it all mean]]
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
minimising cognitive dissonance one tiddler at a time
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{
// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'dissonanceminimalist';
// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too
// disable autosave in d3
if (window.location.protocol != "file:")
config.options.chkGTDLazyAutoSave = false;
// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}
// create some shadow tiddler content
merge(config.shadowTiddlers,{
'TspotOptions':[
"tiddlyspot password:",
"<<option pasUploadPassword>>",
""
].join("\n"),
'TspotControls':[
"| tiddlyspot password:|<<option pasUploadPassword>>|",
"| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
"| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),
'WelcomeToTiddlyspot':[
"This document is a ~TiddlyWiki from tiddlyspot.com. A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //What now?// @@ Before you can save any changes, you need to enter your password in the form below. Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
"<<tiddler TspotControls>>",
"See also GettingStarted.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working online// @@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// @@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick. You can make changes and save them locally without being connected to the Internet. When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Help!// @@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]]. Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help. If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
"",
"@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// @@ We hope you like using your tiddlyspot.com site. Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),
'TspotSidebar':[
"<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . . " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n")
});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 21/09/2010 23:16:45 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . |
| 23/09/2010 10:29:46 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . | ok |
| 23/09/2010 20:22:49 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . |
| 05/12/2010 22:08:44 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . | ok |
| 05/12/2010 23:36:28 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . | ok |
| 05/12/2010 23:56:34 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . | ok |
| 06/12/2010 00:14:21 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . | ok |
| 06/12/2010 04:18:41 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . |
| 11/12/2010 16:00:06 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . |
| 16/12/2010 00:14:28 | dissonance minimalist | [[/|http://dissonanceminimalist.tiddlyspot.com/]] | [[store.cgi|http://dissonanceminimalist.tiddlyspot.com/store.cgi]] | . | [[index.html | http://dissonanceminimalist.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
major: 4, minor: 1, revision: 3,
date: new Date("Feb 24, 2008"),
source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
//
// Upload Macro
//
config.macros.upload = {
// default values
defaultBackupDir: '', //no backup
defaultStoreScript: "store.php",
defaultToFilename: "index.html",
defaultUploadDir: ".",
authenticateUser: true // UploadService Authenticate User
};
config.macros.upload.label = {
promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
promptParamMacro: "Save and Upload this TiddlyWiki in %0",
saveLabel: "save to web",
saveToDisk: "save to disk",
uploadLabel: "upload"
};
config.macros.upload.messages = {
noStoreUrl: "No store URL in parmeters or options",
usernameOrPasswordMissing: "Username or password missing"
};
config.macros.upload.handler = function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = this.label.saveLabel;
else
label = this.label.uploadLabel;
var prompt;
if (params[0]) {
prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0],
(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
} else {
prompt = this.label.promptOption;
}
createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};
config.macros.upload.action = function(params)
{
// for missing macro parameter set value from options
if (!params) params = {};
var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
var username = params[4] ? params[4] : config.options.txtUploadUserName;
var password = config.options.pasUploadPassword; // for security reason no password as macro parameter
// for still missing parameter set default value
if ((!storeUrl) && (document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
if (storeUrl.substr(0,4) != "http")
storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
if (!toFilename)
toFilename = bidix.basename(window.location.toString());
if (!toFilename)
toFilename = config.macros.upload.defaultToFilename;
if (!uploadDir)
uploadDir = config.macros.upload.defaultUploadDir;
if (!backupDir)
backupDir = config.macros.upload.defaultBackupDir;
// report error if still missing
if (!storeUrl) {
alert(config.macros.upload.messages.noStoreUrl);
clearMessage();
return false;
}
if (config.macros.upload.authenticateUser && (!username || !password)) {
alert(config.macros.upload.messages.usernameOrPasswordMissing);
clearMessage();
return false;
}
bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password);
return false;
};
config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir)
{
if (!storeUrl)
return null;
var dest = bidix.dirname(storeUrl);
if (uploadDir && uploadDir != '.')
dest = dest + '/' + uploadDir;
dest = dest + '/' + toFilename;
return dest;
};
//
// uploadOptions Macro
//
config.macros.uploadOptions = {
handler: function(place,macroName,params) {
var wizard = new Wizard();
wizard.createWizard(place,this.wizardTitle);
wizard.addStep(this.step1Title,this.step1Html);
var markList = wizard.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
wizard.setValue("listWrapper",listWrapper);
this.refreshOptions(listWrapper,false);
var uploadCaption;
if (document.location.toString().substr(0,4) == "http")
uploadCaption = config.macros.upload.label.saveLabel;
else
uploadCaption = config.macros.upload.label.uploadLabel;
wizard.setButtons([
{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption,
onClick: config.macros.upload.action},
{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
]);
},
options: [
"txtUploadUserName",
"pasUploadPassword",
"txtUploadStoreUrl",
"txtUploadDir",
"txtUploadFilename",
"txtUploadBackupDir",
"chkUploadLog",
"txtUploadLogMaxLine"
],
refreshOptions: function(listWrapper) {
var opts = [];
for(i=0; i<this.options.length; i++) {
var opt = {};
opts.push();
opt.option = "";
n = this.options[i];
opt.name = n;
opt.lowlight = !config.optionsDesc[n];
opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
opts.push(opt);
}
var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
for(n=0; n<opts.length; n++) {
var type = opts[n].name.substr(0,3);
var h = config.macros.option.types[type];
if (h && h.create) {
h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
}
}
},
onCancel: function(e)
{
backstage.switchTab(null);
return false;
},
wizardTitle: "Upload with options",
step1Title: "These options are saved in cookies in your browser",
step1Html: "<input type='hidden' name='markList'></input><br>",
cancelButton: "Cancel",
cancelButtonPrompt: "Cancel prompt",
listViewTemplate: {
columns: [
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
};
//
// upload functions
//
if (!bidix.upload) bidix.upload = {};
if (!bidix.upload.messages) bidix.upload.messages = {
//from saving
invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
backupSaved: "Backup saved",
backupFailed: "Failed to upload backup file",
rssSaved: "RSS feed uploaded",
rssFailed: "Failed to upload RSS feed file",
emptySaved: "Empty template uploaded",
emptyFailed: "Failed to upload empty template file",
mainSaved: "Main TiddlyWiki file uploaded",
mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
//specific upload
loadOriginalHttpPostError: "Can't get original file",
aboutToSaveOnHttpPost: 'About to upload on %0 ...',
storePhpNotFound: "The store script '%0' was not found."
};
bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
var callback = function(status,uploadParams,original,url,xhr) {
if (!status) {
displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
return;
}
if (bidix.debugMode)
alert(original.substr(0,500)+"\n...");
// Locate the storeArea div's
var posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
bidix.upload.uploadRss(uploadParams,original,posDiv);
};
if(onlyIfDirty && !store.isDirty())
return;
clearMessage();
// save on localdisk ?
if (document.location.toString().substr(0,4) == "file") {
var path = document.location.toString();
var localPath = getLocalPath(path);
saveChanges();
}
// get original
var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
var originalPath = document.location.toString();
// If url is a directory : add index.html
if (originalPath.charAt(originalPath.length-1) == "/")
originalPath = originalPath + "index.html";
var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
var log = new bidix.UploadLog();
log.startUpload(storeUrl, dest, uploadDir, backupDir);
displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
if (bidix.debugMode)
alert("about to execute Http - GET on "+originalPath);
var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
bidix.upload.uploadRss = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
if(status) {
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
bidix.upload.uploadMain(params[0],params[1],params[2]);
} else {
displayMessage(bidix.upload.messages.rssFailed);
}
};
// do uploadRss
if(config.options.chkGenerateAnRssFeed) {
var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
var rssString = generateRss();
// no UnicodeToUTF8 conversion needed when location is "file" !!!
if (document.location.toString().substr(0,4) != "file")
rssString = convertUnicodeToUTF8(rssString);
bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
} else {
bidix.upload.uploadMain(uploadParams,original,posDiv);
}
};
bidix.upload.uploadMain = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
var log = new bidix.UploadLog();
if(status) {
// if backupDir specified
if ((params[3]) && (responseText.indexOf("backupfile:") > -1)) {
var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
}
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
store.setDirty(false);
log.endUpload("ok");
} else {
alert(bidix.upload.messages.mainFailed);
displayMessage(bidix.upload.messages.mainFailed);
log.endUpload("failed");
}
};
// do uploadMain
var revised = bidix.upload.updateOriginal(original,posDiv);
bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};
bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
var localCallback = function(status,params,responseText,url,xhr) {
url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
if (xhr.status == 404)
alert(bidix.upload.messages.storePhpNotFound.format([url]));
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
if (responseText.charAt(0) != '0')
status = null;
callback(status,params,responseText,url,xhr);
};
// do httpUpload
var boundary = "---------------------------"+"AaB03x";
var uploadFormName = "UploadPlugin";
// compose headers data
var sheader = "";
sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
sheader += uploadFormName +"\"\r\n\r\n";
sheader += "backupDir="+uploadParams[3] +
";user=" + uploadParams[4] +
";password=" + uploadParams[5] +
";uploaddir=" + uploadParams[2];
if (bidix.debugMode)
sheader += ";debug=1";
sheader += ";;\r\n";
sheader += "\r\n" + "--" + boundary + "\r\n";
sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
sheader += "Content-Length: " + data.length + "\r\n\r\n";
// compose trailer data
var strailer = new String();
strailer = "\r\n--" + boundary + "--\r\n";
data = sheader + data + strailer;
if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
if (!posDiv)
posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
store.allTiddlersAsHtml() + "\n" +
original.substr(posDiv[1]);
var newSiteTitle = getPageTitle().htmlEncode();
revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
return revised;
};
//
// UploadLog
//
// config.options.chkUploadLog :
// false : no logging
// true : logging
// config.options.txtUploadLogMaxLine :
// -1 : no limit
// 0 : no Log lines but UploadLog is still in place
// n : the last n lines are only kept
// NaN : no limit (-1)
bidix.UploadLog = function() {
if (!config.options.chkUploadLog)
return; // this.tiddler = null
this.tiddler = store.getTiddler("UploadLog");
if (!this.tiddler) {
this.tiddler = new Tiddler();
this.tiddler.title = "UploadLog";
this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
this.tiddler.created = new Date();
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
}
return this;
};
bidix.UploadLog.prototype.addText = function(text) {
if (!this.tiddler)
return;
// retrieve maxLine when we need it
var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
if (isNaN(maxLine))
maxLine = -1;
// add text
if (maxLine != 0)
this.tiddler.text = this.tiddler.text + text;
// Trunck to maxLine
if (maxLine >= 0) {
var textArray = this.tiddler.text.split('\n');
if (textArray.length > maxLine + 1)
textArray.splice(1,textArray.length-1-maxLine);
this.tiddler.text = textArray.join('\n');
}
// update tiddler fields
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
// refresh and notifiy for immediate update
story.refreshTiddler(this.tiddler.title);
store.notify(this.tiddler.title, true);
};
bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {
if (!this.tiddler)
return;
var now = new Date();
var text = "\n| ";
var filename = bidix.basename(document.location.toString());
if (!filename) filename = '/';
text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
text += config.options.txtUserName + " | ";
text += "[["+filename+"|"+location + "]] |";
text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
text += uploadDir + " | ";
text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
text += backupDir + " |";
this.addText(text);
};
bidix.UploadLog.prototype.endUpload = function(status) {
if (!this.tiddler)
return;
this.addText(" "+status+" |");
};
//
// Utilities
//
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.dirname = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(0, lastpos);
} else {
return filePath.substring(0, filePath.lastIndexOf("\\"));
}
};
bidix.basename = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("#")) != -1)
filePath = filePath.substring(0, lastpos);
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(lastpos + 1);
} else
return filePath.substring(filePath.lastIndexOf("\\")+1);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
//
// Initializations
//
// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);
// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
txtUploadUserName: "Upload Username",
pasUploadPassword: "Upload Password",
chkUploadLog: "do Logging in UploadLog (default: true)",
txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});
// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');
// Backstage
merge(config.tasks,{
uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");
//}}}
Assessing the qualities of the person making the argument, rather than the argument itself. This is a red herring.
confirms, establishes, or strengthens as with new [[evidence]] or facts [[beyond reasonable doubt]]
"A wide variety of arguments exist which can be categorized as [[metaphysical|metaphysics]], [[logical|sound argument]], [[empirical]], or [[subjective]]."
http://en.wikipedia.org/wiki/Existence_of_God
See also
http://simple.wikipedia.org/wiki/Atheism
http://en.wikipedia.org/wiki/Atheism
@@font-size:14pt;explaining@@
@@font-size:18pt;''ATHEISM''@@
@@font-size:14pt;humans are susceptible to ''superstitions'' and ''myth''@@
cultures try to make sense of the world by invoking various gods
@@font-size:14pt;''knowledge'' comes from ''observation'' and ''reason''@@
faith means believing without reliable [[evidence]] or despite it
@@font-size:14pt;''purpose'' and ''morals'' require only natural theories@@
philosophy of ethics is independent from metaphysics and theology
@@font-size:14pt;''evidence'' of the existence of a god remains ''elusive''@@
the sciences suggest no interactions with any godlike beings
@@font-size:14pt;all gods are considered to be ''hypothetical''@@
[[arguments for existence]] are demonstratively problematic
“//When you understand why you dismiss all the other possible gods,
you will understand why I dismiss yours.//” – Stephen F. Roberts
ATHEISM is not anti-religion
[[PDF version|https://docs.google.com/fileview?id=0B9NM3j3TrNDGMjA0MTkxMjgtMzk1ZS00YjBiLWFjOGQtYjEwMGFkNmZjZjA1&hl=en]] for printing flyers (2 pages per sheet, A5)
//“keep track of the misses, not just the hits”//
''Michael Shermer on strange beliefs (TED, 2006)''
http://www.skeptic.com/downloads/ted_shermer_m_2005.mov
''Carl Sagan’s Baloney Detection Kit''
http://users.tpg.com.au/users/tps-seti/baloney.html
//– Wherever possible there must be independent confirmation of the facts
– Encourage substantive debate on the evidence by knowledgeable proponents of all points of view
– Arguments from authority carry little weight (in science there are no "authorities")
– Spin more than one hypothesis - don't simply run with the first idea that caught your fancy
– Try not to get overly attached to a hypothesis just because it's yours
– Quantify, wherever possible
– If there is a chain of argument every link in the chain must work
– "Occam's razor" - if there are two hypothesis that explain the data equally well choose the simpler
– Ask whether the hypothesis can, at least in principle, be falsified (shown to be false by some unambiguous test). In other words, it is testable? Can others duplicate the experiment and get the same result?//
''Michael Shermer on RDF TV (2009)''
http://www.michaelshermer.com/2009/06/baloney-detection-kit/
//– How reliable is the source of the claim?
– Does the source make similar claims?
– Have the claims been verified by somebody else?
– Does this fit with the way the world works?
– Has anyone tried to disprove the claim?
– Where does the preponderance of evidence point?
– Is the claimant playing by the rules of science?
– Is the claimant providing positive evidence?
– Does the new theory account for as many phenomena as the old theory?
– Are personal beliefs driving the claim?//
to the extent that there is no "reasonable doubt" in the mind of a reasonable person
//“evaluating arguments, is itself a three-step process to assess whether: 1) assumptions are warranted; 2) reasoning is relevant and sufficient, and 3) relevant information has been omitted”//
''A Practical Guide To Critical Thinking (Greg R. Haskins)''
http://www.skepdic.com/essays/Haskins.html#checklist
habitually convincing yourself of the authenticity of Yahweh
is re-enforcing your underlying trust
that the best way of understanding the world and what to do in it
involves selectively resisting the temptation of ordinary critical analysis using contemporary methods and sources
compares the safety and effectiveness of a new treatment against existing treatments and placebo
An uncomfortable feeling caused by holding two [[contradictory]] ideas simultaneously.
Send me feedback anonymously at [[formspring.me|http://www.formspring.me/dissmini]] or include your email address if you'd like a reply.
of words or [[propositions|proposition]] related to each other such that both cannot be true (and both cannot be false)
//“Having intellectual humility means adhering tentatively to recently acquired opinions; being prepared to examine new evidence and arguments even if such examination leads one to discover flaws in one’s own cherished beliefs; to stop thinking that complex issues can be reduced to matters of ‘right & wrong’ or ‘black & white’, and to begin thinking in terms of ‘degrees of certainty’ or ‘shades of grey’. Sometimes ‘I don’t know’ can be the wisest position to take on an issue.”//
''A Practical Guide To Critical Thinking (Greg R. Haskins)''
http://www.skepdic.com/essays/Haskins.html#step1
an experiment where neither the doctor nor the patient knows whether they are being given a placebo
{{tablecenter{
| !To Produce | !Markup<script label="(memorize)">return Mem.start(place)</script> |
|bgcolor:#ccc; ''Bold'' |bgcolor:#ccc; {{{''Bold'' (double single quotes)}}} |
|bgcolor:#eaeaea; ==Strikethrough== |bgcolor:#eaeaea; {{{==Depreciated==}}} |
|bgcolor:#ccc; --Strikethrough-- |bgcolor:#ccc; {{{--Strikethrough-- (double hyphen) }}} |
|bgcolor:#eaeaea; __Underline__ |bgcolor:#eaeaea; {{{__Underline__ (double shift-hyphen)}}} |
|bgcolor:#ccc; //Italic// |bgcolor:#ccc; {{{//Italic// (double forward stroke)}}} |
|bgcolor:#eaeaea; Superscript: 12^^3^^=1728 |bgcolor:#eaeaea; {{{12^^3^^=1728 (double caret)}}} |
|bgcolor:#ccc; Subscript: <html><span title="Formula for Nitroglycerin" style="cursor:pointer>C~~3~~H~~5~~N~~3~~O~~9~~</span></html> |bgcolor:#ccc; {{{C~~3~~H~~5~~N~~3~~O~~9~~ (double tilde)}}} |
}}} [ source : http://twhelp.tiddlyspot.com/#FormattingText ]
Images: [img[Gmail Logo|http://sites.google.com/site/timesealsalltombs/config/pagetemplates/home_v1/gmail-mini-logo.png]]
derived from experiment and observation rather than theory
data accumulated through observations of [[phenomena|phenomenon]] that occur in the natural world
that which we are aware of through our senses and persists independently without them
A black-or-white offer is made when there exists other unspoken options. That is, either the situation is //this// or it must be //that//.
This can also take the form of 3 (or more) specific choices whereas the listener is able to identify at least one additional choice.
logically capable of being proven false.
The sentence "//It will rain tomorrow//" is falsifiable, while the sentence "//It is what it is//" isn't falsifiable.
//Any organisation wishing to become a member of International Humanist and Ethical Union is now obliged to signify its acceptance of this statement:
"Humanism is a democratic and ethical life stance, which affirms that human beings have the right and responsibility to give meaning and shape to their own lives. It stands for the building of a more humane society through an ethic based on human and other natural values in the spirit of reason and free inquiry through human capabilities. It is not theistic, and it does not accept supernatural views of reality."//
''International Humanist and Ethical Union''
http://www.iheu.org/minimum_statement.html
//Many Humanist organisations use the Happy Human symbol as a logo//
''Wikipedia - Happy Human''
http://en.wikipedia.org/wiki/Happy_Human
[img[cogs|https://docs.google.com/uc?id=0B9NM3j3TrNDGMGZkOTI2ZDItNjNmZS00N2IxLTljMWUtMzJhYmM2NWE0NTI5&hl=en]]
• [[a healthy level of skepticism|skepticism]]
• [[what's so special about the scientific method|science]]
• [[why become secular|secularism]]
• [[explaining atheism|atheism]]
• [[how to to be a humanist|humanism]]
@@font-size:14pt;how to be a @@
@@font-size:18pt;''HUMANIST''@@
@@font-size:14pt;consider ''human'' concerns and values to be central@@
aspire to greater human flourishing
@@font-size:14pt;attach importance to ''dignity'' and human ''rationality''@@
grant individuals the right to give meaning and shape to their own lives
@@font-size:14pt;address the study of ''morals'' as a human enterprise@@
promote concern for the welfare of other conscious beings
@@font-size:14pt;base decisions on the ''individual'' and ''common good''@@
uphold democracy and human justice
@@font-size:14pt;promote ''free inquiry'' and ''natural'' explanations@@
scrutinising dogma, superstition, and supernatural views of [[reality]]
[img[Happy Humanist|http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Happyman.svg/30px-Happyman.svg.png][happy human]]
//leave the world a better place for those who come after//
HUMANISM is not a religion
[[PDF version|https://docs.google.com/fileview?id=0B9NM3j3TrNDGMTBiYjA1ZmEtNTcxMC00YzQ0LThhMWQtM2RhMzY0MDQ5MTU1&hl=en]] for printing flyers (2 pages per sheet, A5)
awareness of the [[truth]]
[img[Knowledge Diagram|http://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Classical-Definition-of-Kno.svg/220px-Classical-Definition-of-Kno.svg.png]]
[ source : http://en.wikipedia.org/wiki/Epistemology ]
a system of symbols for transmitting ideas and emotions
http://reasoningwell.tiddlyspot.com
Invalid reasoning.
For example, [[proof by example]], [[false dilemma]], [[straw man]], [[ad hominem]], [[slippery slope]], [[is-ought problem]]
[[non sequitur]], [[argument from ignorance]]
See also http://www.fallacyfiles.org/taxonomy.html
A word or phrase that is used to refer to something that it doesn't literally denote, in order to suggest a similarity.
includes
- theology (the study of religions, spirituality, and god)
- etc
stripped down to its most fundamental features
The conclusion doesn't logically follow from the given premises.
1. Men are human.
2. Mary is human.
3. Therefore, Mary is a man.
It is a [[non sequitur]] because - even if the premises 1 and 2 are true - it doesn't follow from these premises that the conclusion (3) is true.
undistorted by emotion or personal bias
evalution of an article by several established experts in the relevant field, to ensure the work meets specific quality criteria (prior to publication in an acedemic journal)
A state or process known through the senses rather than by intuition or reasoning.
The area of [[knowledge]] concerned with questions and [[problems|problem]] that lie beyond the scope of inquiry of other disciplines - including any discipline's deepest concepts. For example, the disciplines of [[science|scientific method]], [[religion]], law, etc.
For example, [[ethics]], [[aesthetics]], [[mind]], [[reason]], [[language]], [[knowledge]], [[society]], [[metaphysics]]
only one group is given the real treatment that is being tested, the other group is given a treatment that seems identical (an inactive look-a-like)
Tension between two plausible ideas that seem [[incompatible|contradictory]]. Uncertainty about what to [[believe|belief]] or how to proceed.
Where the speaker implies that a given example (or several examples) are proof that a generic premise is true.
For example:
1. This apple is red.
2. Therefore, all apples are red
a statement that [[affirms]] or denies something and is either true or false
holds the view that [[reality]] is completely independent of our concepts, language, and beliefs.
To a realist:
- [[knowledge]] exists independently of the person asserting it
- [[language]] can present aspects of [[reality]] accurately and unambiguously
- clearly defining a word or concept doesn't necessitate that it must [[exist|existence]] (see [[reification]])
the state of things as they actually [[exist|existence]], rather than as they may appear or be thought to be
Reification is when an abstraction (abstract belief or hypothetical construct) is treated as if it were a concrete, real event, or physical entity.
In other words, it is the error of treating as a "real thing" something which is not a real thing, but merely a concept or [[metaphor]].
A "//reification circle//" refers to the event when a norm, first seen as artificial and forced, in time becomes so accepted that even its creators start to think of it as a natural law.
a view or claim that [[truth]] or [[knowledge]] is subjective
@@font-size:14pt;what’s so special about the@@
@@font-size:18pt;''SCIENTIFIC METHOD''@@
@@font-size:14pt;science is a ''process'' of inquiry@@
a reliable way to learn the facts about observable [[phenomena|phenomenon]]
@@font-size:14pt;the process is ''self-correcting''@@
based around minimising emotional distortion and personal bias
@@font-size:14pt;1. ''evidence'' is data collected from observation@@
critical thinking is applied throughout to continually assess reliability
@@font-size:14pt;2. ''claims'' are based on evidence + reason@@
capable of being proven false and therefore subject to correction
@@font-size:14pt;3. ''predictions'' and ''trials'' put theories to the test@@
eg. medicines undergo [[double-blind]] [[placebo-controlled]] [[clinical trials|clinical trial]]
@@font-size:14pt;4. ''peer review'' and explicit openness to challenge@@
relevant experts ensure explanations meet specific quality criteria
@@font-size:14pt;it is the ''best'' way to learn the true nature of things@@
humans understand more about the world now than ever before
SCIENCE is not just a theory
[[PDF version|https://docs.google.com/fileview?id=0B9NM3j3TrNDGMDkxZTMwZjAtZDUxNC00ZTE2LWJlZmUtODRmNmJlZjdkOTRk&hl=en]] for printing flyers (2 pages per sheet, A5)
A process for systematically discovering and describing [[objectively|objective]] how each [[phenomenon]] in [[reality]] behaves.
It requires reliable [[empirical]] [[evidence]] and produces [[falsifiable]] predictions and [[knowledge]].
1. observations, definitions, and measurements
2. hypotheses, theory, hypothetical explanations of observations and measurements
3. predictions, reasoning, logical deduction
4. experiments, for example a [[double-blind]] [[placebo-controlled]] [[clinical trial]]
5. [[peer review]]
@@font-size:14pt;why become@@
@@font-size:18pt;''SECULAR''@@
@@font-size:14pt;promote a ''friendly separation'' of church and state@@
minimising direct connections between religions and elected governments
@@font-size:14pt;governments to remain ''neutral'' on matters of belief@@
designing laws that neither favour nor disfavour religious organisations
@@font-size:14pt;''pluralistic'' democracies to base decisions on evidence@@
resisting religious influence on business and education and government
@@font-size:14pt;address ''ethics'' as pertaining to this material life@@
including tolerance and respect for individual decision making
@@font-size:14pt;acknowledge ''spirituality'' as independent from religion@@
“//Secular knowledge is manifestly that kind of knowledge which is founded in this life, which relates to the conduct of this life, conduces to the welfare of this life, and is capable of being tested by the experience of this life//” – George Holyoake
SECULARISM is not anti-religion
[[PDF version|https://docs.google.com/fileview?id=0B9NM3j3TrNDGODVmYzNlMTUtNDA0Yy00MTU2LTgxMDMtNzI2YjkyY2YxYzFj&hl=en]] for printing flyers (2 pages per sheet, A5)
@@font-size:14pt;a healthy level of@@
@@font-size:18pt;''SKEPTICISM''@@
@@font-size:14pt;''reserving judgment'' before adopting a position@@
remaining neutral until enough is [[known|knowledge]]
@@font-size:14pt;recognising that there are ''[[degrees of confidence]]''@@
adjusting confidence and doubt based on [[evidence]]
@@font-size:14pt;evaluating which way the ''[[balance of evidence]]'' points@@
assessing related and conflicting [[claims|proposition]]
@@font-size:14pt;applying ''[[careful reasoning]]''@@
examining underlying claims and [[arguments|sound argument]]
@@font-size:14pt;assessing ''credibility''@@
verifying the trustworthiness of sources and experts
@@font-size:14pt;actively practicing ''inquiry'' and ''[[baloney detection]]''@@
• health claims
• existence of elusive beings
• conspiracy theories
• supernatural claims
• afterlife
• propaganda
• dogma
• etc
SKEPTICISM is not [[denialism]]
[[PDF version|https://docs.google.com/fileview?id=0B9NM3j3TrNDGNTM0NzM0OGQtYzQ1ZC00N2YwLTlkYjAtMTgxN2NjOTMxNTVm&hl=en]] for printing flyers (2 pages per sheet, A5)
A sound argument is based on [[premises|proposition]] (facts) and valid logic (steps of reasoning that connects the premises and results in a conclusion). Valid reasoning is free of [[logical fallacies]].
Its conclusion is true if it is based on all true premises. That is, its argument has no incorrect or hidden premises.
(The conclusion still might be true even if its argument is unsound.)
Features:
i. completeness (no false premises)
ii. soundness (no false logic from a true premise)
iii. consistency (no contradictions)
It mustn't confuse [[value judgements]] (subjective statements) with facts.
A man made from straw is much easier to tear down than an an actual person. Likewise, a straw man argument is just a caricature of an argument that the speaker can proceed to tear down far more easily than addressing the actual argument.
It is a fallacy because the speaker hasn't addressed the listeners actual argument - just the speaker's own a weaker version of it.
characterised by emotion or personal bias, not [[objective]].
A small chunk of information contained in a single ~TiddlyWiki entry. You're reading a tiddler called 'tiddler' right now.
accurate fact or agreement with [[reality]]
what is [[cognitive dissonance]]
what is [[minimalism]]
what is a [[tiddler]]
what is [[reification]]
what is a [[realist]]
what is [[relativism]]
Cogito ergo //sum//thing. I think therefore I am existing //to continue thinking//. I think.
[[philosophy]]
[[sound argument]]
[[scientific method]]